From fe73fc03b170d5e8e83d9b35dcaac21f9ed3e4b2 Mon Sep 17 00:00:00 2001 From: Daphne Date: Sat, 30 Sep 2023 16:57:09 -0400 Subject: [PATCH 01/40] Clean-up: remove algos folder --- algos/ppo/__init__.py | 0 algos/ppo/base_runner.py | 180 ---- algos/ppo/env_wrappers.py | 867 ------------------ algos/ppo/ppo_utils/act.py | 199 ---- algos/ppo/ppo_utils/cnn.py | 80 -- algos/ppo/ppo_utils/distributions.py | 151 --- algos/ppo/ppo_utils/encoder.py | 0 algos/ppo/ppo_utils/mlp.py | 68 -- algos/ppo/ppo_utils/popart.py | 120 --- algos/ppo/ppo_utils/rnn.py | 90 -- algos/ppo/ppo_utils/util.py | 25 - algos/ppo/r_mappo/__init__.py | 0 algos/ppo/r_mappo/algorithm/rMAPPOPolicy.py | 156 ---- algos/ppo/r_mappo/algorithm/r_actor_critic.py | 197 ---- algos/ppo/r_mappo/r_mappo.py | 244 ----- algos/ppo/utils/__init__.py | 0 algos/ppo/utils/multi_discrete.py | 58 -- algos/ppo/utils/separated_buffer.py | 505 ---------- algos/ppo/utils/shared_buffer.py | 584 ------------ algos/ppo/utils/util.py | 85 -- algos/ppo/utils/valuenorm.py | 97 -- 21 files changed, 3706 deletions(-) delete mode 100644 algos/ppo/__init__.py delete mode 100644 algos/ppo/base_runner.py delete mode 100644 algos/ppo/env_wrappers.py delete mode 100644 algos/ppo/ppo_utils/act.py delete mode 100644 algos/ppo/ppo_utils/cnn.py delete mode 100644 algos/ppo/ppo_utils/distributions.py delete mode 100644 algos/ppo/ppo_utils/encoder.py delete mode 100644 algos/ppo/ppo_utils/mlp.py delete mode 100644 algos/ppo/ppo_utils/popart.py delete mode 100644 algos/ppo/ppo_utils/rnn.py delete mode 100644 algos/ppo/ppo_utils/util.py delete mode 100644 algos/ppo/r_mappo/__init__.py delete mode 100644 algos/ppo/r_mappo/algorithm/rMAPPOPolicy.py delete mode 100644 algos/ppo/r_mappo/algorithm/r_actor_critic.py delete mode 100644 algos/ppo/r_mappo/r_mappo.py delete mode 100644 algos/ppo/utils/__init__.py delete mode 100644 algos/ppo/utils/multi_discrete.py delete mode 100644 algos/ppo/utils/separated_buffer.py delete mode 100644 algos/ppo/utils/shared_buffer.py delete mode 100644 algos/ppo/utils/util.py delete mode 100644 algos/ppo/utils/valuenorm.py diff --git a/algos/ppo/__init__.py b/algos/ppo/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/algos/ppo/base_runner.py b/algos/ppo/base_runner.py deleted file mode 100644 index e4656b04..00000000 --- a/algos/ppo/base_runner.py +++ /dev/null @@ -1,180 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import wandb -import os -import numpy as np -import torch -from tensorboardX import SummaryWriter -from algos.ppo.utils.shared_buffer import SharedReplayBuffer - - -def _t2n(x): - """Convert torch tensor to a numpy array.""" - return x.detach().cpu().numpy() - - -class Runner(object): - """ - Base class for training recurrent policies. - :param config: (dict) Config dictionary containing parameters for training. - """ - - def __init__(self, config): - - self.all_args = config['cfg.algo'] - self.envs = config['envs'] - self.eval_envs = config['eval_envs'] - self.device = config['device'] - self.num_agents = config['num_agents'] - if config.__contains__("render_envs"): - self.render_envs = config['render_envs'] - - # parameters - # self.env_name = self.all_args.env_name - self.algorithm_name = self.all_args.algorithm_name - self.experiment_name = self.all_args.experiment - self.use_centralized_V = self.all_args.use_centralized_V - self.use_obs_instead_of_state = self.all_args.use_obs_instead_of_state - self.num_env_steps = self.all_args.num_env_steps - self.episode_length = self.all_args.episode_length - # self.episodes_per_thread = self.all_args.episodes_per_thread - self.n_rollout_threads = self.all_args.n_rollout_threads - self.n_eval_rollout_threads = self.all_args.n_eval_rollout_threads - self.n_render_rollout_threads = self.all_args.n_render_rollout_threads - self.use_linear_lr_decay = self.all_args.use_linear_lr_decay - self.hidden_size = self.all_args.hidden_size - self.use_wandb = self.all_args.wandb - self.use_render = self.all_args.use_render - self.recurrent_N = self.all_args.recurrent_N - - # interval - self.save_interval = self.all_args.save_interval - self.use_eval = self.all_args.use_eval - self.eval_interval = self.all_args.eval_interval - self.log_interval = self.all_args.log_interval - - # dir - self.model_dir = self.all_args.model_dir - - if self.use_wandb: - self.save_dir = str(wandb.run.dir) - self.run_dir = str(wandb.run.dir) - else: - self.run_dir = config["logdir"] - self.log_dir = str(self.run_dir / 'logs') - if not os.path.exists(self.log_dir): - os.makedirs(self.log_dir) - self.writter = SummaryWriter(self.log_dir) - self.save_dir = str(self.run_dir / 'models') - if not os.path.exists(self.save_dir): - os.makedirs(self.save_dir) - - from algos.ppo.r_mappo.r_mappo import R_MAPPO as TrainAlgo - from algos.ppo.r_mappo.algorithm.rMAPPOPolicy import R_MAPPOPolicy as Policy - share_observation_space = self.envs.share_observation_space[ - 0] if self.use_centralized_V else self.envs.observation_space[0] - - # policy network - self.policy = Policy(self.all_args, - self.envs.observation_space[0], - share_observation_space, - self.envs.action_space[0], - device=self.device) - - if self.model_dir is not None: - self.restore() - - # algorithm - self.trainer = TrainAlgo(self.all_args, - self.policy, - device=self.device) - - # buffer - self.buffer = SharedReplayBuffer(self.all_args, self.num_agents, - self.envs.observation_space[0], - share_observation_space, - self.envs.action_space[0]) - - def run(self): - """Collect training data, perform training updates, and evaluate policy.""" - raise NotImplementedError - - def warmup(self): - """Collect warmup pre-training data.""" - raise NotImplementedError - - def collect(self, step): - """Collect rollouts for training.""" - raise NotImplementedError - - def insert(self, data): - """ - Insert data into buffer. - :param data: (Tuple) data to insert into training buffer. - """ - raise NotImplementedError - - @torch.no_grad() - def compute(self): - """Calculate returns for the collected data.""" - self.trainer.prep_rollout() - next_values = self.trainer.policy.get_values( - np.concatenate(self.buffer.share_obs[-1]), - np.concatenate(self.buffer.rnn_states_critic[-1]), - np.concatenate(self.buffer.masks[-1])) - next_values = np.array( - np.split(_t2n(next_values), self.n_rollout_threads)) - self.buffer.compute_returns(next_values, self.trainer.value_normalizer) - - def train(self): - """Train policies with data in buffer. """ - self.trainer.prep_training() - train_infos = self.trainer.train(self.buffer) - self.buffer.after_update() - return train_infos - - def save(self): - """Save policy's actor and critic networks.""" - policy_actor = self.trainer.policy.actor - torch.save(policy_actor.state_dict(), str(self.save_dir) + "/actor.pt") - policy_critic = self.trainer.policy.critic - torch.save(policy_critic.state_dict(), - str(self.save_dir) + "/critic.pt") - - def restore(self): - """Restore policy's networks from a saved model.""" - policy_actor_state_dict = torch.load(str(self.model_dir) + '/actor.pt') - self.policy.actor.load_state_dict(policy_actor_state_dict) - if not self.all_args.use_render: - policy_critic_state_dict = torch.load( - str(self.model_dir) + '/critic.pt') - self.policy.critic.load_state_dict(policy_critic_state_dict) - - def log_train(self, train_infos, total_num_steps): - """ - Log training info. - :param train_infos: (dict) information about training update. - :param total_num_steps: (int) total number of training env steps. - """ - for k, v in train_infos.items(): - if self.use_wandb: - wandb.log({k: v}, step=total_num_steps) - else: - self.writter.add_scalars(k, {k: v}, total_num_steps) - - def log_env(self, env_infos, total_num_steps): - """ - Log env info. - :param env_infos: (dict) information about env state. - :param total_num_steps: (int) total number of training env steps. - """ - for k, v in env_infos.items(): - if len(v) > 0: - if self.use_wandb: - wandb.log({k: np.mean(v)}, step=total_num_steps) - else: - self.writter.add_scalars(k, {k: np.mean(v)}, - total_num_steps) diff --git a/algos/ppo/env_wrappers.py b/algos/ppo/env_wrappers.py deleted file mode 100644 index eb0191d8..00000000 --- a/algos/ppo/env_wrappers.py +++ /dev/null @@ -1,867 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -""" -Modified from OpenAI Baselines code to work with multi-agent envs -""" -import numpy as np -import torch -from multiprocessing import Process, Pipe -from abc import ABC, abstractmethod -from algos.ppo.utils.util import tile_images - - -class CloudpickleWrapper(object): - """ - Uses cloudpickle to serialize contents (otherwise multiprocessing tries to use pickle) - """ - - def __init__(self, x): - self.x = x - - def __getstate__(self): - import cloudpickle - return cloudpickle.dumps(self.x) - - def __setstate__(self, ob): - import pickle - self.x = pickle.loads(ob) - - -class ShareVecEnv(ABC): - """ - An abstract asynchronous, vectorized environment. - Used to batch data from multiple copies of an environment, so that - each observation becomes an batch of observations, and expected action is a batch of actions to - be applied per-environment. - """ - closed = False - viewer = None - - metadata = {'render.modes': ['human', 'rgb_array']} - - def __init__(self, num_envs, observation_space, share_observation_space, - action_space): - self.num_envs = num_envs - self.observation_space = observation_space - self.share_observation_space = share_observation_space - self.action_space = action_space - - @abstractmethod - def reset(self): - """ - Reset all the environments and return an array of - observations, or a dict of observation arrays. - If step_async is still doing work, that work will - be cancelled and step_wait() should not be called - until step_async() is invoked again. - """ - pass - - @abstractmethod - def step_async(self, actions): - """ - Tell all the environments to start taking a step - with the given actions. - Call step_wait() to get the results of the step. - You should not call this if a step_async run is - already pending. - """ - pass - - @abstractmethod - def step_wait(self): - """ - Wait for the step taken with step_async(). - Returns (obs, rews, dones, infos): - - obs: an array of observations, or a dict of - arrays of observations. - - rews: an array of rewards - - dones: an array of "episode done" booleans - - infos: a sequence of info objects - """ - pass - - def close_extras(self): - """ - Clean up the extra resources, beyond what's in this base class. - Only runs when not self.closed. - """ - pass - - def close(self): - if self.closed: - return - if self.viewer is not None: - self.viewer.close() - self.close_extras() - self.closed = True - - def step(self, actions): - """ - Step the environments synchronously. - This is available for backwards compatibility. - """ - self.step_async(actions) - return self.step_wait() - - def render(self, mode='human'): - imgs = self.get_images() - bigimg = tile_images(imgs) - if mode == 'human': - self.get_viewer().imshow(bigimg) - return self.get_viewer().isopen - elif mode == 'rgb_array': - return bigimg - else: - raise NotImplementedError - - def get_images(self): - """ - Return RGB images from each environment - """ - raise NotImplementedError - - @property - def unwrapped(self): - if isinstance(self, VecEnvWrapper): - return self.venv.unwrapped - else: - return self - - def get_viewer(self): - if self.viewer is None: - from gym.envs.classic_control import rendering - self.viewer = rendering.SimpleImageViewer() - return self.viewer - - -def worker(remote, parent_remote, env_fn_wrapper): - parent_remote.close() - env = env_fn_wrapper.x() - while True: - cmd, data = remote.recv() - if cmd == 'step': - ob, reward, done, info = env.step(data) - if 'bool' in done.__class__.__name__: - if done: - ob = env.reset() - else: - if np.all(done): - ob = env.reset() - - remote.send((ob, reward, done, info)) - elif cmd == 'reset': - ob = env.reset() - remote.send((ob)) - elif cmd == 'render': - if data == "rgb_array": - fr = env.render(mode=data) - remote.send(fr) - elif data == "human": - env.render(mode=data) - elif cmd == 'reset_task': - ob = env.reset_task() - remote.send(ob) - elif cmd == 'close': - env.close() - remote.close() - break - elif cmd == 'get_spaces': - remote.send((env.observation_space, env.share_observation_space, - env.action_space)) - else: - raise NotImplementedError - - -class GuardSubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=worker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = False # could cause zombie process - p.start() - for remote in self.work_remotes: - remote.close() - - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, rews, dones, infos = zip(*results) - return np.stack(obs), np.stack(rews), np.stack(dones), infos - - def reset(self): - for remote in self.remotes: - remote.send(('reset', None)) - obs = [remote.recv() for remote in self.remotes] - return np.stack(obs) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - -class SubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=worker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = True # if the main process crashes, we should not cause things to hang - p.start() - for remote in self.work_remotes: - remote.close() - - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, rews, dones, infos = zip(*results) - return np.stack(obs), np.stack(rews), np.stack(dones), infos - - def reset(self): - for remote in self.remotes: - remote.send(('reset', None)) - obs = [remote.recv() for remote in self.remotes] - return np.stack(obs) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - def render(self, mode="rgb_array"): - for remote in self.remotes: - remote.send(('render', mode)) - if mode == "rgb_array": - frame = [remote.recv() for remote in self.remotes] - return np.stack(frame) - - -def shareworker(remote, parent_remote, env_fn_wrapper): - parent_remote.close() - env = env_fn_wrapper.x() - while True: - cmd, data = remote.recv() - if cmd == 'step': - ob, s_ob, reward, done, info, available_actions = env.step(data) - if 'bool' in done.__class__.__name__: - if done: - ob, s_ob, available_actions = env.reset() - else: - if np.all(done): - ob, s_ob, available_actions = env.reset() - - remote.send((ob, s_ob, reward, done, info, available_actions)) - elif cmd == 'reset': - ob, s_ob, available_actions = env.reset() - remote.send((ob, s_ob, available_actions)) - elif cmd == 'reset_task': - ob = env.reset_task() - remote.send(ob) - elif cmd == 'render': - if data == "rgb_array": - fr = env.render(mode=data) - remote.send(fr) - elif data == "human": - env.render(mode=data) - elif cmd == 'close': - env.close() - remote.close() - break - elif cmd == 'get_spaces': - remote.send((env.observation_space, env.share_observation_space, - env.action_space)) - elif cmd == 'render_vulnerability': - fr = env.render_vulnerability(data) - remote.send((fr)) - else: - raise NotImplementedError - - -class ShareSubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=shareworker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = True # if the main process crashes, we should not cause things to hang - p.start() - for remote in self.work_remotes: - remote.close() - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, share_obs, rews, dones, infos, available_actions = zip(*results) - return np.stack(obs), np.stack(share_obs), np.stack(rews), np.stack( - dones), infos, np.stack(available_actions) - - def reset(self): - for remote in self.remotes: - remote.send(('reset', None)) - results = [remote.recv() for remote in self.remotes] - obs, share_obs, available_actions = zip(*results) - return np.stack(obs), np.stack(share_obs), np.stack(available_actions) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - -def choosesimpleworker(remote, parent_remote, env_fn_wrapper): - parent_remote.close() - env = env_fn_wrapper.x() - while True: - cmd, data = remote.recv() - if cmd == 'step': - ob, reward, done, info = env.step(data) - remote.send((ob, reward, done, info)) - elif cmd == 'reset': - ob = env.reset(data) - remote.send((ob)) - elif cmd == 'reset_task': - ob = env.reset_task() - remote.send(ob) - elif cmd == 'close': - env.close() - remote.close() - break - elif cmd == 'render': - if data == "rgb_array": - fr = env.render(mode=data) - remote.send(fr) - elif data == "human": - env.render(mode=data) - elif cmd == 'get_spaces': - remote.send((env.observation_space, env.share_observation_space, - env.action_space)) - else: - raise NotImplementedError - - -class ChooseSimpleSubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=choosesimpleworker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = True # if the main process crashes, we should not cause things to hang - p.start() - for remote in self.work_remotes: - remote.close() - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, rews, dones, infos = zip(*results) - return np.stack(obs), np.stack(rews), np.stack(dones), infos - - def reset(self, reset_choose): - for remote, choose in zip(self.remotes, reset_choose): - remote.send(('reset', choose)) - obs = [remote.recv() for remote in self.remotes] - return np.stack(obs) - - def render(self, mode="rgb_array"): - for remote in self.remotes: - remote.send(('render', mode)) - if mode == "rgb_array": - frame = [remote.recv() for remote in self.remotes] - return np.stack(frame) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - -def chooseworker(remote, parent_remote, env_fn_wrapper): - parent_remote.close() - env = env_fn_wrapper.x() - while True: - cmd, data = remote.recv() - if cmd == 'step': - ob, s_ob, reward, done, info, available_actions = env.step(data) - remote.send((ob, s_ob, reward, done, info, available_actions)) - elif cmd == 'reset': - ob, s_ob, available_actions = env.reset(data) - remote.send((ob, s_ob, available_actions)) - elif cmd == 'reset_task': - ob = env.reset_task() - remote.send(ob) - elif cmd == 'close': - env.close() - remote.close() - break - elif cmd == 'render': - remote.send(env.render(mode='rgb_array')) - elif cmd == 'get_spaces': - remote.send((env.observation_space, env.share_observation_space, - env.action_space)) - else: - raise NotImplementedError - - -class ChooseSubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=chooseworker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = True # if the main process crashes, we should not cause things to hang - p.start() - for remote in self.work_remotes: - remote.close() - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, share_obs, rews, dones, infos, available_actions = zip(*results) - return np.stack(obs), np.stack(share_obs), np.stack(rews), np.stack( - dones), infos, np.stack(available_actions) - - def reset(self, reset_choose): - for remote, choose in zip(self.remotes, reset_choose): - remote.send(('reset', choose)) - results = [remote.recv() for remote in self.remotes] - obs, share_obs, available_actions = zip(*results) - return np.stack(obs), np.stack(share_obs), np.stack(available_actions) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - -def chooseguardworker(remote, parent_remote, env_fn_wrapper): - parent_remote.close() - env = env_fn_wrapper.x() - while True: - cmd, data = remote.recv() - if cmd == 'step': - ob, reward, done, info = env.step(data) - remote.send((ob, reward, done, info)) - elif cmd == 'reset': - ob = env.reset(data) - remote.send((ob)) - elif cmd == 'reset_task': - ob = env.reset_task() - remote.send(ob) - elif cmd == 'close': - env.close() - remote.close() - break - elif cmd == 'get_spaces': - remote.send((env.observation_space, env.share_observation_space, - env.action_space)) - else: - raise NotImplementedError - - -class ChooseGuardSubprocVecEnv(ShareVecEnv): - - def __init__(self, env_fns, spaces=None): - """ - envs: list of gym environments to run in subprocesses - """ - self.waiting = False - self.closed = False - nenvs = len(env_fns) - self.remotes, self.work_remotes = zip(*[Pipe() for _ in range(nenvs)]) - self.ps = [ - Process(target=chooseguardworker, - args=(work_remote, remote, CloudpickleWrapper(env_fn))) - for (work_remote, remote, - env_fn) in zip(self.work_remotes, self.remotes, env_fns) - ] - for p in self.ps: - p.daemon = False # if the main process crashes, we should not cause things to hang - p.start() - for remote in self.work_remotes: - remote.close() - self.remotes[0].send(('get_spaces', None)) - observation_space, share_observation_space, action_space = self.remotes[ - 0].recv() - ShareVecEnv.__init__(self, len(env_fns), observation_space, - share_observation_space, action_space) - - def step_async(self, actions): - for remote, action in zip(self.remotes, actions): - remote.send(('step', action)) - self.waiting = True - - def step_wait(self): - results = [remote.recv() for remote in self.remotes] - self.waiting = False - obs, rews, dones, infos = zip(*results) - return np.stack(obs), np.stack(rews), np.stack(dones), infos - - def reset(self, reset_choose): - for remote, choose in zip(self.remotes, reset_choose): - remote.send(('reset', choose)) - obs = [remote.recv() for remote in self.remotes] - return np.stack(obs) - - def reset_task(self): - for remote in self.remotes: - remote.send(('reset_task', None)) - return np.stack([remote.recv() for remote in self.remotes]) - - def close(self): - if self.closed: - return - if self.waiting: - for remote in self.remotes: - remote.recv() - for remote in self.remotes: - remote.send(('close', None)) - for p in self.ps: - p.join() - self.closed = True - - -# single env -class DummyVecEnv(ShareVecEnv): - - def __init__(self, env_fns): - self.envs = [fn() for fn in env_fns] - env = self.envs[0] - ShareVecEnv.__init__(self, len(env_fns), env.observation_space, - env.share_observation_space, env.action_space) - self.actions = None - - def step_async(self, actions): - self.actions = actions - - def step_wait(self): - results = [env.step(a) for (a, env) in zip(self.actions, self.envs)] - # TODO(eugenevinitsky) remove this - obs, rews, dones, infos = map(np.array, zip(*results)) - - for (i, done) in enumerate(dones): - if 'bool' in done.__class__.__name__: - if done: - obs[i] = self.envs[i].reset() - else: - if np.all(done): - obs[i] = self.envs[i].reset() - - self.actions = None - return obs, rews, dones, infos - - def reset(self): - obs = [env.reset() for env in self.envs] - return np.array(obs) - - def close(self): - for env in self.envs: - env.close() - - def render(self, mode="human"): - if mode == "rgb_array": - return np.array([env.render(mode=mode) for env in self.envs]) - elif mode == "human": - for env in self.envs: - env.render(mode=mode) - else: - raise NotImplementedError - - -class ShareDummyVecEnv(ShareVecEnv): - - def __init__(self, env_fns): - self.envs = [fn() for fn in env_fns] - env = self.envs[0] - ShareVecEnv.__init__(self, len(env_fns), env.observation_space, - env.share_observation_space, env.action_space) - self.actions = None - - def step_async(self, actions): - self.actions = actions - - def step_wait(self): - results = [env.step(a) for (a, env) in zip(self.actions, self.envs)] - obs, share_obs, rews, dones, infos, available_actions = map( - np.array, zip(*results)) - - for (i, done) in enumerate(dones): - if 'bool' in done.__class__.__name__: - if done: - obs[i], share_obs[i], available_actions[i] = self.envs[ - i].reset() - else: - if np.all(done): - obs[i], share_obs[i], available_actions[i] = self.envs[ - i].reset() - self.actions = None - - return obs, share_obs, rews, dones, infos, available_actions - - def reset(self): - results = [env.reset() for env in self.envs] - obs, share_obs, available_actions = map(np.array, zip(*results)) - return obs, share_obs, available_actions - - def close(self): - for env in self.envs: - env.close() - - def render(self, mode="human"): - if mode == "rgb_array": - return np.array([env.render(mode=mode) for env in self.envs]) - elif mode == "human": - for env in self.envs: - env.render(mode=mode) - else: - raise NotImplementedError - - -class ChooseDummyVecEnv(ShareVecEnv): - - def __init__(self, env_fns): - self.envs = [fn() for fn in env_fns] - env = self.envs[0] - ShareVecEnv.__init__(self, len(env_fns), env.observation_space, - env.share_observation_space, env.action_space) - self.actions = None - - def step_async(self, actions): - self.actions = actions - - def step_wait(self): - results = [env.step(a) for (a, env) in zip(self.actions, self.envs)] - obs, share_obs, rews, dones, infos, available_actions = map( - np.array, zip(*results)) - self.actions = None - return obs, share_obs, rews, dones, infos, available_actions - - def reset(self, reset_choose): - results = [ - env.reset(choose) for (env, choose) in zip(self.envs, reset_choose) - ] - obs, share_obs, available_actions = map(np.array, zip(*results)) - return obs, share_obs, available_actions - - def close(self): - for env in self.envs: - env.close() - - def render(self, mode="human"): - if mode == "rgb_array": - return np.array([env.render(mode=mode) for env in self.envs]) - elif mode == "human": - for env in self.envs: - env.render(mode=mode) - else: - raise NotImplementedError - - -class ChooseSimpleDummyVecEnv(ShareVecEnv): - - def __init__(self, env_fns): - self.envs = [fn() for fn in env_fns] - env = self.envs[0] - ShareVecEnv.__init__(self, len(env_fns), env.observation_space, - env.share_observation_space, env.action_space) - self.actions = None - - def step_async(self, actions): - self.actions = actions - - def step_wait(self): - results = [env.step(a) for (a, env) in zip(self.actions, self.envs)] - obs, rews, dones, infos = map(np.array, zip(*results)) - self.actions = None - return obs, rews, dones, infos - - def reset(self, reset_choose): - obs = [ - env.reset(choose) for (env, choose) in zip(self.envs, reset_choose) - ] - return np.array(obs) - - def close(self): - for env in self.envs: - env.close() - - def render(self, mode="human"): - if mode == "rgb_array": - return np.array([env.render(mode=mode) for env in self.envs]) - elif mode == "human": - for env in self.envs: - env.render(mode=mode) - else: - raise NotImplementedError diff --git a/algos/ppo/ppo_utils/act.py b/algos/ppo/ppo_utils/act.py deleted file mode 100644 index 387c9b3e..00000000 --- a/algos/ppo/ppo_utils/act.py +++ /dev/null @@ -1,199 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -from .distributions import Bernoulli, Categorical, DiagGaussian -import torch -import torch.nn as nn - - -class ACTLayer(nn.Module): - """ - MLP Module to compute actions. - :param action_space: (gym.Space) action space. - :param inputs_dim: (int) dimension of network input. - :param use_orthogonal: (bool) whether to use orthogonal initialization. - :param gain: (float) gain of the output layer of the network. - """ - - def __init__(self, action_space, inputs_dim, use_orthogonal, gain, device): - super(ACTLayer, self).__init__() - self.mixed_action = False - self.multi_discrete = False - - if action_space.__class__.__name__ == "Discrete": - action_dim = action_space.n - self.action_out = Categorical(inputs_dim, action_dim, - use_orthogonal, gain) - elif action_space.__class__.__name__ == "Box": - action_dim = action_space.shape[0] - self.action_out = DiagGaussian(inputs_dim, action_dim, - use_orthogonal, gain, device) - elif action_space.__class__.__name__ == "MultiBinary": - action_dim = action_space.shape[0] - self.action_out = Bernoulli(inputs_dim, action_dim, use_orthogonal, - gain) - elif action_space.__class__.__name__ == "MultiDiscrete": - self.multi_discrete = True - action_dims = action_space.high - action_space.low + 1 - self.action_outs = [] - for action_dim in action_dims: - self.action_outs.append( - Categorical(inputs_dim, action_dim, use_orthogonal, gain)) - self.action_outs = nn.ModuleList(self.action_outs) - else: # discrete + continous - self.mixed_action = True - continous_dim = action_space[0].shape[0] - discrete_dim = action_space[1].n - self.action_outs = nn.ModuleList([ - DiagGaussian(inputs_dim, continous_dim, use_orthogonal, gain), - Categorical(inputs_dim, discrete_dim, use_orthogonal, gain) - ]) - - self.to(device) - - def forward(self, x, available_actions=None, deterministic=False): - """ - Compute actions and action logprobs from given input. - :param x: (torch.Tensor) input to network. - :param available_actions: (torch.Tensor) denotes which actions are available to agent - (if None, all actions available) - :param deterministic: (bool) whether to sample from action distribution or return the mode. - - :return actions: (torch.Tensor) actions to take. - :return action_log_probs: (torch.Tensor) log probabilities of taken actions. - """ - if self.mixed_action: - actions = [] - action_log_probs = [] - for action_out in self.action_outs: - action_logit = action_out(x) - action = action_logit.mode( - ) if deterministic else action_logit.sample() - action_log_prob = action_logit.log_probs(action) - actions.append(action.float()) - action_log_probs.append(action_log_prob) - - actions = torch.cat(actions, -1) - action_log_probs = torch.sum(torch.cat(action_log_probs, -1), - -1, - keepdim=True) - - elif self.multi_discrete: - actions = [] - action_log_probs = [] - for action_out in self.action_outs: - action_logit = action_out(x) - action = action_logit.mode( - ) if deterministic else action_logit.sample() - action_log_prob = action_logit.log_probs(action) - actions.append(action) - action_log_probs.append(action_log_prob) - - actions = torch.cat(actions, -1) - action_log_probs = torch.cat(action_log_probs, -1) - - else: - action_logits = self.action_out(x) - actions = action_logits.mode( - ) if deterministic else action_logits.sample() - action_log_probs = action_logits.log_probs(actions) - - return actions, action_log_probs - - def get_probs(self, x, available_actions=None): - """ - Compute action probabilities from inputs. - :param x: (torch.Tensor) input to network. - :param available_actions: (torch.Tensor) denotes which actions are available to agent - (if None, all actions available) - - :return action_probs: (torch.Tensor) - """ - if self.mixed_action or self.multi_discrete: - action_probs = [] - for action_out in self.action_outs: - action_logit = action_out(x) - action_prob = action_logit.probs - action_probs.append(action_prob) - action_probs = torch.cat(action_probs, -1) - else: - action_logits = self.action_out(x, available_actions) - action_probs = action_logits.probs - - return action_probs - - def evaluate_actions(self, - x, - action, - available_actions=None, - active_masks=None): - """ - Compute log probability and entropy of given actions. - :param x: (torch.Tensor) input to network. - :param action: (torch.Tensor) actions whose entropy and log probability to evaluate. - :param available_actions: (torch.Tensor) denotes which actions are available to agent - (if None, all actions available) - :param active_masks: (torch.Tensor) denotes whether an agent is active or dead. - - :return action_log_probs: (torch.Tensor) log probabilities of the input actions. - :return dist_entropy: (torch.Tensor) action distribution entropy for the given inputs. - """ - if self.mixed_action: - a, b = action.split((2, 1), -1) - b = b.long() - action = [a, b] - action_log_probs = [] - dist_entropy = [] - for action_out, act in zip(self.action_outs, action): - action_logit = action_out(x) - action_log_probs.append(action_logit.log_probs(act)) - if active_masks is not None: - if len(action_logit.entropy().shape) == len( - active_masks.shape): - dist_entropy.append( - (action_logit.entropy() * active_masks).sum() / - active_masks.sum()) - else: - dist_entropy.append((action_logit.entropy() * - active_masks.squeeze(-1)).sum() / - active_masks.sum()) - else: - dist_entropy.append(action_logit.entropy().mean()) - - action_log_probs = torch.sum(torch.cat(action_log_probs, -1), - -1, - keepdim=True) - dist_entropy = dist_entropy[0] / 2.0 + dist_entropy[ - 1] / 0.98 #! dosen't make sense - - elif self.multi_discrete: - action = torch.transpose(action, 0, 1) - action_log_probs = [] - dist_entropy = [] - for action_out, act in zip(self.action_outs, action): - action_logit = action_out(x) - action_log_probs.append(action_logit.log_probs(act)) - if active_masks is not None: - dist_entropy.append( - (action_logit.entropy() * - active_masks.squeeze(-1)).sum() / active_masks.sum()) - else: - dist_entropy.append(action_logit.entropy().mean()) - - action_log_probs = torch.cat(action_log_probs, - -1) # ! could be wrong - dist_entropy = torch.tensor(dist_entropy).mean() - - else: - action_logits = self.action_out(x, available_actions) - action_log_probs = action_logits.log_probs(action) - if active_masks is not None: - dist_entropy = ( - action_logits.entropy() * - active_masks.squeeze(-1)).sum() / active_masks.sum() - else: - dist_entropy = action_logits.entropy().mean() - - return action_log_probs, dist_entropy diff --git a/algos/ppo/ppo_utils/cnn.py b/algos/ppo/ppo_utils/cnn.py deleted file mode 100644 index 95fb8218..00000000 --- a/algos/ppo/ppo_utils/cnn.py +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -from torchvision import transforms -import torch.nn as nn -from .util import init -"""CNN Modules and utils.""" - - -class Flatten(nn.Module): - - def forward(self, x): - return x.view(x.size(0), -1) - - -class CNNLayer(nn.Module): - - def __init__(self, - obs_shape, - hidden_size, - use_orthogonal, - use_ReLU, - kernel_size=3, - stride=1): - super(CNNLayer, self).__init__() - - active_func = [nn.Tanh(), nn.ReLU()][use_ReLU] - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][use_orthogonal] - gain = nn.init.calculate_gain(['tanh', 'relu'][use_ReLU]) - - self.resize = transforms.Resize(84) - - def init_(m): - return init(m, - init_method, - lambda x: nn.init.constant_(x, 0), - gain=gain) - - input_channel = obs_shape[0] - input_width = obs_shape[1] - input_height = obs_shape[2] - - self.cnn = nn.Sequential( - init_( - nn.Conv2d(in_channels=input_channel, - out_channels=hidden_size // 2, - kernel_size=kernel_size, - stride=stride)), active_func, Flatten(), - init_( - nn.Linear( - hidden_size // 2 * (input_width - kernel_size + stride) * - (input_height - kernel_size + stride), - hidden_size)), active_func, - init_(nn.Linear(hidden_size, hidden_size)), active_func) - - def forward(self, x): - # TODO(eugenevinitsky) hardcoding is bad - x = self.resize(x) / 255.0 - x = self.cnn(x) - return x - - -class CNNBase(nn.Module): - - def __init__(self, args, obs_shape): - super(CNNBase, self).__init__() - - self._use_orthogonal = args.use_orthogonal - self._use_ReLU = args.use_ReLU - self.hidden_size = args.hidden_size - - self.cnn = CNNLayer(obs_shape, self.hidden_size, self._use_orthogonal, - self._use_ReLU) - - def forward(self, x): - x = self.cnn(x) - return x diff --git a/algos/ppo/ppo_utils/distributions.py b/algos/ppo/ppo_utils/distributions.py deleted file mode 100644 index 9249d700..00000000 --- a/algos/ppo/ppo_utils/distributions.py +++ /dev/null @@ -1,151 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -import torch.nn as nn -from .util import init -""" -Modify standard PyTorch distributions so they to make compatible with this codebase. -""" - -# -# Standardize distribution interfaces -# - - -# Categorical -class FixedCategorical(torch.distributions.Categorical): - - def sample(self): - return super().sample().unsqueeze(-1) - - def log_probs(self, actions): - return (super().log_prob(actions.squeeze(-1)).view( - actions.size(0), -1).sum(-1).unsqueeze(-1)) - - def mode(self): - return self.probs.argmax(dim=-1, keepdim=True) - - -# Normal -class FixedNormal(torch.distributions.Normal): - - def log_probs(self, actions): - return super().log_prob(actions).sum(-1, keepdim=True) - - def entrop(self): - return super.entropy().sum(-1) - - def mode(self): - return self.mean - - -# Bernoulli -class FixedBernoulli(torch.distributions.Bernoulli): - - def log_probs(self, actions): - return super.log_prob(actions).view(actions.size(0), - -1).sum(-1).unsqueeze(-1) - - def entropy(self): - return super().entropy().sum(-1) - - def mode(self): - return torch.gt(self.probs, 0.5).float() - - -class Categorical(nn.Module): - - def __init__(self, - num_inputs, - num_outputs, - use_orthogonal=True, - gain=0.01): - super(Categorical, self).__init__() - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][use_orthogonal] - - def init_(m): - return init(m, init_method, lambda x: nn.init.constant_(x, 0), - gain) - - self.linear = init_(nn.Linear(num_inputs, num_outputs)) - - def forward(self, x, available_actions=None): - x = self.linear(x) - if available_actions is not None: - x[available_actions == 0] = -1e10 - return FixedCategorical(logits=x) - - -class DiagGaussian(nn.Module): - - def __init__(self, - num_inputs, - num_outputs, - use_orthogonal=True, - gain=0.01, - device='cpu'): - super(DiagGaussian, self).__init__() - - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][use_orthogonal] - - def init_(m): - return init(m, init_method, lambda x: nn.init.constant_(x, 0), - gain) - - self.fc_mean = init_(nn.Linear(num_inputs, num_outputs)) - self.logstd = AddBias(torch.zeros(num_outputs)) - self.to(device) - self.device = device - - def forward(self, x): - action_mean = self.fc_mean(x) - - # An ugly hack for my KFAC implementation. - zeros = torch.zeros(action_mean.size()).to(self.device) - # if x.is_cuda: - # zeros = zeros.cuda() - - action_logstd = self.logstd(zeros) - return FixedNormal(action_mean, action_logstd.exp()) - - -class Bernoulli(nn.Module): - - def __init__(self, - num_inputs, - num_outputs, - use_orthogonal=True, - gain=0.01): - super(Bernoulli, self).__init__() - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][use_orthogonal] - - def init_(m): - return init(m, init_method, lambda x: nn.init.constant_(x, 0), - gain) - - self.linear = init_(nn.Linear(num_inputs, num_outputs)) - - def forward(self, x): - x = self.linear(x) - return FixedBernoulli(logits=x) - - -class AddBias(nn.Module): - - def __init__(self, bias): - super(AddBias, self).__init__() - self._bias = nn.Parameter(bias.unsqueeze(1)) - - def forward(self, x): - if x.dim() == 2: - bias = self._bias.t().view(1, -1) - else: - bias = self._bias.t().view(1, -1, 1, 1) - - return x + bias diff --git a/algos/ppo/ppo_utils/encoder.py b/algos/ppo/ppo_utils/encoder.py deleted file mode 100644 index e69de29b..00000000 diff --git a/algos/ppo/ppo_utils/mlp.py b/algos/ppo/ppo_utils/mlp.py deleted file mode 100644 index b066a3d2..00000000 --- a/algos/ppo/ppo_utils/mlp.py +++ /dev/null @@ -1,68 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch.nn as nn -from .util import init, get_clones -"""MLP modules.""" - - -class MLPLayer(nn.Module): - - def __init__(self, input_dim, hidden_size, layer_N, use_orthogonal, - use_ReLU): - super(MLPLayer, self).__init__() - self._layer_N = layer_N - - active_func = [nn.Tanh(), nn.ReLU()][use_ReLU] - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][use_orthogonal] - gain = nn.init.calculate_gain(['tanh', 'relu'][use_ReLU]) - - def init_(m): - return init(m, - init_method, - lambda x: nn.init.constant_(x, 0), - gain=gain) - - self.fc1 = nn.Sequential(init_(nn.Linear(input_dim, hidden_size)), - active_func, nn.LayerNorm(hidden_size)) - self.fc_h = nn.Sequential(init_(nn.Linear(hidden_size, hidden_size)), - active_func, nn.LayerNorm(hidden_size)) - self.fc2 = get_clones(self.fc_h, self._layer_N) - - def forward(self, x): - x = self.fc1(x) - for i in range(self._layer_N): - x = self.fc2[i](x) - return x - - -class MLPBase(nn.Module): - - def __init__(self, args, obs_shape, cat_self=True, attn_internal=False): - super(MLPBase, self).__init__() - - self._use_feature_normalization = args.use_feature_normalization - self._use_orthogonal = args.use_orthogonal - self._use_ReLU = args.use_ReLU - self._stacked_frames = args.stacked_frames - self._layer_N = args.layer_N - self.hidden_size = args.hidden_size - - obs_dim = obs_shape[0] - - if self._use_feature_normalization: - self.feature_norm = nn.LayerNorm(obs_dim) - - self.mlp = MLPLayer(obs_dim, self.hidden_size, self._layer_N, - self._use_orthogonal, self._use_ReLU) - - def forward(self, x): - if self._use_feature_normalization: - x = self.feature_norm(x) - - x = self.mlp(x) - - return x diff --git a/algos/ppo/ppo_utils/popart.py b/algos/ppo/ppo_utils/popart.py deleted file mode 100644 index 7dd4be1b..00000000 --- a/algos/ppo/ppo_utils/popart.py +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import math -import numpy as np -import torch -import torch.nn as nn -import torch.nn.functional as F - - -class PopArt(torch.nn.Module): - - def __init__(self, - input_shape, - output_shape, - norm_axes=1, - beta=0.99999, - epsilon=1e-5, - device=torch.device("cpu")): - - super(PopArt, self).__init__() - - self.beta = beta - self.epsilon = epsilon - self.norm_axes = norm_axes - self.tpdv = dict(dtype=torch.float32, device=device) - - self.input_shape = input_shape - self.output_shape = output_shape - - self.weight = nn.Parameter(torch.Tensor(output_shape, - input_shape)).to(**self.tpdv) - self.bias = nn.Parameter(torch.Tensor(output_shape)).to(**self.tpdv) - - self.stddev = nn.Parameter(torch.ones(output_shape), - requires_grad=False).to(**self.tpdv) - self.mean = nn.Parameter(torch.zeros(output_shape), - requires_grad=False).to(**self.tpdv) - self.mean_sq = nn.Parameter(torch.zeros(output_shape), - requires_grad=False).to(**self.tpdv) - self.debiasing_term = nn.Parameter(torch.tensor(0.0), - requires_grad=False).to(**self.tpdv) - - self.reset_parameters() - - def reset_parameters(self): - torch.nn.init.kaiming_uniform_(self.weight, a=math.sqrt(5)) - if self.bias is not None: - fan_in, _ = torch.nn.init._calculate_fan_in_and_fan_out( - self.weight) - bound = 1 / math.sqrt(fan_in) - torch.nn.init.uniform_(self.bias, -bound, bound) - self.mean.zero_() - self.mean_sq.zero_() - self.debiasing_term.zero_() - - def forward(self, input_vector): - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - return F.linear(input_vector, self.weight, self.bias) - - @torch.no_grad() - def update(self, input_vector): - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - old_mean, old_var = self.debiased_mean_var() - old_stddev = torch.sqrt(old_var) - - batch_mean = input_vector.mean(dim=tuple(range(self.norm_axes))) - batch_sq_mean = (input_vector**2).mean( - dim=tuple(range(self.norm_axes))) - - self.mean.mul_(self.beta).add_(batch_mean * (1.0 - self.beta)) - self.mean_sq.mul_(self.beta).add_(batch_sq_mean * (1.0 - self.beta)) - self.debiasing_term.mul_(self.beta).add_(1.0 * (1.0 - self.beta)) - - self.stddev = (self.mean_sq - self.mean**2).sqrt().clamp(min=1e-4) - - new_mean, new_var = self.debiased_mean_var() - new_stddev = torch.sqrt(new_var) - - self.weight = self.weight * old_stddev / new_stddev - self.bias = (old_stddev * self.bias + old_mean - new_mean) / new_stddev - - def debiased_mean_var(self): - debiased_mean = self.mean / self.debiasing_term.clamp(min=self.epsilon) - debiased_mean_sq = self.mean_sq / self.debiasing_term.clamp( - min=self.epsilon) - debiased_var = (debiased_mean_sq - debiased_mean**2).clamp(min=1e-2) - return debiased_mean, debiased_var - - def normalize(self, input_vector): - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - mean, var = self.debiased_mean_var() - out = (input_vector - mean[(None, ) * self.norm_axes] - ) / torch.sqrt(var)[(None, ) * self.norm_axes] - - return out - - def denormalize(self, input_vector): - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - mean, var = self.debiased_mean_var() - out = input_vector * torch.sqrt(var)[(None, ) * self.norm_axes] + mean[ - (None, ) * self.norm_axes] - - out = out.cpu().numpy() - - return out diff --git a/algos/ppo/ppo_utils/rnn.py b/algos/ppo/ppo_utils/rnn.py deleted file mode 100644 index 2720be9c..00000000 --- a/algos/ppo/ppo_utils/rnn.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -import torch.nn as nn -"""RNN modules.""" - - -class RNNLayer(nn.Module): - - def __init__(self, inputs_dim, outputs_dim, recurrent_N, use_orthogonal, - device): - super(RNNLayer, self).__init__() - self._recurrent_N = recurrent_N - self._use_orthogonal = use_orthogonal - - self.rnn = nn.GRU(inputs_dim, - outputs_dim, - num_layers=self._recurrent_N) - for name, param in self.rnn.named_parameters(): - if 'bias' in name: - nn.init.constant_(param, 0) - elif 'weight' in name: - if self._use_orthogonal: - nn.init.orthogonal_(param) - else: - nn.init.xavier_uniform_(param) - self.norm = nn.LayerNorm(outputs_dim) - self.to(device) - - def forward(self, x, hxs, masks): - if x.size(0) == hxs.size(0): - x, hxs = self.rnn( - x.unsqueeze(0), - (hxs * - masks.repeat(1, self._recurrent_N).unsqueeze(-1)).transpose( - 0, 1).contiguous()) - x = x.squeeze(0) - hxs = hxs.transpose(0, 1) - else: - # x is a (T, N, -1) tensor that has been flatten to (T * N, -1) - N = hxs.size(0) - T = int(x.size(0) / N) - - # unflatten - x = x.view(T, N, x.size(1)) - - # Same deal with masks - masks = masks.view(T, N) - - # Let's figure out which steps in the sequence have a zero for any agent - # We will always assume t=0 has a zero in it as that makes the logic cleaner - has_zeros = ((masks[1:] == 0.0).any( - dim=-1).nonzero().squeeze().cpu()) - - # +1 to correct the masks[1:] - if has_zeros.dim() == 0: - # Deal with scalar - has_zeros = [has_zeros.item() + 1] - else: - has_zeros = (has_zeros + 1).numpy().tolist() - - # add t=0 and t=T to the list - has_zeros = [0] + has_zeros + [T] - - hxs = hxs.transpose(0, 1) - - outputs = [] - for i in range(len(has_zeros) - 1): - # We can now process steps that don't have any zeros in masks together! - # This is much faster - start_idx = has_zeros[i] - end_idx = has_zeros[i + 1] - temp = (hxs * masks[start_idx].view(1, -1, 1).repeat( - self._recurrent_N, 1, 1)).contiguous() - rnn_scores, hxs = self.rnn(x[start_idx:end_idx], temp) - outputs.append(rnn_scores) - - # assert len(outputs) == T - # x is a (T, N, -1) tensor - x = torch.cat(outputs, dim=0) - - # flatten - x = x.reshape(T * N, -1) - hxs = hxs.transpose(0, 1) - - x = self.norm(x) - return x, hxs diff --git a/algos/ppo/ppo_utils/util.py b/algos/ppo/ppo_utils/util.py deleted file mode 100644 index 6f2735cc..00000000 --- a/algos/ppo/ppo_utils/util.py +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import copy -import numpy as np - -import torch -import torch.nn as nn - - -def init(module, weight_init, bias_init, gain=1): - weight_init(module.weight.data, gain=gain) - bias_init(module.bias.data) - return module - - -def get_clones(module, N): - return nn.ModuleList([copy.deepcopy(module) for i in range(N)]) - - -def check(input): - output = torch.from_numpy(input) if type(input) == np.ndarray else input - return output diff --git a/algos/ppo/r_mappo/__init__.py b/algos/ppo/r_mappo/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/algos/ppo/r_mappo/algorithm/rMAPPOPolicy.py b/algos/ppo/r_mappo/algorithm/rMAPPOPolicy.py deleted file mode 100644 index c211cdb6..00000000 --- a/algos/ppo/r_mappo/algorithm/rMAPPOPolicy.py +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -from algos.ppo.r_mappo.algorithm.r_actor_critic import R_Actor, R_Critic -from algos.ppo.utils.util import update_linear_schedule - - -class R_MAPPOPolicy: - """ - MAPPO Policy class. Wraps actor and critic networks to compute actions and value function predictions. - - :param args: (argparse.Namespace) arguments containing relevant model and policy information. - :param obs_space: (gym.Space) observation space. - :param cent_obs_space: (gym.Space) value function input space (centralized input for MAPPO, decentralized for IPPO). - :param action_space: (gym.Space) action space. - :param device: (torch.device) specifies the device to run on (cpu/gpu). - """ - - def __init__(self, - args, - obs_space, - cent_obs_space, - act_space, - device=torch.device("cpu")): - self.device = device - self.lr = args.lr - self.critic_lr = args.critic_lr - self.opti_eps = args.opti_eps - self.weight_decay = args.weight_decay - - self.obs_space = obs_space - self.share_obs_space = cent_obs_space - self.act_space = act_space - - self.actor = R_Actor(args, self.obs_space, self.act_space, self.device) - self.critic = R_Critic(args, self.share_obs_space, self.device) - - self.actor_optimizer = torch.optim.Adam(self.actor.parameters(), - lr=self.lr, - eps=self.opti_eps, - weight_decay=self.weight_decay) - self.critic_optimizer = torch.optim.Adam( - self.critic.parameters(), - lr=self.critic_lr, - eps=self.opti_eps, - weight_decay=self.weight_decay) - - def lr_decay(self, episode, episodes): - """ - Decay the actor and critic learning rates. - :param episode: (int) current training episode. - :param episodes: (int) total number of training episodes. - """ - update_linear_schedule(self.actor_optimizer, episode, episodes, - self.lr) - update_linear_schedule(self.critic_optimizer, episode, episodes, - self.critic_lr) - - def get_actions(self, - cent_obs, - obs, - rnn_states_actor, - rnn_states_critic, - masks, - available_actions=None, - deterministic=False): - """ - Compute actions and value function predictions for the given inputs. - :param cent_obs (np.ndarray): centralized input to the critic. - :param obs (np.ndarray): local agent inputs to the actor. - :param rnn_states_actor: (np.ndarray) if actor is RNN, RNN states for actor. - :param rnn_states_critic: (np.ndarray) if critic is RNN, RNN states for critic. - :param masks: (np.ndarray) denotes points at which RNN states should be reset. - :param available_actions: (np.ndarray) denotes which actions are available to agent - (if None, all actions available) - :param deterministic: (bool) whether the action should be mode of distribution or should be sampled. - - :return values: (torch.Tensor) value function predictions. - :return actions: (torch.Tensor) actions to take. - :return action_log_probs: (torch.Tensor) log probabilities of chosen actions. - :return rnn_states_actor: (torch.Tensor) updated actor network RNN states. - :return rnn_states_critic: (torch.Tensor) updated critic network RNN states. - """ - actions, action_log_probs, rnn_states_actor = self.actor( - obs, rnn_states_actor, masks, available_actions, deterministic) - - values, rnn_states_critic = self.critic(cent_obs, rnn_states_critic, - masks) - return values, actions, action_log_probs, rnn_states_actor, rnn_states_critic - - def get_values(self, cent_obs, rnn_states_critic, masks): - """ - Get value function predictions. - :param cent_obs (np.ndarray): centralized input to the critic. - :param rnn_states_critic: (np.ndarray) if critic is RNN, RNN states for critic. - :param masks: (np.ndarray) denotes points at which RNN states should be reset. - - :return values: (torch.Tensor) value function predictions. - """ - values, _ = self.critic(cent_obs, rnn_states_critic, masks) - return values - - def evaluate_actions(self, - cent_obs, - obs, - rnn_states_actor, - rnn_states_critic, - action, - masks, - available_actions=None, - active_masks=None): - """ - Get action logprobs / entropy and value function predictions for actor update. - :param cent_obs (np.ndarray): centralized input to the critic. - :param obs (np.ndarray): local agent inputs to the actor. - :param rnn_states_actor: (np.ndarray) if actor is RNN, RNN states for actor. - :param rnn_states_critic: (np.ndarray) if critic is RNN, RNN states for critic. - :param action: (np.ndarray) actions whose log probabilites and entropy to compute. - :param masks: (np.ndarray) denotes points at which RNN states should be reset. - :param available_actions: (np.ndarray) denotes which actions are available to agent - (if None, all actions available) - :param active_masks: (torch.Tensor) denotes whether an agent is active or dead. - - :return values: (torch.Tensor) value function predictions. - :return action_log_probs: (torch.Tensor) log probabilities of the input actions. - :return dist_entropy: (torch.Tensor) action distribution entropy for the given inputs. - """ - action_log_probs, dist_entropy = self.actor.evaluate_actions( - obs, rnn_states_actor, action, masks, available_actions, - active_masks) - - values, _ = self.critic(cent_obs, rnn_states_critic, masks) - return values, action_log_probs, dist_entropy - - def act(self, - obs, - rnn_states_actor, - masks, - available_actions=None, - deterministic=False): - """ - Compute actions using the given inputs. - :param obs (np.ndarray): local agent inputs to the actor. - :param rnn_states_actor: (np.ndarray) if actor is RNN, RNN states for actor. - :param masks: (np.ndarray) denotes points at which RNN states should be reset. - :param available_actions: (np.ndarray) denotes which actions are available to agent - (if None, all actions available) - :param deterministic: (bool) whether the action should be mode of distribution or should be sampled. - """ - actions, _, rnn_states_actor = self.actor(obs, rnn_states_actor, masks, - available_actions, - deterministic) - return actions, rnn_states_actor diff --git a/algos/ppo/r_mappo/algorithm/r_actor_critic.py b/algos/ppo/r_mappo/algorithm/r_actor_critic.py deleted file mode 100644 index ee9dfdf0..00000000 --- a/algos/ppo/r_mappo/algorithm/r_actor_critic.py +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -import torch.nn as nn -from algos.ppo.ppo_utils.util import init, check -from algos.ppo.ppo_utils.mlp import MLPBase -from algos.ppo.ppo_utils.rnn import RNNLayer -from algos.ppo.ppo_utils.act import ACTLayer -from algos.ppo.ppo_utils.popart import PopArt -from algos.ppo.utils.util import get_shape_from_obs_space - - -class R_Actor(nn.Module): - """ - Actor network class for MAPPO. Outputs actions given observations. - :param args: (argparse.Namespace) arguments containing relevant model information. - :param obs_space: (gym.Space) observation space. - :param action_space: (gym.Space) action space. - :param device: (torch.device) specifies the device to run on (cpu/gpu). - """ - - def __init__(self, - args, - obs_space, - action_space, - device=torch.device("cpu")): - super(R_Actor, self).__init__() - self.hidden_size = args.hidden_size - - self._gain = args.gain - self._use_orthogonal = args.use_orthogonal - self._use_policy_active_masks = args.use_policy_active_masks - self._use_naive_recurrent_policy = args.use_naive_recurrent_policy - self._use_recurrent_policy = args.use_recurrent_policy - self._recurrent_N = args.recurrent_N - self.tpdv = dict(dtype=torch.float32, device=device) - - obs_shape = get_shape_from_obs_space(obs_space) - base = MLPBase - self.base = base(args, obs_shape) - - if self._use_naive_recurrent_policy or self._use_recurrent_policy: - self.rnn = RNNLayer(self.hidden_size, self.hidden_size, - self._recurrent_N, self._use_orthogonal, - device) - - self.act = ACTLayer(action_space, self.hidden_size, - self._use_orthogonal, self._gain, device) - - self.to(device) - - def forward(self, - obs, - rnn_states, - masks, - available_actions=None, - deterministic=False): - """ - Compute actions from the given inputs. - :param obs: (np.ndarray / torch.Tensor) observation inputs into network. - :param rnn_states: (np.ndarray / torch.Tensor) if RNN network, hidden states for RNN. - :param masks: (np.ndarray / torch.Tensor) mask tensor denoting if hidden states should be reinitialized to zeros. - :param available_actions: (np.ndarray / torch.Tensor) denotes which actions are available to agent - (if None, all actions available) - :param deterministic: (bool) whether to sample from action distribution or return the mode. - - :return actions: (torch.Tensor) actions to take. - :return action_log_probs: (torch.Tensor) log probabilities of taken actions. - :return rnn_states: (torch.Tensor) updated RNN hidden states. - """ - obs = check(obs).to(**self.tpdv) - rnn_states = check(rnn_states).to(**self.tpdv) - masks = check(masks).to(**self.tpdv) - if available_actions is not None: - available_actions = check(available_actions).to(**self.tpdv) - - actor_features = self.base(obs) - - if self._use_naive_recurrent_policy or self._use_recurrent_policy: - actor_features, rnn_states = self.rnn(actor_features, rnn_states, - masks) - - actions, action_log_probs = self.act(actor_features, available_actions, - deterministic) - - return actions, action_log_probs, rnn_states - - def evaluate_actions(self, - obs, - rnn_states, - action, - masks, - available_actions=None, - active_masks=None): - """ - Compute log probability and entropy of given actions. - :param obs: (torch.Tensor) observation inputs into network. - :param action: (torch.Tensor) actions whose entropy and log probability to evaluate. - :param rnn_states: (torch.Tensor) if RNN network, hidden states for RNN. - :param masks: (torch.Tensor) mask tensor denoting if hidden states should be reinitialized to zeros. - :param available_actions: (torch.Tensor) denotes which actions are available to agent - (if None, all actions available) - :param active_masks: (torch.Tensor) denotes whether an agent is active or dead. - - :return action_log_probs: (torch.Tensor) log probabilities of the input actions. - :return dist_entropy: (torch.Tensor) action distribution entropy for the given inputs. - """ - obs = check(obs).to(**self.tpdv) - rnn_states = check(rnn_states).to(**self.tpdv) - action = check(action).to(**self.tpdv) - masks = check(masks).to(**self.tpdv) - if available_actions is not None: - available_actions = check(available_actions).to(**self.tpdv) - - if active_masks is not None: - active_masks = check(active_masks).to(**self.tpdv) - - actor_features = self.base(obs) - - if self._use_naive_recurrent_policy or self._use_recurrent_policy: - actor_features, rnn_states = self.rnn(actor_features, rnn_states, - masks) - - action_log_probs, dist_entropy = self.act.evaluate_actions( - actor_features, - action, - available_actions, - active_masks=active_masks - if self._use_policy_active_masks else None) - - return action_log_probs, dist_entropy - - -class R_Critic(nn.Module): - """ - Critic network class for MAPPO. Outputs value function predictions given centralized input (MAPPO) or - local observations (IPPO). - :param args: (argparse.Namespace) arguments containing relevant model information. - :param cent_obs_space: (gym.Space) (centralized) observation space. - :param device: (torch.device) specifies the device to run on (cpu/gpu). - """ - - def __init__(self, args, cent_obs_space, device=torch.device("cpu")): - super(R_Critic, self).__init__() - self.hidden_size = args.hidden_size - self._use_orthogonal = args.use_orthogonal - self._use_naive_recurrent_policy = args.use_naive_recurrent_policy - self._use_recurrent_policy = args.use_recurrent_policy - self._recurrent_N = args.recurrent_N - self._use_popart = args.use_popart - self.tpdv = dict(dtype=torch.float32, device=device) - init_method = [nn.init.xavier_uniform_, - nn.init.orthogonal_][self._use_orthogonal] - - cent_obs_shape = get_shape_from_obs_space(cent_obs_space) - base = MLPBase - self.base = base(args, cent_obs_shape) - - if self._use_naive_recurrent_policy or self._use_recurrent_policy: - self.rnn = RNNLayer(self.hidden_size, self.hidden_size, - self._recurrent_N, self._use_orthogonal, - device) - - def init_(m): - return init(m, init_method, lambda x: nn.init.constant_(x, 0)) - - if self._use_popart: - self.v_out = init_(PopArt(self.hidden_size, 1, device=device)) - else: - self.v_out = init_(nn.Linear(self.hidden_size, 1)) - - self.to(device) - - def forward(self, cent_obs, rnn_states, masks): - """ - Compute actions from the given inputs. - :param cent_obs: (np.ndarray / torch.Tensor) observation inputs into network. - :param rnn_states: (np.ndarray / torch.Tensor) if RNN network, hidden states for RNN. - :param masks: (np.ndarray / torch.Tensor) mask tensor denoting if RNN states should be reinitialized to zeros. - - :return values: (torch.Tensor) value function predictions. - :return rnn_states: (torch.Tensor) updated RNN hidden states. - """ - cent_obs = check(cent_obs).to(**self.tpdv) - rnn_states = check(rnn_states).to(**self.tpdv) - masks = check(masks).to(**self.tpdv) - - critic_features = self.base(cent_obs) - if self._use_naive_recurrent_policy or self._use_recurrent_policy: - critic_features, rnn_states = self.rnn(critic_features, rnn_states, - masks) - values = self.v_out(critic_features) - - return values, rnn_states diff --git a/algos/ppo/r_mappo/r_mappo.py b/algos/ppo/r_mappo/r_mappo.py deleted file mode 100644 index 0bae8b24..00000000 --- a/algos/ppo/r_mappo/r_mappo.py +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import numpy as np -import torch -import torch.nn as nn -from algos.ppo.utils.util import get_gard_norm, huber_loss, mse_loss -from algos.ppo.utils.valuenorm import ValueNorm -from algos.ppo.ppo_utils.util import check - - -class R_MAPPO(): - """ - Trainer class for MAPPO to update policies. - :param args: (argparse.Namespace) arguments containing relevant model, policy, and env information. - :param policy: (R_MAPPO_Policy) policy to update. - :param device: (torch.device) specifies the device to run on (cpu/gpu). - """ - - def __init__(self, args, policy, device=torch.device("cpu")): - - self.device = device - self.tpdv = dict(dtype=torch.float32, device=device) - self.policy = policy - - self.clip_param = args.clip_param - self.ppo_epoch = args.ppo_epoch - self.num_mini_batch = args.num_mini_batch - self.data_chunk_length = args.data_chunk_length - self.value_loss_coef = args.value_loss_coef - self.entropy_coef = args.entropy_coef - self.max_grad_norm = args.max_grad_norm - self.huber_delta = args.huber_delta - - self._use_recurrent_policy = args.use_recurrent_policy - self._use_naive_recurrent = args.use_naive_recurrent_policy - self._use_max_grad_norm = args.use_max_grad_norm - self._use_clipped_value_loss = args.use_clipped_value_loss - self._use_huber_loss = args.use_huber_loss - self._use_popart = args.use_popart - self._use_valuenorm = args.use_valuenorm - self._use_value_active_masks = args.use_value_active_masks - self._use_policy_active_masks = args.use_policy_active_masks - - assert (self._use_popart and self._use_valuenorm) == False, ( - "self._use_popart and self._use_valuenorm can not be set True simultaneously" - ) - - if self._use_popart: - self.value_normalizer = self.policy.critic.v_out - elif self._use_valuenorm: - self.value_normalizer = ValueNorm(1, device=self.device) - else: - self.value_normalizer = None - - def cal_value_loss(self, values, value_preds_batch, return_batch, - active_masks_batch): - """ - Calculate value function loss. - :param values: (torch.Tensor) value function predictions. - :param value_preds_batch: (torch.Tensor) "old" value predictions from data batch (used for value clip loss) - :param return_batch: (torch.Tensor) reward to go returns. - :param active_masks_batch: (torch.Tensor) denotes if agent is active or dead at a given timesep. - - :return value_loss: (torch.Tensor) value function loss. - """ - value_pred_clipped = value_preds_batch + ( - values - value_preds_batch).clamp(-self.clip_param, - self.clip_param) - if self._use_popart or self._use_valuenorm: - self.value_normalizer.update(return_batch) - error_clipped = self.value_normalizer.normalize( - return_batch) - value_pred_clipped - error_original = self.value_normalizer.normalize( - return_batch) - values - else: - error_clipped = return_batch - value_pred_clipped - error_original = return_batch - values - - if self._use_huber_loss: - value_loss_clipped = huber_loss(error_clipped, self.huber_delta) - value_loss_original = huber_loss(error_original, self.huber_delta) - else: - value_loss_clipped = mse_loss(error_clipped) - value_loss_original = mse_loss(error_original) - - if self._use_clipped_value_loss: - value_loss = torch.max(value_loss_original, value_loss_clipped) - else: - value_loss = value_loss_original - - if self._use_value_active_masks: - value_loss = (value_loss * - active_masks_batch).sum() / active_masks_batch.sum() - else: - value_loss = value_loss.mean() - - return value_loss - - def ppo_update(self, sample, update_actor=True): - """ - Update actor and critic networks. - :param sample: (Tuple) contains data batch with which to update networks. - :update_actor: (bool) whether to update actor network. - - :return value_loss: (torch.Tensor) value function loss. - :return critic_grad_norm: (torch.Tensor) gradient norm from critic up9date. - ;return policy_loss: (torch.Tensor) actor(policy) loss value. - :return dist_entropy: (torch.Tensor) action entropies. - :return actor_grad_norm: (torch.Tensor) gradient norm from actor update. - :return imp_weights: (torch.Tensor) importance sampling weights. - """ - share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch, \ - value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch, \ - adv_targ, available_actions_batch = sample - - old_action_log_probs_batch = check(old_action_log_probs_batch).to( - **self.tpdv) - adv_targ = check(adv_targ).to(**self.tpdv) - value_preds_batch = check(value_preds_batch).to(**self.tpdv) - return_batch = check(return_batch).to(**self.tpdv) - active_masks_batch = check(active_masks_batch).to(**self.tpdv) - - # Reshape to do in a single forward pass for all steps - values, action_log_probs, dist_entropy = self.policy.evaluate_actions( - share_obs_batch, obs_batch, rnn_states_batch, - rnn_states_critic_batch, actions_batch, masks_batch, - available_actions_batch, active_masks_batch) - # actor update - imp_weights = torch.exp(action_log_probs - old_action_log_probs_batch) - - surr1 = imp_weights * adv_targ - surr2 = torch.clamp(imp_weights, 1.0 - self.clip_param, - 1.0 + self.clip_param) * adv_targ - - if self._use_policy_active_masks: - policy_action_loss = ( - -torch.sum(torch.min(surr1, surr2), dim=-1, keepdim=True) * - active_masks_batch).sum() / active_masks_batch.sum() - else: - policy_action_loss = -torch.sum( - torch.min(surr1, surr2), dim=-1, keepdim=True).mean() - - policy_loss = policy_action_loss - - self.policy.actor_optimizer.zero_grad() - - if update_actor: - (policy_loss - dist_entropy * self.entropy_coef).backward() - - if self._use_max_grad_norm: - actor_grad_norm = nn.utils.clip_grad_norm_( - self.policy.actor.parameters(), self.max_grad_norm) - else: - actor_grad_norm = get_gard_norm(self.policy.actor.parameters()) - - self.policy.actor_optimizer.step() - - # critic update - value_loss = self.cal_value_loss(values, value_preds_batch, - return_batch, active_masks_batch) - - self.policy.critic_optimizer.zero_grad() - - (value_loss * self.value_loss_coef).backward() - - if self._use_max_grad_norm: - critic_grad_norm = nn.utils.clip_grad_norm_( - self.policy.critic.parameters(), self.max_grad_norm) - else: - critic_grad_norm = get_gard_norm(self.policy.critic.parameters()) - - self.policy.critic_optimizer.step() - - return value_loss, critic_grad_norm, policy_loss, dist_entropy, actor_grad_norm, imp_weights - - def train(self, buffer, update_actor=True): - """ - Perform a training update using minibatch GD. - :param buffer: (SharedReplayBuffer) buffer containing training data. - :param update_actor: (bool) whether to update actor network. - - :return train_info: (dict) contains information regarding training update (e.g. loss, grad norms, etc). - """ - if self._use_popart or self._use_valuenorm: - advantages = buffer.returns[: - -1] - self.value_normalizer.denormalize( - buffer.value_preds[:-1]) - else: - advantages = buffer.returns[:-1] - buffer.value_preds[:-1] - advantages_copy = advantages.copy() - advantages_copy[buffer.active_masks[:-1] == 0.0] = np.nan - mean_advantages = np.nanmean(advantages_copy) - std_advantages = np.nanstd(advantages_copy) - advantages = (advantages - mean_advantages) / (std_advantages + 1e-5) - - train_info = {} - - train_info['value_loss'] = 0 - train_info['policy_loss'] = 0 - train_info['dist_entropy'] = 0 - train_info['actor_grad_norm'] = 0 - train_info['critic_grad_norm'] = 0 - train_info['ratio'] = 0 - - for _ in range(self.ppo_epoch): - if self._use_recurrent_policy: - data_generator = buffer.recurrent_generator( - advantages, self.num_mini_batch, self.data_chunk_length) - elif self._use_naive_recurrent: - data_generator = buffer.naive_recurrent_generator( - advantages, self.num_mini_batch) - else: - data_generator = buffer.feed_forward_generator( - advantages, self.num_mini_batch) - - for sample in data_generator: - - value_loss, critic_grad_norm, policy_loss, dist_entropy, actor_grad_norm, imp_weights \ - = self.ppo_update(sample, update_actor) - - train_info['value_loss'] += value_loss.item() - train_info['policy_loss'] += policy_loss.item() - train_info['dist_entropy'] += dist_entropy.item() - train_info['actor_grad_norm'] += actor_grad_norm - train_info['critic_grad_norm'] += critic_grad_norm - train_info['ratio'] += imp_weights.mean() - - num_updates = self.ppo_epoch * self.num_mini_batch - - for k in train_info.keys(): - train_info[k] /= num_updates - - return train_info - - def prep_training(self): - self.policy.actor.train() - self.policy.critic.train() - - def prep_rollout(self): - self.policy.actor.eval() - self.policy.critic.eval() diff --git a/algos/ppo/utils/__init__.py b/algos/ppo/utils/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/algos/ppo/utils/multi_discrete.py b/algos/ppo/utils/multi_discrete.py deleted file mode 100644 index 64f106fa..00000000 --- a/algos/ppo/utils/multi_discrete.py +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import gym -import numpy as np - - -# An old version of OpenAI Gym's multi_discrete.py. (Was getting affected by Gym updates) -# (https://github.com/openai/gym/blob/1fb81d4e3fb780ccf77fec731287ba07da35eb84/gym/spaces/multi_discrete.py) -class MultiDiscrete(gym.Space): - """ - - The multi-discrete action space consists of a series of discrete action spaces with different parameters - - It can be adapted to both a Discrete action space or a continuous (Box) action space - - It is useful to represent game controllers or keyboards where each key can be represented as a discrete action space - - It is parametrized by passing an array of arrays containing [min, max] for each discrete action space where the discrete action space can take any integers from `min` to `max` (both inclusive) - Note: A value of 0 always need to represent the NOOP action. - e.g. Nintendo Game Controller - - Can be conceptualized as 3 discrete action spaces: - 1) Arrow Keys: Discrete 5 - NOOP[0], UP[1], RIGHT[2], DOWN[3], LEFT[4] - params: min: 0, max: 4 - 2) Button A: Discrete 2 - NOOP[0], Pressed[1] - params: min: 0, max: 1 - 3) Button B: Discrete 2 - NOOP[0], Pressed[1] - params: min: 0, max: 1 - - Can be initialized as - MultiDiscrete([ [0,4], [0,1], [0,1] ]) - """ - - def __init__(self, array_of_param_array): - self.low = np.array([x[0] for x in array_of_param_array]) - self.high = np.array([x[1] for x in array_of_param_array]) - self.num_discrete_space = self.low.shape[0] - self.n = np.sum(self.high) + 2 - - def sample(self): - """ Returns a array with one sample from each discrete action space """ - # For each row: round(random .* (max - min) + min, 0) - random_array = np.random.rand(self.num_discrete_space) - return [ - int(x) for x in np.floor( - np.multiply((self.high - self.low + 1.), random_array) + - self.low) - ] - - def contains(self, x): - return len(x) == self.num_discrete_space and ( - np.array(x) >= self.low).all() and (np.array(x) <= - self.high).all() - - @property - def shape(self): - return self.num_discrete_space - - def __repr__(self): - return "MultiDiscrete" + str(self.num_discrete_space) - - def __eq__(self, other): - return np.array_equal(self.low, other.low) and np.array_equal( - self.high, other.high) diff --git a/algos/ppo/utils/separated_buffer.py b/algos/ppo/utils/separated_buffer.py deleted file mode 100644 index 342b51ff..00000000 --- a/algos/ppo/utils/separated_buffer.py +++ /dev/null @@ -1,505 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -import numpy as np -from collections import defaultdict - -from algos.ppo.utils.util import check, get_shape_from_obs_space, get_shape_from_act_space - - -def _flatten(T, N, x): - return x.reshape(T * N, *x.shape[2:]) - - -def _cast(x): - return x.transpose(1, 0, 2).reshape(-1, *x.shape[2:]) - - -class SeparatedReplayBuffer(object): - - def __init__(self, args, obs_space, share_obs_space, act_space): - self.episode_length = args.episode_length - self.n_rollout_threads = args.n_rollout_threads - self.rnn_hidden_size = args.hidden_size - self.recurrent_N = args.recurrent_N - self.gamma = args.gamma - self.gae_lambda = args.gae_lambda - self._use_gae = args.use_gae - self._use_popart = args.use_popart - self._use_valuenorm = args.use_valuenorm - self._use_proper_time_limits = args.use_proper_time_limits - - obs_shape = get_shape_from_obs_space(obs_space) - share_obs_shape = get_shape_from_obs_space(share_obs_space) - - if type(obs_shape[-1]) == list: - obs_shape = obs_shape[:1] - - if type(share_obs_shape[-1]) == list: - share_obs_shape = share_obs_shape[:1] - - self.share_obs = np.zeros((self.episode_length + 1, - self.n_rollout_threads, *share_obs_shape), - dtype=np.float32) - self.obs = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, *obs_shape), - dtype=np.float32) - - self.rnn_states = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, self.recurrent_N, - self.rnn_hidden_size), - dtype=np.float32) - self.rnn_states_critic = np.zeros_like(self.rnn_states) - - self.value_preds = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, 1), - dtype=np.float32) - self.returns = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, 1), - dtype=np.float32) - - if act_space.__class__.__name__ == 'Discrete': - self.available_actions = np.ones( - (self.episode_length + 1, self.n_rollout_threads, act_space.n), - dtype=np.float32) - else: - self.available_actions = None - - act_shape = get_shape_from_act_space(act_space) - - self.actions = np.zeros( - (self.episode_length, self.n_rollout_threads, act_shape), - dtype=np.float32) - self.action_log_probs = np.zeros( - (self.episode_length, self.n_rollout_threads, act_shape), - dtype=np.float32) - self.rewards = np.zeros( - (self.episode_length, self.n_rollout_threads, 1), dtype=np.float32) - - self.masks = np.ones( - (self.episode_length + 1, self.n_rollout_threads, 1), - dtype=np.float32) - self.bad_masks = np.ones_like(self.masks) - self.active_masks = np.ones_like(self.masks) - - self.step = 0 - - def insert(self, - share_obs, - obs, - rnn_states, - rnn_states_critic, - actions, - action_log_probs, - value_preds, - rewards, - masks, - bad_masks=None, - active_masks=None, - available_actions=None): - self.share_obs[self.step + 1] = share_obs.copy() - self.obs[self.step + 1] = obs.copy() - self.rnn_states[self.step + 1] = rnn_states.copy() - self.rnn_states_critic[self.step + 1] = rnn_states_critic.copy() - self.actions[self.step] = actions.copy() - self.action_log_probs[self.step] = action_log_probs.copy() - self.value_preds[self.step] = value_preds.copy() - self.rewards[self.step] = rewards.copy() - self.masks[self.step + 1] = masks.copy() - if bad_masks is not None: - self.bad_masks[self.step + 1] = bad_masks.copy() - if active_masks is not None: - self.active_masks[self.step + 1] = active_masks.copy() - if available_actions is not None: - self.available_actions[self.step + 1] = available_actions.copy() - - self.step = (self.step + 1) % self.episode_length - - def chooseinsert(self, - share_obs, - obs, - rnn_states, - rnn_states_critic, - actions, - action_log_probs, - value_preds, - rewards, - masks, - bad_masks=None, - active_masks=None, - available_actions=None): - self.share_obs[self.step] = share_obs.copy() - self.obs[self.step] = obs.copy() - self.rnn_states[self.step + 1] = rnn_states.copy() - self.rnn_states_critic[self.step + 1] = rnn_states_critic.copy() - self.actions[self.step] = actions.copy() - self.action_log_probs[self.step] = action_log_probs.copy() - self.value_preds[self.step] = value_preds.copy() - self.rewards[self.step] = rewards.copy() - self.masks[self.step + 1] = masks.copy() - if bad_masks is not None: - self.bad_masks[self.step + 1] = bad_masks.copy() - if active_masks is not None: - self.active_masks[self.step] = active_masks.copy() - if available_actions is not None: - self.available_actions[self.step] = available_actions.copy() - - self.step = (self.step + 1) % self.episode_length - - def after_update(self): - self.share_obs[0] = self.share_obs[-1].copy() - self.obs[0] = self.obs[-1].copy() - self.rnn_states[0] = self.rnn_states[-1].copy() - self.rnn_states_critic[0] = self.rnn_states_critic[-1].copy() - self.masks[0] = self.masks[-1].copy() - self.bad_masks[0] = self.bad_masks[-1].copy() - self.active_masks[0] = self.active_masks[-1].copy() - if self.available_actions is not None: - self.available_actions[0] = self.available_actions[-1].copy() - - def chooseafter_update(self): - self.rnn_states[0] = self.rnn_states[-1].copy() - self.rnn_states_critic[0] = self.rnn_states_critic[-1].copy() - self.masks[0] = self.masks[-1].copy() - self.bad_masks[0] = self.bad_masks[-1].copy() - - def compute_returns(self, next_value, value_normalizer=None): - if self._use_proper_time_limits: - if self._use_gae: - self.value_preds[-1] = next_value - gae = 0 - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart or self._use_valuenorm: - delta = self.rewards[ - step] + self.gamma * value_normalizer.denormalize( - self.value_preds[step + 1]) * self.masks[ - step + 1] - value_normalizer.denormalize( - self.value_preds[step]) - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - gae = gae * self.bad_masks[step + 1] - self.returns[ - step] = gae + value_normalizer.denormalize( - self.value_preds[step]) - else: - delta = self.rewards[ - step] + self.gamma * self.value_preds[ - step + 1] * self.masks[ - step + 1] - self.value_preds[step] - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - gae = gae * self.bad_masks[step + 1] - self.returns[step] = gae + self.value_preds[step] - else: - self.returns[-1] = next_value - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart: - self.returns[step] = (self.returns[step + 1] * self.gamma * self.masks[step + 1] + self.rewards[step]) * self.bad_masks[step + 1] \ - + (1 - self.bad_masks[step + 1]) * value_normalizer.denormalize(self.value_preds[step]) - else: - self.returns[step] = (self.returns[step + 1] * self.gamma * self.masks[step + 1] + self.rewards[step]) * self.bad_masks[step + 1] \ - + (1 - self.bad_masks[step + 1]) * self.value_preds[step] - else: - if self._use_gae: - self.value_preds[-1] = next_value - gae = 0 - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart or self._use_valuenorm: - delta = self.rewards[ - step] + self.gamma * value_normalizer.denormalize( - self.value_preds[step + 1]) * self.masks[ - step + 1] - value_normalizer.denormalize( - self.value_preds[step]) - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - self.returns[ - step] = gae + value_normalizer.denormalize( - self.value_preds[step]) - else: - delta = self.rewards[ - step] + self.gamma * self.value_preds[ - step + 1] * self.masks[ - step + 1] - self.value_preds[step] - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - self.returns[step] = gae + self.value_preds[step] - else: - self.returns[-1] = next_value - for step in reversed(range(self.rewards.shape[0])): - self.returns[step] = self.returns[ - step + 1] * self.gamma * self.masks[ - step + 1] + self.rewards[step] - - def feed_forward_generator(self, - advantages, - num_mini_batch=None, - mini_batch_size=None): - episode_length, n_rollout_threads = self.rewards.shape[0:2] - batch_size = n_rollout_threads * episode_length - - if mini_batch_size is None: - assert batch_size >= num_mini_batch, ( - "PPO requires the number of processes ({}) " - "* number of steps ({}) = {} " - "to be greater than or equal to the number of PPO mini batches ({})." - "".format(n_rollout_threads, episode_length, - n_rollout_threads * episode_length, num_mini_batch)) - mini_batch_size = batch_size // num_mini_batch - - rand = torch.randperm(batch_size).numpy() - sampler = [ - rand[i * mini_batch_size:(i + 1) * mini_batch_size] - for i in range(num_mini_batch) - ] - - share_obs = self.share_obs[:-1].reshape(-1, *self.share_obs.shape[2:]) - obs = self.obs[:-1].reshape(-1, *self.obs.shape[2:]) - rnn_states = self.rnn_states[:-1].reshape(-1, - *self.rnn_states.shape[2:]) - rnn_states_critic = self.rnn_states_critic[:-1].reshape( - -1, *self.rnn_states_critic.shape[2:]) - actions = self.actions.reshape(-1, self.actions.shape[-1]) - if self.available_actions is not None: - available_actions = self.available_actions[:-1].reshape( - -1, self.available_actions.shape[-1]) - value_preds = self.value_preds[:-1].reshape(-1, 1) - returns = self.returns[:-1].reshape(-1, 1) - masks = self.masks[:-1].reshape(-1, 1) - active_masks = self.active_masks[:-1].reshape(-1, 1) - action_log_probs = self.action_log_probs.reshape( - -1, self.action_log_probs.shape[-1]) - advantages = advantages.reshape(-1, 1) - - for indices in sampler: - # obs size [T+1 N Dim]-->[T N Dim]-->[T*N,Dim]-->[index,Dim] - share_obs_batch = share_obs[indices] - obs_batch = obs[indices] - rnn_states_batch = rnn_states[indices] - rnn_states_critic_batch = rnn_states_critic[indices] - actions_batch = actions[indices] - if self.available_actions is not None: - available_actions_batch = available_actions[indices] - else: - available_actions_batch = None - value_preds_batch = value_preds[indices] - return_batch = returns[indices] - masks_batch = masks[indices] - active_masks_batch = active_masks[indices] - old_action_log_probs_batch = action_log_probs[indices] - if advantages is None: - adv_targ = None - else: - adv_targ = advantages[indices] - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch, value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch, adv_targ, available_actions_batch - - def naive_recurrent_generator(self, advantages, num_mini_batch): - n_rollout_threads = self.rewards.shape[1] - assert n_rollout_threads >= num_mini_batch, ( - "PPO requires the number of processes ({}) " - "to be greater than or equal to the number of " - "PPO mini batches ({}).".format(n_rollout_threads, num_mini_batch)) - num_envs_per_batch = n_rollout_threads // num_mini_batch - perm = torch.randperm(n_rollout_threads).numpy() - for start_ind in range(0, n_rollout_threads, num_envs_per_batch): - share_obs_batch = [] - obs_batch = [] - rnn_states_batch = [] - rnn_states_critic_batch = [] - actions_batch = [] - available_actions_batch = [] - value_preds_batch = [] - return_batch = [] - masks_batch = [] - active_masks_batch = [] - old_action_log_probs_batch = [] - adv_targ = [] - - for offset in range(num_envs_per_batch): - ind = perm[start_ind + offset] - share_obs_batch.append(self.share_obs[:-1, ind]) - obs_batch.append(self.obs[:-1, ind]) - rnn_states_batch.append(self.rnn_states[0:1, ind]) - rnn_states_critic_batch.append(self.rnn_states_critic[0:1, - ind]) - actions_batch.append(self.actions[:, ind]) - if self.available_actions is not None: - available_actions_batch.append(self.available_actions[:-1, - ind]) - value_preds_batch.append(self.value_preds[:-1, ind]) - return_batch.append(self.returns[:-1, ind]) - masks_batch.append(self.masks[:-1, ind]) - active_masks_batch.append(self.active_masks[:-1, ind]) - old_action_log_probs_batch.append(self.action_log_probs[:, - ind]) - adv_targ.append(advantages[:, ind]) - - # [N[T, dim]] - T, N = self.episode_length, num_envs_per_batch - # These are all from_numpys of size (T, N, -1) - share_obs_batch = np.stack(share_obs_batch, 1) - obs_batch = np.stack(obs_batch, 1) - actions_batch = np.stack(actions_batch, 1) - if self.available_actions is not None: - available_actions_batch = np.stack(available_actions_batch, 1) - value_preds_batch = np.stack(value_preds_batch, 1) - return_batch = np.stack(return_batch, 1) - masks_batch = np.stack(masks_batch, 1) - active_masks_batch = np.stack(active_masks_batch, 1) - old_action_log_probs_batch = np.stack(old_action_log_probs_batch, - 1) - adv_targ = np.stack(adv_targ, 1) - - # States is just a (N, -1) from_numpy [N[1,dim]] - rnn_states_batch = np.stack(rnn_states_batch, - 1).reshape(N, - *self.rnn_states.shape[2:]) - rnn_states_critic_batch = np.stack( - rnn_states_critic_batch, - 1).reshape(N, *self.rnn_states_critic.shape[2:]) - - # Flatten the (T, N, ...) from_numpys to (T * N, ...) - share_obs_batch = _flatten(T, N, share_obs_batch) - obs_batch = _flatten(T, N, obs_batch) - actions_batch = _flatten(T, N, actions_batch) - if self.available_actions is not None: - available_actions_batch = _flatten(T, N, - available_actions_batch) - else: - available_actions_batch = None - value_preds_batch = _flatten(T, N, value_preds_batch) - return_batch = _flatten(T, N, return_batch) - masks_batch = _flatten(T, N, masks_batch) - active_masks_batch = _flatten(T, N, active_masks_batch) - old_action_log_probs_batch = _flatten(T, N, - old_action_log_probs_batch) - adv_targ = _flatten(T, N, adv_targ) - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch, value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch, adv_targ, available_actions_batch - - def recurrent_generator(self, advantages, num_mini_batch, - data_chunk_length): - episode_length, n_rollout_threads = self.rewards.shape[0:2] - batch_size = n_rollout_threads * episode_length - data_chunks = batch_size // data_chunk_length # [C=r*T/L] - mini_batch_size = data_chunks // num_mini_batch - - assert episode_length * n_rollout_threads >= data_chunk_length, ( - "PPO requires the number of processes ({}) * episode length ({}) " - "to be greater than or equal to the number of " - "data chunk length ({}).".format(n_rollout_threads, episode_length, - data_chunk_length)) - assert data_chunks >= 2, ("need larger batch size") - - rand = torch.randperm(data_chunks).numpy() - sampler = [ - rand[i * mini_batch_size:(i + 1) * mini_batch_size] - for i in range(num_mini_batch) - ] - - if len(self.share_obs.shape) > 3: - share_obs = self.share_obs[:-1].transpose(1, 0, 2, 3, 4).reshape( - -1, *self.share_obs.shape[2:]) - obs = self.obs[:-1].transpose(1, 0, 2, 3, - 4).reshape(-1, *self.obs.shape[2:]) - else: - share_obs = _cast(self.share_obs[:-1]) - obs = _cast(self.obs[:-1]) - - actions = _cast(self.actions) - action_log_probs = _cast(self.action_log_probs) - advantages = _cast(advantages) - value_preds = _cast(self.value_preds[:-1]) - returns = _cast(self.returns[:-1]) - masks = _cast(self.masks[:-1]) - active_masks = _cast(self.active_masks[:-1]) - # rnn_states = _cast(self.rnn_states[:-1]) - # rnn_states_critic = _cast(self.rnn_states_critic[:-1]) - rnn_states = self.rnn_states[:-1].transpose(1, 0, 2, 3).reshape( - -1, *self.rnn_states.shape[2:]) - rnn_states_critic = self.rnn_states_critic[:-1].transpose( - 1, 0, 2, 3).reshape(-1, *self.rnn_states_critic.shape[2:]) - - if self.available_actions is not None: - available_actions = _cast(self.available_actions[:-1]) - - for indices in sampler: - share_obs_batch = [] - obs_batch = [] - rnn_states_batch = [] - rnn_states_critic_batch = [] - actions_batch = [] - available_actions_batch = [] - value_preds_batch = [] - return_batch = [] - masks_batch = [] - active_masks_batch = [] - old_action_log_probs_batch = [] - adv_targ = [] - - for index in indices: - ind = index * data_chunk_length - # size [T+1 N M Dim]-->[T N Dim]-->[N T Dim]-->[T*N,Dim]-->[L,Dim] - share_obs_batch.append(share_obs[ind:ind + data_chunk_length]) - obs_batch.append(obs[ind:ind + data_chunk_length]) - actions_batch.append(actions[ind:ind + data_chunk_length]) - if self.available_actions is not None: - available_actions_batch.append( - available_actions[ind:ind + data_chunk_length]) - value_preds_batch.append(value_preds[ind:ind + - data_chunk_length]) - return_batch.append(returns[ind:ind + data_chunk_length]) - masks_batch.append(masks[ind:ind + data_chunk_length]) - active_masks_batch.append(active_masks[ind:ind + - data_chunk_length]) - old_action_log_probs_batch.append( - action_log_probs[ind:ind + data_chunk_length]) - adv_targ.append(advantages[ind:ind + data_chunk_length]) - # size [T+1 N Dim]-->[T N Dim]-->[T*N,Dim]-->[1,Dim] - rnn_states_batch.append(rnn_states[ind]) - rnn_states_critic_batch.append(rnn_states_critic[ind]) - - L, N = data_chunk_length, mini_batch_size - - # These are all from_numpys of size (N, L, Dim) - share_obs_batch = np.stack(share_obs_batch) - obs_batch = np.stack(obs_batch) - - actions_batch = np.stack(actions_batch) - if self.available_actions is not None: - available_actions_batch = np.stack(available_actions_batch) - value_preds_batch = np.stack(value_preds_batch) - return_batch = np.stack(return_batch) - masks_batch = np.stack(masks_batch) - active_masks_batch = np.stack(active_masks_batch) - old_action_log_probs_batch = np.stack(old_action_log_probs_batch) - adv_targ = np.stack(adv_targ) - - # States is just a (N, -1) from_numpy - rnn_states_batch = np.stack(rnn_states_batch).reshape( - N, *self.rnn_states.shape[2:]) - rnn_states_critic_batch = np.stack( - rnn_states_critic_batch).reshape( - N, *self.rnn_states_critic.shape[2:]) - - # Flatten the (L, N, ...) from_numpys to (L * N, ...) - share_obs_batch = _flatten(L, N, share_obs_batch) - obs_batch = _flatten(L, N, obs_batch) - actions_batch = _flatten(L, N, actions_batch) - if self.available_actions is not None: - available_actions_batch = _flatten(L, N, - available_actions_batch) - else: - available_actions_batch = None - value_preds_batch = _flatten(L, N, value_preds_batch) - return_batch = _flatten(L, N, return_batch) - masks_batch = _flatten(L, N, masks_batch) - active_masks_batch = _flatten(L, N, active_masks_batch) - old_action_log_probs_batch = _flatten(L, N, - old_action_log_probs_batch) - adv_targ = _flatten(L, N, adv_targ) - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch, value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch, adv_targ, available_actions_batch diff --git a/algos/ppo/utils/shared_buffer.py b/algos/ppo/utils/shared_buffer.py deleted file mode 100644 index 5bd6c20a..00000000 --- a/algos/ppo/utils/shared_buffer.py +++ /dev/null @@ -1,584 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import torch -import numpy as np -from algos.ppo.utils.util import get_shape_from_obs_space, get_shape_from_act_space - - -def _flatten(T, N, x): - return x.reshape(T * N, *x.shape[2:]) - - -def _cast(x): - return x.transpose(1, 2, 0, 3).reshape(-1, *x.shape[3:]) - - -class SharedReplayBuffer(object): - """ - Buffer to store training data. - :param args: (argparse.Namespace) arguments containing relevant model, policy, and env information. - :param num_agents: (int) number of agents in the env. - :param obs_space: (gym.Space) observation space of agents. - :param cent_obs_space: (gym.Space) centralized observation space of agents. - :param act_space: (gym.Space) action space for agents. - """ - - def __init__(self, args, num_agents, obs_space, cent_obs_space, act_space): - self.episode_length = args.episode_length - self.n_rollout_threads = args.n_rollout_threads - self.hidden_size = args.hidden_size - self.recurrent_N = args.recurrent_N - self.gamma = args.gamma - self.gae_lambda = args.gae_lambda - self._use_gae = args.use_gae - self._use_popart = args.use_popart - self._use_valuenorm = args.use_valuenorm - self._use_proper_time_limits = args.use_proper_time_limits - - obs_shape = get_shape_from_obs_space(obs_space) - share_obs_shape = get_shape_from_obs_space(cent_obs_space) - - if type(obs_shape[-1]) == list: - obs_shape = obs_shape[:1] - - if type(share_obs_shape[-1]) == list: - share_obs_shape = share_obs_shape[:1] - - self.share_obs = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, num_agents, - *share_obs_shape), - dtype=np.float32) - self.obs = np.zeros((self.episode_length + 1, self.n_rollout_threads, - num_agents, *obs_shape), - dtype=np.float32) - - self.rnn_states = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, num_agents, - self.recurrent_N, self.hidden_size), - dtype=np.float32) - self.rnn_states_critic = np.zeros_like(self.rnn_states) - - self.value_preds = np.zeros( - (self.episode_length + 1, self.n_rollout_threads, num_agents, 1), - dtype=np.float32) - self.returns = np.zeros_like(self.value_preds) - - if act_space.__class__.__name__ == 'Discrete': - self.available_actions = np.ones( - (self.episode_length + 1, self.n_rollout_threads, num_agents, - act_space.n), - dtype=np.float32) - else: - self.available_actions = None - - act_shape = get_shape_from_act_space(act_space) - - self.actions = np.zeros((self.episode_length, self.n_rollout_threads, - num_agents, act_shape), - dtype=np.float32) - self.action_log_probs = np.zeros( - (self.episode_length, self.n_rollout_threads, num_agents, - act_shape), - dtype=np.float32) - self.rewards = np.zeros( - (self.episode_length, self.n_rollout_threads, num_agents, 1), - dtype=np.float32) - - self.masks = np.ones( - (self.episode_length + 1, self.n_rollout_threads, num_agents, 1), - dtype=np.float32) - self.bad_masks = np.ones_like(self.masks) - self.active_masks = np.ones_like(self.masks) - - self.step = 0 - - def insert(self, - share_obs, - obs, - rnn_states_actor, - rnn_states_critic, - actions, - action_log_probs, - value_preds, - rewards, - masks, - bad_masks=None, - active_masks=None, - available_actions=None): - """ - Insert data into the buffer. - :param share_obs: (argparse.Namespace) arguments containing relevant model, policy, and env information. - :param obs: (np.ndarray) local agent observations. - :param rnn_states_actor: (np.ndarray) RNN states for actor network. - :param rnn_states_critic: (np.ndarray) RNN states for critic network. - :param actions:(np.ndarray) actions taken by agents. - :param action_log_probs:(np.ndarray) log probs of actions taken by agents - :param value_preds: (np.ndarray) value function prediction at each step. - :param rewards: (np.ndarray) reward collected at each step. - :param masks: (np.ndarray) denotes whether the environment has terminated or not. - :param bad_masks: (np.ndarray) action space for agents. - :param active_masks: (np.ndarray) denotes whether an agent is active or dead in the env. - :param available_actions: (np.ndarray) actions available to each agent. If None, all actions are available. - """ - self.share_obs[self.step + 1] = share_obs.copy() - self.obs[self.step + 1] = obs.copy() - self.rnn_states[self.step + 1] = rnn_states_actor.copy() - self.rnn_states_critic[self.step + 1] = rnn_states_critic.copy() - self.actions[self.step] = actions.copy() - self.action_log_probs[self.step] = action_log_probs.copy() - self.value_preds[self.step] = value_preds.copy() - self.rewards[self.step] = rewards.copy() - self.masks[self.step + 1] = masks.copy() - if bad_masks is not None: - self.bad_masks[self.step + 1] = bad_masks.copy() - if active_masks is not None: - self.active_masks[self.step + 1] = active_masks.copy() - if available_actions is not None: - self.available_actions[self.step + 1] = available_actions.copy() - - self.step = (self.step + 1) % self.episode_length - - def chooseinsert(self, - share_obs, - obs, - rnn_states, - rnn_states_critic, - actions, - action_log_probs, - value_preds, - rewards, - masks, - bad_masks=None, - active_masks=None, - available_actions=None): - """ - Insert data into the buffer. This insert function is used specifically for Hanabi, which is turn based. - :param share_obs: (argparse.Namespace) arguments containing relevant model, policy, and env information. - :param obs: (np.ndarray) local agent observations. - :param rnn_states_actor: (np.ndarray) RNN states for actor network. - :param rnn_states_critic: (np.ndarray) RNN states for critic network. - :param actions:(np.ndarray) actions taken by agents. - :param action_log_probs:(np.ndarray) log probs of actions taken by agents - :param value_preds: (np.ndarray) value function prediction at each step. - :param rewards: (np.ndarray) reward collected at each step. - :param masks: (np.ndarray) denotes whether the environment has terminated or not. - :param bad_masks: (np.ndarray) denotes indicate whether whether true terminal state or due to episode limit - :param active_masks: (np.ndarray) denotes whether an agent is active or dead in the env. - :param available_actions: (np.ndarray) actions available to each agent. If None, all actions are available. - """ - self.share_obs[self.step] = share_obs.copy() - self.obs[self.step] = obs.copy() - self.rnn_states[self.step + 1] = rnn_states.copy() - self.rnn_states_critic[self.step + 1] = rnn_states_critic.copy() - self.actions[self.step] = actions.copy() - self.action_log_probs[self.step] = action_log_probs.copy() - self.value_preds[self.step] = value_preds.copy() - self.rewards[self.step] = rewards.copy() - self.masks[self.step + 1] = masks.copy() - if bad_masks is not None: - self.bad_masks[self.step + 1] = bad_masks.copy() - if active_masks is not None: - self.active_masks[self.step] = active_masks.copy() - if available_actions is not None: - self.available_actions[self.step] = available_actions.copy() - - self.step = (self.step + 1) % self.episode_length - - def after_update(self): - """Copy last timestep data to first index. Called after update to model.""" - self.share_obs[0] = self.share_obs[-1].copy() - self.obs[0] = self.obs[-1].copy() - self.rnn_states[0] = self.rnn_states[-1].copy() - self.rnn_states_critic[0] = self.rnn_states_critic[-1].copy() - self.masks[0] = self.masks[-1].copy() - self.bad_masks[0] = self.bad_masks[-1].copy() - self.active_masks[0] = self.active_masks[-1].copy() - if self.available_actions is not None: - self.available_actions[0] = self.available_actions[-1].copy() - - def chooseafter_update(self): - """Copy last timestep data to first index. This method is used for Hanabi.""" - self.rnn_states[0] = self.rnn_states[-1].copy() - self.rnn_states_critic[0] = self.rnn_states_critic[-1].copy() - self.masks[0] = self.masks[-1].copy() - self.bad_masks[0] = self.bad_masks[-1].copy() - - def compute_returns(self, next_value, value_normalizer=None): - """ - Compute returns either as discounted sum of rewards, or using GAE. - :param next_value: (np.ndarray) value predictions for the step after the last episode step. - :param value_normalizer: (PopArt) If not None, PopArt value normalizer instance. - """ - if self._use_proper_time_limits: - if self._use_gae: - self.value_preds[-1] = next_value - gae = 0 - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart or self._use_valuenorm: - # step + 1 - delta = self.rewards[step] + self.gamma * value_normalizer.denormalize( - self.value_preds[step + 1]) * self.masks[step + 1] \ - - value_normalizer.denormalize(self.value_preds[step]) - gae = delta + self.gamma * self.gae_lambda * gae * self.masks[ - step + 1] - gae = gae * self.bad_masks[step + 1] - self.returns[ - step] = gae + value_normalizer.denormalize( - self.value_preds[step]) - else: - delta = self.rewards[step] + self.gamma * self.value_preds[step + 1] * self.masks[step + 1] - \ - self.value_preds[step] - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - gae = gae * self.bad_masks[step + 1] - self.returns[step] = gae + self.value_preds[step] - else: - self.returns[-1] = next_value - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart or self._use_valuenorm: - self.returns[step] = (self.returns[step + 1] * self.gamma * self.masks[step + 1] + self.rewards[ - step]) * self.bad_masks[step + 1] \ - + (1 - self.bad_masks[step + 1]) * value_normalizer.denormalize( - self.value_preds[step]) - else: - self.returns[step] = (self.returns[step + 1] * self.gamma * self.masks[step + 1] + self.rewards[ - step]) * self.bad_masks[step + 1] \ - + (1 - self.bad_masks[step + 1]) * self.value_preds[step] - else: - if self._use_gae: - self.value_preds[-1] = next_value - gae = 0 - for step in reversed(range(self.rewards.shape[0])): - if self._use_popart or self._use_valuenorm: - delta = self.rewards[step] + self.gamma * value_normalizer.denormalize( - self.value_preds[step + 1]) * self.masks[step + 1] \ - - value_normalizer.denormalize(self.value_preds[step]) - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - self.returns[ - step] = gae + value_normalizer.denormalize( - self.value_preds[step]) - else: - delta = self.rewards[step] + self.gamma * self.value_preds[step + 1] * self.masks[step + 1] - \ - self.value_preds[step] - gae = delta + self.gamma * self.gae_lambda * self.masks[ - step + 1] * gae - self.returns[step] = gae + self.value_preds[step] - else: - self.returns[-1] = next_value - for step in reversed(range(self.rewards.shape[0])): - self.returns[step] = self.returns[ - step + 1] * self.gamma * self.masks[ - step + 1] + self.rewards[step] - - def feed_forward_generator(self, - advantages, - num_mini_batch=None, - mini_batch_size=None): - """ - Yield training data for MLP policies. - :param advantages: (np.ndarray) advantage estimates. - :param num_mini_batch: (int) number of minibatches to split the batch into. - :param mini_batch_size: (int) number of samples in each minibatch. - """ - episode_length, n_rollout_threads, num_agents = self.rewards.shape[0:3] - batch_size = n_rollout_threads * episode_length * num_agents - - if mini_batch_size is None: - assert batch_size >= num_mini_batch, ( - "PPO requires the number of processes ({}) " - "* number of steps ({}) * number of agents ({}) = {} " - "to be greater than or equal to the number of PPO mini batches ({})." - "".format(n_rollout_threads, episode_length, num_agents, - n_rollout_threads * episode_length * num_agents, - num_mini_batch)) - mini_batch_size = batch_size // num_mini_batch - - rand = torch.randperm(batch_size).numpy() - sampler = [ - rand[i * mini_batch_size:(i + 1) * mini_batch_size] - for i in range(num_mini_batch) - ] - - share_obs = self.share_obs[:-1].reshape(-1, *self.share_obs.shape[3:]) - obs = self.obs[:-1].reshape(-1, *self.obs.shape[3:]) - rnn_states = self.rnn_states[:-1].reshape(-1, - *self.rnn_states.shape[3:]) - rnn_states_critic = self.rnn_states_critic[:-1].reshape( - -1, *self.rnn_states_critic.shape[3:]) - actions = self.actions.reshape(-1, self.actions.shape[-1]) - if self.available_actions is not None: - available_actions = self.available_actions[:-1].reshape( - -1, self.available_actions.shape[-1]) - value_preds = self.value_preds[:-1].reshape(-1, 1) - returns = self.returns[:-1].reshape(-1, 1) - masks = self.masks[:-1].reshape(-1, 1) - active_masks = self.active_masks[:-1].reshape(-1, 1) - action_log_probs = self.action_log_probs.reshape( - -1, self.action_log_probs.shape[-1]) - advantages = advantages.reshape(-1, 1) - - for indices in sampler: - # obs size [T+1 N M Dim]-->[T N M Dim]-->[T*N*M,Dim]-->[index,Dim] - share_obs_batch = share_obs[indices] - obs_batch = obs[indices] - rnn_states_batch = rnn_states[indices] - rnn_states_critic_batch = rnn_states_critic[indices] - actions_batch = actions[indices] - if self.available_actions is not None: - available_actions_batch = available_actions[indices] - else: - available_actions_batch = None - value_preds_batch = value_preds[indices] - return_batch = returns[indices] - masks_batch = masks[indices] - active_masks_batch = active_masks[indices] - old_action_log_probs_batch = action_log_probs[indices] - if advantages is None: - adv_targ = None - else: - adv_targ = advantages[indices] - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch,\ - value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch,\ - adv_targ, available_actions_batch - - def naive_recurrent_generator(self, advantages, num_mini_batch): - """ - Yield training data for non-chunked RNN training. - :param advantages: (np.ndarray) advantage estimates. - :param num_mini_batch: (int) number of minibatches to split the batch into. - """ - episode_length, n_rollout_threads, num_agents = self.rewards.shape[0:3] - batch_size = n_rollout_threads * num_agents - assert n_rollout_threads * num_agents >= num_mini_batch, ( - "PPO requires the number of processes ({})* number of agents ({}) " - "to be greater than or equal to the number of " - "PPO mini batches ({}).".format(n_rollout_threads, num_agents, - num_mini_batch)) - num_envs_per_batch = batch_size // num_mini_batch - perm = torch.randperm(batch_size).numpy() - - share_obs = self.share_obs.reshape(-1, batch_size, - *self.share_obs.shape[3:]) - obs = self.obs.reshape(-1, batch_size, *self.obs.shape[3:]) - rnn_states = self.rnn_states.reshape(-1, batch_size, - *self.rnn_states.shape[3:]) - rnn_states_critic = self.rnn_states_critic.reshape( - -1, batch_size, *self.rnn_states_critic.shape[3:]) - actions = self.actions.reshape(-1, batch_size, self.actions.shape[-1]) - if self.available_actions is not None: - available_actions = self.available_actions.reshape( - -1, batch_size, self.available_actions.shape[-1]) - value_preds = self.value_preds.reshape(-1, batch_size, 1) - returns = self.returns.reshape(-1, batch_size, 1) - masks = self.masks.reshape(-1, batch_size, 1) - active_masks = self.active_masks.reshape(-1, batch_size, 1) - action_log_probs = self.action_log_probs.reshape( - -1, batch_size, self.action_log_probs.shape[-1]) - advantages = advantages.reshape(-1, batch_size, 1) - - for start_ind in range(0, batch_size, num_envs_per_batch): - share_obs_batch = [] - obs_batch = [] - rnn_states_batch = [] - rnn_states_critic_batch = [] - actions_batch = [] - available_actions_batch = [] - value_preds_batch = [] - return_batch = [] - masks_batch = [] - active_masks_batch = [] - old_action_log_probs_batch = [] - adv_targ = [] - - for offset in range(num_envs_per_batch): - ind = perm[start_ind + offset] - share_obs_batch.append(share_obs[:-1, ind]) - obs_batch.append(obs[:-1, ind]) - rnn_states_batch.append(rnn_states[0:1, ind]) - rnn_states_critic_batch.append(rnn_states_critic[0:1, ind]) - actions_batch.append(actions[:, ind]) - if self.available_actions is not None: - available_actions_batch.append(available_actions[:-1, ind]) - value_preds_batch.append(value_preds[:-1, ind]) - return_batch.append(returns[:-1, ind]) - masks_batch.append(masks[:-1, ind]) - active_masks_batch.append(active_masks[:-1, ind]) - old_action_log_probs_batch.append(action_log_probs[:, ind]) - adv_targ.append(advantages[:, ind]) - - # [N[T, dim]] - T, N = self.episode_length, num_envs_per_batch - # These are all from_numpys of size (T, N, -1) - share_obs_batch = np.stack(share_obs_batch, 1) - obs_batch = np.stack(obs_batch, 1) - actions_batch = np.stack(actions_batch, 1) - if self.available_actions is not None: - available_actions_batch = np.stack(available_actions_batch, 1) - value_preds_batch = np.stack(value_preds_batch, 1) - return_batch = np.stack(return_batch, 1) - masks_batch = np.stack(masks_batch, 1) - active_masks_batch = np.stack(active_masks_batch, 1) - old_action_log_probs_batch = np.stack(old_action_log_probs_batch, - 1) - adv_targ = np.stack(adv_targ, 1) - - # States is just a (N, dim) from_numpy [N[1,dim]] - rnn_states_batch = np.stack(rnn_states_batch).reshape( - N, *self.rnn_states.shape[3:]) - rnn_states_critic_batch = np.stack( - rnn_states_critic_batch).reshape( - N, *self.rnn_states_critic.shape[3:]) - - # Flatten the (T, N, ...) from_numpys to (T * N, ...) - share_obs_batch = _flatten(T, N, share_obs_batch) - obs_batch = _flatten(T, N, obs_batch) - actions_batch = _flatten(T, N, actions_batch) - if self.available_actions is not None: - available_actions_batch = _flatten(T, N, - available_actions_batch) - else: - available_actions_batch = None - value_preds_batch = _flatten(T, N, value_preds_batch) - return_batch = _flatten(T, N, return_batch) - masks_batch = _flatten(T, N, masks_batch) - active_masks_batch = _flatten(T, N, active_masks_batch) - old_action_log_probs_batch = _flatten(T, N, - old_action_log_probs_batch) - adv_targ = _flatten(T, N, adv_targ) - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch,\ - value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch,\ - adv_targ, available_actions_batch - - def recurrent_generator(self, advantages, num_mini_batch, - data_chunk_length): - """ - Yield training data for chunked RNN training. - :param advantages: (np.ndarray) advantage estimates. - :param num_mini_batch: (int) number of minibatches to split the batch into. - :param data_chunk_length: (int) length of sequence chunks with which to train RNN. - """ - episode_length, n_rollout_threads, num_agents = self.rewards.shape[0:3] - batch_size = n_rollout_threads * episode_length * num_agents - data_chunks = batch_size // data_chunk_length # [C=r*T*M/L] - mini_batch_size = data_chunks // num_mini_batch - - rand = torch.randperm(data_chunks).numpy() - sampler = [ - rand[i * mini_batch_size:(i + 1) * mini_batch_size] - for i in range(num_mini_batch) - ] - - if len(self.share_obs.shape) > 4: - share_obs = self.share_obs[:-1].transpose( - 1, 2, 0, 3, 4, 5).reshape(-1, *self.share_obs.shape[3:]) - obs = self.obs[:-1].transpose(1, 2, 0, 3, 4, - 5).reshape(-1, *self.obs.shape[3:]) - else: - share_obs = _cast(self.share_obs[:-1]) - obs = _cast(self.obs[:-1]) - - actions = _cast(self.actions) - action_log_probs = _cast(self.action_log_probs) - advantages = _cast(advantages) - value_preds = _cast(self.value_preds[:-1]) - returns = _cast(self.returns[:-1]) - masks = _cast(self.masks[:-1]) - active_masks = _cast(self.active_masks[:-1]) - # rnn_states = _cast(self.rnn_states[:-1]) - # rnn_states_critic = _cast(self.rnn_states_critic[:-1]) - rnn_states = self.rnn_states[:-1].transpose(1, 2, 0, 3, 4).reshape( - -1, *self.rnn_states.shape[3:]) - rnn_states_critic = self.rnn_states_critic[:-1].transpose( - 1, 2, 0, 3, 4).reshape(-1, *self.rnn_states_critic.shape[3:]) - - if self.available_actions is not None: - available_actions = _cast(self.available_actions[:-1]) - - for indices in sampler: - share_obs_batch = [] - obs_batch = [] - rnn_states_batch = [] - rnn_states_critic_batch = [] - actions_batch = [] - available_actions_batch = [] - value_preds_batch = [] - return_batch = [] - masks_batch = [] - active_masks_batch = [] - old_action_log_probs_batch = [] - adv_targ = [] - - for index in indices: - - ind = index * data_chunk_length - # size [T+1 N M Dim]-->[T N M Dim]-->[N,M,T,Dim]-->[N*M*T,Dim]-->[L,Dim] - share_obs_batch.append(share_obs[ind:ind + data_chunk_length]) - obs_batch.append(obs[ind:ind + data_chunk_length]) - actions_batch.append(actions[ind:ind + data_chunk_length]) - if self.available_actions is not None: - available_actions_batch.append( - available_actions[ind:ind + data_chunk_length]) - value_preds_batch.append(value_preds[ind:ind + - data_chunk_length]) - return_batch.append(returns[ind:ind + data_chunk_length]) - masks_batch.append(masks[ind:ind + data_chunk_length]) - active_masks_batch.append(active_masks[ind:ind + - data_chunk_length]) - old_action_log_probs_batch.append( - action_log_probs[ind:ind + data_chunk_length]) - adv_targ.append(advantages[ind:ind + data_chunk_length]) - # size [T+1 N M Dim]-->[T N M Dim]-->[N M T Dim]-->[N*M*T,Dim]-->[1,Dim] - rnn_states_batch.append(rnn_states[ind]) - rnn_states_critic_batch.append(rnn_states_critic[ind]) - - L, N = data_chunk_length, mini_batch_size - - # These are all from_numpys of size (L, N, Dim) - share_obs_batch = np.stack(share_obs_batch, axis=1) - obs_batch = np.stack(obs_batch, axis=1) - - actions_batch = np.stack(actions_batch, axis=1) - if self.available_actions is not None: - available_actions_batch = np.stack(available_actions_batch, - axis=1) - value_preds_batch = np.stack(value_preds_batch, axis=1) - return_batch = np.stack(return_batch, axis=1) - masks_batch = np.stack(masks_batch, axis=1) - active_masks_batch = np.stack(active_masks_batch, axis=1) - old_action_log_probs_batch = np.stack(old_action_log_probs_batch, - axis=1) - adv_targ = np.stack(adv_targ, axis=1) - - # States is just a (N, -1) from_numpy - rnn_states_batch = np.stack(rnn_states_batch).reshape( - N, *self.rnn_states.shape[3:]) - rnn_states_critic_batch = np.stack( - rnn_states_critic_batch).reshape( - N, *self.rnn_states_critic.shape[3:]) - - # Flatten the (L, N, ...) from_numpys to (L * N, ...) - share_obs_batch = _flatten(L, N, share_obs_batch) - obs_batch = _flatten(L, N, obs_batch) - actions_batch = _flatten(L, N, actions_batch) - if self.available_actions is not None: - available_actions_batch = _flatten(L, N, - available_actions_batch) - else: - available_actions_batch = None - value_preds_batch = _flatten(L, N, value_preds_batch) - return_batch = _flatten(L, N, return_batch) - masks_batch = _flatten(L, N, masks_batch) - active_masks_batch = _flatten(L, N, active_masks_batch) - old_action_log_probs_batch = _flatten(L, N, - old_action_log_probs_batch) - adv_targ = _flatten(L, N, adv_targ) - - yield share_obs_batch, obs_batch, rnn_states_batch, rnn_states_critic_batch, actions_batch,\ - value_preds_batch, return_batch, masks_batch, active_masks_batch, old_action_log_probs_batch,\ - adv_targ, available_actions_batch diff --git a/algos/ppo/utils/util.py b/algos/ppo/utils/util.py deleted file mode 100644 index 7e23b9ea..00000000 --- a/algos/ppo/utils/util.py +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import numpy as np -import math -import torch - - -def check(input): - if type(input) == np.ndarray: - return torch.from_numpy(input) - - -def get_gard_norm(it): - sum_grad = 0 - for x in it: - if x.grad is None: - continue - sum_grad += x.grad.norm()**2 - return math.sqrt(sum_grad) - - -def update_linear_schedule(optimizer, epoch, total_num_epochs, initial_lr): - """Decreases the learning rate linearly""" - lr = initial_lr - (initial_lr * (epoch / float(total_num_epochs))) - for param_group in optimizer.param_groups: - param_group['lr'] = lr - - -def huber_loss(e, d): - a = (abs(e) <= d).float() - b = (e > d).float() - return a * e**2 / 2 + b * d * (abs(e) - d / 2) - - -def mse_loss(e): - return e**2 / 2 - - -def get_shape_from_obs_space(obs_space): - if obs_space.__class__.__name__ == 'Box': - obs_shape = obs_space.shape - elif obs_space.__class__.__name__ == 'list': - obs_shape = obs_space - else: - raise NotImplementedError - return obs_shape - - -def get_shape_from_act_space(act_space): - if act_space.__class__.__name__ == 'Discrete': - act_shape = 1 - elif act_space.__class__.__name__ == "MultiDiscrete": - act_shape = act_space.shape - elif act_space.__class__.__name__ == "Box": - act_shape = act_space.shape[0] - elif act_space.__class__.__name__ == "MultiBinary": - act_shape = act_space.shape[0] - else: # agar - act_shape = act_space[0].shape[0] + 1 - return act_shape - - -def tile_images(img_nhwc): - """ - Tile N images into one big PxQ image - (P,Q) are chosen to be as close as possible, and if N - is square, then P=Q. - input: img_nhwc, list or array of images, ndim=4 once turned into array - n = batch index, h = height, w = width, c = channel - returns: - bigim_HWc, ndarray with ndim=3 - """ - img_nhwc = np.asarray(img_nhwc) - N, h, w, c = img_nhwc.shape - H = int(np.ceil(np.sqrt(N))) - W = int(np.ceil(float(N) / H)) - img_nhwc = np.array( - list(img_nhwc) + [img_nhwc[0] * 0 for _ in range(N, H * W)]) - img_HWhwc = img_nhwc.reshape(H, W, h, w, c) - img_HhWwc = img_HWhwc.transpose(0, 2, 1, 3, 4) - img_Hh_Ww_c = img_HhWwc.reshape(H * h, W * w, c) - return img_Hh_Ww_c diff --git a/algos/ppo/utils/valuenorm.py b/algos/ppo/utils/valuenorm.py deleted file mode 100644 index 76df255d..00000000 --- a/algos/ppo/utils/valuenorm.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -import numpy as np - -import torch -import torch.nn as nn - - -class ValueNorm(nn.Module): - """ Normalize a vector of observations - across the first norm_axes dimensions""" - - def __init__(self, - input_shape, - norm_axes=1, - beta=0.99999, - per_element_update=False, - epsilon=1e-5, - device=torch.device("cpu")): - super(ValueNorm, self).__init__() - - self.input_shape = input_shape - self.norm_axes = norm_axes - self.epsilon = epsilon - self.beta = beta - self.per_element_update = per_element_update - self.tpdv = dict(dtype=torch.float32, device=device) - - self.running_mean = nn.Parameter(torch.zeros(input_shape), - requires_grad=False).to(**self.tpdv) - self.running_mean_sq = nn.Parameter( - torch.zeros(input_shape), requires_grad=False).to(**self.tpdv) - self.debiasing_term = nn.Parameter(torch.tensor(0.0), - requires_grad=False).to(**self.tpdv) - - self.reset_parameters() - - def reset_parameters(self): - self.running_mean.zero_() - self.running_mean_sq.zero_() - self.debiasing_term.zero_() - - def running_mean_var(self): - debiased_mean = self.running_mean / self.debiasing_term.clamp( - min=self.epsilon) - debiased_mean_sq = self.running_mean_sq / self.debiasing_term.clamp( - min=self.epsilon) - debiased_var = (debiased_mean_sq - debiased_mean**2).clamp(min=1e-2) - return debiased_mean, debiased_var - - @torch.no_grad() - def update(self, input_vector): - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - batch_mean = input_vector.mean(dim=tuple(range(self.norm_axes))) - batch_sq_mean = (input_vector**2).mean( - dim=tuple(range(self.norm_axes))) - - if self.per_element_update: - batch_size = np.prod(input_vector.size()[:self.norm_axes]) - weight = self.beta**batch_size - else: - weight = self.beta - - self.running_mean.mul_(weight).add_(batch_mean * (1.0 - weight)) - self.running_mean_sq.mul_(weight).add_(batch_sq_mean * (1.0 - weight)) - self.debiasing_term.mul_(weight).add_(1.0 * (1.0 - weight)) - - def normalize(self, input_vector): - # Make sure input is float32 - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - mean, var = self.running_mean_var() - out = (input_vector - mean[(None, ) * self.norm_axes] - ) / torch.sqrt(var)[(None, ) * self.norm_axes] - - return out - - def denormalize(self, input_vector): - """ Transform normalized data back into original distribution """ - if type(input_vector) == np.ndarray: - input_vector = torch.from_numpy(input_vector) - input_vector = input_vector.to(**self.tpdv) - - mean, var = self.running_mean_var() - out = input_vector * torch.sqrt(var)[(None, ) * self.norm_axes] + mean[ - (None, ) * self.norm_axes] - - out = out.cpu().numpy() - - return out From f3ddc716a3f49ae2d15cee72d079ac7895ada59a Mon Sep 17 00:00:00 2001 From: Daphne Date: Sat, 30 Sep 2023 16:57:37 -0400 Subject: [PATCH 02/40] Clean-up: remove algo configs --- cfgs/algorithm/APPO.yaml | 208 ------------------------------------- cfgs/algorithm/ppo.yaml | 81 --------------- cfgs/imitation/config.yaml | 42 -------- 3 files changed, 331 deletions(-) delete mode 100644 cfgs/algorithm/APPO.yaml delete mode 100644 cfgs/algorithm/ppo.yaml delete mode 100644 cfgs/imitation/config.yaml diff --git a/cfgs/algorithm/APPO.yaml b/cfgs/algorithm/APPO.yaml deleted file mode 100644 index 5c83b6e5..00000000 --- a/cfgs/algorithm/APPO.yaml +++ /dev/null @@ -1,208 +0,0 @@ -algo: APPO -experiments_root: null - # If not None, store experiment data in the specified subfolder of train_dir. Useful for groups of experiments (e.g. gridsearch) (default: None) -train_dir: null - # Root for all experiments (default: /private/home/eugenevinitsky/Code/nocturne/examples/train_dir) - # if null use the hydra default position -device: gpu # CPU training is only recommended for smaller e.g. MLP policies (default: gpu) -save_every_sec: 120 # Checkpointing rate (default: 120) -keep_checkpoints: 3 #Number of model checkpoints to keep (default: 3) -save_milestones_sec: -1 #Save intermediate checkpoints in a separate folder for later evaluation (default=never) (default: -1) -stats_avg: 100 #How many episodes to average to measure performance (avg. reward etc) (default: 100) -learning_rate: 0.0001 # LR (default: 0.0001) -train_for_env_steps: 3000000000 # Stop after all policies are trained for this many env steps (default: 10000000000) -train_for_seconds: 10000000000 #Stop training after this many seconds (default: 10000000000) -lr_schedule: constant #Learning rate schedule to use. Constant keeps constant learning rate throughout training. - # kl_adaptive* schedulers look at --lr_schedule_kl_threshold and if KL-divergence with behavior policy' - # after the last minibatch/epoch significantly deviates from this threshold, lr is apropriately' - # increased or decreased - # options are 'constant', 'kl_adaptive_minibatch', 'kl_adaptive_epoch' -lr_schedule_kl_threshold: 0.008 #Used with kl_adaptive_* schedulers -obs_subtract_mean: 0.0 # Observation preprocessing, mean value to subtract from observation (e.g. 128.0 for 8-bit RGB) (default: 0.0) -obs_scale: 10.0 # Observation preprocessing, divide observation tensors by this scalar (e.g. 128.0 for 8-bit RGB) (default: 1.0) -gamma: 0.99 # Discount factor (default: 0.99) -reward_scale: 1.0 - # Multiply all rewards by this factor before feeding into RL algorithm.Sometimes the overall scale of rewards is too high which makes value estimation a - # harder regression task.Loss values become too high which requires a smaller learning rate, etc. (default: 1.0) -reward_clip: 10.0 # Clip rewards between [-c, c]. Default [-10, 10] virtually means no clipping for most envs (default: 10.0) -encoder_type: mlp # Type of the encoder. Supported: conv, mlp, resnet (feel free to define more) (default: conv) -encoder_subtype: mlp_mujoco # Specific encoder design (see model.py) (default: convnet_simple) -encoder_custom: custom_env_encoder # Use custom encoder class from the registry (see model_utils.py) (default: null, options {null, custom_env_encoder}) -encoder_extra_fc_layers: 1 # Number of fully-connected layers of size "hidden size" to add after the basic encoder (e.g. convolutional) (default: 1) -encoder_hidden_size: 256 -hidden_size: 256 # Size of hidden layer in the model, or the size of RNN hidden state in recurrent model (e.g. GRU) (default: 128) -nonlinearity: tanh # {elu,relu,tanh} - # Type of nonlinearity to use (default: elu) -policy_initialization: orthogonal # {orthogonal,xavier_uniform} - # NN weight initialization (default: orthogonal) -policy_init_gain: 1.0 # Gain parameter of PyTorch initialization schemas (i.e. Xavier) (default: 1.0) -actor_critic_share_weights: True # Whether to share the weights between policy and value function (default: True) -use_spectral_norm: False # Use spectral normalization to smoothen the gradients and stabilize training. Only supports fully connected layers (default: False) -adaptive_stddev: True # Only for continuous action distributions, whether stddev is state-dependent or just a single learned parameter (default: True) -initial_stddev: 1.0 # Initial value for non-adaptive stddev. Only makes sense for continuous action spaces (default: 1.0) -experiment_summaries_interval: 20 # How often in seconds we write avg. statistics about the experiment (reward, episode length, extra stats...) (default: 20) -adam_eps: 1e-06 # Adam epsilon parameter (1e-8 to 1e-5 seem to reliably work okay, 1e-3 and up does not work) (default: 1e-06) -adam_beta1: 0.9 # Adam momentum decay coefficient (default: 0.9) -adam_beta2: 0.999 # Adam second momentum decay coefficient (default: 0.999) -gae_lambda: 0.95 # Generalized Advantage Estimation discounting (only used when V-trace is False (default: 0.95) -rollout: 20 -# Length of the rollout from each environment in timesteps.Once we collect this many timesteps on actor worker, we send this trajectory to the learner.The -# length of the rollout will determine how many timesteps are used to calculate bootstrappedMonte-Carlo estimates of discounted rewards, advantages, GAE, -# or V-trace targets. Shorter rolloutsreduce variance, but the estimates are less precise (bias vs variance tradeoff).For RNN policies, this should be a -# multiple of --recurrence, so every rollout will be splitinto (n = rollout / recurrence) segments for backpropagation. V-trace algorithm currently -# requires thatrollout == recurrence, which what you want most of the time anyway.Rollout length is independent from the episode length. Episode length -# can be both shorter or longer thanrollout, although for PBT training it is currently recommended that rollout << episode_len(see function -# finalize_trajectory in actor_worker.py) (default: 32) -num_workers: 80 # Number of parallel environment workers. Should be less than num_envs and should divide num_envs (default: 80) -recurrence: 20 # Trajectory length for backpropagation through time. If recurrence=1 there is no backpropagation through time, and experience is shuffled completely - # randomlyFor V-trace recurrence should be equal to rollout length. (default: 32) -use_rnn: True # Whether to use RNN core in a policy or not (default: True) -rnn_type: gru # {gru,lstm} - # Type of RNN cell to use if use_rnn is True (default: gru) -rnn_num_layers: 1 # Number of RNN layers to use if use_rnn is True (default: 1) -ppo_clip_ratio: 0.1 # We use unbiased clip(x, 1+e, 1/(1+e)) instead of clip(x, 1+e, 1-e) in the paper (default: 0.1) -ppo_clip_value: 1.0 # Maximum absolute change in value estimate until it is clipped. Sensitive to value magnitude (default: 1.0) -batch_size: 7180 # Minibatch size for SGD (default: 1024) -num_batches_per_iteration: 1 -# How many minibatches we collect before training on the collected experience. It is generally recommended to set this to 1 for most experiments, because -# any higher value will increase the policy lag.But in some specific circumstances it can be beneficial to have a larger macro-batch in order to shuffle -# and decorrelate the minibatches.Here and throughout the codebase: macro batch is the portion of experience that learner processes per iteration -# (consisting of 1 or several minibatches) (default: 1) -ppo_epochs: 1 # Number of training epochs before a new batch of experience is collected (default: 1) -num_minibatches_to_accumulate: -1 -# This parameter governs the maximum number of minibatches the learner can accumulate before further experience collection is stopped.The default value -# (-1) will set this to 2 * num_batches_per_iteration, so if the experience collection is faster than the training,the learner will accumulate enough -# minibatches for 2 iterations of training (but no more). This is a good balance between policy-lag and throughput.When the limit is reached, the learner -# will notify the actor workers that they ought to stop the experience collection until accumulated minibatchesare processed. Set this parameter to 1 * -# num_batches_per_iteration to further reduce policy-lag.If the experience collection is very non-uniform, increasing this parameter can increase overall -# throughput, at the cost of increased policy-lag.A value of 0 is treated specially. This means the experience accumulation is turned off, and all -# experience collection will be halted during training.This is the regime with potentially lowest policy-lag.When this parameter is 0 and num_workers * -# num_envs_per_worker * rollout == num_batches_per_iteration * batch_size, the algorithm is similar toregular synchronous PPO. (default: -1) -max_grad_norm: 4.0 # Max L2 norm of the gradient vector (default: 4.0) -exploration_loss_coeff: 0.001 # Coefficient for the exploration component of the loss function. (default: 0.001) -value_loss_coeff: 0.5 # Coefficient for the critic loss (default: 0.5) -kl_loss_coeff: 0.0 #Coefficient for fixed KL loss (as used by Schulman et al. in https://arxiv.org/pdf/1707.06347.pdf). Highly recommended for environments with continuous - # action spaces. (default: 0.0) -exploration_loss: entropy - # {entropy,symmetric_kl} - # Usually the exploration loss is based on maximizing the entropy of the probability distribution. Note that mathematically maximizing entropy of the - # categorical probability distribution is exactly the same as minimizing the (regular) KL-divergence between this distribution and a uniform prior. The - # downside of using the entropy term (or regular asymmetric KL-divergence) is the fact that penalty does not increase as probabilities of some actions - # approach zero. I.e. numerically, there is almost no difference between an action distribution with a probability epsilon > 0 for some action and an - # action distribution with a probability = zero for this action. For many tasks the first (epsilon) distribution is preferrable because we keep some - # (albeit small) amount of exploration, while the second distribution will never explore this action ever again.Unlike the entropy term, symmetric KL - # divergence between the action distribution and a uniform prior approaches infinity when entropy of the distribution approaches zero, so it can prevent - # the pathological situations where the agent stops exploring. Empirically, symmetric KL-divergence yielded slightly better results on some problems. - # (default: entropy) -max_entropy_coeff: 0.0, # Coefficient for max entropy term added directly to rewards. 0 means no max entropy term to env rewards. ' - # Note that this is different from exploration loss (see https://arxiv.org/abs/1805.00909)' -num_envs_per_worker: 2 - # Number of envs on a single CPU actor, in high-throughput configurations this should be in 10-30 range for Atari/VizDoomMust be even for double-buffered - # sampling! (default: 2) -worker_num_splits: 2 - # Typically we split a vector of envs into two parts for "double buffered" experience collectionSet this to 1 to disable double buffering. Set this to 3 - # for triple buffering! (default: 2) -num_policies: 1 - # Number of policies to train jointly (default: 1) -policy_workers_per_policy: 1 - # Number of policy workers that compute forward pass (per policy) (default: 1) -max_policy_lag: 10000 - # Max policy lag in policy versions. Discard all experience that is older than this. This should be increased for configurations with multiple epochs of - # SGD because naturallypolicy-lag may exceed this value. (default: 10000) -traj_buffers_excess_ratio: 1.3 - # Increase this value to make sure the system always has enough free trajectory buffers (can be useful when i.e. a lot of inactive agents in multi-agent - # envs)Decrease this to 1.0 to save as much RAM as possible. (default: 1.3) -decorrelate_experience_max_seconds: 10 - # Decorrelating experience serves two benefits. First: this is better for learning because samples from workers come from random moments in the episode, - # becoming more "i.i.d".Second, and more important one: this is good for environments with highly non-uniform one-step times, including long and expensive - # episode resets. If experience is not decorrelatedthen training batches will come in bursts e.g. after a bunch of environments finished resets and many - # iterations on the learner might be required,which will increase the policy-lag of the new experience collected. The performance of the Sample Factory is - # best when experience is generated as more-or-lessuniform stream. Try increasing this to 100-200 seconds to smoothen the experience distribution in time - # right from the beginning (it will eventually spread out and settle anyway) (default: 10) -decorrelate_envs_on_one_worker: True - # In addition to temporal decorrelation of worker processes, also decorrelate envs within one worker processFor environments with a fixed episode length - # it can prevent the reset from happening in the same rollout for all envs simultaneously, which makes experience collection more uniform. (default: True) -with_vtrace: True - # Enables V-trace off-policy correction. If this is True, then GAE is not used (default: True) -vtrace_rho: 1.0 - # rho_hat clipping parameter of the V-trace algorithm (importance sampling truncation) (default: 1.0) -vtrace_c: 1.0 - # c_hat clipping parameter of the V-trace algorithm. Low values for c_hat can reduce variance of the advantage estimates (similar to GAE lambda < 1) - # (default: 1.0) -set_workers_cpu_affinity: True - # Whether to assign workers to specific CPU cores or not. The logic is beneficial for most workloads because prevents a lot of context switching.However - # for some environments it can be better to disable it, to allow one worker to use all cores some of the time. This can be the case for some DMLab - # environments with very expensive episode resetthat can use parallel CPU cores for level generation. (default: True) -force_envs_single_thread: True - # Some environments may themselves use parallel libraries such as OpenMP or MKL. Since we parallelize environments on the level of workers, there is no - # need to keep this parallel semantic.This flag uses threadpoolctl to force libraries such as OpenMP and MKL to use only a single thread within the - # environment.Default value (True) is recommended unless you are running fewer workers than CPU cores. (default: True) -reset_timeout_seconds: 120 - # Fail worker on initialization if not a single environment was reset in this time (worker probably got stuck) (default: 120) -default_niceness: 0 - # Niceness of the highest priority process (the learner). Values below zero require elevated privileges. (default: 0) -train_in_background_thread: True - # Using background thread for training is faster and allows preparing the next batch while training is in progress.Unfortunately debugging can become very - # tricky in this case. So there is an option to use only a single thread on the learner to simplify the debugging. (default: True) -learner_main_loop_num_cores: 1 - # When batching on the learner is the bottleneck, increasing the number of cores PyTorch uses can improve the performance (default: 1) -actor_worker_gpus: [] - # [ACTOR_WORKER_GPUS [ACTOR_WORKER_GPUS ...]] - # By default, actor workers only use CPUs. Changes this if e.g. you need GPU-based rendering on the actors (default: []) -with_pbt: False # Enables population-based training basic features (default: False) -pbt_mix_policies_in_one_env: True - # For multi-agent envs, whether we mix different policies in one env. (default: True) -pbt_period_env_steps: 5000000 - # Periodically replace the worst policies with the best ones and perturb the hyperparameters (default: 5000000) -pbt_start_mutation: 20000000 - # Allow initial diversification, start PBT after this many env steps (default: 20000000) -pbt_replace_fraction: 0.3 - # A portion of policies performing worst to be replace by better policies (rounded up) (default: 0.3) -pbt_mutation_rate: 0.15 - # Probability that a parameter mutates (default: 0.15) -pbt_replace_reward_gap: 0.1 - # Relative gap in true reward when replacing weights of the policy with a better performing one (default: 0.1) -pbt_replace_reward_gap_absolute: 1e-06 - # Absolute gap in true reward when replacing weights of the policy with a better performing one (default: 1e-06) -pbt_optimize_batch_size: False - # Whether to optimize batch size or not (experimental) (default: False) -pbt_optimize_gamma: False - # Whether to optimize gamma, discount factor, or not (experimental) (default: False) -pbt_target_objective: true_reward - # Policy stat to optimize with PBT. true_reward (default) is equal to raw env reward if not specified, but can also be any other per-policy stat.For - # DMlab-30 use value "dmlab_target_objective" (which is capped human normalized score) (default: true_reward) -pbt_perturb_min: 1.05 - # When PBT mutates a float hyperparam, it samples the change magnitude randomly from the uniform distribution [pbt_perturb_min, pbt_perturb_max] (default: - # 1.05) -pbt_perturb_max: 1.5 - # When PBT mutates a float hyperparam, it samples the change magnitude randomly from the uniform distribution [pbt_perturb_min, pbt_perturb_max] (default: - # 1.5) -use_cpc: False # Use CPC|A as an auxiliary loss durning learning (default: False) -cpc_forward_steps: 8 - # Number of forward prediction steps for CPC (default: 8) -cpc_time_subsample: 6 - # Number of timesteps to sample from each batch. This should be less than recurrence to decorrelate experience. (default: 6) -cpc_forward_subsample: 2 - # Number of forward steps to sample for loss computation. This should be less than cpc_forward_steps to decorrelate gradients. (default: 2) -with_wandb: ${wandb} - # Enables Weights and Biases integration (default: False) -wandb_user: null - # WandB username (entity). Must be specified from command line! Also see https://docs.wandb.ai/quickstart#1.-set-up-wandb (default: None) -wandb_project: ${wandb_project} - # WandB "Project" (default: sample_factory) -wandb_group: ${wandb_group} - # WandB "Group" (to group your experiments). By default this is the name of the env. (default: None) -wandb_job_type: SF - # WandB job type (default: SF) -wandb_tags: [] # [WANDB_TAGS [WANDB_TAGS ...]] - # Tags can help with finding experiments in WandB web console (default: []) -benchmark: False - # Benchmark mode (default: False) -sampler_only: False - # Do not send experience to the learner, measuring sampling throughput (default: False) -env_frameskip: null - # Number of frames for action repeat (frame skipping). Default (None) means use default environment value (default: None) -env_framestack: 4 - # Frame stacking (only used in Atari?) (default: 4) -pixel_format: CHW - # PyTorch expects CHW by default, Ray & TensorFlow expect HWC (default: CHW) \ No newline at end of file diff --git a/cfgs/algorithm/ppo.yaml b/cfgs/algorithm/ppo.yaml deleted file mode 100644 index 485f53d9..00000000 --- a/cfgs/algorithm/ppo.yaml +++ /dev/null @@ -1,81 +0,0 @@ -algorithm_name: 'rmappo' # choices=["rmappo", "mappo"] -experiment: ${experiment} -seed: ${seed} -device: ${device} -cuda_deterministic: True -n_training_threads: 1 # "Number of torch threads for training" -n_rollout_threads: 1 # Number of parallel envs for training rollouts -n_eval_rollout_threads: 1 # Number of parallel envs for evaluating rollouts -n_render_rollout_threads: 1 # Number of parallel envs for rendering rollouts -num_env_steps: 1e8 # Number of environment steps to train -wandb: ${wandb} -use_obs_instead_of_state: True # Whether to use global state or concatenated obs -episode_length: ${episode_length} # Max length for any episode -share_policy: True # Whether all agents share the same policy -use_centralized_V: False # Whether to use a centralized value function -stacked_frames: 1 # number of stacked observations -use_stacked_frames: True # whether to use stacked frames -hidden_size: 64 # Dimension of hidden layers for actor/critic networks -layer_N: 2 # "Number of layers for actor/critic networks" -use_ReLU: True # Whether to use ReLU activation or Tanh -use_popart: False # Use PopART to normalize rewards -use_valuenorm: True # use running mean and std to normalize rewards -use_feature_normalization: True # Whether to apply layernorm to the inputs -use_orthogonal: True # Whether to use Orthogonal initialization for weights and 0 initialization for biases -gain: 0.01 # The gain # of last action layer -# recurrent parameters -use_naive_recurrent_policy: False # Whether to use a naive recurrent policy by stacking states I believe? -use_recurrent_policy: True # Whether to use a recurrent policy -recurrent_N: 1 # The number of recurrent layers -data_chunk_length: 10 # Time length of chunks used to train a recurrent_policy - -# optimizer parameters -lr: 5e-4 # learning rate -critic_lr: 5e-4 # critic LR -opti_eps: 1e-5 # RMSprop optimizer epsilon -weight_decay: 0 - -# ppo parameters -ppo_epoch: 10 # number of PPO epochs -use_clipped_value_loss: True # clip loss value -clip_param: 0.2 # PPO clipping parameter -num_mini_batch: 4 # Number of minibatches of the collected data to use -entropy_coef: 0.00 -value_loss_coef: 0.5 # scaling on the value loss -use_max_grad_norm: True # use max norm of gradients -max_grad_norm: 10.0 # max norm of gradients -use_gae: True # use generalized advantage estimation -gamma: 0.99 # discount factor -gae_lambda: 0.95 -use_proper_time_limits: False # compute returns taking into account time limits -use_huber_loss: True -use_value_active_masks: True # whether to mask useless data in value loss -use_policy_active_masks: True # whether to mask useless data in policy loss -huber_delta: 10.0 # coefficient of huber loss -use_linear_lr_decay: False - -# saving and logging -save_interval: 1 # time duration between contiunous twice models saving -log_interval: 5 # time duration between contiunous twice log printing -use_eval: True -eval_interval: 25 -eval_episodes: 10 -save_gifs: True -render_interval: 25 # how often to render -use_render: False -render_episodes: 1 -ifi: 0.1 # the play interval of each rendered image in saved video -model_dir: null - -# goal env wrapper stuff -density_buffer_size: 100000 -density_optim_samples: 1000 -num_goal_samples: 200 -bandwidth: 0.1 -log_figure: True -kernel: 'gaussian' -quartile_cutoff: 0.0 -normalize_value: 400.0 -log_every_n_episodes: 50 -# if True, all the agents share the same goal buffer for sampling new goals -share_goal_buffer: False \ No newline at end of file diff --git a/cfgs/imitation/config.yaml b/cfgs/imitation/config.yaml deleted file mode 100644 index 6cf72fc1..00000000 --- a/cfgs/imitation/config.yaml +++ /dev/null @@ -1,42 +0,0 @@ -defaults: - - override hydra/launcher: submitit_local - -experiment: test -path: ${oc.env:PROCESSED_TRAIN_NO_TL} -num_files: 1000 -n_cpus: 9 -lr: 3e-4 -samples_per_epoch: 50000 -max_visible_road_points: 500 -batch_size: 512 -epochs: 700 -device: cuda -n_stacked_states: 5 -view_dist: 80 -view_angle: 3.14 -actions_are_positions: False -discrete: True -seed: 0 - -# WANDB things -wandb: True -wandb_project: nocturne -wandb_group: ${experiment} - -# tensorboard logs -write_to_tensorboard: True - -hydra: - run: - dir: /checkpoint/${oc.env:USER}/nocturne/test/${now:%Y.%m.%d}/${experiment}/${now:%H.%M.%S}/${hydra.job.override_dirname} - sweep: - dir: /checkpoint/${oc.env:USER}/nocturne/sweep/imitation/${now:%Y.%m.%d}/${experiment}/${now:%H.%M.%S} - subdir: ${hydra.job.num} - launcher: - timeout_min: 2880 - cpus_per_task: 80 - gpus_per_node: 1 - tasks_per_node: 1 - mem_gb: 160 - nodes: 1 - submitit_folder: /checkpoint/${oc.env:USER}/nocturne/sweep/imitation/${now:%Y.%m.%d}/${experiment}/${now:%H.%M.%S}/.slurm From 01e9f470f068eb3af2e7a56f69dd2c5b80155f89 Mon Sep 17 00:00:00 2001 From: Daphne Date: Sat, 30 Sep 2023 16:58:09 -0400 Subject: [PATCH 03/40] Clean-up: move example scene to data folder --- data/example_scenario.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 data/example_scenario.json diff --git a/data/example_scenario.json b/data/example_scenario.json new file mode 100644 index 00000000..00b5651f --- /dev/null +++ b/data/example_scenario.json @@ -0,0 +1 @@ +{"name": "tfrecord-00358-of-01000_65.json", "objects": [{"position": [{"x": 9037.7138671875, "y": -2720.373779296875}, {"x": 9037.7607421875, "y": -2720.306640625}, {"x": 9037.822265625, "y": -2720.217529296875}, {"x": 9037.8916015625, "y": -2720.146240234375}, {"x": 9037.9482421875, "y": -2720.070068359375}, {"x": 9038.01953125, "y": -2719.994384765625}, {"x": 9038.1005859375, "y": -2719.903076171875}, {"x": 9038.1953125, "y": -2719.830810546875}, {"x": 9038.279296875, "y": -2719.74462890625}, {"x": 9038.3564453125, "y": -2719.674560546875}, {"x": 9038.4365234375, "y": -2719.605712890625}, {"x": 9038.509765625, "y": -2719.53662109375}, {"x": 9038.546875, "y": -2719.4541015625}, {"x": 9038.615234375, "y": -2719.385009765625}, {"x": 9038.6904296875, "y": -2719.330322265625}, {"x": 9038.75, "y": -2719.268310546875}, {"x": 9038.8583984375, "y": -2719.189697265625}, {"x": 9038.9150390625, "y": -2719.165283203125}, {"x": 9038.7568359375, "y": -2719.270751953125}, {"x": 9038.8134765625, "y": -2719.28955078125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.4892578125, "y": -2718.408203125}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.63671875, "y": -2718.29248046875}, {"x": 9039.7099609375, "y": -2718.246826171875}, {"x": 9039.732421875, "y": -2718.185546875}, {"x": 9039.8134765625, "y": -2718.099853515625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.2275390625, "y": -2717.67578125}, {"x": 9040.2802734375, "y": -2717.580322265625}, {"x": 9040.2822265625, "y": -2717.448486328125}, {"x": 9040.3544921875, "y": -2717.393798828125}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.484375, "y": -2717.256103515625}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.6728515625, "y": -2717.140869140625}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.8720703125, "y": -2717.010009765625}, {"x": -10000.0, "y": -10000.0}, {"x": 9041.015625, "y": -2716.83544921875}, {"x": 9041.0947265625, "y": -2716.765380859375}, {"x": 9041.1259765625, "y": -2716.647216796875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.6877052187919617, "length": 0.6777269244194031, "heading": [-310.41073294535573, -310.682765719619, -310.6657448882073, -310.7116710801865, -311.09276831511653, -311.43632683036816, -312.12399027600503, -313.90929244201965, -315.3253545815034, -315.7811467651967, -315.8682453374927, -316.13675373414424, -314.6746287988979, -314.73416072770374, -314.2159952565099, -314.6184300024071, -316.1639105662842, 57.51482367976463, 55.75770970445466, -314.959830177881, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -310.95438868253206, -10000.0, -312.25299888904823, -311.9868400774712, -310.0247179742233, -310.65295877408107, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -310.89073131946753, -311.92637924293825, -311.92621531839814, -311.00165359158854, -10000.0, -312.239611718275, -10000.0, -313.3852530081396, -10000.0, -314.7891574109007, -10000.0, -315.6115668284836, -316.8793592214647, -318.42899254035717, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.634765625, "y": 0.72265625}, {"x": 0.46875, "y": 0.67138671875}, {"x": 0.615234375, "y": 0.89111328125}, {"x": 0.693359375, "y": 0.712890625}, {"x": 0.56640625, "y": 0.76171875}, {"x": 0.712890625, "y": 0.7568359375}, {"x": 0.810546875, "y": 0.9130859375}, {"x": 0.947265625, "y": 0.72265625}, {"x": 0.83984375, "y": 0.86181640625}, {"x": 0.771484375, "y": 0.70068359375}, {"x": 0.80078125, "y": 0.6884765625}, {"x": 0.732421875, "y": 0.69091796875}, {"x": 0.37109375, "y": 0.8251953125}, {"x": 0.68359375, "y": 0.69091796875}, {"x": 0.751953125, "y": 0.546875}, {"x": 0.595703125, "y": 0.6201171875}, {"x": 1.083984375, "y": 0.7861328125}, {"x": 0.56640625, "y": 0.244140625}, {"x": -1.58203125, "y": -1.0546875}, {"x": 0.56640625, "y": -0.18798828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.7373046875, "y": 0.57861328125}, {"x": -10000.0, "y": -10000.0}, {"x": 0.732421875, "y": 0.45654296875}, {"x": 0.732421875, "y": 0.45654296875}, {"x": 0.224609375, "y": 0.61279296875}, {"x": 0.810546875, "y": 0.85693359375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.185546875, "y": 0.38818359375}, {"x": 0.52734375, "y": 0.95458984375}, {"x": 0.01953125, "y": 1.318359375}, {"x": 0.72265625, "y": 0.546875}, {"x": -10000.0, "y": -10000.0}, {"x": 1.220703125, "y": 0.13916015625}, {"x": -10000.0, "y": -10000.0}, {"x": 0.9423828125, "y": 0.576171875}, {"x": -10000.0, "y": -10000.0}, {"x": 0.99609375, "y": 0.654296875}, {"x": -10000.0, "y": -10000.0}, {"x": 0.791015625, "y": 0.70068359375}, {"x": 0.791015625, "y": 0.70068359375}, {"x": 0.3125, "y": 1.181640625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, true, true, true, false, false, false, false, false, false, true, true, true, true, false, true, false, true, false, true, false, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9041.1259765625, "y": -2716.647216796875}, "type": "pedestrian"}, {"position": [{"x": 9037.9609375, "y": -2720.427001953125}, {"x": 9038.0625, "y": -2720.35400390625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.6082264184951782, "length": 0.622144341468811, "heading": [-312.2906195709967, -310.53105355777467, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 1.494140625, "y": 0.595703125}, {"x": 1.015625, "y": 0.72998046875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9038.0625, "y": -2720.35400390625}, "type": "pedestrian"}, {"position": [{"x": 9090.9775390625, "y": -2672.0439453125}, {"x": 9091.025390625, "y": -2671.986083984375}, {"x": 9091.08203125, "y": -2671.932373046875}, {"x": 9091.12890625, "y": -2671.890380859375}, {"x": 9091.1640625, "y": -2671.837646484375}, {"x": 9091.2236328125, "y": -2671.7783203125}, {"x": 9091.27734375, "y": -2671.712646484375}, {"x": 9091.35546875, "y": -2671.62548828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.9114294648170471, "length": 0.8676734566688538, "heading": [-304.7641062754795, -308.0520500588969, -309.6264633040982, -310.61776963947716, -309.4340705355573, -310.35341399784096, -309.220613463616, -311.35838071155996, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.419921875, "y": 0.76904296875}, {"x": 0.478515625, "y": 0.57861328125}, {"x": 0.56640625, "y": 0.537109375}, {"x": 0.46875, "y": 0.419921875}, {"x": 0.3515625, "y": 0.52734375}, {"x": 0.595703125, "y": 0.59326171875}, {"x": 0.537109375, "y": 0.65673828125}, {"x": 0.78125, "y": 0.87158203125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9091.35546875, "y": -2671.62548828125}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9038.35546875, "y": -2720.02197265625}, {"x": -10000.0, "y": -10000.0}, {"x": 9038.509765625, "y": -2719.844482421875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.1376953125, "y": -2719.18701171875}, {"x": 9039.0927734375, "y": -2719.177978515625}, {"x": 9039.21875, "y": -2719.107177734375}, {"x": 9039.392578125, "y": -2719.060791015625}, {"x": 9039.4072265625, "y": -2719.030517578125}, {"x": 9039.33203125, "y": -2718.9990234375}, {"x": 9039.3798828125, "y": -2718.944580078125}, {"x": 9039.4267578125, "y": -2718.887939453125}, {"x": 9039.486328125, "y": -2718.828369140625}, {"x": 9039.5263671875, "y": -2718.774658203125}, {"x": 9039.5810546875, "y": -2718.72021484375}, {"x": 9039.60546875, "y": -2718.68408203125}, {"x": 9039.6298828125, "y": -2718.625244140625}, {"x": 9039.6884765625, "y": -2718.58349609375}, {"x": 9039.74609375, "y": -2718.5302734375}, {"x": 9039.8017578125, "y": -2718.452392578125}, {"x": 9039.8544921875, "y": -2718.410888671875}, {"x": 9039.9140625, "y": -2718.353759765625}, {"x": 9039.9638671875, "y": -2718.298828125}, {"x": 9040.01171875, "y": -2718.240234375}, {"x": 9040.0712890625, "y": -2718.185791015625}, {"x": 9040.115234375, "y": -2718.119140625}, {"x": 9040.1787109375, "y": -2718.056396484375}, {"x": 9040.2451171875, "y": -2717.99560546875}, {"x": 9040.2890625, "y": -2717.93408203125}, {"x": 9040.3720703125, "y": -2717.863525390625}, {"x": 9040.4208984375, "y": -2717.803955078125}, {"x": 9040.4892578125, "y": -2717.74658203125}, {"x": 9040.556640625, "y": -2717.671875}, {"x": 9040.6025390625, "y": -2717.62255859375}, {"x": 9040.6728515625, "y": -2717.556884765625}, {"x": 9040.720703125, "y": -2717.504638671875}, {"x": 9040.7919921875, "y": -2717.441162109375}, {"x": 9040.880859375, "y": -2717.3642578125}, {"x": 9040.9501953125, "y": -2717.294677734375}, {"x": 9041.0341796875, "y": -2717.22021484375}, {"x": 9041.1044921875, "y": -2717.15673828125}, {"x": 9041.1767578125, "y": -2717.086181640625}, {"x": 9041.2451171875, "y": -2717.023681640625}, {"x": 9041.3193359375, "y": -2716.96142578125}, {"x": 9041.37890625, "y": -2716.88525390625}, {"x": 9041.4599609375, "y": -2716.85302734375}, {"x": 9041.5, "y": -2716.79443359375}, {"x": 9041.5576171875, "y": -2716.71826171875}, {"x": 9041.60546875, "y": -2716.674072265625}, {"x": 9041.6669921875, "y": -2716.616943359375}, {"x": 9041.7177734375, "y": -2716.56982421875}, {"x": 9041.7802734375, "y": -2716.520263671875}, {"x": 9041.84765625, "y": -2716.467041015625}, {"x": 9041.912109375, "y": -2716.423095703125}, {"x": 9041.9921875, "y": -2716.36962890625}, {"x": 9042.0791015625, "y": -2716.312744140625}, {"x": 9042.1640625, "y": -2716.263916015625}, {"x": 9042.2236328125, "y": -2716.20654296875}, {"x": 9042.3193359375, "y": -2716.154052734375}, {"x": 9042.400390625, "y": -2716.1171875}, {"x": 9042.4599609375, "y": -2716.0830078125}, {"x": 9042.521484375, "y": -2716.03076171875}, {"x": 9042.607421875, "y": -2715.982421875}, {"x": 9042.666015625, "y": -2715.9453125}, {"x": 9042.7236328125, "y": -2715.9208984375}, {"x": 9042.833984375, "y": -2715.87939453125}, {"x": 9042.9052734375, "y": -2715.828857421875}, {"x": 9043.0166015625, "y": -2715.771728515625}, {"x": 9043.08984375, "y": -2715.725341796875}, {"x": 9043.16015625, "y": -2715.697021484375}, {"x": 9043.255859375, "y": -2715.661865234375}, {"x": 9043.3505859375, "y": -2715.613037109375}, {"x": 9043.443359375, "y": -2715.574951171875}, {"x": 9043.53515625, "y": -2715.53955078125}, {"x": 9043.5966796875, "y": -2715.523193359375}, {"x": 9043.6796875, "y": -2715.50244140625}, {"x": 9043.72265625, "y": -2715.501708984375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -311.05454657652115, -10000.0, -315.57900048652095, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -312.16710243004616, -312.1964722434772, 35.28367466730243, -311.67508292299516, -311.42854041471435, -312.274199796232, -312.15412507062314, -312.421841165331, -312.294690363742, -312.4231525616516, -311.62576895718763, -311.4934272118295, -312.9795670921975, -311.4187869045796, -311.9024462600865, -312.309716779916, -312.34080780101795, -312.5250589840682, -312.73056571581554, -313.19592016434683, -312.78796662560035, -313.1580535955883, -313.1879425033963, -312.10604053886624, -312.3856138419732, -313.22135578881597, -313.2912696051602, -314.11214906036906, -313.8564814193571, -314.39702259027194, -314.5213320331662, -314.5804541506218, -314.5842517358003, -315.50739278326256, -315.6118400360504, -315.2725435588408, -316.1497584143239, -316.53569142318634, -316.8619285787028, -316.5391611592847, -316.32835420074144, -316.21117547534067, -317.07795380177197, 40.79607445960959, 40.42953235780086, 39.81624967222542, 39.17835439997583, 38.103904171830294, 36.48764235758433, 35.696914772466535, 34.069902240466966, 33.70262247822787, 32.916928742528384, 31.026660229349012, 31.289888889772133, 31.148083917318914, 28.864539941919382, 28.745356555997244, 28.403539738983955, 27.2743387144516, 26.203390665802985, 25.8912066245038, 24.66596631005189, 23.67911496555906, 24.718101143986598, 23.802053247977412, 24.041488944426796, 23.836217854205817, 23.52749330372124, 22.87595302105726, 22.099483455831873, 21.205454382159516, 19.230366872319635], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -0.625, "y": 1.4501953125}, {"x": -10000.0, "y": -10000.0}, {"x": 2.16796875, "y": 0.32470703125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.029296875, "y": 0.390625}, {"x": -0.44921875, "y": 0.09033203125}, {"x": 1.259765625, "y": 0.7080078125}, {"x": 1.73828125, "y": 0.4638671875}, {"x": 0.146484375, "y": 0.302734375}, {"x": -0.751953125, "y": 0.31494140625}, {"x": 0.478515625, "y": 0.54443359375}, {"x": 0.46875, "y": 0.56640625}, {"x": 0.595703125, "y": 0.595703125}, {"x": 0.400390625, "y": 0.537109375}, {"x": 0.546875, "y": 0.54443359375}, {"x": 0.244140625, "y": 0.361328125}, {"x": 0.244140625, "y": 0.58837890625}, {"x": 0.5859375, "y": 0.41748046875}, {"x": 0.576171875, "y": 0.5322265625}, {"x": 0.556640625, "y": 0.77880859375}, {"x": 0.52734375, "y": 0.4150390625}, {"x": 0.595703125, "y": 0.5712890625}, {"x": 0.498046875, "y": 0.54931640625}, {"x": 0.478515625, "y": 0.5859375}, {"x": 0.595703125, "y": 0.54443359375}, {"x": 0.439453125, "y": 0.66650390625}, {"x": 0.634765625, "y": 0.62744140625}, {"x": 0.6640625, "y": 0.60791015625}, {"x": 0.439453125, "y": 0.615234375}, {"x": 0.830078125, "y": 0.70556640625}, {"x": 0.48828125, "y": 0.595703125}, {"x": 0.68359375, "y": 0.57373046875}, {"x": 0.673828125, "y": 0.7470703125}, {"x": 0.458984375, "y": 0.4931640625}, {"x": 0.703125, "y": 0.65673828125}, {"x": 0.478515625, "y": 0.5224609375}, {"x": 0.712890625, "y": 0.634765625}, {"x": 0.888671875, "y": 0.76904296875}, {"x": 0.693359375, "y": 0.69580078125}, {"x": 0.83984375, "y": 0.74462890625}, {"x": 0.703125, "y": 0.634765625}, {"x": 0.72265625, "y": 0.70556640625}, {"x": 0.68359375, "y": 0.625}, {"x": 0.7421875, "y": 0.62255859375}, {"x": 0.595703125, "y": 0.76171875}, {"x": 0.810546875, "y": 0.322265625}, {"x": 0.400390625, "y": 0.5859375}, {"x": 0.576171875, "y": 0.76171875}, {"x": 0.478515625, "y": 0.44189453125}, {"x": 0.615234375, "y": 0.5712890625}, {"x": 0.5078125, "y": 0.47119140625}, {"x": 0.625, "y": 0.49560546875}, {"x": 0.673828125, "y": 0.5322265625}, {"x": 0.64453125, "y": 0.439453125}, {"x": 0.80078125, "y": 0.53466796875}, {"x": 0.869140625, "y": 0.56884765625}, {"x": 0.849609375, "y": 0.48828125}, {"x": 0.595703125, "y": 0.57373046875}, {"x": 0.95703125, "y": 0.52490234375}, {"x": 0.810546875, "y": 0.36865234375}, {"x": 0.595703125, "y": 0.341796875}, {"x": 0.615234375, "y": 0.5224609375}, {"x": 0.859375, "y": 0.4833984375}, {"x": 0.5859375, "y": 0.37109375}, {"x": 0.576171875, "y": 0.244140625}, {"x": 1.103515625, "y": 0.4150390625}, {"x": 0.712890625, "y": 0.50537109375}, {"x": 1.11328125, "y": 0.5712890625}, {"x": 0.732421875, "y": 0.4638671875}, {"x": 0.703125, "y": 0.283203125}, {"x": 0.95703125, "y": 0.3515625}, {"x": 0.947265625, "y": 0.48828125}, {"x": 0.927734375, "y": 0.380859375}, {"x": 0.91796875, "y": 0.35400390625}, {"x": 0.615234375, "y": 0.16357421875}, {"x": 0.830078125, "y": 0.20751953125}, {"x": 0.4296875, "y": 0.00732421875}], "valid": [false, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9043.72265625, "y": -2715.501708984375}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9030.580078125, "y": -2749.409912109375}, {"x": 9030.4541015625, "y": -2749.289306640625}, {"x": 9030.4072265625, "y": -2749.291015625}, {"x": 9030.380859375, "y": -2749.22314453125}, {"x": 9030.44140625, "y": -2749.347412109375}, {"x": 9030.705078125, "y": -2749.287353515625}, {"x": 9031.072265625, "y": -2750.307373046875}, {"x": 9031.376953125, "y": -2750.480712890625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 86.7757775558278, 38.491312501553416, 45.491873910222964, -150.54642613792046, -58.68278602783681, 233.05569870794312, 29.171454492273902, 52.51142324478515, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -1.259765625, "y": 1.2060546875}, {"x": -1.259765625, "y": 1.2060546875}, {"x": -0.46875, "y": -0.01708984375}, {"x": -0.263671875, "y": 0.6787109375}, {"x": 0.60546875, "y": -1.24267578125}, {"x": 2.63671875, "y": 0.6005859375}, {"x": 3.671875, "y": -10.2001953125}, {"x": 3.046875, "y": -1.7333984375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9031.376953125, "y": -2750.480712890625}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9030.69921875, "y": -2750.182373046875}, {"x": 9030.7265625, "y": -2750.1982421875}, {"x": 9030.7294921875, "y": -2750.1787109375}, {"x": 9030.734375, "y": -2750.166748046875}, {"x": 9030.736328125, "y": -2750.144287109375}, {"x": 9030.7666015625, "y": -2750.15625}, {"x": 9030.76953125, "y": -2750.1640625}, {"x": 9030.7802734375, "y": -2750.16162109375}, {"x": 9030.77734375, "y": -2750.172119140625}, {"x": 9030.7861328125, "y": -2750.171630859375}, {"x": 9030.79296875, "y": -2750.163330078125}, {"x": 9030.7998046875, "y": -2750.1689453125}, {"x": 9030.7998046875, "y": -2750.158935546875}, {"x": 9030.8154296875, "y": -2750.170166015625}, {"x": 9030.80078125, "y": -2750.16357421875}, {"x": 9030.802734375, "y": -2750.177490234375}, {"x": 9030.7998046875, "y": -2750.173095703125}, {"x": 9030.7958984375, "y": -2750.175048828125}, {"x": 9030.8056640625, "y": -2750.1669921875}, {"x": 9030.8076171875, "y": -2750.1748046875}, {"x": 9030.806640625, "y": -2750.169189453125}, {"x": 9030.798828125, "y": -2750.16552734375}, {"x": 9030.8056640625, "y": -2750.16796875}, {"x": 9030.8115234375, "y": -2750.147705078125}, {"x": 9030.8037109375, "y": -2750.150146484375}, {"x": 9030.8056640625, "y": -2750.1494140625}, {"x": 9030.80078125, "y": -2750.134033203125}, {"x": 9030.806640625, "y": -2750.133544921875}, {"x": 9030.794921875, "y": -2750.137451171875}, {"x": 9030.80078125, "y": -2750.150390625}, {"x": 9030.787109375, "y": -2750.149658203125}, {"x": 9030.7861328125, "y": -2750.145751953125}, {"x": 9030.7880859375, "y": -2750.145263671875}, {"x": 9030.78515625, "y": -2750.1552734375}, {"x": 9030.7744140625, "y": -2750.144775390625}, {"x": 9030.7646484375, "y": -2750.157958984375}, {"x": 9030.759765625, "y": -2750.15283203125}, {"x": 9030.7607421875, "y": -2750.142822265625}, {"x": 9030.7568359375, "y": -2750.157470703125}, {"x": 9030.7626953125, "y": -2750.138427734375}, {"x": 9030.76171875, "y": -2750.133056640625}, {"x": 9030.767578125, "y": -2750.127685546875}, {"x": 9030.7529296875, "y": -2750.14453125}, {"x": 9030.7431640625, "y": -2750.134521484375}, {"x": 9030.7421875, "y": -2750.15185546875}, {"x": 9030.7470703125, "y": -2750.139404296875}, {"x": 9030.736328125, "y": -2750.143310546875}, {"x": 9030.728515625, "y": -2750.14013671875}, {"x": 9030.7275390625, "y": -2750.139404296875}, {"x": 9030.7236328125, "y": -2750.13427734375}, {"x": 9030.712890625, "y": -2750.1328125}, {"x": 9030.708984375, "y": -2750.1357421875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 58.20128501210759, -276.27287373774175, 68.99742352368825, 65.44261058902009, -271.8046732657461, -286.9043090676767, -294.54882071129504, -298.93445785660356, -293.6100521910118, -293.5853269062164, -292.95164927577923, -293.0159350162474, -288.4632587645971, -290.91095267631954, -290.8215591604624, -294.0195083713757, -292.75171597839466, -295.5292260647587, -292.86690028855776, -291.8938715393977, -293.05489441527317, -291.4696348296699, -291.195006583522, -287.9345474813247, -290.0277272543668, -287.2681942258983, -286.43078571289806, -286.0767087063246, -286.17320561891853, -284.9926484020168, -286.65730210653237, -285.3001708392075, -284.0557923347012, -283.624069737643, -285.7924635538253, -281.98375882732944, -282.33868277736, -283.5519702607644, -282.6601114797008, -283.1855989136849, -284.2403986875883, -283.23698925700006, -284.8569735243437, -287.9632069550821, -286.8723711031177, -283.53352875000536, -288.4816183130861, -288.9248702694632, -287.533615377045, -290.1141974492592, -298.3181015859016, -296.84013061178086], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.2734375, "y": -0.15869140625}, {"x": 0.2734375, "y": -0.15869140625}, {"x": 0.029296875, "y": 0.1953125}, {"x": 0.048828125, "y": 0.11962890625}, {"x": 0.01953125, "y": 0.224609375}, {"x": 0.302734375, "y": -0.11962890625}, {"x": 0.029296875, "y": -0.078125}, {"x": 0.107421875, "y": 0.0244140625}, {"x": -0.029296875, "y": -0.10498046875}, {"x": 0.087890625, "y": 0.0048828125}, {"x": 0.068359375, "y": 0.0830078125}, {"x": 0.068359375, "y": -0.05615234375}, {"x": -0.0, "y": 0.10009765625}, {"x": 0.15625, "y": -0.1123046875}, {"x": -0.146484375, "y": 0.06591796875}, {"x": 0.01953125, "y": -0.13916015625}, {"x": -0.029296875, "y": 0.0439453125}, {"x": -0.0390625, "y": -0.01953125}, {"x": 0.09765625, "y": 0.08056640625}, {"x": 0.01953125, "y": -0.078125}, {"x": -0.009765625, "y": 0.05615234375}, {"x": -0.078125, "y": 0.03662109375}, {"x": 0.068359375, "y": -0.0244140625}, {"x": 0.05859375, "y": 0.20263671875}, {"x": -0.078125, "y": -0.0244140625}, {"x": 0.01953125, "y": 0.00732421875}, {"x": -0.048828125, "y": 0.15380859375}, {"x": 0.05859375, "y": 0.0048828125}, {"x": -0.1171875, "y": -0.0390625}, {"x": 0.05859375, "y": -0.12939453125}, {"x": -0.13671875, "y": 0.00732421875}, {"x": -0.009765625, "y": 0.0390625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.029296875, "y": -0.10009765625}, {"x": -0.107421875, "y": 0.10498046875}, {"x": -0.09765625, "y": -0.1318359375}, {"x": -0.048828125, "y": 0.05126953125}, {"x": 0.009765625, "y": 0.10009765625}, {"x": -0.0390625, "y": -0.146484375}, {"x": 0.05859375, "y": 0.1904296875}, {"x": -0.009765625, "y": 0.0537109375}, {"x": 0.05859375, "y": 0.0537109375}, {"x": -0.146484375, "y": -0.16845703125}, {"x": -0.09765625, "y": 0.10009765625}, {"x": -0.009765625, "y": -0.17333984375}, {"x": 0.048828125, "y": 0.12451171875}, {"x": -0.107421875, "y": -0.0390625}, {"x": -0.078125, "y": 0.03173828125}, {"x": -0.009765625, "y": 0.00732421875}, {"x": -0.0390625, "y": 0.05126953125}, {"x": -0.107421875, "y": 0.0146484375}, {"x": -0.0390625, "y": -0.029296875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9030.708984375, "y": -2750.1357421875}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9031.525390625, "y": -2749.69091796875}, {"x": 9031.5390625, "y": -2749.708984375}, {"x": 9031.51171875, "y": -2749.674072265625}, {"x": 9031.4912109375, "y": -2749.67333984375}, {"x": 9031.490234375, "y": -2749.6748046875}, {"x": 9031.50390625, "y": -2749.663818359375}, {"x": 9031.5, "y": -2749.661376953125}, {"x": 9031.4990234375, "y": -2749.644287109375}, {"x": 9031.50390625, "y": -2749.628662109375}, {"x": 9031.5009765625, "y": -2749.625}, {"x": 9031.5146484375, "y": -2749.612060546875}, {"x": 9031.5205078125, "y": -2749.59375}, {"x": 9031.5166015625, "y": -2749.587158203125}, {"x": 9031.49609375, "y": -2749.59619140625}, {"x": 9031.5, "y": -2749.587158203125}, {"x": 9031.49609375, "y": -2749.6025390625}, {"x": 9031.4970703125, "y": -2749.5947265625}, {"x": 9031.4892578125, "y": -2749.593505859375}, {"x": 9031.490234375, "y": -2749.5810546875}, {"x": 9031.4853515625, "y": -2749.572998046875}, {"x": 9031.482421875, "y": -2749.569091796875}, {"x": 9031.4794921875, "y": -2749.555908203125}, {"x": 9031.4794921875, "y": -2749.5615234375}, {"x": 9031.474609375, "y": -2749.5732421875}, {"x": 9031.470703125, "y": -2749.563720703125}, {"x": 9031.46875, "y": -2749.560791015625}, {"x": 9031.4658203125, "y": -2749.555908203125}, {"x": 9031.45703125, "y": -2749.571044921875}, {"x": 9031.4482421875, "y": -2749.574462890625}, {"x": 9031.4462890625, "y": -2749.57666015625}, {"x": 9031.4404296875, "y": -2749.586181640625}, {"x": 9031.435546875, "y": -2749.572998046875}, {"x": 9031.4345703125, "y": -2749.5859375}, {"x": 9031.4404296875, "y": -2749.609375}, {"x": 9031.435546875, "y": -2749.59814453125}, {"x": 9031.4404296875, "y": -2749.63623046875}, {"x": 9031.4482421875, "y": -2749.65185546875}, {"x": 9031.4501953125, "y": -2749.650634765625}, {"x": 9031.451171875, "y": -2749.6416015625}, {"x": 9031.4560546875, "y": -2749.672119140625}, {"x": 9031.4677734375, "y": -2749.69873046875}, {"x": 9031.4736328125, "y": -2749.710205078125}, {"x": 9031.4716796875, "y": -2749.7158203125}, {"x": 9031.44140625, "y": -2749.709716796875}, {"x": 9031.455078125, "y": -2749.712646484375}, {"x": 9031.4521484375, "y": -2749.710693359375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -148.31070031690018, -199.12908359097926, -173.5860339065858, -170.98113636092637, -158.57264973349416, -161.95851110885286, -159.40917032190228, -168.2300591066503, -165.6240277495886, -157.88726757104004, -151.70482622115463, 184.07432213189566, -152.26864467676086, -163.6832704780645, -160.4820154555929, -173.63149564570142, -175.23824300643358, -179.56798188357467, -181.32538955701898, -179.47753651858537, -181.51032375898623, -180.32330518312972, -186.03738680124903, -186.79384391220628, -187.07717381935674, -180.80869940668583, -182.19099309091303, -185.42813392728388, -183.61112602314208, -183.47169454142542, -182.56789658969268, -173.02231107362798, -175.38281079040604, -178.42395251835424, -170.56319708561327, -177.7018375985438, -180.59867108970795, -177.59020498674911, -172.39912461375602, -177.5224904913176, -179.72808151771977, -182.381459746108, -182.38928714289685, -176.67013752441338, -175.8992413935507, -176.64389593762218], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.13671875, "y": -0.1806640625}, {"x": 0.13671875, "y": -0.1806640625}, {"x": -0.2734375, "y": 0.34912109375}, {"x": -0.205078125, "y": 0.00732421875}, {"x": -0.009765625, "y": -0.0146484375}, {"x": 0.13671875, "y": 0.10986328125}, {"x": -0.0390625, "y": 0.0244140625}, {"x": -0.009765625, "y": 0.1708984375}, {"x": 0.048828125, "y": 0.15625}, {"x": -0.029296875, "y": 0.03662109375}, {"x": 0.13671875, "y": 0.12939453125}, {"x": 0.05859375, "y": 0.18310546875}, {"x": -0.0390625, "y": 0.06591796875}, {"x": -0.205078125, "y": -0.09033203125}, {"x": 0.0390625, "y": 0.09033203125}, {"x": -0.0390625, "y": -0.15380859375}, {"x": 0.009765625, "y": 0.078125}, {"x": -0.078125, "y": 0.01220703125}, {"x": 0.009765625, "y": 0.12451171875}, {"x": -0.048828125, "y": 0.08056640625}, {"x": -0.029296875, "y": 0.0390625}, {"x": -0.029296875, "y": 0.1318359375}, {"x": -0.0, "y": -0.05615234375}, {"x": -0.048828125, "y": -0.1171875}, {"x": -0.0390625, "y": 0.09521484375}, {"x": -0.01953125, "y": 0.029296875}, {"x": -0.029296875, "y": 0.048828125}, {"x": -0.087890625, "y": -0.1513671875}, {"x": -0.087890625, "y": -0.0341796875}, {"x": -0.01953125, "y": -0.02197265625}, {"x": -0.05859375, "y": -0.09521484375}, {"x": -0.048828125, "y": 0.1318359375}, {"x": -0.009765625, "y": -0.12939453125}, {"x": 0.05859375, "y": -0.234375}, {"x": -0.048828125, "y": 0.1123046875}, {"x": 0.048828125, "y": -0.380859375}, {"x": 0.078125, "y": -0.15625}, {"x": 0.01953125, "y": 0.01220703125}, {"x": 0.009765625, "y": 0.09033203125}, {"x": 0.048828125, "y": -0.30517578125}, {"x": 0.1171875, "y": -0.26611328125}, {"x": 0.05859375, "y": -0.11474609375}, {"x": -0.01953125, "y": -0.05615234375}, {"x": -0.302734375, "y": 0.06103515625}, {"x": 0.13671875, "y": -0.029296875}, {"x": -0.029296875, "y": 0.01953125}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9031.4521484375, "y": -2749.710693359375}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8973.4521484375, "y": -2782.9814453125}, {"x": 8973.5751953125, "y": -2783.031982421875}, {"x": 8973.708984375, "y": -2783.04052734375}, {"x": 8973.8271484375, "y": -2783.03759765625}, {"x": 8973.94921875, "y": -2783.025146484375}, {"x": 8974.056640625, "y": -2783.041259765625}, {"x": 8974.1630859375, "y": -2783.02734375}, {"x": 8974.283203125, "y": -2783.025390625}, {"x": 8974.38671875, "y": -2783.0302734375}, {"x": 8974.5048828125, "y": -2783.03125}, {"x": 8974.6103515625, "y": -2783.031982421875}, {"x": 8974.7138671875, "y": -2783.03173828125}, {"x": 8974.8173828125, "y": -2783.030029296875}, {"x": 8974.9296875, "y": -2783.027099609375}, {"x": 8975.03515625, "y": -2783.01953125}, {"x": 8975.146484375, "y": -2783.0224609375}, {"x": 8975.2578125, "y": -2783.02197265625}, {"x": 8975.396484375, "y": -2783.03955078125}, {"x": 8975.50390625, "y": -2783.076416015625}, {"x": 8975.6767578125, "y": -2783.086669921875}, {"x": 8975.7978515625, "y": -2783.115234375}, {"x": 8975.935546875, "y": -2783.123779296875}, {"x": 8976.0546875, "y": -2783.140869140625}, {"x": 8976.1689453125, "y": -2783.134521484375}, {"x": 8976.2470703125, "y": -2783.153076171875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -1.4320038010065332, -1.04115390971537, -0.650399000742352, -0.5994652128845092, 1.5060722933568558, 1.3644609140779236, 1.7114018670726021, 0.9476230067685079, -0.8585814590970482, -2.2456099585229286, -2.9951301586043866, -2.3361611914443725, -1.6716785540768657, -0.35406761506335227, -2.3995240026009346, -2.832837179962067, -3.949970114004659, -3.960429268058064, -5.5590448616964805, -1.2510891653658207, -1.0452528769910239, -3.4955879374881524, -2.6735279267699856, -1.3454241096440402, -0.8378517282443537], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 1.23046875, "y": -0.50537109375}, {"x": 1.23046875, "y": -0.50537109375}, {"x": 1.337890625, "y": -0.08544921875}, {"x": 1.181640625, "y": 0.029296875}, {"x": 1.220703125, "y": 0.12451171875}, {"x": 1.07421875, "y": -0.1611328125}, {"x": 1.064453125, "y": 0.13916015625}, {"x": 1.201171875, "y": 0.01953125}, {"x": 1.03515625, "y": -0.048828125}, {"x": 1.181640625, "y": -0.009765625}, {"x": 1.0546875, "y": -0.00732421875}, {"x": 1.03515625, "y": 0.00244140625}, {"x": 1.03515625, "y": 0.01708984375}, {"x": 1.123046875, "y": 0.029296875}, {"x": 1.0546875, "y": 0.07568359375}, {"x": 1.11328125, "y": -0.029296875}, {"x": 1.11328125, "y": 0.0048828125}, {"x": 1.38671875, "y": -0.17578125}, {"x": 1.07421875, "y": -0.36865234375}, {"x": 1.728515625, "y": -0.1025390625}, {"x": 1.2109375, "y": -0.28564453125}, {"x": 1.376953125, "y": -0.08544921875}, {"x": 1.19140625, "y": -0.1708984375}, {"x": 1.142578125, "y": 0.0634765625}, {"x": 0.78125, "y": -0.185546875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8976.2470703125, "y": -2783.153076171875}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8972.58203125, "y": -2782.03955078125}, {"x": 8972.7333984375, "y": -2782.041015625}, {"x": 8972.87109375, "y": -2782.054931640625}, {"x": 8973.0068359375, "y": -2782.081298828125}, {"x": 8973.1357421875, "y": -2782.07763671875}, {"x": 8973.2529296875, "y": -2782.092529296875}, {"x": 8973.376953125, "y": -2782.110595703125}, {"x": 8973.494140625, "y": -2782.093505859375}, {"x": 8973.6025390625, "y": -2782.10595703125}, {"x": 8973.6962890625, "y": -2782.12548828125}, {"x": 8973.810546875, "y": -2782.10888671875}, {"x": 8973.9208984375, "y": -2782.098388671875}, {"x": 8974.017578125, "y": -2782.09716796875}, {"x": 8974.095703125, "y": -2782.094482421875}, {"x": 8974.2255859375, "y": -2782.09619140625}, {"x": 8974.3427734375, "y": -2782.086181640625}, {"x": 8974.4794921875, "y": -2782.091796875}, {"x": 8974.6005859375, "y": -2782.075439453125}, {"x": 8974.7333984375, "y": -2782.085205078125}, {"x": 8974.849609375, "y": -2782.071533203125}, {"x": 8974.9609375, "y": -2782.048095703125}, {"x": 8975.0634765625, "y": -2782.029541015625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -4.06579304685515, -6.075413993138614, -4.444634611811785, -4.169858235936288, -3.858377277234788, -2.9683906083340212, -3.654274576248705, -2.938624857374517, -3.1342414752036825, -2.0727124708639297, -0.7749477137009461, -0.30246126701567466, 0.9267414109284864, 2.546058454167565, 3.325653684711882, 4.135709424520339, 4.731045788051576, 5.773780032786157, 7.385117280640546, 8.382870460822362, 10.541204262130867, 13.453426169495055], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 1.513671875, "y": -0.0146484375}, {"x": 1.513671875, "y": -0.0146484375}, {"x": 1.376953125, "y": -0.13916015625}, {"x": 1.357421875, "y": -0.263671875}, {"x": 1.2890625, "y": 0.03662109375}, {"x": 1.171875, "y": -0.14892578125}, {"x": 1.240234375, "y": -0.1806640625}, {"x": 1.171875, "y": 0.1708984375}, {"x": 1.083984375, "y": -0.12451171875}, {"x": 0.9375, "y": -0.1953125}, {"x": 1.142578125, "y": 0.166015625}, {"x": 1.103515625, "y": 0.10498046875}, {"x": 0.966796875, "y": 0.01220703125}, {"x": 0.78125, "y": 0.02685546875}, {"x": 1.298828125, "y": -0.01708984375}, {"x": 1.171875, "y": 0.10009765625}, {"x": 1.3671875, "y": -0.05615234375}, {"x": 1.2109375, "y": 0.16357421875}, {"x": 1.328125, "y": -0.09765625}, {"x": 1.162109375, "y": 0.13671875}, {"x": 1.11328125, "y": 0.234375}, {"x": 1.025390625, "y": 0.185546875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8975.0634765625, "y": -2782.029541015625}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9028.078125, "y": -2751.371826171875}, {"x": 9028.1767578125, "y": -2751.3955078125}, {"x": 9028.1298828125, "y": -2751.41552734375}, {"x": 9028.2353515625, "y": -2751.447509765625}, {"x": 9028.3115234375, "y": -2751.511474609375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -185.09038107282674, -186.20326477543196, -32.36802058988031, -31.15900880489635, -15.795235927383027, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.986328125, "y": -0.23681640625}, {"x": 0.986328125, "y": -0.23681640625}, {"x": -0.46875, "y": -0.2001953125}, {"x": 1.0546875, "y": -0.31982421875}, {"x": 0.76171875, "y": -0.6396484375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, false, false, false, false], "goalPosition": {"x": 9028.3115234375, "y": -2751.511474609375}, "type": "pedestrian"}, {"position": [{"x": 9032.8369140625, "y": -2718.306396484375}, {"x": 9032.837890625, "y": -2718.311279296875}, {"x": 9032.83203125, "y": -2718.309814453125}, {"x": 9032.837890625, "y": -2718.31787109375}, {"x": 9032.841796875, "y": -2718.318115234375}, {"x": 9032.8330078125, "y": -2718.31396484375}, {"x": 9032.8271484375, "y": -2718.309326171875}, {"x": 9032.82421875, "y": -2718.305908203125}, {"x": 9032.8232421875, "y": -2718.305908203125}, {"x": 9032.8193359375, "y": -2718.30224609375}, {"x": 9032.8203125, "y": -2718.313232421875}, {"x": 9032.8212890625, "y": -2718.319091796875}, {"x": 9032.826171875, "y": -2718.333740234375}, {"x": 9032.8349609375, "y": -2718.354248046875}, {"x": 9032.8427734375, "y": -2718.36328125}, {"x": 9032.853515625, "y": -2718.385498046875}, {"x": 9032.8720703125, "y": -2718.4091796875}, {"x": 9032.890625, "y": -2718.4228515625}, {"x": 9032.9130859375, "y": -2718.450439453125}, {"x": 9032.9482421875, "y": -2718.49072265625}, {"x": 9032.9697265625, "y": -2718.52587890625}, {"x": 9033.0087890625, "y": -2718.576171875}, {"x": 9033.0380859375, "y": -2718.619384765625}, {"x": 9033.0830078125, "y": -2718.673095703125}, {"x": 9033.1328125, "y": -2718.71923828125}, {"x": 9033.171875, "y": -2718.7802734375}, {"x": 9033.232421875, "y": -2718.85107421875}, {"x": 9033.2861328125, "y": -2718.91552734375}, {"x": 9033.3408203125, "y": -2718.985595703125}, {"x": 9033.40625, "y": -2719.057861328125}, {"x": 9033.46484375, "y": -2719.1259765625}, {"x": 9033.53515625, "y": -2719.205322265625}, {"x": 9033.6103515625, "y": -2719.29052734375}, {"x": 9033.6787109375, "y": -2719.37353515625}, {"x": 9033.7490234375, "y": -2719.450927734375}, {"x": 9033.8212890625, "y": -2719.545166015625}, {"x": 9033.89453125, "y": -2719.640869140625}, {"x": 9033.9619140625, "y": -2719.71337890625}, {"x": 9034.033203125, "y": -2719.802490234375}, {"x": 9034.1044921875, "y": -2719.88671875}, {"x": 9034.1669921875, "y": -2719.95556640625}, {"x": 9034.2216796875, "y": -2720.027099609375}, {"x": 9034.2734375, "y": -2720.0888671875}, {"x": 9034.3203125, "y": -2720.15576171875}, {"x": 9034.359375, "y": -2720.2060546875}, {"x": 9034.4052734375, "y": -2720.2568359375}, {"x": 9034.4365234375, "y": -2720.298583984375}, {"x": 9034.455078125, "y": -2720.328369140625}, {"x": 9034.470703125, "y": -2720.353515625}, {"x": 9034.4912109375, "y": -2720.376708984375}, {"x": 9034.49609375, "y": -2720.393798828125}, {"x": 9034.5048828125, "y": -2720.405517578125}, {"x": 9034.509765625, "y": -2720.414794921875}, {"x": 9034.5009765625, "y": -2720.415771484375}, {"x": 9034.50390625, "y": -2720.422119140625}, {"x": 9034.5078125, "y": -2720.431884765625}, {"x": 9034.5048828125, "y": -2720.4306640625}, {"x": 9034.5029296875, "y": -2720.432373046875}, {"x": 9034.5078125, "y": -2720.43603515625}, {"x": 9034.5048828125, "y": -2720.437744140625}, {"x": 9034.5029296875, "y": -2720.440673828125}, {"x": 9034.49609375, "y": -2720.43310546875}, {"x": 9034.501953125, "y": -2720.444580078125}, {"x": 9034.4970703125, "y": -2720.44384765625}, {"x": 9034.498046875, "y": -2720.451171875}, {"x": 9034.4990234375, "y": -2720.451416015625}, {"x": 9034.4970703125, "y": -2720.4521484375}, {"x": 9034.494140625, "y": -2720.4501953125}, {"x": 9034.49609375, "y": -2720.450439453125}, {"x": 9034.4990234375, "y": -2720.454345703125}, {"x": 9034.5029296875, "y": -2720.464599609375}, {"x": 9034.5029296875, "y": -2720.466552734375}, {"x": 9034.5048828125, "y": -2720.46630859375}, {"x": 9034.5205078125, "y": -2720.48828125}, {"x": 9034.533203125, "y": -2720.50634765625}, {"x": 9034.5537109375, "y": -2720.52880859375}, {"x": 9034.57421875, "y": -2720.5556640625}, {"x": 9034.6025390625, "y": -2720.59228515625}, {"x": 9034.6328125, "y": -2720.62548828125}, {"x": 9034.6689453125, "y": -2720.671142578125}, {"x": 9034.7080078125, "y": -2720.723388671875}, {"x": 9034.7568359375, "y": -2720.792724609375}, {"x": 9034.798828125, "y": -2720.848388671875}, {"x": 9034.8623046875, "y": -2720.921875}, {"x": 9034.919921875, "y": -2720.998291015625}, {"x": 9034.9814453125, "y": -2721.080810546875}, {"x": 9035.0517578125, "y": -2721.181640625}, {"x": 9035.126953125, "y": -2721.29443359375}, {"x": 9035.2041015625, "y": -2721.421875}, {"x": 9035.2900390625, "y": -2721.55029296875}, {"x": 9035.3857421875, "y": -2721.697509765625}], "width": 1.9770376682281494, "length": 4.493621349334717, "heading": [-49.852348638629145, -49.8363694110659, -49.783251029890714, -49.73959929090516, -49.70622015643131, -49.70133998626933, -49.742003517493, -49.71801589312792, -49.70170198629535, -49.639311623321866, -49.72122949713241, -49.641640717828835, -49.66549173841052, -49.92391536075254, -49.67389287108964, -49.83754761869773, -49.80383038985996, -49.65799219070185, -49.7785381993634, -50.0108192726572, -50.045263916641574, -50.161790358976575, -50.22402021250456, -50.1747438127375, -50.06975355991065, -50.11881822381344, -50.19001953081624, -50.260988611387255, -50.2850991791574, -50.332668031631954, -50.072014352525926, -50.2473350632364, -50.13459596079617, -50.206603230121026, -50.216384061012484, -50.186570285285384, -50.191129436556366, -50.036644217909014, -49.988723610692205, -50.000420309645854, -50.05112080385486, -49.88007237647023, -49.92115596432786, -49.85937690328509, -49.94131185256856, -49.815783220907484, -49.948350362508265, -49.893261471757526, -49.83535854306874, -49.975244232365185, -49.73624566802268, -49.784886860196934, -49.776451576571965, -49.73725995111443, -49.73335308290918, -49.83424180713944, -49.681535852770885, -49.664258889265334, -49.72927887506927, -49.73498549812082, -49.723176101045865, -49.74839998965072, -49.84906673273296, -49.97069532637796, -49.86621733773886, -49.87196494192543, -49.85777522392472, -49.7975568611073, -49.837305146982196, -49.82111418355468, -49.81450597553269, -49.8157354095833, -49.72513295024307, -49.78183718073252, -49.73101715821304, -49.69706428784891, -49.826656882066146, -49.739882743755715, -49.86185284685922, -49.919847983101796, -49.86023409202593, -49.85417912932671, -49.8456174872021, -49.901044472316755, -50.14091047068385, -50.280772254318194, -50.616879033185356, -51.165090506538085, -51.660497787417455, -52.40134108593205, -53.23818952342036], "velocity": [{"x": 0.029296875, "y": -0.07080078125}, {"x": 0.009765625, "y": -0.048828125}, {"x": -0.05859375, "y": 0.0146484375}, {"x": 0.05859375, "y": -0.08056640625}, {"x": 0.0390625, "y": -0.00244140625}, {"x": -0.087890625, "y": 0.04150390625}, {"x": -0.05859375, "y": 0.04638671875}, {"x": -0.029296875, "y": 0.0341796875}, {"x": -0.009765625, "y": -0.0}, {"x": -0.0390625, "y": 0.03662109375}, {"x": 0.009765625, "y": -0.10986328125}, {"x": 0.009765625, "y": -0.05859375}, {"x": 0.048828125, "y": -0.146484375}, {"x": 0.087890625, "y": -0.205078125}, {"x": 0.078125, "y": -0.09033203125}, {"x": 0.107421875, "y": -0.22216796875}, {"x": 0.185546875, "y": -0.23681640625}, {"x": 0.185546875, "y": -0.13671875}, {"x": 0.224609375, "y": -0.27587890625}, {"x": 0.3515625, "y": -0.40283203125}, {"x": 0.21484375, "y": -0.3515625}, {"x": 0.390625, "y": -0.5029296875}, {"x": 0.29296875, "y": -0.43212890625}, {"x": 0.44921875, "y": -0.537109375}, {"x": 0.498046875, "y": -0.46142578125}, {"x": 0.390625, "y": -0.6103515625}, {"x": 0.60546875, "y": -0.7080078125}, {"x": 0.537109375, "y": -0.64453125}, {"x": 0.546875, "y": -0.70068359375}, {"x": 0.654296875, "y": -0.72265625}, {"x": 0.5859375, "y": -0.68115234375}, {"x": 0.703125, "y": -0.79345703125}, {"x": 0.751953125, "y": -0.85205078125}, {"x": 0.68359375, "y": -0.830078125}, {"x": 0.703125, "y": -0.77392578125}, {"x": 0.72265625, "y": -0.9423828125}, {"x": 0.732421875, "y": -0.95703125}, {"x": 0.673828125, "y": -0.72509765625}, {"x": 0.712890625, "y": -0.89111328125}, {"x": 0.712890625, "y": -0.84228515625}, {"x": 0.625, "y": -0.6884765625}, {"x": 0.546875, "y": -0.71533203125}, {"x": 0.517578125, "y": -0.61767578125}, {"x": 0.46875, "y": -0.6689453125}, {"x": 0.390625, "y": -0.5029296875}, {"x": 0.458984375, "y": -0.5078125}, {"x": 0.3125, "y": -0.41748046875}, {"x": 0.185546875, "y": -0.2978515625}, {"x": 0.15625, "y": -0.25146484375}, {"x": 0.205078125, "y": -0.23193359375}, {"x": 0.048828125, "y": -0.1708984375}, {"x": 0.087890625, "y": -0.1171875}, {"x": 0.048828125, "y": -0.0927734375}, {"x": -0.087890625, "y": -0.009765625}, {"x": 0.029296875, "y": -0.0634765625}, {"x": 0.0390625, "y": -0.09765625}, {"x": -0.029296875, "y": 0.01220703125}, {"x": -0.01953125, "y": -0.01708984375}, {"x": 0.048828125, "y": -0.03662109375}, {"x": -0.029296875, "y": -0.01708984375}, {"x": -0.01953125, "y": -0.029296875}, {"x": -0.068359375, "y": 0.07568359375}, {"x": 0.05859375, "y": -0.11474609375}, {"x": -0.048828125, "y": 0.00732421875}, {"x": 0.009765625, "y": -0.0732421875}, {"x": 0.009765625, "y": -0.00244140625}, {"x": -0.01953125, "y": -0.00732421875}, {"x": -0.029296875, "y": 0.01953125}, {"x": 0.01953125, "y": -0.00244140625}, {"x": 0.029296875, "y": -0.0390625}, {"x": 0.0390625, "y": -0.1025390625}, {"x": -0.0, "y": -0.01953125}, {"x": 0.01953125, "y": 0.00244140625}, {"x": 0.15625, "y": -0.2197265625}, {"x": 0.126953125, "y": -0.1806640625}, {"x": 0.205078125, "y": -0.224609375}, {"x": 0.205078125, "y": -0.2685546875}, {"x": 0.283203125, "y": -0.3662109375}, {"x": 0.302734375, "y": -0.33203125}, {"x": 0.361328125, "y": -0.45654296875}, {"x": 0.390625, "y": -0.5224609375}, {"x": 0.48828125, "y": -0.693359375}, {"x": 0.419921875, "y": -0.556640625}, {"x": 0.634765625, "y": -0.73486328125}, {"x": 0.576171875, "y": -0.76416015625}, {"x": 0.615234375, "y": -0.8251953125}, {"x": 0.703125, "y": -1.00830078125}, {"x": 0.751953125, "y": -1.1279296875}, {"x": 0.771484375, "y": -1.2744140625}, {"x": 0.859375, "y": -1.2841796875}, {"x": 0.95703125, "y": -1.47216796875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9035.3857421875, "y": -2721.697509765625}, "type": "vehicle"}, {"position": [{"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}], "width": 2.0748846530914307, "length": 4.75024938583374, "heading": [128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9060.58203125, "y": -2699.556884765625}, "type": "vehicle"}, {"position": [{"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0736148357391357, "length": 4.616311550140381, "heading": [-47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9093.0908203125, "y": -2698.192626953125}, "type": "vehicle"}, {"position": [{"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}], "width": 2.2487564086914062, "length": 5.184168815612793, "heading": [46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9033.927734375, "y": -2738.560302734375}, "type": "vehicle"}, {"position": [{"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.021864414215088, "length": 4.49747371673584, "heading": [40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9109.2626953125, "y": -2675.407470703125}, "type": "vehicle"}, {"position": [{"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.2503910064697266, "length": 4.738343238830566, "heading": [-137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9089.544921875, "y": -2683.368408203125}, "type": "vehicle"}, {"position": [{"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}], "width": 2.020557165145874, "length": 4.397185325622559, "heading": [48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9028.4072265625, "y": -2733.3095703125}, "type": "vehicle"}, {"position": [{"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 1.8990395069122314, "length": 4.269332408905029, "heading": [-48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9081.5927734375, "y": -2708.18115234375}, "type": "vehicle"}, {"position": [{"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}], "width": 2.15478515625, "length": 4.685556411743164, "heading": [133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9007.4833984375, "y": -2745.688720703125}, "type": "vehicle"}, {"position": [{"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}], "width": 2.124758720397949, "length": 5.240989685058594, "heading": [45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.0732421875, "y": -2745.847900390625}, "type": "vehicle"}, {"position": [{"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 1.9929150342941284, "length": 4.484225273132324, "heading": [-43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9095.1630859375, "y": -2696.22412109375}, "type": "vehicle"}, {"position": [{"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}], "width": 2.1172163486480713, "length": 4.948432445526123, "heading": [225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9028.587890625, "y": -2743.300537109375}, "type": "vehicle"}, {"position": [{"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.2004616260528564, "length": 5.181097984313965, "heading": [-223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9089.3876953125, "y": -2675.417724609375}, "type": "vehicle"}, {"position": [{"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0815200805664062, "length": 4.57900333404541, "heading": [289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9105.5400390625, "y": -2688.72314453125}, "type": "vehicle"}, {"position": [{"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}], "width": 2.0089006423950195, "length": 4.462515354156494, "heading": [-44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.0908203125, "y": -2764.233642578125}, "type": "vehicle"}, {"position": [{"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}], "width": 2.0605602264404297, "length": 4.632732391357422, "heading": [44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9021.3896484375, "y": -2750.712890625}, "type": "vehicle"}, {"position": [{"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.1933977603912354, "length": 4.969088077545166, "heading": [-168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 8993.662109375, "y": -2690.217529296875}, "type": "vehicle"}, {"position": [{"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}], "width": 2.483011245727539, "length": 5.666296005249023, "heading": [-45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8993.185546875, "y": -2760.38330078125}, "type": "vehicle"}, {"position": [{"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0157320499420166, "length": 4.56960391998291, "heading": [-153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 8988.77734375, "y": -2676.41748046875}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8979.8857421875, "y": -2772.947265625}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.998046875, "y": -2769.9716796875}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": -10000.0, "y": -10000.0}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 315.1469773611393, 315.1469773611393, 315.1469773611393, -10000.0, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9033.6787109375, "y": -2754.349609375}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8973.0087890625, "y": -2779.685791015625}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8978.07421875, "y": -2774.968505859375}, "type": "vehicle"}, {"position": [{"x": 9040.0, "y": -2718.302734375}, {"x": 9040.0361328125, "y": -2718.23046875}, {"x": 9040.0859375, "y": -2718.157958984375}, {"x": 9040.1337890625, "y": -2718.08740234375}, {"x": 9040.1806640625, "y": -2718.031494140625}, {"x": 9040.232421875, "y": -2717.964111328125}, {"x": 9040.2900390625, "y": -2717.904052734375}, {"x": 9040.345703125, "y": -2717.84765625}, {"x": 9040.419921875, "y": -2717.79541015625}, {"x": 9040.470703125, "y": -2717.72998046875}, {"x": 9040.5234375, "y": -2717.65771484375}, {"x": 9040.5732421875, "y": -2717.58349609375}, {"x": 9040.6181640625, "y": -2717.4970703125}, {"x": 9040.6650390625, "y": -2717.4404296875}, {"x": 9040.7373046875, "y": -2717.380126953125}, {"x": 9040.8037109375, "y": -2717.31298828125}, {"x": 9040.8642578125, "y": -2717.264892578125}, {"x": 9040.9169921875, "y": -2717.195556640625}, {"x": 9040.9638671875, "y": -2717.130859375}, {"x": 9041.005859375, "y": -2717.059326171875}, {"x": 9041.0595703125, "y": -2717.000732421875}, {"x": 9041.099609375, "y": -2716.9287109375}, {"x": 9041.16015625, "y": -2716.87353515625}, {"x": 9041.2314453125, "y": -2716.7958984375}, {"x": 9041.2998046875, "y": -2716.730224609375}, {"x": 9041.3515625, "y": -2716.6650390625}, {"x": 9041.423828125, "y": -2716.602294921875}, {"x": 9041.48828125, "y": -2716.52197265625}, {"x": 9041.5595703125, "y": -2716.46044921875}, {"x": 9041.607421875, "y": -2716.369384765625}, {"x": 9041.6826171875, "y": -2716.28515625}, {"x": 9041.748046875, "y": -2716.218505859375}, {"x": 9041.826171875, "y": -2716.16259765625}, {"x": 9041.9091796875, "y": -2716.0888671875}, {"x": 9041.98828125, "y": -2716.03125}, {"x": 9042.05859375, "y": -2715.963623046875}, {"x": 9042.134765625, "y": -2715.904541015625}, {"x": 9042.197265625, "y": -2715.8701171875}, {"x": 9042.27734375, "y": -2715.827392578125}, {"x": 9042.349609375, "y": -2715.768798828125}, {"x": 9042.43359375, "y": -2715.710205078125}, {"x": 9042.521484375, "y": -2715.64208984375}, {"x": 9042.5771484375, "y": -2715.595458984375}, {"x": 9042.666015625, "y": -2715.541015625}, {"x": 9042.7412109375, "y": -2715.492431640625}, {"x": 9042.814453125, "y": -2715.459716796875}, {"x": 9042.8935546875, "y": -2715.4189453125}, {"x": 9042.95703125, "y": -2715.39404296875}, {"x": 9043.0361328125, "y": -2715.3466796875}, {"x": 9043.1015625, "y": -2715.32177734375}, {"x": 9043.1748046875, "y": -2715.293701171875}, {"x": 9043.2666015625, "y": -2715.253173828125}, {"x": 9043.3388671875, "y": -2715.205322265625}, {"x": 9043.4208984375, "y": -2715.16796875}, {"x": 9043.5068359375, "y": -2715.127685546875}, {"x": 9043.6083984375, "y": -2715.09326171875}, {"x": 9043.703125, "y": -2715.05908203125}, {"x": 9043.7744140625, "y": -2715.031494140625}, {"x": 9043.8564453125, "y": -2715.007080078125}, {"x": 9043.9345703125, "y": -2714.969482421875}, {"x": 9044.015625, "y": -2714.955322265625}, {"x": 9044.0859375, "y": -2714.932373046875}, {"x": 9044.1328125, "y": -2714.93017578125}, {"x": 9044.193359375, "y": -2714.90771484375}, {"x": 9044.220703125, "y": -2714.905029296875}, {"x": 9044.2763671875, "y": -2714.89306640625}, {"x": 9044.30859375, "y": -2714.891845703125}, {"x": 9044.34375, "y": -2714.8955078125}, {"x": 9044.38671875, "y": -2714.989501953125}, {"x": 9044.427734375, "y": -2714.844482421875}, {"x": 9044.4462890625, "y": -2714.880126953125}, {"x": 9044.4677734375, "y": -2714.8291015625}, {"x": 9044.46484375, "y": -2714.810791015625}, {"x": 9044.4775390625, "y": -2714.822265625}, {"x": 9044.435546875, "y": -2714.81787109375}, {"x": 9044.3984375, "y": -2714.80615234375}, {"x": 9044.3330078125, "y": -2714.779052734375}, {"x": 9044.3427734375, "y": -2714.82861328125}, {"x": 9044.32421875, "y": -2714.835205078125}, {"x": 9044.30859375, "y": -2714.871826171875}, {"x": 9044.298828125, "y": -2714.839599609375}, {"x": 9044.3076171875, "y": -2714.84912109375}, {"x": 9044.3212890625, "y": -2714.867919921875}, {"x": 9044.337890625, "y": -2714.884033203125}, {"x": 9044.3564453125, "y": -2714.886962890625}, {"x": 9044.369140625, "y": -2714.916748046875}, {"x": 9044.37109375, "y": -2714.921630859375}, {"x": 9044.400390625, "y": -2714.935546875}, {"x": 9044.4501953125, "y": -2714.935791015625}, {"x": 9044.48046875, "y": -2714.94189453125}, {"x": 9044.5205078125, "y": -2714.949951171875}], "width": 1.00785231590271, "length": 0.9430193901062012, "heading": [-304.5031657284283, -305.20432562786516, -305.21069136417157, -305.3180619379242, -305.98528945756436, -306.99047473733685, -307.7410305648512, -309.6426098712961, -310.54575212486856, -310.43567679620463, -309.5271250328095, -309.26812425948265, -309.7156382539019, -309.63487809715565, -310.33740403442647, -310.85718143026446, -311.01842853619013, -311.8070421777598, -311.471352040432, -310.3914718118963, -309.8649188684017, -308.805447245106, -309.31082660217356, -310.39852056711976, -311.74600760733654, -312.7496902454916, -312.61180238652736, -313.6163319681395, -313.7052337103764, -314.5380250154977, -315.09741750852174, -316.25354996895146, -316.88077990081206, -317.81504049624306, -318.2701496610194, -319.5110311086706, -320.6492684734749, 39.01026344450182, 38.06055637626281, 36.99428529964836, 36.01138009694851, 35.22940539925209, 34.242593328346985, 33.86530733897382, 32.95240132998284, 32.15844989557681, 31.51080794338161, 29.097114713347484, 28.554848919667247, 27.741371681971437, 26.300794286009246, 25.545559778913425, 24.42834573637444, 22.916488486233995, 22.424735356560586, 21.735080910780642, 21.2281442705823, 20.75613892534669, 21.165902464223265, 21.186121531713795, 19.905163949107507, 20.682294335135097, 19.13687353541321, 16.872961231235585, 17.318514961363025, 16.552849047857304, 15.679366890755638, 18.260976906439943, 21.032114426308347, -23.907011057405708, -2.792434476587326, -44.19260800554646, -66.21052192721545, -72.47218664128386, -80.50011095396087, -106.48515583992418, -86.60998837410408, -27.28808788525083, -22.63146298462207, -60.95412445518953, -46.77481566278314, -70.58648752465922, -61.74118764381761, -58.45200076597125, -54.03071003319528, -56.20219109488241, -38.689364081821694, -9.207813878587332, -4.271472240879037, -0.3560812402080366, 5.255711038014336], "velocity": [{"x": 0.33203125, "y": 0.68115234375}, {"x": 0.361328125, "y": 0.72265625}, {"x": 0.498046875, "y": 0.72509765625}, {"x": 0.478515625, "y": 0.70556640625}, {"x": 0.46875, "y": 0.55908203125}, {"x": 0.517578125, "y": 0.673828125}, {"x": 0.576171875, "y": 0.6005859375}, {"x": 0.556640625, "y": 0.56396484375}, {"x": 0.7421875, "y": 0.5224609375}, {"x": 0.5078125, "y": 0.654296875}, {"x": 0.52734375, "y": 0.72265625}, {"x": 0.498046875, "y": 0.7421875}, {"x": 0.44921875, "y": 0.8642578125}, {"x": 0.46875, "y": 0.56640625}, {"x": 0.72265625, "y": 0.60302734375}, {"x": 0.6640625, "y": 0.67138671875}, {"x": 0.60546875, "y": 0.48095703125}, {"x": 0.52734375, "y": 0.693359375}, {"x": 0.46875, "y": 0.64697265625}, {"x": 0.419921875, "y": 0.71533203125}, {"x": 0.537109375, "y": 0.5859375}, {"x": 0.400390625, "y": 0.72021484375}, {"x": 0.60546875, "y": 0.5517578125}, {"x": 0.712890625, "y": 0.7763671875}, {"x": 0.68359375, "y": 0.65673828125}, {"x": 0.517578125, "y": 0.65185546875}, {"x": 0.72265625, "y": 0.62744140625}, {"x": 0.64453125, "y": 0.80322265625}, {"x": 0.712890625, "y": 0.615234375}, {"x": 0.478515625, "y": 0.91064453125}, {"x": 0.751953125, "y": 0.84228515625}, {"x": 0.654296875, "y": 0.66650390625}, {"x": 0.78125, "y": 0.55908203125}, {"x": 0.830078125, "y": 0.7373046875}, {"x": 0.791015625, "y": 0.576171875}, {"x": 0.703125, "y": 0.67626953125}, {"x": 0.76171875, "y": 0.5908203125}, {"x": 0.625, "y": 0.34423828125}, {"x": 0.80078125, "y": 0.42724609375}, {"x": 0.72265625, "y": 0.5859375}, {"x": 0.83984375, "y": 0.5859375}, {"x": 0.87890625, "y": 0.68115234375}, {"x": 0.556640625, "y": 0.46630859375}, {"x": 0.888671875, "y": 0.54443359375}, {"x": 0.751953125, "y": 0.48583984375}, {"x": 0.732421875, "y": 0.3271484375}, {"x": 0.791015625, "y": 0.40771484375}, {"x": 0.634765625, "y": 0.2490234375}, {"x": 0.791015625, "y": 0.4736328125}, {"x": 0.654296875, "y": 0.2490234375}, {"x": 0.732421875, "y": 0.28076171875}, {"x": 0.91796875, "y": 0.4052734375}, {"x": 0.72265625, "y": 0.478515625}, {"x": 0.8203125, "y": 0.37353515625}, {"x": 0.859375, "y": 0.40283203125}, {"x": 1.015625, "y": 0.34423828125}, {"x": 0.947265625, "y": 0.341796875}, {"x": 0.712890625, "y": 0.27587890625}, {"x": 0.8203125, "y": 0.244140625}, {"x": 0.78125, "y": 0.3759765625}, {"x": 0.810546875, "y": 0.1416015625}, {"x": 0.703125, "y": 0.2294921875}, {"x": 0.46875, "y": 0.02197265625}, {"x": 0.60546875, "y": 0.224609375}, {"x": 0.2734375, "y": 0.02685546875}, {"x": 0.556640625, "y": 0.11962890625}, {"x": 0.322265625, "y": 0.01220703125}, {"x": 0.3515625, "y": -0.03662109375}, {"x": 0.4296875, "y": -0.93994140625}, {"x": 0.41015625, "y": 1.4501953125}, {"x": 0.185546875, "y": -0.3564453125}, {"x": 0.21484375, "y": 0.51025390625}, {"x": -0.029296875, "y": 0.18310546875}, {"x": 0.126953125, "y": -0.11474609375}, {"x": -0.419921875, "y": 0.0439453125}, {"x": -0.37109375, "y": 0.1171875}, {"x": -0.654296875, "y": 0.27099609375}, {"x": 0.09765625, "y": -0.49560546875}, {"x": -0.185546875, "y": -0.06591796875}, {"x": -0.15625, "y": -0.3662109375}, {"x": -0.09765625, "y": 0.322265625}, {"x": 0.087890625, "y": -0.09521484375}, {"x": 0.13671875, "y": -0.18798828125}, {"x": 0.166015625, "y": -0.1611328125}, {"x": 0.185546875, "y": -0.029296875}, {"x": 0.126953125, "y": -0.2978515625}, {"x": 0.01953125, "y": -0.048828125}, {"x": 0.29296875, "y": -0.13916015625}, {"x": 0.498046875, "y": -0.00244140625}, {"x": 0.302734375, "y": -0.06103515625}, {"x": 0.400390625, "y": -0.08056640625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9044.5205078125, "y": -2714.949951171875}, "type": "pedestrian"}, {"position": [{"x": 9040.72265625, "y": -2717.474853515625}, {"x": 9040.8310546875, "y": -2717.40966796875}, {"x": 9040.880859375, "y": -2717.352294921875}, {"x": 9040.955078125, "y": -2717.279296875}, {"x": 9041.0263671875, "y": -2717.22998046875}, {"x": 9041.09375, "y": -2717.170166015625}, {"x": 9041.1650390625, "y": -2717.084228515625}, {"x": 9041.2451171875, "y": -2717.014404296875}, {"x": 9041.326171875, "y": -2716.9326171875}, {"x": 9041.4130859375, "y": -2716.852294921875}, {"x": 9041.4970703125, "y": -2716.803955078125}, {"x": 9041.5888671875, "y": -2716.745849609375}, {"x": 9041.6767578125, "y": -2716.704833984375}, {"x": 9041.7529296875, "y": -2716.6494140625}, {"x": 9041.830078125, "y": -2716.587646484375}, {"x": 9041.91796875, "y": -2716.512451171875}, {"x": 9041.982421875, "y": -2716.456298828125}, {"x": 9042.0380859375, "y": -2716.377197265625}, {"x": 9042.1201171875, "y": -2716.331298828125}, {"x": 9042.2080078125, "y": -2716.2783203125}, {"x": 9042.2900390625, "y": -2716.24560546875}, {"x": 9042.3603515625, "y": -2716.197509765625}, {"x": 9042.4365234375, "y": -2716.172607421875}, {"x": 9042.4970703125, "y": -2716.130126953125}, {"x": 9042.580078125, "y": -2716.105224609375}, {"x": 9042.66015625, "y": -2716.05615234375}, {"x": 9042.72265625, "y": -2715.991455078125}, {"x": 9042.818359375, "y": -2715.950927734375}, {"x": 9042.916015625, "y": -2715.902099609375}, {"x": 9043.0078125, "y": -2715.887939453125}, {"x": 9043.109375, "y": -2715.857666015625}, {"x": 9043.20703125, "y": -2715.856201171875}, {"x": 9043.302734375, "y": -2715.819580078125}, {"x": 9043.3798828125, "y": -2715.81396484375}, {"x": 9043.4736328125, "y": -2715.7900390625}, {"x": 9043.56640625, "y": -2715.79345703125}, {"x": 9043.65234375, "y": -2715.75048828125}, {"x": 9043.7294921875, "y": -2715.723876953125}, {"x": 9043.8193359375, "y": -2715.68896484375}, {"x": 9043.8994140625, "y": -2715.68701171875}, {"x": 9044.0078125, "y": -2715.65869140625}, {"x": 9044.109375, "y": -2715.65234375}, {"x": 9044.2470703125, "y": -2715.67236328125}, {"x": 9044.3330078125, "y": -2715.623779296875}, {"x": 9044.423828125, "y": -2715.578125}, {"x": 9044.4921875, "y": -2715.554931640625}, {"x": 9044.5439453125, "y": -2715.52392578125}, {"x": 9044.6318359375, "y": -2715.47802734375}, {"x": 9044.693359375, "y": -2715.423583984375}, {"x": 9044.767578125, "y": -2715.389404296875}, {"x": 9044.83203125, "y": -2715.35009765625}, {"x": 9044.916015625, "y": -2715.306396484375}, {"x": 9045.0146484375, "y": -2715.261962890625}, {"x": 9045.1005859375, "y": -2715.22802734375}, {"x": 9045.1962890625, "y": -2715.177001953125}, {"x": 9045.263671875, "y": -2715.114990234375}, {"x": 9045.357421875, "y": -2715.0693359375}, {"x": 9045.4423828125, "y": -2715.017578125}, {"x": 9045.51953125, "y": -2714.97216796875}, {"x": 9045.5732421875, "y": -2714.926025390625}, {"x": 9045.630859375, "y": -2714.871337890625}, {"x": 9045.712890625, "y": -2714.826904296875}, {"x": 9045.791015625, "y": -2714.794677734375}, {"x": 9045.86328125, "y": -2714.7470703125}, {"x": 9045.9423828125, "y": -2714.71435546875}, {"x": 9046.0234375, "y": -2714.648681640625}, {"x": 9046.0830078125, "y": -2714.591064453125}, {"x": 9046.169921875, "y": -2714.540771484375}, {"x": 9046.2578125, "y": -2714.4736328125}, {"x": 9046.3408203125, "y": -2714.41455078125}, {"x": 9046.4453125, "y": -2714.352294921875}, {"x": 9046.49609375, "y": -2714.3134765625}, {"x": 9046.5791015625, "y": -2714.242919921875}, {"x": 9046.6494140625, "y": -2714.202392578125}, {"x": 9046.69921875, "y": -2714.160400390625}, {"x": 9046.74609375, "y": -2714.10693359375}, {"x": 9046.8154296875, "y": -2714.05419921875}, {"x": 9046.8876953125, "y": -2714.01611328125}, {"x": 9046.947265625, "y": -2713.975341796875}, {"x": 9047.017578125, "y": -2713.9365234375}, {"x": 9047.103515625, "y": -2713.876708984375}, {"x": 9047.1923828125, "y": -2713.8212890625}, {"x": 9047.271484375, "y": -2713.777587890625}, {"x": 9047.3662109375, "y": -2713.742431640625}, {"x": 9047.4423828125, "y": -2713.697021484375}, {"x": 9047.533203125, "y": -2713.640380859375}, {"x": 9047.5908203125, "y": -2713.5966796875}, {"x": 9047.6767578125, "y": -2713.542724609375}, {"x": 9047.7236328125, "y": -2713.506103515625}, {"x": 9047.8134765625, "y": -2713.446533203125}, {"x": 9047.8623046875, "y": -2713.4326171875}], "width": 1.2542089223861694, "length": 0.9835572242736816, "heading": [39.16974494652703, -320.80753761692245, 39.44077709807689, -322.39435448565644, 38.920350834267765, 39.24650261241963, -320.8085211641629, -320.66273760651814, -321.68068167966015, -321.33818867391903, 38.584633376183305, 38.77515467289164, 38.53654201423724, 37.78257109213787, 37.02614471703189, -322.9320816186332, -320.5858296764638, -321.3037918412589, 34.95500596444141, 33.49536380295842, 32.199987691014236, 30.649504013570077, 29.83137712459678, 29.269273046472243, 27.220209465279247, 24.560209368490707, 25.244753125224186, 24.697287850038276, 24.178594746731047, 21.07236302353994, 19.164704848733717, 16.78855033837798, 14.764229117453358, 13.750401087059917, 13.40698942087543, 12.949289906856412, 14.04023248052659, 14.6929731689372, 17.010791033591858, 14.691904244332093, 15.329440931650252, 12.986603230292193, 12.847349333493973, 16.951925048230102, 18.409086143497085, 21.165096501901203, 22.866733973225035, 25.25348039943617, 26.635861168575268, 27.403168035029086, 28.86414379094752, 28.642304369347382, 29.249431346933353, 29.30559599247837, 30.077636180027007, 30.774680890488902, 31.039193626475985, 31.23280558378375, 32.141009007531174, 32.8218081130522, 33.99047738570348, 33.99131066878222, 34.618765996885436, 34.54534487840239, 35.625085088060096, 36.32012855309518, 36.03469836277493, 36.00239498309536, 36.43896018427506, 36.73296567709826, -322.3916224099885, 35.75427128602172, 35.09981622012943, 35.31033631072757, 34.26246234864255, 34.1744417008086, 34.91905526374505, 35.28888951673373, 35.10448123933256, 34.87806046834663, 34.262288178818714, 33.65445598420094, 32.962568066562405, 32.54218358352646, 31.587476816815006, 29.70174013414994, 29.822935010782643, 28.317243713915428, 28.868627810137635, 29.916368583533835, 30.28890759143384], "velocity": [{"x": 0.673828125, "y": 0.52978515625}, {"x": 1.083984375, "y": 0.65185546875}, {"x": 0.498046875, "y": 0.57373046875}, {"x": 0.7421875, "y": 0.72998046875}, {"x": 0.712890625, "y": 0.4931640625}, {"x": 0.673828125, "y": 0.59814453125}, {"x": 0.712890625, "y": 0.859375}, {"x": 0.80078125, "y": 0.6982421875}, {"x": 0.810546875, "y": 0.81787109375}, {"x": 0.869140625, "y": 0.80322265625}, {"x": 0.83984375, "y": 0.4833984375}, {"x": 0.91796875, "y": 0.5810546875}, {"x": 0.87890625, "y": 0.41015625}, {"x": 0.76171875, "y": 0.55419921875}, {"x": 0.771484375, "y": 0.61767578125}, {"x": 0.87890625, "y": 0.751953125}, {"x": 0.64453125, "y": 0.5615234375}, {"x": 0.556640625, "y": 0.791015625}, {"x": 0.8203125, "y": 0.458984375}, {"x": 0.87890625, "y": 0.52978515625}, {"x": 0.8203125, "y": 0.3271484375}, {"x": 0.703125, "y": 0.48095703125}, {"x": 0.76171875, "y": 0.2490234375}, {"x": 0.60546875, "y": 0.4248046875}, {"x": 0.830078125, "y": 0.2490234375}, {"x": 0.80078125, "y": 0.49072265625}, {"x": 0.625, "y": 0.64697265625}, {"x": 0.95703125, "y": 0.4052734375}, {"x": 0.9765625, "y": 0.48828125}, {"x": 0.91796875, "y": 0.1416015625}, {"x": 1.015625, "y": 0.302734375}, {"x": 0.9765625, "y": 0.0146484375}, {"x": 0.95703125, "y": 0.3662109375}, {"x": 0.771484375, "y": 0.05615234375}, {"x": 0.9375, "y": 0.2392578125}, {"x": 0.927734375, "y": -0.0341796875}, {"x": 0.859375, "y": 0.4296875}, {"x": 0.771484375, "y": 0.26611328125}, {"x": 0.8984375, "y": 0.34912109375}, {"x": 0.80078125, "y": 0.01953125}, {"x": 1.083984375, "y": 0.283203125}, {"x": 1.015625, "y": 0.0634765625}, {"x": 1.376953125, "y": -0.2001953125}, {"x": 0.859375, "y": 0.48583984375}, {"x": 0.908203125, "y": 0.45654296875}, {"x": 0.68359375, "y": 0.23193359375}, {"x": 0.517578125, "y": 0.31005859375}, {"x": 0.87890625, "y": 0.458984375}, {"x": 0.615234375, "y": 0.54443359375}, {"x": 0.7421875, "y": 0.341796875}, {"x": 0.64453125, "y": 0.39306640625}, {"x": 0.83984375, "y": 0.43701171875}, {"x": 0.986328125, "y": 0.4443359375}, {"x": 0.859375, "y": 0.33935546875}, {"x": 0.95703125, "y": 0.51025390625}, {"x": 0.673828125, "y": 0.6201171875}, {"x": 0.9375, "y": 0.45654296875}, {"x": 0.849609375, "y": 0.517578125}, {"x": 0.771484375, "y": 0.4541015625}, {"x": 0.537109375, "y": 0.46142578125}, {"x": 0.576171875, "y": 0.546875}, {"x": 0.8203125, "y": 0.4443359375}, {"x": 0.78125, "y": 0.322265625}, {"x": 0.72265625, "y": 0.47607421875}, {"x": 0.791015625, "y": 0.3271484375}, {"x": 0.810546875, "y": 0.65673828125}, {"x": 0.595703125, "y": 0.576171875}, {"x": 0.869140625, "y": 0.5029296875}, {"x": 0.87890625, "y": 0.67138671875}, {"x": 0.830078125, "y": 0.5908203125}, {"x": 1.044921875, "y": 0.62255859375}, {"x": 0.5078125, "y": 0.38818359375}, {"x": 0.830078125, "y": 0.70556640625}, {"x": 0.703125, "y": 0.4052734375}, {"x": 0.498046875, "y": 0.419921875}, {"x": 0.46875, "y": 0.53466796875}, {"x": 0.693359375, "y": 0.52734375}, {"x": 0.72265625, "y": 0.380859375}, {"x": 0.595703125, "y": 0.40771484375}, {"x": 0.703125, "y": 0.38818359375}, {"x": 0.859375, "y": 0.59814453125}, {"x": 0.888671875, "y": 0.55419921875}, {"x": 0.791015625, "y": 0.43701171875}, {"x": 0.947265625, "y": 0.3515625}, {"x": 0.76171875, "y": 0.4541015625}, {"x": 0.908203125, "y": 0.56640625}, {"x": 0.576171875, "y": 0.43701171875}, {"x": 0.859375, "y": 0.53955078125}, {"x": 0.46875, "y": 0.3662109375}, {"x": 0.8984375, "y": 0.595703125}, {"x": 0.48828125, "y": 0.13916015625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9047.8623046875, "y": -2713.4326171875}, "type": "pedestrian"}, {"position": [{"x": 9038.46875, "y": -2720.55419921875}, {"x": 9038.5244140625, "y": -2720.48486328125}, {"x": 9038.591796875, "y": -2720.4111328125}, {"x": 9038.6533203125, "y": -2720.352294921875}, {"x": 9038.7109375, "y": -2720.296875}, {"x": 9038.787109375, "y": -2720.23388671875}, {"x": 9038.8369140625, "y": -2720.170654296875}, {"x": 9038.9072265625, "y": -2720.115234375}, {"x": 9038.9755859375, "y": -2720.046630859375}, {"x": 9039.0263671875, "y": -2719.978759765625}, {"x": 9039.08984375, "y": -2719.912109375}, {"x": 9039.12890625, "y": -2719.841552734375}, {"x": 9039.1875, "y": -2719.783203125}, {"x": 9039.2509765625, "y": -2719.72265625}, {"x": 9039.3076171875, "y": -2719.663818359375}, {"x": 9039.3720703125, "y": -2719.597900390625}, {"x": 9039.4208984375, "y": -2719.532470703125}, {"x": 9039.4736328125, "y": -2719.462646484375}, {"x": 9039.529296875, "y": -2719.39111328125}, {"x": 9039.580078125, "y": -2719.325927734375}, {"x": 9039.6494140625, "y": -2719.26318359375}, {"x": 9039.712890625, "y": -2719.19384765625}, {"x": 9039.7822265625, "y": -2719.1201171875}, {"x": 9039.841796875, "y": -2719.049072265625}, {"x": 9039.908203125, "y": -2718.98974609375}, {"x": 9039.953125, "y": -2718.923828125}, {"x": 9040.029296875, "y": -2718.85498046875}, {"x": 9040.0869140625, "y": -2718.7890625}, {"x": 9040.1630859375, "y": -2718.714111328125}, {"x": 9040.2265625, "y": -2718.642822265625}, {"x": 9040.30078125, "y": -2718.58154296875}, {"x": 9040.3623046875, "y": -2718.52685546875}, {"x": 9040.408203125, "y": -2718.4609375}, {"x": 9040.466796875, "y": -2718.39501953125}, {"x": 9040.537109375, "y": -2718.33203125}, {"x": 9040.5908203125, "y": -2718.266845703125}, {"x": 9040.650390625, "y": -2718.205810546875}, {"x": 9040.7080078125, "y": -2718.14453125}, {"x": 9040.7724609375, "y": -2718.08544921875}, {"x": 9040.83203125, "y": -2718.035888671875}, {"x": 9040.9013671875, "y": -2717.97802734375}, {"x": 9040.9658203125, "y": -2717.927734375}, {"x": 9041.025390625, "y": -2717.87109375}, {"x": 9041.08984375, "y": -2717.822509765625}, {"x": 9041.1513671875, "y": -2717.763916015625}, {"x": 9041.2119140625, "y": -2717.71337890625}, {"x": 9041.2744140625, "y": -2717.66552734375}, {"x": 9041.3388671875, "y": -2717.615966796875}, {"x": 9041.40234375, "y": -2717.570556640625}, {"x": 9041.462890625, "y": -2717.524658203125}, {"x": 9041.51953125, "y": -2717.485107421875}, {"x": 9041.576171875, "y": -2717.447998046875}, {"x": 9041.6357421875, "y": -2717.4189453125}, {"x": 9041.69140625, "y": -2717.375}, {"x": 9041.7490234375, "y": -2717.326904296875}, {"x": 9041.8125, "y": -2717.279052734375}, {"x": 9041.86328125, "y": -2717.22998046875}, {"x": 9041.908203125, "y": -2717.1826171875}, {"x": 9041.9697265625, "y": -2717.133544921875}, {"x": 9042.068359375, "y": -2717.08154296875}, {"x": 9042.1181640625, "y": -2717.0419921875}, {"x": 9042.1884765625, "y": -2716.982421875}, {"x": 9042.263671875, "y": -2716.928955078125}, {"x": 9042.3291015625, "y": -2716.8818359375}, {"x": 9042.400390625, "y": -2716.82666015625}, {"x": 9042.4697265625, "y": -2716.779296875}, {"x": 9042.552734375, "y": -2716.739990234375}, {"x": 9042.6162109375, "y": -2716.69580078125}, {"x": 9042.6953125, "y": -2716.642333984375}, {"x": 9042.7685546875, "y": -2716.600341796875}, {"x": 9042.8349609375, "y": -2716.5498046875}, {"x": 9042.9052734375, "y": -2716.516845703125}, {"x": 9042.9814453125, "y": -2716.480224609375}, {"x": 9043.044921875, "y": -2716.43603515625}, {"x": 9043.125, "y": -2716.4013671875}, {"x": 9043.1904296875, "y": -2716.3623046875}, {"x": 9043.2724609375, "y": -2716.335205078125}, {"x": 9043.3515625, "y": -2716.296142578125}, {"x": 9043.4169921875, "y": -2716.26171875}, {"x": 9043.5146484375, "y": -2716.2158203125}, {"x": 9043.5908203125, "y": -2716.182373046875}, {"x": 9043.6650390625, "y": -2716.155029296875}, {"x": 9043.740234375, "y": -2716.115478515625}, {"x": 9043.8134765625, "y": -2716.09228515625}, {"x": 9043.888671875, "y": -2716.062744140625}, {"x": 9043.955078125, "y": -2716.0439453125}, {"x": 9044.0263671875, "y": -2716.013427734375}, {"x": 9044.07421875, "y": -2715.986083984375}, {"x": 9044.140625, "y": -2715.96337890625}, {"x": 9044.19140625, "y": -2715.954345703125}, {"x": 9044.255859375, "y": -2715.931884765625}], "width": 0.821626603603363, "length": 0.8793514370918274, "heading": [-313.7354231465078, -313.090106873725, -312.9503065617932, -312.4612376964636, -312.3401794236143, -312.2642277200438, -312.6551331066219, -312.76209386902434, -312.28182228734573, -312.60702125410836, -312.20261941373025, -311.71904202049336, -311.38321527938217, -311.25636500611665, -311.3705111275259, -311.5952243512193, -312.1235258231415, -312.2241481699941, -311.9557217356126, -311.5065138542792, -311.1930901336457, -311.9140302609189, -311.4956128723639, -310.7531986303402, -310.6626030011891, -310.6789681344405, -311.5579315183511, -311.96828928368546, -312.4590793566859, -312.00172988986185, -312.0331487600439, -312.8141399104998, -312.33078108331637, -312.42107618414394, -312.63048978409654, -313.827630700303, -314.3077929989549, -314.9001070037784, -315.48744863088615, -315.4099396441848, -316.0172800651824, -316.4941638730327, -318.0506273810952, -318.2710512459898, -318.52076296204547, -319.459504161572, -319.5564655270295, -320.0612165066935, -320.34914996134455, -320.480180310382, -320.84922909161617, -320.55263495709755, 39.65013947161071, 39.59108907114136, 39.37208930068866, 39.263441481561266, 39.39343705693953, 39.07072769412935, 38.739815274125995, -321.73614281572065, 37.55631083059745, 37.30176334060941, 37.04261230312079, 36.652304558095, 36.56152792893094, 36.0198324560464, 34.72831198588869, 34.17278537993487, 33.19499598892335, 31.989050958876735, 30.632828106711493, 29.06256761652556, 29.422972793365037, 29.29503652002153, 28.03061141030126, 27.5295999592079, 26.068407344783317, 25.69389099711859, 25.689041562807883, 25.522586437640086, 25.054882404034295, 23.753673310538918, 23.898608217179298, 23.54379696527006, 23.35590699893947, 22.944659601465712, 23.018642503007996, 22.508618617304805, 23.405755427049517, 21.76296345051993, 20.597466800738122], "velocity": [{"x": 0.693359375, "y": 0.6494140625}, {"x": 0.556640625, "y": 0.693359375}, {"x": 0.673828125, "y": 0.7373046875}, {"x": 0.615234375, "y": 0.58837890625}, {"x": 0.576171875, "y": 0.55419921875}, {"x": 0.76171875, "y": 0.6298828125}, {"x": 0.498046875, "y": 0.63232421875}, {"x": 0.703125, "y": 0.55419921875}, {"x": 0.68359375, "y": 0.68603515625}, {"x": 0.5078125, "y": 0.6787109375}, {"x": 0.634765625, "y": 0.66650390625}, {"x": 0.390625, "y": 0.70556640625}, {"x": 0.5859375, "y": 0.58349609375}, {"x": 0.634765625, "y": 0.60546875}, {"x": 0.56640625, "y": 0.58837890625}, {"x": 0.64453125, "y": 0.6591796875}, {"x": 0.48828125, "y": 0.654296875}, {"x": 0.52734375, "y": 0.6982421875}, {"x": 0.556640625, "y": 0.71533203125}, {"x": 0.5078125, "y": 0.65185546875}, {"x": 0.693359375, "y": 0.62744140625}, {"x": 0.634765625, "y": 0.693359375}, {"x": 0.693359375, "y": 0.7373046875}, {"x": 0.595703125, "y": 0.71044921875}, {"x": 0.6640625, "y": 0.59326171875}, {"x": 0.44921875, "y": 0.6591796875}, {"x": 0.76171875, "y": 0.6884765625}, {"x": 0.576171875, "y": 0.6591796875}, {"x": 0.76171875, "y": 0.74951171875}, {"x": 0.634765625, "y": 0.712890625}, {"x": 0.7421875, "y": 0.61279296875}, {"x": 0.615234375, "y": 0.546875}, {"x": 0.458984375, "y": 0.6591796875}, {"x": 0.5859375, "y": 0.6591796875}, {"x": 0.703125, "y": 0.6298828125}, {"x": 0.537109375, "y": 0.65185546875}, {"x": 0.595703125, "y": 0.6103515625}, {"x": 0.576171875, "y": 0.61279296875}, {"x": 0.64453125, "y": 0.5908203125}, {"x": 0.595703125, "y": 0.49560546875}, {"x": 0.693359375, "y": 0.57861328125}, {"x": 0.64453125, "y": 0.5029296875}, {"x": 0.595703125, "y": 0.56640625}, {"x": 0.64453125, "y": 0.48583984375}, {"x": 0.615234375, "y": 0.5859375}, {"x": 0.60546875, "y": 0.50537109375}, {"x": 0.625, "y": 0.478515625}, {"x": 0.64453125, "y": 0.49560546875}, {"x": 0.634765625, "y": 0.4541015625}, {"x": 0.60546875, "y": 0.458984375}, {"x": 0.56640625, "y": 0.3955078125}, {"x": 0.56640625, "y": 0.37109375}, {"x": 0.595703125, "y": 0.29052734375}, {"x": 0.556640625, "y": 0.439453125}, {"x": 0.576171875, "y": 0.48095703125}, {"x": 0.634765625, "y": 0.478515625}, {"x": 0.5078125, "y": 0.49072265625}, {"x": 0.44921875, "y": 0.4736328125}, {"x": 0.615234375, "y": 0.49072265625}, {"x": 0.986328125, "y": 0.52001953125}, {"x": 0.498046875, "y": 0.3955078125}, {"x": 0.703125, "y": 0.595703125}, {"x": 0.751953125, "y": 0.53466796875}, {"x": 0.654296875, "y": 0.47119140625}, {"x": 0.712890625, "y": 0.5517578125}, {"x": 0.693359375, "y": 0.4736328125}, {"x": 0.830078125, "y": 0.39306640625}, {"x": 0.634765625, "y": 0.44189453125}, {"x": 0.791015625, "y": 0.53466796875}, {"x": 0.732421875, "y": 0.419921875}, {"x": 0.6640625, "y": 0.50537109375}, {"x": 0.703125, "y": 0.32958984375}, {"x": 0.76171875, "y": 0.3662109375}, {"x": 0.634765625, "y": 0.44189453125}, {"x": 0.80078125, "y": 0.3466796875}, {"x": 0.654296875, "y": 0.390625}, {"x": 0.8203125, "y": 0.27099609375}, {"x": 0.791015625, "y": 0.390625}, {"x": 0.654296875, "y": 0.34423828125}, {"x": 0.9765625, "y": 0.458984375}, {"x": 0.76171875, "y": 0.33447265625}, {"x": 0.7421875, "y": 0.2734375}, {"x": 0.751953125, "y": 0.3955078125}, {"x": 0.732421875, "y": 0.23193359375}, {"x": 0.751953125, "y": 0.29541015625}, {"x": 0.6640625, "y": 0.18798828125}, {"x": 0.712890625, "y": 0.30517578125}, {"x": 0.478515625, "y": 0.2734375}, {"x": 0.6640625, "y": 0.22705078125}, {"x": 0.5078125, "y": 0.09033203125}, {"x": 0.64453125, "y": 0.224609375}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9044.255859375, "y": -2715.931884765625}, "type": "pedestrian"}, {"position": [{"x": 9027.4560546875, "y": -2749.258056640625}, {"x": 9027.4033203125, "y": -2749.171142578125}, {"x": 9027.5078125, "y": -2749.40234375}, {"x": 9027.5087890625, "y": -2749.39111328125}, {"x": 9027.515625, "y": -2749.411865234375}, {"x": 9027.5283203125, "y": -2749.3984375}, {"x": 9027.5, "y": -2749.3896484375}, {"x": 9027.466796875, "y": -2749.371826171875}, {"x": 9027.466796875, "y": -2749.379638671875}, {"x": 9027.4501953125, "y": -2749.36083984375}, {"x": 9027.4140625, "y": -2749.34228515625}, {"x": 9027.4052734375, "y": -2749.318115234375}, {"x": 9027.4052734375, "y": -2749.3212890625}, {"x": 9027.3798828125, "y": -2749.32421875}, {"x": 9027.3583984375, "y": -2749.333251953125}, {"x": 9027.36328125, "y": -2749.320068359375}, {"x": 9027.3681640625, "y": -2749.319091796875}, {"x": 9027.373046875, "y": -2749.32275390625}, {"x": 9027.384765625, "y": -2749.329833984375}, {"x": 9027.384765625, "y": -2749.313720703125}, {"x": 9027.392578125, "y": -2749.33447265625}, {"x": 9027.3876953125, "y": -2749.32958984375}, {"x": 9027.392578125, "y": -2749.324951171875}, {"x": 9027.3837890625, "y": -2749.309814453125}, {"x": 9027.3779296875, "y": -2749.296875}, {"x": 9027.365234375, "y": -2749.219482421875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9027.39453125, "y": -2749.287841796875}, {"x": 9027.3525390625, "y": -2749.267333984375}, {"x": 9027.3486328125, "y": -2749.250244140625}, {"x": 9027.3310546875, "y": -2749.24072265625}, {"x": 9027.3359375, "y": -2749.23828125}, {"x": 9027.3408203125, "y": -2749.24169921875}, {"x": 9027.36328125, "y": -2749.25439453125}, {"x": 9027.3681640625, "y": -2749.25830078125}, {"x": 9027.3759765625, "y": -2749.282958984375}, {"x": 9027.375, "y": -2749.288818359375}, {"x": 9027.37890625, "y": -2749.29150390625}, {"x": 9027.3896484375, "y": -2749.288330078125}, {"x": 9027.3857421875, "y": -2749.295166015625}, {"x": 9027.3779296875, "y": -2749.297119140625}, {"x": 9027.37890625, "y": -2749.30517578125}, {"x": 9027.373046875, "y": -2749.30419921875}, {"x": 9027.3779296875, "y": -2749.304931640625}, {"x": 9027.3779296875, "y": -2749.302734375}, {"x": 9027.3828125, "y": -2749.31298828125}, {"x": 9027.3857421875, "y": -2749.303955078125}, {"x": 9027.38671875, "y": -2749.30322265625}, {"x": 9027.380859375, "y": -2749.30078125}, {"x": 9027.38671875, "y": -2749.302490234375}, {"x": 9027.3759765625, "y": -2749.290283203125}, {"x": 9027.369140625, "y": -2749.286865234375}, {"x": 9027.373046875, "y": -2749.296142578125}, {"x": 9027.37109375, "y": -2749.294921875}, {"x": 9027.361328125, "y": -2749.292724609375}, {"x": 9027.3623046875, "y": -2749.29736328125}, {"x": 9027.359375, "y": -2749.29638671875}, {"x": 9027.359375, "y": -2749.28662109375}, {"x": 9027.3515625, "y": -2749.28271484375}, {"x": 9027.3427734375, "y": -2749.284423828125}, {"x": 9027.3310546875, "y": -2749.279296875}, {"x": 9027.328125, "y": -2749.274169921875}, {"x": 9027.322265625, "y": -2749.2724609375}, {"x": 9027.3134765625, "y": -2749.26904296875}, {"x": 9027.298828125, "y": -2749.26953125}, {"x": 9027.3037109375, "y": -2749.265380859375}, {"x": 9027.30078125, "y": -2749.27978515625}, {"x": 9027.2998046875, "y": -2749.277099609375}, {"x": 9027.3037109375, "y": -2749.283447265625}, {"x": 9027.306640625, "y": -2749.300048828125}, {"x": 9027.294921875, "y": -2749.30712890625}, {"x": 9027.291015625, "y": -2749.3232421875}, {"x": 9027.2763671875, "y": -2749.34228515625}, {"x": 9027.2685546875, "y": -2749.361572265625}, {"x": 9027.25390625, "y": -2749.38330078125}, {"x": 9027.255859375, "y": -2749.385986328125}, {"x": 9027.2529296875, "y": -2749.407470703125}, {"x": 9027.2568359375, "y": -2749.393310546875}, {"x": 9027.2646484375, "y": -2749.390380859375}, {"x": 9027.271484375, "y": -2749.388916015625}, {"x": 9027.2890625, "y": -2749.376708984375}, {"x": 9027.255859375, "y": -2749.403564453125}, {"x": 9027.26953125, "y": -2749.391845703125}, {"x": 9027.236328125, "y": -2749.399658203125}, {"x": 9027.1923828125, "y": -2749.406982421875}, {"x": 9027.1943359375, "y": -2749.360107421875}, {"x": 9027.08203125, "y": -2749.37841796875}, {"x": 9027.06640625, "y": -2749.37841796875}, {"x": 9027.078125, "y": -2749.372314453125}], "width": 0.9056739211082458, "length": 0.8812844753265381, "heading": [-281.7846997941586, -285.72219456764424, -276.40690937001403, -273.0145456545655, -269.3380187488877, -256.01961432022637, -276.08345893167893, -280.5918482367509, -269.7988379518101, -277.8270696229998, -287.3536535527935, -290.9483547922145, -288.11240560731187, -298.0818043613758, -305.52550844339584, -300.1841092671491, -302.0054475112247, -304.07800011297337, -302.20803092200725, -303.39886074342064, -297.7676976218253, -295.62181610914735, -291.38412086126135, -296.1935575841908, -301.0984257102037, -298.8585334737897, -10000.0, -10000.0, -10000.0, -282.95982018048096, -296.63924108791247, -299.12398194569306, -306.317919670144, -287.8883207610221, -292.0459388710789, -308.5172952244015, -294.6761081166674, -297.3116595513219, -295.6375255442384, -296.55424621388084, -296.7692878897095, -298.69750493391746, -300.6265962423392, -301.9866235098721, -301.45064490532286, -299.33571780996346, -298.6303778347546, -298.39910762945794, -297.64174893353027, -297.47659495939934, -296.87862555794305, -300.02540299159466, -297.6271869702198, -300.12023333803114, -297.2926169839159, -297.5128222827571, -298.5961995681478, -299.59195918686567, -300.6940785113389, -301.2999982529891, -301.9837548304207, -304.09278064233723, -304.6022307921502, -305.06157467421184, -305.1136207156874, -306.4293610366419, -307.9072227277359, -306.0502308961929, -305.3699167341029, -306.29611770631334, -306.2824573279733, -305.80699419947035, -306.1829004906312, -306.9237301287675, -307.0994845564902, -305.71822906101687, -305.14430192543904, -306.6408236933455, -306.30961416011326, -303.1843108412122, -302.58836317575026, -303.40071855487486, -302.7277263555752, -305.45480232510783, -297.124730934117, -286.2755764941987, 48.08256466240881, -306.0093863649562, 42.56113877511346, 40.03400634824918, 41.31676710079635], "velocity": [{"x": -0.693359375, "y": 1.3720703125}, {"x": -0.52734375, "y": 0.869140625}, {"x": 1.044921875, "y": -2.31201171875}, {"x": 0.009765625, "y": 0.1123046875}, {"x": 0.068359375, "y": -0.20751953125}, {"x": 0.126953125, "y": 0.13427734375}, {"x": -0.283203125, "y": 0.087890625}, {"x": -0.33203125, "y": 0.17822265625}, {"x": -0.0, "y": -0.078125}, {"x": -0.166015625, "y": 0.18798828125}, {"x": -0.361328125, "y": 0.185546875}, {"x": -0.087890625, "y": 0.24169921875}, {"x": -0.0, "y": -0.03173828125}, {"x": -0.25390625, "y": -0.029296875}, {"x": -0.21484375, "y": -0.09033203125}, {"x": 0.048828125, "y": 0.1318359375}, {"x": 0.048828125, "y": 0.009765625}, {"x": 0.048828125, "y": -0.03662109375}, {"x": 0.1171875, "y": -0.07080078125}, {"x": -0.0, "y": 0.1611328125}, {"x": 0.078125, "y": -0.20751953125}, {"x": -0.048828125, "y": 0.048828125}, {"x": 0.048828125, "y": 0.04638671875}, {"x": -0.087890625, "y": 0.1513671875}, {"x": -0.05859375, "y": 0.12939453125}, {"x": -0.126953125, "y": 0.77392578125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 4.326171875, "y": -7.9296875}, {"x": -0.419921875, "y": 0.205078125}, {"x": -0.0390625, "y": 0.1708984375}, {"x": -0.17578125, "y": 0.09521484375}, {"x": 0.048828125, "y": 0.0244140625}, {"x": 0.048828125, "y": -0.0341796875}, {"x": 0.224609375, "y": -0.126953125}, {"x": 0.048828125, "y": -0.0390625}, {"x": 0.078125, "y": -0.24658203125}, {"x": -0.009765625, "y": -0.05859375}, {"x": 0.0390625, "y": -0.02685546875}, {"x": 0.107421875, "y": 0.03173828125}, {"x": -0.0390625, "y": -0.068359375}, {"x": -0.078125, "y": -0.01953125}, {"x": 0.009765625, "y": -0.08056640625}, {"x": -0.05859375, "y": 0.009765625}, {"x": 0.048828125, "y": -0.00732421875}, {"x": -0.0, "y": 0.02197265625}, {"x": 0.048828125, "y": -0.1025390625}, {"x": 0.029296875, "y": 0.09033203125}, {"x": 0.009765625, "y": 0.00732421875}, {"x": -0.05859375, "y": 0.0244140625}, {"x": 0.05859375, "y": -0.01708984375}, {"x": -0.107421875, "y": 0.1220703125}, {"x": -0.068359375, "y": 0.0341796875}, {"x": 0.0390625, "y": -0.0927734375}, {"x": -0.01953125, "y": 0.01220703125}, {"x": -0.09765625, "y": 0.02197265625}, {"x": 0.009765625, "y": -0.04638671875}, {"x": -0.029296875, "y": 0.009765625}, {"x": -0.0, "y": 0.09765625}, {"x": -0.078125, "y": 0.0390625}, {"x": -0.087890625, "y": -0.01708984375}, {"x": -0.1171875, "y": 0.05126953125}, {"x": -0.029296875, "y": 0.05126953125}, {"x": -0.05859375, "y": 0.01708984375}, {"x": -0.087890625, "y": 0.0341796875}, {"x": -0.146484375, "y": -0.0048828125}, {"x": 0.048828125, "y": 0.04150390625}, {"x": -0.029296875, "y": -0.14404296875}, {"x": -0.009765625, "y": 0.02685546875}, {"x": 0.0390625, "y": -0.0634765625}, {"x": 0.029296875, "y": -0.166015625}, {"x": -0.1171875, "y": -0.07080078125}, {"x": -0.0390625, "y": -0.1611328125}, {"x": -0.146484375, "y": -0.1904296875}, {"x": -0.078125, "y": -0.19287109375}, {"x": -0.146484375, "y": -0.21728515625}, {"x": 0.01953125, "y": -0.02685546875}, {"x": -0.029296875, "y": -0.21484375}, {"x": 0.0390625, "y": 0.1416015625}, {"x": 0.078125, "y": 0.029296875}, {"x": 0.068359375, "y": 0.0146484375}, {"x": 0.17578125, "y": 0.1220703125}, {"x": -0.33203125, "y": -0.2685546875}, {"x": 0.13671875, "y": 0.1171875}, {"x": -0.33203125, "y": -0.078125}, {"x": -0.439453125, "y": -0.0732421875}, {"x": 0.01953125, "y": 0.46875}, {"x": -1.123046875, "y": -0.18310546875}, {"x": -0.15625, "y": -0.0}, {"x": 0.1171875, "y": 0.06103515625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.078125, "y": -2749.372314453125}, "type": "pedestrian"}, {"position": [{"x": 9037.005859375, "y": -2721.020751953125}, {"x": 9037.0458984375, "y": -2720.92431640625}, {"x": 9037.1103515625, "y": -2720.825927734375}, {"x": 9037.1728515625, "y": -2720.749755859375}, {"x": 9037.234375, "y": -2720.657470703125}, {"x": 9037.291015625, "y": -2720.562255859375}, {"x": 9037.3515625, "y": -2720.471923828125}, {"x": 9037.4228515625, "y": -2720.405517578125}, {"x": 9037.4765625, "y": -2720.340576171875}, {"x": 9037.5380859375, "y": -2720.26123046875}, {"x": 9037.595703125, "y": -2720.16943359375}, {"x": 9037.65234375, "y": -2720.09130859375}, {"x": 9037.6787109375, "y": -2719.9873046875}, {"x": 9037.744140625, "y": -2719.892822265625}, {"x": 9037.8046875, "y": -2719.7880859375}, {"x": 9037.87109375, "y": -2719.690673828125}, {"x": 9037.9365234375, "y": -2719.6044921875}, {"x": 9038.01171875, "y": -2719.5166015625}, {"x": 9038.091796875, "y": -2719.440185546875}, {"x": 9038.1728515625, "y": -2719.35791015625}, {"x": 9038.2607421875, "y": -2719.294921875}, {"x": 9038.3095703125, "y": -2719.21875}, {"x": 9038.392578125, "y": -2719.159423828125}, {"x": 9038.462890625, "y": -2719.0712890625}, {"x": 9038.53125, "y": -2718.969482421875}, {"x": 9038.58984375, "y": -2718.876953125}, {"x": 9038.66015625, "y": -2718.796875}, {"x": 9038.7353515625, "y": -2718.707763671875}, {"x": 9038.8017578125, "y": -2718.6279296875}, {"x": 9038.853515625, "y": -2718.552734375}, {"x": 9038.9248046875, "y": -2718.47802734375}, {"x": 9038.9970703125, "y": -2718.37548828125}, {"x": 9039.0693359375, "y": -2718.285400390625}, {"x": 9039.1337890625, "y": -2718.207275390625}, {"x": 9039.1884765625, "y": -2718.138427734375}, {"x": 9039.26171875, "y": -2718.056640625}, {"x": 9039.33203125, "y": -2717.97802734375}, {"x": 9039.3984375, "y": -2717.89794921875}, {"x": 9039.4609375, "y": -2717.823486328125}, {"x": 9039.5322265625, "y": -2717.747802734375}, {"x": 9039.5908203125, "y": -2717.6787109375}, {"x": 9039.6591796875, "y": -2717.614501953125}, {"x": 9039.72265625, "y": -2717.542724609375}, {"x": 9039.791015625, "y": -2717.47216796875}, {"x": 9039.8447265625, "y": -2717.4091796875}, {"x": 9039.91015625, "y": -2717.337646484375}, {"x": 9039.9765625, "y": -2717.259033203125}, {"x": 9040.0439453125, "y": -2717.18798828125}, {"x": 9040.115234375, "y": -2717.108642578125}, {"x": 9040.1923828125, "y": -2717.05078125}, {"x": 9040.2568359375, "y": -2716.9765625}, {"x": 9040.3232421875, "y": -2716.899658203125}, {"x": 9040.3955078125, "y": -2716.8203125}, {"x": 9040.4814453125, "y": -2716.751953125}, {"x": 9040.5439453125, "y": -2716.67333984375}, {"x": 9040.615234375, "y": -2716.608642578125}, {"x": 9040.677734375, "y": -2716.525634765625}, {"x": 9040.7646484375, "y": -2716.4619140625}, {"x": 9040.8515625, "y": -2716.40185546875}, {"x": 9040.9287109375, "y": -2716.343994140625}, {"x": 9040.9970703125, "y": -2716.27197265625}, {"x": 9041.0234375, "y": -2716.223876953125}, {"x": 9041.08203125, "y": -2716.173583984375}, {"x": 9041.14453125, "y": -2716.134521484375}, {"x": 9041.1982421875, "y": -2716.0927734375}, {"x": 9041.2578125, "y": -2716.04931640625}, {"x": 9041.328125, "y": -2716.015869140625}, {"x": 9041.4013671875, "y": -2715.962646484375}, {"x": 9041.4658203125, "y": -2715.928955078125}, {"x": 9041.5244140625, "y": -2715.88916015625}, {"x": 9041.5966796875, "y": -2715.848388671875}, {"x": 9041.67578125, "y": -2715.807861328125}, {"x": 9041.7626953125, "y": -2715.78369140625}, {"x": 9041.8310546875, "y": -2715.74462890625}, {"x": 9041.8896484375, "y": -2715.69482421875}, {"x": 9041.9619140625, "y": -2715.66943359375}, {"x": 9042.0224609375, "y": -2715.65234375}, {"x": 9042.087890625, "y": -2715.6162109375}, {"x": 9042.162109375, "y": -2715.59765625}, {"x": 9042.224609375, "y": -2715.572021484375}, {"x": 9042.2822265625, "y": -2715.550537109375}, {"x": 9042.3447265625, "y": -2715.516845703125}, {"x": 9042.3974609375, "y": -2715.494140625}, {"x": 9042.44921875, "y": -2715.475830078125}, {"x": 9042.5068359375, "y": -2715.460693359375}, {"x": 9042.58203125, "y": -2715.4541015625}, {"x": 9042.63671875, "y": -2715.42578125}, {"x": 9042.681640625, "y": -2715.406005859375}, {"x": 9042.7236328125, "y": -2715.387451171875}, {"x": 9042.794921875, "y": -2715.36767578125}, {"x": 9042.8525390625, "y": -2715.3564453125}], "width": 0.9837895631790161, "length": 1.0017861127853394, "heading": [-306.94616047000176, -306.91250129777194, -306.51757975996185, -306.2431427591107, -305.56419463485474, -305.61987433696873, -305.5071215741501, -305.66391539673697, -305.8447514852022, -306.1733928673065, -306.2910906870842, -306.5233444396213, -306.58686519890244, -307.3881829923283, -308.4974057135384, -308.8271126051533, -309.48185453899066, -310.27967527556154, -310.7946988597372, -311.2564742891434, -312.23447541601917, 48.390182722247836, -310.89029418736067, -310.2605507458855, -310.3579765642066, -311.0306409144261, -311.4251253201293, -311.8378326705382, -312.1596165427158, -312.11483782251725, -311.81174134790876, -311.5450088004414, -310.85849282658506, -310.1264877928565, -309.6722255715373, -310.1742444755332, -310.2076304401962, -311.0057517050906, -311.17202583024533, -312.0086147205452, -311.666722771451, -311.9184835442577, -312.17467027964653, -311.91484988361924, -312.48358607542787, -313.04281464391187, -313.01858113273664, -313.16840816237004, -313.08196528823436, -313.12485887622205, -313.0326240016702, -314.2589161652543, -314.50354622056744, -314.5983765670039, -315.3836843970153, -316.23079177863696, -316.5110481006609, -317.41091186343175, -318.070708137255, -318.48816929932616, -318.97734744768246, 39.493103177308356, 38.597180433688614, 37.227604561696, 35.7391287566318, 34.568529955539994, 32.380127100184154, 31.970551391509755, 30.707178130921665, 30.546579892967156, 29.197644852646317, 28.846870242536557, 28.441833194565632, 27.317498679816907, 25.48163945356586, 25.056118668274067, 24.27224517798838, 23.955141692939492, 22.337256001218357, 21.571154663153045, 20.2127683485682, 20.766350058155858, 20.30792142144294, 20.448946044783487, 19.723871945515153, 18.833717296649485, 18.64774149083379, 17.22609908679817, 16.55068387789041, 16.527635404536202, 15.801497503304637], "velocity": [{"x": 0.732421875, "y": 1.00830078125}, {"x": 0.400390625, "y": 0.96435546875}, {"x": 0.64453125, "y": 0.98388671875}, {"x": 0.625, "y": 0.76171875}, {"x": 0.615234375, "y": 0.9228515625}, {"x": 0.56640625, "y": 0.9521484375}, {"x": 0.60546875, "y": 0.9033203125}, {"x": 0.712890625, "y": 0.6640625}, {"x": 0.537109375, "y": 0.6494140625}, {"x": 0.615234375, "y": 0.79345703125}, {"x": 0.576171875, "y": 0.91796875}, {"x": 0.56640625, "y": 0.78125}, {"x": 0.263671875, "y": 1.0400390625}, {"x": 0.654296875, "y": 0.94482421875}, {"x": 0.60546875, "y": 1.04736328125}, {"x": 0.6640625, "y": 0.97412109375}, {"x": 0.654296875, "y": 0.86181640625}, {"x": 0.751953125, "y": 0.87890625}, {"x": 0.80078125, "y": 0.76416015625}, {"x": 0.810546875, "y": 0.82275390625}, {"x": 0.87890625, "y": 0.6298828125}, {"x": 0.48828125, "y": 0.76171875}, {"x": 0.830078125, "y": 0.59326171875}, {"x": 0.703125, "y": 0.88134765625}, {"x": 0.68359375, "y": 1.01806640625}, {"x": 0.5859375, "y": 0.92529296875}, {"x": 0.703125, "y": 0.80078125}, {"x": 0.751953125, "y": 0.89111328125}, {"x": 0.6640625, "y": 0.79833984375}, {"x": 0.517578125, "y": 0.751953125}, {"x": 0.712890625, "y": 0.7470703125}, {"x": 0.72265625, "y": 1.025390625}, {"x": 0.72265625, "y": 0.90087890625}, {"x": 0.64453125, "y": 0.78125}, {"x": 0.546875, "y": 0.6884765625}, {"x": 0.732421875, "y": 0.81787109375}, {"x": 0.703125, "y": 0.7861328125}, {"x": 0.6640625, "y": 0.80078125}, {"x": 0.625, "y": 0.74462890625}, {"x": 0.712890625, "y": 0.7568359375}, {"x": 0.5859375, "y": 0.69091796875}, {"x": 0.68359375, "y": 0.64208984375}, {"x": 0.634765625, "y": 0.7177734375}, {"x": 0.68359375, "y": 0.70556640625}, {"x": 0.537109375, "y": 0.6298828125}, {"x": 0.654296875, "y": 0.71533203125}, {"x": 0.6640625, "y": 0.7861328125}, {"x": 0.673828125, "y": 0.71044921875}, {"x": 0.712890625, "y": 0.79345703125}, {"x": 0.771484375, "y": 0.57861328125}, {"x": 0.64453125, "y": 0.7421875}, {"x": 0.6640625, "y": 0.76904296875}, {"x": 0.72265625, "y": 0.79345703125}, {"x": 0.859375, "y": 0.68359375}, {"x": 0.625, "y": 0.7861328125}, {"x": 0.712890625, "y": 0.64697265625}, {"x": 0.625, "y": 0.830078125}, {"x": 0.869140625, "y": 0.63720703125}, {"x": 0.869140625, "y": 0.6005859375}, {"x": 0.771484375, "y": 0.57861328125}, {"x": 0.68359375, "y": 0.72021484375}, {"x": 0.263671875, "y": 0.48095703125}, {"x": 0.5859375, "y": 0.5029296875}, {"x": 0.625, "y": 0.390625}, {"x": 0.537109375, "y": 0.41748046875}, {"x": 0.595703125, "y": 0.4345703125}, {"x": 0.703125, "y": 0.33447265625}, {"x": 0.732421875, "y": 0.5322265625}, {"x": 0.64453125, "y": 0.3369140625}, {"x": 0.5859375, "y": 0.39794921875}, {"x": 0.72265625, "y": 0.40771484375}, {"x": 0.791015625, "y": 0.4052734375}, {"x": 0.869140625, "y": 0.24169921875}, {"x": 0.68359375, "y": 0.390625}, {"x": 0.5859375, "y": 0.498046875}, {"x": 0.72265625, "y": 0.25390625}, {"x": 0.60546875, "y": 0.1708984375}, {"x": 0.654296875, "y": 0.361328125}, {"x": 0.7421875, "y": 0.185546875}, {"x": 0.625, "y": 0.25634765625}, {"x": 0.576171875, "y": 0.21484375}, {"x": 0.625, "y": 0.3369140625}, {"x": 0.52734375, "y": 0.22705078125}, {"x": 0.517578125, "y": 0.18310546875}, {"x": 0.576171875, "y": 0.1513671875}, {"x": 0.751953125, "y": 0.06591796875}, {"x": 0.546875, "y": 0.283203125}, {"x": 0.44921875, "y": 0.19775390625}, {"x": 0.419921875, "y": 0.185546875}, {"x": 0.712890625, "y": 0.19775390625}, {"x": 0.576171875, "y": 0.1123046875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9042.8525390625, "y": -2715.3564453125}, "type": "pedestrian"}, {"position": [{"x": 9040.685546875, "y": -2719.0087890625}, {"x": 9040.75, "y": -2718.9443359375}, {"x": 9040.7978515625, "y": -2718.876708984375}, {"x": 9040.84375, "y": -2718.827880859375}, {"x": 9040.8935546875, "y": -2718.780517578125}, {"x": 9040.9462890625, "y": -2718.703125}, {"x": 9040.998046875, "y": -2718.622314453125}, {"x": 9041.041015625, "y": -2718.5576171875}, {"x": 9041.0947265625, "y": -2718.499755859375}, {"x": 9041.1484375, "y": -2718.424072265625}, {"x": 9041.18359375, "y": -2718.361572265625}, {"x": 9041.2275390625, "y": -2718.287353515625}, {"x": 9041.2685546875, "y": -2718.216064453125}, {"x": 9041.3125, "y": -2718.156494140625}, {"x": 9041.373046875, "y": -2718.093505859375}, {"x": 9041.4443359375, "y": -2718.029052734375}, {"x": 9041.505859375, "y": -2717.974365234375}, {"x": 9041.53515625, "y": -2717.915771484375}, {"x": 9041.5859375, "y": -2717.851318359375}, {"x": 9041.6484375, "y": -2717.778564453125}, {"x": 9041.6953125, "y": -2717.71630859375}, {"x": 9041.7333984375, "y": -2717.648193359375}, {"x": 9041.7890625, "y": -2717.594482421875}, {"x": 9041.8349609375, "y": -2717.53125}, {"x": 9041.890625, "y": -2717.470703125}, {"x": 9041.9501953125, "y": -2717.424560546875}, {"x": 9042.0146484375, "y": -2717.369873046875}, {"x": 9042.064453125, "y": -2717.312744140625}, {"x": 9042.109375, "y": -2717.261474609375}, {"x": 9042.1708984375, "y": -2717.199951171875}, {"x": 9042.2216796875, "y": -2717.135009765625}, {"x": 9042.271484375, "y": -2717.083251953125}, {"x": 9042.314453125, "y": -2717.026611328125}, {"x": 9042.3583984375, "y": -2716.975830078125}, {"x": 9042.4111328125, "y": -2716.9248046875}, {"x": 9042.4482421875, "y": -2716.8779296875}, {"x": 9042.509765625, "y": -2716.82958984375}, {"x": 9042.556640625, "y": -2716.7861328125}, {"x": 9042.6142578125, "y": -2716.740234375}, {"x": 9042.6708984375, "y": -2716.707275390625}, {"x": 9042.7119140625, "y": -2716.6650390625}, {"x": 9042.76171875, "y": -2716.615234375}, {"x": 9042.7939453125, "y": -2716.57666015625}, {"x": 9042.84375, "y": -2716.529541015625}, {"x": 9042.8896484375, "y": -2716.5029296875}, {"x": 9042.9443359375, "y": -2716.462158203125}, {"x": 9042.9755859375, "y": -2716.429931640625}, {"x": 9043.0322265625, "y": -2716.39013671875}, {"x": 9043.064453125, "y": -2716.346435546875}, {"x": 9043.0791015625, "y": -2716.30810546875}, {"x": 9043.125, "y": -2716.2685546875}, {"x": 9043.169921875, "y": -2716.226806640625}, {"x": 9043.22265625, "y": -2716.1923828125}, {"x": 9043.26953125, "y": -2716.153564453125}, {"x": 9043.3193359375, "y": -2716.115234375}, {"x": 9043.3759765625, "y": -2716.07421875}, {"x": 9043.4306640625, "y": -2716.023681640625}, {"x": 9043.509765625, "y": -2715.969482421875}, {"x": 9043.58984375, "y": -2715.919189453125}, {"x": 9043.66796875, "y": -2715.8681640625}, {"x": 9043.748046875, "y": -2715.814697265625}, {"x": 9043.841796875, "y": -2715.771484375}, {"x": 9043.9404296875, "y": -2715.727783203125}, {"x": 9044.02734375, "y": -2715.688720703125}, {"x": 9044.13671875, "y": -2715.6591796875}, {"x": 9044.2294921875, "y": -2715.635498046875}, {"x": 9044.3232421875, "y": -2715.583251953125}, {"x": 9044.4140625, "y": -2715.5576171875}, {"x": 9044.5205078125, "y": -2715.52734375}, {"x": 9044.6025390625, "y": -2715.487548828125}, {"x": 9044.6845703125, "y": -2715.4375}, {"x": 9044.7685546875, "y": -2715.404541015625}, {"x": 9044.84375, "y": -2715.38232421875}, {"x": 9044.9140625, "y": -2715.36474609375}, {"x": 9044.9658203125, "y": -2715.35888671875}, {"x": 9045.03125, "y": -2715.3388671875}, {"x": 9045.0927734375, "y": -2715.30615234375}, {"x": 9045.1376953125, "y": -2715.280517578125}, {"x": 9045.1650390625, "y": -2715.252197265625}, {"x": 9045.201171875, "y": -2715.231689453125}, {"x": 9045.232421875, "y": -2715.237060546875}, {"x": 9045.2626953125, "y": -2715.21875}, {"x": 9045.2734375, "y": -2715.213134765625}, {"x": 9045.3017578125, "y": -2715.18505859375}, {"x": 9045.33203125, "y": -2715.13134765625}, {"x": 9045.3291015625, "y": -2715.12353515625}, {"x": 9045.3388671875, "y": -2715.15625}, {"x": 9045.3232421875, "y": -2715.15478515625}, {"x": 9045.32421875, "y": -2715.17822265625}, {"x": 9045.2958984375, "y": -2715.16845703125}, {"x": 9045.2861328125, "y": -2715.213134765625}], "width": 0.9051134586334229, "length": 0.9244223833084106, "heading": [-308.1780260679486, -308.0861463632336, -307.4479061664309, -307.13696863465526, -307.9438052209305, -307.6339058779087, -307.4343277503609, -306.4876635313972, -306.71912498199055, -306.5916736520781, -306.5330979497561, -306.29324902686193, -306.49329160727325, -307.34397800802003, -308.2307824490978, -309.43988985673013, -309.45666480133167, -309.3963132498254, -308.7926611309797, -308.5474846605329, -308.5132517524128, -308.7666244498636, -309.037537073103, -309.87161245378826, -310.66828571857855, -311.5580408013778, -312.61579121700265, -312.38681595526714, -312.8296307795374, -312.9863699606109, -312.79698247530473, -313.2192520905516, -313.33140379672324, -314.53450063788597, -314.8636884351239, -315.6950863816545, -315.98840202537156, -316.07290512578294, 43.69495017733558, 42.93348312262212, 42.22575941139291, 42.638736554273976, -317.82648789329204, -317.19199064015453, -317.25395411630484, -317.67567731641816, -317.8817304632991, -318.0222137941479, -318.63471783815794, 41.70728999678099, 41.640606859914165, 41.1756519774493, 39.83325001306958, 38.94335832648696, 37.438951105183705, 36.15531608842277, 35.73420419024022, 35.346543143517806, 35.20910266194422, 32.89896876010583, 30.29227145960007, 27.626626211462515, 25.34887082138457, 24.16506414198525, 22.728238227424686, 22.459256840173122, 22.622564955680836, 22.343025803519723, 22.58419807556558, 22.66262401516296, 23.697932136722446, 23.02960154153128, 23.52182424671013, 22.757942720125072, 22.265036996029224, 23.887445980528206, 24.538195668795755, 27.75015359769678, 31.223916092578982, 36.28497015434254, -307.62248580161645, -309.47368563274335, -307.0984463677364, 34.427698285043505, 18.1217964341753, -31.31336424994947, 30.057080725719853, -21.33948489178997, 33.611524830172826, 38.78790663607205, 29.56321706759291], "velocity": [{"x": 0.419921875, "y": 0.64453125}, {"x": 0.64453125, "y": 0.64453125}, {"x": 0.478515625, "y": 0.67626953125}, {"x": 0.458984375, "y": 0.48828125}, {"x": 0.498046875, "y": 0.4736328125}, {"x": 0.52734375, "y": 0.77392578125}, {"x": 0.517578125, "y": 0.80810546875}, {"x": 0.4296875, "y": 0.64697265625}, {"x": 0.537109375, "y": 0.57861328125}, {"x": 0.537109375, "y": 0.7568359375}, {"x": 0.3515625, "y": 0.625}, {"x": 0.439453125, "y": 0.7421875}, {"x": 0.41015625, "y": 0.712890625}, {"x": 0.439453125, "y": 0.595703125}, {"x": 0.60546875, "y": 0.6298828125}, {"x": 0.712890625, "y": 0.64453125}, {"x": 0.615234375, "y": 0.546875}, {"x": 0.29296875, "y": 0.5859375}, {"x": 0.5078125, "y": 0.64453125}, {"x": 0.625, "y": 0.7275390625}, {"x": 0.46875, "y": 0.62255859375}, {"x": 0.380859375, "y": 0.68115234375}, {"x": 0.556640625, "y": 0.537109375}, {"x": 0.458984375, "y": 0.63232421875}, {"x": 0.556640625, "y": 0.60546875}, {"x": 0.595703125, "y": 0.46142578125}, {"x": 0.64453125, "y": 0.546875}, {"x": 0.498046875, "y": 0.5712890625}, {"x": 0.44921875, "y": 0.5126953125}, {"x": 0.615234375, "y": 0.615234375}, {"x": 0.5078125, "y": 0.6494140625}, {"x": 0.498046875, "y": 0.517578125}, {"x": 0.4296875, "y": 0.56640625}, {"x": 0.439453125, "y": 0.5078125}, {"x": 0.52734375, "y": 0.51025390625}, {"x": 0.37109375, "y": 0.46875}, {"x": 0.615234375, "y": 0.4833984375}, {"x": 0.46875, "y": 0.4345703125}, {"x": 0.576171875, "y": 0.458984375}, {"x": 0.56640625, "y": 0.32958984375}, {"x": 0.41015625, "y": 0.42236328125}, {"x": 0.498046875, "y": 0.498046875}, {"x": 0.322265625, "y": 0.3857421875}, {"x": 0.498046875, "y": 0.47119140625}, {"x": 0.458984375, "y": 0.26611328125}, {"x": 0.546875, "y": 0.40771484375}, {"x": 0.3125, "y": 0.322265625}, {"x": 0.56640625, "y": 0.39794921875}, {"x": 0.322265625, "y": 0.43701171875}, {"x": 0.146484375, "y": 0.38330078125}, {"x": 0.458984375, "y": 0.3955078125}, {"x": 0.44921875, "y": 0.41748046875}, {"x": 0.52734375, "y": 0.34423828125}, {"x": 0.46875, "y": 0.38818359375}, {"x": 0.498046875, "y": 0.38330078125}, {"x": 0.56640625, "y": 0.41015625}, {"x": 0.546875, "y": 0.50537109375}, {"x": 0.791015625, "y": 0.5419921875}, {"x": 0.80078125, "y": 0.5029296875}, {"x": 0.78125, "y": 0.51025390625}, {"x": 0.80078125, "y": 0.53466796875}, {"x": 0.9375, "y": 0.43212890625}, {"x": 0.986328125, "y": 0.43701171875}, {"x": 0.869140625, "y": 0.390625}, {"x": 1.09375, "y": 0.29541015625}, {"x": 0.927734375, "y": 0.23681640625}, {"x": 0.9375, "y": 0.5224609375}, {"x": 0.908203125, "y": 0.25634765625}, {"x": 1.064453125, "y": 0.302734375}, {"x": 0.8203125, "y": 0.39794921875}, {"x": 0.8203125, "y": 0.50048828125}, {"x": 0.83984375, "y": 0.32958984375}, {"x": 0.751953125, "y": 0.22216796875}, {"x": 0.703125, "y": 0.17578125}, {"x": 0.517578125, "y": 0.05859375}, {"x": 0.654296875, "y": 0.2001953125}, {"x": 0.615234375, "y": 0.3271484375}, {"x": 0.44921875, "y": 0.25634765625}, {"x": 0.2734375, "y": 0.283203125}, {"x": 0.361328125, "y": 0.205078125}, {"x": 0.3125, "y": -0.0537109375}, {"x": 0.302734375, "y": 0.18310546875}, {"x": 0.107421875, "y": 0.05615234375}, {"x": 0.283203125, "y": 0.28076171875}, {"x": 0.302734375, "y": 0.537109375}, {"x": -0.029296875, "y": 0.078125}, {"x": 0.09765625, "y": -0.3271484375}, {"x": -0.15625, "y": 0.0146484375}, {"x": 0.009765625, "y": -0.234375}, {"x": -0.283203125, "y": 0.09765625}, {"x": -0.09765625, "y": -0.44677734375}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9045.2861328125, "y": -2715.213134765625}, "type": "pedestrian"}, {"position": [{"x": 9029.189453125, "y": -2745.704345703125}, {"x": 9029.1923828125, "y": -2745.70361328125}, {"x": 9029.1611328125, "y": -2745.7041015625}, {"x": 9029.185546875, "y": -2745.685302734375}, {"x": 9029.1787109375, "y": -2745.674072265625}, {"x": 9029.19921875, "y": -2745.678955078125}, {"x": 9029.185546875, "y": -2745.666015625}, {"x": 9029.189453125, "y": -2745.657470703125}, {"x": 9029.1845703125, "y": -2745.64306640625}, {"x": 9029.375, "y": -2745.901611328125}, {"x": 9029.189453125, "y": -2745.625}, {"x": 9029.2060546875, "y": -2745.6484375}, {"x": 9029.2294921875, "y": -2745.63134765625}, {"x": 9029.22265625, "y": -2745.565673828125}, {"x": 9029.25390625, "y": -2745.545654296875}, {"x": 9029.3017578125, "y": -2745.51416015625}, {"x": 9029.37890625, "y": -2745.51123046875}, {"x": 9029.4443359375, "y": -2745.461669921875}, {"x": 9029.5087890625, "y": -2745.393798828125}, {"x": 9029.55078125, "y": -2745.35400390625}, {"x": 9029.6357421875, "y": -2745.2724609375}, {"x": 9029.6884765625, "y": -2745.202392578125}, {"x": 9029.748046875, "y": -2745.1005859375}, {"x": 9029.826171875, "y": -2745.015625}, {"x": 9029.8955078125, "y": -2744.94921875}, {"x": 9029.984375, "y": -2744.856689453125}, {"x": 9030.060546875, "y": -2744.775634765625}, {"x": 9030.138671875, "y": -2744.6767578125}, {"x": 9030.2275390625, "y": -2744.584716796875}, {"x": 9030.3203125, "y": -2744.504150390625}, {"x": 9030.4072265625, "y": -2744.408447265625}, {"x": 9030.494140625, "y": -2744.321533203125}, {"x": 9030.580078125, "y": -2744.231689453125}, {"x": 9030.662109375, "y": -2744.127197265625}, {"x": 9030.7421875, "y": -2744.02880859375}, {"x": 9030.8251953125, "y": -2743.938232421875}, {"x": 9030.9296875, "y": -2743.83740234375}, {"x": 9031.0107421875, "y": -2743.740478515625}, {"x": 9031.091796875, "y": -2743.623291015625}, {"x": 9031.1865234375, "y": -2743.52392578125}, {"x": 9031.2841796875, "y": -2743.434814453125}, {"x": 9031.3681640625, "y": -2743.344482421875}, {"x": 9031.462890625, "y": -2743.241455078125}, {"x": 9031.5556640625, "y": -2743.142333984375}, {"x": 9031.65234375, "y": -2743.03857421875}, {"x": 9031.7548828125, "y": -2742.933837890625}, {"x": 9031.84375, "y": -2742.81787109375}, {"x": 9031.94140625, "y": -2742.708984375}, {"x": 9032.03515625, "y": -2742.597412109375}, {"x": 9032.13671875, "y": -2742.489990234375}, {"x": 9032.228515625, "y": -2742.389892578125}, {"x": 9032.3359375, "y": -2742.294921875}, {"x": 9032.439453125, "y": -2742.20068359375}, {"x": 9032.5302734375, "y": -2742.10009765625}, {"x": 9032.6005859375, "y": -2741.989013671875}, {"x": 9032.693359375, "y": -2741.892333984375}, {"x": 9032.7783203125, "y": -2741.78955078125}, {"x": 9032.8515625, "y": -2741.691162109375}, {"x": 9032.9296875, "y": -2741.59423828125}, {"x": 9032.998046875, "y": -2741.49853515625}, {"x": 9033.0908203125, "y": -2741.412109375}, {"x": 9033.173828125, "y": -2741.3095703125}, {"x": 9033.240234375, "y": -2741.21728515625}, {"x": 9033.3408203125, "y": -2741.125}, {"x": 9033.404296875, "y": -2741.030029296875}, {"x": 9033.4658203125, "y": -2740.950927734375}, {"x": 9033.52734375, "y": -2740.849609375}, {"x": 9033.5869140625, "y": -2740.776123046875}, {"x": 9033.638671875, "y": -2740.717529296875}, {"x": 9033.6796875, "y": -2740.656005859375}, {"x": 9033.6982421875, "y": -2740.627685546875}, {"x": 9033.7373046875, "y": -2740.609619140625}, {"x": 9033.76171875, "y": -2740.61328125}, {"x": 9033.796875, "y": -2740.570068359375}, {"x": 9033.77734375, "y": -2740.5419921875}, {"x": 9033.81640625, "y": -2740.60888671875}, {"x": 9033.8271484375, "y": -2740.62939453125}, {"x": 9033.8271484375, "y": -2740.651123046875}, {"x": 9033.833984375, "y": -2740.655029296875}, {"x": 9033.8369140625, "y": -2740.676513671875}, {"x": 9033.8603515625, "y": -2740.664306640625}, {"x": 9033.8662109375, "y": -2740.6513671875}, {"x": 9033.8798828125, "y": -2740.619140625}, {"x": 9033.8935546875, "y": -2740.57958984375}, {"x": 9033.890625, "y": -2740.533447265625}, {"x": 9033.89453125, "y": -2740.4921875}, {"x": 9033.919921875, "y": -2740.4462890625}, {"x": 9033.95703125, "y": -2740.36572265625}, {"x": 9033.9921875, "y": -2740.35498046875}, {"x": 9034.025390625, "y": -2740.277099609375}, {"x": 9034.052734375, "y": -2740.2021484375}], "width": 0.8253637552261353, "length": 0.8261034488677979, "heading": [-66.14991082852076, -60.260628028001456, -56.97300526347503, -53.22994548509215, -55.54893814228405, -88.19376580865746, -52.15936455911143, -46.50566522834962, -54.17913345895424, -11.749537297066055, 16.28314366055372, -7.69204976024164, 33.177152119716695, 13.053819975687935, 14.324460557552916, 14.866354105923389, 40.17841362277617, 38.24347567242492, 30.000738495256417, 48.18681383971071, 39.70527617368563, 42.210862768813115, -316.42348507550133, -316.97872481351004, -314.4353536118941, -314.2145745771626, -313.149365594964, -312.6068573295683, -312.43675829847825, -312.1127341242529, -312.13510982397383, -312.59191287566426, -311.8352098778969, -312.13683103164465, -312.5775967991639, -312.0060192486606, -311.39662977091206, -311.8856439947283, -312.2475893792256, -312.63986080363776, -312.7470674528503, -312.6431392944394, -313.2588945084944, -313.3041650023132, -312.9991833954938, -312.9946754706416, -313.4065085568367, -313.10991442231807, -312.83452119498315, -312.0357988734418, -312.1414209187669, -312.3135690066079, 47.57008532369899, 47.29443254917562, -312.1079529918339, -312.064048535849, -311.30791927397195, -310.84406746705804, -309.9082222677396, -309.61758405817716, -309.80098829777035, -310.70861115543835, -311.8531869357924, -311.3759206373486, -310.54752797405274, -309.94343872310014, -309.5833238293004, -308.2402081101524, -301.173967602424, 45.459690058853866, -304.5546926755269, -313.226901902422, -310.5177210285148, 32.849002511232605, 54.73645298956519, -304.9388225144484, -303.42525259437355, 63.125564535741645, -290.0384916324988, -287.32742562638066, -291.40819044789646, -291.75658473708046, -298.7296068230165, -296.45794054658364, -295.33888235296877, -291.95231063793636, -290.58662797377065, -289.46661355367195, -296.40316242944016, -296.0459981773618, -293.445827122608], "velocity": [{"x": -0.185546875, "y": -0.04638671875}, {"x": 0.029296875, "y": 0.00732421875}, {"x": -0.3125, "y": -0.0048828125}, {"x": 0.244140625, "y": 0.18798828125}, {"x": -0.068359375, "y": 0.1123046875}, {"x": 0.205078125, "y": -0.048828125}, {"x": -0.13671875, "y": 0.12939453125}, {"x": 0.0390625, "y": 0.08544921875}, {"x": -0.048828125, "y": 0.14404296875}, {"x": 1.904296875, "y": -2.58544921875}, {"x": -1.85546875, "y": 2.76611328125}, {"x": 0.166015625, "y": -0.234375}, {"x": 0.234375, "y": 0.1708984375}, {"x": -0.068359375, "y": 0.65673828125}, {"x": 0.3125, "y": 0.2001953125}, {"x": 0.478515625, "y": 0.31494140625}, {"x": 0.771484375, "y": 0.029296875}, {"x": 0.654296875, "y": 0.49560546875}, {"x": 0.64453125, "y": 0.6787109375}, {"x": 0.419921875, "y": 0.39794921875}, {"x": 0.849609375, "y": 0.8154296875}, {"x": 0.52734375, "y": 0.70068359375}, {"x": 0.595703125, "y": 1.01806640625}, {"x": 0.78125, "y": 0.849609375}, {"x": 0.693359375, "y": 0.6640625}, {"x": 0.888671875, "y": 0.92529296875}, {"x": 0.76171875, "y": 0.810546875}, {"x": 0.78125, "y": 0.98876953125}, {"x": 0.888671875, "y": 0.92041015625}, {"x": 0.927734375, "y": 0.8056640625}, {"x": 0.869140625, "y": 0.95703125}, {"x": 0.869140625, "y": 0.869140625}, {"x": 0.859375, "y": 0.8984375}, {"x": 0.8203125, "y": 1.044921875}, {"x": 0.80078125, "y": 0.98388671875}, {"x": 0.830078125, "y": 0.90576171875}, {"x": 1.044921875, "y": 1.00830078125}, {"x": 0.810546875, "y": 0.96923828125}, {"x": 0.810546875, "y": 1.171875}, {"x": 0.947265625, "y": 0.99365234375}, {"x": 0.9765625, "y": 0.89111328125}, {"x": 0.83984375, "y": 0.9033203125}, {"x": 0.947265625, "y": 1.0302734375}, {"x": 0.927734375, "y": 0.9912109375}, {"x": 0.966796875, "y": 1.03759765625}, {"x": 1.025390625, "y": 1.04736328125}, {"x": 0.888671875, "y": 1.15966796875}, {"x": 0.9765625, "y": 1.0888671875}, {"x": 0.9375, "y": 1.11572265625}, {"x": 1.015625, "y": 1.07421875}, {"x": 0.91796875, "y": 1.0009765625}, {"x": 1.07421875, "y": 0.94970703125}, {"x": 1.03515625, "y": 0.9423828125}, {"x": 0.908203125, "y": 1.005859375}, {"x": 0.703125, "y": 1.11083984375}, {"x": 0.927734375, "y": 0.966796875}, {"x": 0.849609375, "y": 1.02783203125}, {"x": 0.732421875, "y": 0.98388671875}, {"x": 0.78125, "y": 0.96923828125}, {"x": 0.68359375, "y": 0.95703125}, {"x": 0.927734375, "y": 0.8642578125}, {"x": 0.830078125, "y": 1.025390625}, {"x": 0.6640625, "y": 0.9228515625}, {"x": 1.005859375, "y": 0.9228515625}, {"x": 0.634765625, "y": 0.94970703125}, {"x": 0.615234375, "y": 0.791015625}, {"x": 0.615234375, "y": 1.01318359375}, {"x": 0.595703125, "y": 0.73486328125}, {"x": 0.517578125, "y": 0.5859375}, {"x": 0.41015625, "y": 0.615234375}, {"x": 0.185546875, "y": 0.283203125}, {"x": 0.390625, "y": 0.1806640625}, {"x": 0.244140625, "y": -0.03662109375}, {"x": 0.3515625, "y": 0.43212890625}, {"x": -0.1953125, "y": 0.28076171875}, {"x": 0.390625, "y": -0.6689453125}, {"x": 0.107421875, "y": -0.205078125}, {"x": -0.0, "y": -0.21728515625}, {"x": 0.068359375, "y": -0.0390625}, {"x": 0.029296875, "y": -0.21484375}, {"x": 0.234375, "y": 0.1220703125}, {"x": 0.05859375, "y": 0.12939453125}, {"x": 0.13671875, "y": 0.322265625}, {"x": 0.13671875, "y": 0.3955078125}, {"x": -0.029296875, "y": 0.46142578125}, {"x": 0.0390625, "y": 0.41259765625}, {"x": 0.25390625, "y": 0.458984375}, {"x": 0.37109375, "y": 0.8056640625}, {"x": 0.3515625, "y": 0.107421875}, {"x": 0.33203125, "y": 0.77880859375}, {"x": 0.2734375, "y": 0.74951171875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9034.052734375, "y": -2740.2021484375}, "type": "pedestrian"}, {"position": [{"x": 9029.6669921875, "y": -2746.1259765625}, {"x": 9029.6669921875, "y": -2746.148193359375}, {"x": 9029.662109375, "y": -2746.15576171875}, {"x": 9029.666015625, "y": -2746.141845703125}, {"x": 9029.6689453125, "y": -2746.176513671875}, {"x": 9029.6650390625, "y": -2746.1767578125}, {"x": 9029.62890625, "y": -2746.188720703125}, {"x": 9029.6337890625, "y": -2746.214111328125}, {"x": 9029.6123046875, "y": -2746.235595703125}, {"x": 9029.5947265625, "y": -2746.259033203125}, {"x": 9029.552734375, "y": -2746.30615234375}, {"x": 9029.515625, "y": -2746.34423828125}, {"x": 9029.4697265625, "y": -2746.39453125}, {"x": 9029.4130859375, "y": -2746.443115234375}, {"x": 9029.37890625, "y": -2746.497314453125}, {"x": 9029.3359375, "y": -2746.56201171875}, {"x": 9029.263671875, "y": -2746.66064453125}, {"x": 9029.2080078125, "y": -2746.75048828125}, {"x": 9029.1474609375, "y": -2746.855224609375}, {"x": 9029.0966796875, "y": -2746.960205078125}, {"x": 9029.052734375, "y": -2747.06298828125}, {"x": 9029.0078125, "y": -2747.173828125}, {"x": 9028.9658203125, "y": -2747.28515625}, {"x": 9028.9228515625, "y": -2747.381103515625}, {"x": 9028.8837890625, "y": -2747.507080078125}, {"x": 9028.845703125, "y": -2747.615478515625}, {"x": 9028.806640625, "y": -2747.746337890625}, {"x": 9028.7646484375, "y": -2747.868896484375}, {"x": 9028.751953125, "y": -2747.965576171875}, {"x": 9028.7275390625, "y": -2748.073974609375}, {"x": 9028.6943359375, "y": -2748.191162109375}, {"x": 9028.6669921875, "y": -2748.295166015625}, {"x": 9028.6396484375, "y": -2748.38671875}, {"x": 9028.6064453125, "y": -2748.492919921875}, {"x": 9028.58203125, "y": -2748.58251953125}, {"x": 9028.556640625, "y": -2748.6787109375}, {"x": 9028.5205078125, "y": -2748.755126953125}, {"x": 9028.4833984375, "y": -2748.843017578125}, {"x": 9028.4541015625, "y": -2748.898193359375}, {"x": 9028.396484375, "y": -2748.95458984375}, {"x": 9028.357421875, "y": -2748.999267578125}, {"x": 9028.3076171875, "y": -2749.061767578125}, {"x": 9028.2646484375, "y": -2749.130126953125}, {"x": 9028.25, "y": -2749.195068359375}, {"x": 9028.224609375, "y": -2749.246337890625}, {"x": 9028.193359375, "y": -2749.286865234375}, {"x": 9028.16796875, "y": -2749.31494140625}, {"x": 9028.1416015625, "y": -2749.342041015625}, {"x": 9028.130859375, "y": -2749.399169921875}, {"x": 9028.1201171875, "y": -2749.439697265625}, {"x": 9028.1103515625, "y": -2749.47216796875}, {"x": 9028.1005859375, "y": -2749.490966796875}, {"x": 9028.1103515625, "y": -2749.51708984375}, {"x": 9028.09765625, "y": -2749.537353515625}, {"x": 9028.0908203125, "y": -2749.546875}, {"x": 9028.0849609375, "y": -2749.562744140625}, {"x": 9028.078125, "y": -2749.556640625}, {"x": 9028.064453125, "y": -2749.561279296875}, {"x": 9028.0576171875, "y": -2749.51953125}, {"x": 9028.0341796875, "y": -2749.498779296875}, {"x": 9028.0126953125, "y": -2749.471435546875}, {"x": 9028.009765625, "y": -2749.455078125}, {"x": 9027.998046875, "y": -2749.403076171875}, {"x": 9027.9921875, "y": -2749.3740234375}, {"x": 9027.998046875, "y": -2749.349609375}, {"x": 9027.990234375, "y": -2749.32177734375}, {"x": 9027.9775390625, "y": -2749.292724609375}, {"x": 9027.9833984375, "y": -2749.267333984375}, {"x": 9027.986328125, "y": -2749.2314453125}, {"x": 9027.994140625, "y": -2749.20654296875}, {"x": 9028.0146484375, "y": -2749.171875}, {"x": 9028.0048828125, "y": -2749.146240234375}, {"x": 9028.009765625, "y": -2749.115478515625}, {"x": 9028.0068359375, "y": -2749.096923828125}, {"x": 9027.998046875, "y": -2749.08154296875}, {"x": 9028.0166015625, "y": -2749.07861328125}, {"x": 9028.017578125, "y": -2749.076416015625}, {"x": 9028.00390625, "y": -2749.07470703125}, {"x": 9027.998046875, "y": -2749.06591796875}, {"x": 9027.990234375, "y": -2749.0712890625}, {"x": 9027.974609375, "y": -2749.081787109375}, {"x": 9027.9658203125, "y": -2749.083251953125}, {"x": 9027.96484375, "y": -2749.1025390625}, {"x": 9027.9501953125, "y": -2749.10888671875}, {"x": 9027.9443359375, "y": -2749.11474609375}, {"x": 9027.943359375, "y": -2749.12890625}, {"x": 9027.9365234375, "y": -2749.133056640625}, {"x": 9027.935546875, "y": -2749.1318359375}, {"x": 9027.9453125, "y": -2749.1552734375}, {"x": 9027.9462890625, "y": -2749.178955078125}, {"x": 9027.955078125, "y": -2749.189697265625}], "width": 0.806481122970581, "length": 0.8255271911621094, "heading": [-146.31135368267573, -150.92996858057336, -149.7692189122647, -144.26942764916538, -148.90819160511458, -154.9238807166033, -141.51033175280372, -135.21729597987746, -145.8331584785048, -144.24809013819828, -129.28310468556532, -140.30160683576491, -129.26425336345608, -127.37835617134552, -125.64960797165861, -133.04026880458426, -128.04067961516165, -125.95745825792942, -121.51648291996547, -119.28094834424196, -117.55213184266336, -114.94937897640327, -112.64524198065615, -109.94749484341953, -109.01686107843778, -107.99126036323618, -107.2465853285972, -107.04294323849328, -106.89287032204976, -107.34464635451107, -108.14182505329994, -107.00722817932328, -106.12590154995985, -103.01381464710275, -105.12909008210985, -108.20188290667187, -109.28265105979966, -111.9000137006944, -115.18876344643388, -121.90721072162522, -112.31394365496469, -113.39186361920859, -132.55215616573847, -127.12363109643906, -122.78352399213786, -120.87865253451301, -118.23851121273627, -116.70300272504737, -266.97081178634465, -276.4452677123928, -278.9235062300836, -281.6681767669182, -289.0949966213099, -287.3198031352669, -289.3231249395883, -289.1392289263749, -291.2269172273243, -289.21370530908473, -291.690960279535, -287.71745674874506, -289.3491342999477, -277.8073440366768, -269.98106739886606, -268.6791513807916, -265.2108906032858, -265.1166613134963, -270.02625593041483, -266.0061158679721, -265.71482196024937, -261.4936830909115, -249.89214233278122, -252.3293723946952, -246.5294489590872, -245.70753131512453, -244.59505742386955, -236.30990135686068, -232.93330171801648, -230.91866912042954, -226.69344579796794, -226.65101666284383, -230.13715887559667, -224.59989719471065, -229.82900806100238, -229.8070421726316, -228.99614845398935, -223.53427840116194, -225.92171638402655, -221.61235879136873, -218.80736402378457, -222.4461882852439, -228.05222997107194], "velocity": [{"x": -0.078125, "y": 0.00244140625}, {"x": -0.0, "y": -0.22216796875}, {"x": -0.048828125, "y": -0.07568359375}, {"x": 0.0390625, "y": 0.13916015625}, {"x": 0.029296875, "y": -0.3466796875}, {"x": -0.0390625, "y": -0.00244140625}, {"x": -0.361328125, "y": -0.11962890625}, {"x": 0.048828125, "y": -0.25390625}, {"x": -0.21484375, "y": -0.21484375}, {"x": -0.17578125, "y": -0.234375}, {"x": -0.419921875, "y": -0.47119140625}, {"x": -0.37109375, "y": -0.380859375}, {"x": -0.458984375, "y": -0.5029296875}, {"x": -0.56640625, "y": -0.48583984375}, {"x": -0.341796875, "y": -0.5419921875}, {"x": -0.4296875, "y": -0.64697265625}, {"x": -0.72265625, "y": -0.986328125}, {"x": -0.556640625, "y": -0.8984375}, {"x": -0.60546875, "y": -1.04736328125}, {"x": -0.5078125, "y": -1.0498046875}, {"x": -0.439453125, "y": -1.02783203125}, {"x": -0.44921875, "y": -1.1083984375}, {"x": -0.419921875, "y": -1.11328125}, {"x": -0.4296875, "y": -0.95947265625}, {"x": -0.390625, "y": -1.259765625}, {"x": -0.380859375, "y": -1.083984375}, {"x": -0.390625, "y": -1.30859375}, {"x": -0.419921875, "y": -1.2255859375}, {"x": -0.126953125, "y": -0.966796875}, {"x": -0.244140625, "y": -1.083984375}, {"x": -0.33203125, "y": -1.171875}, {"x": -0.2734375, "y": -1.0400390625}, {"x": -0.2734375, "y": -0.91552734375}, {"x": -0.33203125, "y": -1.06201171875}, {"x": -0.244140625, "y": -0.89599609375}, {"x": -0.25390625, "y": -0.9619140625}, {"x": -0.361328125, "y": -0.76416015625}, {"x": -0.37109375, "y": -0.87890625}, {"x": -0.29296875, "y": -0.5517578125}, {"x": -0.576171875, "y": -0.56396484375}, {"x": -0.390625, "y": -0.44677734375}, {"x": -0.498046875, "y": -0.625}, {"x": -0.4296875, "y": -0.68359375}, {"x": -0.146484375, "y": -0.6494140625}, {"x": -0.25390625, "y": -0.5126953125}, {"x": -0.3125, "y": -0.4052734375}, {"x": -0.25390625, "y": -0.28076171875}, {"x": -0.263671875, "y": -0.27099609375}, {"x": -0.107421875, "y": -0.5712890625}, {"x": -0.107421875, "y": -0.4052734375}, {"x": -0.09765625, "y": -0.32470703125}, {"x": -0.09765625, "y": -0.18798828125}, {"x": 0.09765625, "y": -0.26123046875}, {"x": -0.126953125, "y": -0.20263671875}, {"x": -0.068359375, "y": -0.09521484375}, {"x": -0.05859375, "y": -0.15869140625}, {"x": -0.068359375, "y": 0.06103515625}, {"x": -0.13671875, "y": -0.04638671875}, {"x": -0.068359375, "y": 0.41748046875}, {"x": -0.234375, "y": 0.20751953125}, {"x": -0.21484375, "y": 0.2734375}, {"x": -0.029296875, "y": 0.16357421875}, {"x": -0.1171875, "y": 0.52001953125}, {"x": -0.05859375, "y": 0.29052734375}, {"x": 0.05859375, "y": 0.244140625}, {"x": -0.078125, "y": 0.2783203125}, {"x": -0.126953125, "y": 0.29052734375}, {"x": 0.05859375, "y": 0.25390625}, {"x": 0.029296875, "y": 0.35888671875}, {"x": 0.078125, "y": 0.2490234375}, {"x": 0.205078125, "y": 0.3466796875}, {"x": -0.09765625, "y": 0.25634765625}, {"x": 0.048828125, "y": 0.3076171875}, {"x": -0.029296875, "y": 0.185546875}, {"x": -0.087890625, "y": 0.15380859375}, {"x": 0.185546875, "y": 0.029296875}, {"x": 0.009765625, "y": 0.02197265625}, {"x": -0.13671875, "y": 0.01708984375}, {"x": -0.05859375, "y": 0.087890625}, {"x": -0.078125, "y": -0.0537109375}, {"x": -0.15625, "y": -0.10498046875}, {"x": -0.087890625, "y": -0.0146484375}, {"x": -0.009765625, "y": -0.19287109375}, {"x": -0.146484375, "y": -0.0634765625}, {"x": -0.05859375, "y": -0.05859375}, {"x": -0.009765625, "y": -0.1416015625}, {"x": -0.068359375, "y": -0.04150390625}, {"x": -0.009765625, "y": 0.01220703125}, {"x": 0.09765625, "y": -0.234375}, {"x": 0.009765625, "y": -0.23681640625}, {"x": 0.087890625, "y": -0.107421875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.955078125, "y": -2749.189697265625}, "type": "pedestrian"}, {"position": [{"x": 9041.47265625, "y": -2715.972900390625}, {"x": 9041.529296875, "y": -2715.90869140625}, {"x": 9041.5947265625, "y": -2715.8291015625}, {"x": 9041.671875, "y": -2715.7529296875}, {"x": 9041.7431640625, "y": -2715.693115234375}, {"x": 9041.8271484375, "y": -2715.631103515625}, {"x": 9041.9091796875, "y": -2715.5751953125}, {"x": 9042.0087890625, "y": -2715.522216796875}, {"x": 9042.1005859375, "y": -2715.4677734375}, {"x": 9042.1748046875, "y": -2715.41259765625}, {"x": 9042.2578125, "y": -2715.365234375}, {"x": 9042.34765625, "y": -2715.313720703125}, {"x": 9042.4140625, "y": -2715.271240234375}, {"x": 9042.48046875, "y": -2715.23046875}, {"x": 9042.5615234375, "y": -2715.20654296875}, {"x": 9042.625, "y": -2715.177490234375}, {"x": 9042.6953125, "y": -2715.16015625}, {"x": 9042.77734375, "y": -2715.161376953125}, {"x": 9042.880859375, "y": -2715.150146484375}, {"x": 9042.96484375, "y": -2715.113525390625}, {"x": 9043.06640625, "y": -2715.102783203125}, {"x": 9043.1572265625, "y": -2715.084228515625}, {"x": 9043.2529296875, "y": -2715.080078125}, {"x": 9043.3359375, "y": -2715.072509765625}, {"x": 9043.4287109375, "y": -2715.07177734375}, {"x": 9043.529296875, "y": -2715.070068359375}, {"x": 9043.62890625, "y": -2715.06298828125}, {"x": 9043.7119140625, "y": -2715.046875}, {"x": 9043.78125, "y": -2715.050048828125}, {"x": 9043.8828125, "y": -2715.035888671875}, {"x": 9043.978515625, "y": -2715.040771484375}, {"x": 9044.107421875, "y": -2715.0380859375}, {"x": 9044.181640625, "y": -2715.033447265625}, {"x": 9044.3046875, "y": -2715.017333984375}, {"x": 9044.400390625, "y": -2715.004150390625}, {"x": 9044.484375, "y": -2714.98486328125}, {"x": 9044.5712890625, "y": -2714.9736328125}, {"x": 9044.6572265625, "y": -2714.9638671875}, {"x": 9044.7333984375, "y": -2714.95263671875}, {"x": 9044.8212890625, "y": -2714.931640625}, {"x": 9044.9150390625, "y": -2714.92041015625}, {"x": 9045.005859375, "y": -2714.8916015625}, {"x": 9045.0869140625, "y": -2714.8779296875}, {"x": 9045.189453125, "y": -2714.84521484375}, {"x": 9045.2666015625, "y": -2714.817138671875}, {"x": 9045.369140625, "y": -2714.771240234375}, {"x": 9045.4560546875, "y": -2714.7294921875}, {"x": 9045.53515625, "y": -2714.698486328125}, {"x": 9045.6123046875, "y": -2714.6513671875}, {"x": 9045.693359375, "y": -2714.61474609375}, {"x": 9045.7666015625, "y": -2714.586181640625}, {"x": 9045.8408203125, "y": -2714.549072265625}, {"x": 9045.931640625, "y": -2714.48876953125}, {"x": 9046.0146484375, "y": -2714.4658203125}, {"x": 9046.109375, "y": -2714.424560546875}, {"x": 9046.177734375, "y": -2714.36669921875}, {"x": 9046.2587890625, "y": -2714.3359375}, {"x": 9046.337890625, "y": -2714.2958984375}, {"x": 9046.412109375, "y": -2714.234619140625}, {"x": 9046.5009765625, "y": -2714.192138671875}, {"x": 9046.5888671875, "y": -2714.135009765625}, {"x": 9046.6591796875, "y": -2714.099609375}, {"x": 9046.734375, "y": -2714.055908203125}, {"x": 9046.791015625, "y": -2714.018310546875}, {"x": 9046.8779296875, "y": -2713.967529296875}, {"x": 9046.943359375, "y": -2713.907470703125}, {"x": 9046.9951171875, "y": -2713.8779296875}, {"x": 9047.0849609375, "y": -2713.8115234375}, {"x": 9047.1533203125, "y": -2713.766845703125}, {"x": 9047.2353515625, "y": -2713.70703125}, {"x": 9047.3271484375, "y": -2713.650634765625}, {"x": 9047.390625, "y": -2713.60009765625}, {"x": 9047.4560546875, "y": -2713.56494140625}, {"x": 9047.5166015625, "y": -2713.520263671875}, {"x": 9047.55078125, "y": -2713.47119140625}, {"x": 9047.615234375, "y": -2713.393798828125}, {"x": 9047.681640625, "y": -2713.362060546875}, {"x": 9047.748046875, "y": -2713.290283203125}, {"x": 9047.84375, "y": -2713.229248046875}, {"x": 9047.9521484375, "y": -2713.19677734375}, {"x": 9048.0068359375, "y": -2713.123046875}, {"x": 9048.0634765625, "y": -2713.130615234375}, {"x": 9048.1279296875, "y": -2713.06884765625}, {"x": 9048.19140625, "y": -2713.05322265625}, {"x": 9048.275390625, "y": -2713.07421875}, {"x": -10000.0, "y": -10000.0}, {"x": 9048.1396484375, "y": -2713.11181640625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.9296231865882874, "length": 0.9178699254989624, "heading": [-310.3378958080467, -311.2485512697062, -315.4358124007608, -317.6593121831668, 38.736789500323674, 36.94304180540034, 35.303663215908465, 32.83917728411154, 30.071171405977587, 31.26773858629378, 29.541445839613495, 29.480107325772195, 28.539178758163946, 28.63017566092873, 26.085672355457817, 21.567823238385373, 19.259548855548516, 13.648034480647997, 8.751798006198724, 10.454798100261975, 7.676484612896827, 10.01658170085042, 9.012712086266857, 5.830091100511504, 4.827184969487736, 4.306375788198271, 4.128230794265999, 4.672978081049067, 5.077849070045796, 5.345213836898184, 5.4133560729264625, 6.9756090200842, 6.567320802068347, 6.959040688705041, 6.763788632222826, 7.587595677264635, 10.082127611220447, 11.38655543136219, 13.31204808386496, 14.476483493004476, 15.285567211516677, 16.706079219244664, 16.96054645450995, 18.293089040822757, 20.119210124864658, 22.04225500832363, 23.63697269838008, 24.502415722828644, 25.86453644334219, 26.26931735921924, 27.367690324932745, 27.638377551929523, 27.473571917446286, 28.15144087181337, 28.937250720728752, 29.527256121612794, 30.72694811347427, 30.493451266508213, 31.898550952374066, 32.403708328293625, 33.304671751520836, 33.16179102427334, 33.58639314912177, 33.654309135133786, 34.636951375550595, 35.37546899465281, 35.34892687953814, 35.610437747385006, 35.302310838452804, 35.87563691738367, 35.60168144486905, 35.01296011954897, 34.76995906435284, 35.54357361050516, 36.57616160922769, 38.21251100982267, 36.13452157749467, 37.17154578408312, 36.79274349271421, 36.21652482866984, 35.71075956591415, 35.860494387993754, 34.41793111453038, 35.55686515863001, 31.0307856636077, -10000.0, 33.18489072404632, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.60546875, "y": 0.60302734375}, {"x": 0.56640625, "y": 0.64208984375}, {"x": 0.654296875, "y": 0.7958984375}, {"x": 0.771484375, "y": 0.76171875}, {"x": 0.712890625, "y": 0.59814453125}, {"x": 0.83984375, "y": 0.6201171875}, {"x": 0.8203125, "y": 0.55908203125}, {"x": 0.99609375, "y": 0.52978515625}, {"x": 0.91796875, "y": 0.54443359375}, {"x": 0.7421875, "y": 0.5517578125}, {"x": 0.830078125, "y": 0.4736328125}, {"x": 0.8984375, "y": 0.51513671875}, {"x": 0.6640625, "y": 0.4248046875}, {"x": 0.6640625, "y": 0.40771484375}, {"x": 0.810546875, "y": 0.2392578125}, {"x": 0.634765625, "y": 0.29052734375}, {"x": 0.703125, "y": 0.17333984375}, {"x": 0.8203125, "y": -0.01220703125}, {"x": 1.03515625, "y": 0.1123046875}, {"x": 0.83984375, "y": 0.3662109375}, {"x": 1.015625, "y": 0.107421875}, {"x": 0.908203125, "y": 0.185546875}, {"x": 0.95703125, "y": 0.04150390625}, {"x": 0.830078125, "y": 0.07568359375}, {"x": 0.927734375, "y": 0.00732421875}, {"x": 1.005859375, "y": 0.01708984375}, {"x": 0.99609375, "y": 0.07080078125}, {"x": 0.830078125, "y": 0.1611328125}, {"x": 0.693359375, "y": -0.03173828125}, {"x": 1.015625, "y": 0.1416015625}, {"x": 0.95703125, "y": -0.048828125}, {"x": 1.2890625, "y": 0.02685546875}, {"x": 0.7421875, "y": 0.04638671875}, {"x": 1.23046875, "y": 0.1611328125}, {"x": 0.95703125, "y": 0.1318359375}, {"x": 0.83984375, "y": 0.19287109375}, {"x": 0.869140625, "y": 0.1123046875}, {"x": 0.859375, "y": 0.09765625}, {"x": 0.76171875, "y": 0.1123046875}, {"x": 0.87890625, "y": 0.2099609375}, {"x": 0.9375, "y": 0.1123046875}, {"x": 0.908203125, "y": 0.2880859375}, {"x": 0.810546875, "y": 0.13671875}, {"x": 1.025390625, "y": 0.3271484375}, {"x": 0.771484375, "y": 0.28076171875}, {"x": 1.025390625, "y": 0.458984375}, {"x": 0.869140625, "y": 0.41748046875}, {"x": 0.791015625, "y": 0.31005859375}, {"x": 0.771484375, "y": 0.47119140625}, {"x": 0.810546875, "y": 0.3662109375}, {"x": 0.732421875, "y": 0.28564453125}, {"x": 0.7421875, "y": 0.37109375}, {"x": 0.908203125, "y": 0.60302734375}, {"x": 0.830078125, "y": 0.2294921875}, {"x": 0.947265625, "y": 0.41259765625}, {"x": 0.68359375, "y": 0.57861328125}, {"x": 0.810546875, "y": 0.3076171875}, {"x": 0.791015625, "y": 0.400390625}, {"x": 0.7421875, "y": 0.61279296875}, {"x": 0.888671875, "y": 0.4248046875}, {"x": 0.87890625, "y": 0.5712890625}, {"x": 0.703125, "y": 0.35400390625}, {"x": 0.751953125, "y": 0.43701171875}, {"x": 0.56640625, "y": 0.3759765625}, {"x": 0.869140625, "y": 0.5078125}, {"x": 0.654296875, "y": 0.6005859375}, {"x": 0.517578125, "y": 0.29541015625}, {"x": 0.8984375, "y": 0.6640625}, {"x": 0.68359375, "y": 0.44677734375}, {"x": 0.8203125, "y": 0.59814453125}, {"x": 0.91796875, "y": 0.56396484375}, {"x": 0.634765625, "y": 0.50537109375}, {"x": 0.654296875, "y": 0.3515625}, {"x": 0.60546875, "y": 0.44677734375}, {"x": 0.341796875, "y": 0.49072265625}, {"x": 0.64453125, "y": 0.77392578125}, {"x": 0.6640625, "y": 0.3173828125}, {"x": 0.6640625, "y": 0.7177734375}, {"x": 0.95703125, "y": 0.6103515625}, {"x": 1.083984375, "y": 0.32470703125}, {"x": 0.546875, "y": 0.7373046875}, {"x": 0.56640625, "y": -0.07568359375}, {"x": 0.64453125, "y": 0.61767578125}, {"x": 0.634765625, "y": 0.15625}, {"x": 0.83984375, "y": -0.2099609375}, {"x": -10000.0, "y": -10000.0}, {"x": -0.6787109375, "y": -0.18798828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false], "goalPosition": {"x": 9048.1396484375, "y": -2713.11181640625}, "type": "pedestrian"}, {"position": [{"x": 9027.23046875, "y": -2748.892822265625}, {"x": -10000.0, "y": -10000.0}, {"x": 9027.12109375, "y": -2748.6875}, {"x": 9027.123046875, "y": -2748.6845703125}, {"x": 9027.16796875, "y": -2748.72412109375}, {"x": 9027.3046875, "y": -2748.973876953125}, {"x": 9027.111328125, "y": -2748.64599609375}, {"x": 9027.1181640625, "y": -2748.630126953125}, {"x": 9027.09765625, "y": -2748.623046875}, {"x": 9027.1015625, "y": -2748.599365234375}, {"x": 9027.0810546875, "y": -2748.58642578125}, {"x": 9027.083984375, "y": -2748.5791015625}, {"x": 9027.08203125, "y": -2748.561767578125}, {"x": 9027.0830078125, "y": -2748.546630859375}, {"x": 9027.0908203125, "y": -2748.50927734375}, {"x": 9027.0751953125, "y": -2748.482666015625}, {"x": 9027.080078125, "y": -2748.46923828125}, {"x": 9027.0927734375, "y": -2748.473876953125}, {"x": 9027.0771484375, "y": -2748.486328125}, {"x": 9027.0947265625, "y": -2748.46826171875}, {"x": 9027.0830078125, "y": -2748.47705078125}, {"x": 9027.0927734375, "y": -2748.458740234375}, {"x": 9027.0849609375, "y": -2748.463134765625}, {"x": 9027.087890625, "y": -2748.4638671875}, {"x": 9027.0908203125, "y": -2748.4580078125}, {"x": 9027.0947265625, "y": -2748.46337890625}, {"x": 9027.09375, "y": -2748.466552734375}, {"x": 9027.1025390625, "y": -2748.470947265625}, {"x": 9027.09765625, "y": -2748.479736328125}, {"x": 9027.0966796875, "y": -2748.476806640625}, {"x": 9027.1005859375, "y": -2748.482421875}, {"x": 9027.099609375, "y": -2748.480224609375}, {"x": 9027.0966796875, "y": -2748.477783203125}, {"x": 9027.099609375, "y": -2748.473388671875}, {"x": 9027.095703125, "y": -2748.47216796875}, {"x": 9027.0966796875, "y": -2748.476806640625}, {"x": 9027.1025390625, "y": -2748.482177734375}, {"x": 9027.0986328125, "y": -2748.473876953125}, {"x": 9027.103515625, "y": -2748.480712890625}, {"x": 9027.0966796875, "y": -2748.47802734375}, {"x": 9027.0986328125, "y": -2748.477783203125}, {"x": 9027.099609375, "y": -2748.479736328125}, {"x": 9027.0947265625, "y": -2748.482421875}, {"x": 9027.0947265625, "y": -2748.486328125}, {"x": 9027.095703125, "y": -2748.486083984375}, {"x": 9027.09765625, "y": -2748.485595703125}, {"x": 9027.0927734375, "y": -2748.48486328125}, {"x": 9027.09375, "y": -2748.479736328125}, {"x": 9027.091796875, "y": -2748.481201171875}, {"x": 9027.08984375, "y": -2748.47216796875}, {"x": 9027.087890625, "y": -2748.46337890625}, {"x": 9027.087890625, "y": -2748.476806640625}, {"x": 9027.08984375, "y": -2748.462646484375}, {"x": 9027.091796875, "y": -2748.452392578125}, {"x": 9027.09375, "y": -2748.451904296875}, {"x": 9027.09375, "y": -2748.443115234375}, {"x": 9027.0859375, "y": -2748.430419921875}, {"x": 9027.0859375, "y": -2748.429931640625}, {"x": 9027.0859375, "y": -2748.429931640625}, {"x": 9027.078125, "y": -2748.425048828125}, {"x": 9027.072265625, "y": -2748.431640625}, {"x": 9027.0654296875, "y": -2748.417724609375}, {"x": 9027.0712890625, "y": -2748.416259765625}, {"x": 9027.0625, "y": -2748.426513671875}, {"x": 9027.064453125, "y": -2748.416259765625}, {"x": 9027.05859375, "y": -2748.417236328125}, {"x": 9027.06640625, "y": -2748.428466796875}, {"x": 9027.0634765625, "y": -2748.428466796875}, {"x": 9027.0654296875, "y": -2748.421630859375}, {"x": 9027.060546875, "y": -2748.430419921875}, {"x": 9027.064453125, "y": -2748.4404296875}, {"x": 9027.0576171875, "y": -2748.44970703125}, {"x": 9027.052734375, "y": -2748.46044921875}, {"x": 9027.0517578125, "y": -2748.46435546875}, {"x": 9027.048828125, "y": -2748.47119140625}, {"x": 9027.0439453125, "y": -2748.477294921875}, {"x": 9027.03125, "y": -2748.484375}, {"x": 9027.03125, "y": -2748.47998046875}, {"x": 9027.0283203125, "y": -2748.487548828125}, {"x": 9027.0341796875, "y": -2748.490234375}, {"x": 9027.029296875, "y": -2748.497314453125}, {"x": 9027.029296875, "y": -2748.49755859375}, {"x": 9027.021484375, "y": -2748.507080078125}, {"x": 9027.013671875, "y": -2748.50146484375}, {"x": 9027.0166015625, "y": -2748.50927734375}, {"x": 9027.0087890625, "y": -2748.51806640625}, {"x": 9027.013671875, "y": -2748.513916015625}, {"x": 9027.0107421875, "y": -2748.51416015625}, {"x": 9027.0078125, "y": -2748.5224609375}, {"x": 9027.0048828125, "y": -2748.52978515625}, {"x": 9027.001953125, "y": -2748.528564453125}], "width": 0.9541192650794983, "length": 0.9278106689453125, "heading": [6.308257276378464, -10000.0, 12.549341349817146, 3.5876115030625577, 7.228573613732085, 0.11501825118889909, 15.184480411800488, 3.1397154449366247, 19.462147634256727, 8.593913914665647, 356.0414509410267, 16.512525318544842, 15.581208534646093, 12.912677531584206, 7.465325045837652, 0.3512321260624449, -6.900958040663722, -4.786214506638238, -16.250264837436568, -7.8416659077844155, -13.462582891851103, -9.303984649648404, -6.713421109735859, -9.590581094769432, -3.4707523024489286, -8.556210416673531, -3.2217225380932057, -10.485803743999249, -2.029042802631807, -1.7907701593320313, -3.200645641531604, -0.44069490430662395, 1.5439119682455495, -1.423063830434927, -1.2122529231885397, 0.2804392430276726, 2.6223350186105057, -0.34346774844087424, 1.7580698816286546, -1.8620502269536958, 0.1760950834076225, -1.9672323654075419, -0.8133824688210772, 0.08803238722159028, 0.23792515742575135, 1.3889507707904158, 2.711820955464839, 2.2499274918520227, 2.9331940032107107, 3.293214128135729, 4.028216761136325, 5.029002118422804, 6.9737243147601, 4.1187210365072255, 3.192062014735602, 2.7114563941178895, 3.7563854774535725, 2.5724904324818683, 4.3963835941938765, 8.960412474018423, 11.209769645074749, 4.680262904685708, 4.200793870234568, 6.063489763508241, 0.4485835593545771, 0.34351038376233395, 5.567661145334451, 1.6768312914754058, -3.385062456669241, -3.1199851628585735, -12.507157247729502, -17.675496505881036, -18.927774124162436, -18.426142833401897, -22.66100013768779, -22.768010418961673, -23.37657344382064, -24.145531508506306, -23.18421482622557, -18.224256101914662, -19.670068837875668, -20.74060707517408, -20.102786935005366, -18.812787889485275, -20.43647582690634, -21.27359234931956, -21.175439115851894, -22.389506948368954, -20.48238665095987, -17.667959392131927, -19.07455318187872], "velocity": [{"x": 0.341796875, "y": -0.1708984375}, {"x": -10000.0, "y": -10000.0}, {"x": -1.455078125, "y": 3.21044921875}, {"x": 0.01953125, "y": 0.029296875}, {"x": 0.44921875, "y": -0.3955078125}, {"x": 1.3671875, "y": -2.49755859375}, {"x": -1.93359375, "y": 3.27880859375}, {"x": 0.068359375, "y": 0.15869140625}, {"x": -0.205078125, "y": 0.07080078125}, {"x": 0.0390625, "y": 0.23681640625}, {"x": -0.205078125, "y": 0.12939453125}, {"x": 0.029296875, "y": 0.0732421875}, {"x": -0.01953125, "y": 0.17333984375}, {"x": 0.009765625, "y": 0.1513671875}, {"x": 0.078125, "y": 0.37353515625}, {"x": -0.15625, "y": 0.26611328125}, {"x": 0.048828125, "y": 0.13427734375}, {"x": 0.126953125, "y": -0.04638671875}, {"x": -0.15625, "y": -0.12451171875}, {"x": 0.17578125, "y": 0.1806640625}, {"x": -0.1171875, "y": -0.087890625}, {"x": 0.09765625, "y": 0.18310546875}, {"x": -0.078125, "y": -0.0439453125}, {"x": 0.029296875, "y": -0.00732421875}, {"x": 0.029296875, "y": 0.05859375}, {"x": 0.0390625, "y": -0.0537109375}, {"x": -0.009765625, "y": -0.03173828125}, {"x": 0.087890625, "y": -0.0439453125}, {"x": -0.048828125, "y": -0.087890625}, {"x": -0.009765625, "y": 0.029296875}, {"x": 0.0390625, "y": -0.05615234375}, {"x": -0.009765625, "y": 0.02197265625}, {"x": -0.029296875, "y": 0.0244140625}, {"x": 0.029296875, "y": 0.0439453125}, {"x": -0.0390625, "y": 0.01220703125}, {"x": 0.009765625, "y": -0.04638671875}, {"x": 0.05859375, "y": -0.0537109375}, {"x": -0.0390625, "y": 0.0830078125}, {"x": 0.048828125, "y": -0.068359375}, {"x": -0.068359375, "y": 0.02685546875}, {"x": 0.01953125, "y": 0.00244140625}, {"x": 0.009765625, "y": -0.01953125}, {"x": -0.048828125, "y": -0.02685546875}, {"x": -0.0, "y": -0.0390625}, {"x": 0.009765625, "y": 0.00244140625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.048828125, "y": 0.00732421875}, {"x": 0.009765625, "y": 0.05126953125}, {"x": -0.01953125, "y": -0.0146484375}, {"x": -0.01953125, "y": 0.09033203125}, {"x": -0.01953125, "y": 0.087890625}, {"x": -0.0, "y": -0.13427734375}, {"x": 0.01953125, "y": 0.1416015625}, {"x": 0.01953125, "y": 0.1025390625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.0, "y": 0.087890625}, {"x": -0.078125, "y": 0.126953125}, {"x": -0.0, "y": 0.0048828125}, {"x": -0.0, "y": -0.0}, {"x": -0.078125, "y": 0.048828125}, {"x": -0.05859375, "y": -0.06591796875}, {"x": -0.068359375, "y": 0.13916015625}, {"x": 0.05859375, "y": 0.0146484375}, {"x": -0.087890625, "y": -0.1025390625}, {"x": 0.01953125, "y": 0.1025390625}, {"x": -0.05859375, "y": -0.009765625}, {"x": 0.078125, "y": -0.1123046875}, {"x": -0.029296875, "y": -0.0}, {"x": 0.01953125, "y": 0.068359375}, {"x": -0.048828125, "y": -0.087890625}, {"x": 0.0390625, "y": -0.10009765625}, {"x": -0.068359375, "y": -0.0927734375}, {"x": -0.048828125, "y": -0.107421875}, {"x": -0.009765625, "y": -0.0390625}, {"x": -0.029296875, "y": -0.068359375}, {"x": -0.048828125, "y": -0.06103515625}, {"x": -0.126953125, "y": -0.07080078125}, {"x": -0.0, "y": 0.0439453125}, {"x": -0.029296875, "y": -0.07568359375}, {"x": 0.05859375, "y": -0.02685546875}, {"x": -0.048828125, "y": -0.07080078125}, {"x": -0.0, "y": -0.00244140625}, {"x": -0.078125, "y": -0.09521484375}, {"x": -0.078125, "y": 0.05615234375}, {"x": 0.029296875, "y": -0.078125}, {"x": -0.078125, "y": -0.087890625}, {"x": 0.048828125, "y": 0.04150390625}, {"x": -0.029296875, "y": -0.00244140625}, {"x": -0.029296875, "y": -0.0830078125}, {"x": -0.029296875, "y": -0.0732421875}, {"x": -0.029296875, "y": 0.01220703125}], "valid": [true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.001953125, "y": -2748.528564453125}, "type": "pedestrian"}, {"position": [{"x": 9050.41261526267, "y": -2718.300911590329}, {"x": 9050.122931122582, "y": -2718.536341476303}, {"x": 9049.835324995202, "y": -2718.7694254514968}, {"x": 9049.552676328063, "y": -2719.001095111232}, {"x": 9049.273052551604, "y": -2719.230002077548}, {"x": 9048.997578819744, "y": -2719.4580240412306}, {"x": 9048.722462822305, "y": -2719.685687407636}, {"x": 9048.445426215261, "y": -2719.9117721122725}, {"x": 9048.173643375252, "y": -2720.1418718795026}, {"x": 9047.901682733496, "y": -2720.367496557007}, {"x": 9047.630235656874, "y": -2720.5891485081966}, {"x": 9047.360873526924, "y": -2720.8154591598795}, {"x": 9047.089556779585, "y": -2721.0371616697316}, {"x": 9046.82368220551, "y": -2721.2609184181433}, {"x": 9046.56114571281, "y": -2721.48011541951}, {"x": 9046.30093875212, "y": -2721.6985050216604}, {"x": 9046.04114058198, "y": -2721.9170799701333}, {"x": 9045.77950096327, "y": -2722.136123558335}, {"x": 9045.515755678136, "y": -2722.3593586499783}, {"x": 9045.253148801885, "y": -2722.5810978051027}, {"x": 9044.990285669663, "y": -2722.803489750548}, {"x": 9044.72068121195, "y": -2723.0295993712175}, {"x": 9044.445815859766, "y": -2723.261852907281}, {"x": 9044.16342901741, "y": -2723.4965952798293}, {"x": 9043.877558365411, "y": -2723.738215317628}, {"x": 9043.588376893094, "y": -2723.980856340064}, {"x": 9043.297479047571, "y": -2724.2268356533195}, {"x": 9043.00285456308, "y": -2724.475928111936}, {"x": 9042.701481469076, "y": -2724.727496804128}, {"x": 9042.397947798323, "y": -2724.986144338528}, {"x": 9042.090122974234, "y": -2725.2461466662717}, {"x": 9041.782290060784, "y": -2725.5067214974806}, {"x": 9041.476459227697, "y": -2725.766768534353}, {"x": 9041.169952479653, "y": -2726.0257960140675}, {"x": 9040.864425600053, "y": -2726.2857508627926}, {"x": 9040.558598869298, "y": -2726.544860845128}, {"x": 9040.254175846378, "y": -2726.8037844672995}, {"x": 9039.949398589648, "y": -2727.063669304543}, {"x": 9039.646222359872, "y": -2727.3225879254824}, {"x": 9039.344418134837, "y": -2727.5808362178686}, {"x": 9039.044826129279, "y": -2727.839637432722}, {"x": 9038.744532957666, "y": -2728.097790872204}, {"x": 9038.443481297176, "y": -2728.3592208999275}, {"x": 9038.142310935153, "y": -2728.6204809377846}, {"x": 9037.841151710594, "y": -2728.883992507902}, {"x": 9037.537915209688, "y": -2729.1498877733197}, {"x": 9037.232531456511, "y": -2729.417472545977}, {"x": 9036.926386883255, "y": -2729.6894780924804}, {"x": 9036.618407068956, "y": -2729.962798989444}, {"x": 9036.308855735668, "y": -2730.23895498391}, {"x": 9035.997722505374, "y": -2730.5178099317127}, {"x": 9035.686128246893, "y": -2730.7973352747968}, {"x": 9035.376549827446, "y": -2731.077750125218}, {"x": 9035.06596458621, "y": -2731.358417158373}, {"x": 9034.755685840928, "y": -2731.6400367611805}, {"x": 9034.447485816485, "y": -2731.920792755657}, {"x": 9034.140451521478, "y": -2732.20119731853}, {"x": 9033.833757595, "y": -2732.480562450198}, {"x": 9033.527124148663, "y": -2732.76141392341}, {"x": 9033.219001843045, "y": -2733.0429615978883}, {"x": 9032.9105403566, "y": -2733.326035547073}, {"x": 9032.599126882513, "y": -2733.611122462235}, {"x": 9032.285762974738, "y": -2733.897781604348}, {"x": 9031.96998672291, "y": -2734.1881556755557}, {"x": 9031.65169371649, "y": -2734.4808028319753}, {"x": 9031.330857548428, "y": -2734.7748549544604}, {"x": 9031.007778657751, "y": -2735.0721331138325}, {"x": 9030.681790499495, "y": -2735.3707155624693}, {"x": 9030.354054230726, "y": -2735.6722494005876}, {"x": 9030.02326109493, "y": -2735.9761186892897}, {"x": 9029.692109753727, "y": -2736.2807460877048}, {"x": 9029.359678926046, "y": -2736.586640544493}, {"x": 9029.025397832545, "y": -2736.895066209317}, {"x": 9028.688540783862, "y": -2737.2046609644703}, {"x": 9028.351703373812, "y": -2737.515177552283}, {"x": 9028.015606732088, "y": -2737.825455442589}, {"x": 9027.679214557571, "y": -2738.1350692680703}, {"x": 9027.342742290959, "y": -2738.4437135937783}, {"x": 9027.008420711241, "y": -2738.750867239769}, {"x": 9026.675243973681, "y": -2739.058055766962}, {"x": 9026.343479604726, "y": -2739.3640791745306}, {"x": 9026.013347543103, "y": -2739.669142884558}, {"x": 9025.683930952007, "y": -2739.97251837709}, {"x": 9025.355623828636, "y": -2740.2751701656734}, {"x": 9025.029097262035, "y": -2740.5769624034833}, {"x": 9024.704598873408, "y": -2740.877975170262}, {"x": 9024.38085051139, "y": -2741.177467179031}, {"x": 9024.05802933813, "y": -2741.4759415683893}, {"x": 9023.736592808003, "y": -2741.774001274035}, {"x": 9023.416687035859, "y": -2742.0696596538824}, {"x": 9023.098706930134, "y": -2742.3646567795026}], "width": 2.3320000171661377, "length": 5.285999774932861, "heading": [-141.3493715148232, -141.26723165986462, -141.1795456913, -141.06407451319177, -140.96365707201423, -140.88397608515686, -140.8055245323501, -140.7168276957883, -140.65804708779118, -140.5895539507943, -140.52685281421358, -140.51205862447134, -140.46573628152032, -140.37373363340024, -140.29015943871596, -140.24714290732322, -140.19980969637504, -140.11336682223936, -140.026937608482, -139.99430296462768, -140.00296364449525, -140.00982115442196, -140.00991677707034, -139.99474009673457, -139.95658666003087, -139.92811843157025, -139.93233948847734, -139.93221654507227, -139.90516899595903, -139.88358559818178, -139.86216612494462, -139.83464046258948, -139.80115887527808, -139.78449321370323, -139.7517492868222, -139.72445585089883, -139.70791313272906, -139.68026452696884, -139.6362507879573, -139.581281425517, -139.52636670459012, -139.44410390622647, -139.3396429930603, -139.245782533486, -139.15765943281448, -139.04763874566393, -138.92122560450534, -138.7947714822117, -138.6737405301191, -138.55817372936247, -138.44803009880684, -138.3437877516941, -138.23970932912147, -138.13553528390042, -138.03651120131357, -137.93196832587736, -137.8498011501621, -137.79518695755868, -137.74585933137286, -137.68558974213667, -137.63108483255996, -137.5820850554543, -137.54398626026395, -137.50558693675015, -137.48356640686603, -137.4672422547497, -137.44554957394573, -137.4348534977055, -137.43488081846218, -137.4347168939221, -137.41269636403797, -137.3907987775589, -137.36920171940332, -137.35279560501695, -137.3472085102759, -137.3526316804769, -137.36913341751162, -137.36924270053834, -137.35827341673132, -137.34159409477815, -137.33580209436195, -137.34129356645465, -137.33599333965873, -137.30882284714042, -137.28689793990466, -137.275983297611, -137.2593312964145, -137.2372834457737, -137.21003099098536, -137.17738268675268, -137.15547143989528], "velocity": [{"x": -2.9188003540039062, "y": -2.3613481521606445}, {"x": -2.8878653049468994, "y": -2.343716859817505}, {"x": -2.852853536605835, "y": -2.3250560760498047}, {"x": -2.813525676727295, "y": -2.304655075073242}, {"x": -2.777534246444702, "y": -2.2863266468048096}, {"x": -2.754340171813965, "y": -2.279578447341919}, {"x": -2.7616729736328125, "y": -2.2694904804229736}, {"x": -2.744535446166992, "y": -2.2812857627868652}, {"x": -2.7191121578216553, "y": -2.2789530754089355}, {"x": -2.7169995307922363, "y": -2.236353874206543}, {"x": -2.7040178775787354, "y": -2.239795207977295}, {"x": -2.7028653621673584, "y": -2.239638566970825}, {"x": -2.6853551864624023, "y": -2.2268083095550537}, {"x": -2.6418468952178955, "y": -2.2145957946777344}, {"x": -2.613130569458008, "y": -2.1874420642852783}, {"x": -2.5994393825531006, "y": -2.1843299865722656}, {"x": -2.606956958770752, "y": -2.187896966934204}, {"x": -2.6266872882843018, "y": -2.211191415786743}, {"x": -2.63153338432312, "y": -2.2246785163879395}, {"x": -2.6275999546051025, "y": -2.2208666801452637}, {"x": -2.6625399589538574, "y": -2.242678165435791}, {"x": -2.7221405506134033, "y": -2.2916390895843506}, {"x": -2.7861404418945312, "y": -2.3348753452301025}, {"x": -2.8416731357574463, "y": -2.3821356296539307}, {"x": -2.8756470680236816, "y": -2.421630859375}, {"x": -2.9008595943450928, "y": -2.4434921741485596}, {"x": -2.928109645843506, "y": -2.4757797718048096}, {"x": -2.980931282043457, "y": -2.5040955543518066}, {"x": -3.0255160331726074, "y": -2.5519051551818848}, {"x": -3.0566821098327637, "y": -2.5931577682495117}, {"x": -3.0782294273376465, "y": -2.6028361320495605}, {"x": -3.0689470767974854, "y": -2.603642463684082}, {"x": -3.0622053146362305, "y": -2.595811605453491}, {"x": -3.059986114501953, "y": -2.5947556495666504}, {"x": -3.056662082672119, "y": -2.5952329635620117}, {"x": -3.051692008972168, "y": -2.5905442237854004}, {"x": -3.0459096431732178, "y": -2.593963623046875}, {"x": -3.0397074222564697, "y": -2.593966484069824}, {"x": -3.025913953781128, "y": -2.586699962615967}, {"x": -3.0080795288085938, "y": -2.5861899852752686}, {"x": -3.000058174133301, "y": -2.585318088531494}, {"x": -3.0072646141052246, "y": -2.598383665084839}, {"x": -3.011547327041626, "y": -2.6138298511505127}, {"x": -3.0120997428894043, "y": -2.6242516040802}, {"x": -3.023036003112793, "y": -2.647960901260376}, {"x": -3.044194459915161, "y": -2.66835880279541}, {"x": -3.0585455894470215, "y": -2.69875168800354}, {"x": -3.071528196334839, "y": -2.7274370193481445}, {"x": -3.088104009628296, "y": -2.7477831840515137}, {"x": -3.1038403511047363, "y": -2.775428056716919}, {"x": -3.1141045093536377, "y": -2.7923202514648438}, {"x": -3.106842517852783, "y": -2.8005857467651367}, {"x": -3.101811408996582, "y": -2.8063085079193115}, {"x": -3.1053740978240967, "y": -2.8123888969421387}, {"x": -3.093552589416504, "y": -2.8129308223724365}, {"x": -3.0768494606018066, "y": -2.8064210414886475}, {"x": -3.069302558898926, "y": -2.7994518280029297}, {"x": -3.067188262939453, "y": -2.801586389541626}, {"x": -3.0742545127868652, "y": -2.8124308586120605}, {"x": -3.0833518505096436, "y": -2.8235044479370117}, {"x": -3.0997772216796875, "y": -2.841172933578491}, {"x": -3.123776435852051, "y": -2.8586294651031494}, {"x": -3.1454994678497314, "y": -2.8849825859069824}, {"x": -3.170788526535034, "y": -2.9155125617980957}, {"x": -3.1963160037994385, "y": -2.9341113567352295}, {"x": -3.220720052719116, "y": -2.9577035903930664}, {"x": -3.2464394569396973, "y": -2.9803175926208496}, {"x": -3.269162654876709, "y": -3.00107741355896}, {"x": -3.293074131011963, "y": -3.0274083614349365}, {"x": -3.3100688457489014, "y": -3.042801856994629}, {"x": -3.3182780742645264, "y": -3.0529472827911377}, {"x": -3.3345940113067627, "y": -3.072554349899292}, {"x": -3.356760263442993, "y": -3.091088056564331}, {"x": -3.368997573852539, "y": -3.1010401248931885}, {"x": -3.365226984024048, "y": -3.1044859886169434}, {"x": -3.362443208694458, "y": -3.0994584560394287}, {"x": -3.3642373085021973, "y": -3.091212034225464}, {"x": -3.353818416595459, "y": -3.0788509845733643}, {"x": -3.336973190307617, "y": -3.0712342262268066}, {"x": -3.3240911960601807, "y": -3.065493106842041}, {"x": -3.3087708950042725, "y": -3.054779052734375}, {"x": -3.297266960144043, "y": -3.0417563915252686}, {"x": -3.2880613803863525, "y": -3.029623031616211}, {"x": -3.2734148502349854, "y": -3.021524429321289}, {"x": -3.254228115081787, "y": -3.0131945610046387}, {"x": -3.2409889698028564, "y": -3.002296209335327}, {"x": -3.232736110687256, "y": -2.9897289276123047}, {"x": -3.2211599349975586, "y": -2.9825520515441895}, {"x": -3.207322120666504, "y": -2.9691553115844727}, {"x": -3.18949556350708, "y": -2.9533376693725586}, {"x": -3.1708626747131348, "y": -2.9482805728912354}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9023.098706930134, "y": -2742.3646567795026}, "type": "vehicle"}], "roads": [{"geometry": [{"x": 8922.911733810946, "y": -2849.426741530589}, {"x": 8923.216436260553, "y": -2849.038518766975}, {"x": 8923.50673911804, "y": -2848.63941352788}, {"x": 8923.782254084921, "y": -2848.2299596442986}, {"x": 8924.042612639492, "y": -2847.8107047886665}, {"x": 8924.287466537296, "y": -2847.382209743547}, {"x": 8924.516488266596, "y": -2846.945047650609}, {"x": 8924.729371495881, "y": -2846.49980324385}, {"x": 8924.91688626026, "y": -2846.067714357487}, {"x": 8925.087545312272, "y": -2845.6286986979553}, {"x": 8925.240661004764, "y": -2845.183259924674}, {"x": 8925.376809925383, "y": -2844.7323408082657}, {"x": 8925.497749127617, "y": -2844.277099008468}, {"x": 8925.60630100922, "y": -2843.8187373911555}, {"x": 8925.706212392251, "y": -2843.3584082005345}, {"x": 8925.801996300912, "y": -2842.897198744867}, {"x": 8925.898763025483, "y": -2842.436195527809}, {"x": 8926.002042096903, "y": -2841.976614570279}, {"x": 8926.117591192025, "y": -2841.5199781607416}, {"x": 8926.256412182003, "y": -2841.048217295736}, {"x": 8926.414396516579, "y": -2840.582522789236}, {"x": 8926.5910006025, "y": -2840.1235650229128}, {"x": 8926.785662955135, "y": -2839.6719694221156}, {"x": 8926.997807133803, "y": -2839.2283168302015}, {"x": 8927.226844546032, "y": -2838.7931440247107}, {"x": 8927.472177128691, "y": -2838.3669443769722}, {"x": 8927.733199890094, "y": -2837.950168630705}, {"x": 8928.00930331307, "y": -2837.543225794098}, {"x": 8928.299875632287, "y": -2837.146484127246}, {"x": 8928.604304967213, "y": -2836.7602722186384}, {"x": 8928.92198131345, "y": -2836.384880134934}, {"x": 8929.255388330705, "y": -2836.017428651808}, {"x": 8929.601483286986, "y": -2835.66190340988}, {"x": 8929.95988635749, "y": -2835.318789306494}, {"x": 8930.329877315087, "y": -2834.988201078895}, {"x": 8930.710290671164, "y": -2834.6696551631303}, {"x": 8931.099436058783, "y": -2834.3618279676325}, {"x": 8931.495025766802, "y": -2834.062316267466}, {"x": 8931.894075829534, "y": -2833.767421962158}, {"x": 8932.2862172446, "y": -2833.4784192501907}, {"x": 8932.678069378791, "y": -2833.189024418896}, {"x": 8933.069631840199, "y": -2832.899237757492}, {"x": 8933.460904236917, "y": -2832.609059557559}, {"x": 8933.851886178363, "y": -2832.3184901083146}, {"x": 8934.242577271301, "y": -2832.0275297005523}, {"x": 8934.632977126475, "y": -2831.7361786250653}, {"x": 8935.0230853533, "y": -2831.4444371742225}, {"x": 8935.412901559868, "y": -2831.152305639606}, {"x": 8935.802425358243, "y": -2830.859784313584}, {"x": 8936.191656356517, "y": -2830.566873488527}, {"x": 8936.580594166757, "y": -2830.27357345838}, {"x": 8936.9692383997, "y": -2829.979884515512}, {"x": 8937.357588666087, "y": -2829.685806953869}, {"x": 8937.745644576662, "y": -2829.3913410681844}, {"x": 8938.133405744808, "y": -2829.096487153192}, {"x": 8938.520871781267, "y": -2828.8012455036246}, {"x": 8938.908042298104, "y": -2828.505616415004}, {"x": 8939.294916910032, "y": -2828.2096001836408}, {"x": 8939.681495226467, "y": -2827.9131971050556}, {"x": 8940.067776863443, "y": -2827.6164074755584}, {"x": 8940.453761433026, "y": -2827.3192315922465}, {"x": 8940.839448549928, "y": -2827.0216697537944}, {"x": 8941.22483782754, "y": -2826.7237222557233}, {"x": 8941.60992888057, "y": -2826.425389398283}, {"x": 8941.994721323734, "y": -2826.126671478572}, {"x": 8942.379214773064, "y": -2825.8275687960513}, {"x": 8942.763408840628, "y": -2825.5280816501827}, {"x": 8943.14730314511, "y": -2825.2282103404286}, {"x": 8943.530897301222, "y": -2824.927955166251}], "type": "road_edge"}, {"geometry": [{"x": 8980.407229874987, "y": -2837.4052451854986}, {"x": 8980.729523384316, "y": -2837.7702501698705}, {"x": 8981.051849730484, "y": -2838.1352261560874}, {"x": 8981.374208912164, "y": -2838.500173140997}, {"x": 8981.69660092936, "y": -2838.8650911182954}, {"x": 8982.019025782067, "y": -2839.229980084042}, {"x": 8982.34148346764, "y": -2839.594840034297}, {"x": 8982.663973986078, "y": -2839.9596709635425}, {"x": 8982.98649733606, "y": -2840.32447286784}, {"x": 8983.309053516257, "y": -2840.68924574246}, {"x": 8983.631642526672, "y": -2841.0539895850393}, {"x": 8983.954264364658, "y": -2841.4187043892725}, {"x": 8984.27691902889, "y": -2841.7833901535837}, {"x": 8984.59960651804, "y": -2842.1480468724567}, {"x": 8984.922326829466, "y": -2842.512674542739}, {"x": 8985.24507996184, "y": -2842.8772731604913}, {"x": 8985.567865913841, "y": -2843.24184272256}, {"x": 8985.89068468282, "y": -2843.6063832257933}, {"x": 8986.213536266127, "y": -2843.9708946654637}, {"x": 8986.536420663762, "y": -2844.3353770392055}, {"x": 8986.859337870432, "y": -2844.6998303438677}, {"x": 8987.182287886135, "y": -2845.064254576298}, {"x": 8987.505270708223, "y": -2845.428649731767}, {"x": 8987.82828633405, "y": -2845.7930158087}, {"x": 8988.151334760965, "y": -2846.157352803944}, {"x": 8988.47441598632, "y": -2846.5216607135585}, {"x": 8988.797530008795, "y": -2846.885939534392}, {"x": 8989.120676824414, "y": -2847.2501892640794}, {"x": 8989.44385643053, "y": -2847.614409900257}, {"x": 8989.767068825817, "y": -2847.978601438197}, {"x": 8990.090314007632, "y": -2848.342763876323}, {"x": 8990.413591972, "y": -2848.7068972114816}, {"x": 8990.71697958172, "y": -2849.0522347247647}, {"x": 8991.01012477262, "y": -2849.4062708759425}, {"x": 8991.284422087441, "y": -2849.7750547997334}, {"x": 8991.5328188842, "y": -2850.1617172148535}, {"x": 8991.749833957096, "y": -2850.5667989636454}, {"x": 8991.931706767298, "y": -2850.9888169343494}, {"x": 8992.076507386313, "y": -2851.4249493055445}, {"x": 8992.18411262668, "y": -2851.871727705788}, {"x": 8992.256023888285, "y": -2852.3256395796116}, {"x": 8992.295052718599, "y": -2852.7835743683895}, {"x": 8992.30492484551, "y": -2853.24308531646}, {"x": 8992.287658407207, "y": -2853.728183769958}, {"x": 8992.243512971074, "y": -2854.2115819025385}, {"x": 8992.173500685196, "y": -2854.6919199326667}, {"x": 8992.07869159276, "y": -2855.16798840158}, {"x": 8991.960199150006, "y": -2855.6387249997774}, {"x": 8991.823143746777, "y": -2856.0898704605083}, {"x": 8991.663723576097, "y": -2856.5335997887414}, {"x": 8991.481062424933, "y": -2856.9682718955437}, {"x": 8991.274630677637, "y": -2857.3921660335454}, {"x": 8991.044344661903, "y": -2857.8035850671586}, {"x": 8990.790641722942, "y": -2858.200990766301}, {"x": 8990.514525239903, "y": -2858.5831662936266}, {"x": 8990.217576911393, "y": -2858.9493973994513}, {"x": 8989.90193884158, "y": -2859.29966064379}, {"x": 8989.57027499951, "y": -2859.634804885231}, {"x": 8989.225730165457, "y": -2859.956711340156}, {"x": 8988.87191347078, "y": -2860.2684171840583}, {"x": 8988.512942188334, "y": -2860.5741863853086}, {"x": 8988.155166176839, "y": -2860.8763561241017}, {"x": 8987.79693746556, "y": -2861.1779890254616}, {"x": 8987.438256859497, "y": -2861.4790844124473}, {"x": 8987.079125167622, "y": -2861.779641607329}, {"x": 8986.719543194937, "y": -2862.079659933953}, {"x": 8986.359511750408, "y": -2862.379138717742}, {"x": 8985.99903164566, "y": -2862.6780772856955}, {"x": 8985.638103688341, "y": -2862.9764749656}, {"x": 8985.276728691391, "y": -2863.2743310868186}, {"x": 8984.914907467755, "y": -2863.571644978714}, {"x": 8984.552640830378, "y": -2863.868415973802}, {"x": 8984.189929593527, "y": -2864.164643403809}, {"x": 8983.826774572794, "y": -2864.4603266036147}, {"x": 8983.463176586418, "y": -2864.755464907311}, {"x": 8983.079184890214, "y": -2865.0661826499436}, {"x": 8982.694718817493, "y": -2865.3763132195418}, {"x": 8982.30979582271, "y": -2865.6858764830367}, {"x": 8981.924433270295, "y": -2865.994892377497}, {"x": 8981.53864843861, "y": -2866.3033809156445}, {"x": 8981.152458521286, "y": -2866.6113621763993}, {"x": 8980.765880632509, "y": -2866.918856305665}, {"x": 8980.378931807025, "y": -2867.2258835116018}, {"x": 8979.99162900676, "y": -2867.532464063839}, {"x": 8979.603989122144, "y": -2867.838618288746}, {"x": 8979.216028974757, "y": -2868.1443665662796}, {"x": 8978.827765322629, "y": -2868.449729329985}, {"x": 8978.439214861557, "y": -2868.7547270614787}, {"x": 8978.050394227761, "y": -2869.0593802888725}, {"x": 8977.661320005822, "y": -2869.3637095836216}, {"x": 8977.272008724716, "y": -2869.6677355581596}, {"x": 8976.882476867077, "y": -2869.9714788651127}, {"x": 8976.492740870519, "y": -2870.274960188627}, {"x": 8976.102817128967, "y": -2870.578200249889}, {"x": 8975.714112346279, "y": -2870.880133095421}, {"x": 8975.325232362291, "y": -2871.1818402499302}, {"x": 8974.936172153704, "y": -2871.4833149542474}, {"x": 8974.54692670383, "y": -2871.784550443686}, {"x": 8974.1574910132, "y": -2872.0855399417383}, {"x": 8973.76786009161, "y": -2872.386276662441}, {"x": 8973.378028962095, "y": -2872.686753811162}, {"x": 8972.987992663582, "y": -2872.9869645822355}, {"x": 8972.597746245587, "y": -2873.286902159751}, {"x": 8972.207284774835, "y": -2873.586559716767}, {"x": 8971.816603331301, "y": -2873.885930416095}, {"x": 8971.425697006867, "y": -2874.185007409515}, {"x": 8971.034560914602, "y": -2874.4837838361973}, {"x": 8970.643190178169, "y": -2874.782252825068}, {"x": 8970.25157993844, "y": -2875.0804074924445}, {"x": 8969.8597253535, "y": -2875.3782409428222}, {"x": 8969.467621598651, "y": -2875.6757462688774}, {"x": 8969.075263862427, "y": -2875.9729165490994}, {"x": 8968.682647355878, "y": -2876.2697448509466}, {"x": 8968.28976730461, "y": -2876.5662242284784}, {"x": 8967.896618952773, "y": -2876.8623477215715}, {"x": 8967.503197563046, "y": -2877.158108357491}, {"x": 8967.109498417976, "y": -2877.4534991493197}, {"x": 8966.715516817318, "y": -2877.7485130975297}, {"x": 8966.321248083332, "y": -2878.043143186044}, {"x": 8965.926687555495, "y": -2878.3373823861775}, {"x": 8965.531830595794, "y": -2878.6312236542713}, {"x": 8965.13667258342, "y": -2878.9246599324815}, {"x": 8964.74120892405, "y": -2879.2176841456276}, {"x": 8964.345435040574, "y": -2879.5102892067075}, {"x": 8963.949346378387, "y": -2879.802468010594}, {"x": 8963.552938406721, "y": -2880.094213437975}, {"x": 8963.154134881765, "y": -2880.3870396831767}, {"x": 8962.755005114795, "y": -2880.6794210864227}, {"x": 8962.355550076318, "y": -2880.9713579298377}, {"x": 8961.955770734181, "y": -2881.262850501064}, {"x": 8961.55566805227, "y": -2881.553899086165}, {"x": 8961.155242995786, "y": -2881.8445039759345}, {"x": 8960.754496525968, "y": -2882.1346654627423}, {"x": 8960.353429604043, "y": -2882.424383840533}, {"x": 8959.952043187275, "y": -2882.7136594056174}, {"x": 8959.550338232926, "y": -2883.00249245588}, {"x": 8959.148315696932, "y": -2883.29088329236}, {"x": 8958.745976531258, "y": -2883.578832217671}], "type": "road_edge"}, {"geometry": [{"x": 8967.372871795678, "y": -2812.7612110316154}, {"x": 8967.689356388864, "y": -2812.456598482966}, {"x": 8968.074679708137, "y": -2812.2459613429774}, {"x": 8968.502728808198, "y": -2812.148178882519}, {"x": 8968.941259340492, "y": -2812.1710088822674}, {"x": 8969.358772233914, "y": -2812.3076993168816}, {"x": 8969.73335118131, "y": -2812.53789847561}, {"x": 8970.060082781025, "y": -2812.8327226374886}, {"x": 8970.354283223242, "y": -2813.160484312168}, {"x": 8970.675587545511, "y": -2813.532421770518}, {"x": 8970.997045976233, "y": -2813.9042260416204}, {"x": 8971.318658458476, "y": -2814.2758970624304}, {"x": 8971.640424939276, "y": -2814.64743476754}, {"x": 8971.962345361702, "y": -2815.0188390946914}, {"x": 8972.284419670146, "y": -2815.3901099792647}, {"x": 8972.606647810324, "y": -2815.7612473574272}, {"x": 8972.929029726625, "y": -2816.1322511661347}, {"x": 8973.251565363444, "y": -2816.503121340765}, {"x": 8973.574254665169, "y": -2816.873857818275}, {"x": 8973.897097577517, "y": -2817.244460534832}, {"x": 8974.220094043556, "y": -2817.61492942739}, {"x": 8974.543244010325, "y": -2817.9852644313296}, {"x": 8974.866547418243, "y": -2818.355465482818}, {"x": 8975.190004215674, "y": -2818.725532519598}, {"x": 8975.513614344361, "y": -2819.0954654770494}, {"x": 8975.837377751344, "y": -2819.4652642921274}, {"x": 8976.161294378366, "y": -2819.834928901787}, {"x": 8976.485364171143, "y": -2820.2044592414086}, {"x": 8976.809587074067, "y": -2820.5738552479465}, {"x": 8977.133963031527, "y": -2820.9431168583565}, {"x": 8977.458491986594, "y": -2821.312244008806}, {"x": 8977.78317388498, "y": -2821.6812366354625}, {"x": 8978.108008671079, "y": -2822.050094676069}, {"x": 8978.432996287956, "y": -2822.418818066793}, {"x": 8978.758136680006, "y": -2822.78740674459}, {"x": 8979.08479348757, "y": -2823.1574046324695}, {"x": 8979.411604240731, "y": -2823.5272665473176}, {"x": 8979.738568883882, "y": -2823.8969924260905}, {"x": 8980.065687358765, "y": -2824.2665822033787}, {"x": 8980.392959609773, "y": -2824.636035816138}, {"x": 8980.720385581299, "y": -2825.005353199747}, {"x": 8981.047965213758, "y": -2825.374534291162}, {"x": 8981.37569845287, "y": -2825.7435790257614}, {"x": 8981.7035852417, "y": -2826.1124873389253}, {"x": 8982.03162552199, "y": -2826.4812591683967}, {"x": 8982.359819238134, "y": -2826.8498944487665}, {"x": 8982.6881663332, "y": -2827.218393117779}, {"x": 8983.016666750253, "y": -2827.586755110025}, {"x": 8983.345320431039, "y": -2827.9549803624595}, {"x": 8983.67412732127, "y": -2828.3230688112503}, {"x": 8984.00308736137, "y": -2828.6910203933526}, {"x": 8984.33220049705, "y": -2829.0588350433577}, {"x": 8984.661466668733, "y": -2829.4265126990094}, {"x": 8984.99088582081, "y": -2829.7940532964744}, {"x": 8985.32045789502, "y": -2830.1614567719203}, {"x": 8985.650182837084, "y": -2830.5287230615145}, {"x": 8985.980060586095, "y": -2830.895852101424}, {"x": 8986.31009108777, "y": -2831.262843828605}, {"x": 8986.640274283849, "y": -2831.6296981792243}, {"x": 8986.970610117403, "y": -2831.9964150894493}, {"x": 8987.301098531498, "y": -2832.362994497023}, {"x": 8987.631739467877, "y": -2832.7294363373253}, {"x": 8987.96253286961, "y": -2833.0957405465233}, {"x": 8988.293478681084, "y": -2833.4619070623608}, {"x": 8988.624576842722, "y": -2833.8279358210043}, {"x": 8988.95582729759, "y": -2834.193826758622}, {"x": 8989.287229990081, "y": -2834.5595798121685}, {"x": 8989.618784860613, "y": -2834.925194917812}, {"x": 8989.950491853577, "y": -2835.2906720132955}, {"x": 8990.282350910717, "y": -2835.6560110347864}, {"x": 8990.614361973778, "y": -2836.0212119184516}, {"x": 8990.946524985826, "y": -2836.3862746020354}, {"x": 8991.278839889927, "y": -2836.7511990217045}, {"x": 8991.611306627827, "y": -2837.1159851144143}, {"x": 8991.943925142592, "y": -2837.4806328171207}, {"x": 8992.276695375966, "y": -2837.845142066779}, {"x": 8992.609617269693, "y": -2838.209512799556}, {"x": 8992.942690768163, "y": -2838.573744952407}, {"x": 8993.275915813121, "y": -2838.9378384638644}, {"x": 8993.609292344985, "y": -2839.301793268519}, {"x": 8993.912739633253, "y": -2839.6437097143034}, {"x": 8994.184506893636, "y": -2840.01098011677}, {"x": 8994.394631231435, "y": -2840.4162749287493}, {"x": 8994.515365391775, "y": -2840.8561882449703}, {"x": 8994.52490533318, "y": -2841.3119898446225}, {"x": 8994.41202038982, "y": -2841.753490427808}, {"x": 8994.17905596668, "y": -2842.144997201523}, {"x": 8993.842215110715, "y": -2842.451615815365}, {"x": 8993.43408881685, "y": -2842.644282020142}, {"x": 8992.988005352478, "y": -2842.713763187777}, {"x": 8992.539377425763, "y": -2842.6615342444757}, {"x": 8992.116821252986, "y": -2842.501274745284}, {"x": 8991.736985952884, "y": -2842.2557842992974}, {"x": 8991.40102349987, "y": -2841.9524797402505}, {"x": 8991.09372645418, "y": -2841.619796480486}, {"x": 8990.766647857234, "y": -2841.2537776426993}, {"x": 8990.439568117663, "y": -2840.887759825447}, {"x": 8990.11248723547, "y": -2840.5217430287294}, {"x": 8989.785405211978, "y": -2840.155727253334}, {"x": 8989.458322045863, "y": -2839.7897124976857}, {"x": 8989.131237737125, "y": -2839.42369876336}, {"x": 8988.80415228709, "y": -2839.0576860495685}, {"x": 8988.477065695753, "y": -2838.6916743570996}, {"x": 8988.149977960471, "y": -2838.3256636843776}, {"x": 8987.822889085213, "y": -2837.9596540321895}, {"x": 8987.495799067334, "y": -2837.5936454005364}, {"x": 8987.168707908155, "y": -2837.22763778863}, {"x": 8986.841615607676, "y": -2836.8616311964697}, {"x": 8986.5145221659, "y": -2836.4956256248443}, {"x": 8986.187427582823, "y": -2836.1296210721775}, {"x": 8985.860331859772, "y": -2835.7636175392568}, {"x": 8985.533234996748, "y": -2835.3976150245066}, {"x": 8985.206136995072, "y": -2835.031613528715}, {"x": 8984.87903785342, "y": -2834.6656130510937}, {"x": 8984.551937573118, "y": -2834.2996135908547}, {"x": 8984.224836154164, "y": -2833.933615147998}, {"x": 8983.897733597885, "y": -2833.5676177217356}, {"x": 8983.570629905602, "y": -2833.2016213112793}, {"x": 8983.243525077316, "y": -2832.8356259158413}, {"x": 8982.916419114352, "y": -2832.4696315346337}, {"x": 8982.58931201671, "y": -2832.103638167656}, {"x": 8982.262203787035, "y": -2831.737645812544}, {"x": 8981.935094424005, "y": -2831.3716544700865}, {"x": 8981.60798393027, "y": -2831.0056641379183}, {"x": 8981.280872308474, "y": -2830.639674815252}, {"x": 8980.953759557298, "y": -2830.2736865005113}, {"x": 8980.626645679386, "y": -2829.9076991936963}, {"x": 8980.299530676062, "y": -2829.541712892443}, {"x": 8979.972414549977, "y": -2829.175727595175}, {"x": 8979.64529730113, "y": -2828.809743300316}, {"x": 8979.31817893349, "y": -2828.4437600070783}, {"x": 8978.99105944706, "y": -2828.0777777130975}], "type": "road_edge"}, {"geometry": [{"x": 8978.99105944706, "y": -2828.0777777130975}, {"x": 8978.663615887352, "y": -2827.7114345108102}, {"x": 8978.336171210176, "y": -2827.3450923069922}, {"x": 8978.00872541421, "y": -2826.978751103219}, {"x": 8977.681278500779, "y": -2826.612410899491}, {"x": 8977.353830468555, "y": -2826.246071694232}, {"x": 8977.026381318865, "y": -2825.879733489018}, {"x": 8976.698931050385, "y": -2825.513396283061}, {"x": 8976.371479663114, "y": -2825.147060077149}, {"x": 8976.044027158376, "y": -2824.7807248697063}, {"x": 8975.71657353617, "y": -2824.414390663096}, {"x": 8975.389118795176, "y": -2824.048057454955}, {"x": 8975.061662936714, "y": -2823.6817252468595}, {"x": 8974.734205959461, "y": -2823.3153940380207}, {"x": 8974.406747863417, "y": -2822.9490638284387}, {"x": 8974.079288649908, "y": -2822.582734618114}, {"x": 8973.751828318931, "y": -2822.2164064078343}, {"x": 8973.424366869163, "y": -2821.8500791976}, {"x": 8973.096904300604, "y": -2821.483752985834}, {"x": 8972.769440615904, "y": -2821.1174277741134}, {"x": 8972.441975811089, "y": -2820.75110356165}, {"x": 8972.114509888806, "y": -2820.3847803492313}, {"x": 8971.787042849059, "y": -2820.01845813607}, {"x": 8971.459574690518, "y": -2819.6521369221655}, {"x": 8971.132105414512, "y": -2819.285816708306}, {"x": 8970.804635019716, "y": -2818.9194974937036}, {"x": 8970.477163506128, "y": -2818.553179279146}, {"x": 8970.149690876398, "y": -2818.1868620630576}, {"x": 8969.822217126553, "y": -2817.8205458478024}, {"x": 8969.494742260566, "y": -2817.4542306310163}, {"x": 8969.167266274464, "y": -2817.087916414275}, {"x": 8968.839789172218, "y": -2816.7216031975786}, {"x": 8968.512310951182, "y": -2816.3552909793516}, {"x": 8968.184831611357, "y": -2815.9889797611695}, {"x": 8967.857351154064, "y": -2815.6226695430323}, {"x": 8967.558863455632, "y": -2815.276324911074}, {"x": 8967.296097478, "y": -2814.902538116423}, {"x": 8967.100790303402, "y": -2814.489896832296}, {"x": 8966.999520554895, "y": -2814.0450537785346}, {"x": 8967.009722378167, "y": -2813.589126964413}, {"x": 8967.136549510971, "y": -2813.151153661551}, {"x": 8967.372871795678, "y": -2812.7612110316154}], "type": "road_edge"}, {"geometry": [{"x": 8984.96319920969, "y": -2822.0332238818487}, {"x": 8984.635434988682, "y": -2821.6629241639753}, {"x": 8984.307722161875, "y": -2821.2925789602064}, {"x": 8983.980060725293, "y": -2820.922188287091}, {"x": 8983.65245067629, "y": -2820.551752160391}, {"x": 8983.324892013543, "y": -2820.1812705935026}, {"x": 8982.997384734403, "y": -2819.810743601399}, {"x": 8982.669928837544, "y": -2819.4401711982655}, {"x": 8982.342524322969, "y": -2819.0695533959224}, {"x": 8982.01517118935, "y": -2818.698890208556}, {"x": 8981.687869438018, "y": -2818.3281816487734}, {"x": 8981.360619068966, "y": -2817.957427728397}, {"x": 8981.03342008352, "y": -2817.586628458459}, {"x": 8980.70627248433, "y": -2817.21578385078}, {"x": 8980.379176271395, "y": -2816.8448939156056}, {"x": 8980.052131447363, "y": -2816.4739586655437}, {"x": 8979.725138016205, "y": -2816.102978109264}, {"x": 8979.398195979245, "y": -2815.73195225701}, {"x": 8979.071305340458, "y": -2815.3608811182394}, {"x": 8978.744466103812, "y": -2814.9897647039847}, {"x": 8978.417678273281, "y": -2814.6186030213385}, {"x": 8978.090941851515, "y": -2814.247396080545}, {"x": 8977.76425684513, "y": -2813.8761438902734}, {"x": 8977.437623258102, "y": -2813.5048464584042}, {"x": 8977.111041095723, "y": -2813.133503794394}, {"x": 8976.784510360643, "y": -2812.7621159045475}, {"x": 8976.458031062131, "y": -2812.390682798321}, {"x": 8976.131603201511, "y": -2812.0192044835953}, {"x": 8975.80522678805, "y": -2811.6476809666747}, {"x": 8975.478901824396, "y": -2811.2761122562283}, {"x": 8975.152628319818, "y": -2810.904498360136}, {"x": 8974.826406276963, "y": -2810.5328392839147}, {"x": 8974.500235703776, "y": -2810.161135037021}, {"x": 8974.174116606875, "y": -2809.7893856249707}, {"x": 8973.848048991558, "y": -2809.417591056433}, {"x": 8973.522032863122, "y": -2809.0457513369247}, {"x": 8973.210722543126, "y": -2808.68913977417}, {"x": 8972.90369004708, "y": -2808.32884548437}, {"x": 8972.605001771324, "y": -2807.961616229542}, {"x": 8972.318646411197, "y": -2807.5847068891203}, {"x": 8972.04861442032, "y": -2807.1959544861907}, {"x": 8971.798944832994, "y": -2806.7938417884666}, {"x": 8971.57374257168, "y": -2806.3775536559797}, {"x": 8971.377169148462, "y": -2805.947028551678}, {"x": 8971.21340923903, "y": -2805.503006406466}, {"x": 8971.086614864946, "y": -2805.047073225627}, {"x": 8971.000828125598, "y": -2804.581702141899}, {"x": 8970.959882418905, "y": -2804.1102899513935}, {"x": 8970.966682514747, "y": -2803.632692301664}, {"x": 8971.020443314666, "y": -2803.1580629165205}, {"x": 8971.118453975598, "y": -2802.6905441670488}, {"x": 8971.257712162494, "y": -2802.2335948103896}, {"x": 8971.435034527924, "y": -2801.790010395701}, {"x": 8971.647152399782, "y": -2801.3619563231737}, {"x": 8971.890792454711, "y": -2800.951010009053}, {"x": 8972.162742778379, "y": -2800.5582090446237}, {"x": 8972.459905042177, "y": -2800.1841026926236}, {"x": 8972.776776134515, "y": -2799.8305752940832}, {"x": 8973.110290535817, "y": -2799.492671028332}, {"x": 8973.4557173172, "y": -2799.166929646437}, {"x": 8973.808953665359, "y": -2798.8496580134756}, {"x": 8974.166481613816, "y": -2798.5372222659134}, {"x": 8974.525329916672, "y": -2798.2263016599222}, {"x": 8974.883064193966, "y": -2797.914101331953}, {"x": 8975.237819843986, "y": -2797.598523074758}, {"x": 8975.588382367145, "y": -2797.278295069}, {"x": 8975.934309623985, "y": -2796.953065048212}, {"x": 8976.276080720396, "y": -2796.6234678613373}, {"x": 8976.615247217811, "y": -2796.2911882060507}, {"x": 8976.970923847053, "y": -2795.9417410686265}, {"x": 8977.326639121578, "y": -2795.592333270248}, {"x": 8977.68239303741, "y": -2795.242964814857}, {"x": 8978.038185587931, "y": -2794.8936357071802}, {"x": 8978.394016770495, "y": -2794.544345951159}, {"x": 8978.749886581125, "y": -2794.1950955515213}, {"x": 8979.10579501453, "y": -2793.8458845122077}, {"x": 8979.461742066735, "y": -2793.4967128371586}, {"x": 8979.817727732445, "y": -2793.1475805311015}, {"x": 8980.173752009012, "y": -2792.798487597978}, {"x": 8980.529814889815, "y": -2792.449434042515}, {"x": 8980.88591637353, "y": -2792.1004198686537}, {"x": 8981.242056453539, "y": -2791.751445080334}, {"x": 8981.598235125868, "y": -2791.4025096822847}, {"x": 8981.954452386546, "y": -2791.053613679234}, {"x": 8982.310708230276, "y": -2790.704757075122}, {"x": 8982.66700265441, "y": -2790.355939873101}, {"x": 8983.023335653654, "y": -2790.007162078687}, {"x": 8983.379707222708, "y": -2789.658423695821}, {"x": 8983.736117358929, "y": -2789.3097247292308}, {"x": 8984.092566057016, "y": -2788.961065182069}, {"x": 8984.449053313001, "y": -2788.612445059852}, {"x": 8984.805579122909, "y": -2788.2638643657315}, {"x": 8985.16214348012, "y": -2787.9153231052246}, {"x": 8985.518746383314, "y": -2787.566821280695}, {"x": 8985.875387825867, "y": -2787.2183588984476}, {"x": 8986.232067805131, "y": -2786.869935961634}, {"x": 8986.588786315811, "y": -2786.5215524741952}, {"x": 8986.945543352611, "y": -2786.173208441647}, {"x": 8987.302338912883, "y": -2785.824903867142}, {"x": 8987.659172991333, "y": -2785.476638755408}, {"x": 8988.016045583983, "y": -2785.1284131111743}, {"x": 8988.372956686868, "y": -2784.7802269375925}, {"x": 8988.729906293363, "y": -2784.432080239391}, {"x": 8989.086894402146, "y": -2784.0839730212983}, {"x": 8989.443921007922, "y": -2783.7359052864663}, {"x": 8989.800986105392, "y": -2783.3878770404117}, {"x": 8990.158089690585, "y": -2783.0398882870745}, {"x": 8990.515231759531, "y": -2782.6919390303956}, {"x": 8990.872412306931, "y": -2782.344029274315}, {"x": 8991.229631328817, "y": -2781.9961590243483}, {"x": 8991.586888822536, "y": -2781.648328282861}, {"x": 8991.944184781472, "y": -2781.3005370561564}, {"x": 8992.30151920165, "y": -2780.9527853465993}, {"x": 8992.6588920791, "y": -2780.6050731597065}, {"x": 8993.01630340985, "y": -2780.257400499417}, {"x": 8993.373753189924, "y": -2779.9097673704605}, {"x": 8993.731241412708, "y": -2779.562173775989}, {"x": 8994.088768075551, "y": -2779.21461972073}, {"x": 8994.446333174481, "y": -2778.8671052086243}, {"x": 8994.8039367042, "y": -2778.519630245188}, {"x": 8995.16157866074, "y": -2778.172194833574}, {"x": 8995.519259038803, "y": -2777.8247989777224}, {"x": 8995.875105350857, "y": -2777.479258938369}, {"x": 8996.230984323656, "y": -2777.1337525372537}, {"x": 8996.586890613484, "y": -2776.7882742760985}, {"x": 8996.94281890443, "y": -2776.4428186810555}, {"x": 8997.298763913685, "y": -2776.0973803137394}, {"x": 8997.654720411396, "y": -2775.7519537846238}, {"x": 8998.010683227294, "y": -2775.4065337664406}, {"x": 8998.366647263934, "y": -2775.061115006785}, {"x": 8998.722607509926, "y": -2774.71569233994}, {"x": 8999.078559047884, "y": -2774.370260699483}, {"x": 8999.434497069, "y": -2774.0248151324727}, {"x": 8999.790416888913, "y": -2773.679350809692}, {"x": 9000.146313950372, "y": -2773.333863042198}, {"x": 9000.502183844417, "y": -2772.9883472884153}, {"x": 9000.858022313021, "y": -2772.6427991722603}, {"x": 9001.213825272931, "y": -2772.2972144918094}, {"x": 9001.569588815659, "y": -2771.951589232697}, {"x": 9001.925309228676, "y": -2771.605919582302}, {"x": 9002.280982999375, "y": -2771.260201940776}, {"x": 9002.636606837585, "y": -2770.9144329328687}, {"x": 9002.992177674245, "y": -2770.5686094221114}, {"x": 9003.347692687885, "y": -2770.2227285210606}, {"x": 9003.703149305946, "y": -2769.8767876078487}, {"x": 9004.058545222, "y": -2769.5307843317005}, {"x": 9004.413878406334, "y": -2769.1847166310567}, {"x": 9004.769147119197, "y": -2768.838582744609}, {"x": 9005.124349924035, "y": -2768.4923812215434}, {"x": 9005.47948569676, "y": -2768.1461109357256}, {"x": 9005.834553640318, "y": -2767.7997710959453}, {"x": 9006.1895532966, "y": -2767.453361260891}, {"x": 9006.544484561007, "y": -2767.1068813486045}, {"x": 9006.899347689077, "y": -2766.7603316514546}, {"x": 9007.254143316335, "y": -2766.4137128440193}, {"x": 9007.608872462268, "y": -2766.067026000421}, {"x": 9007.963536552841, "y": -2765.7202726029955}, {"x": 9008.318137423134, "y": -2765.373454553326}, {"x": 9008.672677337208, "y": -2765.0265741887915}, {"x": 9009.027158996052, "y": -2764.6796342912353}, {"x": 9009.381585552135, "y": -2764.3326380995736}, {"x": 9009.735960618693, "y": -2763.985589323982}, {"x": 9010.090288288246, "y": -2763.63849215535}, {"x": 9010.444573137904, "y": -2763.291351278681}, {"x": 9010.798820246582, "y": -2762.9441718872736}, {"x": 9011.153035202939, "y": -2762.596959692181}], "type": "road_edge"}, {"geometry": [{"x": 8943.530897301222, "y": -2824.927955166251}, {"x": 8943.915278940332, "y": -2824.6264628551517}, {"x": 8944.299357947226, "y": -2824.3245850987846}, {"x": 8944.683133929993, "y": -2824.0223221934602}, {"x": 8945.066606499377, "y": -2823.719674439428}, {"x": 8945.44977526479, "y": -2823.4166421353625}, {"x": 8945.832639838296, "y": -2823.1132255823004}, {"x": 8946.215199829316, "y": -2822.8094250812806}, {"x": 8946.597454851233, "y": -2822.5052409349173}, {"x": 8946.979404516116, "y": -2822.200673445824}, {"x": 8947.361048438675, "y": -2821.8957229174034}, {"x": 8947.742386230973, "y": -2821.5903896538457}, {"x": 8948.123417507724, "y": -2821.2846739601287}, {"x": 8948.504141883643, "y": -2820.9785761428075}, {"x": 8948.88455897476, "y": -2820.67209650686}, {"x": 8949.264668397116, "y": -2820.365235360416}, {"x": 8949.644469765422, "y": -2820.0579930108192}, {"x": 8950.023962698362, "y": -2819.750369765412}, {"x": 8950.403146811974, "y": -2819.442365934688}, {"x": 8950.782021726263, "y": -2819.1339818259903}, {"x": 8951.160587055945, "y": -2818.825217750602}, {"x": 8951.538842422351, "y": -2818.5160740182287}, {"x": 8951.916787444165, "y": -2818.2065509401546}, {"x": 8952.294421738748, "y": -2817.896648827661}, {"x": 8952.671744928755, "y": -2817.5863679920317}, {"x": 8953.048756632872, "y": -2817.275708746125}, {"x": 8953.425456471106, "y": -2816.9646714027995}, {"x": 8953.772481723689, "y": -2816.681124195961}, {"x": 8954.128298503641, "y": -2816.4087435885185}, {"x": 8954.498328464002, "y": -2816.1560717857847}, {"x": 8954.884519145282, "y": -2815.9289125118917}, {"x": 8955.286267304811, "y": -2815.73057827783}, {"x": 8955.701454713018, "y": -2815.5621670479763}, {"x": 8956.127360575556, "y": -2815.423032902756}, {"x": 8956.581242212249, "y": -2815.3076260254606}, {"x": 8957.041944718541, "y": -2815.2235017652642}, {"x": 8957.507386570462, "y": -2815.171694919}, {"x": 8957.975329672927, "y": -2815.15310255389}, {"x": 8958.443386069828, "y": -2815.1684639420228}, {"x": 8958.909026968515, "y": -2815.218340228467}, {"x": 8959.369594217647, "y": -2815.303094074169}, {"x": 8959.82231438808, "y": -2815.4228695210822}, {"x": 8960.264315546776, "y": -2815.577572397113}, {"x": 8960.692646821733, "y": -2815.7668515611413}, {"x": 8961.094925460171, "y": -2815.9839570359864}, {"x": 8961.480080651021, "y": -2816.2301922444585}, {"x": 8961.847484074819, "y": -2816.502231134373}, {"x": 8962.197288782128, "y": -2816.796582096044}, {"x": 8962.530586541861, "y": -2817.109527798031}, {"x": 8962.849573207803, "y": -2817.4370745047877}, {"x": 8963.157698072537, "y": -2817.7748816794806}, {"x": 8963.459769301224, "y": -2818.1181275468816}, {"x": 8963.784818675347, "y": -2818.4897911134553}, {"x": 8964.10990194949, "y": -2818.861425026998}, {"x": 8964.435019122331, "y": -2819.233029284358}, {"x": 8964.760170192541, "y": -2819.604603883171}, {"x": 8965.085355154828, "y": -2819.9761488202844}, {"x": 8965.410574006544, "y": -2820.347664091759}, {"x": 8965.735826747685, "y": -2820.719149695229}, {"x": 8966.06111337296, "y": -2821.090605627543}, {"x": 8966.386433879718, "y": -2821.4620318855495}, {"x": 8966.711788266633, "y": -2821.833428466095}, {"x": 8967.037176531063, "y": -2822.20479536524}, {"x": 8967.36259866903, "y": -2822.576132581408}, {"x": 8967.688054679213, "y": -2822.947440111447}, {"x": 8968.013544556316, "y": -2823.3187179506285}, {"x": 8968.339068301662, "y": -2823.689966097377}, {"x": 8968.664625908632, "y": -2824.061184547751}, {"x": 8968.990217377226, "y": -2824.432373299387}, {"x": 8969.31584270347, "y": -2824.803532348345}, {"x": 8969.641501884718, "y": -2825.1746616930486}, {"x": 8969.967194918321, "y": -2825.5457613287695}, {"x": 8970.29292180163, "y": -2825.916831252355}, {"x": 8970.618682532, "y": -2826.28787146223}, {"x": 8970.944477106781, "y": -2826.6588819544536}, {"x": 8971.270305523325, "y": -2827.0298627258735}, {"x": 8971.596167778984, "y": -2827.400813773337}, {"x": 8971.92206387111, "y": -2827.771735093693}, {"x": 8972.24799379573, "y": -2828.142626684577}, {"x": 8972.573957551524, "y": -2828.513488542048}, {"x": 8972.89995513584, "y": -2828.8843206637425}, {"x": 8973.225986544705, "y": -2829.2551230457198}, {"x": 8973.5520517768, "y": -2829.6258956856163}, {"x": 8973.878150829472, "y": -2829.996638580279}, {"x": 8974.204283698751, "y": -2830.367351725768}, {"x": 8974.53045038199, "y": -2830.7380351205074}, {"x": 8974.856650877862, "y": -2831.108688760557}, {"x": 8975.1828851824, "y": -2831.479312641976}, {"x": 8975.50915329295, "y": -2831.8499067631883}, {"x": 8975.835455208191, "y": -2832.220471121042}, {"x": 8976.161790924152, "y": -2832.591005710809}, {"x": 8976.48816043686, "y": -2832.961510530912}, {"x": 8976.814563746313, "y": -2833.3319855782006}, {"x": 8977.141000848542, "y": -2833.702430848733}, {"x": 8977.467471740898, "y": -2834.0728463401456}, {"x": 8977.793976420733, "y": -2834.443232049286}, {"x": 8978.120514884073, "y": -2834.813587973002}, {"x": 8978.44708713092, "y": -2835.1839141081414}, {"x": 8978.77369315598, "y": -2835.5542104515525}, {"x": 8979.100332957923, "y": -2835.924477000082}, {"x": 8979.427006532782, "y": -2836.2947137505785}, {"x": 8979.753713879232, "y": -2836.6649207006776}, {"x": 8980.080454994624, "y": -2837.035097846439}, {"x": 8980.407229874987, "y": -2837.4052451854986}], "type": "road_edge"}, {"geometry": [{"x": 8936.571165004165, "y": -2817.508126701461}, {"x": 8936.19188440975, "y": -2817.805646621555}, {"x": 8935.812467145457, "y": -2818.1029922264634}, {"x": 8935.432913284103, "y": -2818.40016344605}, {"x": 8935.053222901157, "y": -2818.69716020939}, {"x": 8934.673396070764, "y": -2818.993982447922}, {"x": 8934.293432868393, "y": -2819.290630093085}, {"x": 8933.913333369512, "y": -2819.587103076318}, {"x": 8933.53309765356, "y": -2819.883401330636}, {"x": 8933.152725796012, "y": -2820.179524789054}, {"x": 8932.772217873653, "y": -2820.4754733861637}, {"x": 8932.391573964605, "y": -2820.77124705498}, {"x": 8932.010794148307, "y": -2821.06684573167}, {"x": 8931.629878501552, "y": -2821.362269351613}, {"x": 8931.248827106429, "y": -2821.6575178486128}, {"x": 8930.867640038405, "y": -2821.952591160412}, {"x": 8930.486317380894, "y": -2822.2474892231785}, {"x": 8930.104859210689, "y": -2822.5422119730792}, {"x": 8929.723265608556, "y": -2822.836759347858}, {"x": 8929.341536655258, "y": -2823.131131283682}, {"x": 8928.95967243156, "y": -2823.425327719083}, {"x": 8928.577673018226, "y": -2823.7193485910157}, {"x": 8928.195538493374, "y": -2824.0131938372238}, {"x": 8927.813268940417, "y": -2824.3068633962394}, {"x": 8927.43090664567, "y": -2824.5998344856357}, {"x": 8927.047037210117, "y": -2824.8908264361908}, {"x": 8926.660424106576, "y": -2825.1781604047087}, {"x": 8926.269988160142, "y": -2825.460274320001}, {"x": 8925.874812926335, "y": -2825.7357061792213}, {"x": 8925.474145933022, "y": -2826.0030816383173}, {"x": 8925.067396634815, "y": -2826.2611050794026}, {"x": 8924.654131779029, "y": -2826.508553353577}, {"x": 8924.234068790913, "y": -2826.7442714458243}, {"x": 8923.80706767334, "y": -2826.967169418134}, {"x": 8923.373121904226, "y": -2827.176220039024}, {"x": 8922.932348734159, "y": -2827.370456645545}, {"x": 8922.484979307941, "y": -2827.548970846875}, {"x": 8922.031348963552, "y": -2827.7109098110404}, {"x": 8921.571888069977, "y": -2827.8554729487682}, {"x": 8921.10711371903, "y": -2827.9819079014865}, {"x": 8920.637622591576, "y": -2828.089505825586}, {"x": 8920.164085251026, "y": -2828.17759603363}, {"x": 8919.673776944186, "y": -2828.247415996676}, {"x": 8919.180990339886, "y": -2828.29683224111}, {"x": 8918.686638765881, "y": -2828.3268449885277}, {"x": 8918.191512791444, "y": -2828.3386083910227}, {"x": 8917.696269489627, "y": -2828.3334775009967}, {"x": 8917.2014163889, "y": -2828.3130550699575}, {"x": 8916.707293275924, "y": -2828.279238088837}, {"x": 8916.21405588239, "y": -2828.2342645796953}, {"x": 8915.721666553382, "y": -2828.180761809875}, {"x": 8915.229898271038, "y": -2828.1217975401723}, {"x": 8914.738359944535, "y": -2828.0609361676343}, {"x": 8914.246552810366, "y": -2828.0023011523294}, {"x": 8913.753970044432, "y": -2827.9506436224874}, {"x": 8913.260254418856, "y": -2827.9114138465943}, {"x": 8912.775965326384, "y": -2827.889964103693}, {"x": 8912.291215029994, "y": -2827.8863367865524}, {"x": 8911.80665918075, "y": -2827.9005368016187}, {"x": 8911.322953166235, "y": -2827.9325449415655}, {"x": 8910.84075122346, "y": -2827.9823179144487}, {"x": 8910.36070555709, "y": -2828.0497883988737}, {"x": 8909.883465452327, "y": -2828.134865138561}, {"x": 8909.409676403733, "y": -2828.237433062918}, {"x": 8908.939979236078, "y": -2828.357353441501}, {"x": 8908.475009237107, "y": -2828.494464077874}, {"x": 8908.015395304883, "y": -2828.648579521599}, {"x": 8907.561759091146, "y": -2828.8194913235657}, {"x": 8907.114714163215, "y": -2829.0069683165384}, {"x": 8906.674865171186, "y": -2829.2107569272302}, {"x": 8906.242807036308, "y": -2829.4305815230455}, {"x": 8905.819124139363, "y": -2829.666144776951}, {"x": 8905.404389531564, "y": -2829.9171280788437}, {"x": 8904.999164166617, "y": -2830.1831919610986}, {"x": 8904.603996131465, "y": -2830.4639765564343}, {"x": 8904.219419911484, "y": -2830.759102090445}, {"x": 8903.845955667546, "y": -2831.0681693899014}, {"x": 8903.484108527688, "y": -2831.3907604241426}], "type": "road_edge"}, {"geometry": [{"x": 8952.195624258147, "y": -2785.566264251715}, {"x": 8951.868317555005, "y": -2785.1895849051098}, {"x": 8951.542083051867, "y": -2784.8119765520973}, {"x": 8951.216920965871, "y": -2784.433444322144}, {"x": 8950.89283129834, "y": -2784.053993495236}, {"x": 8950.569813834785, "y": -2783.673629493997}, {"x": 8950.247868155493, "y": -2783.2923578773853}, {"x": 8949.92699363156, "y": -2782.9101843320245}, {"x": 8949.607189439446, "y": -2782.5271146674754}, {"x": 8949.288454553045, "y": -2782.143154806778}, {"x": 8948.970787759561, "y": -2781.75831078409}, {"x": 8948.654187658189, "y": -2781.3725887320747}, {"x": 8948.338652666731, "y": -2780.9859948811163}, {"x": 8948.024181024251, "y": -2780.5985355482835}, {"x": 8947.710770799018, "y": -2780.210217132604}, {"x": 8947.398419892468, "y": -2779.821046111912}, {"x": 8947.08712604319, "y": -2779.4310290310245}, {"x": 8946.776886833535, "y": -2779.0401725001693}, {"x": 8946.467699693596, "y": -2778.648483184737}, {"x": 8946.159561909144, "y": -2778.255967804495}, {"x": 8945.852470621641, "y": -2777.862633123341}, {"x": 8945.546422840138, "y": -2777.4684859469403}, {"x": 8945.241415442615, "y": -2777.073533112481}, {"x": 8944.93744518524, "y": -2776.6777814902484}, {"x": 8944.634508703699, "y": -2776.281237969443}, {"x": 8944.332602522456, "y": -2775.883909459752}, {"x": 8944.031723057411, "y": -2775.4858028842627}, {"x": 8943.73186662516, "y": -2775.0869251715767}, {"x": 8943.43302944962, "y": -2774.6872832526606}, {"x": 8943.13520766467, "y": -2774.2868840584806}, {"x": 8942.838397318137, "y": -2773.885734508971}, {"x": 8942.542594388993, "y": -2773.4838415130316}, {"x": 8942.247794780742, "y": -2773.0812119630145}, {"x": 8941.953994334663, "y": -2772.6778527276297}, {"x": 8941.661188835094, "y": -2772.273770650369}, {"x": 8941.369374017397, "y": -2771.868972542414}, {"x": 8941.080076776643, "y": -2771.4656027312967}, {"x": 8940.791759457506, "y": -2771.0615319082867}, {"x": 8940.504425980389, "y": -2770.6567608772025}, {"x": 8940.218080272312, "y": -2770.251290461564}, {"x": 8939.932726262949, "y": -2769.845121505382}, {"x": 8939.648367891232, "y": -2769.4382548739427}, {"x": 8939.365009098748, "y": -2769.030691451447}, {"x": 8939.082653836354, "y": -2768.6224321449495}, {"x": 8938.8013060549, "y": -2768.213477880417}, {"x": 8938.520969714511, "y": -2767.803829605096}, {"x": 8938.241648779278, "y": -2767.3934882882963}, {"x": 8937.96334721859, "y": -2766.9824549182426}, {"x": 8937.686069008461, "y": -2766.5707305060123}, {"x": 8937.409818126223, "y": -2766.158316082385}, {"x": 8937.134598557155, "y": -2765.745212700994}, {"x": 8936.860414291828, "y": -2765.3314214351735}, {"x": 8936.587269324793, "y": -2764.9169433811117}, {"x": 8936.31516765324, "y": -2764.5017796539096}, {"x": 8936.044113282309, "y": -2764.0859313930987}, {"x": 8935.774110219785, "y": -2763.6693997587}, {"x": 8935.505162478752, "y": -2763.2521859320113}, {"x": 8935.237274076264, "y": -2762.8342911163973}, {"x": 8934.970449035995, "y": -2762.415716536499}, {"x": 8934.70469138162, "y": -2761.9964634398116}, {"x": 8934.440005144756, "y": -2761.5765330958957}, {"x": 8934.17639435967, "y": -2761.155926794802}, {"x": 8933.913863065925, "y": -2760.7346458502216}, {"x": 8933.65241530441, "y": -2760.3126915979133}, {"x": 8933.392055123952, "y": -2759.8900653956994}, {"x": 8933.132786573384, "y": -2759.4667686226812}, {"x": 8932.874613705506, "y": -2759.042802682389}, {"x": 8932.617540582392, "y": -2758.618168999631}, {"x": 8932.361571260815, "y": -2758.192869021281}, {"x": 8932.106709809466, "y": -2757.7669042186417}, {"x": 8931.852960294389, "y": -2757.3402760850836}, {"x": 8931.600326789568, "y": -2756.912986135252}, {"x": 8931.34881336767, "y": -2756.485035909013}, {"x": 8931.0984241093, "y": -2756.056426968295}, {"x": 8930.849163093737, "y": -2755.6271608963066}, {"x": 8930.60103440689, "y": -2755.1972393030496}, {"x": 8930.354042135985, "y": -2754.7666638182263}, {"x": 8930.10819036957, "y": -2754.3354360967587}, {"x": 8929.863483202818, "y": -2753.9035578164203}, {"x": 8929.619924729577, "y": -2753.4710306786283}, {"x": 8929.37751904899, "y": -2753.0378564076523}, {"x": 8929.136270261522, "y": -2752.604036752192}, {"x": 8928.89543777011, "y": -2752.168228268722}, {"x": 8928.655760666416, "y": -2751.7317832884814}, {"x": 8928.417226069121, "y": -2751.2947128206342}, {"x": 8928.179821032028, "y": -2750.8570277655936}, {"x": 8927.943532536123, "y": -2750.4187389134427}, {"x": 8927.70834749619, "y": -2749.9798569478794}, {"x": 8927.474252759483, "y": -2749.5403924462116}, {"x": 8927.241235111034, "y": -2749.100355878573}, {"x": 8927.009281269673, "y": -2748.6597576118606}, {"x": 8926.778377893323, "y": -2748.218607912101}, {"x": 8926.548511577683, "y": -2747.77691693972}, {"x": 8926.31966886019, "y": -2747.3346947566374}, {"x": 8926.091836217378, "y": -2746.8919513246888}, {"x": 8925.865000071499, "y": -2746.4486965087785}, {"x": 8925.63914678522, "y": -2746.004940075305}, {"x": 8925.414262669581, "y": -2745.56069169531}, {"x": 8925.190333978675, "y": -2745.1159609452707}, {"x": 8924.967346916295, "y": -2744.67075730867}, {"x": 8924.745287633268, "y": -2744.225090176792}, {"x": 8924.524142232756, "y": -2743.7789688495027}, {"x": 8924.30389676496, "y": -2743.332402539196}, {"x": 8924.084537233748, "y": -2742.885400368427}, {"x": 8923.866049596638, "y": -2742.437971373851}, {"x": 8923.648419763487, "y": -2741.990124505438}, {"x": 8923.431633601786, "y": -2741.541868629624}, {"x": 8923.215676931357, "y": -2741.0932125308873}, {"x": 8923.000535533633, "y": -2740.6441649109593}, {"x": 8922.78619514502, "y": -2740.194734391978}, {"x": 8922.572641460889, "y": -2739.7449295164874}, {"x": 8922.359860140858, "y": -2739.2947587505905}, {"x": 8922.147836799528, "y": -2738.84423048316}, {"x": 8921.936557018405, "y": -2738.39335302978}, {"x": 8921.726006341916, "y": -2737.942134631168}, {"x": 8921.516170274772, "y": -2737.490583457905}, {"x": 8921.307034289906, "y": -2737.038707607283}, {"x": 8921.098583825826, "y": -2736.5865151096086}, {"x": 8920.890804286619, "y": -2736.1340139266276}, {"x": 8920.684090205541, "y": -2735.682099197185}, {"x": 8920.4780355291, "y": -2735.2298834210774}, {"x": 8920.272645943933, "y": -2734.777365179014}, {"x": 8920.067927143291, "y": -2734.324543075344}, {"x": 8919.863884833669, "y": -2733.871415737272}, {"x": 8919.660524728182, "y": -2733.4179818180064}, {"x": 8919.45785254789, "y": -2732.9642399936115}, {"x": 8919.255874025765, "y": -2732.5101889653683}, {"x": 8919.054594902727, "y": -2732.0558274605633}, {"x": 8918.854020926317, "y": -2731.601154229337}, {"x": 8918.654157858635, "y": -2731.1461680486254}, {"x": 8918.455011465758, "y": -2730.6908677205793}, {"x": 8918.256587527, "y": -2730.235252073358}, {"x": 8918.058891826971, "y": -2729.779319960338}, {"x": 8917.861930160878, "y": -2729.3230702609003}, {"x": 8917.665708335839, "y": -2728.8665018820097}, {"x": 8917.470232164267, "y": -2728.4096137566366}, {"x": 8917.275507470498, "y": -2727.9524048437565}, {"x": 8917.081540085479, "y": -2727.494874129927}, {"x": 8916.888335850757, "y": -2727.037020628501}, {"x": 8916.695900617144, "y": -2726.5788433827756}, {"x": 8916.504240243394, "y": -2726.120341459691}, {"x": 8916.313360598855, "y": -2725.6615139569217}, {"x": 8916.12326756082, "y": -2725.202359998935}, {"x": 8915.933967017176, "y": -2724.742878739358}, {"x": 8915.745464861098, "y": -2724.283069360186}, {"x": 8915.557767000335, "y": -2723.822931071785}, {"x": 8915.3708793466, "y": -2723.362463113681}, {"x": 8915.184807823527, "y": -2722.901664755343}, {"x": 8914.999558362693, "y": -2722.4405352930366}, {"x": 8914.815136903619, "y": -2721.9790740569124}, {"x": 8914.631549397742, "y": -2721.5172804031276}, {"x": 8914.448801800469, "y": -2721.0551537201495}, {"x": 8914.266900081773, "y": -2720.592693425603}, {"x": 8914.085850215602, "y": -2720.1298989694246}, {"x": 8913.905658187814, "y": -2719.66676982992}, {"x": 8913.72632998957, "y": -2719.2033055177058}, {"x": 8913.547871625262, "y": -2718.7395055749193}, {"x": 8913.370289103264, "y": -2718.2753695744345}, {"x": 8913.193588445183, "y": -2717.810897120646}, {"x": 8913.017775676602, "y": -2717.3460878510477}, {"x": 8912.842856833693, "y": -2716.880941433867}, {"x": 8912.668837963223, "y": -2716.41545757043}, {"x": 8912.495725114606, "y": -2715.9496359943737}, {"x": 8912.323524351821, "y": -2715.4834764716443}, {"x": 8912.152241744137, "y": -2715.016978802864}, {"x": 8911.981883367454, "y": -2714.5501428209636}, {"x": 8911.812455309579, "y": -2714.0829683911866}], "type": "road_edge"}, {"geometry": [{"x": 8941.891121017718, "y": -2792.2762735513397}, {"x": 8942.174479720166, "y": -2792.687398503929}, {"x": 8942.458485153806, "y": -2793.098076951762}, {"x": 8942.743136631469, "y": -2793.508307867211}, {"x": 8943.028433464671, "y": -2793.918090222649}, {"x": 8943.314374956983, "y": -2794.3274229943895}, {"x": 8943.600960413296, "y": -2794.7363051603215}, {"x": 8943.888189131885, "y": -2795.1447356999106}, {"x": 8944.176060409698, "y": -2795.5527135965626}, {"x": 8944.464573539713, "y": -2795.960237833683}, {"x": 8944.753727813582, "y": -2796.36730739783}, {"x": 8945.043522517664, "y": -2796.7739212771376}, {"x": 8945.333956938315, "y": -2797.1800784613156}, {"x": 8945.62503035792, "y": -2797.5857779424387}, {"x": 8945.916742057541, "y": -2797.9910187141577}, {"x": 8946.209091315592, "y": -2798.3957997701223}, {"x": 8946.502077407835, "y": -2798.800120107924}, {"x": 8946.795699608712, "y": -2799.203978725153}, {"x": 8947.089957191343, "y": -2799.6073746201882}, {"x": 8947.36436430256, "y": -2799.9808383514223}, {"x": 8947.642225008081, "y": -2800.351738429686}, {"x": 8947.922822586757, "y": -2800.720574445659}, {"x": 8948.202146528824, "y": -2801.0903730684513}, {"x": 8948.473463311117, "y": -2801.4660640111724}, {"x": 8948.727644789293, "y": -2801.853500735421}, {"x": 8948.953339331749, "y": -2802.258105566738}, {"x": 8949.151573380614, "y": -2802.7144382021434}, {"x": 8949.30065267889, "y": -2803.189119939528}, {"x": 8949.400136299915, "y": -2803.6766250531045}, {"x": 8949.450205389803, "y": -2804.171662233482}, {"x": 8949.451596631838, "y": -2804.669233276677}, {"x": 8949.405533344854, "y": -2805.164679410079}, {"x": 8949.313655980515, "y": -2805.6537159496484}, {"x": 8949.177953564624, "y": -2806.1324561835745}, {"x": 8949.000697332302, "y": -2806.5974254777216}, {"x": 8948.784377589804, "y": -2807.0455666919456}, {"x": 8948.531644606617, "y": -2807.4742380034804}, {"x": 8948.245254117786, "y": -2807.8812042690397}, {"x": 8947.946593712497, "y": -2808.244975037819}, {"x": 8947.62620652584, "y": -2808.5898041680643}, {"x": 8947.289280832441, "y": -2808.918525346192}, {"x": 8946.940256507452, "y": -2809.2343953525487}, {"x": 8946.582851433986, "y": -2809.540766587236}, {"x": 8946.22010197554, "y": -2809.8408000713594}, {"x": 8945.854391370756, "y": -2810.1372212279853}, {"x": 8945.487448549773, "y": -2810.432116895057}, {"x": 8945.101383811223, "y": -2810.7417785254747}, {"x": 8944.715173036728, "y": -2811.0512579979595}, {"x": 8944.328816312347, "y": -2811.360555242373}, {"x": 8943.94231372414, "y": -2811.6696701909427}, {"x": 8943.555665356846, "y": -2811.9786027751074}, {"x": 8943.16887129917, "y": -2812.2873529255185}, {"x": 8942.781931635853, "y": -2812.595920572827}, {"x": 8942.394846452955, "y": -2812.9043056500473}, {"x": 8942.007615836535, "y": -2813.2125080870424}, {"x": 8941.620239872656, "y": -2813.520527815252}, {"x": 8941.232718647378, "y": -2813.8283647676903}, {"x": 8940.845052248085, "y": -2814.136018874221}, {"x": 8940.457240759513, "y": -2814.443490067071}, {"x": 8940.06928426905, "y": -2814.7507782776784}, {"x": 8939.68118286143, "y": -2815.0578834374833}, {"x": 8939.292936625365, "y": -2815.3648054787122}, {"x": 8938.904545645588, "y": -2815.6715443328044}, {"x": 8938.516010009485, "y": -2815.9780999304103}, {"x": 8938.127329803117, "y": -2816.2844722053333}, {"x": 8937.738505112548, "y": -2816.5906610874367}, {"x": 8937.349536025158, "y": -2816.896666509735}, {"x": 8936.96042262701, "y": -2817.2024884036678}, {"x": 8936.571165004165, "y": -2817.508126701461}], "type": "road_edge"}, {"geometry": [{"x": 8999.143537303964, "y": -2759.7798648791286}, {"x": 8998.786396202871, "y": -2760.1294829612157}, {"x": 8998.429261650346, "y": -2760.4791077323353}, {"x": 8998.072133645062, "y": -2760.8287391916997}, {"x": 8997.715012187022, "y": -2761.1783773393086}, {"x": 8997.357897278873, "y": -2761.5280221751623}, {"x": 8997.000788917965, "y": -2761.877673699261}, {"x": 8996.643687104299, "y": -2762.227331911604}, {"x": 8996.286591840524, "y": -2762.5769968106156}, {"x": 8995.929503125317, "y": -2762.9266683986602}, {"x": 8995.572420958675, "y": -2763.276346673373}, {"x": 8995.2153453406, "y": -2763.626031635543}, {"x": 8994.858276271092, "y": -2763.9757232851694}, {"x": 8994.501213751475, "y": -2764.325421622252}, {"x": 8994.144157780423, "y": -2764.675126646792}, {"x": 8993.787108359262, "y": -2765.0248383572116}, {"x": 8993.430065487992, "y": -2765.3745567550886}, {"x": 8993.073029165289, "y": -2765.724281839634}, {"x": 8992.715999392476, "y": -2766.0740136108475}, {"x": 8992.358976169553, "y": -2766.42375206873}, {"x": 8992.001959496522, "y": -2766.773497212493}, {"x": 8991.644949374704, "y": -2767.1232490421366}, {"x": 8991.287945801452, "y": -2767.4730075584484}, {"x": 8990.930948779416, "y": -2767.822772760641}, {"x": 8990.573958308594, "y": -2768.172544648714}, {"x": 8990.216974387664, "y": -2768.5223232226676}, {"x": 8989.859997016623, "y": -2768.872108482502}, {"x": 8989.503026198121, "y": -2769.2219004274284}, {"x": 8989.146061929509, "y": -2769.5716990574474}, {"x": 8988.789104212112, "y": -2769.921504373347}, {"x": 8988.43215304593, "y": -2770.2713163735507}, {"x": 8988.075208430962, "y": -2770.6211350588474}, {"x": 8987.718270367208, "y": -2770.970960430024}, {"x": 8987.361338855993, "y": -2771.3207924847175}, {"x": 8987.004413895993, "y": -2771.6706312245033}, {"x": 8986.647495487208, "y": -2772.020476649381}, {"x": 8986.29058363096, "y": -2772.370328757776}, {"x": 8985.933678327252, "y": -2772.720187551263}, {"x": 8985.576779574758, "y": -2773.070053028266}, {"x": 8985.219887376128, "y": -2773.419925189574}, {"x": 8984.86300172871, "y": -2773.769804034398}, {"x": 8984.506122633833, "y": -2774.119689563526}, {"x": 8984.149250092818, "y": -2774.469581775383}, {"x": 8983.792384103017, "y": -2774.819480671544}, {"x": 8983.435524667078, "y": -2775.1693862512216}, {"x": 8983.078671785002, "y": -2775.5192985136277}, {"x": 8982.721825455465, "y": -2775.86921745955}, {"x": 8982.364985678467, "y": -2776.2191430882}, {"x": 8982.008152456654, "y": -2776.5690754003667}, {"x": 8981.651325787381, "y": -2776.919014394474}, {"x": 8981.29450567197, "y": -2777.2689600720973}, {"x": 8980.937692110421, "y": -2777.6189124316606}, {"x": 8980.580885102736, "y": -2777.9688714739527}, {"x": 8980.224084648913, "y": -2778.3188371981846}, {"x": 8979.867290750277, "y": -2778.668809605145}, {"x": 8979.510503405503, "y": -2779.0187886932576}, {"x": 8979.15372261459, "y": -2779.3687744640984}, {"x": 8978.796948378866, "y": -2779.7187669168793}, {"x": 8978.440180697004, "y": -2780.0687660508124}, {"x": 8978.083419571652, "y": -2780.418771866686}, {"x": 8977.726665000164, "y": -2780.768784363712}, {"x": 8977.369916983862, "y": -2781.1188035418895}, {"x": 8977.018783347849, "y": -2781.4633270421273}, {"x": 8976.6676560618, "y": -2781.8078570138937}, {"x": 8976.316535128364, "y": -2782.1523934595534}, {"x": 8975.965420544893, "y": -2782.4969363767423}, {"x": 8975.614312312711, "y": -2782.8414857670355}, {"x": 8975.263210431818, "y": -2783.1860416288578}, {"x": 8974.912114902212, "y": -2783.5306039629972}, {"x": 8974.561025725221, "y": -2783.8751727686654}, {"x": 8974.209942899517, "y": -2784.2197480466502}, {"x": 8973.858866425102, "y": -2784.5643297969523}, {"x": 8973.507796303298, "y": -2784.908918017995}, {"x": 8973.156732532785, "y": -2785.2535127105666}, {"x": 8972.805675114885, "y": -2785.598113874667}, {"x": 8972.454624049597, "y": -2785.9427215102965}, {"x": 8972.103579336921, "y": -2786.2873356166665}, {"x": 8971.752540975533, "y": -2786.6319561945656}, {"x": 8971.401508968083, "y": -2786.9765832432054}, {"x": 8971.050483311921, "y": -2787.3212167625857}, {"x": 8970.699464009696, "y": -2787.665856752707}, {"x": 8970.348451061407, "y": -2788.0105032135693}, {"x": 8969.997444464409, "y": -2788.355156144384}, {"x": 8969.646444222668, "y": -2788.6998155459396}, {"x": 8969.295450332218, "y": -2789.0444814174484}, {"x": 8968.944462797028, "y": -2789.3891537589093}, {"x": 8968.59348161445, "y": -2789.733832570323}, {"x": 8968.242506785811, "y": -2790.078517852478}, {"x": 8967.891538311107, "y": -2790.423209603009}, {"x": 8967.54057619034, "y": -2790.7679078242813}, {"x": 8967.205933440307, "y": -2791.097241726635}, {"x": 8966.871923772216, "y": -2791.4272178541496}, {"x": 8966.535851737295, "y": -2791.75508809637}, {"x": 8966.192196880707, "y": -2792.0749726138342}, {"x": 8965.833818845958, "y": -2792.3781940619647}, {"x": 8965.453588191709, "y": -2792.6533649827106}, {"x": 8965.028581414523, "y": -2792.898919726315}, {"x": 8964.580257030946, "y": -2793.0988236402604}, {"x": 8964.114552577004, "y": -2793.2540727930777}, {"x": 8963.636661612782, "y": -2793.3664469450414}, {"x": 8963.15100403011, "y": -2793.438331543296}, {"x": 8962.661228310002, "y": -2793.472559462559}, {"x": 8962.170238486191, "y": -2793.472274952495}, {"x": 8961.680239356163, "y": -2793.4408206200133}, {"x": 8961.210254193249, "y": -2793.383026477908}, {"x": 8960.74486794721, "y": -2793.295719081346}, {"x": 8960.286848184465, "y": -2793.1756947366907}, {"x": 8959.839476496834, "y": -2793.0206767109166}, {"x": 8959.406262386377, "y": -2792.829659002815}, {"x": 8958.990499089603, "y": -2792.6031587373454}, {"x": 8958.594691079701, "y": -2792.343335961424}, {"x": 8958.2199138442, "y": -2792.0539646213383}, {"x": 8957.865188931133, "y": -2791.7402845221873}, {"x": 8957.526966191255, "y": -2791.408825720286}, {"x": 8957.198805306653, "y": -2791.06736278509}, {"x": 8956.858034393224, "y": -2790.707275881311}, {"x": 8956.518284007558, "y": -2790.3462259167923}, {"x": 8956.179556874471, "y": -2789.984215782917}, {"x": 8955.841855704217, "y": -2789.621248380525}, {"x": 8955.50518320308, "y": -2789.2573266175486}, {"x": 8955.169542069398, "y": -2788.8924534082253}, {"x": 8954.834934990913, "y": -2788.5266316762486}, {"x": 8954.501364647429, "y": -2788.159864352404}, {"x": 8954.168833712129, "y": -2787.792154374571}, {"x": 8953.837344848924, "y": -2787.42350468772}, {"x": 8953.506900712458, "y": -2787.053918245492}, {"x": 8953.177503950761, "y": -2786.6833980094057}, {"x": 8952.849157202587, "y": -2786.311946946499}, {"x": 8952.521863097427, "y": -2785.9395680332655}, {"x": 8952.195624258147, "y": -2785.566264251715}], "type": "road_edge"}, {"geometry": [{"x": 9011.153035202939, "y": -2762.596959692181}, {"x": 9011.507557510293, "y": -2762.249394044595}, {"x": 9011.862053682962, "y": -2761.9018017417493}, {"x": 9012.216523722269, "y": -2761.5541827867964}, {"x": 9012.570967624244, "y": -2761.2065371821004}, {"x": 9012.925385386236, "y": -2760.8588649276608}, {"x": 9013.279777008247, "y": -2760.5111660274188}, {"x": 9013.634142486304, "y": -2760.163440482949}, {"x": 9013.988481819084, "y": -2759.8156882958297}, {"x": 9014.342795005261, "y": -2759.4679094676353}, {"x": 9014.697082043513, "y": -2759.1201040007304}, {"x": 9015.051342929866, "y": -2758.772271897479}, {"x": 9015.405577661675, "y": -2758.42441315867}, {"x": 9015.759786240262, "y": -2758.076527788243}, {"x": 9016.113968661655, "y": -2757.7286157861977}, {"x": 9016.468124923205, "y": -2757.3806771556874}, {"x": 9016.822255023591, "y": -2757.032711898287}, {"x": 9017.176358961486, "y": -2756.6847200155735}, {"x": 9017.530436734243, "y": -2756.3367015106983}, {"x": 9017.884488339216, "y": -2755.9886563844507}, {"x": 9018.238513776401, "y": -2755.6405846391935}, {"x": 9018.592513040505, "y": -2755.2924862765035}, {"x": 9018.94648613285, "y": -2754.9443612995333}, {"x": 9019.30043305079, "y": -2754.5962097082825}, {"x": 9019.654353790353, "y": -2754.248031506691}, {"x": 9020.008248351536, "y": -2753.8998266963354}, {"x": 9020.362116731694, "y": -2753.5515952780033}, {"x": 9020.715958928178, "y": -2753.2033372548476}, {"x": 9021.069774939664, "y": -2752.8550526284444}, {"x": 9021.423564763503, "y": -2752.5067414011573}, {"x": 9021.777328399696, "y": -2752.158403573774}, {"x": 9022.131065842948, "y": -2751.810039149448}, {"x": 9022.48477709458, "y": -2751.461648129755}, {"x": 9022.838462150623, "y": -2751.1132305162705}, {"x": 9023.192121009753, "y": -2750.764786312147}, {"x": 9023.54575366932, "y": -2750.4163155181727}, {"x": 9023.899360128, "y": -2750.067818135924}, {"x": 9024.25294038447, "y": -2749.7192941693406}, {"x": 9024.606494434758, "y": -2749.3707436184227}, {"x": 9024.960022278863, "y": -2749.022166486323}, {"x": 9025.313523912815, "y": -2748.6735627746166}, {"x": 9025.666999336612, "y": -2748.3249324848807}, {"x": 9026.020448546282, "y": -2747.976275619479}, {"x": 9026.373871541828, "y": -2747.6275921807755}, {"x": 9026.727268319273, "y": -2747.2788821695585}, {"x": 9027.08063887862, "y": -2746.930145589768}, {"x": 9027.433983215897, "y": -2746.5813824414045}, {"x": 9027.787301331104, "y": -2746.2325927268316}, {"x": 9028.140593221593, "y": -2745.8837764492023}, {"x": 9028.49385888339, "y": -2745.5349336093036}, {"x": 9028.847098317821, "y": -2745.1860642095007}, {"x": 9029.200311519591, "y": -2744.837168252157}, {"x": 9029.55349849002, "y": -2744.488245738849}, {"x": 9029.906659223816, "y": -2744.139296671153}, {"x": 9030.259793720978, "y": -2743.790321051433}, {"x": 9030.612901980181, "y": -2743.4413188820527}, {"x": 9030.965983997452, "y": -2743.0922901645886}, {"x": 9031.31903977147, "y": -2742.743234900617}, {"x": 9031.672069300908, "y": -2742.394153092502}, {"x": 9032.025072583121, "y": -2742.0450447426074}, {"x": 9032.378049615458, "y": -2741.69590985251}, {"x": 9032.73100039792, "y": -2741.3467484237854}], "type": "road_edge"}, {"geometry": [{"x": 9098.601559085035, "y": -2754.5449485327886}, {"x": 9098.2504997685, "y": -2754.890171044829}, {"x": 9097.899438984958, "y": -2755.235392064288}, {"x": 9097.548376731762, "y": -2755.5806115895907}, {"x": 9097.19731301156, "y": -2755.9258296223115}, {"x": 9096.846247821706, "y": -2756.2710461624515}, {"x": 9096.495181164844, "y": -2756.6162612084345}, {"x": 9096.14411303833, "y": -2756.961474761836}, {"x": 9095.793043444808, "y": -2757.306686822657}, {"x": 9095.441972382956, "y": -2757.6518973893208}, {"x": 9095.090899852776, "y": -2757.9971064634033}, {"x": 9094.739825854263, "y": -2758.342314044117}, {"x": 9094.388750387423, "y": -2758.687520131461}, {"x": 9094.03767345225, "y": -2759.0327247254363}, {"x": 9093.68659504875, "y": -2759.3779278268303}, {"x": 9093.335515178242, "y": -2759.7231294348553}, {"x": 9092.98443383808, "y": -2760.068329549511}, {"x": 9092.633351030912, "y": -2760.413528170798}, {"x": 9092.282266754091, "y": -2760.7587252995036}, {"x": 9091.931181010264, "y": -2761.10392093484}, {"x": 9091.580093798106, "y": -2761.4491150760196}, {"x": 9091.229005117619, "y": -2761.794307724618}, {"x": 9090.877914970124, "y": -2762.1394988806355}, {"x": 9090.526823352977, "y": -2762.4846885424954}, {"x": 9090.175730268824, "y": -2762.8298767109864}, {"x": 9089.824635715016, "y": -2763.1750633868965}, {"x": 9089.473539694201, "y": -2763.520248569437}, {"x": 9089.122442205058, "y": -2763.865432258609}, {"x": 9088.771343247585, "y": -2764.210614454412}, {"x": 9088.420242823106, "y": -2764.5557951568453}, {"x": 9088.06914092897, "y": -2764.90097436591}, {"x": 9087.71803756783, "y": -2765.246152081605}, {"x": 9087.366932738361, "y": -2765.5913283047194}, {"x": 9087.015826440562, "y": -2765.936503033676}, {"x": 9086.664718674432, "y": -2766.2816762700522}, {"x": 9086.313609441295, "y": -2766.626848012271}, {"x": 9085.96249873983, "y": -2766.9720182619085}, {"x": 9085.611386570034, "y": -2767.3171870181773}, {"x": 9085.260272931908, "y": -2767.662354280289}, {"x": 9084.909157825452, "y": -2768.007520049819}, {"x": 9084.55804125199, "y": -2768.3526843259806}, {"x": 9084.206923208874, "y": -2768.6978471087727}, {"x": 9083.855803700077, "y": -2769.043008397408}, {"x": 9083.504682721623, "y": -2769.3881681934618}, {"x": 9083.15356027484, "y": -2769.733326496146}, {"x": 9082.802436361053, "y": -2770.078483305462}, {"x": 9082.451310978935, "y": -2770.4236386206207}, {"x": 9082.100184129811, "y": -2770.768792443198}, {"x": 9081.749055811033, "y": -2771.1139447724067}, {"x": 9081.397926025249, "y": -2771.4590956074576}, {"x": 9081.046794771135, "y": -2771.804244949928}, {"x": 9080.69566204869, "y": -2772.149392798241}, {"x": 9080.34452785924, "y": -2772.4945391539727}, {"x": 9079.99339220146, "y": -2772.8396840155474}, {"x": 9079.64225507535, "y": -2773.184827383753}, {"x": 9079.291116482234, "y": -2773.5299692585895}, {"x": 9078.939976420786, "y": -2773.875109640057}, {"x": 9078.58883489101, "y": -2774.220248528155}, {"x": 9078.239277824377, "y": -2774.56382699053}, {"x": 9077.889718909424, "y": -2774.9074035718113}, {"x": 9077.540157751591, "y": -2775.250977870878}, {"x": 9077.190593956328, "y": -2775.5945494858206}, {"x": 9076.841027129074, "y": -2775.9381180170935}, {"x": 9076.491456875274, "y": -2776.2816830612123}, {"x": 9076.1418828017, "y": -2776.6252442194186}, {"x": 9075.792304512468, "y": -2776.968801088228}, {"x": 9075.442721615673, "y": -2777.3123532680943}, {"x": 9075.093133716759, "y": -2777.6559003571087}, {"x": 9074.743540419842, "y": -2777.999441953362}, {"x": 9074.393941331697, "y": -2778.3429776573084}, {"x": 9074.044336057765, "y": -2778.686507065463}, {"x": 9073.694724204812, "y": -2779.0300297782806}, {"x": 9073.345105378285, "y": -2779.373545393851}, {"x": 9072.995479183628, "y": -2779.717053510266}, {"x": 9072.64584522761, "y": -2780.0605537264037}, {"x": 9072.296203115673, "y": -2780.4040456411426}, {"x": 9071.946552454587, "y": -2780.747528852574}, {"x": 9071.596892849795, "y": -2781.0910029595757}, {"x": 9071.247223908065, "y": -2781.434467560239}, {"x": 9070.89754523352, "y": -2781.7779222534427}, {"x": 9070.547856434248, "y": -2782.121366638065}, {"x": 9070.198157115698, "y": -2782.4648003114085}, {"x": 9069.848446884635, "y": -2782.808222872352}, {"x": 9069.498725346502, "y": -2783.151633918986}, {"x": 9069.148992108072, "y": -2783.495033049402}, {"x": 9068.799246776109, "y": -2783.8384198624776}, {"x": 9068.44948895606, "y": -2784.181793956304}, {"x": 9068.09971825469, "y": -2784.5251549281834}, {"x": 9067.749934277446, "y": -2784.8685023777825}, {"x": 9067.400136633743, "y": -2785.2118359016167}, {"x": 9067.050324927703, "y": -2785.5551550977757}, {"x": 9066.700498766093, "y": -2785.8984595651386}, {"x": 9066.350657757004, "y": -2786.2417489017957}, {"x": 9066.000801504559, "y": -2786.585022704262}, {"x": 9065.650929618172, "y": -2786.928280570628}, {"x": 9065.301041704612, "y": -2787.2715220997725}, {"x": 9064.951137367998, "y": -2787.614746888997}, {"x": 9064.601216217749, "y": -2787.957954535606}, {"x": 9064.25127786063, "y": -2788.3011446369005}, {"x": 9063.901321902089, "y": -2788.6443167901834}, {"x": 9063.551347951538, "y": -2788.987470594334}, {"x": 9063.201355614425, "y": -2789.330605645078}, {"x": 9062.85134449884, "y": -2789.6737215412945}, {"x": 9062.501314211551, "y": -2790.016817879498}, {"x": 9062.151264360653, "y": -2790.359894256203}, {"x": 9061.801194552912, "y": -2790.702950270288}, {"x": 9061.451104395095, "y": -2791.045985516692}, {"x": 9061.100993496622, "y": -2791.388999594293}, {"x": 9060.744104414716, "y": -2791.7386114262954}, {"x": 9060.387194404144, "y": -2792.0882018916923}, {"x": 9060.030264492336, "y": -2792.437772037813}, {"x": 9059.673315708053, "y": -2792.787322913561}, {"x": 9059.316349078726, "y": -2793.136855565478}, {"x": 9058.959365631792, "y": -2793.4863710408918}, {"x": 9058.602366396006, "y": -2793.835870388707}, {"x": 9058.24535239748, "y": -2794.185354657041}, {"x": 9057.88832466497, "y": -2794.534824894009}, {"x": 9057.531284224588, "y": -2794.8842821477288}, {"x": 9057.174232102441, "y": -2795.2337274671045}, {"x": 9056.817169327289, "y": -2795.583161900253}, {"x": 9056.46009692524, "y": -2795.9325864952903}, {"x": 9056.103015922406, "y": -2796.282002302698}, {"x": 9055.745927347543, "y": -2796.6314103698037}, {"x": 9055.388832225437, "y": -2796.9808117463003}, {"x": 9055.0317315822, "y": -2797.330207480305}, {"x": 9054.674626446587, "y": -2797.6795986222983}, {"x": 9054.31751784206, "y": -2798.028986219608}, {"x": 9053.960406798704, "y": -2798.3783713227162}, {"x": 9053.603294339977, "y": -2798.7277549797386}, {"x": 9053.246181493314, "y": -2799.077138241156}, {"x": 9052.889069284827, "y": -2799.426522154297}, {"x": 9052.531958740621, "y": -2799.7759077688543}, {"x": 9052.17485088946, "y": -2800.1252961345203}, {"x": 9051.8177467548, "y": -2800.4746883002003}, {"x": 9051.460647364078, "y": -2800.8240853147986}, {"x": 9051.103553744728, "y": -2801.17348822722}, {"x": 9050.746466922858, "y": -2801.5228980863685}, {"x": 9050.389387924579, "y": -2801.8723159419374}, {"x": 9050.032317777324, "y": -2802.2217428412555}, {"x": 9049.675257507202, "y": -2802.571179834015}, {"x": 9049.31820814165, "y": -2802.920627968332}, {"x": 9048.961170706776, "y": -2803.2700882939002}, {"x": 9048.604146230015, "y": -2803.6195618580477}, {"x": 9048.247135740121, "y": -2803.969049709679}, {"x": 9047.890140261883, "y": -2804.318552896911}, {"x": 9047.533160825384, "y": -2804.66807246786}, {"x": 9047.176198455405, "y": -2805.017609469855}, {"x": 9046.819254182034, "y": -2805.3671649510115}, {"x": 9046.4623290327, "y": -2805.7167399594473}, {"x": 9046.105424033514, "y": -2806.0663355424904}, {"x": 9045.748540215882, "y": -2806.4159527474694}, {"x": 9045.391678605916, "y": -2806.7655926209245}, {"x": 9045.034840233695, "y": -2807.1152562101843}, {"x": 9044.678026126652, "y": -2807.4649445617897}, {"x": 9044.321237314873, "y": -2807.814658722281}, {"x": 9043.965583054824, "y": -2808.16331289883}, {"x": 9043.609954958589, "y": -2808.5119937629497}, {"x": 9043.254353028815, "y": -2808.8607013130627}, {"x": 9042.898777268152, "y": -2809.209435547594}, {"x": 9042.543227679247, "y": -2809.5581964657545}, {"x": 9042.187704264748, "y": -2809.9069840659686}, {"x": 9041.832207027303, "y": -2810.2557983474485}, {"x": 9041.47673596956, "y": -2810.6046393078295}, {"x": 9041.121291094165, "y": -2810.953506946324}, {"x": 9040.765872402446, "y": -2811.3024012621436}, {"x": 9040.410479899698, "y": -2811.6513222537124}, {"x": 9040.055113587243, "y": -2812.000269919454}, {"x": 9039.69977346773, "y": -2812.3492442577926}, {"x": 9039.344459543807, "y": -2812.69824526794}, {"x": 9038.989171818122, "y": -2813.047272949108}, {"x": 9038.633910293323, "y": -2813.396327298933}, {"x": 9038.278674973384, "y": -2813.7454083166263}, {"x": 9037.923465858303, "y": -2814.0945160014003}, {"x": 9037.56828295205, "y": -2814.4436503508905}, {"x": 9037.2131262586, "y": -2814.792811364309}, {"x": 9036.857995777955, "y": -2815.141999040867}, {"x": 9036.502891515405, "y": -2815.491213378202}, {"x": 9036.14781347228, "y": -2815.840454375524}, {"x": 9035.792761651224, "y": -2816.1897220320466}, {"x": 9035.437736054888, "y": -2816.539016346193}, {"x": 9035.082736685916, "y": -2816.8883373163867}, {"x": 9034.72776354696, "y": -2817.2376849410525}, {"x": 9034.37281664199, "y": -2817.5870592194015}, {"x": 9034.01789597233, "y": -2817.936460149858}, {"x": 9033.663001539308, "y": -2818.2858877316335}, {"x": 9033.308133349537, "y": -2818.6353419631523}, {"x": 9032.953291401698, "y": -2818.98482284205}, {"x": 9032.59847569976, "y": -2819.3343303691154}, {"x": 9032.243686247699, "y": -2819.6838645411954}, {"x": 9031.888923046836, "y": -2820.03342535829}, {"x": 9031.53418609982, "y": -2820.3830128180352}, {"x": 9031.179475410621, "y": -2820.7326269196437}, {"x": 9030.824790979243, "y": -2821.082267662326}, {"x": 9030.470132810977, "y": -2821.4319350437195}, {"x": 9030.115500908476, "y": -2821.781629063035}, {"x": 9029.760895271738, "y": -2822.1313497194847}, {"x": 9029.406315906059, "y": -2822.481097010704}, {"x": 9029.051762812762, "y": -2822.830870935906}, {"x": 9028.697235994496, "y": -2823.1806714943023}, {"x": 9028.342735455233, "y": -2823.530498683528}, {"x": 9027.990468606065, "y": -2823.8781723225843}, {"x": 9027.63822357133, "y": -2824.225868062716}, {"x": 9027.285996209517, "y": -2824.5735817067275}, {"x": 9026.933782380436, "y": -2824.9213090582125}, {"x": 9026.581577941253, "y": -2825.2690459207647}, {"x": 9026.229378750455, "y": -2825.6167880979774}, {"x": 9025.877180663885, "y": -2825.9645313950195}, {"x": 9025.52497954003, "y": -2826.312271616273}, {"x": 9025.172771237378, "y": -2826.6600045653313}, {"x": 9024.820551613093, "y": -2827.0077260465755}, {"x": 9024.468316524342, "y": -2827.3554318635993}, {"x": 9024.11606183226, "y": -2827.703117819208}, {"x": 9023.763783394008, "y": -2828.0507797154182}, {"x": 9023.411477072053, "y": -2828.398413354248}, {"x": 9023.059138726203, "y": -2828.746014536139}, {"x": 9022.706764220244, "y": -2829.0935790607427}, {"x": 9022.354349416635, "y": -2829.441102725349}, {"x": 9022.001890183135, "y": -2829.788581327247}, {"x": 9021.649382383526, "y": -2830.1360106605725}, {"x": 9021.296821889538, "y": -2830.4833865194632}, {"x": 9020.944204568928, "y": -2830.8307046949035}, {"x": 9020.591526297398, "y": -2831.177960977089}, {"x": 9020.238782946672, "y": -2831.5251511514884}, {"x": 9019.885970397749, "y": -2831.8722710043576}, {"x": 9019.53308452633, "y": -2832.2193163180123}, {"x": 9019.180121218707, "y": -2832.5662828716163}, {"x": 9018.827076357202, "y": -2832.9131664427573}, {"x": 9018.473945830756, "y": -2833.2599628058697}, {"x": 9018.120725532279, "y": -2833.6066677306617}, {"x": 9017.767411354685, "y": -2833.953276986051}, {"x": 9017.413999197508, "y": -2834.2997863362284}, {"x": 9017.062952637834, "y": -2834.643775563373}, {"x": 9016.711805447905, "y": -2834.987662065635}, {"x": 9016.36055765817, "y": -2835.3314458138575}, {"x": 9016.009209300406, "y": -2835.6751267780937}, {"x": 9015.657760402419, "y": -2836.0187049283977}, {"x": 9015.306210994659, "y": -2836.3621802363996}, {"x": 9014.954561108903, "y": -2836.705552672941}, {"x": 9014.60281077428, "y": -2837.0488222072872}, {"x": 9014.25096001992, "y": -2837.3919888102805}, {"x": 9013.899008877595, "y": -2837.7350524535514}, {"x": 9013.546957376437, "y": -2838.078013107153}, {"x": 9013.194805546897, "y": -2838.420870741927}, {"x": 9012.842553418102, "y": -2838.763625327928}, {"x": 9012.49020102183, "y": -2839.106276836785}, {"x": 9012.13774838721, "y": -2839.4488252377646}, {"x": 9011.78519554469, "y": -2839.791270503284}, {"x": 9011.432542524726, "y": -2840.13361260261}, {"x": 9011.08678997665, "y": -2840.4650405906714}, {"x": 9010.73020622133, "y": -2840.7847291867765}, {"x": 9010.355619516544, "y": -2841.0830434247805}, {"x": 9009.959636116011, "y": -2841.352236604095}, {"x": 9009.54208533067, "y": -2841.5865354787165}, {"x": 9009.105172001704, "y": -2841.7823557129523}, {"x": 9008.652517033597, "y": -2841.9384058939904}, {"x": 9008.18825318618, "y": -2842.055569554165}, {"x": 9007.716306309198, "y": -2842.1365632107018}, {"x": 9007.239932707158, "y": -2842.18543362833}, {"x": 9006.76918696518, "y": -2842.2060049045326}, {"x": 9006.298029888223, "y": -2842.200032982119}, {"x": 9005.827958056765, "y": -2842.1675204411895}, {"x": 9005.360467376042, "y": -2842.1085543171876}, {"x": 9004.897048297678, "y": -2842.023306085926}, {"x": 9004.439181050599, "y": -2841.9120313790995}, {"x": 9003.988330869284, "y": -2841.775069423186}, {"x": 9003.560144927222, "y": -2841.6183246269184}, {"x": 9003.141548310912, "y": -2841.437533975475}, {"x": 9002.734237291073, "y": -2841.232586805871}, {"x": 9002.339830633366, "y": -2841.0037899601457}, {"x": 9001.959705754487, "y": -2840.7519741069414}, {"x": 9001.59479954564, "y": -2840.478561798944}, {"x": 9001.245386141001, "y": -2840.1855956081135}, {"x": 9000.910848532136, "y": -2839.875733223967}, {"x": 9000.589464448696, "y": -2839.552228086275}, {"x": 9000.278229324673, "y": -2839.218927959466}, {"x": 8999.972742356531, "y": -2838.8803381387834}, {"x": 8999.645314381774, "y": -2838.5151085067773}, {"x": 8999.317936695668, "y": -2838.1498337955136}, {"x": 8998.990609306153, "y": -2837.7845140128725}, {"x": 8998.663332218526, "y": -2837.4191491651586}, {"x": 8998.336105438084, "y": -2837.0537392594647}, {"x": 8998.00892897277, "y": -2836.688284302883}, {"x": 8997.681802827881, "y": -2836.322784302506}, {"x": 8997.354727010035, "y": -2835.9572392646382}, {"x": 8997.027701524532, "y": -2835.59164919716}, {"x": 8996.700726379313, "y": -2835.2260141063766}, {"x": 8996.373801578351, "y": -2834.8603339985916}, {"x": 8996.04692712959, "y": -2834.494608882474}, {"x": 8995.720103038324, "y": -2834.1288387627524}, {"x": 8995.393329309853, "y": -2833.763023648095}, {"x": 8995.066605953441, "y": -2833.3971635448065}, {"x": 8994.739932971741, "y": -2833.031258459979}, {"x": 8994.413310372693, "y": -2832.6653084007057}, {"x": 8994.086738162918, "y": -2832.2993133732907}, {"x": 8993.760216349036, "y": -2831.9332733848264}, {"x": 8993.433744935019, "y": -2831.5671884424055}, {"x": 8993.107323927488, "y": -2831.2010585531207}, {"x": 8992.780953334386, "y": -2830.8348837240637}, {"x": 8992.454633161009, "y": -2830.4686639623283}, {"x": 8992.12836341398, "y": -2830.10239927343}, {"x": 8991.80214409859, "y": -2829.7360896660375}, {"x": 8991.475975220139, "y": -2829.3697351464552}, {"x": 8991.149856787893, "y": -2829.0033357217762}, {"x": 8990.823788804502, "y": -2828.6368913983047}, {"x": 8990.497771279232, "y": -2828.270402183133}, {"x": 8990.171804216056, "y": -2827.9038680841413}, {"x": 8989.845887622918, "y": -2827.537289106847}, {"x": 8989.520021505114, "y": -2827.1706652599178}, {"x": 8989.19420586794, "y": -2826.8039965488706}, {"x": 8988.868440718015, "y": -2826.437282981586}, {"x": 8988.542726063286, "y": -2826.0705245643685}, {"x": 8988.217061907724, "y": -2825.7037213035223}, {"x": 8987.891448257946, "y": -2825.3368732077165}, {"x": 8987.565885120575, "y": -2824.9699802832547}, {"x": 8987.240372502232, "y": -2824.603042536442}, {"x": 8986.91491040821, "y": -2824.236059975159}, {"x": 8986.589498845131, "y": -2823.86903260571}, {"x": 8986.264137819615, "y": -2823.5019604351874}, {"x": 8985.938827336957, "y": -2823.134843470684}, {"x": 8985.61356740378, "y": -2822.767681718504}, {"x": 8985.288358025375, "y": -2822.400475186528}, {"x": 8984.96319920969, "y": -2822.0332238818487}], "type": "road_edge"}, {"geometry": [{"x": 8968.698087722561, "y": -2892.8345135580357}, {"x": 8969.101910952824, "y": -2892.541714402314}, {"x": 8969.5054389852, "y": -2892.2485085284984}, {"x": 8969.908672253965, "y": -2891.95489739292}, {"x": 8970.311611194718, "y": -2891.660882446392}, {"x": 8970.714256249681, "y": -2891.366465142093}, {"x": 8971.116607863723, "y": -2891.0716469261088}, {"x": 8971.518666483034, "y": -2890.776429246889}, {"x": 8971.920432559104, "y": -2890.4808135473672}, {"x": 8972.321906548716, "y": -2890.184801270477}, {"x": 8972.723088912626, "y": -2889.8883938552103}, {"x": 8973.123980110267, "y": -2889.591592740562}, {"x": 8973.524580610341, "y": -2889.294399362372}, {"x": 8973.924890882872, "y": -2888.9968151533294}, {"x": 8974.324911401854, "y": -2888.6988415453347}, {"x": 8974.724642643934, "y": -2888.400479967924}, {"x": 8975.124085091053, "y": -2888.101731849058}, {"x": 8975.5232392278, "y": -2887.8025986119687}, {"x": 8975.922105542732, "y": -2887.503081681464}, {"x": 8976.320684525735, "y": -2887.203182478412}, {"x": 8976.718976675964, "y": -2886.90290241974}, {"x": 8977.116982488598, "y": -2886.6022429239515}, {"x": 8977.514702469412, "y": -2886.301205404822}, {"x": 8977.912137121528, "y": -2885.9997912753392}, {"x": 8978.309286956015, "y": -2885.6980019453376}, {"x": 8978.706152485269, "y": -2885.395838822288}, {"x": 8979.102734226975, "y": -2885.093303313661}, {"x": 8979.499032698825, "y": -2884.7903968222}, {"x": 8979.89504842645, "y": -2884.4871207506467}, {"x": 8980.290781935484, "y": -2884.183476497804}, {"x": 8980.686233756856, "y": -2883.879465461685}, {"x": 8981.08140442282, "y": -2883.5750890387285}, {"x": 8981.476294472246, "y": -2883.2703486206437}, {"x": 8981.870904444011, "y": -2882.965245599141}, {"x": 8982.265234880957, "y": -2882.6597813643534}, {"x": 8982.659286332551, "y": -2882.3539573032626}, {"x": 8983.053059348258, "y": -2882.0477747989094}, {"x": 8983.446554481516, "y": -2881.741235236699}, {"x": 8983.83977228841, "y": -2881.4343399957324}, {"x": 8984.232713331643, "y": -2881.12709045511}, {"x": 8984.625378172599, "y": -2880.819487991569}, {"x": 8985.01776737928, "y": -2880.511533980269}, {"x": 8985.409881521009, "y": -2880.203229791643}, {"x": 8985.801721172409, "y": -2879.894576797699}, {"x": 8986.188911185332, "y": -2879.589031642007}, {"x": 8986.575831324759, "y": -2879.2831447940043}, {"x": 8986.962479537144, "y": -2878.9769142803952}, {"x": 8987.348853762325, "y": -2878.6703381333996}, {"x": 8987.73495193749, "y": -2878.3634143876025}, {"x": 8988.120771989234, "y": -2878.056141085468}, {"x": 8988.506311844154, "y": -2877.7485162726134}, {"x": 8988.89156941958, "y": -2877.440538000961}, {"x": 8989.276542626216, "y": -2877.1322043271607}, {"x": 8989.661229370802, "y": -2876.8235133125904}, {"x": 8990.045627554775, "y": -2876.5144630249333}, {"x": 8990.429735071633, "y": -2876.2050515358123}, {"x": 8990.813549809574, "y": -2875.895276923155}, {"x": 8991.197069651504, "y": -2875.5851372704055}, {"x": 8991.580292473705, "y": -2875.2746306641593}, {"x": 8991.963216147165, "y": -2874.9637552004706}, {"x": 8992.345838536252, "y": -2874.652508976179}, {"x": 8992.728157498714, "y": -2874.340890097583}, {"x": 8993.110170888323, "y": -2874.02889667492}, {"x": 8993.491876548269, "y": -2873.7165268239446}, {"x": 8993.873272321729, "y": -2873.403778665928}, {"x": 8994.254356039974, "y": -2873.090650328444}, {"x": 8994.63512553162, "y": -2872.777139944586}, {"x": 8995.015578618671, "y": -2872.463245652172}, {"x": 8995.395713113854, "y": -2872.1489655969044}, {"x": 8995.775526828578, "y": -2871.834297929211}, {"x": 8996.155017563657, "y": -2871.519240804249}, {"x": 8996.534183115935, "y": -2871.2037923858443}, {"x": 8996.913021275635, "y": -2870.8879508409755}, {"x": 8997.29152982371, "y": -2870.5717143452885}, {"x": 8997.669706539793, "y": -2870.2550810783705}, {"x": 8998.047549192921, "y": -2869.9380492269015}, {"x": 8998.425055546837, "y": -2869.620616983865}, {"x": 8998.80222335999, "y": -2869.3027825485497}, {"x": 8999.179050382878, "y": -2868.984544124972}, {"x": 8999.55553436071, "y": -2868.665899925818}, {"x": 8999.931673029427, "y": -2868.346848168501}, {"x": 9000.307464122314, "y": -2868.027387077527}, {"x": 9000.682905362073, "y": -2867.7075148837066}, {"x": 9001.057994468752, "y": -2867.387229824156}, {"x": 9001.432729151811, "y": -2867.0665301430818}, {"x": 9001.80710711806, "y": -2866.745414090209}, {"x": 9002.181126063717, "y": -2866.423879922354}, {"x": 9002.554783681026, "y": -2866.1019259042137}, {"x": 9002.928077652965, "y": -2865.7795503060015}, {"x": 9003.301005659867, "y": -2865.456751404236}, {"x": 9003.673565370143, "y": -2865.133527484104}, {"x": 9004.04575444956, "y": -2864.8098768355203}, {"x": 9004.417570554615, "y": -2864.48579775628}, {"x": 9004.789011336508, "y": -2864.1612885520603}, {"x": 9005.160074437175, "y": -2863.8363475348415}, {"x": 9005.530757494578, "y": -2863.51097302212}, {"x": 9005.901058138732, "y": -2863.1851633408505}, {"x": 9006.270973991712, "y": -2862.8589168242906}, {"x": 9006.62994700729, "y": -2862.54157632613}, {"x": 9006.988557885552, "y": -2862.22382663301}, {"x": 9007.34680986238, "y": -2861.905672326699}, {"x": 9007.70470618823, "y": -2861.5871179771416}, {"x": 9008.062250125464, "y": -2861.2681681408876}, {"x": 9008.41944495499, "y": -2860.9488273642405}, {"x": 9008.776293968302, "y": -2860.629100181684}, {"x": 9009.132800470132, "y": -2860.3089911158804}, {"x": 9009.488967782434, "y": -2859.9885046768836}, {"x": 9009.844799239067, "y": -2859.66764536529}, {"x": 9010.200298185811, "y": -2859.3464176682996}, {"x": 9010.555467984339, "y": -2859.0248260644435}, {"x": 9010.910312006905, "y": -2858.7028750180684}, {"x": 9011.264833640338, "y": -2858.3805689848514}, {"x": 9011.619036282053, "y": -2858.0579124086494}, {"x": 9011.972923345353, "y": -2857.734909723074}, {"x": 9012.33371771377, "y": -2857.4049571230184}, {"x": 9012.694192057737, "y": -2857.074654906733}, {"x": 9013.054351404535, "y": -2856.744009232889}, {"x": 9013.41420080262, "y": -2856.4130262443937}, {"x": 9013.773745313692, "y": -2856.081712069972}, {"x": 9014.132990019314, "y": -2855.7500728233745}, {"x": 9014.491940015609, "y": -2855.4181146041665}, {"x": 9014.850600411943, "y": -2855.0858434969405}, {"x": 9015.208976336215, "y": -2854.7532655744685}, {"x": 9015.567072932216, "y": -2854.4203868929735}, {"x": 9015.92489535565, "y": -2854.0872134984324}, {"x": 9016.282448776788, "y": -2853.753751421062}, {"x": 9016.639738384436, "y": -2853.4200066800463}, {"x": 9016.996769376665, "y": -2853.0859852811723}, {"x": 9017.353546967437, "y": -2852.7516932168296}, {"x": 9017.710076382631, "y": -2852.4171364683752}, {"x": 9018.06636286269, "y": -2852.082321005345}, {"x": 9018.422411658647, "y": -2851.747252785455}, {"x": 9018.77822803875, "y": -2851.4119377538113}, {"x": 9019.133817276537, "y": -2851.076381846063}, {"x": 9019.489184662765, "y": -2850.7405909852523}, {"x": 9019.844335498783, "y": -2850.40457108575}, {"x": 9020.199275093879, "y": -2850.068328048532}, {"x": 9020.55400877191, "y": -2849.7318677674803}, {"x": 9020.908541865994, "y": -2849.395196125445}, {"x": 9021.262879719852, "y": -2849.0583189934555}, {"x": 9021.617027686463, "y": -2848.721242237024}, {"x": 9021.970991132053, "y": -2848.383971708266}, {"x": 9022.324775425492, "y": -2848.046513254569}, {"x": 9022.678385952862, "y": -2847.708872710711}, {"x": 9023.031828102898, "y": -2847.3710559067426}, {"x": 9023.385107276245, "y": -2847.0330686608927}, {"x": 9023.738228880171, "y": -2846.6949167866615}, {"x": 9024.091198332537, "y": -2846.356606088094}, {"x": 9024.444021055171, "y": -2846.0181423613526}, {"x": 9024.796702480502, "y": -2845.6795313978732}, {"x": 9025.149248047572, "y": -2845.3407789804223}, {"x": 9025.501663202042, "y": -2845.001890885462}, {"x": 9025.853953394877, "y": -2844.6628728831497}, {"x": 9026.206124084978, "y": -2844.323730738127}, {"x": 9026.558180736545, "y": -2843.9844702079417}, {"x": 9026.910128821724, "y": -2843.6450970454152}, {"x": 9027.261973813982, "y": -2843.3056169986385}, {"x": 9027.621322883577, "y": -2842.9586934887398}, {"x": 9027.980571475176, "y": -2842.611665927658}, {"x": 9028.339720989585, "y": -2842.264535823736}, {"x": 9028.698772827607, "y": -2841.9173046853152}, {"x": 9029.057728390053, "y": -2841.5699740183745}, {"x": 9029.416589084343, "y": -2841.222545328104}, {"x": 9029.775356312608, "y": -2840.8750201196926}, {"x": 9030.134031482276, "y": -2840.527399895179}, {"x": 9030.492616000769, "y": -2840.1796861566004}, {"x": 9030.851111276837, "y": -2839.8318804052064}, {"x": 9031.209518720554, "y": -2839.4839841398834}, {"x": 9031.567839741996, "y": -2839.1359988595163}, {"x": 9031.92607575388, "y": -2838.7879260622026}, {"x": 9032.28422816893, "y": -2838.4397672436753}, {"x": 9032.642298401192, "y": -2838.09152389888}, {"x": 9033.00028786471, "y": -2837.74319752355}, {"x": 9033.358197978827, "y": -2837.3947896110544}, {"x": 9033.716030157586, "y": -2837.046301652398}, {"x": 9034.073785821656, "y": -2836.697735140162}, {"x": 9034.431466389053, "y": -2836.3490915653515}, {"x": 9034.78907328044, "y": -2836.0003724166068}, {"x": 9035.146607915163, "y": -2835.6515791825686}, {"x": 9035.504071717856, "y": -2835.3027133518785}, {"x": 9035.861466110513, "y": -2834.953776410812}, {"x": 9036.218792515117, "y": -2834.604769846435}, {"x": 9036.57605235896, "y": -2834.255695142659}, {"x": 9036.933247066676, "y": -2833.906553784973}, {"x": 9037.290378064228, "y": -2833.5573472572887}, {"x": 9037.647446778901, "y": -2833.2080770411553}, {"x": 9038.004454639306, "y": -2832.858744619697}, {"x": 9038.361403072726, "y": -2832.509351473673}, {"x": 9038.718293509097, "y": -2832.1598990838447}, {"x": 9039.075127379674, "y": -2831.810388930972}, {"x": 9039.431906115718, "y": -2831.4608224926624}, {"x": 9039.788631145837, "y": -2831.1112012481008}, {"x": 9040.145303905261, "y": -2830.76152667647}, {"x": 9040.501925826571, "y": -2830.411800253015}, {"x": 9040.858498341026, "y": -2830.062023454555}, {"x": 9041.215022886501, "y": -2829.7121977586985}, {"x": 9041.571500894257, "y": -2829.3623246391126}, {"x": 9041.92793380217, "y": -2829.0124055710417}, {"x": 9042.28432304547, "y": -2828.662442029729}, {"x": 9042.640670059387, "y": -2828.3124354872666}, {"x": 9042.996976283122, "y": -2827.9623874181098}, {"x": 9043.35324315323, "y": -2827.6122992943506}, {"x": 9043.709472107586, "y": -2827.26217258808}, {"x": 9044.065664585396, "y": -2826.91200877139}, {"x": 9044.421822024533, "y": -2826.5618093155836}, {"x": 9044.777945865528, "y": -2826.211575691177}, {"x": 9045.134037547577, "y": -2825.8613093686854}, {"x": 9045.490098512535, "y": -2825.5110118186235}, {"x": 9045.846130198275, "y": -2825.160684509932}, {"x": 9046.202134047975, "y": -2824.810328912337}, {"x": 9046.558111502158, "y": -2824.45994649399}, {"x": 9046.914064002676, "y": -2824.109538725407}, {"x": 9047.269992991376, "y": -2823.7591070731632}, {"x": 9047.625899911434, "y": -2823.4086530054096}, {"x": 9047.981786204698, "y": -2823.0581779902973}, {"x": 9048.337653313021, "y": -2822.7076834959776}, {"x": 9048.693502682221, "y": -2822.3571709882376}, {"x": 9049.049335752825, "y": -2822.006641936017}, {"x": 9049.405153969332, "y": -2821.6560978043144}, {"x": 9049.760958776238, "y": -2821.3055400604935}, {"x": 9050.116751616719, "y": -2820.954970171129}, {"x": 9050.472533935272, "y": -2820.6043896027963}, {"x": 9050.828307175068, "y": -2820.253799821282}, {"x": 9051.184072780608, "y": -2819.9032022923743}, {"x": 9051.539832197714, "y": -2819.5525984834353}, {"x": 9051.895586869558, "y": -2819.2019898586764}, {"x": 9052.251338240638, "y": -2818.851377885461}, {"x": 9052.607087755452, "y": -2818.5007640279996}, {"x": 9052.9628368585, "y": -2818.150149753656}, {"x": 9053.3185869956, "y": -2817.799536527429}, {"x": 9053.674339609928, "y": -2817.4489258158937}, {"x": 9054.030096145982, "y": -2817.0983190832612}, {"x": 9054.38585804826, "y": -2816.747717797683}, {"x": 9054.741626762581, "y": -2816.397123422581}, {"x": 9055.097403732121, "y": -2816.046537426108}, {"x": 9055.453190401378, "y": -2815.6959612740498}, {"x": 9055.80898821485, "y": -2815.345396431406}, {"x": 9056.159655545527, "y": -2814.999910760145}, {"x": 9056.510335057119, "y": -2814.654437454296}, {"x": 9056.86102670461, "y": -2814.3089764689394}, {"x": 9057.21173044431, "y": -2813.963527758367}, {"x": 9057.562446228552, "y": -2813.618091277661}, {"x": 9057.91317401497, "y": -2813.272666981901}, {"x": 9058.263913755896, "y": -2812.9272548269555}, {"x": 9058.614665407642, "y": -2812.5818547663303}, {"x": 9058.965428925188, "y": -2812.2364667566817}, {"x": 9059.316204262195, "y": -2811.891090752302}, {"x": 9059.66699137497, "y": -2811.5457267074844}, {"x": 9060.017790218499, "y": -2811.200374578885}, {"x": 9060.368600746438, "y": -2810.8550343200095}, {"x": 9060.719422913773, "y": -2810.5097058859374}, {"x": 9061.070256676809, "y": -2810.1643892325387}, {"x": 9061.421101989208, "y": -2809.819084314105}, {"x": 9061.771958805954, "y": -2809.4737910865056}, {"x": 9062.122827082028, "y": -2809.128509503245}, {"x": 9062.47370677374, "y": -2808.7832395209803}, {"x": 9062.82459783475, "y": -2808.4379810932155}, {"x": 9063.175500218713, "y": -2808.0927341750316}, {"x": 9063.526413883266, "y": -2807.7474987222977}, {"x": 9063.877338782066, "y": -2807.4022746900946}, {"x": 9064.228274870096, "y": -2807.057062031926}, {"x": 9064.57922210234, "y": -2806.7118607044495}, {"x": 9064.930180433783, "y": -2806.3666706611693}, {"x": 9065.281149818084, "y": -2806.0214918571664}, {"x": 9065.632130212873, "y": -2805.67632424831}, {"x": 9065.983121571811, "y": -2805.33116778968}, {"x": 9066.334123849882, "y": -2804.986022434781}, {"x": 9066.685137000744, "y": -2804.6408881394823}, {"x": 9067.03616098203, "y": -2804.2957648580764}, {"x": 9067.387195746074, "y": -2803.950652546432}, {"x": 9067.73824125051, "y": -2803.605551158842}, {"x": 9068.089297447672, "y": -2803.2604606503864}, {"x": 9068.440364295191, "y": -2802.915380975359}, {"x": 9068.791441745403, "y": -2802.5703120896274}, {"x": 9069.142529754616, "y": -2802.225253947485}, {"x": 9069.493628279137, "y": -2801.880206504012}, {"x": 9069.844737272628, "y": -2801.53516971429}, {"x": 9070.195856688744, "y": -2801.190143532611}, {"x": 9070.54698648512, "y": -2800.8451279140554}, {"x": 9070.898126615415, "y": -2800.500122813705}, {"x": 9071.249277035937, "y": -2800.155128186639}, {"x": 9071.60043769902, "y": -2799.8101439871516}, {"x": 9071.951608562296, "y": -2799.4651701703224}, {"x": 9072.302789579426, "y": -2799.120206690445}, {"x": 9072.653980706715, "y": -2798.775253503387}, {"x": 9073.005181897826, "y": -2798.4303105642302}, {"x": 9073.356393109063, "y": -2798.0853778264786}, {"x": 9073.707614294088, "y": -2797.740455245213}, {"x": 9074.058845409209, "y": -2797.3955427763026}, {"x": 9074.410086409407, "y": -2797.0506403740396}, {"x": 9074.761337248343, "y": -2796.705747992717}, {"x": 9075.112597883648, "y": -2796.360865588203}, {"x": 9075.46386826766, "y": -2796.015993114003}, {"x": 9075.815148356683, "y": -2795.671130525985}, {"x": 9076.166438107028, "y": -2795.326277778442}, {"x": 9076.51785576626, "y": -2794.9813187235077}, {"x": 9076.869283048418, "y": -2794.6363694712218}, {"x": 9077.22071995085, "y": -2794.2914300215834}, {"x": 9077.57216647356, "y": -2793.946500374594}, {"x": 9077.92362261787, "y": -2793.601580531041}, {"x": 9078.275088382454, "y": -2793.2566704901355}, {"x": 9078.626563767313, "y": -2792.911770253455}, {"x": 9078.978048771127, "y": -2792.5668798209986}, {"x": 9079.329543395215, "y": -2792.2219991919783}, {"x": 9079.681047638254, "y": -2791.8771283679707}, {"x": 9080.032561500248, "y": -2791.5322673481874}, {"x": 9080.384084981191, "y": -2791.1874161342043}, {"x": 9080.735618081088, "y": -2790.842574725234}, {"x": 9081.08716079861, "y": -2790.497743121276}, {"x": 9081.438713133763, "y": -2790.152921323119}, {"x": 9081.790275086541, "y": -2789.8081093315495}, {"x": 9082.141846656948, "y": -2789.463307145781}, {"x": 9082.49342784366, "y": -2789.1185147673896}, {"x": 9082.845018647999, "y": -2788.773732195586}, {"x": 9083.196619068642, "y": -2788.4289594303714}, {"x": 9083.548229105589, "y": -2788.084196473321}, {"x": 9083.899848758838, "y": -2787.7394433228596}, {"x": 9084.251478028393, "y": -2787.3946999813506}, {"x": 9084.603116911603, "y": -2787.049966448006}, {"x": 9084.954765411117, "y": -2786.705242722827}, {"x": 9085.30642352561, "y": -2786.3605288065996}, {"x": 9085.65809125376, "y": -2786.0158246993255}, {"x": 9086.009768596889, "y": -2785.671130401004}, {"x": 9086.361455555, "y": -2785.3264459124234}, {"x": 9086.71315212544, "y": -2784.9817712335835}, {"x": 9087.06485831086, "y": -2784.6371063652723}, {"x": 9087.416574108613, "y": -2784.292451306702}, {"x": 9087.768299518697, "y": -2783.9478060594483}, {"x": 9088.120034542437, "y": -2783.603170622724}], "type": "road_line"}, {"geometry": [{"x": 9050.442447649211, "y": -2823.8854082665043}, {"x": 9050.79146513435, "y": -2823.5437738444625}, {"x": 9051.140592139169, "y": -2823.2022513470865}, {"x": 9051.489818574688, "y": -2822.8608305264756}, {"x": 9051.839134370468, "y": -2822.5195011339415}, {"x": 9052.18852946931, "y": -2822.1782529207944}, {"x": 9052.537993829901, "y": -2821.8370756391346}, {"x": 9052.887517422847, "y": -2821.4959590402723}, {"x": 9053.237090231989, "y": -2821.1548928786715}, {"x": 9053.586702250443, "y": -2820.8138669087953}, {"x": 9053.936343480587, "y": -2820.4728708906237}, {"x": 9054.286003935395, "y": -2820.1318945841363}, {"x": 9054.635673629164, "y": -2819.790927754041}, {"x": 9054.985342588105, "y": -2819.449960169775}, {"x": 9055.335000839756, "y": -2819.1089816047142}, {"x": 9055.684638414301, "y": -2818.7679818369647}, {"x": 9056.034245345898, "y": -2818.4269506532996}, {"x": 9056.383811668704, "y": -2818.085877842857}, {"x": 9056.73332741555, "y": -2817.744753203443}, {"x": 9057.082782617945, "y": -2817.4035665407455}, {"x": 9057.432167306075, "y": -2817.062307668332}, {"x": 9057.781471503506, "y": -2816.7209664076504}, {"x": 9058.130685232476, "y": -2816.3795325896062}, {"x": 9058.47979850331, "y": -2816.0379960529845}, {"x": 9058.828801323685, "y": -2815.696346649968}, {"x": 9059.177683689362, "y": -2815.3545742406195}, {"x": 9059.526435586835, "y": -2815.012668697612}, {"x": 9059.878211232606, "y": -2814.6675195616126}, {"x": 9060.229850556712, "y": -2814.3222315375574}, {"x": 9060.58136029573, "y": -2813.9768115910874}, {"x": 9060.932747194176, "y": -2813.631266678386}, {"x": 9061.284018003196, "y": -2813.285603751698}, {"x": 9061.635179484518, "y": -2812.939829754598}, {"x": 9061.986238402525, "y": -2812.593951624358}, {"x": 9062.337201528218, "y": -2812.2479762919434}, {"x": 9062.68807564054, "y": -2811.9019106835926}, {"x": 9063.03886752241, "y": -2811.555761719239}, {"x": 9063.389583960716, "y": -2811.2095363140884}, {"x": 9063.740231750287, "y": -2810.8632413809814}, {"x": 9064.090817684639, "y": -2810.5168838256673}, {"x": 9064.441348565219, "y": -2810.1704705515294}, {"x": 9064.791831196131, "y": -2809.8240084595886}, {"x": 9065.142272382798, "y": -2809.477504446925}, {"x": 9065.492678934621, "y": -2809.1309654082543}, {"x": 9065.843057662316, "y": -2808.7843982359277}, {"x": 9066.193415379255, "y": -2808.4378098222974}, {"x": 9066.543758897482, "y": -2808.09120705735}, {"x": 9066.894095034339, "y": -2807.744596829498}, {"x": 9067.24443060187, "y": -2807.397986027151}, {"x": 9067.594772417417, "y": -2807.0513815402983}, {"x": 9067.945127295672, "y": -2806.70479025735}, {"x": 9068.295502050007, "y": -2806.358219067506}, {"x": 9068.645903492463, "y": -2806.0116748631176}, {"x": 9068.996338436411, "y": -2805.6651645357488}, {"x": 9069.3468136886, "y": -2805.3186949801147}, {"x": 9069.697336058429, "y": -2804.972273093296}, {"x": 9070.047912347347, "y": -2804.6259057755237}, {"x": 9070.398549358133, "y": -2804.2795999286077}, {"x": 9070.749253886943, "y": -2803.9333624590836}, {"x": 9071.100032727289, "y": -2803.5872002790043}, {"x": 9071.450892667379, "y": -2803.2411203012116}, {"x": 9071.801840492783, "y": -2802.895129447215}, {"x": 9072.152882978467, "y": -2802.5492346401}, {"x": 9072.504026900735, "y": -2802.2034428108336}, {"x": 9072.855279025289, "y": -2801.857760895898}, {"x": 9073.206646112534, "y": -2801.5121958380805}, {"x": 9073.55813491494, "y": -2801.166754587262}, {"x": 9073.90975217967, "y": -2800.821444098837}, {"x": 9074.261504645954, "y": -2800.476271338448}, {"x": 9074.613399041096, "y": -2800.1312432772515}, {"x": 9074.965442089757, "y": -2799.7863668958616}, {"x": 9075.31764050336, "y": -2799.4416491843494}, {"x": 9075.670000984053, "y": -2799.0970971398783}, {"x": 9076.02253022737, "y": -2798.7527177714314}, {"x": 9076.375234915602, "y": -2798.4085180958746}, {"x": 9076.728121721773, "y": -2798.064505141893}, {"x": 9077.081197306992, "y": -2797.7206859484168}, {"x": 9077.434468320449, "y": -2797.3770675654087}, {"x": 9077.787941402068, "y": -2797.0336570538657}, {"x": 9078.141623177207, "y": -2796.690461486604}, {"x": 9078.491458943206, "y": -2796.3514128651022}, {"x": 9078.841485864854, "y": -2796.0125615944967}, {"x": 9079.191684725432, "y": -2795.673888026935}, {"x": 9079.54203634132, "y": -2795.335372486196}, {"x": 9079.892521551408, "y": -2794.996995267688}, {"x": 9080.243121222391, "y": -2794.6587366479052}, {"x": 9080.593816239494, "y": -2794.3205768812777}, {"x": 9080.944587503838, "y": -2793.9824962072607}, {"x": 9081.295415928456, "y": -2793.6444748511262}, {"x": 9081.646282440946, "y": -2793.3064930294763}, {"x": 9081.997167971555, "y": -2792.9685309533975}, {"x": 9082.348053454498, "y": -2792.6305688284588}, {"x": 9082.698919827966, "y": -2792.2925868625944}, {"x": 9083.049748019557, "y": -2791.9545652645265}, {"x": 9083.40051895687, "y": -2791.616484251645}, {"x": 9083.751213554264, "y": -2791.2783240500094}, {"x": 9084.101812712852, "y": -2790.940064898288}, {"x": 9084.452297317866, "y": -2790.601687052486}, {"x": 9084.80264823203, "y": -2790.263170786734}, {"x": 9085.152846299523, "y": -2789.9244963988044}, {"x": 9085.502872334082, "y": -2789.585644211688}, {"x": 9085.852707118987, "y": -2789.246594577532}, {"x": 9086.202331405742, "y": -2788.9073278815845}, {"x": 9086.551725908777, "y": -2788.5678245437666}, {"x": 9086.900871304131, "y": -2788.2280650241896}, {"x": 9087.249748221497, "y": -2787.888029823946}, {"x": 9087.598337245552, "y": -2787.5476994914097}, {"x": 9087.946618913313, "y": -2787.2070546222394}, {"x": 9088.29457370486, "y": -2786.866075865681}, {"x": 9088.642182047313, "y": -2786.5247439253567}, {"x": 9088.989424306892, "y": -2786.1830395647803}, {"x": 9089.336280787582, "y": -2785.8409436097236}, {"x": 9089.68273172717, "y": -2785.4984369513663}, {"x": 9090.028757295922, "y": -2785.155500551025}, {"x": 9090.37433758863, "y": -2784.812115440942}, {"x": 9090.719452629912, "y": -2784.4682627305883}, {"x": 9091.069013856593, "y": -2784.1190204455797}, {"x": 9091.418149139137, "y": -2783.7693523226244}, {"x": 9091.766932034392, "y": -2783.419332683433}, {"x": 9092.115436322963, "y": -2783.0690356251193}, {"x": 9092.463735961548, "y": -2782.718535071425}, {"x": 9092.811905033948, "y": -2782.367904813698}, {"x": 9093.160017711356, "y": -2782.0172185597507}, {"x": 9093.508148194085, "y": -2781.6665499850874}, {"x": 9093.856370677157, "y": -2781.3159727730917}, {"x": 9094.204759294686, "y": -2780.9655606662523}, {"x": 9094.553388073546, "y": -2780.6153875142318}, {"x": 9094.902330894964, "y": -2780.2655273172145}, {"x": 9095.25166143495, "y": -2779.916054274761}, {"x": 9095.601453128538, "y": -2779.5670428330955}, {"x": 9095.951779111543, "y": -2779.2185677284465}, {"x": 9096.302712182149, "y": -2778.8707040382715}, {"x": 9096.654324747959, "y": -2778.523527219084}, {"x": 9096.9980343432, "y": -2778.185561672399}, {"x": 9097.342403662165, "y": -2777.8482683735056}, {"x": 9097.687377558404, "y": -2777.5115934413298}, {"x": 9098.03290117675, "y": -2777.175482701642}, {"x": 9098.378919932133, "y": -2776.8398817146367}, {"x": 9098.7253794831, "y": -2776.5047358040897}, {"x": 9099.07222570534, "y": -2776.1699900778513}, {"x": 9099.419404666522, "y": -2775.8355894609413}, {"x": 9099.766862599816, "y": -2775.5014787168266}, {"x": 9100.114545874765, "y": -2775.167602475795}, {"x": 9100.462400977429, "y": -2774.8339052585916}, {"x": 9100.810374477274, "y": -2774.5003315047934}, {"x": 9101.15841300203, "y": -2774.1668255964487}, {"x": 9101.50646321252, "y": -2773.8333318848713}, {"x": 9101.854471778839, "y": -2773.499794714282}, {"x": 9102.202385344604, "y": -2773.1661584525446}, {"x": 9102.55015051106, "y": -2772.832367507713}, {"x": 9102.897713801336, "y": -2772.498366364283}, {"x": 9103.24502163926, "y": -2772.164099601317}, {"x": 9103.592020322882, "y": -2771.829511919238}, {"x": 9103.93865599401, "y": -2771.4945481689892}, {"x": 9104.284874617046, "y": -2771.1591533764617}, {"x": 9104.639323170275, "y": -2770.81483338973}, {"x": 9104.993297756107, "y": -2770.4700261485723}, {"x": 9105.346819766613, "y": -2770.1247548928063}, {"x": 9105.6999106839, "y": -2769.77904277714}, {"x": 9106.052592074804, "y": -2769.4329128743234}, {"x": 9106.404885585614, "y": -2769.0863881790883}, {"x": 9106.756812939404, "y": -2768.73949161209}, {"x": 9107.108395932068, "y": -2768.392246023846}, {"x": 9107.459656427029, "y": -2768.044674201041}, {"x": 9107.810616347286, "y": -2767.696798867315}, {"x": 9108.16129767807, "y": -2767.3486426879927}, {"x": 9108.511722457575, "y": -2767.0002282771743}, {"x": 9108.861912770328, "y": -2766.651578199312}, {"x": 9109.211890752495, "y": -2766.3027149731524}, {"x": 9109.561678574672, "y": -2765.953661078037}, {"x": 9109.911298448493, "y": -2765.6044389562694}, {"x": 9110.260772614722, "y": -2765.255071017844}, {"x": 9110.6101233459, "y": -2764.905579644383}, {"x": 9110.959372934427, "y": -2764.5559871962328}, {"x": 9111.30854369389, "y": -2764.206316011674}, {"x": 9111.657657953763, "y": -2763.856588414801}, {"x": 9112.006738052785, "y": -2763.5068267186766}, {"x": 9112.355806337642, "y": -2763.157053231635}, {"x": 9112.704885155019, "y": -2762.807290256493}, {"x": 9113.053996851602, "y": -2762.4575601007973}, {"x": 9113.403163767458, "y": -2762.1078850768217}, {"x": 9113.752408230732, "y": -2761.758287508662}, {"x": 9114.10175255766, "y": -2761.408789734597}, {"x": 9114.451219043292, "y": -2761.059414111034}, {"x": 9114.80082995752, "y": -2760.7101830203833}, {"x": 9115.150607546402, "y": -2760.3611188702744}, {"x": 9115.500574021577, "y": -2760.012244100647}, {"x": 9115.850751557608, "y": -2759.6635811892675}, {"x": 9116.201162290661, "y": -2759.3151526525166}, {"x": 9116.551828310565, "y": -2758.9669810509076}, {"x": 9116.902771658155, "y": -2758.6190889969644}, {"x": 9117.25401431999, "y": -2758.27149915207}, {"x": 9117.608467734995, "y": -2757.9213689294866}, {"x": 9117.96322840567, "y": -2757.5715500329907}, {"x": 9118.318277071603, "y": -2757.2220234475412}, {"x": 9118.673594522696, "y": -2756.872770106873}, {"x": 9119.02916159254, "y": -2756.5237709029534}, {"x": 9119.384959153125, "y": -2756.1750066867717}, {"x": 9119.740968116163, "y": -2755.82645827149}, {"x": 9120.097169430432, "y": -2755.4781064355957}, {"x": 9120.453544075168, "y": -2755.1299319260543}, {"x": 9120.810073058734, "y": -2754.7819154622484}, {"x": 9121.166737413325, "y": -2754.434037737556}, {"x": 9121.523518196293, "y": -2754.0862794240766}, {"x": 9121.880396483522, "y": -2753.73862117342}, {"x": 9122.237353366792, "y": -2753.3910436230126}, {"x": 9122.59436995244, "y": -2753.0435273960934}, {"x": 9122.951427353424, "y": -2752.696053108023}, {"x": 9123.308506694622, "y": -2752.3486013654915}, {"x": 9123.665589099586, "y": -2752.0011527720385}, {"x": 9124.022655697163, "y": -2751.653687932778}, {"x": 9124.379687608256, "y": -2751.3061874520376}, {"x": 9124.736665951123, "y": -2750.9586319420246}, {"x": 9125.093571836072, "y": -2750.6110020236147}, {"x": 9125.450386358854, "y": -2750.2632783287163}, {"x": 9125.807090601975, "y": -2749.9154415050007}, {"x": 9126.163665626756, "y": -2749.567472215898}, {"x": 9126.520092475988, "y": -2749.219351149269}, {"x": 9126.876352165975, "y": -2748.871059015041}, {"x": 9127.232425685219, "y": -2748.522576550722}, {"x": 9127.587800101956, "y": -2748.1743803238896}, {"x": 9127.942985594003, "y": -2747.8259913752117}, {"x": 9128.297997893282, "y": -2747.477425937886}, {"x": 9128.652852756864, "y": -2747.128700219105}, {"x": 9129.007565960363, "y": -2746.77983040636}, {"x": 9129.362153304543, "y": -2746.4308326682276}, {"x": 9129.716630604737, "y": -2746.0817231535843}, {"x": 9130.071013689512, "y": -2745.7325179986965}, {"x": 9130.425318403333, "y": -2745.383233326435}, {"x": 9130.77956060125, "y": -2745.033885248636}, {"x": 9131.13375614493, "y": -2744.6844898692575}, {"x": 9131.487920906644, "y": -2744.3350632851625}, {"x": 9131.842070757326, "y": -2743.9856215892755}, {"x": 9132.196221574537, "y": -2743.6361808721563}, {"x": 9132.550389233189, "y": -2743.286757225152}, {"x": 9132.904589608193, "y": -2742.937366741975}, {"x": 9133.258838566517, "y": -2742.5880255202774}, {"x": 9133.613151971156, "y": -2742.238749664804}, {"x": 9133.96754567584, "y": -2741.88955528818}, {"x": 9134.322035522377, "y": -2741.540458514063}, {"x": 9134.676637339338, "y": -2741.1914754810855}, {"x": 9135.021101836277, "y": -2740.852707743007}, {"x": 9135.365684002192, "y": -2740.5140596966903}, {"x": 9135.710381007666, "y": -2740.1755285453187}, {"x": 9136.055190027259, "y": -2739.8371114889237}, {"x": 9136.400108239499, "y": -2739.4988057251726}, {"x": 9136.745132822914, "y": -2739.1606084477917}, {"x": 9137.090260960007, "y": -2738.822516849721}, {"x": 9137.435489834601, "y": -2738.4845281191706}, {"x": 9137.780816637143, "y": -2738.1466394443505}, {"x": 9138.12623855543, "y": -2737.8088480095316}, {"x": 9138.471752782552, "y": -2737.47115099662}, {"x": 9138.817356512931, "y": -2737.1335455859453}, {"x": 9139.163046944954, "y": -2736.7960289538973}, {"x": 9139.508821275684, "y": -2736.458598277654}, {"x": 9139.85467670881, "y": -2736.1212507288765}, {"x": 9140.200610445369, "y": -2735.7839834808024}, {"x": 9140.546619691691, "y": -2735.4467937011527}, {"x": 9140.892701655437, "y": -2735.1096785592244}, {"x": 9141.23885354691, "y": -2734.7726352195864}, {"x": 9141.58507257377, "y": -2734.435660846808}, {"x": 9141.93135595029, "y": -2734.098752603093}, {"x": 9142.277700892075, "y": -2733.7619076490705}, {"x": 9142.624104612076, "y": -2733.425123144581}, {"x": 9142.97056432987, "y": -2733.088396247889}, {"x": 9143.317077262378, "y": -2732.7517241141054}, {"x": 9143.663640631825, "y": -2732.415103899132}, {"x": 9144.010251657783, "y": -2732.078532757292}, {"x": 9144.356907562475, "y": -2731.7420078405457}, {"x": 9144.693069997007, "y": -2731.415751068205}, {"x": 9145.029272008927, "y": -2731.0895350817837}, {"x": 9145.36551359426, "y": -2730.763359885223}, {"x": 9145.701794749037, "y": -2730.437225484039}, {"x": 9146.038115465311, "y": -2730.1111318837484}, {"x": 9146.374475741757, "y": -2729.785079087503}, {"x": 9146.710875570434, "y": -2729.4590671008195}, {"x": 9147.04731494737, "y": -2729.1330959292145}, {"x": 9147.38379386859, "y": -2728.807165576628}, {"x": 9147.720312327476, "y": -2728.481276048576}, {"x": 9148.07567981433, "y": -2728.1399965227492}, {"x": 9148.438698416745, "y": -2727.80689503137}, {"x": 9148.815011926625, "y": -2727.488931256104}, {"x": 9149.208128004331, "y": -2727.1920368543515}, {"x": 9149.619600549497, "y": -2726.92119556451}, {"x": 9150.049339004954, "y": -2726.6804175830725}, {"x": 9150.49598690651, "y": -2726.472701370627}, {"x": 9150.95731806592, "y": -2726.300042769684}, {"x": 9151.430604786765, "y": -2726.1635195939866}, {"x": 9151.912922145044, "y": -2726.0634545160765}], "type": "road_edge"}, {"geometry": [{"x": 8996.72114051998, "y": -2863.857100025673}, {"x": 8996.351369756278, "y": -2864.1793323967836}, {"x": 8995.981051260462, "y": -2864.5009351303765}, {"x": 8995.61018610763, "y": -2864.8219072965444}, {"x": 8995.238775368905, "y": -2865.142247963802}, {"x": 8994.866820120715, "y": -2865.4619562069706}, {"x": 8994.494321439477, "y": -2865.7810310992945}, {"x": 8994.121280404264, "y": -2866.0994717171698}, {"x": 8993.747698094146, "y": -2866.4172771393573}, {"x": 8993.373575592164, "y": -2866.734446444618}, {"x": 8992.998913978716, "y": -2867.050978715652}, {"x": 8992.623714340813, "y": -2867.366873035949}, {"x": 8992.247977764146, "y": -2867.6821284905745}, {"x": 8991.871705337053, "y": -2867.996744166957}, {"x": 8991.49489814655, "y": -2868.3107191548906}, {"x": 8991.117557286268, "y": -2868.6240525449566}, {"x": 8990.739683847198, "y": -2868.936743429313}, {"x": 8990.365289050102, "y": -2869.245493703449}, {"x": 8989.990386896654, "y": -2869.55362770316}, {"x": 8989.614990261558, "y": -2869.8611590712985}, {"x": 8989.239111946688, "y": -2870.1681015090335}, {"x": 8988.862764690373, "y": -2870.474468775063}, {"x": 8988.485961166061, "y": -2870.7802746832476}, {"x": 8988.108713979676, "y": -2871.0855331018247}, {"x": 8987.731035678886, "y": -2871.3902579518317}, {"x": 8987.352938747805, "y": -2871.694463204741}, {"x": 8986.97443561097, "y": -2871.998162880886}, {"x": 8986.595538638627, "y": -2872.301371049458}, {"x": 8986.216260140127, "y": -2872.604101826144}, {"x": 8985.836612373176, "y": -2872.9063693707635}, {"x": 8985.456607542523, "y": -2873.208187887266}, {"x": 8985.076257799956, "y": -2873.5095716205797}, {"x": 8984.695575248275, "y": -2873.8105348574018}, {"x": 8984.31457194129, "y": -2874.1110919230414}, {"x": 8983.933259886473, "y": -2874.4112571782734}, {"x": 8983.551651048925, "y": -2874.7110450240607}, {"x": 8983.169757346086, "y": -2875.0104698921027}, {"x": 8982.787590656995, "y": -2875.309546250348}, {"x": 8982.405162818326, "y": -2875.608288596692}, {"x": 8982.022485628357, "y": -2875.9067114605527}, {"x": 8981.639570850937, "y": -2876.2048293989296}, {"x": 8981.256430214173, "y": -2876.502656999556}, {"x": 8980.873075409096, "y": -2876.80020887302}, {"x": 8980.481395810964, "y": -2877.1037859699604}, {"x": 8980.089503405605, "y": -2877.4070882917117}, {"x": 8979.697396555213, "y": -2877.7101133220062}, {"x": 8979.305073628606, "y": -2878.0128585382718}, {"x": 8978.912532997248, "y": -2878.3153214155714}, {"x": 8978.519773040547, "y": -2878.6174994242406}, {"x": 8978.126792139237, "y": -2878.9193900330383}, {"x": 8977.733588684641, "y": -2879.2209907036313}, {"x": 8977.340161068085, "y": -2879.522298896898}, {"x": 8976.946507691484, "y": -2879.823312067412}, {"x": 8976.552626958079, "y": -2880.124027667384}, {"x": 8976.158517277732, "y": -2880.4244431442944}, {"x": 8975.76417706825, "y": -2880.724555940897}, {"x": 8975.369604748756, "y": -2881.024363498369}, {"x": 8974.974798747651, "y": -2881.3238632523708}, {"x": 8974.579757498628, "y": -2881.623052633046}, {"x": 8974.184479440677, "y": -2881.921929068964}, {"x": 8973.788963015431, "y": -2882.2204899839635}, {"x": 8973.393206676446, "y": -2882.518732796368}, {"x": 8972.997208878602, "y": -2882.8166549221373}, {"x": 8972.600968084715, "y": -2883.114253772502}, {"x": 8972.204482761581, "y": -2883.411526753964}, {"x": 8971.80775138526, "y": -2883.7084712682986}, {"x": 8971.41077243579, "y": -2884.0050847157027}, {"x": 8971.013544398495, "y": -2884.301364488494}, {"x": 8970.616065767974, "y": -2884.5973079782025}, {"x": 8970.218335044123, "y": -2884.892912569265}, {"x": 8969.820350729482, "y": -2885.1881756429657}, {"x": 8969.422111338508, "y": -2885.483094576649}, {"x": 8969.023615388309, "y": -2885.777666742931}, {"x": 8968.624861402608, "y": -2886.0718895096998}, {"x": 8968.225847915726, "y": -2886.365760240902}, {"x": 8967.826573461982, "y": -2886.6592762957575}, {"x": 8967.427036588928, "y": -2886.9524350287566}, {"x": 8967.027235845453, "y": -2887.2452337912378}, {"x": 8966.627169791027, "y": -2887.537669928235}, {"x": 8966.226836990421, "y": -2887.829740780842}, {"x": 8965.826236013703, "y": -2888.1214436870005}, {"x": 8965.425365438881, "y": -2888.412775979135}, {"x": 8965.02422385456, "y": -2888.703734984155}, {"x": 8964.622809850665, "y": -2888.994318025028}], "type": "road_line"}, {"geometry": [{"x": 8989.668239116101, "y": -2861.749824378573}, {"x": 8989.291923452052, "y": -2862.065882271254}, {"x": 8988.91527484384, "y": -2862.381543304442}, {"x": 8988.5382937072, "y": -2862.6968071274505}, {"x": 8988.160980464501, "y": -2863.0116733895948}, {"x": 8987.783335532802, "y": -2863.3261417409767}, {"x": 8987.405359331813, "y": -2863.6402118332753}, {"x": 8987.027052282574, "y": -2863.953883315805}, {"x": 8986.648414804795, "y": -2864.267155841032}, {"x": 8986.26944731819, "y": -2864.580029061423}, {"x": 8985.890150245115, "y": -2864.892502627868}, {"x": 8985.510524007934, "y": -2865.204576194411}, {"x": 8985.130569026356, "y": -2865.5162494135175}, {"x": 8984.750285722745, "y": -2865.827521940019}, {"x": 8984.369674522104, "y": -2866.1383934263813}, {"x": 8983.988735844148, "y": -2866.4488635282237}, {"x": 8983.60747011521, "y": -2866.7589319003773}, {"x": 8983.225877756324, "y": -2867.06859819846}, {"x": 8982.843959192498, "y": -2867.377862078092}, {"x": 8982.461714848743, "y": -2867.686723195679}, {"x": 8982.079145148738, "y": -2867.995181207629}, {"x": 8981.696250517496, "y": -2868.3032357727116}, {"x": 8981.31303138267, "y": -2868.6108865465467}, {"x": 8980.929488166621, "y": -2868.918133189481}, {"x": 8980.54562129833, "y": -2869.2249753579217}, {"x": 8980.161431202803, "y": -2869.531412713004}, {"x": 8979.776918307698, "y": -2869.8374449127114}, {"x": 8979.392083040671, "y": -2870.14307161739}, {"x": 8979.006925828053, "y": -2870.4482924873873}, {"x": 8978.6214470975, "y": -2870.7531071838393}, {"x": 8978.235647279316, "y": -2871.0575153686686}, {"x": 8977.84952680116, "y": -2871.3615167022226}, {"x": 8977.463086092008, "y": -2871.6651108472124}, {"x": 8977.070746608622, "y": -2871.972666334641}, {"x": 8976.678079220266, "y": -2872.2798030498475}, {"x": 8976.285085106632, "y": -2872.586521583875}, {"x": 8975.891765448743, "y": -2872.8928225317063}, {"x": 8975.498121423643, "y": -2873.198706492266}, {"x": 8975.10415420441, "y": -2873.5041740660536}, {"x": 8974.709864964116, "y": -2873.809225856721}, {"x": 8974.315254869218, "y": -2874.113862469497}, {"x": 8973.92032508882, "y": -2874.4180845151254}, {"x": 8973.525076785403, "y": -2874.7218926043515}, {"x": 8973.129511118805, "y": -2875.0252873518602}, {"x": 8972.733629250182, "y": -2875.328269375488}, {"x": 8972.33743233275, "y": -2875.6308392954375}, {"x": 8971.940921521049, "y": -2875.9329977334846}, {"x": 8971.54409796432, "y": -2876.234745315348}, {"x": 8971.146962813133, "y": -2876.536082669897}, {"x": 8970.749517210108, "y": -2876.8370104275787}, {"x": 8970.351762299193, "y": -2877.13752922199}, {"x": 8969.953699220365, "y": -2877.437639689095}, {"x": 8969.555329109622, "y": -2877.7373424672187}, {"x": 8969.156653104295, "y": -2878.036638198629}, {"x": 8968.757672336415, "y": -2878.335527527169}, {"x": 8968.358387934037, "y": -2878.634011099833}, {"x": 8967.958801025223, "y": -2878.9320895651936}, {"x": 8967.558912732735, "y": -2879.2297635749737}, {"x": 8967.158724181983, "y": -2879.5270337848374}, {"x": 8966.758236487787, "y": -2879.823900850449}, {"x": 8966.357450771584, "y": -2880.1203654322}, {"x": 8965.956368142897, "y": -2880.416428192059}, {"x": 8965.554989716547, "y": -2880.7120897951468}, {"x": 8965.153316599406, "y": -2881.0073509073723}, {"x": 8964.751349898348, "y": -2881.30221220016}, {"x": 8964.349090717602, "y": -2881.5966743441472}, {"x": 8963.946540158744, "y": -2881.8907380146993}, {"x": 8963.54369931806, "y": -2882.184403889545}, {"x": 8963.140569293153, "y": -2882.4776726472037}, {"x": 8962.737151177658, "y": -2882.7705449709197}, {"x": 8962.333446062563, "y": -2883.0630215447272}, {"x": 8961.929455034882, "y": -2883.3551030558133}, {"x": 8961.525179181628, "y": -2883.646790192939}, {"x": 8961.12061958452, "y": -2883.9380836495966}, {"x": 8960.715777325278, "y": -2884.228984118487}, {"x": 8960.310653481647, "y": -2884.5194922978303}, {"x": 8959.907804608178, "y": -2884.8077814094736}], "type": "road_line"}, {"geometry": [{"x": 8970.302261483477, "y": -2894.6942316990876}, {"x": 8970.701125543615, "y": -2894.403929396635}, {"x": 8971.099636079138, "y": -2894.1131419572666}, {"x": 8971.497952683882, "y": -2893.821750869732}, {"x": 8971.89591610163, "y": -2893.529877577644}, {"x": 8972.293529163126, "y": -2893.237527154518}, {"x": 8972.690794714996, "y": -2892.944704659683}, {"x": 8973.087715621077, "y": -2892.651415141436}, {"x": 8973.48429476507, "y": -2892.3576636362527}, {"x": 8973.880535043916, "y": -2892.063455171153}, {"x": 8974.276439371766, "y": -2891.768794760547}, {"x": 8974.672010681308, "y": -2891.4736874062364}, {"x": 8975.06725191582, "y": -2891.178138102142}, {"x": 8975.462166041094, "y": -2890.8821518287873}, {"x": 8975.856756034831, "y": -2890.585733556452}, {"x": 8976.251024890626, "y": -2890.28888824517}, {"x": 8976.644975617957, "y": -2889.9916208423674}, {"x": 8977.038611242197, "y": -2889.6939362868006}, {"x": 8977.431934801953, "y": -2889.395839506194}, {"x": 8977.824949350395, "y": -2889.0973354172384}, {"x": 8978.217657959238, "y": -2888.798428926381}, {"x": 8978.610063708133, "y": -2888.499124930611}, {"x": 8979.002169697915, "y": -2888.199428315097}, {"x": 8979.393979038694, "y": -2887.899343955552}, {"x": 8979.78549485646, "y": -2887.5988767190197}, {"x": 8980.176720289126, "y": -2887.29803146151}, {"x": 8980.567658489166, "y": -2886.996813028002}, {"x": 8980.95831262494, "y": -2886.695226256381}, {"x": 8981.34868587408, "y": -2886.3932759727104}, {"x": 8981.73878142878, "y": -2886.0909669951757}, {"x": 8982.128602493149, "y": -2885.788304130928}, {"x": 8982.518152285864, "y": -2885.4852921784486}, {"x": 8982.907434036191, "y": -2885.1819359275532}, {"x": 8983.29645098664, "y": -2884.8782401578096}, {"x": 8983.685206392953, "y": -2884.5742096416957}, {"x": 8984.073703518823, "y": -2884.2698491406545}, {"x": 8984.46194564383, "y": -2883.9651634082497}, {"x": 8984.849936058146, "y": -2883.6601571901638}, {"x": 8985.237678061208, "y": -2883.3548352210473}, {"x": 8985.625174965699, "y": -2883.049202229245}, {"x": 8986.012430096212, "y": -2882.7432629352224}, {"x": 8986.399446785288, "y": -2882.4370220484116}, {"x": 8986.786228378709, "y": -2882.1304842719396}, {"x": 8987.172778230195, "y": -2881.823654301842}, {"x": 8987.559099708036, "y": -2881.5165368231214}, {"x": 8987.94519618714, "y": -2881.209136516839}, {"x": 8988.331071053008, "y": -2880.9014580530247}, {"x": 8988.716727701732, "y": -2880.593506094615}, {"x": 8989.102169539996, "y": -2880.2852852998185}, {"x": 8989.487399981106, "y": -2879.97680031581}, {"x": 8989.872422450282, "y": -2879.6680557842496}, {"x": 8990.257240382012, "y": -2879.3590563404914}, {"x": 8990.641857217406, "y": -2879.0498066104337}, {"x": 8991.026276409488, "y": -2878.7403112152456}, {"x": 8991.41050141658, "y": -2878.430574768217}, {"x": 8991.797454023445, "y": -2878.118242171876}, {"x": 8992.18420860171, "y": -2877.805664380087}, {"x": 8992.570760735793, "y": -2877.492836256291}, {"x": 8992.95710600614, "y": -2877.179752676538}, {"x": 8993.34323997996, "y": -2876.866408521605}, {"x": 8993.729158215187, "y": -2876.552798684092}, {"x": 8994.114856255193, "y": -2876.2389180629016}, {"x": 8994.500329638058, "y": -2875.9247615679697}, {"x": 8994.885573887297, "y": -2875.6103241171136}, {"x": 8995.270584515827, "y": -2875.295600639182}, {"x": 8995.655357024656, "y": -2874.9805860716933}, {"x": 8996.03988690287, "y": -2874.6652753624107}, {"x": 8996.42416962897, "y": -2874.349663468554}, {"x": 8996.808200669533, "y": -2874.033745357586}, {"x": 8997.191975475254, "y": -2873.7175160095817}, {"x": 8997.57548948888, "y": -2873.4009704124937}, {"x": 8997.958738135947, "y": -2873.084103566885}, {"x": 8998.341716834047, "y": -2872.766910483563}, {"x": 8998.724420983564, "y": -2872.4493861843684}, {"x": 8999.106845972958, "y": -2872.131525702962}, {"x": 8999.488987177452, "y": -2871.8133240864017}, {"x": 8999.870839959034, "y": -2871.4947763896266}, {"x": 9000.252399663796, "y": -2871.1758776841243}, {"x": 9000.63366162592, "y": -2870.8566230500514}, {"x": 9001.014621165017, "y": -2870.5370075817495}, {"x": 9001.395273586142, "y": -2870.2170263853814}, {"x": 9001.775614177135, "y": -2869.8966745820817}, {"x": 9002.155638213915, "y": -2869.5759473032313}, {"x": 9002.53534095652, "y": -2869.2548396951834}, {"x": 9002.914717651742, "y": -2868.9333469176886}, {"x": 9003.293763526517, "y": -2868.6114641438935}, {"x": 9003.672473797187, "y": -2868.289186559555}, {"x": 9004.050843660234, "y": -2867.966509367767}, {"x": 9004.428868297577, "y": -2867.6434277826547}, {"x": 9004.806542877892, "y": -2867.3199370356824}, {"x": 9005.183862547348, "y": -2866.9960323701343}, {"x": 9005.56082244285, "y": -2866.6717090466323}, {"x": 9005.937417680114, "y": -2866.346962340771}, {"x": 9006.313643357644, "y": -2866.02178754233}, {"x": 9006.689494560705, "y": -2865.6961799584274}, {"x": 9007.064966352056, "y": -2865.370134909576}, {"x": 9007.440053783861, "y": -2865.043647734416}, {"x": 9007.814751883127, "y": -2864.716713787348}, {"x": 9008.189055666271, "y": -2864.3893284401092}, {"x": 9008.562960127201, "y": -2864.061487079411}, {"x": 9008.936460243938, "y": -2863.7331851093018}, {"x": 9009.309550974642, "y": -2863.404417953531}, {"x": 9009.682227260259, "y": -2863.0751810492447}, {"x": 9010.054484023201, "y": -2862.7454698556558}, {"x": 9010.42631616867, "y": -2862.4152798453733}, {"x": 9010.796933316722, "y": -2862.0853098481584}, {"x": 9011.167127197792, "y": -2861.7548650289136}, {"x": 9011.536902476377, "y": -2861.4239518237055}, {"x": 9011.906263843453, "y": -2861.0925766496866}, {"x": 9012.275216007209, "y": -2860.760745906673}, {"x": 9012.643763704962, "y": -2860.4284659732025}, {"x": 9013.011911691243, "y": -2860.0957432104756}, {"x": 9013.37966474441, "y": -2859.76258396078}, {"x": 9013.747027664014, "y": -2859.428994548278}, {"x": 9014.114005270781, "y": -2859.0949812797935}, {"x": 9014.480602405303, "y": -2858.760550443239}, {"x": 9014.846823929352, "y": -2858.4257083091884}, {"x": 9015.212674725892, "y": -2858.0904611308783}, {"x": 9015.578159695087, "y": -2857.7548151434207}, {"x": 9015.943283758297, "y": -2857.418776566954}, {"x": 9016.308051856735, "y": -2857.0823516027026}, {"x": 9016.67246894883, "y": -2856.7455464369195}, {"x": 9017.036540012867, "y": -2856.4083672385186}, {"x": 9017.400270045671, "y": -2856.0708201598663}, {"x": 9017.763664058632, "y": -2855.7329113391424}, {"x": 9018.126727086965, "y": -2855.3946468971903}, {"x": 9018.489464176488, "y": -2855.0560329390923}, {"x": 9018.851880394193, "y": -2854.7170755565335}, {"x": 9019.213980822968, "y": -2854.377780825437}, {"x": 9019.575770562906, "y": -2854.038154805179}, {"x": 9019.937254727347, "y": -2853.6982035433125}, {"x": 9020.298438448162, "y": -2853.357933070054}, {"x": 9020.659326870466, "y": -2853.0173494053756}, {"x": 9021.019925157905, "y": -2852.676458551124}, {"x": 9021.380238486048, "y": -2852.3352664989006}, {"x": 9021.740272046347, "y": -2851.9937792245464}, {"x": 9022.100031044822, "y": -2851.652002691293}, {"x": 9022.459520699402, "y": -2851.309942851339}, {"x": 9022.818746243913, "y": -2850.9676056419107}, {"x": 9023.177712925415, "y": -2850.624996988413}, {"x": 9023.536426004212, "y": -2850.2821228036414}, {"x": 9023.894890751197, "y": -2849.9389889893596}, {"x": 9024.253112451828, "y": -2849.5956014355097}, {"x": 9024.611096404806, "y": -2849.2519660194253}, {"x": 9024.968847918097, "y": -2848.908088608195}, {"x": 9025.326372312906, "y": -2848.5639750578753}, {"x": 9025.683674922355, "y": -2848.2196312134884}, {"x": 9026.040761090164, "y": -2847.875062909025}, {"x": 9026.397636169311, "y": -2847.5302759690185}, {"x": 9026.754305524699, "y": -2847.1852762085455}, {"x": 9027.11077453314, "y": -2846.840069430863}, {"x": 9027.467048578072, "y": -2846.494661431346}, {"x": 9027.823133054846, "y": -2846.1490579967003}, {"x": 9028.179033366756, "y": -2845.8032649018132}, {"x": 9028.534754929016, "y": -2845.457287916842}, {"x": 9028.890303162132, "y": -2845.111132799335}, {"x": 9029.245683497205, "y": -2844.7648053013245}, {"x": 9029.600901373278, "y": -2844.4183111661746}, {"x": 9029.95596223734, "y": -2844.0716561293684}, {"x": 9030.310871542999, "y": -2843.7248459185075}, {"x": 9030.665634754454, "y": -2843.377886255679}, {"x": 9031.020257339878, "y": -2843.030782852724}, {"x": 9031.374744774064, "y": -2842.683541418331}, {"x": 9031.729102542397, "y": -2842.3361676533095}, {"x": 9032.083336132906, "y": -2841.988667251375}, {"x": 9032.43745104157, "y": -2841.6410459015146}, {"x": 9032.791452767013, "y": -2841.2933092864128}, {"x": 9033.145346818452, "y": -2840.9454630840237}, {"x": 9033.499138706427, "y": -2840.5975129659973}, {"x": 9033.8528339481, "y": -2840.2494646016207}, {"x": 9034.206438065925, "y": -2839.901323652299}, {"x": 9034.559956583686, "y": -2839.553095776286}, {"x": 9034.913395031783, "y": -2839.204786629471}, {"x": 9035.26675894591, "y": -2838.856401861439}, {"x": 9035.620053863091, "y": -2838.5079471201975}, {"x": 9035.973285322994, "y": -2838.1594280490276}, {"x": 9036.326108283953, "y": -2837.81119599631}, {"x": 9036.678877866018, "y": -2837.4629098670803}, {"x": 9037.03159849139, "y": -2837.114574153268}, {"x": 9037.384274582273, "y": -2836.766193347589}, {"x": 9037.736910562193, "y": -2836.4177719396075}, {"x": 9038.089510858648, "y": -2836.0693144180987}, {"x": 9038.442079897814, "y": -2835.7208252694754}, {"x": 9038.79462211116, "y": -2835.3723089801492}, {"x": 9039.147141924857, "y": -2835.0237700341672}, {"x": 9039.49964377303, "y": -2834.6752129155775}, {"x": 9039.852132084496, "y": -2834.3266421076396}, {"x": 9040.204611293375, "y": -2833.978062093613}, {"x": 9040.557085829812, "y": -2833.6294773559694}, {"x": 9040.90956012793, "y": -2833.2808923756043}, {"x": 9041.26203861787, "y": -2832.9323116365645}, {"x": 9041.614525733752, "y": -2832.583739618958}, {"x": 9041.967025908372, "y": -2832.235180807621}, {"x": 9042.31954357055, "y": -2831.886639685024}, {"x": 9042.672083151758, "y": -2831.538120734427}, {"x": 9043.024649083465, "y": -2831.189628440666}, {"x": 9043.377245794494, "y": -2830.8411672893644}, {"x": 9043.729877709697, "y": -2830.4927417685103}, {"x": 9044.082549259216, "y": -2830.1443563653033}, {"x": 9044.435264863932, "y": -2829.7960155693077}, {"x": 9044.78802895002, "y": -2829.447723872451}, {"x": 9045.140845938358, "y": -2829.099485767451}, {"x": 9045.493720247174, "y": -2828.751305750175}, {"x": 9045.846656293375, "y": -2828.4031883172797}, {"x": 9046.199658492545, "y": -2828.0551379693625}, {"x": 9046.55273125497, "y": -2827.7071592085954}, {"x": 9046.905878990932, "y": -2827.3592565395165}, {"x": 9047.259106108075, "y": -2827.0114344698145}, {"x": 9047.612417007413, "y": -2826.6636975119072}, {"x": 9047.965816091288, "y": -2826.3160501782127}, {"x": 9048.3193077541, "y": -2825.968496986665}, {"x": 9048.672896390246, "y": -2825.62104245835}, {"x": 9049.026586388829, "y": -2825.2736911182947}, {"x": 9049.380382134977, "y": -2824.92644749389}, {"x": 9049.73428800985, "y": -2824.5793161188312}, {"x": 9050.08830839063, "y": -2824.232301529177}, {"x": 9050.442447649211, "y": -2823.8854082665043}], "type": "road_edge"}, {"geometry": [{"x": 8967.603317380092, "y": -2891.764070277332}, {"x": 8968.006421725773, "y": -2891.4735019353084}, {"x": 8968.410579695561, "y": -2891.181505195577}, {"x": 8968.81441938595, "y": -2890.88906840528}, {"x": 8969.217940908155, "y": -2890.5961927244384}, {"x": 8969.621144376044, "y": -2890.3028793114972}, {"x": 8970.024029906126, "y": -2890.0091293233254}, {"x": 8970.426597620215, "y": -2889.7149439160025}, {"x": 8970.82884764012, "y": -2889.420324243245}, {"x": 8971.230780090293, "y": -2889.1252714579814}, {"x": 8971.632395103139, "y": -2888.829786711564}, {"x": 8972.033692807086, "y": -2888.5338711545564}, {"x": 8972.434673339834, "y": -2888.237525935947}, {"x": 8972.83533683643, "y": -2887.940752201571}, {"x": 8973.235683439867, "y": -2887.6435510980527}, {"x": 8973.635713293139, "y": -2887.3459237688635}, {"x": 8974.035426543212, "y": -2887.0478713582625}, {"x": 8974.434823339698, "y": -2886.7493950065696}, {"x": 8974.83390383486, "y": -2886.4504958541042}, {"x": 8975.232668184932, "y": -2886.1511750396094}, {"x": 8975.631116546143, "y": -2885.8514337002516}, {"x": 8976.029249082676, "y": -2885.551272971623}, {"x": 8976.427065956059, "y": -2885.250693987737}, {"x": 8976.82456733444, "y": -2884.949697881034}, {"x": 8977.221753388618, "y": -2884.6482857847395}, {"x": 8977.618624289391, "y": -2884.3464588265642}, {"x": 8978.01518021285, "y": -2884.0442181357953}, {"x": 8978.411421339064, "y": -2883.741564840142}, {"x": 8978.807347846774, "y": -2883.4385000641637}, {"x": 8979.202959922664, "y": -2883.1350249324173}, {"x": 8979.598257752097, "y": -2882.831140567098}, {"x": 8979.993241524407, "y": -2882.526848090399}, {"x": 8980.3879114329, "y": -2882.222148620575}, {"x": 8980.782267672204, "y": -2881.9170432766664}, {"x": 8981.176310442248, "y": -2881.6115331761393}, {"x": 8981.570039941633, "y": -2881.3056194333076}, {"x": 8981.963456375579, "y": -2880.9993031616964}, {"x": 8982.356559949309, "y": -2880.692585474831}, {"x": 8982.74935087334, "y": -2880.385467482297}, {"x": 8983.141829358194, "y": -2880.0779502952546}, {"x": 8983.533995618356, "y": -2879.770035020137}, {"x": 8983.925849872292, "y": -2879.4617227633776}, {"x": 8984.317392339784, "y": -2879.1530146314085}, {"x": 8984.708623244594, "y": -2878.843911725935}, {"x": 8985.099542809156, "y": -2878.534415150237}, {"x": 8985.49015126517, "y": -2878.224526005231}, {"x": 8985.880448840366, "y": -2877.9142453878935}, {"x": 8986.270435771745, "y": -2877.6035743983525}, {"x": 8986.660112292331, "y": -2877.292514130432}, {"x": 8987.049478643094, "y": -2876.981065680321}, {"x": 8987.438535063682, "y": -2876.669230141054}, {"x": 8987.82728180036, "y": -2876.3570086033037}, {"x": 8988.215719099395, "y": -2876.0444021577414}, {"x": 8988.603847209703, "y": -2875.7314118926743}, {"x": 8988.991666382843, "y": -2875.418038895622}, {"x": 8989.37917687435, "y": -2875.1042842525285}, {"x": 8989.766378941085, "y": -2874.790149046972}, {"x": 8990.153272843876, "y": -2874.4756343617446}, {"x": 8990.539858843556, "y": -2874.1607412780604}, {"x": 8990.92613720625, "y": -2873.845470875559}, {"x": 8991.312108199407, "y": -2873.529824232303}, {"x": 8991.697772094452, "y": -2873.2138024247784}, {"x": 8992.083129161483, "y": -2872.8974065286848}, {"x": 8992.468179678543, "y": -2872.580637617356}, {"x": 8992.852923921026, "y": -2872.2634967633385}, {"x": 8993.237362170947, "y": -2871.9459850368144}, {"x": 8993.621494711642, "y": -2871.628103507178}, {"x": 8994.005321826455, "y": -2871.309853241459}, {"x": 8994.38884380534, "y": -2870.991235306688}, {"x": 8994.77206093826, "y": -2870.672250766742}, {"x": 8995.154973516494, "y": -2870.352900685499}, {"x": 8995.537581837945, "y": -2870.0331861236846}, {"x": 8995.919886199195, "y": -2869.7131081420243}, {"x": 8996.29946824613, "y": -2869.3946982733682}, {"x": 8996.678749735576, "y": -2869.0759304327075}, {"x": 8997.057729938, "y": -2868.756804437214}, {"x": 8997.436408119898, "y": -2868.437320101694}, {"x": 8997.814783546448, "y": -2868.117477246469}, {"x": 8998.192855482817, "y": -2867.797275691076}, {"x": 8998.570623194182, "y": -2867.476715256624}, {"x": 8998.948085943066, "y": -2867.1557957658015}, {"x": 8999.325242991994, "y": -2866.834517042871}, {"x": 8999.702093600845, "y": -2866.5128789136716}, {"x": 9000.07863702817, "y": -2866.190881206407}, {"x": 9000.454872535169, "y": -2865.8685237477043}, {"x": 9000.830799379073, "y": -2865.54580636892}, {"x": 9001.206416815787, "y": -2865.2227289021966}, {"x": 9001.581724101216, "y": -2864.8992911796786}, {"x": 9001.956720489938, "y": -2864.5754930358735}, {"x": 9002.331405236535, "y": -2864.251334306866}, {"x": 9002.705777591618, "y": -2863.9268148311035}, {"x": 9003.07983680712, "y": -2863.6019344470346}, {"x": 9003.453582133645, "y": -2863.276692994684}, {"x": 9003.827012820484, "y": -2862.951090316439}, {"x": 9004.200128115594, "y": -2862.6251262562655}, {"x": 9004.572927266936, "y": -2862.2988006589158}, {"x": 9004.94540952115, "y": -2861.972113370718}, {"x": 9005.31757412222, "y": -2861.6450642395776}, {"x": 9005.689420314138, "y": -2861.3176531157637}, {"x": 9006.060947340891, "y": -2860.989879850333}, {"x": 9006.432154443823, "y": -2860.661744295131}, {"x": 9006.80304086427, "y": -2860.333246304367}, {"x": 9007.173605842252, "y": -2860.0043857346145}, {"x": 9007.543848616462, "y": -2859.6751624424473}, {"x": 9007.913768425591, "y": -2859.3455762868025}, {"x": 9008.283364505685, "y": -2859.015627128194}, {"x": 9008.652636091463, "y": -2858.6853148279242}, {"x": 9009.021582420295, "y": -2858.3546392496587}, {"x": 9009.39020272293, "y": -2858.02360025864}, {"x": 9009.758496235412, "y": -2857.6921977216857}, {"x": 9010.126462187165, "y": -2857.360431506403}, {"x": 9010.49409980894, "y": -2857.0283014819734}, {"x": 9010.861408331482, "y": -2856.6958075207326}, {"x": 9011.228386981573, "y": -2856.3629494950146}, {"x": 9011.595034989956, "y": -2856.02972727873}, {"x": 9011.961351579437, "y": -2855.6961407489425}, {"x": 9012.32733597812, "y": -2855.3621897819266}, {"x": 9012.69298741013, "y": -2855.0278742578976}, {"x": 9013.058305098271, "y": -2854.693194057071}, {"x": 9013.423288266677, "y": -2854.358149062026}, {"x": 9013.787936134175, "y": -2854.022739156918}, {"x": 9014.152247922246, "y": -2853.6869642266906}, {"x": 9014.51622285105, "y": -2853.35082415944}, {"x": 9014.879860139417, "y": -2853.014318843262}, {"x": 9015.243159003532, "y": -2852.677448168616}, {"x": 9015.604643677718, "y": -2852.3415859436745}, {"x": 9015.96579737787, "y": -2852.0053678295653}, {"x": 9016.326625599966, "y": -2851.6688004207545}, {"x": 9016.687133858519, "y": -2851.331890295158}, {"x": 9017.047327686576, "y": -2850.9946440125677}, {"x": 9017.407212633078, "y": -2850.657068120166}, {"x": 9017.766794269464, "y": -2850.3191691454335}, {"x": 9018.126078176452, "y": -2849.9809536024545}, {"x": 9018.485069958586, "y": -2849.6424279903395}, {"x": 9018.843775233652, "y": -2849.3035987924386}, {"x": 9019.202199635325, "y": -2848.9644724763402}, {"x": 9019.56034881184, "y": -2848.6250554986}, {"x": 9019.918228431297, "y": -2848.2853542968605}, {"x": 9020.275844172385, "y": -2847.945375299307}, {"x": 9020.633201729686, "y": -2847.6051249183647}, {"x": 9020.990306812339, "y": -2847.2646095522728}, {"x": 9021.34716514405, "y": -2846.923835588238}, {"x": 9021.70378245912, "y": -2846.58280940007}, {"x": 9022.060164510383, "y": -2846.241537349757}, {"x": 9022.416317058618, "y": -2845.9000257843163}, {"x": 9022.772245880495, "y": -2845.5582810428814}, {"x": 9023.127956763268, "y": -2845.2163094504035}, {"x": 9023.483455506115, "y": -2844.8741173208}, {"x": 9023.838747920128, "y": -2844.5317109585308}, {"x": 9024.19383982699, "y": -2844.189096656236}, {"x": 9024.548737061627, "y": -2843.8462806955226}, {"x": 9024.903445466902, "y": -2843.5032693493295}, {"x": 9025.257970896278, "y": -2843.160068880349}, {"x": 9025.612319215132, "y": -2842.8166855418194}, {"x": 9025.966496295458, "y": -2842.473125576732}, {"x": 9026.320508021168, "y": -2842.129395220199}, {"x": 9026.674360282797, "y": -2841.7855006994505}, {"x": 9027.02805898279, "y": -2841.441448232262}, {"x": 9027.381610027569, "y": -2841.097244028526}, {"x": 9027.735019334146, "y": -2840.7528942902563}, {"x": 9028.088292827479, "y": -2840.4084052147377}, {"x": 9028.441436439143, "y": -2840.0637829874345}, {"x": 9028.794456106012, "y": -2839.719033791446}, {"x": 9029.147357772901, "y": -2839.374163801203}, {"x": 9029.500147392573, "y": -2839.029179184833}, {"x": 9029.85283092176, "y": -2838.684086106522}, {"x": 9030.20541432249, "y": -2838.338890722576}, {"x": 9030.557903564737, "y": -2837.99359918536}, {"x": 9030.910304621122, "y": -2837.6482176425116}, {"x": 9031.262623468238, "y": -2837.30275223694}, {"x": 9031.614866090622, "y": -2836.957209106825}, {"x": 9031.96703847281, "y": -2836.611594386407}, {"x": 9032.319146605962, "y": -2836.265914206774}, {"x": 9032.671196483881, "y": -2835.920174695862}, {"x": 9033.023194103022, "y": -2835.5743819768786}, {"x": 9033.37514546116, "y": -2835.2285421730307}, {"x": 9033.727056562693, "y": -2834.882661402009}, {"x": 9034.078933410696, "y": -2834.5367457822936}, {"x": 9034.430782009564, "y": -2834.1908014284227}, {"x": 9034.782608368992, "y": -2833.844834455723}, {"x": 9035.134418496025, "y": -2833.4988509747927}, {"x": 9035.486218400358, "y": -2833.1528571001713}, {"x": 9035.838014091682, "y": -2832.806858940881}, {"x": 9036.189811581015, "y": -2832.460862609884}, {"x": 9036.541616876726, "y": -2832.1148742169908}, {"x": 9036.896741131864, "y": -2831.7656475370986}, {"x": 9037.251878825733, "y": -2831.4164345237004}, {"x": 9037.607029318831, "y": -2831.067234528226}, {"x": 9037.962191971661, "y": -2830.718046900527}, {"x": 9038.317366144725, "y": -2830.368870991244}, {"x": 9038.672551199848, "y": -2830.019706151806}, {"x": 9039.027746496211, "y": -2829.6705517320656}, {"x": 9039.38295139696, "y": -2829.321407081875}, {"x": 9039.738165262599, "y": -2828.9722715526627}, {"x": 9040.09338745363, "y": -2828.6231444950695}, {"x": 9040.448617330554, "y": -2828.2740252581593}, {"x": 9040.803854255197, "y": -2827.9249131925735}, {"x": 9041.159097589387, "y": -2827.575807648952}, {"x": 9041.514346693622, "y": -2827.226707977936}, {"x": 9041.869600928407, "y": -2826.8776135278013}, {"x": 9042.22485965689, "y": -2826.5285236507643}, {"x": 9042.58012223825, "y": -2826.17943769589}, {"x": 9042.935388035638, "y": -2825.8303550138194}, {"x": 9043.290656409554, "y": -2825.481274953616}, {"x": 9043.645926721823, "y": -2825.132196865921}, {"x": 9044.00119833295, "y": -2824.783120100586}, {"x": 9044.356470606082, "y": -2824.434044008253}, {"x": 9044.711742900401, "y": -2824.084967938773}, {"x": 9045.067014577728, "y": -2823.735891241211}, {"x": 9045.422285001216, "y": -2823.3868132669963}, {"x": 9045.777553531363, "y": -2823.0377333651923}, {"x": 9046.132819528677, "y": -2822.6886508856524}, {"x": 9046.48808235498, "y": -2822.3395651798046}, {"x": 9046.843341370773, "y": -2821.990475596713}, {"x": 9047.19859593921, "y": -2821.6413814862312}, {"x": 9047.553845420789, "y": -2821.292282198999}, {"x": 9047.909089177338, "y": -2820.943177084869}, {"x": 9048.264326568034, "y": -2820.594065493694}, {"x": 9048.619556956026, "y": -2820.244946776902}, {"x": 9048.974779701819, "y": -2819.895820284346}, {"x": 9049.329994167236, "y": -2819.54668536509}, {"x": 9049.68519971278, "y": -2819.1975413713512}, {"x": 9050.040395698952, "y": -2818.848387651406}, {"x": 9050.395581486255, "y": -2818.4992235574705}, {"x": 9050.750756437837, "y": -2818.1500484393973}, {"x": 9051.10591991288, "y": -2817.800861647828}, {"x": 9051.461071271882, "y": -2817.4516625334013}, {"x": 9051.816209876672, "y": -2817.102450446759}, {"x": 9052.171335086423, "y": -2816.7532247385416}, {"x": 9052.52644626429, "y": -2816.4039847601775}, {"x": 9052.881542768124, "y": -2816.0547298615193}, {"x": 9053.236623959752, "y": -2815.7054593939956}, {"x": 9053.591689198352, "y": -2815.3561727090346}, {"x": 9053.94673784575, "y": -2815.0068691580655}, {"x": 9054.301769261123, "y": -2814.6575480909405}, {"x": 9054.656782804972, "y": -2814.3082088606643}, {"x": 9055.011777836478, "y": -2813.9588508170896}, {"x": 9055.366753714816, "y": -2813.6094733132213}, {"x": 9055.721709801814, "y": -2813.260075700487}, {"x": 9056.076645456647, "y": -2812.9106573295285}, {"x": 9056.431560037172, "y": -2812.5612175533497}, {"x": 9056.786452905215, "y": -2812.2117557233796}, {"x": 9057.141323417301, "y": -2811.8622711918347}, {"x": 9057.496170935263, "y": -2811.512763310932}, {"x": 9057.850994815626, "y": -2811.1632314336757}, {"x": 9058.205794420217, "y": -2810.8136749114947}, {"x": 9058.560569104242, "y": -2810.4640930973937}, {"x": 9058.915318229527, "y": -2810.1144853451656}, {"x": 9059.270041152602, "y": -2809.764851005451}, {"x": 9059.624737232643, "y": -2809.4151894336183}, {"x": 9059.979405826183, "y": -2809.0654999818844}, {"x": 9060.334046293723, "y": -2808.7157820032544}, {"x": 9060.688657993114, "y": -2808.366034851521}, {"x": 9061.043240279567, "y": -2808.016257879688}, {"x": 9061.397792512254, "y": -2807.666450443126}, {"x": 9061.752314049034, "y": -2807.316611894838}, {"x": 9062.106804245112, "y": -2806.966741588618}, {"x": 9062.461262459661, "y": -2806.616838879834}, {"x": 9062.815555091867, "y": -2806.267035826448}, {"x": 9063.16981874011, "y": -2805.917203418705}, {"x": 9063.524057022922, "y": -2805.567345324225}, {"x": 9063.8782735575, "y": -2805.21746520984}, {"x": 9064.232471963698, "y": -2804.8675667431703}, {"x": 9064.58665586269, "y": -2804.5176535894716}, {"x": 9064.940828871675, "y": -2804.167729414787}, {"x": 9065.294994614482, "y": -2803.8177978835856}, {"x": 9065.649156710957, "y": -2803.46786266191}, {"x": 9066.003318780951, "y": -2803.117927415017}, {"x": 9066.357484446964, "y": -2802.7679958065855}, {"x": 9066.711657328846, "y": -2802.418071501872}, {"x": 9067.06584104777, "y": -2802.06815816692}, {"x": 9067.420039224913, "y": -2801.7182594669853}, {"x": 9067.774255477478, "y": -2801.3683790681116}, {"x": 9068.128493427961, "y": -2801.018520636343}, {"x": 9068.482756692241, "y": -2800.6686878400874}, {"x": 9068.837048890171, "y": -2800.318884346177}, {"x": 9069.191373636304, "y": -2799.969113825384}, {"x": 9069.545734549165, "y": -2799.619379945328}, {"x": 9069.900135241985, "y": -2799.2696863791457}, {"x": 9070.254579329321, "y": -2798.920036798397}, {"x": 9070.609070421755, "y": -2798.570434876219}, {"x": 9070.96361213119, "y": -2798.220884288112}, {"x": 9071.318208066888, "y": -2797.8713887119397}, {"x": 9071.672861834135, "y": -2797.5219518239924}, {"x": 9072.027577040864, "y": -2797.172577306862}, {"x": 9072.38235728839, "y": -2796.8232688399894}, {"x": 9072.737206180676, "y": -2796.4740301099087}, {"x": 9073.092127315063, "y": -2796.124864801576}, {"x": 9073.447124290218, "y": -2795.7757766038903}, {"x": 9073.802200699512, "y": -2795.4267692073245}, {"x": 9074.157360134992, "y": -2795.077846304716}, {"x": 9074.51260618738, "y": -2794.7290115936316}, {"x": 9074.867942443423, "y": -2794.380268770849}, {"x": 9075.223372485903, "y": -2794.031621539451}, {"x": 9075.578899896273, "y": -2793.6830736017323}, {"x": 9075.934528252013, "y": -2793.3346286662913}, {"x": 9076.290261129287, "y": -2792.986290442516}, {"x": 9076.646102097626, "y": -2792.6380626453088}, {"x": 9077.002054726572, "y": -2792.2899489911492}, {"x": 9077.358122579042, "y": -2791.94195319967}, {"x": 9077.714309216632, "y": -2791.594078996019}, {"x": 9078.070618195638, "y": -2791.24633010692}, {"x": 9078.427053069709, "y": -2790.8987102646142}, {"x": 9078.783617387202, "y": -2790.5512232037063}, {"x": 9079.140314692495, "y": -2790.2038726643177}, {"x": 9079.497148527325, "y": -2789.8566623889337}, {"x": 9079.854122428129, "y": -2789.509596126344}, {"x": 9080.211239924723, "y": -2789.1626776277035}, {"x": 9080.568504545603, "y": -2788.815910648894}, {"x": 9080.925919812642, "y": -2788.469298952102}, {"x": 9081.28348924374, "y": -2788.1228463026673}, {"x": 9081.641216350181, "y": -2787.776556470657}, {"x": 9081.999104641922, "y": -2787.430433231655}, {"x": 9082.35715761965, "y": -2787.084480365186}, {"x": 9082.715378778761, "y": -2786.7387016570783}, {"x": 9083.073771613323, "y": -2786.3931008978884}, {"x": 9083.432339608138, "y": -2786.0476818821144}, {"x": 9083.791086244035, "y": -2785.702448412921}, {"x": 9084.1500149939, "y": -2785.3574042950513}, {"x": 9084.50912932797, "y": -2785.012553341916}, {"x": 9084.868432707211, "y": -2784.6678993708647}, {"x": 9085.22429804665, "y": -2784.326920691536}, {"x": 9085.580348804795, "y": -2783.9861356379547}, {"x": 9085.93658176429, "y": -2783.645541059467}, {"x": 9086.292993719704, "y": -2783.3051338006903}, {"x": 9086.649581464275, "y": -2782.9649107007253}, {"x": 9087.006341800516, "y": -2782.624868593945}, {"x": 9087.363271534905, "y": -2782.2850043092053}, {"x": 9087.720367477898, "y": -2781.9453146714227}, {"x": 9088.07762644392, "y": -2781.6057965007844}, {"x": 9088.435045254017, "y": -2781.2664466135384}, {"x": 9088.792620733204, "y": -2780.9272618212035}, {"x": 9089.150349710475, "y": -2780.5882389289936}, {"x": 9089.508229020114, "y": -2780.2493747421245}, {"x": 9089.866255500378, "y": -2779.910666057141}, {"x": 9090.224425992172, "y": -2779.5721096705893}, {"x": 9090.5827373417, "y": -2779.233702371135}, {"x": 9090.941186401784, "y": -2778.8954409458674}, {"x": 9091.299770025244, "y": -2778.5573221779355}, {"x": 9091.6584850702, "y": -2778.2193428473356}, {"x": 9092.01732839874, "y": -2777.8814997285485}, {"x": 9092.376296876928, "y": -2777.5437895936902}, {"x": 9092.735387374796, "y": -2777.2062092117244}, {"x": 9093.09459676503, "y": -2776.868755347675}, {"x": 9093.45392192428, "y": -2776.531424764201}, {"x": 9093.813359731848, "y": -2776.1942142184457}, {"x": 9094.17290706969, "y": -2775.8571204675522}, {"x": 9094.532560826368, "y": -2775.5201402631474}, {"x": 9094.892317889136, "y": -2775.18327035607}, {"x": 9095.252175151856, "y": -2774.8465074924293}, {"x": 9095.612129509718, "y": -2774.5098484167606}, {"x": 9095.972177860564, "y": -2774.173289870445}, {"x": 9096.332317104876, "y": -2773.8368285917127}, {"x": 9096.692544147114, "y": -2773.5004613180045}, {"x": 9097.052855891738, "y": -2773.1641847820347}, {"x": 9097.413249248502, "y": -2772.827995717304}, {"x": 9097.77372112716, "y": -2772.4918908517975}, {"x": 9098.134268444084, "y": -2772.155866912712}, {"x": 9098.494888110357, "y": -2771.8199206256686}, {"x": 9098.855577047647, "y": -2771.484048713923}, {"x": 9099.21633217233, "y": -2771.1482478991566}, {"x": 9099.577150408722, "y": -2770.812514900685}, {"x": 9099.938028678496, "y": -2770.476846435461}, {"x": 9100.298963907295, "y": -2770.1412392196485}, {"x": 9100.659953022085, "y": -2769.805689969411}, {"x": 9101.020992951155, "y": -2769.4701953961844}, {"x": 9101.38208062412, "y": -2769.1347522121932}, {"x": 9101.743212973244, "y": -2768.799357128084}, {"x": 9102.10438693079, "y": -2768.464006852141}, {"x": 9102.465599430345, "y": -2768.1286980934356}, {"x": 9102.826847406817, "y": -2767.793427558675}, {"x": 9103.188127796444, "y": -2767.4581919529905}, {"x": 9103.549437536783, "y": -2767.1229879823018}, {"x": 9103.910773566717, "y": -2766.7878123509513}, {"x": 9104.272132822482, "y": -2766.4526617624947}, {"x": 9104.633512244282, "y": -2766.1175329196994}, {"x": 9104.994908772325, "y": -2765.7824225245436}, {"x": 9105.356319348142, "y": -2765.447327279007}, {"x": 9105.719240515142, "y": -2765.110854347267}, {"x": 9106.082171895576, "y": -2764.774392434148}, {"x": 9106.445112626187, "y": -2764.43794060659}, {"x": 9106.808061843718, "y": -2764.101497933897}, {"x": 9107.171018680943, "y": -2763.765063483797}, {"x": 9107.533982277253, "y": -2763.428636324805}, {"x": 9107.896951765419, "y": -2763.0922155230746}, {"x": 9108.259926283507, "y": -2762.755800148696}, {"x": 9108.62290496694, "y": -2762.4193892678218}, {"x": 9108.985886949813, "y": -2762.082981948968}, {"x": 9109.348871371518, "y": -2761.7465772590745}, {"x": 9109.711857364824, "y": -2761.4101742674447}, {"x": 9110.074844067802, "y": -2761.073772041019}, {"x": 9110.43783061587, "y": -2760.737369646737}, {"x": 9110.800816145773, "y": -2760.4009661539026}, {"x": 9111.163799791606, "y": -2760.064560628668}, {"x": 9111.526780691436, "y": -2759.7281521403365}, {"x": 9111.889757980683, "y": -2759.391739755849}, {"x": 9112.25273079477, "y": -2759.055322542932}, {"x": 9112.615698270436, "y": -2758.718899569314}, {"x": 9112.978659543103, "y": -2758.3824699035117}, {"x": 9113.34161374819, "y": -2758.046032613252}, {"x": 9113.704560022441, "y": -2757.709586766263}, {"x": 9114.067497501277, "y": -2757.3731314302727}, {"x": 9114.430425320117, "y": -2757.036665674585}, {"x": 9114.793342614379, "y": -2756.70018856614}, {"x": 9115.156248519486, "y": -2756.3636991734534}, {"x": 9115.519142170855, "y": -2756.027196565829}, {"x": 9115.882022705231, "y": -2755.690679810207}, {"x": 9116.244889255386, "y": -2755.354147976679}, {"x": 9116.607740958063, "y": -2755.0176001329737}, {"x": 9116.970576947357, "y": -2754.6810353483943}, {"x": 9117.333396358688, "y": -2754.344452691457}, {"x": 9117.696198326155, "y": -2754.0078512306777}, {"x": 9118.05898198385, "y": -2753.671230036937}, {"x": 9118.421746467193, "y": -2753.334588177174}, {"x": 9118.78449091028, "y": -2752.997924723057}, {"x": 9119.14721444721, "y": -2752.6612387423143}, {"x": 9119.50991621075, "y": -2752.324529306614}, {"x": 9119.872595334999, "y": -2751.9877954844715}, {"x": 9120.235250955375, "y": -2751.6510363459793}, {"x": 9120.597882202002, "y": -2751.314250962805}, {"x": 9120.9604882103, "y": -2750.977438403466}, {"x": 9121.323068111717, "y": -2750.640597740417}, {"x": 9121.685621040348, "y": -2750.3037280429626}, {"x": 9122.048146127641, "y": -2749.966828383559}, {"x": 9122.41064250637, "y": -2749.629897833086}, {"x": 9122.773109307978, "y": -2749.2929354624243}, {"x": 9123.13554566524, "y": -2748.95594034403}, {"x": 9123.497950708279, "y": -2748.618911549571}, {"x": 9123.860323568542, "y": -2748.2818481515033}, {"x": 9124.222663378801, "y": -2747.944749222284}, {"x": 9124.584969266534, "y": -2747.6076138343683}, {"x": 9124.94724036451, "y": -2747.270441061001}, {"x": 9125.309475802853, "y": -2746.9332299754265}, {"x": 9125.671674710364, "y": -2746.5959796501006}, {"x": 9126.033836217164, "y": -2746.2586891606325}, {"x": 9126.395959452057, "y": -2745.9213575802655}, {"x": 9126.758043543838, "y": -2745.583983983033}, {"x": 9127.120087622634, "y": -2745.2465674445425}, {"x": 9127.482090814596, "y": -2744.909107038827}, {"x": 9127.844052248522, "y": -2744.5716018422827}, {"x": 9128.20597105189, "y": -2744.23405092973}, {"x": 9128.567846352173, "y": -2743.8964533767776}, {"x": 9128.92967727685, "y": -2743.5588082606096}, {"x": 9129.291462950745, "y": -2743.2211146576233}, {"x": 9129.655757745115, "y": -2742.880985870025}, {"x": 9130.020005754175, "y": -2742.5408069785144}, {"x": 9130.384206971303, "y": -2742.2005779893952}, {"x": 9130.748361391205, "y": -2741.860298908972}, {"x": 9131.11246900461, "y": -2741.519969744337}, {"x": 9131.47652980755, "y": -2741.179590501007}, {"x": 9131.84054378943, "y": -2740.8391611860748}, {"x": 9132.204510947604, "y": -2740.498681805844}, {"x": 9132.568431271478, "y": -2740.1581523674076}, {"x": 9132.932304755757, "y": -2739.817572875494}, {"x": 9133.29613139382, "y": -2739.4769433379843}, {"x": 9133.659911177723, "y": -2739.136263761182}, {"x": 9134.023644102172, "y": -2738.7955341506035}, {"x": 9134.387330159221, "y": -2738.4547545133423}, {"x": 9134.750969342249, "y": -2738.11392485649}, {"x": 9135.114561643315, "y": -2737.773045185563}, {"x": 9135.47810705712, "y": -2737.432115507655}, {"x": 9135.841605577047, "y": -2737.091135828281}, {"x": 9136.205057195148, "y": -2736.750106154534}, {"x": 9136.568461903482, "y": -2736.409026492719}, {"x": 9136.93181969675, "y": -2736.067896849928}, {"x": 9137.295130568336, "y": -2735.726717231677}, {"x": 9137.658394511618, "y": -2735.385487645059}, {"x": 9138.021611517328, "y": -2735.0442080963785}, {"x": 9138.384781581493, "y": -2734.702878591152}, {"x": 9138.747904694845, "y": -2734.3614991372597}, {"x": 9139.110980852089, "y": -2734.0200697410064}, {"x": 9139.474010045282, "y": -2733.6785904079084}, {"x": 9139.836992269124, "y": -2733.337061145058}, {"x": 9140.199927515674, "y": -2732.99548195876}, {"x": 9140.562815776988, "y": -2732.653852855319}, {"x": 9140.925657049092, "y": -2732.312173841039}, {"x": 9141.288451321398, "y": -2731.9704449238006}, {"x": 9141.651198589929, "y": -2731.6286661083323}, {"x": 9142.013898848067, "y": -2731.2868374017266}, {"x": 9142.376552086544, "y": -2730.944958811076}, {"x": 9142.739158300064, "y": -2730.603030341109}, {"x": 9143.101717482006, "y": -2730.261052000494}, {"x": 9143.46422962443, "y": -2729.919023794748}, {"x": 9143.826694720708, "y": -2729.576945729386}, {"x": 9144.189112764228, "y": -2729.23481781229}, {"x": 9144.55148374969, "y": -2728.892640048976}, {"x": 9144.913807666502, "y": -2728.550412447324}, {"x": 9145.276084512017, "y": -2728.2081350120634}, {"x": 9145.638314276966, "y": -2727.865807750286}, {"x": 9146.00049695473, "y": -2727.523430669084}, {"x": 9146.362632538687, "y": -2727.1810037739747}, {"x": 9146.72472102222, "y": -2726.83852707205}, {"x": 9147.08676239738, "y": -2726.496000569615}], "type": "road_line"}, {"geometry": [{"x": 9151.912922145044, "y": -2726.0634545160765}, {"x": 9152.371561933642, "y": -2726.0024174027576}, {"x": 9152.833283209407, "y": -2725.9724912951788}, {"x": 9153.295979639022, "y": -2725.9726370227863}, {"x": 9153.757769815082, "y": -2726.001680367965}, {"x": 9154.21699604595, "y": -2726.058340765515}, {"x": 9154.672220344008, "y": -2726.1412575560053}, {"x": 9155.122218080965, "y": -2726.2490137078817}, {"x": 9155.565969781654, "y": -2726.3801569421394}, {"x": 9156.002651454746, "y": -2726.533218292653}, {"x": 9156.431623836488, "y": -2726.706728134482}, {"x": 9156.84259869854, "y": -2726.895740768768}, {"x": 9157.242372074676, "y": -2727.1073673583924}, {"x": 9157.627398343768, "y": -2727.3447316422457}, {"x": 9157.9946767106, "y": -2727.608717673567}, {"x": 9158.342903092887, "y": -2727.8973946576943}, {"x": 9158.67386468924, "y": -2728.205765161366}, {"x": 9158.993774280705, "y": -2728.5256397461526}, {"x": 9159.340903488139, "y": -2728.8774617400163}, {"x": 9159.688003307789, "y": -2729.229312728095}, {"x": 9160.035073737006, "y": -2729.5811927064474}, {"x": 9160.382114774467, "y": -2729.933101673498}, {"x": 9160.7291264162, "y": -2730.2850396268827}, {"x": 9161.076108660878, "y": -2730.637006563449}, {"x": 9161.423061504533, "y": -2730.9890024816214}, {"x": 9161.769984947161, "y": -2731.3410273782465}, {"x": 9162.116878984794, "y": -2731.6930812509613}, {"x": 9162.463743616107, "y": -2732.0451640981887}, {"x": 9162.810578837125, "y": -2732.397275915989}, {"x": 9163.157384645203, "y": -2732.749416702786}, {"x": 9163.50416104034, "y": -2733.101586456216}, {"x": 9163.850908018565, "y": -2733.4537851731257}, {"x": 9164.197625577228, "y": -2733.8060128519396}, {"x": 9164.544313713683, "y": -2734.1582694902936}, {"x": 9164.890972426605, "y": -2734.5105550842472}, {"x": 9165.237601713345, "y": -2734.862869633013}, {"x": 9165.584201571257, "y": -2735.2152131334374}, {"x": 9165.930771996367, "y": -2735.5675855823692}, {"x": 9166.27731299, "y": -2735.9199869790205}, {"x": 9166.623824545535, "y": -2736.27241731945}, {"x": 9166.970306664298, "y": -2736.6248766012945}, {"x": 9167.316759340993, "y": -2736.977364822978}, {"x": 9167.663182574293, "y": -2737.3298819821352}, {"x": 9168.009576361552, "y": -2737.682428074827}, {"x": 9168.355940701445, "y": -2738.0350031002645}, {"x": 9168.702275590003, "y": -2738.3876070545075}, {"x": 9169.048581025898, "y": -2738.7402399367684}, {"x": 9169.394857006486, "y": -2739.0929017431067}, {"x": 9169.741103529113, "y": -2739.4455924711583}, {"x": 9170.087320591138, "y": -2739.798312119347}, {"x": 9170.433508189908, "y": -2740.151060684521}, {"x": 9170.7796663241, "y": -2740.503838165103}], "type": "road_edge"}, {"geometry": [{"x": 9170.7796663241, "y": -2740.503838165103}, {"x": 9171.125427332618, "y": -2740.856270304668}, {"x": 9171.471158936136, "y": -2741.208731290293}, {"x": 9171.81686113466, "y": -2741.561221118038}, {"x": 9172.162533926861, "y": -2741.913739782385}, {"x": 9172.508177312742, "y": -2742.2662872801834}, {"x": 9172.853791292302, "y": -2742.618863605916}, {"x": 9173.19937586554, "y": -2742.9714687556425}, {"x": 9173.544931029812, "y": -2743.324102726999}, {"x": 9173.890456785113, "y": -2743.676765513681}, {"x": 9174.235953130123, "y": -2744.029457114112}, {"x": 9174.581420063514, "y": -2744.3821775227766}, {"x": 9174.92685758529, "y": -2744.7349267373097}, {"x": 9175.272265691476, "y": -2745.087704753771}, {"x": 9175.617644383397, "y": -2745.440511569797}, {"x": 9175.962993658404, "y": -2745.7933471798706}, {"x": 9176.308313513851, "y": -2746.1462115832037}, {"x": 9176.653603949739, "y": -2746.499104775069}, {"x": 9176.998864963416, "y": -2746.852026753101}, {"x": 9177.344096553561, "y": -2747.2049775141486}], "type": "road_edge"}, {"geometry": [{"x": 9180.664908582508, "y": -2738.5740173083095}, {"x": 9181.01184920685, "y": -2738.926214149642}, {"x": 9181.358833755312, "y": -2739.278367717945}, {"x": 9181.705862221272, "y": -2739.630478007702}, {"x": 9182.052934599436, "y": -2739.982545012608}, {"x": 9182.400050884507, "y": -2740.334568727935}, {"x": 9182.74721107119, "y": -2740.6865491481667}, {"x": 9183.094415154188, "y": -2741.0384862677865}, {"x": 9183.441663128204, "y": -2741.3903800812777}, {"x": 9183.78895498662, "y": -2741.7422305831246}, {"x": 9184.136290725462, "y": -2742.094037768599}, {"x": 9181.571219102882, "y": -2744.040122062847}, {"x": 9181.222638132795, "y": -2743.68502125691}, {"x": 9180.874057164032, "y": -2743.329920451762}, {"x": 9180.525476193945, "y": -2742.9748196458254}, {"x": 9180.176895225182, "y": -2742.619718839889}, {"x": 9179.828314255095, "y": -2742.2646180347406}, {"x": 9179.47973328633, "y": -2741.9095172288044}, {"x": 9179.131152316244, "y": -2741.554416423656}, {"x": 9178.782571347481, "y": -2741.1993156177195}, {"x": 9178.433990377394, "y": -2740.8442148117833}, {"x": 9178.085409408632, "y": -2740.4891140066347}, {"x": 9177.736828438545, "y": -2740.1340132006985}, {"x": 9177.388247468458, "y": -2739.77891239555}, {"x": 9177.039666499695, "y": -2739.4238115896137}, {"x": 9176.691085529608, "y": -2739.068710784465}, {"x": 9176.342504560846, "y": -2738.713609978529}, {"x": 9175.993923590759, "y": -2738.358509172592}, {"x": 9175.645342621996, "y": -2738.003408367444}, {"x": 9175.296761651907, "y": -2737.648307561508}, {"x": 9174.948180683145, "y": -2737.2932067563593}, {"x": 9174.599599713058, "y": -2736.938105950423}, {"x": 9174.25101874297, "y": -2736.5830051444864}, {"x": 9173.902437774208, "y": -2736.2279043393382}, {"x": 9173.553856804121, "y": -2735.8728035334016}, {"x": 9173.205275835358, "y": -2735.5177027282534}, {"x": 9172.856694865271, "y": -2735.1626019223168}, {"x": 9172.508113896509, "y": -2734.8075011163805}, {"x": 9172.159532926422, "y": -2734.452400311232}, {"x": 9171.81095195766, "y": -2734.0972995052957}, {"x": 9171.462370987572, "y": -2733.7421987001476}, {"x": 9171.113790017485, "y": -2733.387097894211}, {"x": 9170.76520904872, "y": -2733.0319970890628}, {"x": 9170.416628078634, "y": -2732.676896283126}, {"x": 9170.068047109871, "y": -2732.32179547719}, {"x": 9169.719466139784, "y": -2731.9666946720413}, {"x": 9169.370885171022, "y": -2731.611593866105}, {"x": 9169.022304200935, "y": -2731.2564930609565}, {"x": 9168.673723232172, "y": -2730.9013922550203}, {"x": 9168.325142262085, "y": -2730.5462914490836}, {"x": 9167.976561293322, "y": -2730.1911906439354}, {"x": 9167.627980323236, "y": -2729.836089837999}, {"x": 9167.279399353149, "y": -2729.4809890328506}, {"x": 9166.930818384386, "y": -2729.1258882269144}, {"x": 9166.582237414299, "y": -2728.770787421766}, {"x": 9166.233656445535, "y": -2728.4156866158296}, {"x": 9165.885075475448, "y": -2728.060585809893}, {"x": 9165.536494506685, "y": -2727.705485004745}, {"x": 9165.187913536598, "y": -2727.350384198808}, {"x": 9164.839332567835, "y": -2726.99528339366}, {"x": 9164.490751597748, "y": -2726.6401825877233}, {"x": 9164.17184514579, "y": -2726.29204642664}, {"x": 9163.920417024729, "y": -2725.8935945495364}, {"x": 9163.791930390364, "y": -2725.441142033051}, {"x": 9163.817193065335, "y": -2724.971704285352}, {"x": 9163.992107075597, "y": -2724.535037458234}, {"x": 9164.285779562475, "y": -2724.1669064330563}, {"x": 9164.677185187968, "y": -2723.878640457996}, {"x": 9165.135027699842, "y": -2723.716760137135}, {"x": 9165.620359306631, "y": -2723.709670600129}, {"x": 9166.082754581625, "y": -2723.858128019748}, {"x": 9166.486822905164, "y": -2724.1289929505288}, {"x": 9166.838613095217, "y": -2724.466361393077}, {"x": 9167.183413010898, "y": -2724.819891840612}, {"x": 9167.528256967213, "y": -2725.1733793295525}, {"x": 9167.873144958863, "y": -2725.5268238543817}, {"x": 9168.218076980555, "y": -2725.880225409583}, {"x": 9168.56305302699, "y": -2726.2335839888524}, {"x": 9168.908073092874, "y": -2726.5868995882497}, {"x": 9169.253137172911, "y": -2726.9401722006814}, {"x": 9169.598245261805, "y": -2727.2934018222086}, {"x": 9169.943397354258, "y": -2727.6465884457375}, {"x": 9170.28859344365, "y": -2727.9997320673288}, {"x": 9170.633833526012, "y": -2728.3528326806772}, {"x": 9170.979117596045, "y": -2728.705890280267}, {"x": 9171.324445647131, "y": -2729.058904860581}, {"x": 9171.669817675296, "y": -2729.411876416104}, {"x": 9172.015233673923, "y": -2729.764804942107}, {"x": 9172.360693639035, "y": -2730.117690432285}, {"x": 9172.706197564017, "y": -2730.4705328811224}, {"x": 9173.051745444895, "y": -2730.8233322838905}, {"x": 9173.397337275046, "y": -2731.176088635073}, {"x": 9173.742973049179, "y": -2731.5288019283653}, {"x": 9174.08865276332, "y": -2731.8814721590393}, {"x": 9174.434376409523, "y": -2732.23409932079}, {"x": 9174.780143985141, "y": -2732.5866834088897}, {"x": 9175.125955483556, "y": -2732.939224417822}, {"x": 9175.47181089947, "y": -2733.29172234207}, {"x": 9175.817710227588, "y": -2733.6441771761174}, {"x": 9176.163653461288, "y": -2733.99658891366}, {"x": 9176.509640597924, "y": -2734.3489575507574}, {"x": 9176.85567162955, "y": -2734.701283081105}, {"x": 9177.201746552197, "y": -2735.053565499187}, {"x": 9177.547865360566, "y": -2735.405804799486}, {"x": 9177.894028048038, "y": -2735.758000976486}, {"x": 9178.240234610641, "y": -2736.1101540254595}, {"x": 9178.586485041757, "y": -2736.4622639401005}, {"x": 9178.932779337409, "y": -2736.814330715682}, {"x": 9179.279117490982, "y": -2737.1663543458985}, {"x": 9179.625499497177, "y": -2737.5183348260225}, {"x": 9179.971925352022, "y": -2737.8702721497493}, {"x": 9180.318395048898, "y": -2738.2221663123505}, {"x": 9180.664908582508, "y": -2738.5740173083095}], "type": "road_edge"}, {"geometry": [{"x": 9188.403848236978, "y": -2738.9352917998895}, {"x": 9188.065803217994, "y": -2738.586982332335}, {"x": 9187.727679805545, "y": -2738.238748967501}, {"x": 9187.389478015519, "y": -2737.8905917219367}, {"x": 9187.051197865128, "y": -2737.5425106137677}, {"x": 9186.712839368938, "y": -2737.1945056634836}, {"x": 9186.374402544161, "y": -2736.8465768876326}, {"x": 9186.035887406682, "y": -2736.498724305129}, {"x": 9185.697293972393, "y": -2736.1509479356746}, {"x": 9185.35862225718, "y": -2735.803247798182}, {"x": 9185.01987227693, "y": -2735.4556239115645}, {"x": 9184.68104404621, "y": -2735.108076295524}, {"x": 9184.342137580907, "y": -2734.760604968186}, {"x": 9184.003152896908, "y": -2734.413209950827}, {"x": 9183.664090007454, "y": -2734.0658912631498}, {"x": 9183.324948927111, "y": -2733.718648924067}, {"x": 9182.98572967044, "y": -2733.3714829556443}, {"x": 9182.646432253332, "y": -2733.024393376795}, {"x": 9182.3070566877, "y": -2732.6773802087973}, {"x": 9181.967602989434, "y": -2732.3304434729275}, {"x": 9181.628071169127, "y": -2731.9835831904647}, {"x": 9181.288461242666, "y": -2731.6367993826852}, {"x": 9180.948773221966, "y": -2731.290092071655}, {"x": 9180.609007118945, "y": -2730.943461278652}], "type": "road_edge"}, {"geometry": [{"x": 9180.609007118945, "y": -2730.943461278652}, {"x": 9180.264312389449, "y": -2730.591962314319}, {"x": 9179.919537362555, "y": -2730.2405421116127}, {"x": 9179.574682054157, "y": -2729.889200691023}, {"x": 9179.229746478815, "y": -2729.537938073827}, {"x": 9178.88473065242, "y": -2729.1867542797263}, {"x": 9178.539634593506, "y": -2728.8356493284223}, {"x": 9178.194458315314, "y": -2728.4846232404047}, {"x": 9177.84920183638, "y": -2728.1336760361633}, {"x": 9177.503865172592, "y": -2727.7828077346107}, {"x": 9177.158448339838, "y": -2727.4320183562368}, {"x": 9176.812951356655, "y": -2727.081307920743}, {"x": 9176.467374236283, "y": -2726.7306764470427}, {"x": 9176.121716999905, "y": -2726.380123954837}, {"x": 9175.775979662089, "y": -2726.029650463828}, {"x": 9175.43016224004, "y": -2725.679255992141}, {"x": 9175.084264750976, "y": -2725.3289405602645}, {"x": 9174.738287212109, "y": -2724.978704186325}, {"x": 9174.392229641973, "y": -2724.6285468892356}, {"x": 9174.046092057779, "y": -2724.278468688697}, {"x": 9173.699874476742, "y": -2723.9284696036234}, {"x": 9173.353576914751, "y": -2723.5785496513518}, {"x": 9173.007199391663, "y": -2723.2287088523717}, {"x": 9172.660741924692, "y": -2722.87894722402}, {"x": 9172.314204532373, "y": -2722.529264785211}, {"x": 9171.967587230594, "y": -2722.179661554857}, {"x": 9171.620890037893, "y": -2721.830137551084}, {"x": 9171.274112972806, "y": -2721.4806927920176}, {"x": 9170.927256052544, "y": -2721.1313272973584}, {"x": 9170.580319296967, "y": -2720.7820410836557}, {"x": 9170.233302721965, "y": -2720.4328341714}, {"x": 9169.886206346071, "y": -2720.0837065763512}, {"x": 9169.539030187823, "y": -2719.7346583189997}, {"x": 9169.191774265759, "y": -2719.385689415894}, {"x": 9168.844438597089, "y": -2719.0367998867364}, {"x": 9168.497023200349, "y": -2718.6879897488634}, {"x": 9168.153467150854, "y": -2718.33804804305}, {"x": 9167.824017440567, "y": -2717.9748659942625}, {"x": 9167.519475057468, "y": -2717.590629258203}, {"x": 9167.247304886798, "y": -2717.1828600431386}, {"x": 9167.011520937687, "y": -2716.753028094584}, {"x": 9166.812636269009, "y": -2716.304904112815}, {"x": 9166.647997448206, "y": -2715.8430624458338}, {"x": 9166.512521220016, "y": -2715.371803334726}], "type": "road_edge"}, {"geometry": [{"x": 9167.192655700874, "y": -2706.8317914996273}, {"x": 9167.503315759863, "y": -2706.523723655774}, {"x": 9167.814059246215, "y": -2706.21573996465}, {"x": 9168.124886137417, "y": -2705.907840447532}, {"x": 9168.435796410964, "y": -2705.600025127274}, {"x": 9168.746790041701, "y": -2705.2922940267295}, {"x": 9169.05786700844, "y": -2704.984647168753}, {"x": 9169.369027288674, "y": -2704.6770845754086}, {"x": 9169.680270859897, "y": -2704.3696062695512}, {"x": 9170.029059141236, "y": -2704.025245736469}, {"x": 9170.377983237144, "y": -2703.681022821882}, {"x": 9170.727074424773, "y": -2703.336969364105}, {"x": 9171.076363929633, "y": -2702.993117247947}, {"x": 9171.425882926931, "y": -2702.6494984118062}, {"x": 9171.775662525664, "y": -2702.3061448563367}, {"x": 9172.125733762015, "y": -2701.963088654694}, {"x": 9172.476127592723, "y": -2701.6203619580506}, {"x": 9172.82687488317, "y": -2701.277997005843}, {"x": 9173.178006398115, "y": -2700.93602613365}, {"x": 9173.52955279507, "y": -2700.5944817818613}, {"x": 9173.881544616359, "y": -2700.2533965035595}, {"x": 9174.234012274552, "y": -2699.912802971612}], "type": "road_line"}, {"geometry": [{"x": 9130.545955206377, "y": -2642.079383881275}, {"x": 9130.182932712689, "y": -2642.4106357597448}, {"x": 9129.82024142606, "y": -2642.742250239269}, {"x": 9129.457881363702, "y": -2643.074226617688}, {"x": 9129.09585254018, "y": -2643.406564182598}, {"x": 9128.73415496079, "y": -2643.7392622168654}, {"x": 9128.37278861891, "y": -2644.0723199986314}, {"x": 9128.011753509247, "y": -2644.4057368005174}, {"x": 9127.65104961591, "y": -2644.7395118919944}, {"x": 9127.290676920364, "y": -2645.0736445401694}, {"x": 9126.930635398776, "y": -2645.4081340097837}, {"x": 9126.570925024667, "y": -2645.7429795655808}, {"x": 9126.220783095308, "y": -2646.069557290921}, {"x": 9125.870958407324, "y": -2646.396474813293}, {"x": 9125.52145390267, "y": -2646.723734611138}, {"x": 9125.172272527272, "y": -2647.0513391558047}, {"x": 9124.823417237654, "y": -2647.379290909973}, {"x": 9124.474890996953, "y": -2647.70759232923}, {"x": 9124.126696777581, "y": -2648.036245859707}, {"x": 9123.778837557238, "y": -2648.3652539404416}, {"x": 9123.431316325548, "y": -2648.6946190010153}, {"x": 9123.084136077425, "y": -2649.024343463918}, {"x": 9122.737299817056, "y": -2649.354429740605}, {"x": 9122.390810557894, "y": -2649.6848802362283}, {"x": 9122.044671318685, "y": -2650.0156973472713}, {"x": 9121.69888513142, "y": -2650.3468834591836}, {"x": 9121.353455030736, "y": -2650.678440951112}], "type": "road_edge"}, {"geometry": [{"x": 9165.897629375406, "y": -2688.6331799510435}, {"x": 9165.547655517537, "y": -2688.9620638031693}, {"x": 9165.198038518149, "y": -2689.291326982871}, {"x": 9164.848766717983, "y": -2689.6209563106745}, {"x": 9164.49982841542, "y": -2689.950938647295}, {"x": 9164.151211869113, "y": -2690.2812608896993}, {"x": 9163.80290530197, "y": -2690.611909967164}, {"x": 9163.454896899828, "y": -2690.942872846006}, {"x": 9163.107174814095, "y": -2691.274136522486}, {"x": 9162.759727160435, "y": -2691.6056880259644}, {"x": 9162.41254202803, "y": -2691.9375144141723}, {"x": 9162.065607470315, "y": -2692.2696027755733}, {"x": 9161.718911512919, "y": -2692.6019402230622}, {"x": 9161.372442157637, "y": -2692.934513898692}, {"x": 9161.026187377141, "y": -2693.2673109665798}, {"x": 9160.680135118944, "y": -2693.6003186168505}, {"x": 9160.32227184045, "y": -2693.9450958188295}, {"x": 9159.964607817916, "y": -2694.2900797188554}, {"x": 9159.607138400084, "y": -2694.6352652575983}, {"x": 9159.24985892643, "y": -2694.9806473907015}, {"x": 9158.892764732458, "y": -2695.3262210785374}, {"x": 9158.535851145727, "y": -2695.67198129645}, {"x": 9158.179113493796, "y": -2696.017923027666}, {"x": 9157.822547097603, "y": -2696.3640412688064}, {"x": 9157.466147274119, "y": -2696.710331027527}, {"x": 9157.109909344279, "y": -2697.05678732488}, {"x": 9156.753828625055, "y": -2697.403405195315}, {"x": 9156.397900433409, "y": -2697.7501796866777}, {"x": 9156.042120087635, "y": -2698.0971058602113}, {"x": 9155.686482909998, "y": -2698.4441787929204}, {"x": 9155.330984225408, "y": -2698.791393576782}, {"x": 9154.975619361421, "y": -2699.1387453203224}, {"x": 9154.620383653546, "y": -2699.486229147042}, {"x": 9154.26527243993, "y": -2699.8338401985657}, {"x": 9153.910281066674, "y": -2700.1815736330673}, {"x": 9153.55540489046, "y": -2700.5294246260582}, {"x": 9153.200639271949, "y": -2700.8773883735403}, {"x": 9152.845979585041, "y": -2701.225460088851}, {"x": 9152.491421212906, "y": -2701.5736350050306}, {"x": 9152.136959550628, "y": -2701.9219083756075}, {"x": 9151.782590005203, "y": -2702.270275473025}, {"x": 9151.428307996875, "y": -2702.618731593367}, {"x": 9151.074108961771, "y": -2702.9672720516314}, {"x": 9150.719988350585, "y": -2703.3158921872455}, {"x": 9150.365941627248, "y": -2703.6645873609145}, {"x": 9150.011964276877, "y": -2704.0133529561967}, {"x": 9149.658051799155, "y": -2704.362184381869}, {"x": 9149.304199716269, "y": -2704.7110770687736}, {"x": 9148.950403566296, "y": -2705.0600264745467}, {"x": 9148.596658909824, "y": -2705.409028081254}, {"x": 9148.242961328622, "y": -2705.7580773953905}, {"x": 9147.889306428291, "y": -2706.107169952611}, {"x": 9147.535689835617, "y": -2706.4563013129987}, {"x": 9147.18210720387, "y": -2706.8054670665833}, {"x": 9146.828554207495, "y": -2707.154662828613}, {"x": 9146.4750265514, "y": -2707.5038842442805}, {"x": 9146.12151996564, "y": -2707.8531269879386}, {"x": 9145.768030208083, "y": -2708.2023867646735}, {"x": 9145.414553063069, "y": -2708.551659307153}, {"x": 9145.061084349369, "y": -2708.9009403803557}, {"x": 9144.707619912228, "y": -2709.2502257815704}, {"x": 9144.354155628673, "y": -2709.5995113380327}, {"x": 9144.000687408829, "y": -2709.948792911652}, {"x": 9143.647211194597, "y": -2710.2980663950725}, {"x": 9143.293722963625, "y": -2710.647327717188}, {"x": 9142.94021872534, "y": -2710.996572837628}, {"x": 9142.586694528889, "y": -2711.3457977554235}], "type": "road_edge"}, {"geometry": [{"x": 9166.818692584859, "y": -2690.0031508041816}, {"x": 9166.46131782731, "y": -2690.34138040138}, {"x": 9166.10431582169, "y": -2690.6800034142593}, {"x": 9165.747671073079, "y": -2691.019002676562}, {"x": 9165.391368036242, "y": -2691.3583610732544}, {"x": 9165.035391111664, "y": -2691.6980615365837}, {"x": 9164.679724653486, "y": -2692.0380870445074}, {"x": 9164.324352970836, "y": -2692.3784206191126}, {"x": 9163.9692603265, "y": -2692.7190453211015}, {"x": 9163.614430942216, "y": -2693.0599442545195}, {"x": 9163.25984900398, "y": -2693.4011005572984}, {"x": 9162.905498659387, "y": -2693.7424974036217}, {"x": 9162.551364020286, "y": -2694.084117997617}, {"x": 9162.197429169397, "y": -2694.4259455780884}, {"x": 9161.843678160312, "y": -2694.7679634082688}, {"x": 9161.490095017494, "y": -2695.110154778185}, {"x": 9161.1366637429, "y": -2695.452503002294}, {"x": 9160.779277671663, "y": -2695.798963003518}, {"x": 9160.422027828088, "y": -2696.1455634704894}, {"x": 9160.064911417185, "y": -2696.4923014164697}, {"x": 9159.707925645283, "y": -2696.8391738602377}, {"x": 9159.3510677121, "y": -2697.1861778205707}, {"x": 9158.994334816021, "y": -2697.533310320976}, {"x": 9158.637724150143, "y": -2697.8805683873243}, {"x": 9158.281232907557, "y": -2698.2279490502137}, {"x": 9157.924858277385, "y": -2698.575449340244}, {"x": 9157.568597442127, "y": -2698.923066294319}, {"x": 9157.212447585609, "y": -2699.2707969493417}, {"x": 9156.856405887684, "y": -2699.618638346156}, {"x": 9156.500469524233, "y": -2699.9665875279693}, {"x": 9156.144635671137, "y": -2700.314641540355}, {"x": 9155.788901500304, "y": -2700.662797432036}, {"x": 9155.43326417835, "y": -2701.01105225489}, {"x": 9155.077720874533, "y": -2701.3594030600048}, {"x": 9154.722268751493, "y": -2701.7078469047738}, {"x": 9154.366904971876, "y": -2702.056380845802}, {"x": 9154.011626695668, "y": -2702.4050019444226}, {"x": 9153.65643108022, "y": -2702.7537072603923}, {"x": 9153.30131528155, "y": -2703.1024938605615}, {"x": 9152.946276453029, "y": -2703.4513588086274}, {"x": 9152.591311745386, "y": -2703.8002991738035}, {"x": 9152.236418310667, "y": -2704.1493120253044}, {"x": 9151.881593294302, "y": -2704.4983944347073}, {"x": 9151.526833843041, "y": -2704.8475434751667}, {"x": 9151.17213710364, "y": -2705.196756222201}, {"x": 9150.817500216232, "y": -2705.5460297513287}, {"x": 9150.462920324919, "y": -2705.8953611412203}, {"x": 9150.108394567187, "y": -2706.2447474697574}, {"x": 9149.753920084493, "y": -2706.594185818764}, {"x": 9149.399494012998, "y": -2706.943673269274}, {"x": 9149.04511348886, "y": -2707.293206904687}, {"x": 9148.690775646919, "y": -2707.642783808401}, {"x": 9148.336477622011, "y": -2707.992401066968}, {"x": 9147.982216547647, "y": -2708.342055765362}, {"x": 9147.627989554692, "y": -2708.6917449917114}, {"x": 9147.273793774011, "y": -2709.0414658325667}, {"x": 9146.919626339119, "y": -2709.391215377631}, {"x": 9146.56548437558, "y": -2709.7409907158203}, {"x": 9146.211365016909, "y": -2710.0907889376253}, {"x": 9145.857265388675, "y": -2710.440607133538}, {"x": 9145.503182620418, "y": -2710.7904423940495}, {"x": 9145.14911383903, "y": -2711.1402918112276}, {"x": 9144.795056172728, "y": -2711.4901524763513}, {"x": 9144.441006747082, "y": -2711.8400214814883}, {"x": 9144.086962690306, "y": -2712.189895919494}, {"x": 9143.732921129294, "y": -2712.539772882437}, {"x": 9143.37887919094, "y": -2712.8896494623837}, {"x": 9143.024833999485, "y": -2713.239522752978}, {"x": 9142.670782684472, "y": -2713.589389845499}, {"x": 9142.31672237147, "y": -2713.939247832015}, {"x": 9141.962650188694, "y": -2714.2890938061696}, {"x": 9141.608563261712, "y": -2714.638924857665}, {"x": 9141.254458720068, "y": -2714.9887380793584}, {"x": 9140.900333690652, "y": -2715.3385305617403}, {"x": 9140.548290144161, "y": -2715.686221772117}, {"x": 9140.196223811412, "y": -2716.0338899105313}, {"x": 9139.844134988985, "y": -2716.381535273294}, {"x": 9139.492023974783, "y": -2716.72915815829}, {"x": 9139.13989106141, "y": -2717.0767588618296}, {"x": 9138.787736546772, "y": -2717.424337681798}, {"x": 9138.435560727447, "y": -2717.771894913717}, {"x": 9138.083363897364, "y": -2718.1194308554727}, {"x": 9137.731146354427, "y": -2718.466945804162}, {"x": 9137.378908392568, "y": -2718.8144400576716}, {"x": 9137.02665030704, "y": -2719.1619139123104}, {"x": 9136.674372394424, "y": -2719.509367665965}, {"x": 9136.322074951297, "y": -2719.856801615732}, {"x": 9135.969758270265, "y": -2720.204216059498}, {"x": 9135.617422649233, "y": -2720.5516112935725}, {"x": 9135.265068383456, "y": -2720.898987616629}, {"x": 9134.912695766863, "y": -2721.2463453265536}, {"x": 9134.560305096033, "y": -2721.593684719656}, {"x": 9134.207896666221, "y": -2721.9410060938217}, {"x": 9133.85547077136, "y": -2722.2883097477247}, {"x": 9133.503027706702, "y": -2722.6355959784623}, {"x": 9133.150567768826, "y": -2722.982865083921}, {"x": 9132.798091251665, "y": -2723.330117361986}, {"x": 9132.445598450471, "y": -2723.677353110543}, {"x": 9132.093089660502, "y": -2724.0245726266908}, {"x": 9131.740565175687, "y": -2724.3717762098895}, {"x": 9131.388025292605, "y": -2724.718964157238}, {"x": 9131.035470305185, "y": -2725.06613676741}, {"x": 9130.682900507361, "y": -2725.4132943375034}, {"x": 9130.33031619571, "y": -2725.760437166191}, {"x": 9129.977717664164, "y": -2726.1075655513596}, {"x": 9129.625105206651, "y": -2726.4546797908947}, {"x": 9129.272479119754, "y": -2726.801780184258}, {"x": 9128.919839696076, "y": -2727.1488670293356}, {"x": 9128.567187230874, "y": -2727.4959406232247}, {"x": 9128.214522019403, "y": -2727.8430012653876}, {"x": 9127.861844355593, "y": -2728.190049254498}, {"x": 9127.509154533374, "y": -2728.5370848876532}, {"x": 9127.156452848003, "y": -2728.884108463528}, {"x": 9126.803739594732, "y": -2729.231120281583}, {"x": 9126.45101506617, "y": -2729.578120639705}, {"x": 9126.098279557571, "y": -2729.9251098365676}, {"x": 9125.745533362866, "y": -2730.2720881700566}, {"x": 9125.39277677731, "y": -2730.619055939633}, {"x": 9125.040010094834, "y": -2730.9660134431842}, {"x": 9124.687233609367, "y": -2731.312960980171}, {"x": 9124.334447616167, "y": -2731.659898848479}, {"x": 9123.981652407838, "y": -2732.0068273467823}, {"x": 9123.628848279635, "y": -2732.353746773755}, {"x": 9123.27603552549, "y": -2732.700657428071}, {"x": 9122.923214439335, "y": -2733.047559609191}, {"x": 9122.570385315097, "y": -2733.3944536157906}, {"x": 9122.217548448036, "y": -2733.7413397457544}, {"x": 9121.864704130754, "y": -2734.088218297756}, {"x": 9121.511852658507, "y": -2734.4350895720468}, {"x": 9121.158994325227, "y": -2734.781953866511}, {"x": 9120.806129423521, "y": -2735.128811479823}, {"x": 9120.453258249967, "y": -2735.475662711445}, {"x": 9120.100381095846, "y": -2735.8225078600503}, {"x": 9119.74749825774, "y": -2736.169347224313}, {"x": 9119.394610026931, "y": -2736.516181102907}, {"x": 9119.041716698674, "y": -2736.8630097952937}, {"x": 9118.688818568222, "y": -2737.2098336001477}, {"x": 9118.333369940576, "y": -2737.5591547862696}, {"x": 9117.977916743763, "y": -2737.9084713236393}, {"x": 9117.622458985727, "y": -2738.257783218562}, {"x": 9117.266996671764, "y": -2738.6070904773424}, {"x": 9116.911529807168, "y": -2738.956393106284}, {"x": 9116.556058399885, "y": -2739.305691111692}, {"x": 9116.200582456535, "y": -2739.654984500659}, {"x": 9115.845101981091, "y": -2740.0042732779125}, {"x": 9115.489616981493, "y": -2740.3535574513335}, {"x": 9115.134127464366, "y": -2740.7028370256508}, {"x": 9114.778633436326, "y": -2741.0521120087446}, {"x": 9114.42313490135, "y": -2741.401382405343}, {"x": 9114.067631867376, "y": -2741.7506482233275}, {"x": 9113.71212434103, "y": -2742.0999094674253}, {"x": 9113.356612327603, "y": -2742.4491661455177}, {"x": 9113.001095835041, "y": -2742.7984182623327}, {"x": 9112.645574867318, "y": -2743.147665825751}, {"x": 9112.290049432375, "y": -2743.496908840501}, {"x": 9111.934519536833, "y": -2743.846147314463}, {"x": 9111.578985184666, "y": -2744.1953812523657}, {"x": 9111.22344638514, "y": -2744.54461066209}, {"x": 9110.867903142227, "y": -2744.893835548363}, {"x": 9110.512355463872, "y": -2745.2430559182785}, {"x": 9110.15680335537, "y": -2745.59227177814}, {"x": 9109.801246824667, "y": -2745.941483134253}, {"x": 9109.445685874409, "y": -2746.290689992921}, {"x": 9109.09012051519, "y": -2746.6398923604493}, {"x": 9108.734550749654, "y": -2746.989090243141}, {"x": 9108.378976587075, "y": -2747.3382836473024}, {"x": 9108.02339803142, "y": -2747.687472579237}, {"x": 9107.667815090637, "y": -2748.0366570444608}, {"x": 9107.312227771343, "y": -2748.3858370508547}, {"x": 9106.956636077512, "y": -2748.7350126031474}, {"x": 9106.601040017087, "y": -2749.0841837084313}, {"x": 9106.245439596689, "y": -2749.4333503730104}, {"x": 9105.889834821612, "y": -2749.78251260319}, {"x": 9105.534225698479, "y": -2750.1316704052733}, {"x": 9105.178612233907, "y": -2750.480823785566}, {"x": 9104.822994434518, "y": -2750.8299727503722}, {"x": 9104.467372305608, "y": -2751.179117305208}, {"x": 9104.111745853796, "y": -2751.528257457954}, {"x": 9103.756115085704, "y": -2751.877393213339}, {"x": 9103.400480006625, "y": -2752.226524578455}, {"x": 9103.044840624507, "y": -2752.5756515596067}, {"x": 9102.689196944642, "y": -2752.9247741630984}, {"x": 9102.333548973655, "y": -2753.273892395235}, {"x": 9101.977896716837, "y": -2753.623006262321}, {"x": 9101.622240182134, "y": -2753.9721157706595}, {"x": 9101.266579374842, "y": -2754.3212209257686}, {"x": 9100.910914301581, "y": -2754.67032173474}, {"x": 9100.555244968973, "y": -2755.0194182046666}, {"x": 9100.199571382313, "y": -2755.3685103402763}, {"x": 9099.843893548217, "y": -2755.7175981486616}, {"x": 9099.488211473312, "y": -2756.066681636127}, {"x": 9099.132525164212, "y": -2756.415760808978}, {"x": 9098.776834626216, "y": -2756.7648356735176}, {"x": 9098.421139867269, "y": -2757.113906235263}, {"x": 9098.065440891341, "y": -2757.4629725020945}, {"x": 9097.709737706376, "y": -2757.812034479529}, {"x": 9097.354030317672, "y": -2758.1610921730817}, {"x": 9096.998318733173, "y": -2758.5101455898466}, {"x": 9096.642602956848, "y": -2758.859194736915}, {"x": 9096.286882996643, "y": -2759.2082396190162}, {"x": 9095.931158859179, "y": -2759.557280243242}, {"x": 9095.57543054975, "y": -2759.906316615897}, {"x": 9095.21969807498, "y": -2760.2553487440746}, {"x": 9094.86396144016, "y": -2760.6043766325015}, {"x": 9094.508220653237, "y": -2760.953400288272}, {"x": 9094.152475719506, "y": -2761.302419717689}, {"x": 9093.796726645587, "y": -2761.651434927058}, {"x": 9093.4409734381, "y": -2762.000445922683}, {"x": 9093.085216102343, "y": -2762.3494527108687}, {"x": 9092.729454644936, "y": -2762.6984552979193}, {"x": 9092.373689073818, "y": -2763.0474536901393}, {"x": 9092.017919392967, "y": -2763.396447894622}, {"x": 9091.662145609002, "y": -2763.745437916094}, {"x": 9091.306367729863, "y": -2764.0944237616495}, {"x": 9090.950585759527, "y": -2764.4434054375924}, {"x": 9090.594799705936, "y": -2764.792382951015}, {"x": 9090.23900957571, "y": -2765.141356306646}, {"x": 9089.883215374144, "y": -2765.4903255123654}, {"x": 9089.52741710786, "y": -2765.83929057369}, {"x": 9089.171614782153, "y": -2766.188251496136}, {"x": 9088.815808404966, "y": -2766.5372082875847}, {"x": 9088.4599979816, "y": -2766.886160953552}, {"x": 9088.104183518668, "y": -2767.23510950113}, {"x": 9087.748365022795, "y": -2767.5840539350475}, {"x": 9087.392542499274, "y": -2767.9329942631853}, {"x": 9087.036715956052, "y": -2768.2819304902714}, {"x": 9086.6808853971, "y": -2768.630862624186}, {"x": 9086.32505083036, "y": -2768.9797906712342}, {"x": 9085.969212261132, "y": -2769.3287146361445}, {"x": 9085.613369696033, "y": -2769.6776345267967}, {"x": 9085.257523143007, "y": -2770.0265503487076}, {"x": 9084.901672606027, "y": -2770.3754621081816}, {"x": 9084.545818091714, "y": -2770.7243698123116}, {"x": 9084.189959608011, "y": -2771.0732734666135}, {"x": 9083.83409715889, "y": -2771.422173077392}, {"x": 9083.478230752295, "y": -2771.7710686509513}, {"x": 9083.122360394847, "y": -2772.1199601943845}, {"x": 9082.766486090517, "y": -2772.4688477132077}, {"x": 9082.410607848573, "y": -2772.817731214513}, {"x": 9082.054725672986, "y": -2773.1666107038172}, {"x": 9081.70093378104, "y": -2773.513433346286}, {"x": 9081.347138290426, "y": -2773.860252317195}, {"x": 9080.993339480512, "y": -2774.2070679033964}, {"x": 9080.639537634637, "y": -2774.553880390955}, {"x": 9080.285733033494, "y": -2774.9006900683007}, {"x": 9079.93192595777, "y": -2775.2474972214977}, {"x": 9079.57811668948, "y": -2775.5943021366115}, {"x": 9079.224305507993, "y": -2775.9411051012826}, {"x": 9078.870492696646, "y": -2776.287906402364}, {"x": 9078.516678536129, "y": -2776.6347063267094}, {"x": 9078.162863305812, "y": -2776.9815051611704}, {"x": 9077.809047289029, "y": -2777.328303191813}, {"x": 9077.455230766474, "y": -2777.675100707066}, {"x": 9077.101414018838, "y": -2778.021897992206}, {"x": 9076.74759732681, "y": -2778.368695335663}, {"x": 9076.393780973729, "y": -2778.715493022712}, {"x": 9076.039965238962, "y": -2779.0622913409957}, {"x": 9075.6861504032, "y": -2779.4090905773664}, {"x": 9075.332336748457, "y": -2779.7558910194653}, {"x": 9074.978524556747, "y": -2780.102692952569}, {"x": 9074.624714107438, "y": -2780.4494966643188}, {"x": 9074.27090568387, "y": -2780.7963024415676}, {"x": 9073.917099565406, "y": -2781.143110571168}, {"x": 9073.563296034064, "y": -2781.489921339973}, {"x": 9073.209495371857, "y": -2781.8367350348362}, {"x": 9072.855697858153, "y": -2782.1835519426104}, {"x": 9072.501903774964, "y": -2782.53037234936}, {"x": 9072.148113404306, "y": -2782.8771965435144}, {"x": 9071.794327026872, "y": -2783.22402481035}, {"x": 9071.44054492335, "y": -2783.5708574375085}, {"x": 9071.086767375757, "y": -2783.9176947110545}, {"x": 9070.73299466478, "y": -2784.264536918629}, {"x": 9070.379227072437, "y": -2784.611384347085}, {"x": 9070.025464878094, "y": -2784.9582372816994}, {"x": 9069.671708366412, "y": -2785.305096010901}, {"x": 9069.317957816758, "y": -2785.651960819967}, {"x": 9068.964213509826, "y": -2785.998831996538}, {"x": 9068.610475727628, "y": -2786.3457098274675}, {"x": 9068.256744752178, "y": -2786.69259459882}, {"x": 9067.903020864169, "y": -2787.0394865974486}, {"x": 9067.549304345614, "y": -2787.386386109418}, {"x": 9067.195595477202, "y": -2787.7332934223696}, {"x": 9066.841894540952, "y": -2788.0802088231558}, {"x": 9066.488201817552, "y": -2788.4271325970544}, {"x": 9066.134517589016, "y": -2788.7740650309174}, {"x": 9065.780842137361, "y": -2789.121006412386}, {"x": 9065.427175743276, "y": -2789.4679570267376}, {"x": 9065.073518688776, "y": -2789.8149171608247}, {"x": 9064.719871255877, "y": -2790.1618871015003}, {"x": 9064.366233725268, "y": -2790.508867134829}, {"x": 9064.01260637764, "y": -2790.8558575476645}, {"x": 9063.658989497655, "y": -2791.2028586260712}, {"x": 9063.305383363358, "y": -2791.549870656114}, {"x": 9062.95178825941, "y": -2791.896893924646}, {"x": 9062.598204466503, "y": -2792.2439287185202}, {"x": 9062.24463226665, "y": -2792.5909753230135}, {"x": 9061.891071940541, "y": -2792.9380340241905}, {"x": 9061.537523771518, "y": -2793.2851051096923}, {"x": 9061.18398804027, "y": -2793.632188864796}, {"x": 9060.83046502881, "y": -2793.979285575566}, {"x": 9060.476955019154, "y": -2794.3263955280677}, {"x": 9060.123458294642, "y": -2794.673519009154}, {"x": 9059.769975134639, "y": -2795.0206563048896}, {"x": 9059.416505822484, "y": -2795.3678077005516}, {"x": 9059.063050641516, "y": -2795.7149734822046}, {"x": 9058.709609871103, "y": -2796.0621539367016}, {"x": 9058.356183795904, "y": -2796.4093493493197}, {"x": 9058.002772696613, "y": -2796.756560006124}, {"x": 9057.649376855245, "y": -2797.103786193178}, {"x": 9057.295996555136, "y": -2797.4510281957605}, {"x": 9056.942632078302, "y": -2797.798286299935}, {"x": 9056.589283705434, "y": -2798.1455607917674}, {"x": 9056.235951721195, "y": -2798.492851957322}, {"x": 9055.882636406275, "y": -2798.8401600810876}, {"x": 9055.529338044014, "y": -2799.187485449917}, {"x": 9055.176056916423, "y": -2799.5348283482995}, {"x": 9054.822793305522, "y": -2799.8821890630875}, {"x": 9054.46954749597, "y": -2800.2295678787705}, {"x": 9054.116319767134, "y": -2800.5769650806246}, {"x": 9053.763110403677, "y": -2800.9243809555032}, {"x": 9053.40991968894, "y": -2801.271815787107}, {"x": 9053.056747904935, "y": -2801.6192698622885}, {"x": 9052.703595332352, "y": -2801.966743465537}, {"x": 9052.350462257182, "y": -2802.3142368821295}, {"x": 9051.997348961435, "y": -2802.661750396554}, {"x": 9051.644255725803, "y": -2803.009284295664}, {"x": 9051.291182836274, "y": -2803.3568388631606}, {"x": 9050.938130574863, "y": -2803.704414385108}, {"x": 9050.585099223583, "y": -2804.0520111459955}, {"x": 9050.232089067096, "y": -2804.3996294303115}, {"x": 9049.87910038742, "y": -2804.747269523333}, {"x": 9049.52613346789, "y": -2805.094931710337}, {"x": 9049.173188591849, "y": -2805.442616275812}, {"x": 9048.820266043957, "y": -2805.7903235042468}, {"x": 9048.467366106226, "y": -2806.1380536809183}, {"x": 9048.114489062, "y": -2806.4858070895275}, {"x": 9047.761635194614, "y": -2806.833584015351}, {"x": 9047.408804788734, "y": -2807.1813847428775}, {"x": 9047.055998127697, "y": -2807.5292095565956}, {"x": 9046.70321549484, "y": -2807.877058740995}, {"x": 9046.350457174825, "y": -2808.2249325797757}, {"x": 9045.997723448349, "y": -2808.5728313574264}, {"x": 9045.645014602716, "y": -2808.920755359224}, {"x": 9045.292330921267, "y": -2809.2687048680814}, {"x": 9044.939672687344, "y": -2809.6166801684876}, {"x": 9044.58704018428, "y": -2809.964681544931}, {"x": 9044.234433696742, "y": -2810.3127092803243}, {"x": 9043.88185350939, "y": -2810.660763659944}, {"x": 9043.529299905564, "y": -2811.0088449667037}, {"x": 9043.179432106404, "y": -2811.3543269396105}, {"x": 9042.829588857086, "y": -2811.699833771005}, {"x": 9042.479768243089, "y": -2812.0453635199024}, {"x": 9042.129968345916, "y": -2812.390914242164}, {"x": 9041.780187252372, "y": -2812.736483997592}, {"x": 9041.430423043963, "y": -2813.0820708436254}, {"x": 9041.080673804838, "y": -2813.4276728392774}, {"x": 9040.730937619155, "y": -2813.7732880427748}, {"x": 9040.381212567094, "y": -2814.1189145147073}, {"x": 9040.031496734133, "y": -2814.464550313301}, {"x": 9039.681788201779, "y": -2814.810193498359}, {"x": 9039.332085052858, "y": -2815.155842128894}, {"x": 9038.982385367555, "y": -2815.501494265498}, {"x": 9038.632687231348, "y": -2815.847147967972}, {"x": 9038.282988723093, "y": -2816.192801296119}, {"x": 9037.933287928267, "y": -2816.5384523089524}, {"x": 9037.583582927053, "y": -2816.884099066275}, {"x": 9037.233871800958, "y": -2817.229739627889}, {"x": 9036.884152635457, "y": -2817.575372054385}, {"x": 9036.534423510733, "y": -2817.920994403988}, {"x": 9036.184682510939, "y": -2818.2666047365014}, {"x": 9035.834927717582, "y": -2818.6122011109387}, {"x": 9035.485157214816, "y": -2818.9577815863145}, {"x": 9035.135369085468, "y": -2819.3033442208543}, {"x": 9034.785561413693, "y": -2819.648887072785}, {"x": 9034.435732283648, "y": -2819.994408200332}, {"x": 9034.08587977948, "y": -2820.339905660934}, {"x": 9033.736001986674, "y": -2820.6853775120294}, {"x": 9033.386096989378, "y": -2821.030821810267}, {"x": 9033.036162874396, "y": -2821.3762366115093}, {"x": 9032.686197725883, "y": -2821.7216199731943}, {"x": 9032.336199633286, "y": -2822.0669699488203}, {"x": 9031.986166682085, "y": -2822.4122845942484}, {"x": 9031.636096961729, "y": -2822.757561963765}, {"x": 9031.285988559019, "y": -2823.10280011008}, {"x": 9030.935839563404, "y": -2823.4479970866905}, {"x": 9030.585648065662, "y": -2823.7931509463065}, {"x": 9030.235412155238, "y": -2824.138259740062}, {"x": 9029.885129924232, "y": -2824.483321518302}, {"x": 9029.534799463418, "y": -2824.8283343321605}, {"x": 9029.184418867539, "y": -2825.173296230407}, {"x": 9028.833986230022, "y": -2825.518205261022}, {"x": 9028.483499644284, "y": -2825.863059471988}, {"x": 9028.132957206397, "y": -2826.2078569104974}, {"x": 9027.78235701243, "y": -2826.55259562138}, {"x": 9027.431697161102, "y": -2826.897273650253}, {"x": 9027.080975749805, "y": -2827.2418890403687}, {"x": 9026.730190878583, "y": -2827.586439834193}, {"x": 9026.379340647476, "y": -2827.93092407419}, {"x": 9026.028423159176, "y": -2828.2753398004606}, {"x": 9025.677436516371, "y": -2828.619685053107}, {"x": 9025.326378821752, "y": -2828.963957869864}, {"x": 9024.97524818198, "y": -2829.308156288469}, {"x": 9024.624042702391, "y": -2829.6522783450823}, {"x": 9024.272760490976, "y": -2829.9963220727127}, {"x": 9023.921399658366, "y": -2830.3402855067325}, {"x": 9023.569958312546, "y": -2830.684166679361}, {"x": 9023.2184345668, "y": -2831.0279636196674}, {"x": 9022.866854861659, "y": -2831.371647309795}, {"x": 9022.515190902974, "y": -2831.7152447919398}, {"x": 9022.16344271325, "y": -2832.058756044036}, {"x": 9021.811610313676, "y": -2832.4021810463814}, {"x": 9021.459693725435, "y": -2832.745519778488}, {"x": 9021.10769296706, "y": -2833.0887722190773}, {"x": 9020.755608063711, "y": -2833.4319383476604}, {"x": 9020.403439033922, "y": -2833.7750181437473}, {"x": 9020.051185898878, "y": -2834.118011587637}, {"x": 9019.69884868241, "y": -2834.460918656475}, {"x": 9019.346427401733, "y": -2834.8037393321365}, {"x": 9018.993922080675, "y": -2835.146473592556}, {"x": 9018.641332740426, "y": -2835.4891214172444}, {"x": 9018.28865940084, "y": -2835.831682785711}, {"x": 9017.935902083105, "y": -2836.1741576774675}, {"x": 9017.583060811052, "y": -2836.516546072024}, {"x": 9017.230135601894, "y": -2836.858847948891}, {"x": 9016.877126480786, "y": -2837.2010632867905}, {"x": 9016.524033466265, "y": -2837.543192066021}, {"x": 9016.170856579514, "y": -2837.8852342653063}, {"x": 9015.817595843044, "y": -2838.2271898649437}, {"x": 9015.464251278037, "y": -2838.569058843656}, {"x": 9015.110822905677, "y": -2838.9108411809534}, {"x": 9014.757310747149, "y": -2839.252536856347}, {"x": 9014.403714822314, "y": -2839.5941458493467}, {"x": 9014.050035153678, "y": -2839.9356681394634}, {"x": 9013.69627176375, "y": -2840.2771037069956}, {"x": 9013.342424671067, "y": -2840.6184525298777}, {"x": 9012.988493899462, "y": -2840.959714588408}, {"x": 9012.63447946747, "y": -2841.3008898613098}, {"x": 9012.280381398923, "y": -2841.6419783296683}], "type": "road_line"}, {"geometry": [{"x": 9166.512521220016, "y": -2715.371803334726}, {"x": 9166.401601061107, "y": -2714.896428454991}, {"x": 9166.314883901003, "y": -2714.4160551427367}, {"x": 9166.254074395387, "y": -2713.93172665617}, {"x": 9166.220829429572, "y": -2713.4447360874537}, {"x": 9166.216733025809, "y": -2712.9566366169092}, {"x": 9166.243267728714, "y": -2712.4692494132955}, {"x": 9166.301782533732, "y": -2711.984668597784}, {"x": 9166.393457475073, "y": -2711.50526261833}, {"x": 9166.519265083716, "y": -2711.033671337011}, {"x": 9166.679929082185, "y": -2710.572798105323}, {"x": 9166.875880738475, "y": -2710.1257960645826}, {"x": 9167.084430477022, "y": -2709.733991521735}, {"x": 9167.319886276218, "y": -2709.3577300702445}, {"x": 9167.579571767637, "y": -2708.997749131052}, {"x": 9167.860294440352, "y": -2708.653900721917}, {"x": 9168.158190166112, "y": -2708.324792298599}, {"x": 9168.468592122077, "y": -2708.0074234658273}, {"x": 9168.785847432291, "y": -2707.696883607492}, {"x": 9169.130424720543, "y": -2707.3622966441217}, {"x": 9169.475026750619, "y": -2707.0277351633817}, {"x": 9169.819653519871, "y": -2706.6931991660595}, {"x": 9170.164305026976, "y": -2706.3586886545195}, {"x": 9170.508981270608, "y": -2706.0242036311256}, {"x": 9170.853682248122, "y": -2705.6897440974544}, {"x": 9171.198407956867, "y": -2705.3553100542936}, {"x": 9171.543158396844, "y": -2705.0209015047953}, {"x": 9171.887933564081, "y": -2704.6865184505364}, {"x": 9172.232733458579, "y": -2704.3521608930923}, {"x": 9172.577558077688, "y": -2704.017828834039}, {"x": 9172.922407420087, "y": -2703.6835222749532}, {"x": 9173.267281481802, "y": -2703.3492412189867}, {"x": 9173.61417552473, "y": -2703.0130661879857}, {"x": 9173.961136745413, "y": -2702.6769604910783}, {"x": 9174.308207289818, "y": -2702.340967688148}, {"x": 9174.6554292642, "y": -2702.005131380844}, {"x": 9175.00284471125, "y": -2701.669495227557}, {"x": 9175.3504956035, "y": -2701.3341029583894}], "type": "road_edge"}, {"geometry": [{"x": 9163.139799544862, "y": -2702.1957850749045}, {"x": 9163.488428106582, "y": -2701.8506058650523}, {"x": 9163.837478885345, "y": -2701.5058536129764}, {"x": 9164.186951356838, "y": -2701.1615288348544}, {"x": 9164.5368449994, "y": -2700.8176320460766}, {"x": 9164.8871592874, "y": -2700.4741637628204}, {"x": 9165.237893697853, "y": -2700.1311244981107}, {"x": 9165.589047703801, "y": -2699.78851476655}, {"x": 9165.940620779611, "y": -2699.4463350819515}, {"x": 9166.292612398325, "y": -2699.1045859557644}, {"x": 9166.645022032988, "y": -2698.763267901015}, {"x": 9166.997849155317, "y": -2698.422381428363}, {"x": 9167.351093238358, "y": -2698.0819270484712}, {"x": 9167.704753749855, "y": -2697.741905272}, {"x": 9168.05883016285, "y": -2697.4023166080356}, {"x": 9168.413321946418, "y": -2697.063161564086}, {"x": 9168.768228568302, "y": -2696.724440650025}, {"x": 9169.1235494989, "y": -2696.3861543717853}, {"x": 9169.47928420331, "y": -2696.0483032376646}, {"x": 9169.835432150601, "y": -2695.710887752019}, {"x": 9170.191992805874, "y": -2695.3739084215704}, {"x": 9170.548965636875, "y": -2695.037365750675}], "type": "road_line"}, {"geometry": [{"x": 9133.418854394598, "y": -2653.3402628214644}, {"x": 9133.778951410852, "y": -2653.0017919809275}, {"x": 9134.13945259388, "y": -2652.663751642062}, {"x": 9134.500356664688, "y": -2652.3261414675794}, {"x": 9134.861662345606, "y": -2651.988961121767}, {"x": 9135.223368362927, "y": -2651.6522102610315}, {"x": 9135.585473444282, "y": -2651.3158885425682}, {"x": 9135.94797631994, "y": -2650.9799956172674}, {"x": 9136.310875721496, "y": -2650.6445311344437}, {"x": 9136.674170385842, "y": -2650.309494738683}], "type": "road_edge"}, {"geometry": [{"x": 9143.229561365166, "y": -2721.6936302783893}, {"x": 9142.875272024456, "y": -2722.0453929724963}, {"x": 9142.520946791086, "y": -2722.3971195128856}, {"x": 9142.166585667706, "y": -2722.7488098940407}, {"x": 9141.812188659613, "y": -2723.100464114386}, {"x": 9141.457755769452, "y": -2723.4520821684046}, {"x": 9141.103287001197, "y": -2723.8036640545206}, {"x": 9140.748782357494, "y": -2724.1552097672175}, {"x": 9140.394241844966, "y": -2724.5067193033433}, {"x": 9140.039665464934, "y": -2724.8581926597453}, {"x": 9139.68505322005, "y": -2725.209629831695}, {"x": 9139.330405116929, "y": -2725.5610308168293}, {"x": 9138.975721158222, "y": -2725.912395611207}, {"x": 9138.621001346577, "y": -2726.263724210888}, {"x": 9138.266245685965, "y": -2726.6150166111443}, {"x": 9137.911454181685, "y": -2726.9662728103995}, {"x": 9137.556626835056, "y": -2727.317492803925}, {"x": 9137.201763651377, "y": -2727.6686765877807}, {"x": 9136.846864633299, "y": -2728.0198241588146}, {"x": 9136.49192978611, "y": -2728.3709355130864}, {"x": 9136.136959112468, "y": -2728.7220106466557}, {"x": 9135.781952616337, "y": -2729.073049557158}, {"x": 9135.426910300366, "y": -2729.4240522390774}, {"x": 9135.071832169857, "y": -2729.7750186908374}, {"x": 9134.716718227452, "y": -2730.125948906922}, {"x": 9134.361568477125, "y": -2730.4768428841785}, {"x": 9134.006382921523, "y": -2730.827700619455}, {"x": 9133.65116156727, "y": -2731.1785221095993}, {"x": 9133.29590441436, "y": -2731.529307349095}, {"x": 9132.940611469417, "y": -2731.880056336365}, {"x": 9132.58528273509, "y": -2732.230769065895}, {"x": 9132.229918215347, "y": -2732.581445535319}, {"x": 9131.87451791284, "y": -2732.932085740697}, {"x": 9131.519081832863, "y": -2733.2826896780894}, {"x": 9131.163609978064, "y": -2733.6332573443433}, {"x": 9130.808102352416, "y": -2733.9837887355193}, {"x": 9130.452558958565, "y": -2734.334283847676}, {"x": 9130.096979801809, "y": -2734.6847426768736}, {"x": 9129.74136488612, "y": -2735.035165220748}, {"x": 9129.385714212822, "y": -2735.385551474571}, {"x": 9129.030027788534, "y": -2735.73590143519}, {"x": 9128.67430561458, "y": -2736.086215099453}, {"x": 9128.318547696257, "y": -2736.4364924618435}, {"x": 9127.962754036213, "y": -2736.786733520785}, {"x": 9127.60692463842, "y": -2737.13693827155}, {"x": 9127.251059506849, "y": -2737.487106710986}, {"x": 9126.897613772711, "y": -2737.8348240360147}, {"x": 9126.544133669853, "y": -2738.1825064225104}, {"x": 9126.190620068151, "y": -2738.5301547491576}, {"x": 9125.837073838806, "y": -2738.877769893064}, {"x": 9125.483495849046, "y": -2739.225352732914}, {"x": 9125.129886971394, "y": -2739.5729041481804}, {"x": 9124.776248071756, "y": -2739.92042501597}, {"x": 9124.422580020007, "y": -2740.2679162165446}, {"x": 9124.068883686024, "y": -2740.6153786293758}, {"x": 9123.71515993836, "y": -2740.9628131331474}, {"x": 9123.36140964292, "y": -2741.3102206081203}, {"x": 9123.007633669575, "y": -2741.6576019337663}, {"x": 9122.653832886883, "y": -2742.0049579911342}, {"x": 9122.300008160746, "y": -2742.352289659696}, {"x": 9121.946160358393, "y": -2742.6995978197124}, {"x": 9121.5922903497, "y": -2743.046883352231}, {"x": 9121.238398999247, "y": -2743.394147137513}, {"x": 9120.884487175586, "y": -2743.7413900573943}, {"x": 9120.53055574462, "y": -2744.088612992135}, {"x": 9120.176605573582, "y": -2744.4358168243602}, {"x": 9119.822637528374, "y": -2744.783002433542}, {"x": 9119.468652474898, "y": -2745.130170702305}, {"x": 9119.114651281707, "y": -2745.477322512485}, {"x": 9118.760634813383, "y": -2745.8244587459194}, {"x": 9118.406603934505, "y": -2746.1715802836557}, {"x": 9118.05255951495, "y": -2746.5186880083183}, {"x": 9117.69850241665, "y": -2746.8657828017444}, {"x": 9117.344433506834, "y": -2747.2128655465585}, {"x": 9116.990353651405, "y": -2747.559937123808}, {"x": 9116.636263714943, "y": -2747.9069984176945}, {"x": 9116.282164564676, "y": -2748.254050309266}, {"x": 9115.928057063864, "y": -2748.6010936819353}, {"x": 9115.57394207973, "y": -2748.948129417538}, {"x": 9115.219820475535, "y": -2749.2951583994877}, {"x": 9114.865693118503, "y": -2749.64218150962}, {"x": 9114.511560871893, "y": -2749.989199631348}, {"x": 9114.157424602934, "y": -2750.336213647296}, {"x": 9113.80328517488, "y": -2750.6832244393004}, {"x": 9113.44914345496, "y": -2751.030232891562}, {"x": 9113.095000305106, "y": -2751.377239885917}, {"x": 9112.740856593871, "y": -2751.724246305778}, {"x": 9112.386713183187, "y": -2752.071253033769}, {"x": 9112.03257094028, "y": -2752.4182609533036}, {"x": 9111.678430729735, "y": -2752.7652709462177}, {"x": 9111.32429341613, "y": -2753.112283895924}, {"x": 9110.970159864042, "y": -2753.4593006842583}, {"x": 9110.616030939382, "y": -2753.80632219621}, {"x": 9110.261907508047, "y": -2754.153349312039}, {"x": 9109.907790434623, "y": -2754.5003829159464}, {"x": 9109.553680583687, "y": -2754.8474238897684}, {"x": 9109.199578821144, "y": -2755.194473116917}, {"x": 9108.845486011576, "y": -2755.541531479229}, {"x": 9108.491403022208, "y": -2755.888599860117}, {"x": 9108.1373307163, "y": -2756.23567914063}, {"x": 9107.783269961075, "y": -2756.5827702033916}, {"x": 9107.429221622444, "y": -2756.9298739318147}, {"x": 9107.075186564982, "y": -2757.2769912069475}, {"x": 9106.72116565592, "y": -2757.6241229106263}, {"x": 9106.367159759837, "y": -2757.9712699254765}, {"x": 9106.013169742637, "y": -2758.318433133333}, {"x": 9105.659196472874, "y": -2758.665613415246}, {"x": 9105.305240813803, "y": -2759.0128116530504}, {"x": 9104.951303633976, "y": -2759.360028728583}, {"x": 9104.597385800622, "y": -2759.707265522105}, {"x": 9104.243488178321, "y": -2760.05452291624}, {"x": 9103.889611635625, "y": -2760.401801791248}, {"x": 9103.535757038439, "y": -2760.7491030273904}, {"x": 9103.18192525399, "y": -2761.096427506503}, {"x": 9102.828117152156, "y": -2761.443776108058}, {"x": 9102.474333597516, "y": -2761.791149713104}, {"x": 9102.120575459947, "y": -2762.1385492019012}, {"x": 9101.766843605354, "y": -2762.485975453134}, {"x": 9101.413138904934, "y": -2762.8334293478506}, {"x": 9101.059462224595, "y": -2763.1809117655234}, {"x": 9100.70581443289, "y": -2763.5284235856243}, {"x": 9100.35219639969, "y": -2763.8759656860498}, {"x": 9099.998608994876, "y": -2764.2235389470598}, {"x": 9099.645053085675, "y": -2764.5711442465513}, {"x": 9099.29526928982, "y": -2764.9151036488684}, {"x": 9098.945515083, "y": -2765.2590931368595}, {"x": 9098.595788364008, "y": -2765.6031105725247}, {"x": 9098.246087036929, "y": -2765.94715381944}, {"x": 9097.896409000557, "y": -2766.291220739605}, {"x": 9097.546752157656, "y": -2766.6353091965952}, {"x": 9097.197114407016, "y": -2766.979417053987}, {"x": 9096.847493650079, "y": -2767.3235421761447}, {"x": 9096.497887784313, "y": -2767.66768242822}, {"x": 9096.148294711156, "y": -2768.0118356745766}, {"x": 9095.798712326754, "y": -2768.3559997795783}, {"x": 9095.449138532545, "y": -2768.700172609954}, {"x": 9095.099571226, "y": -2769.044352029279}, {"x": 9094.75000830723, "y": -2769.388535903493}, {"x": 9094.400447672384, "y": -2769.732722098537}, {"x": 9094.05088722025, "y": -2770.0769084795625}, {"x": 9093.701324850947, "y": -2770.421092913298}, {"x": 9093.351758461942, "y": -2770.765273264107}, {"x": 9093.002185952026, "y": -2771.1094473971416}, {"x": 9092.652605218667, "y": -2771.4536131791297}, {"x": 9092.303014161982, "y": -2771.797768474436}, {"x": 9091.95341068076, "y": -2772.141911148212}, {"x": 9091.603792673799, "y": -2772.48603906561}, {"x": 9091.254158041209, "y": -2772.8301500902053}, {"x": 9090.904504681785, "y": -2773.1742420879386}, {"x": 9090.554830495641, "y": -2773.5183129208094}, {"x": 9090.205133385543, "y": -2773.8623604531817}, {"x": 9089.855411248958, "y": -2774.2063825478435}, {"x": 9089.505661991298, "y": -2774.5503770683704}, {"x": 9089.155883511356, "y": -2774.894341875974}, {"x": 9088.806073711892, "y": -2775.238274831867}, {"x": 9088.456230498323, "y": -2775.582173798836}, {"x": 9088.106351772087, "y": -2775.926036634941}, {"x": 9087.756435438596, "y": -2776.269861202182}, {"x": 9087.406479401936, "y": -2776.61364535783}, {"x": 9087.056481567522, "y": -2776.957386961521}, {"x": 9086.706439844736, "y": -2777.3010838697387}, {"x": 9086.35635213767, "y": -2777.6447339405413}, {"x": 9086.006216357026, "y": -2777.9883350288374}, {"x": 9085.656030410866, "y": -2778.331884989534}, {"x": 9085.305792208577, "y": -2778.6753816775376}, {"x": 9084.955499663512, "y": -2779.01882294618}, {"x": 9084.605150685058, "y": -2779.3622066464286}, {"x": 9084.25474318789, "y": -2779.7055306308253}, {"x": 9083.90427508537, "y": -2780.048792748762}, {"x": 9083.553744293498, "y": -2780.391990848841}, {"x": 9083.20314872828, "y": -2780.735122779665}, {"x": 9082.852486308368, "y": -2781.078186387473}, {"x": 9082.501754952411, "y": -2781.4211795177157}, {"x": 9082.15095258039, "y": -2781.7641000142667}, {"x": 9081.800077114927, "y": -2782.1069457210015}, {"x": 9081.449126477322, "y": -2782.449714478642}, {"x": 9081.09541791211, "y": -2782.795023059179}, {"x": 9080.741636387182, "y": -2783.140256888514}, {"x": 9080.387787369385, "y": -2783.485421542155}, {"x": 9080.033876325568, "y": -2783.830522596397}, {"x": 9079.679908715958, "y": -2784.1755656322634}, {"x": 9079.325890000784, "y": -2784.520556232355}, {"x": 9078.971825637627, "y": -2784.865499983211}, {"x": 9078.61772107877, "y": -2785.2104024721602}, {"x": 9078.263581777821, "y": -2785.5552692881074}, {"x": 9077.909413187064, "y": -2785.900106023108}, {"x": 9077.555220753487, "y": -2786.244918270008}, {"x": 9077.201009928052, "y": -2786.5897116216506}, {"x": 9076.846786155096, "y": -2786.934491674034}, {"x": 9076.492554884257, "y": -2787.2792640215785}, {"x": 9076.138321559874, "y": -2787.6240342594924}, {"x": 9075.78409163026, "y": -2787.9688079845614}, {"x": 9075.429870539752, "y": -2788.313590791994}, {"x": 9075.075663736667, "y": -2788.6583882769987}, {"x": 9074.72147666799, "y": -2789.003206033209}, {"x": 9074.367314782034, "y": -2789.348049655833}, {"x": 9074.013183529756, "y": -2789.692924735352}, {"x": 9073.659088360797, "y": -2790.0378368646097}, {"x": 9073.305034730087, "y": -2790.3827916309347}, {"x": 9072.951028091233, "y": -2790.727794623231}, {"x": 9072.597073901816, "y": -2791.0728514248876}, {"x": 9072.24317762074, "y": -2791.41796762008}, {"x": 9071.889344713529, "y": -2791.7631487866793}, {"x": 9071.535580643058, "y": -2792.108400503346}, {"x": 9071.18189088015, "y": -2792.453728342434}, {"x": 9070.82644052864, "y": -2792.8009336664522}, {"x": 9070.471069351763, "y": -2793.1482200264318}, {"x": 9070.115775910315, "y": -2793.4955859148176}, {"x": 9069.760558767746, "y": -2793.843029825633}, {"x": 9069.405416482203, "y": -2794.190550252111}, {"x": 9069.05034761316, "y": -2794.5381456898494}, {"x": 9068.695350717444, "y": -2794.885814633659}, {"x": 9068.34042435453, "y": -2795.2335555822897}, {"x": 9067.985567078596, "y": -2795.5813670321277}, {"x": 9067.63077744647, "y": -2795.929247481923}, {"x": 9067.276054012325, "y": -2796.277195432003}, {"x": 9066.92139532902, "y": -2796.625209381905}, {"x": 9066.566799950731, "y": -2796.9732878335317}, {"x": 9066.212266427667, "y": -2797.321429287998}, {"x": 9065.857793311354, "y": -2797.6696322479947}, {"x": 9065.503379153324, "y": -2798.0178952177876}, {"x": 9065.149022502459, "y": -2798.366216700856}, {"x": 9064.794721907641, "y": -2798.7145952022547}, {"x": 9064.440475917752, "y": -2799.0630292278265}, {"x": 9064.086283079028, "y": -2799.411517284202}, {"x": 9063.732141939026, "y": -2799.760057877224}, {"x": 9063.37805104398, "y": -2800.108649515888}, {"x": 9063.024008940123, "y": -2800.4572907076126}, {"x": 9062.670014171043, "y": -2800.805979961393}, {"x": 9062.316065281648, "y": -2801.1547157870123}, {"x": 9061.9621608142, "y": -2801.5034966942535}, {"x": 9061.608299314938, "y": -2801.8523211936877}, {"x": 9061.254479323468, "y": -2802.2011877966747}, {"x": 9060.900699383385, "y": -2802.550095014573}, {"x": 9060.546958035618, "y": -2802.89904135953}, {"x": 9060.193253821113, "y": -2803.2480253444814}, {"x": 9059.839585280804, "y": -2803.597045483151}, {"x": 9059.48595095563, "y": -2803.9461002876847}, {"x": 9059.132349382555, "y": -2804.295188272595}, {"x": 9058.778779103844, "y": -2804.6443079531814}, {"x": 9058.425238656462, "y": -2804.993457843167}, {"x": 9058.071726580023, "y": -2805.3426364578513}, {"x": 9057.718241412818, "y": -2805.6918423133225}, {"x": 9057.364781690487, "y": -2806.041073925667}, {"x": 9057.011345952644, "y": -2806.3903298101854}, {"x": 9056.657932736258, "y": -2806.739608483753}, {"x": 9056.304540576968, "y": -2807.088908463245}, {"x": 9055.951168013065, "y": -2807.4382282655374}, {"x": 9055.597813578868, "y": -2807.7875664075063}, {"x": 9055.244475811342, "y": -2808.1369214076026}, {"x": 9054.891153247452, "y": -2808.4862917834903}, {"x": 9054.537844421518, "y": -2808.835676052833}, {"x": 9054.184547869181, "y": -2809.1850727325073}, {"x": 9053.831262126083, "y": -2809.5344803425396}, {"x": 9053.47798572919, "y": -2809.8838974013825}, {"x": 9053.124717210174, "y": -2810.2333224259114}, {"x": 9052.771455105998, "y": -2810.582753935366}, {"x": 9052.418197952305, "y": -2810.932190448986}, {"x": 9052.064944283415, "y": -2811.281630485224}, {"x": 9051.711692632318, "y": -2811.631072563319}, {"x": 9051.358441535984, "y": -2811.9805152009344}, {"x": 9051.005189528729, "y": -2812.329956917311}, {"x": 9050.651935146194, "y": -2812.679396231688}, {"x": 9050.298676921375, "y": -2813.028831663305}, {"x": 9049.945413389914, "y": -2813.3782617298266}, {"x": 9049.592143086127, "y": -2813.7276849497034}, {"x": 9049.238864546984, "y": -2814.077099842964}, {"x": 9048.885576305474, "y": -2814.4265049264836}, {"x": 9048.532276898566, "y": -2814.7758987202906}, {"x": 9048.178964860577, "y": -2815.1252797404723}, {"x": 9047.825638727149, "y": -2815.474646507056}, {"x": 9047.47229703525, "y": -2815.823997536919}, {"x": 9047.118938319196, "y": -2816.1733313485106}, {"x": 9046.765561115952, "y": -2816.5226464579205}, {"x": 9046.412163961162, "y": -2816.8719413835993}, {"x": 9046.058745393117, "y": -2817.221214641635}, {"x": 9045.705303946132, "y": -2817.5704647496914}, {"x": 9045.351838161147, "y": -2817.9196902238555}, {"x": 9044.99834657248, "y": -2818.2688895794277}, {"x": 9044.644827718419, "y": -2818.6180613332826}, {"x": 9044.291280138581, "y": -2818.967204000721}, {"x": 9043.937702371255, "y": -2819.3163160962526}, {"x": 9043.584092953406, "y": -2819.6653961351785}, {"x": 9043.230450427298, "y": -2820.0144426312213}, {"x": 9042.876773329894, "y": -2820.363454098893}, {"x": 9042.523060204783, "y": -2820.7124290511283}, {"x": 9042.16930958893, "y": -2821.061366000863}, {"x": 9041.81552002592, "y": -2821.4102634618207}, {"x": 9041.461690056694, "y": -2821.759119944572}, {"x": 9041.107818223512, "y": -2822.1079339612643}, {"x": 9040.753903068635, "y": -2822.456704023257}, {"x": 9040.399943136976, "y": -2822.8054286403335}, {"x": 9040.045936969469, "y": -2823.154106322276}, {"x": 9039.691883112353, "y": -2823.502735579657}, {"x": 9039.337780111859, "y": -2823.8513149198943}, {"x": 9038.983626511572, "y": -2824.1998428519832}, {"x": 9038.62942085773, "y": -2824.548317882555}, {"x": 9038.275161699212, "y": -2824.8967385190285}, {"x": 9037.92084758093, "y": -2825.245103268034}, {"x": 9037.566477054412, "y": -2825.593410633839}, {"x": 9037.212523121852, "y": -2825.941193503193}, {"x": 9036.858511491471, "y": -2826.288917643343}, {"x": 9036.504442176507, "y": -2826.636583043258}, {"x": 9036.150315183579, "y": -2826.984189694268}, {"x": 9035.79613052328, "y": -2827.3317375861284}, {"x": 9035.441888206204, "y": -2827.6792267101714}, {"x": 9035.087588241617, "y": -2828.0266570569393}, {"x": 9034.733230638787, "y": -2828.374028616188}, {"x": 9034.378815408307, "y": -2828.721341377672}, {"x": 9034.024342559444, "y": -2829.068595333512}, {"x": 9033.669812102791, "y": -2829.415790472674}, {"x": 9033.315224046293, "y": -2829.762926787278}, {"x": 9032.960578401864, "y": -2830.110004265503}, {"x": 9032.605875177449, "y": -2830.457022899468}, {"x": 9032.251114382318, "y": -2830.803982679717}, {"x": 9031.896296029707, "y": -2831.1508835960053}, {"x": 9031.54142012624, "y": -2831.497725638088}, {"x": 9031.186486681183, "y": -2831.844508798084}, {"x": 9030.831495707776, "y": -2832.1912330657487}, {"x": 9030.47644721264, "y": -2832.537898430838}, {"x": 9030.121341206366, "y": -2832.884504884683}, {"x": 9029.766177699548, "y": -2833.2310524178265}, {"x": 9029.410956701453, "y": -2833.577541019236}, {"x": 9029.05567822135, "y": -2833.923970681819}, {"x": 9028.700342269829, "y": -2834.2703413937547}, {"x": 9028.344948857482, "y": -2834.6166531471627}, {"x": 9027.989497990931, "y": -2834.96290593101}, {"x": 9027.633989683416, "y": -2835.3090997374156}, {"x": 9027.278423941558, "y": -2835.6552345553473}, {"x": 9026.922800778593, "y": -2836.001310376136}, {"x": 9026.56712020247, "y": -2836.347327190326}, {"x": 9026.211382222453, "y": -2836.693284987671}, {"x": 9025.855586847812, "y": -2837.039183759504}, {"x": 9025.499734091787, "y": -2837.385023495579}, {"x": 9025.143823959676, "y": -2837.730804187228}, {"x": 9024.787856464714, "y": -2838.076525824206}, {"x": 9024.431831616175, "y": -2838.422188397056}, {"x": 9024.075749421998, "y": -2838.767791896322}, {"x": 9023.71960989278, "y": -2839.113336312547}, {"x": 9023.36341303911, "y": -2839.458821636274}, {"x": 9023.007158871578, "y": -2839.804247858047}, {"x": 9022.65084739681, "y": -2840.1496149676204}, {"x": 9022.29447862804, "y": -2840.494922957115}, {"x": 9021.938052573218, "y": -2840.840171815496}, {"x": 9021.581569241607, "y": -2841.1853615340965}, {"x": 9021.225028645125, "y": -2841.530492102671}, {"x": 9020.868430791717, "y": -2841.8755635125503}, {"x": 9020.511775693298, "y": -2842.2205757542793}, {"x": 9020.15506335649, "y": -2842.5655288168236}, {"x": 9019.798293794529, "y": -2842.9104226930917}, {"x": 9019.441467014038, "y": -2843.2552573712624}, {"x": 9019.084583026934, "y": -2843.6000328434548}, {"x": 9018.727641842483, "y": -2843.944749099425}, {"x": 9018.370643471277, "y": -2844.289406129715}, {"x": 9018.013587922585, "y": -2844.6340039256575}, {"x": 9017.656475204352, "y": -2844.978542476219}, {"x": 9017.299305329818, "y": -2845.323021773519}, {"x": 9016.942078306924, "y": -2845.667441806525}, {"x": 9016.584794144941, "y": -2846.0118025673555}], "type": "road_line"}, {"geometry": [{"x": 9142.586694528889, "y": -2711.3457977554235}, {"x": 9142.235829264944, "y": -2711.6923530911254}, {"x": 9141.884940483886, "y": -2712.038884614879}, {"x": 9141.534028188362, "y": -2712.3853923266847}, {"x": 9141.18309237705, "y": -2712.731876223391}, {"x": 9140.832133055246, "y": -2713.0783363042083}, {"x": 9140.481150221625, "y": -2713.424772567562}, {"x": 9140.130143878836, "y": -2713.771185011875}, {"x": 9139.779114029527, "y": -2714.117573634783}, {"x": 9139.428060673696, "y": -2714.463938435499}, {"x": 9139.076983812669, "y": -2714.810279412446}, {"x": 9138.725883450417, "y": -2715.1565965632603}, {"x": 9138.374759586943, "y": -2715.502889887942}, {"x": 9138.023612223567, "y": -2715.84915938255}, {"x": 9137.672441362938, "y": -2716.195405047873}, {"x": 9137.32124700638, "y": -2716.5416268807585}, {"x": 9136.97002915522, "y": -2716.887824879631}, {"x": 9136.61878781078, "y": -2717.2339990437013}, {"x": 9136.267522975704, "y": -2717.5801493713943}, {"x": 9135.916234649998, "y": -2717.9262758603454}, {"x": 9135.564922837631, "y": -2718.272378508979}, {"x": 9135.21358753728, "y": -2718.618457316506}, {"x": 9134.862228752918, "y": -2718.9645122813513}, {"x": 9134.510846484543, "y": -2719.310543400362}, {"x": 9134.159440736126, "y": -2719.6565506735383}, {"x": 9133.808011506348, "y": -2720.0025340993043}, {"x": 9133.456558799175, "y": -2720.3484936752957}, {"x": 9133.105082614611, "y": -2720.6944293999363}, {"x": 9132.753582955302, "y": -2721.04034127165}, {"x": 9132.402059822574, "y": -2721.386229289649}, {"x": 9132.05051321775, "y": -2721.7320934515687}, {"x": 9131.698943142152, "y": -2722.0779337558333}, {"x": 9131.34734959843, "y": -2722.4237502008664}, {"x": 9130.99573258791, "y": -2722.7695427858803}, {"x": 9130.644092111912, "y": -2723.1153115077227}, {"x": 9130.292428173087, "y": -2723.461056366393}, {"x": 9129.94074077011, "y": -2723.806777359528}, {"x": 9129.589029908277, "y": -2724.152474485551}, {"x": 9129.237295586263, "y": -2724.498147742886}, {"x": 9128.88553780804, "y": -2724.843797129957}, {"x": 9128.533756573612, "y": -2725.1894226459754}, {"x": 9128.181951885623, "y": -2725.53502428779}, {"x": 9127.830123744072, "y": -2725.8806020546112}, {"x": 9127.478272152935, "y": -2726.226155944865}, {"x": 9127.12639711221, "y": -2726.571685956973}, {"x": 9126.774498623221, "y": -2726.917192089361}, {"x": 9126.422576688616, "y": -2727.2626743404517}, {"x": 9126.070631311042, "y": -2727.608132708669}, {"x": 9125.718662489176, "y": -2727.9535671924377}, {"x": 9125.366670226993, "y": -2728.2989777901807}, {"x": 9125.014654524488, "y": -2728.6443644995347}, {"x": 9124.662615384312, "y": -2728.989727320499}, {"x": 9124.310552809111, "y": -2729.3350662499215}, {"x": 9123.958466797563, "y": -2729.6803812870144}, {"x": 9123.606357354964, "y": -2730.0256724294136}, {"x": 9123.254224479988, "y": -2730.3709396771187}, {"x": 9122.902068175285, "y": -2730.7161830269774}, {"x": 9122.549888442176, "y": -2731.0614024782026}, {"x": 9122.19768528199, "y": -2731.4065980292166}, {"x": 9121.845458698695, "y": -2731.7517696776567}, {"x": 9121.493208690968, "y": -2732.0969174227344}, {"x": 9121.140868234643, "y": -2732.442107492808}, {"x": 9120.788506053917, "y": -2732.7872753845777}, {"x": 9120.436123847501, "y": -2733.1324228349213}, {"x": 9120.083723318072, "y": -2733.477551574414}, {"x": 9119.73130615375, "y": -2733.82266332969}, {"x": 9119.378874040001, "y": -2734.1677598187143}, {"x": 9119.0264286517, "y": -2734.512842749996}, {"x": 9118.67397165181, "y": -2734.857913820223}, {"x": 9118.321504686075, "y": -2735.2029747134743}, {"x": 9117.969029390977, "y": -2735.548027095704}, {"x": 9117.616547379163, "y": -2735.8930726186804}, {"x": 9117.264060247393, "y": -2736.2381129105306}, {"x": 9116.911569571239, "y": -2736.583149581256}, {"x": 9116.5590768998, "y": -2736.9281842140645}, {"x": 9116.206583760984, "y": -2737.2732183685225}, {"x": 9115.854091652249, "y": -2737.618253576613}, {"x": 9115.501602044575, "y": -2737.963291338798}, {"x": 9115.149116375838, "y": -2738.308333124806}, {"x": 9114.79663605214, "y": -2738.653380371264}, {"x": 9114.444162443835, "y": -2738.9984344785516}, {"x": 9114.091696885525, "y": -2739.343496808432}, {"x": 9113.739240674746, "y": -2739.688568684842}, {"x": 9113.386795062688, "y": -2740.033651388375}, {"x": 9113.034361264794, "y": -2740.3787461562815}, {"x": 9112.68194044752, "y": -2740.7238541816805}, {"x": 9112.32953373363, "y": -2741.068976607256}, {"x": 9111.977142195572, "y": -2741.4141145284075}, {"x": 9111.624766855484, "y": -2741.7592689885237}, {"x": 9111.272408686518, "y": -2742.1044409758283}, {"x": 9110.92006860224, "y": -2742.449631424958}, {"x": 9110.567747464582, "y": -2742.7948412122328}, {"x": 9110.215446075896, "y": -2743.14007115408}, {"x": 9109.86316517763, "y": -2743.485322004671}, {"x": 9109.510905451652, "y": -2743.8305944574963}, {"x": 9109.158667514948, "y": -2744.175889137486}, {"x": 9108.806451915663, "y": -2744.5212066049485}, {"x": 9108.454259138383, "y": -2744.8665473476917}, {"x": 9108.102089596201, "y": -2745.211911784962}, {"x": 9107.749943630713, "y": -2745.557300261141}, {"x": 9107.397821508044, "y": -2745.902713046532}, {"x": 9107.045723422825, "y": -2746.248150333421}, {"x": 9106.693649487595, "y": -2746.593612234501}, {"x": 9106.341599736783, "y": -2746.9390987820816}, {"x": 9105.98957412669, "y": -2747.2846099249396}, {"x": 9105.637572523598, "y": -2747.6301455283165}, {"x": 9105.285594714334, "y": -2747.9757053676162}, {"x": 9104.933640395704, "y": -2748.321289132344}, {"x": 9104.58170917315, "y": -2748.666896419015}, {"x": 9104.229800566056, "y": -2749.0125267311523}, {"x": 9103.877913995828, "y": -2749.3581794792885}, {"x": 9103.526048788544, "y": -2749.703853976238}, {"x": 9103.174204177601, "y": -2750.049549435519}, {"x": 9102.8223792918, "y": -2750.3952649705675}, {"x": 9102.470573163284, "y": -2750.740999591582}, {"x": 9102.118784715634, "y": -2751.0867522055273}, {"x": 9101.76701277445, "y": -2751.4325216114034}, {"x": 9101.415256051465, "y": -2751.778306500247}, {"x": 9101.063513155146, "y": -2752.124105452766}, {"x": 9100.71178257744, "y": -2752.469916936189}, {"x": 9100.360062703054, "y": -2752.8157393050506}, {"x": 9100.008351797527, "y": -2753.1615707956794}, {"x": 9099.656648011218, "y": -2753.507409526981}, {"x": 9099.304949376641, "y": -2753.853253497289}, {"x": 9098.953253805828, "y": -2754.1991005820014}, {"x": 9098.601559085035, "y": -2754.5449485327886}], "type": "road_edge"}, {"geometry": [{"x": 9064.604151920532, "y": -2714.8505298852465}, {"x": 9064.998660345824, "y": -2714.5561629843223}, {"x": 9065.393197945732, "y": -2714.2618351876035}, {"x": 9065.787764716288, "y": -2713.9675464958777}, {"x": 9066.18236065087, "y": -2713.6732969099335}, {"x": 9066.576985744183, "y": -2713.379086431347}, {"x": 9066.97163999093, "y": -2713.0849150609056}, {"x": 9067.366323385815, "y": -2712.7907827993977}, {"x": 9067.761035924867, "y": -2712.4966896483998}, {"x": 9068.15577760279, "y": -2712.2026356086994}, {"x": 9068.55054841296, "y": -2711.908620682661}, {"x": 9068.945348351412, "y": -2711.614644870285}, {"x": 9069.340177414168, "y": -2711.3207081739342}, {"x": 9069.735035594611, "y": -2711.0268105959744}, {"x": 9070.129922890092, "y": -2710.7329521364045}, {"x": 9070.52483929399, "y": -2710.439132797589}, {"x": 9070.919784801012, "y": -2710.145352581104}, {"x": 9071.31475940983, "y": -2709.8516114901017}, {"x": 9071.709763112502, "y": -2709.5579095245826}, {"x": 9072.10479590638, "y": -2709.2642466876982}, {"x": 9072.499857786168, "y": -2708.970622981813}, {"x": 9072.89494874657, "y": -2708.6770384077154}, {"x": 9073.290068784938, "y": -2708.3834929685568}, {"x": 9073.685217895974, "y": -2708.089986665914}, {"x": 9074.08039607571, "y": -2707.7965195029387}, {"x": 9074.475603318846, "y": -2707.5030914804197}, {"x": 9074.870839622736, "y": -2707.2097026022966}, {"x": 9075.266104982082, "y": -2706.916352870146}, {"x": 9075.66139939159, "y": -2706.623042286332}, {"x": 9076.056722849937, "y": -2706.329770853218}, {"x": 9076.4520753505, "y": -2706.0365385739574}, {"x": 9076.847456889309, "y": -2705.743345450125}, {"x": 9077.242867463716, "y": -2705.450191485663}, {"x": 9077.638307069747, "y": -2705.1570766821455}, {"x": 9078.033775700784, "y": -2704.8640010419376}, {"x": 9078.429273355501, "y": -2704.57096456898}, {"x": 9078.824800028604, "y": -2704.277967264848}, {"x": 9079.22035571612, "y": -2703.9850091319063}, {"x": 9079.615940414076, "y": -2703.692090174095}, {"x": 9080.011554119827, "y": -2703.399210394566}, {"x": 9080.407196826749, "y": -2703.106369794108}, {"x": 9080.802868533521, "y": -2702.813568377449}, {"x": 9081.198569234846, "y": -2702.520806146165}, {"x": 9081.594298926751, "y": -2702.2280831034086}, {"x": 9081.99005760659, "y": -2701.9353992523315}, {"x": 9082.385845269066, "y": -2701.6427545952984}, {"x": 9082.78166191153, "y": -2701.3501491354614}, {"x": 9083.177507528686, "y": -2701.0575828759725}, {"x": 9083.573382117887, "y": -2700.7650558191963}, {"x": 9083.97519606231, "y": -2700.4679584358764}, {"x": 9084.376384539188, "y": -2700.1700172761525}, {"x": 9084.776404651699, "y": -2699.870509715652}, {"x": 9085.174824779666, "y": -2699.5688774833534}, {"x": 9085.571314101317, "y": -2699.26471208882}, {"x": 9085.965633567495, "y": -2698.957739189507}, {"x": 9086.357627553753, "y": -2698.647802385931}, {"x": 9086.747215691199, "y": -2698.334846845833}, {"x": 9087.134384429888, "y": -2698.018903026851}, {"x": 9087.519178125565, "y": -2697.700070730173}, {"x": 9087.901689468388, "y": -2697.37850360181}, {"x": 9088.282049235055, "y": -2697.0543941524065}, {"x": 9088.660415364386, "y": -2696.727959314515}, {"x": 9089.032103410938, "y": -2696.4036620875395}, {"x": 9089.40211634185, "y": -2696.0774547965457}, {"x": 9089.770554130664, "y": -2695.7494693868025}, {"x": 9090.137517747913, "y": -2695.4198353535076}, {"x": 9090.503108608993, "y": -2695.0886793895256}, {"x": 9090.867427991601, "y": -2694.756125052041}, {"x": 9091.230576479657, "y": -2694.4222924268443}, {"x": 9091.592653384698, "y": -2694.0872977989234}, {"x": 9091.95375618848, "y": -2693.7512533277854}, {"x": 9092.313979974973, "y": -2693.4142667164724}, {"x": 9092.673416878242, "y": -2693.0764408868804}, {"x": 9093.03215553299, "y": -2692.7378736416836}, {"x": 9093.39028052774, "y": -2692.3986573286215}, {"x": 9093.747871885811, "y": -2692.0588784945417}, {"x": 9094.105004527788, "y": -2691.718617531562}, {"x": 9094.461747771024, "y": -2691.3779483161406}, {"x": 9094.81816482521, "y": -2691.0369378371124}, {"x": 9095.174312299829, "y": -2690.6956458142686}, {"x": 9095.530239728841, "y": -2690.3541243114214}, {"x": 9095.885989098015, "y": -2690.012417330554}, {"x": 9096.241594386809, "y": -2689.6705604075464}, {"x": 9096.597081112917, "y": -2689.328580196083}, {"x": 9096.952465890054, "y": -2688.9864940413104}, {"x": 9097.305034076555, "y": -2688.6469317623014}, {"x": 9097.657509807252, "y": -2688.307273512064}, {"x": 9098.009893055667, "y": -2687.9675193158164}, {"x": 9098.362183793994, "y": -2687.627669197988}, {"x": 9098.714381999725, "y": -2687.287723184585}, {"x": 9099.066487643733, "y": -2686.947681300037}, {"x": 9099.418500699536, "y": -2686.6075435695616}, {"x": 9099.770421144627, "y": -2686.267310019165}, {"x": 9100.122248949878, "y": -2685.926980674065}, {"x": 9100.473984088807, "y": -2685.586555558691}, {"x": 9100.825626537584, "y": -2685.2460346982616}, {"x": 9101.177176269726, "y": -2684.9054181187826}, {"x": 9101.52863325743, "y": -2684.564705844683}, {"x": 9101.879997476866, "y": -2684.2238979019694}, {"x": 9102.231268900226, "y": -2683.8829943158594}, {"x": 9102.582447502356, "y": -2683.541995110783}, {"x": 9102.933533256777, "y": -2683.2009003127455}, {"x": 9103.28452613833, "y": -2682.8597099469653}, {"x": 9103.635426119212, "y": -2682.518424037872}, {"x": 9103.986233175588, "y": -2682.17704261226}, {"x": 9104.33694727966, "y": -2681.8355656945587}, {"x": 9104.68756840759, "y": -2681.4939933099854}, {"x": 9105.038096531576, "y": -2681.152325484547}, {"x": 9105.388531625138, "y": -2680.8105622418843}, {"x": 9105.738873664443, "y": -2680.46870360958}, {"x": 9106.089122621688, "y": -2680.126749611276}, {"x": 9106.439278471715, "y": -2679.7847002737653}, {"x": 9106.789341188045, "y": -2679.4425556206907}, {"x": 9107.13931074552, "y": -2679.100315678845}, {"x": 9107.489187117662, "y": -2678.7579804726593}, {"x": 9107.83897027799, "y": -2678.4155500281386}, {"x": 9108.188660202672, "y": -2678.0730243705007}], "type": "road_edge"}, {"geometry": [{"x": 9059.349414283342, "y": -2705.911244769595}, {"x": 9058.950245316333, "y": -2706.2089700259717}, {"x": 9058.551076218244, "y": -2706.5066951058234}, {"x": 9058.151906983783, "y": -2706.804420003634}, {"x": 9057.752737608977, "y": -2707.1021447130984}, {"x": 9057.353568091177, "y": -2707.3998692318532}, {"x": 9056.954398427735, "y": -2707.6975935535934}, {"x": 9056.555228614681, "y": -2707.995317675167}, {"x": 9056.156058649363, "y": -2708.293041592634}, {"x": 9055.756888529138, "y": -2708.5907653036297}, {"x": 9055.357718252679, "y": -2708.888488803426}, {"x": 9054.958547816015, "y": -2709.1862120896585}, {"x": 9054.559377219144, "y": -2709.4839351599635}, {"x": 9054.16020645942, "y": -2709.781658011976}, {"x": 9053.761035534195, "y": -2710.079380644121}, {"x": 9053.361864443468, "y": -2710.3771030524576}, {"x": 9052.962693185915, "y": -2710.6748252369857}, {"x": 9052.563521760214, "y": -2710.9725471961297}, {"x": 9052.164350163714, "y": -2711.2702689275243}, {"x": 9051.76517839774, "y": -2711.567990431171}, {"x": 9051.366006460968, "y": -2711.8657117047046}, {"x": 9050.966834350753, "y": -2712.163432748125}, {"x": 9050.567662069738, "y": -2712.461153560645}, {"x": 9050.168489615278, "y": -2712.758874140688}, {"x": 9049.769316987371, "y": -2713.056594489042}, {"x": 9049.370144187345, "y": -2713.354314604919}, {"x": 9048.970971212548, "y": -2713.652034487531}, {"x": 9048.571798062982, "y": -2713.949754136878}, {"x": 9048.17262473997, "y": -2714.24747355296}, {"x": 9047.77345124351, "y": -2714.5451927357767}, {"x": 9047.374277572282, "y": -2714.8429116845405}, {"x": 9046.975103726285, "y": -2715.140630400039}, {"x": 9046.575929706843, "y": -2715.4383488814847}, {"x": 9046.18099423319, "y": -2715.7290619691958}, {"x": 9045.776274496753, "y": -2716.0059162337343}, {"x": 9045.355437059216, "y": -2716.2574866873842}, {"x": 9044.915892378252, "y": -2716.474612697434}, {"x": 9044.45826808617, "y": -2716.6503668192895}, {"x": 9043.98556150265, "y": -2716.7801413803586}, {"x": 9043.502184756839, "y": -2716.8616187868297}, {"x": 9043.013084950484, "y": -2716.8945244376746}, {"x": 9042.523073549506, "y": -2716.8801690617843}], "type": "road_edge"}, {"geometry": [{"x": 9095.620147661444, "y": -2675.943566874219}, {"x": 9095.278139397295, "y": -2676.2799915831392}, {"x": 9094.93613113447, "y": -2676.6164162912714}, {"x": 9094.59412287032, "y": -2676.952841000192}, {"x": 9094.25211460617, "y": -2677.2892657091124}, {"x": 9093.91010634202, "y": -2677.625690417245}, {"x": 9093.568098079195, "y": -2677.9621151261654}, {"x": 9093.226089815045, "y": -2678.298539835086}, {"x": 9092.884081550896, "y": -2678.6349645432183}, {"x": 9092.542073286746, "y": -2678.9713892521386}, {"x": 9092.20006502392, "y": -2679.3078139610593}, {"x": 9091.858056759771, "y": -2679.6442386691915}, {"x": 9091.516048495621, "y": -2679.9806633781122}, {"x": 9091.174040231472, "y": -2680.3170880870325}, {"x": 9090.832031968646, "y": -2680.653512795165}, {"x": 9090.490023704497, "y": -2680.9899375040854}, {"x": 9090.148015440347, "y": -2681.3263622130057}, {"x": 9089.806007176197, "y": -2681.6627869211384}, {"x": 9089.463998913372, "y": -2681.9992116300587}, {"x": 9089.121990649222, "y": -2682.3356363389794}, {"x": 9088.779982385073, "y": -2682.6720610471116}, {"x": 9088.437974120923, "y": -2683.0084857560323}, {"x": 9088.095965858098, "y": -2683.3449104649526}, {"x": 9087.753957593948, "y": -2683.681335173085}, {"x": 9087.411949329799, "y": -2684.0177598820055}, {"x": 9087.061070122674, "y": -2684.3630020978494}, {"x": 9086.710370801205, "y": -2684.7084270343003}, {"x": 9086.359792167461, "y": -2685.0539744672096}, {"x": 9086.00905513414, "y": -2685.3993610906655}, {"x": 9085.657706772405, "y": -2685.744125656141}, {"x": 9085.305167994871, "y": -2686.087672504798}, {"x": 9084.950782753278, "y": -2686.4293136867977}, {"x": 9084.593867974936, "y": -2686.7683104903613}, {"x": 9084.233763135091, "y": -2687.103915554777}, {"x": 9083.869878102774, "y": -2687.4354169204557}, {"x": 9083.501737883153, "y": -2687.762185240674}, {"x": 9083.129022997271, "y": -2688.0837250738755}, {"x": 9082.751604690195, "y": -2688.399730614315}, {"x": 9082.36957471865, "y": -2688.710145577345}, {"x": 9081.983270521821, "y": -2689.015226145511}, {"x": 9081.59329780372, "y": -2689.3156050612783}, {"x": 9081.200554209167, "y": -2689.612354050646}, {"x": 9080.806259638399, "y": -2689.9070407713425}, {"x": 9080.408914007596, "y": -2690.203419420143}, {"x": 9080.011568249689, "y": -2690.4997978995107}, {"x": 9079.614222366, "y": -2690.796176208658}, {"x": 9079.216876353883, "y": -2691.0925543475846}, {"x": 9078.81953021731, "y": -2691.3889323178673}, {"x": 9078.422183952305, "y": -2691.6853101171414}, {"x": 9078.02483756152, "y": -2691.9816877469834}, {"x": 9077.62749104363, "y": -2692.2780652073925}, {"x": 9077.230144398634, "y": -2692.5744424975815}, {"x": 9076.832797627858, "y": -2692.87081961755}, {"x": 9076.435450729976, "y": -2693.167196568086}, {"x": 9076.038103706313, "y": -2693.46357334919}, {"x": 9075.64075655422, "y": -2693.759949959285}, {"x": 9075.243409276347, "y": -2694.056326400736}, {"x": 9074.846061872691, "y": -2694.3527026719667}, {"x": 9074.448714340608, "y": -2694.6490787729767}, {"x": 9074.051366682743, "y": -2694.9454547045543}, {"x": 9073.654018899097, "y": -2695.2418304659113}, {"x": 9073.25667098702, "y": -2695.5382060578363}, {"x": 9072.859322949163, "y": -2695.8345814795407}, {"x": 9072.4619747842, "y": -2696.1309567318126}, {"x": 9072.064626493458, "y": -2696.4273318138644}, {"x": 9071.667278075609, "y": -2696.7237067264837}, {"x": 9071.269929530656, "y": -2697.0200814688824}, {"x": 9070.872580859921, "y": -2697.3164560418486}, {"x": 9070.475232060757, "y": -2697.6128304445947}, {"x": 9070.077883137135, "y": -2697.9092046779083}, {"x": 9069.680534085086, "y": -2698.2055787410013}, {"x": 9069.283184907254, "y": -2698.501952634662}, {"x": 9068.885835602317, "y": -2698.7983263581023}, {"x": 9068.488486170274, "y": -2699.094699911322}, {"x": 9068.091136612451, "y": -2699.39107329511}, {"x": 9067.693786927523, "y": -2699.6874465094647}, {"x": 9067.296437116813, "y": -2699.9838195535995}, {"x": 9066.899087177673, "y": -2700.2801924283017}, {"x": 9066.501737112754, "y": -2700.5765651319957}, {"x": 9066.104386922052, "y": -2700.8729376670453}, {"x": 9065.707036604246, "y": -2701.1693100318744}, {"x": 9065.309686159333, "y": -2701.465682226483}, {"x": 9064.912335587316, "y": -2701.762054251659}, {"x": 9064.514984889518, "y": -2702.0584261074027}, {"x": 9064.117634063292, "y": -2702.354797792138}, {"x": 9063.720283112607, "y": -2702.6511693082293}, {"x": 9063.322932033492, "y": -2702.9475406541}, {"x": 9062.925580828598, "y": -2703.2439118297502}, {"x": 9062.52822949792, "y": -2703.540282835968}, {"x": 9062.130878038815, "y": -2703.836653671965}, {"x": 9061.733526453929, "y": -2704.13302433853}, {"x": 9061.336174741937, "y": -2704.4293948348745}, {"x": 9060.938822904163, "y": -2704.725765160999}, {"x": 9060.541470939286, "y": -2705.0221353184784}, {"x": 9060.144118847302, "y": -2705.3185053049497}, {"x": 9059.746766628214, "y": -2705.6148751219885}, {"x": 9059.349414283342, "y": -2705.911244769595}], "type": "road_edge"}, {"geometry": [{"x": 9108.188660202672, "y": -2678.0730243705007}, {"x": 9108.537119883933, "y": -2677.7315208243335}, {"x": 9108.885490999339, "y": -2677.3899269336694}, {"x": 9109.233777456053, "y": -2677.048246723906}, {"x": 9109.581982959988, "y": -2676.7064840171224}, {"x": 9109.930111027717, "y": -2676.3646424336557}, {"x": 9110.278164991783, "y": -2676.0227253991925}, {"x": 9110.626148002011, "y": -2675.6807361542246}, {"x": 9110.974063038755, "y": -2675.338677757204}, {"x": 9111.321912910244, "y": -2674.99655309321}, {"x": 9111.669700268476, "y": -2674.6543648810402}, {"x": 9112.017427606566, "y": -2674.3121156779425}, {"x": 9112.365097269341, "y": -2673.9698078867036}, {"x": 9112.712711458636, "y": -2673.6274437627444}, {"x": 9113.060272241233, "y": -2673.285025421212}, {"x": 9113.40778155019, "y": -2672.9425548409185}, {"x": 9113.755241195431, "y": -2672.6000338738}, {"x": 9114.102652867723, "y": -2672.2574642504296}, {"x": 9114.450018147936, "y": -2671.91484758475}, {"x": 9114.797338507049, "y": -2671.57218538274}, {"x": 9115.144615320709, "y": -2671.2294790479286}, {"x": 9115.49184986659, "y": -2670.886729887704}, {"x": 9115.839043337626, "y": -2670.5439391204036}, {"x": 9116.186196844665, "y": -2670.201107880042}, {"x": 9116.533311423083, "y": -2669.8582372265564}, {"x": 9116.880388040736, "y": -2669.5153281458074}, {"x": 9117.227427601922, "y": -2669.172381563762}, {"x": 9117.57443095666, "y": -2668.829398345708}, {"x": 9117.921398902, "y": -2668.4863793072846}, {"x": 9118.268332192638, "y": -2668.14332522}, {"x": 9118.61523154618, "y": -2667.800236815172}, {"x": 9118.962097649795, "y": -2667.457114793384}, {"x": 9119.308931162837, "y": -2667.113959830001}, {"x": 9119.65573272878, "y": -2666.7707725798987}, {"x": 9120.00250297785, "y": -2666.4275536861323}, {"x": 9120.344795067942, "y": -2666.088710012402}, {"x": 9120.687067264744, "y": -2665.7498462432027}, {"x": 9121.02932958706, "y": -2665.4109725011353}, {"x": 9121.371592053692, "y": -2665.07209890407}, {"x": 9121.713864683446, "y": -2664.7332355730314}, {"x": 9122.05615749645, "y": -2664.3943926290417}, {"x": 9122.398480507534, "y": -2664.0555801939136}, {"x": 9122.740843732852, "y": -2663.7168083933984}, {"x": 9123.083257181945, "y": -2663.3780873564006}, {"x": 9123.425730859046, "y": -2663.039427216552}, {"x": 9123.7682747684, "y": -2662.700838112214}, {"x": 9124.110898899678, "y": -2662.3623301880516}, {"x": 9124.453613243883, "y": -2662.0239135958227}, {"x": 9124.796427777448, "y": -2661.685598496741}, {"x": 9125.139352471515, "y": -2661.3473950583266}, {"x": 9125.482397285303, "y": -2661.0093134599183}, {"x": 9125.82557216877, "y": -2660.671363891101}], "type": "road_edge"}, {"geometry": [{"x": 9125.82557216877, "y": -2660.671363891101}, {"x": 9126.167557584433, "y": -2660.334870031704}, {"x": 9126.509707560304, "y": -2659.998543498997}, {"x": 9126.852047528017, "y": -2659.6624103579843}, {"x": 9127.194602529948, "y": -2659.3264963623883}, {"x": 9127.53739703385, "y": -2658.9908267781225}, {"x": 9127.88045475279, "y": -2658.6554262083446}, {"x": 9128.223798465082, "y": -2658.320318409839}, {"x": 9128.567449831571, "y": -2657.985526117278}, {"x": 9128.911429219545, "y": -2657.6510708564547}, {"x": 9129.255755526636, "y": -2657.316972763817}, {"x": 9129.600446006052, "y": -2656.9832504012725}, {"x": 9129.945516090485, "y": -2656.6499205654804}, {"x": 9130.29097922661, "y": -2656.316998103446}, {"x": 9130.636846700307, "y": -2655.984495720234}, {"x": 9130.983127476467, "y": -2655.6524237827407}, {"x": 9131.32982802554, "y": -2655.32079013214}, {"x": 9131.676952165977, "y": -2654.989599881349}, {"x": 9132.024500902708, "y": -2654.658855221168}, {"x": 9132.372472262949, "y": -2654.328555220113}, {"x": 9132.720861139984, "y": -2653.9986956242483}, {"x": 9133.069659132956, "y": -2653.6692686578112}, {"x": 9133.418854394598, "y": -2653.3402628214644}], "type": "road_edge"}, {"geometry": [{"x": 9121.353455030736, "y": -2650.678440951112}, {"x": 9121.015974999724, "y": -2651.0030623077464}, {"x": 9120.678838829359, "y": -2651.3280407616408}, {"x": 9120.34204688242, "y": -2651.6533759345275}, {"x": 9120.005599524338, "y": -2651.9790674497153}, {"x": 9119.66949712186, "y": -2652.305114932088}, {"x": 9119.333740045715, "y": -2652.6315180073193}, {"x": 9118.998328665297, "y": -2652.958276303445}, {"x": 9118.663263350008, "y": -2653.285389450867}, {"x": 9118.328544474545, "y": -2653.6128570791975}, {"x": 9117.994172410954, "y": -2653.94067881805}, {"x": 9117.660147531282, "y": -2654.268854300189}, {"x": 9117.3264702089, "y": -2654.5973831568044}, {"x": 9116.99314081983, "y": -2654.926265019873}, {"x": 9116.658399298454, "y": -2655.2544654180288}, {"x": 9116.316322445153, "y": -2655.57498542355}, {"x": 9115.9610229437, "y": -2655.880738834491}, {"x": 9115.588684053577, "y": -2656.1654462622555}, {"x": 9115.197501721495, "y": -2656.423605196445}, {"x": 9114.787474150768, "y": -2656.6506039493133}, {"x": 9114.360077175923, "y": -2656.842884663903}, {"x": 9113.917866071191, "y": -2656.9980816394286}, {"x": 9113.46404893245, "y": -2657.1150877787127}, {"x": 9113.0020770436, "y": -2657.1940289684385}, {"x": 9112.535291260589, "y": -2657.236149270189}, {"x": 9112.066651843987, "y": -2657.2436257820823}, {"x": 9111.598564778978, "y": -2657.2193398719587}, {"x": 9111.132803985653, "y": -2657.1666317604904}, {"x": 9110.648319316651, "y": -2657.08275952032}, {"x": 9110.171131603069, "y": -2656.964403458101}, {"x": 9109.70590780941, "y": -2656.80554061287}, {"x": 9109.258417477005, "y": -2656.6021109206395}, {"x": 9108.834844167266, "y": -2656.3527249988547}, {"x": 9108.440665210606, "y": -2656.0590730883887}, {"x": 9108.079232999096, "y": -2655.7258982690396}, {"x": 9107.750297120905, "y": -2655.360524872477}, {"x": 9107.448744914444, "y": -2654.972149209931}, {"x": 9107.163800024986, "y": -2654.5713554368963}, {"x": 9106.881949466942, "y": -2654.167566485534}, {"x": 9106.600558841763, "y": -2653.763456888514}, {"x": 9106.319628513553, "y": -2653.3590271691087}, {"x": 9106.039158846414, "y": -2652.9542778513746}, {"x": 9105.759150203125, "y": -2652.5492094601595}, {"x": 9105.479602949114, "y": -2652.1438225210964}, {"x": 9105.200517444513, "y": -2651.7381175598207}, {"x": 9104.921894052102, "y": -2651.3320951011788}, {"x": 9104.643733133335, "y": -2650.9257556723805}, {"x": 9104.366035048344, "y": -2650.519099799849}, {"x": 9104.08880015726, "y": -2650.112128010794}, {"x": 9103.812028818893, "y": -2649.704840833215}, {"x": 9103.535721392047, "y": -2649.2972387951095}, {"x": 9103.259878236853, "y": -2648.889322424477}, {"x": 9102.98449970815, "y": -2648.481092250104}, {"x": 9102.709586164745, "y": -2648.072548800777}, {"x": 9102.435137962793, "y": -2647.6636926076467}, {"x": 9102.161155457135, "y": -2647.254524198712}, {"x": 9101.88763900525, "y": -2646.8450441066993}, {"x": 9101.614588958004, "y": -2646.4352528603954}, {"x": 9101.34200567288, "y": -2646.0251509917393}, {"x": 9101.069889502065, "y": -2645.61473903267}, {"x": 9100.798240797745, "y": -2645.2040175151265}, {"x": 9100.52705991211, "y": -2644.792986971835}, {"x": 9100.256347196022, "y": -2644.381647934735}, {"x": 9099.986103002992, "y": -2643.97000093813}, {"x": 9099.716327681235, "y": -2643.5580465147455}, {"x": 9099.447021581615, "y": -2643.1457851996734}, {"x": 9099.178185052348, "y": -2642.733217525641}, {"x": 9098.909818441649, "y": -2642.320344029315}, {"x": 9098.641922099057, "y": -2641.9071652449984}, {"x": 9098.37449637014, "y": -2641.4936817085704}, {"x": 9098.107541601787, "y": -2641.0798939566985}, {"x": 9097.841058142216, "y": -2640.6658025244737}, {"x": 9097.575046334345, "y": -2640.2514079493512}, {"x": 9097.309506523741, "y": -2639.8367107679983}, {"x": 9097.044439054649, "y": -2639.421711519446}, {"x": 9096.779844271312, "y": -2639.0064107403623}, {"x": 9096.515722516646, "y": -2638.5908089697778}, {"x": 9096.25207413225, "y": -2638.174906745936}, {"x": 9095.988899459719, "y": -2637.7587046086564}, {"x": 9095.726198841969, "y": -2637.3422030969705}, {"x": 9095.46397261795, "y": -2636.9254027506977}, {"x": 9095.202221127935, "y": -2636.508304111234}, {"x": 9094.94094471219, "y": -2636.0909077176098}, {"x": 9094.680143707019, "y": -2635.6732141120096}, {"x": 9094.419818454015, "y": -2635.2552238366166}, {"x": 9094.159969288154, "y": -2634.836937432038}, {"x": 9093.900596547057, "y": -2634.418355440458}, {"x": 9093.641700565702, "y": -2633.999478404848}, {"x": 9093.383281683036, "y": -2633.580306868968}, {"x": 9093.12534023006, "y": -2633.1608413757895}, {"x": 9092.867876543078, "y": -2632.741082468284}, {"x": 9092.61089095706, "y": -2632.321030690999}, {"x": 9092.35438380301, "y": -2631.9006865892716}, {"x": 9092.09835541458, "y": -2631.4800507076484}, {"x": 9091.845610498069, "y": -2631.06375664818}, {"x": 9091.593313296433, "y": -2630.6471910957835}, {"x": 9091.34144287306, "y": -2630.2303673607494}, {"x": 9091.08997824897, "y": -2629.813298687963}, {"x": 9090.838898406788, "y": -2629.395998259263}, {"x": 9090.588182293388, "y": -2628.978479199748}, {"x": 9090.337808823868, "y": -2628.5607545785656}, {"x": 9090.087756880224, "y": -2628.1428374112743}, {"x": 9089.838005314008, "y": -2627.7247406653614}, {"x": 9089.588532951604, "y": -2627.306477264184}, {"x": 9089.339318591601, "y": -2626.8880600853904}, {"x": 9089.090341011399, "y": -2626.469501969591}, {"x": 9088.841578963244, "y": -2626.050815721145}, {"x": 9088.593011183491, "y": -2625.6320141089504}, {"x": 9088.344616387316, "y": -2625.2131098758973}, {"x": 9088.096373276649, "y": -2624.794115736507}, {"x": 9087.848260540182, "y": -2624.375044381659}, {"x": 9087.600256850721, "y": -2623.9559084833186}, {"x": 9087.352340877096, "y": -2623.536720696903}, {"x": 9087.104491276228, "y": -2623.117493663644}, {"x": 9086.850386662283, "y": -2622.6875552689994}, {"x": 9086.596372022941, "y": -2622.257563711202}, {"x": 9086.342490000678, "y": -2621.8274938409704}, {"x": 9086.088783259152, "y": -2621.3973205484267}, {"x": 9085.835294496448, "y": -2620.967018775703}, {"x": 9085.582066446399, "y": -2620.5365635303415}, {"x": 9085.32914188785, "y": -2620.105929895538}, {"x": 9085.076563655262, "y": -2619.6750930474777}, {"x": 9084.824374640024, "y": -2619.244028263219}, {"x": 9084.572617802372, "y": -2618.8127109364523}, {"x": 9084.321336179339, "y": -2618.381116591684}, {"x": 9084.070572884748, "y": -2617.9492208913334}, {"x": 9083.820371127751, "y": -2617.5169996554287}, {"x": 9083.570774207534, "y": -2617.084428870279}, {"x": 9083.321825529205, "y": -2616.65148470266}, {"x": 9083.075683000345, "y": -2616.2218587484163}, {"x": 9082.830217880048, "y": -2615.791845404767}, {"x": 9082.585427608994, "y": -2615.3614475410304}, {"x": 9082.341309623898, "y": -2614.9306680115506}, {"x": 9082.09786134558, "y": -2614.499509657275}, {"x": 9081.85508018957, "y": -2614.0679753057548}, {"x": 9081.61296355683, "y": -2613.636067770355}, {"x": 9081.371508843029, "y": -2613.203789849468}, {"x": 9081.13071343059, "y": -2612.7711443296666}, {"x": 9080.890574695324, "y": -2612.338133983336}, {"x": 9080.651089999796, "y": -2611.9047615678896}, {"x": 9080.412256701275, "y": -2611.471029829709}, {"x": 9080.174072145119, "y": -2611.0369414978377}, {"x": 9079.936533666089, "y": -2610.6024992918615}, {"x": 9079.69963859365, "y": -2610.1677059156063}, {"x": 9079.463384245357, "y": -2609.732564059501}, {"x": 9079.227767929486, "y": -2609.297076401365}, {"x": 9078.99278694638, "y": -2608.8612456040446}, {"x": 9078.758438587107, "y": -2608.425074320142}, {"x": 9078.524720134794, "y": -2607.988565186498}, {"x": 9078.29162886065, "y": -2607.551720827344}, {"x": 9078.059162031916, "y": -2607.114543853515}, {"x": 9077.827316903908, "y": -2606.6770368640246}, {"x": 9077.596090722684, "y": -2606.2392024437017}, {"x": 9077.365480730325, "y": -2605.8010431639786}, {"x": 9077.135484155671, "y": -2605.362561584466}, {"x": 9076.906098220947, "y": -2604.92376025059}, {"x": 9076.677320140427, "y": -2604.484641696744}, {"x": 9076.449147121768, "y": -2604.0452084431354}, {"x": 9076.221576362037, "y": -2603.605462997364}, {"x": 9075.994605050357, "y": -2603.16540785442}, {"x": 9075.768230369224, "y": -2602.725045496685}, {"x": 9075.5424494932, "y": -2602.284378394719}, {"x": 9075.31725958757, "y": -2601.843409004898}, {"x": 9075.092657812329, "y": -2601.4021397717765}, {"x": 9074.868641316878, "y": -2600.960573128876}, {"x": 9074.645207246644, "y": -2600.5187114947457}, {"x": 9074.422352735142, "y": -2600.0765572784767}, {"x": 9074.200074910586, "y": -2599.634112873401}, {"x": 9073.9783708959, "y": -2599.191380664968}, {"x": 9073.757237804733, "y": -2598.748363021292}, {"x": 9073.536672741471, "y": -2598.305062303392}, {"x": 9073.316672806526, "y": -2597.861480857316}, {"x": 9073.097235091042, "y": -2597.417621017291}, {"x": 9072.878356682191, "y": -2596.97348510651}, {"x": 9072.660034655231, "y": -2596.5290754355583}, {"x": 9072.442266084092, "y": -2596.0843943032}, {"x": 9072.225048030788, "y": -2595.639443996378}, {"x": 9072.008377554692, "y": -2595.194226791002}, {"x": 9071.792251705901, "y": -2594.7487449511623}, {"x": 9071.576667527894, "y": -2594.303000728339}, {"x": 9071.361622057533, "y": -2593.8569963637683}, {"x": 9071.147112329027, "y": -2593.4107340852884}, {"x": 9070.93313536335, "y": -2592.9642161112815}, {"x": 9070.71968818147, "y": -2592.5174446483093}, {"x": 9070.506767793771, "y": -2592.0704218903234}, {"x": 9070.294371205335, "y": -2591.62315002182}, {"x": 9070.082495417271, "y": -2591.1756312146854}, {"x": 9069.87256490036, "y": -2590.730896979067}, {"x": 9069.663140540244, "y": -2590.285924173989}, {"x": 9069.454217671102, "y": -2589.840715691623}, {"x": 9069.24579162314, "y": -2589.395274406802}, {"x": 9069.037857712001, "y": -2588.9496031793883}, {"x": 9068.830411250681, "y": -2588.5037048534814}, {"x": 9068.623447541584, "y": -2588.0575822550554}, {"x": 9068.416961877845, "y": -2587.611238196688}, {"x": 9068.210949547301, "y": -2587.16467547362}, {"x": 9068.005405828526, "y": -2586.7178968669054}, {"x": 9067.800325992144, "y": -2586.270905141051}, {"x": 9067.595705303487, "y": -2585.823703046378}, {"x": 9067.39153901597, "y": -2585.3762933174453}, {"x": 9067.187822381682, "y": -2584.9286786738403}, {"x": 9066.98455063815, "y": -2584.4808618217526}, {"x": 9066.781719022903, "y": -2584.0328454508226}, {"x": 9066.579322761549, "y": -2583.584632238082}, {"x": 9066.377357074403, "y": -2583.1362248440137}, {"x": 9066.175817176483, "y": -2582.6876259180663}, {"x": 9065.974698272217, "y": -2582.2388380923526}, {"x": 9065.773995562056, "y": -2581.789863987952}, {"x": 9065.57370424116, "y": -2581.340706210971}], "type": "road_edge"}, {"geometry": [{"x": 9090.775354092151, "y": -2648.748620094318}, {"x": 9091.045495920469, "y": -2649.1631392061804}, {"x": 9091.316178160434, "y": -2649.577305633905}, {"x": 9091.587400359236, "y": -2649.9911186682402}, {"x": 9091.85916206671, "y": -2650.404577599146}, {"x": 9092.131462827396, "y": -2650.8176817165827}, {"x": 9092.404302185834, "y": -2651.230430314451}, {"x": 9092.67767968524, "y": -2651.642822684287}, {"x": 9092.951594867503, "y": -2652.054858120778}, {"x": 9093.22604727187, "y": -2652.466535918614}, {"x": 9093.501036438907, "y": -2652.8778553732714}, {"x": 9093.776561903886, "y": -2653.2888157810144}, {"x": 9094.052623204725, "y": -2653.6994164404714}, {"x": 9094.329219876698, "y": -2654.1096566479073}, {"x": 9094.606351452427, "y": -2654.519535703527}, {"x": 9094.884017464534, "y": -2654.929052907535}, {"x": 9095.162217443, "y": -2655.3382075601367}, {"x": 9095.440950920442, "y": -2655.746998963113}, {"x": 9095.720217422866, "y": -2656.155426418245}, {"x": 9096.000016478925, "y": -2656.5634892296775}, {"x": 9096.280347614622, "y": -2656.9711867007672}, {"x": 9096.561210354635, "y": -2657.3785181364483}, {"x": 9096.842604223646, "y": -2657.7854828424415}, {"x": 9097.124528743683, "y": -2658.1920801252563}, {"x": 9097.406983436778, "y": -2658.598309291402}, {"x": 9097.689967822318, "y": -2659.0041696489643}, {"x": 9097.973481422332, "y": -2659.409660506028}, {"x": 9098.25752375223, "y": -2659.814781173831}, {"x": 9098.542094331397, "y": -2660.219530960459}, {"x": 9098.827192675244, "y": -2660.6239091771495}, {"x": 9099.112818299183, "y": -2661.0279151367167}, {"x": 9099.398970718625, "y": -2661.4315481496096}, {"x": 9099.685649443685, "y": -2661.8348075302183}, {"x": 9099.972853989775, "y": -2662.237692591357}, {"x": 9100.26058386701, "y": -2662.6402026474143}, {"x": 9100.548838586828, "y": -2663.04233701357}, {"x": 9100.837617656698, "y": -2663.4440950057888}, {"x": 9101.114561548338, "y": -2663.832917029665}, {"x": 9101.379726851374, "y": -2664.229825423495}, {"x": 9101.622708211335, "y": -2664.640634465078}, {"x": 9101.83481677009, "y": -2665.0681503809637}, {"x": 9102.009068550271, "y": -2665.512403804527}, {"x": 9102.140329650485, "y": -2665.971177116517}, {"x": 9102.22543715943, "y": -2666.440698243072}, {"x": 9102.26318589195, "y": -2666.9163778701895}, {"x": 9102.254143897135, "y": -2667.3934795353907}, {"x": 9102.20031720243, "y": -2667.8676396921373}, {"x": 9102.104717511593, "y": -2668.335192693744}, {"x": 9101.978855190773, "y": -2668.7677568032573}, {"x": 9101.819259434833, "y": -2669.1890406817756}, {"x": 9101.62678639801, "y": -2669.5963561545623}, {"x": 9101.40308625552, "y": -2669.9874005528286}, {"x": 9101.15076570492, "y": -2670.3606347804175}, {"x": 9100.873455934303, "y": -2670.715722581828}, {"x": 9100.57580732756, "y": -2671.053978720805}, {"x": 9100.263473402796, "y": -2671.378762432274}, {"x": 9099.943194229092, "y": -2671.695742805458}, {"x": 9099.610407955304, "y": -2672.022249824696}, {"x": 9099.277667281836, "y": -2672.348803314113}, {"x": 9098.94497205775, "y": -2672.6754031066416}, {"x": 9098.612321885843, "y": -2673.002048785399}, {"x": 9098.279715991566, "y": -2673.3287395489306}, {"x": 9097.947153103867, "y": -2673.655474091425}, {"x": 9097.614631326762, "y": -2673.9822504726844}, {"x": 9097.282148014872, "y": -2674.309065989671}, {"x": 9096.949699647648, "y": -2674.635917054359}, {"x": 9096.617281708881, "y": -2674.9627990644926}, {"x": 9096.284888555632, "y": -2675.2897062767074}, {"x": 9095.952513293767, "y": -2675.6166316812314}, {"x": 9095.620147661444, "y": -2675.943566874219}], "type": "road_edge"}, {"geometry": [{"x": 9031.948379898764, "y": -2724.200179206042}, {"x": 9032.036935835715, "y": -2724.6349658459803}, {"x": 9032.090881465152, "y": -2725.075374327938}, {"x": 9032.107855978527, "y": -2725.518735433114}, {"x": 9032.085709997544, "y": -2725.9618533145626}, {"x": 9032.02259656164, "y": -2726.400996287949}, {"x": 9031.917072416261, "y": -2726.831901990964}, {"x": 9031.768207968165, "y": -2727.2498002149273}, {"x": 9031.575703470155, "y": -2727.649456713697}, {"x": 9031.326911156393, "y": -2728.047762653569}, {"x": 9031.042535523524, "y": -2728.421610328033}, {"x": 9030.733666611348, "y": -2728.7755747202627}, {"x": 9030.409325778617, "y": -2729.1154699914264}, {"x": 9030.076553842564, "y": -2729.4471399565086}, {"x": 9029.740509637062, "y": -2729.7755014123563}, {"x": 9029.404437084451, "y": -2730.1038340907053}, {"x": 9029.069454490826, "y": -2730.4332787537637}, {"x": 9028.71531476222, "y": -2730.7822191741043}, {"x": 9028.361152629997, "y": -2731.131136856619}, {"x": 9028.00696809548, "y": -2731.4800317981562}, {"x": 9027.652761161316, "y": -2731.828903997928}, {"x": 9027.298531827508, "y": -2732.177753455146}, {"x": 9026.9442800967, "y": -2732.526580167446}, {"x": 9026.590005968896, "y": -2732.8753841340404}, {"x": 9026.235709446742, "y": -2733.224165352564}, {"x": 9025.881390531562, "y": -2733.572923823018}, {"x": 9025.527049224678, "y": -2733.9216595430375}, {"x": 9025.17268552742, "y": -2734.2703725110464}, {"x": 9024.818299441105, "y": -2734.619062726257}, {"x": 9024.463890968385, "y": -2734.9677301870934}, {"x": 9024.10946010926, "y": -2735.31637489119}, {"x": 9023.755006865053, "y": -2735.664996838549}, {"x": 9023.400531238412, "y": -2736.0135960268044}, {"x": 9023.046033229337, "y": -2736.362172454381}, {"x": 9022.6915128418, "y": -2736.7107261204906}, {"x": 9022.336970074479, "y": -2737.0592570227686}, {"x": 9021.982404930019, "y": -2737.4077651612156}, {"x": 9021.627817411068, "y": -2737.7562505334668}, {"x": 9021.273207516306, "y": -2738.1047131379464}, {"x": 9020.918575249701, "y": -2738.453152973079}, {"x": 9020.563920612578, "y": -2738.8015700388632}, {"x": 9020.209243604939, "y": -2739.1499643321476}, {"x": 9019.854544228105, "y": -2739.498335852144}, {"x": 9019.499822484726, "y": -2739.8466845972766}, {"x": 9019.145078376125, "y": -2740.195010566757}, {"x": 9018.790311903625, "y": -2740.543313758221}, {"x": 9018.435523069877, "y": -2740.8915941708806}, {"x": 9018.080711873556, "y": -2741.2398518031596}, {"x": 9017.72587831731, "y": -2741.588086653482}, {"x": 9017.371022403784, "y": -2741.936298720272}, {"x": 9017.016144132982, "y": -2742.284488002741}, {"x": 9016.66124350755, "y": -2742.6326544985254}, {"x": 9016.306320528813, "y": -2742.9807982076245}, {"x": 9015.95137519677, "y": -2743.3289191268864}, {"x": 9015.59640751407, "y": -2743.677017255523}, {"x": 9015.241417482037, "y": -2744.025092592746}, {"x": 9014.886405103318, "y": -2744.3731451361923}, {"x": 9014.53137037659, "y": -2744.7211748850727}, {"x": 9014.176313305823, "y": -2745.0691818378114}, {"x": 9013.82123389102, "y": -2745.4171659928325}, {"x": 9013.466132134827, "y": -2745.76512734856}, {"x": 9013.111008037245, "y": -2746.113065903417}, {"x": 9012.755861600923, "y": -2746.460981657404}, {"x": 9012.400692827181, "y": -2746.808874606581}, {"x": 9012.045501717348, "y": -2747.1567447517355}, {"x": 9011.690288272745, "y": -2747.504592090504}, {"x": 9011.335052494696, "y": -2747.8524166220977}, {"x": 9010.979794384526, "y": -2748.2002183441527}, {"x": 9010.624513944884, "y": -2748.5479972550934}, {"x": 9010.269211175768, "y": -2748.895753354919}, {"x": 9009.913886079827, "y": -2749.243486640478}, {"x": 9009.566496368932, "y": -2749.583411615896}, {"x": 9009.219087433374, "y": -2749.9233169426743}, {"x": 9008.871661375684, "y": -2750.2632047682696}, {"x": 9008.52422028383, "y": -2750.603077225954}, {"x": 9008.176766223274, "y": -2750.9429364253583}, {"x": 9007.829301226373, "y": -2751.2827844453773}, {"x": 9007.481827292386, "y": -2751.6226233255047}, {"x": 9007.134346367613, "y": -2751.9624550587378}, {"x": 9006.786860349363, "y": -2752.302281583698}, {"x": 9006.439371071392, "y": -2752.642104775963}, {"x": 9006.091880301261, "y": -2752.9819264417606}, {"x": 9005.744389728408, "y": -2753.3217483085127}, {"x": 9005.396900957536, "y": -2753.6615720177438}, {"x": 9005.049415500667, "y": -2754.0013991179862}, {"x": 9004.70193477582, "y": -2754.341231054538}, {"x": 9004.354460088469, "y": -2754.681069164733}, {"x": 9004.006992631552, "y": -2755.020914667696}, {"x": 9003.65953347487, "y": -2755.3607686588275}, {"x": 9003.312083562445, "y": -2755.7006320987693}, {"x": 9002.964643695304, "y": -2756.0405058078895}, {"x": 9002.617214531481, "y": -2756.380390459189}, {"x": 9002.269796576747, "y": -2756.720286568846}, {"x": 9001.922390177999, "y": -2757.0601944875457}, {"x": 9001.574995508678, "y": -2757.4001143965415}, {"x": 9001.227612572755, "y": -2757.7400462950454}, {"x": 9000.880241186196, "y": -2758.0799899954995}, {"x": 9000.532880975627, "y": -2758.419945116484}, {"x": 9000.185531369076, "y": -2758.7599110724723}, {"x": 8999.838191586698, "y": -2759.099887065162}, {"x": 8999.490860636808, "y": -2759.439872081899}, {"x": 8999.143537303964, "y": -2759.7798648791286}], "type": "road_edge"}, {"geometry": [{"x": 9042.523073549506, "y": -2716.8801690617843}, {"x": 9042.035420411004, "y": -2716.820613410031}, {"x": 9041.554903306098, "y": -2716.718291002649}, {"x": 9041.08468148784, "y": -2716.5759104030003}, {"x": 9040.627297746345, "y": -2716.396479009822}, {"x": 9040.184629388552, "y": -2716.1832756407034}, {"x": 9039.757832702504, "y": -2715.93981767954}, {"x": 9039.34728680201, "y": -2715.669824752598}, {"x": 9038.95254284414, "y": -2715.377184039793}, {"x": 9038.57228443064, "y": -2715.0659255218034}, {"x": 9038.204304975281, "y": -2714.740218492126}, {"x": 9037.845508432052, "y": -2714.4044033039777}, {"x": 9037.491941767896, "y": -2714.063074248732}, {"x": 9037.137570229832, "y": -2713.7182051269283}, {"x": 9036.783757520434, "y": -2713.372762706632}, {"x": 9036.430504569158, "y": -2713.0267478933206}, {"x": 9036.07781229884, "y": -2712.6801615940485}, {"x": 9035.725681637614, "y": -2712.3330047174463}, {"x": 9035.374113505668, "y": -2711.98527817372}, {"x": 9035.023108825837, "y": -2711.6369828730767}, {"x": 9034.672668518315, "y": -2711.288119730451}, {"x": 9034.32279350196, "y": -2710.9386896584133}, {"x": 9033.973484692995, "y": -2710.588693574263}, {"x": 9033.624743006309, "y": -2710.2381323952986}, {"x": 9033.276569359445, "y": -2709.887007040396}, {"x": 9032.928964661996, "y": -2709.535318430006}, {"x": 9032.581929826212, "y": -2709.183067485368}, {"x": 9032.245041797, "y": -2708.8400417681564}, {"x": 9031.908634833218, "y": -2708.4965442392954}, {"x": 9031.572650180484, "y": -2708.1526336145903}, {"x": 9031.237028864622, "y": -2707.808368389192}, {"x": 9030.901711734045, "y": -2707.463806870692}, {"x": 9030.566639475634, "y": -2707.1190072098602}, {"x": 9030.23175266108, "y": -2706.7740274305875}, {"x": 9029.896991760132, "y": -2706.4289254598348}, {"x": 9029.56229718692, "y": -2706.0837591615177}, {"x": 9029.227609317184, "y": -2705.7385863625136}, {"x": 9028.892868524015, "y": -2705.393464887336}, {"x": 9028.558015209632, "y": -2705.048452588867}, {"x": 9028.222989830536, "y": -2704.703607377519}, {"x": 9027.887732930618, "y": -2704.358987251965}, {"x": 9027.552185168955, "y": -2704.01465033224}, {"x": 9027.21628735556, "y": -2703.6706548881098}, {"x": 9026.879980473896, "y": -2703.3270593698044}, {"x": 9026.53557492597, "y": -2702.976112085969}, {"x": 9026.190758693157, "y": -2702.625568288403}, {"x": 9025.845610237768, "y": -2702.2753515820164}, {"x": 9025.500207806299, "y": -2701.925385351063}, {"x": 9025.154629475779, "y": -2701.575592806425}, {"x": 9024.80895320672, "y": -2701.225897043926}, {"x": 9024.463256894758, "y": -2700.876221093195}, {"x": 9024.117618424936, "y": -2700.5264879712504}, {"x": 9023.77211571937, "y": -2700.1766207321502}, {"x": 9023.426826786239, "y": -2699.826542521367}, {"x": 9023.081829780682, "y": -2699.476176628588}, {"x": 9022.737203045854, "y": -2699.1254465373618}, {"x": 9022.3930251672, "y": -2698.7742759794764}, {"x": 9022.049375026747, "y": -2698.4225889869685}, {"x": 9021.706331848114, "y": -2698.0703099465018}, {"x": 9021.363975250802, "y": -2697.7173636513767}, {"x": 9021.02238529256, "y": -2697.363675355908}, {"x": 9020.681642530288, "y": -2697.0091708321643}, {"x": 9020.341828054465, "y": -2696.653776420403}, {"x": 9020.003023548727, "y": -2696.297419088176}, {"x": 9019.665311329589, "y": -2695.940026487069}, {"x": 9019.328774394107, "y": -2695.5815270062903}, {"x": 9018.993496468867, "y": -2695.221849833349}, {"x": 9018.659562049712, "y": -2694.860925011586}, {"x": 9018.327056446744, "y": -2694.4986834984884}, {"x": 9017.994664589703, "y": -2694.1335372823773}, {"x": 9017.663810254262, "y": -2693.766997361217}, {"x": 9017.334503301667, "y": -2693.3990666129926}, {"x": 9017.006753613023, "y": -2693.0297479889805}, {"x": 9016.680571087973, "y": -2692.659044517686}, {"x": 9016.355965640723, "y": -2692.2869593032683}, {"x": 9016.032947205344, "y": -2691.913495526327}, {"x": 9015.711525729137, "y": -2691.5386564446926}, {"x": 9015.391711179274, "y": -2691.1624453934246}, {"x": 9015.073513533513, "y": -2690.7848657863888}, {"x": 9014.75694278947, "y": -2690.4059211138915}, {"x": 9014.442008956687, "y": -2690.025614946622}, {"x": 9014.128722060583, "y": -2689.6439509324996}, {"x": 9013.817092138499, "y": -2689.2609327990353}, {"x": 9013.507129241014, "y": -2688.8765643557003}, {"x": 9013.198843433274, "y": -2688.490849488406}, {"x": 9012.892244791015, "y": -2688.1037921665993}, {"x": 9012.587343404537, "y": -2687.7153964401073}, {"x": 9012.284149370758, "y": -2687.3256664383516}, {"x": 9011.982672802491, "y": -2686.9346063742887}, {"x": 9011.682923817838, "y": -2686.542220541256}, {"x": 9011.384912550793, "y": -2686.1485133169135}, {"x": 9011.08864913932, "y": -2685.753489160091}, {"x": 9010.794143731973, "y": -2685.357152613152}, {"x": 9010.501406486583, "y": -2684.959508301995}, {"x": 9010.210447568914, "y": -2684.5605609368395}, {"x": 9009.921277148711, "y": -2684.160315313017}, {"x": 9009.633905407629, "y": -2683.7587763070264}, {"x": 9009.348342528649, "y": -2683.3559488844194}, {"x": 9009.06459870402, "y": -2682.951838093493}, {"x": 9008.782684128642, "y": -2682.5464490692298}, {"x": 9008.502609002708, "y": -2682.1397870325113}, {"x": 9008.22438353038, "y": -2681.731857290906}, {"x": 9007.948017919798, "y": -2681.3226652378794}, {"x": 9007.67058404153, "y": -2680.907808796394}, {"x": 9007.395048567016, "y": -2680.491689059991}, {"x": 9007.121399300775, "y": -2680.074326481918}, {"x": 9006.84962385005, "y": -2679.655741297917}, {"x": 9006.579709627451, "y": -2679.235953525438}, {"x": 9006.311643853609, "y": -2678.8149829675813}, {"x": 9006.045413558495, "y": -2678.392849209941}, {"x": 9005.781005590694, "y": -2677.96957162376}, {"x": 9005.518406614747, "y": -2677.5451693675077}, {"x": 9005.257603117783, "y": -2677.1196613860875}, {"x": 9004.998581413485, "y": -2676.693066413204}, {"x": 9004.741327642085, "y": -2676.265402969787}, {"x": 9004.485827778319, "y": -2675.836689369506}, {"x": 9004.232067628773, "y": -2675.4069437156204}, {"x": 9003.980032841146, "y": -2674.976183904917}, {"x": 9003.729708904262, "y": -2674.5444276277135}, {"x": 9003.481081148062, "y": -2674.1116923694303}, {"x": 9003.234134755518, "y": -2673.677995410595}, {"x": 9002.988854754696, "y": -2673.2433538315677}, {"x": 9002.745226033316, "y": -2672.8077845086004}, {"x": 9002.503233329484, "y": -2672.3713041225087}, {"x": 9002.262861244932, "y": -2671.9339291515766}, {"x": 9002.02409424105, "y": -2671.495675880226}, {"x": 9001.78691664682, "y": -2671.056560396652}, {"x": 9001.551312658834, "y": -2670.616598595188}, {"x": 9001.317266339945, "y": -2670.175806177882}, {"x": 9001.084761633856, "y": -2669.7341986568586}, {"x": 9000.85378235451, "y": -2669.2917913551096}, {"x": 9000.624312195368, "y": -2668.8485994088574}, {"x": 9000.396334733377, "y": -2668.404637767554}, {"x": 9000.169833427648, "y": -2667.959921197822}, {"x": 8999.944791624748, "y": -2667.5144642834557}, {"x": 8999.730370900346, "y": -2667.0866599227343}, {"x": 8999.517278658454, "y": -2666.658192287045}, {"x": 8999.30551694732, "y": -2666.22906550187}, {"x": 8999.095087809896, "y": -2665.799283699783}, {"x": 8998.885993269272, "y": -2665.3688510172983}, {"x": 8998.678235339275, "y": -2664.9377715995984}, {"x": 8998.471816020485, "y": -2664.506049597383}, {"x": 8998.266737301568, "y": -2664.0736891668676}, {"x": 8998.063001155308, "y": -2663.6406944705723}, {"x": 8997.860609543886, "y": -2663.2070696788983}, {"x": 8997.659564414927, "y": -2662.7728189653976}, {"x": 8997.459867706786, "y": -2662.337946512293}, {"x": 8997.261521340604, "y": -2661.9024565057452}, {"x": 8997.05713402374, "y": -2661.4479186990625}, {"x": 8996.85849247556, "y": -2660.9908456149988}, {"x": 8996.669339617581, "y": -2660.5297716532236}, {"x": 8996.492882266684, "y": -2660.0636987443268}, {"x": 8996.331824762388, "y": -2659.592089739593}, {"x": 8996.188387933329, "y": -2659.114832237581}, {"x": 8996.064320866411, "y": -2658.6321815311208}, {"x": 8995.960911800781, "y": -2658.1446901896384}, {"x": 8995.879002876007, "y": -2657.6531309162006}, {"x": 8995.819011706859, "y": -2657.1584184951407}, {"x": 8995.780961157712, "y": -2656.661535778476}, {"x": 8995.764517275504, "y": -2656.1634676466842}, {"x": 8995.769034320734, "y": -2655.665145819456}, {"x": 8995.793605193803, "y": -2655.1674062745774}, {"x": 8995.837115249507, "y": -2654.67095999681}, {"x": 8995.89829752029, "y": -2654.17637683059}, {"x": 8995.975787664083, "y": -2653.6840814798497}, {"x": 8996.064366693137, "y": -2653.2149565673685}, {"x": 8996.167464139151, "y": -2652.748809482552}, {"x": 8996.285777551564, "y": -2652.286292198046}, {"x": 8996.41973475726, "y": -2651.8280623006176}, {"x": 8996.569381822612, "y": -2651.3747137027704}, {"x": 8996.734281054192, "y": -2650.926685868755}, {"x": 8996.913420194025, "y": -2650.48415565997}, {"x": 8997.105131431044, "y": -2650.046919796174}, {"x": 8997.30701493143, "y": -2649.614280353872}, {"x": 8997.515856675669, "y": -2649.1849506273206}, {"x": 8997.727525257078, "y": -2648.7570044745507}, {"x": 8997.936828509757, "y": -2648.3278999346653}, {"x": 8998.137310947906, "y": -2647.8946189110447}, {"x": 8998.329489215823, "y": -2647.4369891596552}, {"x": 8998.503362575979, "y": -2646.972096118748}, {"x": 8998.658657312591, "y": -2646.500671640849}, {"x": 8998.795128952026, "y": -2646.02345786106}, {"x": 8998.912562657339, "y": -2645.5412060260037}, {"x": 8999.010773559294, "y": -2645.0546753172557}, {"x": 8999.089607050286, "y": -2644.5646316479783}, {"x": 8999.148939027962, "y": -2644.071846464288}, {"x": 8999.188676088528, "y": -2643.577095527701}, {"x": 8999.208755679005, "y": -2643.08115769444}, {"x": 8999.20985040576, "y": -2642.6230905372067}, {"x": 8999.194374637626, "y": -2642.165282965352}, {"x": 8999.162548685012, "y": -2641.7083202456006}, {"x": 8999.11461264437, "y": -2641.2527650959837}, {"x": 8999.050824841159, "y": -2640.799157330428}, {"x": 8998.971460325767, "y": -2640.348013575054}, {"x": 8998.876809377374, "y": -2639.899827086922}, {"x": 8998.76717605813, "y": -2639.4550676287326}, {"x": 8998.642876801765, "y": -2639.0141814325743}, {"x": 8998.504239044545, "y": -2638.5775912235663}, {"x": 8998.35159989333, "y": -2638.1456963096966}, {"x": 8998.170695626182, "y": -2637.683444461897}, {"x": 8997.97367184536, "y": -2637.227830813978}, {"x": 8997.760476370202, "y": -2636.779557594593}, {"x": 8997.531092226865, "y": -2636.3393495645378}, {"x": 8997.28553987267, "y": -2635.907952736946}, {"x": 8997.023879421762, "y": -2635.4861329193805}, {"x": 8996.746212872105, "y": -2635.07467406837}, {"x": 8996.452686302013, "y": -2634.674376449296}, {"x": 8996.143492056097, "y": -2634.2860545968974}], "type": "road_edge"}, {"geometry": [{"x": 9032.73100039792, "y": -2741.3467484237854}, {"x": 9033.072756268188, "y": -2741.0086124163054}, {"x": 9033.414487494607, "y": -2740.6704515038423}, {"x": 9033.756194055995, "y": -2740.332265667482}, {"x": 9034.09787593514, "y": -2739.994054893039}, {"x": 9034.439533117476, "y": -2739.655819168693}, {"x": 9034.781165588442, "y": -2739.317558486564}, {"x": 9035.12277334009, "y": -2738.9792728395587}, {"x": 9035.464356365803, "y": -2738.6409622253127}, {"x": 9035.80591465896, "y": -2738.3026266414627}, {"x": 9036.147448215588, "y": -2737.96426608722}, {"x": 9036.48895703304, "y": -2737.625880563373}, {"x": 9036.830441108666, "y": -2737.28747007071}, {"x": 9037.18539706591, "y": -2736.9355866359365}, {"x": 9037.540149053712, "y": -2736.5834975811795}, {"x": 9037.894604681142, "y": -2736.231110181219}, {"x": 9038.2487559035, "y": -2735.878416846273}, {"x": 9038.602670057424, "y": -2735.5254856117162}, {"x": 9038.956480813902, "y": -2735.1724507129134}, {"x": 9039.310378911525, "y": -2734.8195033783404}, {"x": 9039.664602627547, "y": -2734.4668828835565}, {"x": 9040.019427973592, "y": -2734.1148678754776}, {"x": 9040.375158660947, "y": -2733.763767933068}, {"x": 9040.732115885812, "y": -2733.4139152690927}, {"x": 9041.090628061578, "y": -2733.065656481521}, {"x": 9041.451020574945, "y": -2732.719344231637}, {"x": 9041.813605739311, "y": -2732.375328703071}, {"x": 9042.178673028859, "y": -2732.0339487251204}, {"x": 9042.54647976412, "y": -2731.6955224429353}, {"x": 9042.917242354963, "y": -2731.3603374321237}, {"x": 9043.291128192332, "y": -2731.0286402026136}, {"x": 9043.668248297334, "y": -2730.700625052365}, {"x": 9044.048650722365, "y": -2730.376422301673}, {"x": 9044.432314720143, "y": -2730.056085958487}, {"x": 9044.819145581396, "y": -2729.739580937696}, {"x": 9045.208969988898, "y": -2729.426769996707}, {"x": 9045.601531619097, "y": -2729.117400604834}, {"x": 9045.996486653714, "y": -2728.811092023877}, {"x": 9046.393398694207, "y": -2728.507322940349}, {"x": 9046.791732501844, "y": -2728.2054200323364}, {"x": 9047.19084581266, "y": -2727.904547976929}, {"x": 9047.585966836094, "y": -2727.6070186750103}, {"x": 9047.981117493577, "y": -2727.309528731051}, {"x": 9048.376297779816, "y": -2727.012078147416}, {"x": 9048.771507692161, "y": -2726.714666926469}, {"x": 9049.166747225318, "y": -2726.4172950721504}, {"x": 9049.562016375314, "y": -2726.1199625876125}, {"x": 9049.9573151395, "y": -2725.822669474431}, {"x": 9050.352643513905, "y": -2725.525415737335}, {"x": 9050.748001493232, "y": -2725.2282013779}, {"x": 9051.143389074836, "y": -2724.9310263992784}, {"x": 9051.53880625474, "y": -2724.6338908046228}, {"x": 9051.934253027652, "y": -2724.3367945970845}, {"x": 9052.329729392246, "y": -2724.0397377798167}, {"x": 9052.725235341903, "y": -2723.7427203551833}, {"x": 9053.120770873975, "y": -2723.445742326336}, {"x": 9053.516335983164, "y": -2723.14880369564}, {"x": 9053.911930668148, "y": -2722.8519044670347}, {"x": 9054.307554923631, "y": -2722.5550446436723}, {"x": 9054.703208745641, "y": -2722.2582242271296}, {"x": 9055.098892128879, "y": -2721.9614432213466}, {"x": 9055.494605072025, "y": -2721.664701628687}, {"x": 9055.89034756978, "y": -2721.3679994530917}, {"x": 9056.286119618175, "y": -2721.0713366961368}, {"x": 9056.681921213236, "y": -2720.774713361762}, {"x": 9057.077752352314, "y": -2720.4781294531203}, {"x": 9057.473613028791, "y": -2720.1815849717873}, {"x": 9057.869503241342, "y": -2719.8850799217034}, {"x": 9058.265422985995, "y": -2719.5886143060206}, {"x": 9058.661372256129, "y": -2719.2921881278917}, {"x": 9059.057351050422, "y": -2718.9958013888922}, {"x": 9059.4533593649, "y": -2718.699454092963}, {"x": 9059.849397194268, "y": -2718.4031462424678}, {"x": 9060.245464534553, "y": -2718.106877841347}, {"x": 9060.64156138311, "y": -2717.810648891965}, {"x": 9061.037687734639, "y": -2717.5144593966857}, {"x": 9061.433843586496, "y": -2717.2183093594494}, {"x": 9061.830028934704, "y": -2716.9221987826204}, {"x": 9062.226243773972, "y": -2716.626127669351}, {"x": 9062.622488101648, "y": -2716.330096022005}, {"x": 9063.018761912437, "y": -2716.034103844523}, {"x": 9063.415065205018, "y": -2715.738151138481}, {"x": 9063.811397972766, "y": -2715.4422379086077}, {"x": 9064.207760211713, "y": -2715.1463641564787}, {"x": 9064.604151920532, "y": -2714.8505298852465}], "type": "road_edge"}, {"geometry": [{"x": 8921.53367112554, "y": -2759.9351378218284}, {"x": 8921.778086238935, "y": -2760.360378583956}, {"x": 8922.023207877253, "y": -2760.7852124758947}, {"x": 8922.269017013108, "y": -2761.2096489503956}, {"x": 8922.515495098407, "y": -2761.633697301809}, {"x": 8922.762624052435, "y": -2762.0573666668756}, {"x": 8923.010386239343, "y": -2762.480666027875}, {"x": 8923.258764456232, "y": -2762.9036042149924}, {"x": 8923.507741923893, "y": -2763.3261899086824}, {"x": 8923.757302265612, "y": -2763.7484316443965}, {"x": 8924.007429495261, "y": -2764.1703378125835}, {"x": 8924.258108006703, "y": -2764.5919166657827}, {"x": 8924.509322552607, "y": -2765.0131763194113}, {"x": 8924.761058236509, "y": -2765.434124758068}, {"x": 8925.01330049824, "y": -2765.8547698386874}, {"x": 8925.266035096722, "y": -2766.275119292902}, {"x": 8925.519248099368, "y": -2766.695180735713}, {"x": 8925.7729258662, "y": -2767.114961666276}, {"x": 8926.027055039256, "y": -2767.534469474206}, {"x": 8926.281622529346, "y": -2767.953711445885}, {"x": 8926.536615496194, "y": -2768.3726947660325}, {"x": 8926.792021343146, "y": -2768.791426527168}, {"x": 8927.0478277026, "y": -2769.20991373197}, {"x": 8927.304022416145, "y": -2769.6281633003728}, {"x": 8927.560593530598, "y": -2770.046182074292}, {"x": 8927.817529279455, "y": -2770.4639768223547}, {"x": 8928.074818070989, "y": -2770.8815542501425}, {"x": 8928.332448476322, "y": -2771.2989209994043}, {"x": 8928.59040921354, "y": -2771.7160836606663}, {"x": 8928.84868914108, "y": -2772.133048775594}, {"x": 8929.107277236535, "y": -2772.5498228417227}, {"x": 8929.366162594011, "y": -2772.9664123250645}, {"x": 8929.625334401624, "y": -2773.382823658533}, {"x": 8929.88478193487, "y": -2773.7990632553415}, {"x": 8930.144494540744, "y": -2774.215137509789}, {"x": 8930.40446162979, "y": -2774.631052807506}, {"x": 8930.664672657576, "y": -2775.046815531759}, {"x": 8930.925117116734, "y": -2775.46243206739}, {"x": 8931.185344233922, "y": -2775.8771998405773}, {"x": 8931.445803654424, "y": -2776.291821772676}, {"x": 8931.706505485752, "y": -2776.706291325173}, {"x": 8931.967459820857, "y": -2777.120601943005}, {"x": 8932.228676742092, "y": -2777.53474705062}, {"x": 8932.49016632387, "y": -2777.9487200543394}, {"x": 8932.751938620746, "y": -2778.3625143392087}, {"x": 8933.014003679325, "y": -2778.776123272147}, {"x": 8933.276371529006, "y": -2779.189540196431}, {"x": 8933.539052187263, "y": -2779.6027584324866}, {"x": 8933.802055655693, "y": -2780.0157712802466}, {"x": 8934.065391919996, "y": -2780.428572014428}, {"x": 8934.329070951313, "y": -2780.84115388453}, {"x": 8934.59310270357, "y": -2781.253510117197}, {"x": 8934.857497114806, "y": -2781.665633910705}, {"x": 8935.122264103202, "y": -2782.077518438898}, {"x": 8935.387413572369, "y": -2782.489156847252}, {"x": 8935.65295540474, "y": -2782.90054225366}, {"x": 8935.918899464208, "y": -2783.311667746069}, {"x": 8936.185255594806, "y": -2783.7225263856317}, {"x": 8936.452033624682, "y": -2784.1331112011912}, {"x": 8936.719243354177, "y": -2784.543415190067}, {"x": 8936.986894567744, "y": -2784.9534313212107}, {"x": 8937.254997027328, "y": -2785.363152528897}, {"x": 8937.523560471045, "y": -2785.7725717150915}, {"x": 8937.792594614495, "y": -2786.181681747873}, {"x": 8938.062109149452, "y": -2786.590475462222}, {"x": 8938.332113746506, "y": -2786.9989456560807}, {"x": 8938.60261804844, "y": -2787.407085092716}, {"x": 8938.873631675531, "y": -2787.814886499932}, {"x": 8939.145164218924, "y": -2788.222342567708}, {"x": 8939.417225245938, "y": -2788.6294459481937}, {"x": 8939.689824297404, "y": -2789.036189255714}, {"x": 8939.962970886356, "y": -2789.4425650636144}, {"x": 8940.236674495372, "y": -2789.8485659089893}, {"x": 8940.51094458055, "y": -2790.2541842855903}, {"x": 8940.78579056886, "y": -2790.6594126477667}, {"x": 8941.061221856819, "y": -2791.064243407311}, {"x": 8941.337247809168, "y": -2791.468668933462}, {"x": 8941.613877761522, "y": -2791.872681553692}, {"x": 8941.891121017718, "y": -2792.2762735513397}], "type": "road_edge"}, {"geometry": [{"x": 8903.977910633797, "y": -2722.7437144697583}, {"x": 8904.146063769444, "y": -2723.193245314774}, {"x": 8904.314967438871, "y": -2723.642494693992}, {"x": 8904.484640329194, "y": -2724.0914541153033}, {"x": 8904.655101087803, "y": -2724.540114988093}, {"x": 8904.826368322374, "y": -2724.98846862245}, {"x": 8904.998460595565, "y": -2725.436506224439}, {"x": 8905.17139643031, "y": -2725.8842188968906}, {"x": 8905.34519430321, "y": -2726.331597637035}, {"x": 8905.519872645842, "y": -2726.77863332941}, {"x": 8905.695449843446, "y": -2727.2253167513772}, {"x": 8905.8719442283, "y": -2727.6716385628793}, {"x": 8906.053709033495, "y": -2728.1284610682737}, {"x": 8906.236452844092, "y": -2728.5848928224095}, {"x": 8906.420173008093, "y": -2729.040932457218}, {"x": 8906.604866868205, "y": -2729.496578618817}, {"x": 8906.79053177508, "y": -2729.951829967508}, {"x": 8906.977165074068, "y": -2730.406685175414}, {"x": 8907.164764113177, "y": -2730.861142928056}, {"x": 8907.353326240405, "y": -2731.3152019259255}, {"x": 8907.542848802435, "y": -2731.7688608813373}, {"x": 8907.733329149916, "y": -2732.2221185207904}, {"x": 8907.924764632175, "y": -2732.6749735826043}, {"x": 8908.117152597213, "y": -2733.127424819284}, {"x": 8908.310490397007, "y": -2733.5794709967313}, {"x": 8908.504775382205, "y": -2734.031110893457}, {"x": 8908.700004903461, "y": -2734.4823433021566}, {"x": 8908.896176315397, "y": -2734.933167025771}, {"x": 8909.093286969985, "y": -2735.38358088379}, {"x": 8909.291334221849, "y": -2735.8335837059476}, {"x": 8909.49031542429, "y": -2736.283174336164}, {"x": 8909.690227934576, "y": -2736.7323516317547}, {"x": 8909.891069109977, "y": -2737.181114461858}, {"x": 8910.092836306445, "y": -2737.6294617082203}, {"x": 8910.295526885217, "y": -2738.0773922675603}, {"x": 8910.499138203566, "y": -2738.524905046842}, {"x": 8910.703667622736, "y": -2738.9719989672153}, {"x": 8910.909112505293, "y": -2739.4186729616504}, {"x": 8911.115470215125, "y": -2739.864925977301}, {"x": 8911.322738114804, "y": -2740.3107569715685}, {"x": 8911.530913570865, "y": -2740.756164917613}, {"x": 8911.739993951172, "y": -2741.201148798052}, {"x": 8911.949976622265, "y": -2741.6457076096895}, {"x": 8912.160858954652, "y": -2742.0898403627234}, {"x": 8912.37268042642, "y": -2742.5336347506263}, {"x": 8912.585395069176, "y": -2742.9770017276196}, {"x": 8912.798998668584, "y": -2743.41994111245}, {"x": 8913.013487015609, "y": -2743.8624527459297}, {"x": 8913.228855911808, "y": -2744.3045364901495}, {"x": 8913.445101158735, "y": -2744.7461922284756}, {"x": 8913.662218568541, "y": -2745.1874198671303}, {"x": 8913.880203958666, "y": -2745.6282193336115}, {"x": 8914.099053151855, "y": -2746.068590576696}, {"x": 8914.318761978788, "y": -2746.508533564073}, {"x": 8914.539326275446, "y": -2746.94804828865}, {"x": 8914.760741885755, "y": -2747.3871347614604}, {"x": 8914.983004656286, "y": -2747.825793015602}, {"x": 8915.206110446852, "y": -2748.264023104663}, {"x": 8915.430055117266, "y": -2748.7018251027207}, {"x": 8915.654834536606, "y": -2749.13919910513}, {"x": 8915.8804445819, "y": -2749.5761452269476}, {"x": 8916.106881136791, "y": -2750.012663604507}, {"x": 8916.334140088895, "y": -2750.448754393844}, {"x": 8916.562217333774, "y": -2750.884417771483}, {"x": 8916.791108776259, "y": -2751.3196539336514}, {"x": 8917.020810323822, "y": -2751.754463097064}, {"x": 8917.251317895858, "y": -2752.1888454973505}, {"x": 8917.48262741441, "y": -2752.6228013914174}, {"x": 8917.714734810786, "y": -2753.056331054297}, {"x": 8917.94763602159, "y": -2753.4894347815107}, {"x": 8918.181326991373, "y": -2753.9221128882814}, {"x": 8918.415803671303, "y": -2754.354365707958}, {"x": 8918.651062021818, "y": -2754.7861935943783}, {"x": 8918.887098007328, "y": -2755.217596918717}, {"x": 8919.123907600186, "y": -2755.648576074215}, {"x": 8919.361486782012, "y": -2756.0791314706617}, {"x": 8919.599831538402, "y": -2756.5092635367614}, {"x": 8919.838937864217, "y": -2756.9389727209186}, {"x": 8920.07880176094, "y": -2757.368259489663}, {"x": 8920.31941923667, "y": -2757.7971243276506}, {"x": 8920.560786308779, "y": -2758.2255677392377}, {"x": 8920.80289899861, "y": -2758.65359024533}, {"x": 8921.045753338094, "y": -2759.081192385748}, {"x": 8921.289345365789, "y": -2759.5083747192243}, {"x": 8921.53367112554, "y": -2759.9351378218284}], "type": "road_edge"}, {"geometry": [{"x": 8975.445512030135, "y": -2651.000815825099}, {"x": 8975.752130625266, "y": -2651.3768186502766}, {"x": 8976.073097201179, "y": -2651.740649848099}, {"x": 8976.408057114468, "y": -2652.091640065312}, {"x": 8976.756620230244, "y": -2652.42912431765}, {"x": 8977.118360395178, "y": -2652.7524438252262}, {"x": 8977.476170582087, "y": -2653.0478003026637}, {"x": 8977.84507943077, "y": -2653.3291718968735}, {"x": 8978.247155422452, "y": -2653.612452183881}, {"x": 8978.657611982542, "y": -2653.883470253163}, {"x": 8979.07353859363, "y": -2654.1460310658}, {"x": 8979.492504968273, "y": -2654.4037213973097}, {"x": 8979.912432201401, "y": -2654.65984522402}, {"x": 8980.331491442292, "y": -2654.9173850065863}, {"x": 8980.748027828726, "y": -2655.1789810129353}, {"x": 8981.160506503016, "y": -2655.446923336034}, {"x": 8981.567477103317, "y": -2655.7231530728204}, {"x": 8981.967553115643, "y": -2656.0092703781525}, {"x": 8982.3594026124, "y": -2656.3065479153756}, {"x": 8982.741747195829, "y": -2656.6159486861256}, {"x": 8983.11336630634, "y": -2656.9381474560373}, {"x": 8983.473104463528, "y": -2657.2735550805064}, {"x": 8983.819879386365, "y": -2657.622345021252}, {"x": 8984.152689348062, "y": -2657.9844813215695}, {"x": 8984.470618559528, "y": -2658.3597472506526}, {"x": 8984.772839659827, "y": -2658.7477738241796}, {"x": 8985.05861281717, "y": -2659.148067421008}, {"x": 8985.327281172998, "y": -2659.560035733907}, {"x": 8985.578262614561, "y": -2659.983011387646}, {"x": 8985.811038083886, "y": -2660.416272627869}, {"x": 8986.019031762278, "y": -2660.8439285989243}, {"x": 8986.213300819605, "y": -2661.2780041256483}, {"x": 8986.397611403214, "y": -2661.716409341593}, {"x": 8986.575563004328, "y": -2662.1574388917297}, {"x": 8986.750386162166, "y": -2662.5997199356216}, {"x": 8986.924756759243, "y": -2663.042179855975}, {"x": 8987.100626388872, "y": -2663.4840456108586}, {"x": 8987.279067588679, "y": -2663.9248788440314}, {"x": 8987.460131278865, "y": -2664.3646417366094}, {"x": 8987.645595987084, "y": -2664.809709337922}, {"x": 8987.832726885774, "y": -2665.2540789645154}, {"x": 8988.021521349418, "y": -2665.6977443789146}, {"x": 8988.211976724695, "y": -2666.1406993531}, {"x": 8988.404090341075, "y": -2666.582937670086}, {"x": 8988.597859500216, "y": -2667.024453120766}, {"x": 8988.79328148392, "y": -2667.4652395094317}, {"x": 8988.990353547513, "y": -2667.9052906474667}, {"x": 8989.189072925128, "y": -2668.344600358076}, {"x": 8989.389436827072, "y": -2668.7831624754976}, {"x": 8989.591442442468, "y": -2669.2209708434248}, {"x": 8989.795086933955, "y": -2669.6580193157965}, {"x": 8990.00036744299, "y": -2670.094301758373}, {"x": 8990.207281089844, "y": -2670.529812047159}, {"x": 8990.415824968311, "y": -2670.9645440684026}, {"x": 8990.625996152325, "y": -2671.3984917209636}, {"x": 8990.837791691982, "y": -2671.8316489123677}, {"x": 8991.051208612227, "y": -2672.2640095635393}, {"x": 8991.266243919466, "y": -2672.6955676048583}, {"x": 8991.482894593631, "y": -2673.126316977739}, {"x": 8991.701157594784, "y": -2673.5562516377786}, {"x": 8991.921029859162, "y": -2673.985365548457}, {"x": 8992.14250830049, "y": -2674.4136526874377}, {"x": 8992.36558980999, "y": -2674.8411070418415}, {"x": 8992.590271255043, "y": -2675.267722612186}, {"x": 8992.816549483177, "y": -2675.6934934108094}, {"x": 8993.044421316763, "y": -2676.1184134595073}, {"x": 8993.273883559634, "y": -2676.542476795048}, {"x": 8993.508830951214, "y": -2676.9727848517427}, {"x": 8993.745416129224, "y": -2677.4021946402163}, {"x": 8993.983635853805, "y": -2677.8306998197563}, {"x": 8994.223486858617, "y": -2678.2582940606853}, {"x": 8994.464965852163, "y": -2678.6849710435686}, {"x": 8994.70806952044, "y": -2679.110724460006}, {"x": 8994.952794520317, "y": -2679.5355480142057}, {"x": 8995.199137490128, "y": -2679.9594354206197}, {"x": 8995.447095036423, "y": -2680.382380404734}, {"x": 8995.696663747227, "y": -2680.8043767046424}, {"x": 8995.947840181429, "y": -2681.225418068685}, {"x": 8996.200620874086, "y": -2681.645498259386}, {"x": 8996.45500233775, "y": -2682.0646110471494}, {"x": 8996.710981058493, "y": -2682.48275021893}, {"x": 8996.968553498551, "y": -2682.899909569562}, {"x": 8997.227716095009, "y": -2683.3160829080653}, {"x": 8997.488465259788, "y": -2683.731264056068}, {"x": 8997.750797383635, "y": -2684.14544684702}, {"x": 8998.01470882816, "y": -2684.558625125404}, {"x": 8998.280195935115, "y": -2684.970792749886}, {"x": 8998.547255018451, "y": -2685.381943590955}, {"x": 8998.813411015271, "y": -2685.78831300298}, {"x": 8999.08110550684, "y": -2686.193670604235}, {"x": 8999.350337325377, "y": -2686.5980087883886}, {"x": 8999.621105259414, "y": -2687.0013199309838}, {"x": 8999.893408056432, "y": -2687.4035963925894}, {"x": 9000.167244420223, "y": -2687.804830518015}, {"x": 9000.442613012212, "y": -2688.205014637096}, {"x": 9000.719512448803, "y": -2688.604141065483}, {"x": 9000.997941306685, "y": -2689.002202101489}, {"x": 9001.277898113554, "y": -2689.3991900316064}, {"x": 9001.559381357389, "y": -2689.7950971257787}, {"x": 9001.842389479827, "y": -2690.1899156405516}, {"x": 9002.126920880137, "y": -2690.583637817499}, {"x": 9002.41297391257, "y": -2690.976255885584}, {"x": 9002.700546883712, "y": -2691.3677620587987}, {"x": 9002.989638059113, "y": -2691.758148538525}, {"x": 9003.280245656644, "y": -2692.147407512748}, {"x": 9003.573950902244, "y": -2692.537623503309}, {"x": 9003.869192121672, "y": -2692.9266786724443}, {"x": 9004.165974183323, "y": -2693.31455973902}, {"x": 9004.464301844375, "y": -2693.701253328122}, {"x": 9004.76417975211, "y": -2694.086745970271}, {"x": 9005.065612439952, "y": -2694.471024102207}, {"x": 9005.368604328774, "y": -2694.854074066893}, {"x": 9005.67315972162, "y": -2695.2358821143}, {"x": 9005.979282805018, "y": -2695.6164343990445}, {"x": 9006.286977650307, "y": -2695.9957169835398}, {"x": 9006.596248204367, "y": -2696.3737158364206}, {"x": 9006.90709829492, "y": -2696.750416833331}, {"x": 9007.2195316292, "y": -2697.125805758501}, {"x": 9007.533551786015, "y": -2697.4998683023805}, {"x": 9007.849162223685, "y": -2697.872590062429}, {"x": 9008.166366268131, "y": -2698.2439565454793}, {"x": 9008.485167122137, "y": -2698.6139531661624}, {"x": 9008.80556785609, "y": -2698.9825652476934}, {"x": 9009.127571407975, "y": -2699.3497780226617}, {"x": 9009.451180586022, "y": -2699.7155766322408}, {"x": 9009.776398060763, "y": -2700.0799461277675}, {"x": 9010.103226371655, "y": -2700.4428714715264}, {"x": 9010.431667915163, "y": -2700.804337534388}, {"x": 9010.761724954022, "y": -2701.164329099749}, {"x": 9011.073787433685, "y": -2701.50177055268}, {"x": 9011.387141033547, "y": -2701.838013493755}, {"x": 9011.701645560526, "y": -2702.173180253153}, {"x": 9012.017162121729, "y": -2702.507394567735}, {"x": 9012.333552965552, "y": -2702.8407814139764}, {"x": 9012.650681338702, "y": -2703.1734668338067}, {"x": 9012.968411337903, "y": -2703.5055777699054}, {"x": 9013.28660775498, "y": -2703.837241894693}, {"x": 9013.619742707499, "y": -2704.1837259253684}, {"x": 9013.953220399224, "y": -2704.5298801027225}, {"x": 9014.287020846838, "y": -2704.875723062741}, {"x": 9014.621124116002, "y": -2705.2212734965738}, {"x": 9014.95551032402, "y": -2705.566550147382}, {"x": 9015.29015963586, "y": -2705.9115718048224}, {"x": 9015.625052257532, "y": -2706.256357306624}, {"x": 9015.960168437414, "y": -2706.600925530706}, {"x": 9016.29548845831, "y": -2706.9452953920254}, {"x": 9016.630992638773, "y": -2707.2894858425802}, {"x": 9016.966661327808, "y": -2707.6335158643133}, {"x": 9017.302474899574, "y": -2707.9774044675373}, {"x": 9017.638413754714, "y": -2708.321170688571}, {"x": 9017.97445831505, "y": -2708.6648335826467}, {"x": 9018.310589016972, "y": -2709.008412224699}, {"x": 9018.646786315407, "y": -2709.3519257038456}, {"x": 9018.9830306719, "y": -2709.695393121815}, {"x": 9019.319302558586, "y": -2710.0388335866387}, {"x": 9019.655582452902, "y": -2710.3822662118655}, {"x": 9019.991850830955, "y": -2710.725710111832}, {"x": 9020.328088170181, "y": -2711.0691843992995}, {"x": 9020.664274938743, "y": -2711.412708182299}, {"x": 9021.000391600835, "y": -2711.7563005601946}, {"x": 9021.336418604764, "y": -2712.099980618953}, {"x": 9021.673564813793, "y": -2712.4450184938305}, {"x": 9022.010600969566, "y": -2712.7901638676426}, {"x": 9022.347527038986, "y": -2713.1354167057148}, {"x": 9022.6843429863, "y": -2713.4807769741606}, {"x": 9023.021048778412, "y": -2713.8262446359413}, {"x": 9023.357644380894, "y": -2714.1718196571705}, {"x": 9023.694129759324, "y": -2714.517502001597}, {"x": 9024.030504879276, "y": -2714.8632916361234}, {"x": 9024.366769706328, "y": -2715.2091885229224}, {"x": 9024.702924207379, "y": -2715.5551926288954}, {"x": 9025.038968348003, "y": -2715.901303917792}, {"x": 9025.374902092453, "y": -2716.2475223549377}, {"x": 9025.710725408951, "y": -2716.5938479048696}, {"x": 9026.046438261752, "y": -2716.940280532913}, {"x": 9026.382040616429, "y": -2717.286820202818}, {"x": 9026.717532439883, "y": -2717.63346687991}, {"x": 9027.05291369769, "y": -2717.9802205287256}, {"x": 9027.388184355423, "y": -2718.3270811145912}, {"x": 9027.723344379983, "y": -2718.6740486012554}, {"x": 9028.058393735622, "y": -2719.0211229540437}, {"x": 9028.393332389242, "y": -2719.3683041374943}, {"x": 9028.728160307739, "y": -2719.715592116932}, {"x": 9029.062877454042, "y": -2720.062986856106}, {"x": 9029.397483797698, "y": -2720.4104883203427}, {"x": 9029.731979302962, "y": -2720.75809647339}, {"x": 9030.066363935406, "y": -2721.105811281363}, {"x": 9030.382523470247, "y": -2721.4385638634003}, {"x": 9030.688044509208, "y": -2721.781067139415}, {"x": 9030.974424860075, "y": -2722.139677977458}, {"x": 9031.235024108228, "y": -2722.5174000519078}, {"x": 9031.464989233607, "y": -2722.914495003397}, {"x": 9031.661249870755, "y": -2723.3292775881264}, {"x": 9031.822397347007, "y": -2723.75892636767}, {"x": 9031.948379898764, "y": -2724.200179206042}], "type": "road_edge"}, {"geometry": [{"x": 9057.375242792506, "y": -2588.007697994257}, {"x": 9057.58306803928, "y": -2588.4571024277443}, {"x": 9057.791508706989, "y": -2588.906221760124}, {"x": 9058.000554269736, "y": -2589.3550598686397}, {"x": 9058.210194220155, "y": -2589.8036206715137}, {"x": 9058.420418069418, "y": -2590.251908127947}, {"x": 9058.631215344585, "y": -2590.699926237332}, {"x": 9058.842575591254, "y": -2591.1476790392517}, {"x": 9059.054488369582, "y": -2591.595170611116}, {"x": 9059.266943259592, "y": -2592.04240506895}, {"x": 9059.479929854544, "y": -2592.4893865642407}, {"x": 9059.693437766235, "y": -2592.9361192870906}, {"x": 9059.907456621024, "y": -2593.3826074630642}, {"x": 9060.121976061162, "y": -2593.8288553508246}, {"x": 9060.336985746111, "y": -2594.274867245286}, {"x": 9060.552475347245, "y": -2594.72064747446}, {"x": 9060.768434553158, "y": -2595.1662003986694}, {"x": 9060.984853068325, "y": -2595.6115304105474}, {"x": 9061.201720610463, "y": -2596.056641935825}, {"x": 9061.419026907884, "y": -2596.5015394270285}, {"x": 9061.63676171008, "y": -2596.9462273713566}, {"x": 9061.854914774492, "y": -2597.390710282016}, {"x": 9062.073475874444, "y": -2597.8349927021573}, {"x": 9062.29243479518, "y": -2598.279079201728}, {"x": 9062.51178133518, "y": -2598.722974379043}, {"x": 9062.731505307494, "y": -2599.166682859213}, {"x": 9062.951596534436, "y": -2599.610209290989}, {"x": 9063.172044852883, "y": -2600.0535583499172}, {"x": 9063.39284010766, "y": -2600.4967347351844}, {"x": 9063.6139721608, "y": -2600.9397431704083}, {"x": 9063.835430880961, "y": -2601.382588400483}, {"x": 9064.057206148713, "y": -2601.8252751947334}, {"x": 9064.279287855217, "y": -2602.2678083429737}, {"x": 9064.501665903557, "y": -2602.7101926547184}, {"x": 9064.726118199094, "y": -2603.1559675187964}, {"x": 9064.95088433859, "y": -2603.6015842228703}, {"x": 9065.17598728969, "y": -2604.0470308846075}, {"x": 9065.401449998855, "y": -2604.4922955657244}, {"x": 9065.627295378128, "y": -2604.937366275924}, {"x": 9065.85354631439, "y": -2605.382230962654}, {"x": 9066.080225657452, "y": -2605.8268775111055}, {"x": 9066.307356227995, "y": -2606.2712937418487}, {"x": 9066.534960804333, "y": -2606.7154674037397}, {"x": 9066.763062131678, "y": -2607.1593861715587}, {"x": 9066.991682912876, "y": -2607.603037646007}, {"x": 9067.220845809727, "y": -2608.0464093458295}, {"x": 9067.450573436368, "y": -2608.4894887038713}, {"x": 9067.680888364564, "y": -2608.9322630694446}, {"x": 9067.911813115774, "y": -2609.3747196988697}, {"x": 9068.143370161139, "y": -2609.8168457546885}, {"x": 9068.375581917515, "y": -2610.2586283017245}, {"x": 9068.608470751447, "y": -2610.700054304717}, {"x": 9068.842058967257, "y": -2611.1411106220175}, {"x": 9069.07636881365, "y": -2611.58178400559}, {"x": 9069.311422474459, "y": -2612.0220610962833}, {"x": 9069.547242075258, "y": -2612.4619284206756}, {"x": 9069.783849668802, "y": -2612.901372386351}, {"x": 9070.021267244294, "y": -2613.340379281107}, {"x": 9070.259516719438, "y": -2613.77893526744}, {"x": 9070.493401384327, "y": -2614.2074952209223}, {"x": 9070.728102178553, "y": -2614.6356087783997}, {"x": 9070.963618249452, "y": -2615.063274385035}, {"x": 9071.199948741714, "y": -2615.4904904891428}, {"x": 9071.437092798702, "y": -2615.9172555382493}, {"x": 9071.675049559808, "y": -2616.3435679846093}, {"x": 9071.913818159126, "y": -2616.769426280478}, {"x": 9072.153397730752, "y": -2617.194828878898}, {"x": 9072.393787406136, "y": -2617.6197742368536}, {"x": 9072.634986311426, "y": -2618.0442608105386}, {"x": 9072.876993571454, "y": -2618.4682870593015}, {"x": 9073.119808307072, "y": -2618.891851444065}, {"x": 9073.325488825483, "y": -2619.263897592893}, {"x": 9073.505913082441, "y": -2619.648763551164}, {"x": 9073.664070174185, "y": -2620.0433839183147}, {"x": 9073.821092249473, "y": -2620.4384639941272}, {"x": 9073.998543945781, "y": -2620.8247201600484}, {"x": 9074.200569948323, "y": -2621.1987637322295}, {"x": 9074.43588071385, "y": -2621.6170515009358}, {"x": 9074.671529477298, "y": -2622.0351489513714}, {"x": 9074.907516083756, "y": -2622.453055811658}, {"x": 9075.143840379638, "y": -2622.87077180755}, {"x": 9075.380502210037, "y": -2623.2882966671687}, {"x": 9075.61750142269, "y": -2623.705630117058}, {"x": 9075.854837858715, "y": -2624.122771885337}, {"x": 9076.092511367175, "y": -2624.5397216993388}, {"x": 9076.330521789187, "y": -2624.9564792863953}, {"x": 9076.568868972492, "y": -2625.3730443738386}, {"x": 9076.807552759532, "y": -2625.789416690576}, {"x": 9077.046572994073, "y": -2626.205595964729}, {"x": 9077.285929521207, "y": -2626.6215819228414}, {"x": 9077.525622184698, "y": -2627.0373742946085}, {"x": 9077.765650826988, "y": -2627.452972808151}, {"x": 9078.006015291847, "y": -2627.868377191589}, {"x": 9078.246715421716, "y": -2628.2835871738307}, {"x": 9078.487751059036, "y": -2628.6986024837843}, {"x": 9078.729122047574, "y": -2629.1134228503583}, {"x": 9078.970828229774, "y": -2629.5280480024603}, {"x": 9079.21815168126, "y": -2629.9515118444738}, {"x": 9079.465829065157, "y": -2630.3747687796053}, {"x": 9079.713864500469, "y": -2630.797815994489}, {"x": 9079.962262102228, "y": -2631.2206506663033}, {"x": 9080.21102597752, "y": -2631.643269959616}, {"x": 9080.46016022549, "y": -2632.06567102954}, {"x": 9080.709668939984, "y": -2632.4878510185786}, {"x": 9080.959556206906, "y": -2632.9098070597774}, {"x": 9081.209826105538, "y": -2633.331536272787}, {"x": 9081.460482708542, "y": -2633.753035767012}, {"x": 9081.711530079314, "y": -2634.174302640824}, {"x": 9081.962972274629, "y": -2634.595333979198}, {"x": 9082.21481334464, "y": -2635.0161268568645}, {"x": 9082.467057331562, "y": -2635.4366783359446}, {"x": 9082.719708270979, "y": -2635.856985467527}, {"x": 9082.97277018657, "y": -2636.2770452877276}, {"x": 9083.226247098037, "y": -2636.6968548232044}, {"x": 9083.480143017137, "y": -2637.116411088007}, {"x": 9083.734461943714, "y": -2637.5357110820014}, {"x": 9083.989207874958, "y": -2637.9547517940186}, {"x": 9084.244384793505, "y": -2638.373530199494}, {"x": 9084.499996679331, "y": -2638.792043260465}, {"x": 9084.756047499182, "y": -2639.210287926362}, {"x": 9085.012541214504, "y": -2639.62826113558}, {"x": 9085.269481777472, "y": -2640.045959809967}, {"x": 9085.52687312835, "y": -2640.4633808603367}, {"x": 9085.784719202102, "y": -2640.88052118253}, {"x": 9086.043023923103, "y": -2641.297377661356}, {"x": 9086.301791206455, "y": -2641.713947165074}, {"x": 9086.561024958, "y": -2642.1302265501217}, {"x": 9086.82072907298, "y": -2642.5462126587527}, {"x": 9087.080907441346, "y": -2642.961902319035}, {"x": 9087.34156393848, "y": -2643.377292344064}, {"x": 9087.602702431828, "y": -2643.792379535114}, {"x": 9087.864326780882, "y": -2644.2071606769096}, {"x": 9088.126440831902, "y": -2644.6216325407795}, {"x": 9088.389048421874, "y": -2645.0357918838663}, {"x": 9088.652153379844, "y": -2645.44963544834}, {"x": 9088.915759521617, "y": -2645.8631599606097}, {"x": 9089.179870655053, "y": -2646.2763621352633}, {"x": 9089.444490574771, "y": -2646.689238668763}, {"x": 9089.709623067449, "y": -2647.1017862449635}, {"x": 9089.975271907844, "y": -2647.51400153038}, {"x": 9090.241440858805, "y": -2647.925881178133}, {"x": 9090.508133672578, "y": -2648.33742182558}, {"x": 9090.775354092151, "y": -2648.748620094318}], "type": "road_edge"}, {"geometry": [{"x": 8962.37900765865, "y": -2886.7044044170684}, {"x": 8961.974761687037, "y": -2886.987894537016}], "type": "lane"}, {"geometry": [{"x": 8962.37900765865, "y": -2886.7044044170684}, {"x": 8961.973301163393, "y": -2886.988811752506}], "type": "lane"}, {"geometry": [{"x": 8989.053323008959, "y": -2861.150914457744}, {"x": 8988.673040352789, "y": -2861.471897499106}, {"x": 8988.292460193627, "y": -2861.7925277302415}, {"x": 8987.911575808133, "y": -2862.1127964919733}, {"x": 8987.530380870177, "y": -2862.4326955491}, {"x": 8987.148869440241, "y": -2862.752217077786}, {"x": 8986.767035953497, "y": -2863.071353660833}, {"x": 8986.384875217167, "y": -2863.390098280589}, {"x": 8986.00238239331, "y": -2863.708444307913}, {"x": 8985.619552998818, "y": -2864.026385495872}, {"x": 8985.236382892179, "y": -2864.3439159734385}, {"x": 8984.852868261563, "y": -2864.661030235241}, {"x": 8984.469005623492, "y": -2864.977723133688}, {"x": 8984.084791806956, "y": -2865.2939898750246}, {"x": 8983.700223948113, "y": -2865.6098260051504}, {"x": 8983.315299479706, "y": -2865.9252274072514}, {"x": 8982.930016125756, "y": -2866.2401902915594}, {"x": 8982.544371885679, "y": -2866.5547111858928}, {"x": 8982.15836503561, "y": -2866.8687869317164}, {"x": 8981.77199410722, "y": -2867.1824146731096}, {"x": 8981.385257890362, "y": -2867.495591848886}, {"x": 8980.998155417183, "y": -2867.8083161862864}, {"x": 8980.610685956826, "y": -2868.120585692314}, {"x": 8980.222849004844, "y": -2868.432398642698}, {"x": 8979.834644276574, "y": -2868.743753580321}, {"x": 8979.4460716939, "y": -2869.054649298666}, {"x": 8979.057131385249, "y": -2869.365084841819}, {"x": 8978.66782366706, "y": -2869.6750594894966}, {"x": 8978.278149043785, "y": -2869.984572753102}, {"x": 8977.888108193316, "y": -2870.293624365484}, {"x": 8977.497701964345, "y": -2870.6022142730544}, {"x": 8977.106931361799, "y": -2870.9103426263327}, {"x": 8976.715797544188, "y": -2871.2180097736405}, {"x": 8976.324301811692, "y": -2871.525216250068}, {"x": 8975.932445599543, "y": -2871.83196277196}, {"x": 8975.540230468749, "y": -2872.1382502227298}, {"x": 8975.147658103457, "y": -2872.444079652069}, {"x": 8974.754730292405, "y": -2872.7494522594016}, {"x": 8974.361448932905, "y": -2873.054369391518}, {"x": 8973.967816013623, "y": -2873.3588325283904}, {"x": 8973.57383361326, "y": -2873.662843278444}, {"x": 8973.179503887308, "y": -2873.9664033667377}, {"x": 8972.784829065404, "y": -2874.269514628657}, {"x": 8972.389811442063, "y": -2874.572178998095}, {"x": 8971.994453366082, "y": -2874.8743985003603}, {"x": 8971.59875723922, "y": -2875.176175241142}, {"x": 8971.20272550031, "y": -2875.477511401784}, {"x": 8970.806360627903, "y": -2875.778409222734}, {"x": 8970.409665123057, "y": -2876.07887100118}, {"x": 8970.012641511992, "y": -2876.378899079228}, {"x": 8969.615292328865, "y": -2876.678495832873}, {"x": 8969.217620117102, "y": -2876.9776636641145}, {"x": 8968.823490908895, "y": -2877.2735076631293}, {"x": 8968.429048408841, "y": -2877.5689338135253}, {"x": 8968.034293617899, "y": -2877.863942532973}, {"x": 8967.639227539667, "y": -2878.1585342430835}, {"x": 8967.243851173775, "y": -2878.452709366255}, {"x": 8966.848165517205, "y": -2878.7464683272506}, {"x": 8966.452171565616, "y": -2879.039811554774}, {"x": 8966.05587031334, "y": -2879.3327394767407}, {"x": 8965.659262749416, "y": -2879.6252525273694}, {"x": 8965.262349865527, "y": -2879.917351138517}, {"x": 8964.865132649385, "y": -2880.209035746766}, {"x": 8964.467612084738, "y": -2880.5003067918537}, {"x": 8964.06978915532, "y": -2880.7911647135156}, {"x": 8963.671664842232, "y": -2881.0816099538524}, {"x": 8963.273240125236, "y": -2881.371642958904}, {"x": 8962.874515982781, "y": -2881.6612641755}, {"x": 8962.475493388018, "y": -2881.9504740520442}, {"x": 8962.076173315416, "y": -2882.2392730408824}, {"x": 8961.676556736802, "y": -2882.5276615959356}, {"x": 8961.276644618705, "y": -2882.815640171125}, {"x": 8960.876437930305, "y": -2883.1032092258874}, {"x": 8960.475937636804, "y": -2883.3903692188733}, {"x": 8960.075144699436, "y": -2883.6771206126723}, {"x": 8959.674060082083, "y": -2883.9634638714497}, {"x": 8959.272684740681, "y": -2884.249399460948}], "type": "lane"}, {"geometry": [{"x": 8966.120303701144, "y": -2890.478014193467}, {"x": 8966.524672378275, "y": -2890.1857929077605}, {"x": 8966.92870540761, "y": -2889.89310769886}, {"x": 8967.332402342954, "y": -2889.599959075064}, {"x": 8967.735762743414, "y": -2889.3063475438803}, {"x": 8968.13878616809, "y": -2889.012273615183}, {"x": 8968.541472174766, "y": -2888.7177377972685}, {"x": 8968.943820325188, "y": -2888.4227405992224}, {"x": 8969.345830178467, "y": -2888.1272825309184}, {"x": 8969.747501298996, "y": -2887.831364101441}, {"x": 8970.148833247207, "y": -2887.53498582224}, {"x": 8970.549825588823, "y": -2887.238148203188}, {"x": 8970.950477885597, "y": -2886.940851754159}, {"x": 8971.350789705897, "y": -2886.6430969873904}, {"x": 8971.750760614126, "y": -2886.344884413543}, {"x": 8972.150390177332, "y": -2886.0462145448546}, {"x": 8972.549677963885, "y": -2885.747087891986}, {"x": 8972.948623543483, "y": -2885.4475049687517}, {"x": 8973.347226484497, "y": -2885.1474662858122}, {"x": 8973.745486357944, "y": -2884.8469723569815}, {"x": 8974.14340273485, "y": -2884.5460236952845}, {"x": 8974.540975187554, "y": -2884.2446208129595}, {"x": 8974.938203289725, "y": -2883.9427642253954}, {"x": 8975.331552360556, "y": -2883.6431503110084}, {"x": 8975.72456418683, "y": -2883.343094140283}, {"x": 8976.117240193184, "y": -2883.0425986022387}, {"x": 8976.509581810878, "y": -2882.7416665827423}, {"x": 8976.901590483083, "y": -2882.4403009589914}, {"x": 8977.293267659596, "y": -2882.1385046050323}, {"x": 8977.684614799477, "y": -2881.8362803870305}, {"x": 8978.07563336973, "y": -2881.533631166423}, {"x": 8978.466324847957, "y": -2881.2305597991312}, {"x": 8978.856690718374, "y": -2880.927069133194}, {"x": 8979.246732474468, "y": -2880.6231620127123}, {"x": 8979.636451616345, "y": -2880.3188412770564}, {"x": 8980.025849656027, "y": -2880.0141097569303}, {"x": 8980.414928108185, "y": -2879.7089702798835}, {"x": 8980.803688502054, "y": -2879.403425667163}, {"x": 8981.19213237084, "y": -2879.0974787329224}, {"x": 8981.580261258341, "y": -2878.791132286586}, {"x": 8981.96807671233, "y": -2878.4843891336404}, {"x": 8982.355580291169, "y": -2878.1772520716886}, {"x": 8982.742773563812, "y": -2877.869723892819}, {"x": 8983.129658101861, "y": -2877.5618073851797}, {"x": 8983.516235488838, "y": -2877.2535053306133}, {"x": 8983.902507312234, "y": -2876.9448205054473}, {"x": 8984.28847517013, "y": -2876.635755678916}, {"x": 8984.67414066723, "y": -2876.326313618677}, {"x": 8985.059505416182, "y": -2876.0164970821447}, {"x": 8985.444571036254, "y": -2875.7063088251557}, {"x": 8985.829339154656, "y": -2875.395751597243}, {"x": 8986.213811405221, "y": -2875.084828140059}, {"x": 8986.597989429725, "y": -2874.77354119368}, {"x": 8986.981874877885, "y": -2874.46189349109}, {"x": 8987.36546940472, "y": -2874.149887758968}, {"x": 8987.748774674512, "y": -2873.8375267200527}, {"x": 8988.131792358166, "y": -2873.5248130923546}, {"x": 8988.514524130558, "y": -2873.211749586792}, {"x": 8988.89697167848, "y": -2872.8983389103428}, {"x": 8989.27913669137, "y": -2872.5845837652564}, {"x": 8989.661020869262, "y": -2872.270486847478}, {"x": 8990.042625914837, "y": -2871.9560508490117}, {"x": 8990.423953541367, "y": -2871.64127845477}, {"x": 8990.805005464772, "y": -2871.326172347301}, {"x": 8991.185783411565, "y": -2871.010735202848}, {"x": 8991.566289113553, "y": -2870.6949696913507}, {"x": 8991.946524306519, "y": -2870.378878479595}, {"x": 8992.326490736832, "y": -2870.06246422964}, {"x": 8992.706190153516, "y": -2869.7457295964523}, {"x": 8993.085624314861, "y": -2869.4286772326323}, {"x": 8993.464794984448, "y": -2869.111309784478}, {"x": 8993.843703929835, "y": -2868.7936298927707}, {"x": 8994.222352929171, "y": -2868.475640195927}, {"x": 8994.60074376193, "y": -2868.157343324483}, {"x": 8994.978878218177, "y": -2867.8387419073983}], "type": "lane"}, {"geometry": [{"x": 8991.708642558673, "y": -2863.9901911191905}, {"x": 8991.3280357617, "y": -2864.3107865292136}, {"x": 8990.947131918518, "y": -2864.631028946181}, {"x": 8990.565928438033, "y": -2864.9509146173614}, {"x": 8990.18442276755, "y": -2865.2704398136675}, {"x": 8989.802612390124, "y": -2865.589600832016}, {"x": 8989.420494821901, "y": -2865.908393989026}, {"x": 8989.038067620082, "y": -2866.2268156265345}, {"x": 8988.65532837099, "y": -2866.544862106867}, {"x": 8988.272274696703, "y": -2866.8625298128404}, {"x": 8987.888904253712, "y": -2867.179815148547}, {"x": 8987.50521473294, "y": -2867.4967145385694}, {"x": 8987.12120385312, "y": -2867.813224424828}, {"x": 8986.736869370041, "y": -2868.1293412713085}, {"x": 8986.352209067312, "y": -2868.4450615553933}, {"x": 8985.967220758987, "y": -2868.760381776531}, {"x": 8985.581902293545, "y": -2869.0752984483547}, {"x": 8985.196251544621, "y": -2869.3898081010466}, {"x": 8984.810266416303, "y": -2869.7039072805505}, {"x": 8984.423944844459, "y": -2870.017592547783}, {"x": 8984.037284787455, "y": -2870.3308604778463}, {"x": 8983.650284234122, "y": -2870.6437076600264}, {"x": 8983.262941202409, "y": -2870.95613069622}, {"x": 8982.875253732778, "y": -2871.268126200143}, {"x": 8982.487219892171, "y": -2871.579690799697}, {"x": 8982.098837776659, "y": -2871.8908211306643}, {"x": 8981.710105502172, "y": -2872.2015138422244}, {"x": 8981.321021211117, "y": -2872.5117655914364}, {"x": 8980.931583071064, "y": -2872.8215730463935}, {"x": 8980.541789270763, "y": -2873.1309328814923}, {"x": 8980.151638022795, "y": -2873.439841782163}, {"x": 8979.761127560929, "y": -2873.748296439351}, {"x": 8979.37025614144, "y": -2874.05629354952}, {"x": 8978.979022041787, "y": -2874.363829818589}, {"x": 8978.587423559291, "y": -2874.6709019548402}, {"x": 8978.195459013778, "y": -2874.9775066728635}, {"x": 8977.803126740966, "y": -2875.283640690398}, {"x": 8977.410425100403, "y": -2875.5893007299123}, {"x": 8977.017352464876, "y": -2875.8944835162392}, {"x": 8976.623907229683, "y": -2876.1991857749995}, {"x": 8976.230087806009, "y": -2876.503404234966}, {"x": 8975.835892622248, "y": -2876.807135624912}, {"x": 8975.44132012534, "y": -2877.1103766751867}, {"x": 8975.04636877545, "y": -2877.413124112986}, {"x": 8974.65103704997, "y": -2877.715374666296}, {"x": 8974.255323442168, "y": -2878.017125061525}, {"x": 8973.859226458564, "y": -2878.3183720203533}, {"x": 8973.462744622879, "y": -2878.6191122636737}, {"x": 8973.065876470757, "y": -2878.91934250765}, {"x": 8972.668620549755, "y": -2879.2190594621416}, {"x": 8972.270975424646, "y": -2879.518259835432}, {"x": 8971.872939668141, "y": -2879.816940326349}, {"x": 8971.481645018743, "y": -2880.1097675345563}, {"x": 8971.089972880098, "y": -2880.402089623861}, {"x": 8970.697923906271, "y": -2880.6939061072417}, {"x": 8970.305498748676, "y": -2880.985216498468}, {"x": 8969.912698061375, "y": -2881.2760203128846}, {"x": 8969.519522497105, "y": -2881.566317066624}, {"x": 8969.12597270993, "y": -2881.856106276606}, {"x": 8968.732049357883, "y": -2882.145387459753}, {"x": 8968.337753093703, "y": -2882.4341601353485}, {"x": 8967.943084576747, "y": -2882.7224238218896}, {"x": 8967.548044461078, "y": -2883.01017803945}, {"x": 8967.152633406056, "y": -2883.2974223096776}, {"x": 8966.756852068389, "y": -2883.584156153434}, {"x": 8966.36070110876, "y": -2883.8703790939444}, {"x": 8965.964181186528, "y": -2884.1560906552218}, {"x": 8965.56729296105, "y": -2884.4412903604916}, {"x": 8965.17003709301, "y": -2884.725977736131}, {"x": 8964.772414243089, "y": -2885.0101523077296}, {"x": 8964.374425075941, "y": -2885.2938136016646}, {"x": 8963.976070250925, "y": -2885.5769611466776}, {"x": 8963.577350432695, "y": -2885.8595944707217}, {"x": 8963.178266284584, "y": -2886.141713103327}, {"x": 8962.77881847124, "y": -2886.4233165748115}, {"x": 8962.37900765865, "y": -2886.7044044170684}], "type": "lane"}, {"geometry": [{"x": 9000.028643820095, "y": -2842.8176163221447}, {"x": 8999.70081372681, "y": -2842.4401306823065}, {"x": 8999.372862495637, "y": -2842.06275028283}, {"x": 8999.044790162325, "y": -2841.685475159966}, {"x": 8998.716596758646, "y": -2841.3083053554806}, {"x": 8998.388282320353, "y": -2840.9312409056256}, {"x": 8998.05984687922, "y": -2840.554281851379}, {"x": 8997.731290470996, "y": -2840.1774282297806}, {"x": 8997.402613128781, "y": -2839.800680081021}, {"x": 8997.073814886999, "y": -2839.424037442926}, {"x": 8996.744895778751, "y": -2839.0475003548995}, {"x": 8996.415855837136, "y": -2838.671068856344}, {"x": 8996.086695097905, "y": -2838.2947429842984}, {"x": 8995.757413592832, "y": -2837.918522778954}, {"x": 8995.428011357666, "y": -2837.5424082781365}, {"x": 8995.098488426833, "y": -2837.1663995212493}, {"x": 8994.768844832106, "y": -2836.790496546908}, {"x": 8994.43908060791, "y": -2836.414699394514}, {"x": 8994.109195789995, "y": -2836.0390081011074}, {"x": 8993.779190411462, "y": -2835.66342270609}, {"x": 8993.449064505408, "y": -2835.2879432488653}, {"x": 8993.11881810626, "y": -2834.912569768048}, {"x": 8992.788451248443, "y": -2834.537302301465}, {"x": 8992.457963965055, "y": -2834.1621408877304}, {"x": 8992.127356291845, "y": -2833.787085566248}, {"x": 8991.796628261915, "y": -2833.412136375632}, {"x": 8991.465779908362, "y": -2833.037293354498}, {"x": 8991.134811266937, "y": -2832.662556540672}, {"x": 8990.80372237074, "y": -2832.287925972769}, {"x": 8990.472513254193, "y": -2831.91340169098}, {"x": 8990.141183951724, "y": -2831.5389837323437}, {"x": 8989.809734496432, "y": -2831.164672135475}, {"x": 8989.478164922739, "y": -2830.7904669397767}, {"x": 8989.146475266396, "y": -2830.4163681830755}, {"x": 8988.814665559179, "y": -2830.042375903986}, {"x": 8988.482735838159, "y": -2829.6684901419117}, {"x": 8988.150686133791, "y": -2829.294710933891}, {"x": 8987.818516483143, "y": -2828.921038320115}, {"x": 8987.486226920644, "y": -2828.5474723376215}, {"x": 8987.153817478067, "y": -2828.1740130250264}, {"x": 8986.821288191162, "y": -2827.8006604217326}, {"x": 8986.488639095676, "y": -2827.427414565566}, {"x": 8986.155870222063, "y": -2827.054275495142}, {"x": 8985.822981608719, "y": -2826.6812432490756}, {"x": 8985.489973286094, "y": -2826.308317865981}, {"x": 8985.156845292588, "y": -2825.9354993828974}, {"x": 8984.82359765865, "y": -2825.5627878400155}, {"x": 8984.490230421354, "y": -2825.1901832743742}, {"x": 8984.156743613801, "y": -2824.817685724588}, {"x": 8983.823137270414, "y": -2824.4452952300603}, {"x": 8983.489411425617, "y": -2824.0730118278293}, {"x": 8983.155566113835, "y": -2823.700835557298}, {"x": 8982.821601369493, "y": -2823.3287664562936}, {"x": 8982.487517227015, "y": -2822.95680456343}, {"x": 8982.153313720826, "y": -2822.584949915747}, {"x": 8981.818990885347, "y": -2822.2132025534347}, {"x": 8981.484548755006, "y": -2821.8415625143202}, {"x": 8981.149987364226, "y": -2821.4700298354423}, {"x": 8980.815306747432, "y": -2821.098604556204}, {"x": 8980.480506939048, "y": -2820.7272867152196}, {"x": 8980.145587973497, "y": -2820.356076349528}, {"x": 8979.810549886528, "y": -2819.9849734977442}, {"x": 8979.475392711243, "y": -2819.613978198483}, {"x": 8979.140116482064, "y": -2819.243090490359}, {"x": 8978.804721233417, "y": -2818.872310410411}, {"x": 8978.469971029166, "y": -2818.5024899938867}, {"x": 8978.135078014264, "y": -2818.1327989015517}, {"x": 8977.800017838792, "y": -2817.763259308558}, {"x": 8977.46476618726, "y": -2817.3938934247335}, {"x": 8977.129298774627, "y": -2817.0247234961544}, {"x": 8976.793591359547, "y": -2816.6557718114536}, {"x": 8976.457619737743, "y": -2816.287060708123}, {"x": 8976.121359759227, "y": -2815.9186125748793}, {"x": 8975.784787321669, "y": -2815.5504498579658}, {"x": 8975.447878379679, "y": -2815.1825950650955}, {"x": 8975.11060895406, "y": -2814.81507076939}, {"x": 8974.772955123879, "y": -2814.4478996164707}, {"x": 8974.434893044992, "y": -2814.0811043268272}, {"x": 8974.096398946074, "y": -2813.7147077021164}, {"x": 8973.757449132598, "y": -2813.3487326291074}, {"x": 8973.418019998739, "y": -2812.9832020820427}, {"x": 8973.078088024738, "y": -2812.618139132095}, {"x": 8972.737629784839, "y": -2812.253566947371}, {"x": 8972.39662195391, "y": -2811.8895087999977}, {"x": 8972.055041304802, "y": -2811.525988070068}, {"x": 8971.712864722896, "y": -2811.1630282480014}, {"x": 8971.3700692048, "y": -2810.8006529432164}, {"x": 8971.026631863631, "y": -2810.4388858841257}, {"x": 8970.682529936963, "y": -2810.0777509260206}, {"x": 8970.337740788153, "y": -2809.7172720510694}, {"x": 8969.992241914279, "y": -2809.3574733777746}, {"x": 8969.6460109488, "y": -2808.99837916176}, {"x": 8969.299025668159, "y": -2808.640013800501}, {"x": 8968.951263995772, "y": -2808.282401837262}, {"x": 8968.602704009962, "y": -2807.925567966616}], "type": "lane"}, {"geometry": [{"x": 8964.018783943478, "y": -2814.8130320573355}, {"x": 8964.335321122475, "y": -2815.1875959626595}, {"x": 8964.652381719417, "y": -2815.5617169031816}, {"x": 8964.969946920088, "y": -2815.935409609274}, {"x": 8965.287997963225, "y": -2816.308688896419}, {"x": 8965.606516133912, "y": -2816.6815696581175}, {"x": 8965.925482767541, "y": -2817.0540668674626}, {"x": 8966.2448792432, "y": -2817.42619557005}, {"x": 8966.564686986316, "y": -2817.7979708839766}, {"x": 8966.884887464681, "y": -2818.1694079951117}, {"x": 8967.205462184487, "y": -2818.5405221539454}, {"x": 8967.526392694297, "y": -2818.9113286732254}, {"x": 8967.847660578414, "y": -2819.281842924802}, {"x": 8968.1692474569, "y": -2819.6520803356907}, {"x": 8968.491134985557, "y": -2820.0220563857065}, {"x": 8968.813304847994, "y": -2820.3917866058887}, {"x": 8969.135738763567, "y": -2820.7612865706187}, {"x": 8969.458418474145, "y": -2821.130571901562}, {"x": 8969.781325753369, "y": -2821.499658258999}, {"x": 8970.104442396063, "y": -2821.86856133946}, {"x": 8970.42775022221, "y": -2822.2372968765158}, {"x": 8970.751231069007, "y": -2822.605880633681}, {"x": 8971.074866798803, "y": -2822.974328402054}, {"x": 8971.398639284542, "y": -2823.342656000315}, {"x": 8971.722530419023, "y": -2823.7108792676327}, {"x": 8972.046522105647, "y": -2824.0790140620898}, {"x": 8972.370596259721, "y": -2824.4470762598944}, {"x": 8972.694734808476, "y": -2824.815081749076}, {"x": 8973.018919684431, "y": -2825.183046428695}, {"x": 8973.349236796446, "y": -2825.557906690165}, {"x": 8973.679583243285, "y": -2825.932741098618}, {"x": 8974.009959026273, "y": -2826.307549652478}, {"x": 8974.340364140113, "y": -2826.6823323478043}, {"x": 8974.670798584804, "y": -2827.0570891838092}, {"x": 8975.001262357699, "y": -2827.4318201573406}, {"x": 8975.33175545615, "y": -2827.806525266822}, {"x": 8975.66227788016, "y": -2828.181204509102}, {"x": 8975.992829624427, "y": -2828.555857883391}, {"x": 8976.323410690278, "y": -2828.930485384962}, {"x": 8976.654021073742, "y": -2829.3050870138145}, {"x": 8976.984660773494, "y": -2829.6796627667964}, {"x": 8977.315329786885, "y": -2830.0542126407554}, {"x": 8977.646028111269, "y": -2830.4287366349035}, {"x": 8977.976755746644, "y": -2830.803234746088}, {"x": 8978.307512690364, "y": -2831.1777069719456}, {"x": 8978.638298939779, "y": -2831.5521533108995}, {"x": 8978.969114492242, "y": -2831.926573759798}, {"x": 8979.299959347753, "y": -2832.3009683162763}, {"x": 8979.63083350234, "y": -2832.6753369795465}, {"x": 8979.961736954678, "y": -2833.049679745669}, {"x": 8980.292669703445, "y": -2833.4239966122786}, {"x": 8980.623631744667, "y": -2833.798287578588}, {"x": 8980.954623078344, "y": -2834.172552641445}, {"x": 8981.285643703153, "y": -2834.5467917984847}, {"x": 8981.6166936138, "y": -2834.9210050473434}, {"x": 8981.94777281028, "y": -2835.295192385657}, {"x": 8982.278881291273, "y": -2835.6693538118493}, {"x": 8982.610019052805, "y": -2836.043489322768}, {"x": 8982.941186094877, "y": -2836.417598916837}, {"x": 8983.272382413516, "y": -2836.791682590904}, {"x": 8983.603608008723, "y": -2837.1657403441814}, {"x": 8983.934862876526, "y": -2837.5397721727286}, {"x": 8984.2661470156, "y": -2837.9137780749693}, {"x": 8984.597460424622, "y": -2838.287758048539}, {"x": 8984.928803100942, "y": -2838.6617120910746}, {"x": 8985.260175043239, "y": -2839.035640200211}, {"x": 8985.59157624754, "y": -2839.4095423743724}, {"x": 8985.923006713843, "y": -2839.783418610407}, {"x": 8986.2544664395, "y": -2840.15726890595}, {"x": 8986.585955423192, "y": -2840.5310932594252}, {"x": 8986.917473660942, "y": -2840.904891668469}, {"x": 8987.249021151427, "y": -2841.278664130717}, {"x": 8987.580597894646, "y": -2841.652410643017}, {"x": 8987.912203885307, "y": -2842.0261312045805}, {"x": 8988.24383912473, "y": -2842.399825811468}, {"x": 8988.57550360762, "y": -2842.7734944628905}, {"x": 8988.907197333978, "y": -2843.147137155697}, {"x": 8989.23892030248, "y": -2843.5207538875216}, {"x": 8989.570672509151, "y": -2843.894344656002}, {"x": 8989.90245395267, "y": -2844.267909460349}, {"x": 8990.23426463039, "y": -2844.6414482966225}, {"x": 8990.566104542308, "y": -2845.0149611624583}, {"x": 8990.897973683128, "y": -2845.3884480570687}, {"x": 8991.229872054175, "y": -2845.761908976513}, {"x": 8991.561799652804, "y": -2846.1353439192158}, {"x": 8991.893756475038, "y": -2846.5087528835998}, {"x": 8992.225742519555, "y": -2846.8821358665136}, {"x": 8992.55775778503, "y": -2847.255492865593}, {"x": 8992.889802270141, "y": -2847.6288238784737}, {"x": 8993.221875970916, "y": -2848.0021289035794}, {"x": 8993.55397888603, "y": -2848.3754079385462}, {"x": 8993.886111014159, "y": -2848.7486609802218}, {"x": 8994.218272352653, "y": -2849.12188802703}, {"x": 8994.550462898867, "y": -2849.4950890766063}, {"x": 8994.882682652802, "y": -2849.868264126587}, {"x": 8995.21493161048, "y": -2850.2414131753962}, {"x": 8995.547209770584, "y": -2850.614536219093}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.2525193428, "y": -2807.570003299743}, {"x": 8967.897810201372, "y": -2807.2189597412766}, {"x": 8967.535354251371, "y": -2806.8759328908386}, {"x": 8967.162508396807, "y": -2806.544244207813}, {"x": 8966.777245656409, "y": -2806.2270805962685}, {"x": 8966.378170526146, "y": -2805.927501361143}, {"x": 8965.964514853602, "y": -2805.64841956359}, {"x": 8965.536115405233, "y": -2805.3925651312115}, {"x": 8965.093374151274, "y": -2805.1624369945966}, {"x": 8964.63720271945, "y": -2804.9602510944337}, {"x": 8964.168953088198, "y": -2804.7878903461574}, {"x": 8963.690337330327, "y": -2804.64686164668}, {"x": 8963.203339791247, "y": -2804.5382637791695}, {"x": 8962.710125566611, "y": -2804.46276877943}, {"x": 8962.212949202361, "y": -2804.420617946753}, {"x": 8961.714067446273, "y": -2804.4116324629917}, {"x": 8961.21565944839, "y": -2804.4352374787563}, {"x": 8960.719757140461, "y": -2804.4904976571725}, {"x": 8960.228187828092, "y": -2804.5761616116615}, {"x": 8959.74253013685, "y": -2804.690712328228}, {"x": 8959.264083697686, "y": -2804.8324206532916}, {"x": 8958.793852212812, "y": -2804.9993990904395}, {"x": 8958.332538952725, "y": -2805.1896535301}, {"x": 8957.88055329552, "y": -2805.401130990072}, {"x": 8957.43802663091, "y": -2805.631762016963}, {"x": 8957.004835844258, "y": -2805.879496932898}, {"x": 8956.58063253223, "y": -2806.1423356343394}, {"x": 8956.16487629509, "y": -2806.4183511171827}, {"x": 8955.756870504913, "y": -2806.705707279766}, {"x": 8955.355799256115, "y": -2807.002671826524}, {"x": 8954.960764350437, "y": -2807.307625303068}, {"x": 8954.570821421294, "y": -2807.6190673738533}, {"x": 8954.18501448919, "y": -2807.9356214851155}, {"x": 8953.802408403995, "y": -2808.256038994292}, {"x": 8953.422118771603, "y": -2808.5792037179026}, {"x": 8953.043339110754, "y": -2808.904137708012}, {"x": 8952.665365095712, "y": -2809.2300088372835}, {"x": 8952.287615842408, "y": -2809.5561405606477}, {"x": 8951.909652385042, "y": -2809.8820239647043}, {"x": 8951.53119362646, "y": -2810.2073319598494}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.257233840683, "y": -2807.571421372321}, {"x": 8967.917162242928, "y": -2807.2121019783094}, {"x": 8967.588606848898, "y": -2806.842250312938}, {"x": 8967.277743794937, "y": -2806.4574447514}, {"x": 8966.990879549225, "y": -2806.054471735155}, {"x": 8966.734406661948, "y": -2805.6315478536467}, {"x": 8966.514644867888, "y": -2805.1884765385207}, {"x": 8966.337582459102, "y": -2804.72671570497}, {"x": 8966.208546654745, "y": -2804.249332111381}, {"x": 8966.13184415151, "y": -2803.760824546794}, {"x": 8966.110421321078, "y": -2803.2668107639975}, {"x": 8966.145595092625, "y": -2802.7735903999373}, {"x": 8966.236898541174, "y": -2802.28761481077}, {"x": 8966.38206949447, "y": -2801.8149104879567}, {"x": 8966.577187745701, "y": -2801.3605118877053}, {"x": 8966.816940357838, "y": -2800.927959304322}, {"x": 8967.094969547938, "y": -2800.518907855741}, {"x": 8967.404238031242, "y": -2800.1328769844495}, {"x": 8967.737335449325, "y": -2799.767151202423}, {"x": 8968.086647544491, "y": -2799.4168285204173}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.052384631239, "y": -2811.5339971410294}, {"x": 8955.420956157248, "y": -2811.2045052536205}, {"x": 8955.788969543079, "y": -2810.8743900725576}, {"x": 8956.156440437237, "y": -2810.5436710999015}, {"x": 8956.523384583556, "y": -2810.212367760483}, {"x": 8956.889817815903, "y": -2809.8804994034813}, {"x": 8957.255756056857, "y": -2809.5480853032072}, {"x": 8957.6212153177, "y": -2809.215144663049}, {"x": 8957.986211687834, "y": -2808.8816966154677}, {"x": 8958.35076133875, "y": -2808.547760225153}, {"x": 8958.714880516083, "y": -2808.2133544929607}, {"x": 8959.07858554226, "y": -2807.8784983543387}, {"x": 8959.441892804587, "y": -2807.5432106864187}, {"x": 8959.804818760542, "y": -2807.2075103056504}, {"x": 8960.167379931152, "y": -2806.8714159725337}, {"x": 8960.529592898352, "y": -2806.5349463931907}, {"x": 8960.891474299686, "y": -2806.1981202225206}, {"x": 8961.253040830954, "y": -2805.8609560665627}, {"x": 8961.614309236942, "y": -2805.5234724817096}, {"x": 8961.975296311426, "y": -2805.1856879817974}, {"x": 8962.336018897175, "y": -2804.84762103732}, {"x": 8962.696493876669, "y": -2804.509290079368}, {"x": 8963.056738173442, "y": -2804.170713500417}, {"x": 8963.416768746767, "y": -2803.8319096582686}, {"x": 8963.776602591675, "y": -2803.492896876838}, {"x": 8964.13625673232, "y": -2803.1536934508813}, {"x": 8964.49574822463, "y": -2802.8143176475737}, {"x": 8964.855094145723, "y": -2802.4747877065074}, {"x": 8965.214311596545, "y": -2802.1351218444224}, {"x": 8965.573417699226, "y": -2801.795338259931}, {"x": 8965.93242958914, "y": -2801.455455129583}, {"x": 8966.291364417546, "y": -2801.115490617316}, {"x": 8966.650239344974, "y": -2800.775462872097}, {"x": 8967.009071543864, "y": -2800.435390031859}, {"x": 8967.367878185338, "y": -2800.0952902266545}, {"x": 8967.72667644581, "y": -2799.7551815802326}, {"x": 8968.085483503026, "y": -2799.4150822139763}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.904218200314, "y": -2797.1456332044404}, {"x": 8965.543902920575, "y": -2797.4895041496584}, {"x": 8965.183208884513, "y": -2797.8329777798854}, {"x": 8964.822131415713, "y": -2798.176048295018}, {"x": 8964.460665861594, "y": -2798.5187098831316}, {"x": 8964.098807593407, "y": -2798.860956722845}, {"x": 8963.736552008888, "y": -2799.2027829801677}, {"x": 8963.373894522978, "y": -2799.5441828077123}, {"x": 8963.0108305824, "y": -2799.8851503454835}, {"x": 8962.647355649759, "y": -2800.2256797200866}, {"x": 8962.283465218119, "y": -2800.565765044733}, {"x": 8961.919154797752, "y": -2800.9054004176587}, {"x": 8961.554419925411, "y": -2801.244579921339}, {"x": 8961.189256163005, "y": -2801.583297624066}, {"x": 8960.823659092306, "y": -2801.9215475791552}, {"x": 8960.457624321563, "y": -2802.259323820224}, {"x": 8960.091147478886, "y": -2802.5966203674907}, {"x": 8959.72422422019, "y": -2802.9334312214737}, {"x": 8959.356850221251, "y": -2803.269750367717}, {"x": 8958.989021181673, "y": -2803.605571768912}, {"x": 8958.620732826219, "y": -2803.9408893743516}, {"x": 8958.251980900839, "y": -2804.2756971096887}, {"x": 8957.882761176637, "y": -2804.609988883238}, {"x": 8957.513069444574, "y": -2804.9437585820374}, {"x": 8957.142901524743, "y": -2805.277000073422}, {"x": 8956.772253255773, "y": -2805.6097072018747}, {"x": 8956.401120500124, "y": -2805.941873792964}, {"x": 8956.029499145414, "y": -2806.2734936470406}, {"x": 8955.65738510309, "y": -2806.6045605439667}, {"x": 8955.284774304462, "y": -2806.9350682391732}, {"x": 8954.911662708644, "y": -2807.265010465239}, {"x": 8954.538046294607, "y": -2807.5943809311}, {"x": 8954.16392106781, "y": -2807.9231733196866}, {"x": 8953.789283054884, "y": -2808.251381290288}, {"x": 8953.41412830763, "y": -2808.5789984753983}, {"x": 8953.038452900348, "y": -2808.906018483083}, {"x": 8952.662252932494, "y": -2809.232434893036}, {"x": 8952.28552452604, "y": -2809.5582412589474}, {"x": 8951.908263826781, "y": -2809.8834311077117}, {"x": 8951.530467006998, "y": -2810.207997936278}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.102733241556, "y": -2801.180665368647}, {"x": 8953.40482631248, "y": -2801.577875181105}, {"x": 8953.707502256138, "y": -2801.9746410137423}, {"x": 8954.010760623689, "y": -2802.3709618539056}, {"x": 8954.31460093187, "y": -2802.7668367149467}, {"x": 8954.619022666964, "y": -2803.1622646338587}, {"x": 8954.924025282155, "y": -2803.557244672066}, {"x": 8955.229608205465, "y": -2803.9517759075407}, {"x": 8955.535770835797, "y": -2804.345857441897}, {"x": 8955.84251255351, "y": -2804.7394883917223}, {"x": 8956.149832713812, "y": -2805.1326678901532}, {"x": 8956.457730654696, "y": -2805.5253950860883}, {"x": 8956.766205698266, "y": -2805.9176691386697}, {"x": 8957.07525715339, "y": -2806.309489221225}, {"x": 8957.384884313045, "y": -2806.7008545157496}, {"x": 8957.695086466234, "y": -2807.0917642113336}, {"x": 8958.005862888724, "y": -2807.4822175033696}, {"x": 8958.317212854954, "y": -2807.872213594343}, {"x": 8958.62913563407, "y": -2808.2617516859523}, {"x": 8958.94163049522, "y": -2808.6508309846226}, {"x": 8959.254696707543, "y": -2809.0394506936286}, {"x": 8959.568333545485, "y": -2809.427610014667}, {"x": 8959.882540288783, "y": -2809.8153081470723}, {"x": 8960.197316221143, "y": -2810.2025442815084}, {"x": 8960.512660640841, "y": -2810.5893176031245}, {"x": 8960.828572854092, "y": -2810.975627286036}, {"x": 8961.145052183005, "y": -2811.3614724949016}, {"x": 8961.462097966894, "y": -2811.7468523801954}, {"x": 8961.779709559643, "y": -2812.1317660774184}, {"x": 8962.097886336318, "y": -2812.5162127055223}, {"x": 8962.416627695817, "y": -2812.900191363757}, {"x": 8962.735933059546, "y": -2813.2837011316715}, {"x": 8963.05580187539, "y": -2813.6667410659607}, {"x": 8963.376233619045, "y": -2814.0493101996776}, {"x": 8963.697227795326, "y": -2814.4314075375064}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.047176981014, "y": -2811.542745626718}, {"x": 8955.421722448102, "y": -2811.2351948101063}, {"x": 8955.814990198076, "y": -2810.9520930614835}, {"x": 8956.231324777178, "y": -2810.7042999175505}, {"x": 8956.671263042084, "y": -2810.5015000220246}, {"x": 8957.131908637017, "y": -2810.351727239736}, {"x": 8957.607652403594, "y": -2810.260811034354}, {"x": 8958.091136280564, "y": -2810.231959615083}, {"x": 8958.574319148556, "y": -2810.2656132326556}, {"x": 8959.04949012343, "y": -2810.3596077367397}, {"x": 8959.51009654083, "y": -2810.509605721455}, {"x": 8959.951302579619, "y": -2810.7096980583915}, {"x": 8960.3702531151, "y": -2810.9530595565784}, {"x": 8960.766068923436, "y": -2811.232555075693}, {"x": 8961.139632832426, "y": -2811.5412252477167}, {"x": 8961.493238948187, "y": -2811.872620852128}, {"x": 8961.83017257507, "y": -2812.220990843293}, {"x": 8962.154273907152, "y": -2812.5813547729535}, {"x": 8962.469521349543, "y": -2812.9495039534017}, {"x": 8962.779655294897, "y": -2813.321978186928}, {"x": 8963.087852572531, "y": -2813.6960586220785}, {"x": 8963.396454795462, "y": -2814.0698048372806}, {"x": 8963.706748083088, "y": -2814.442147830062}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.05017679911, "y": -2811.535417517888}, {"x": 8955.414918359038, "y": -2811.205546499917}, {"x": 8955.7758735513, "y": -2810.871539650162}, {"x": 8956.131458834261, "y": -2810.531825700015}, {"x": 8956.480082687794, "y": -2810.1849762872303}, {"x": 8956.820135346872, "y": -2809.829725031645}, {"x": 8957.149983407548, "y": -2809.4649849859275}, {"x": 8957.467969333095, "y": -2809.0898643462924}, {"x": 8957.772415790154, "y": -2808.7036801725835}, {"x": 8958.061634620231, "y": -2808.3059697741296}, {"x": 8958.33394011691, "y": -2807.896499327942}, {"x": 8958.587666170484, "y": -2807.4752692847887}, {"x": 8958.821186692176, "y": -2807.042516087163}, {"x": 8959.032938641365, "y": -2806.5987097901343}, {"x": 8959.221446849504, "y": -2806.1445472099763}, {"x": 8959.385349756274, "y": -2805.680940379124}, {"x": 8959.52342511529, "y": -2805.20900016955}, {"x": 8959.634614694884, "y": -2804.730015147602}, {"x": 8959.718047024635, "y": -2804.2454258636235}, {"x": 8959.773057255567, "y": -2803.7567949837867}, {"x": 8959.799203340903, "y": -2803.265773808674}, {"x": 8959.796277842284, "y": -2802.7740659264905}, {"x": 8959.764314839796, "y": -2802.2833888385953}, {"x": 8959.703591645242, "y": -2801.795434508556}, {"x": 8959.614625231272, "y": -2801.3118298528775}, {"x": 8959.498163495557, "y": -2800.834098190804}, {"x": 8959.35517175983, "y": -2800.363622637468}, {"x": 8959.186815104902, "y": -2799.9016123521706}, {"x": 8958.99443733476, "y": -2799.4490724377356}, {"x": 8958.779537566694, "y": -2799.0067781347752}, {"x": 8958.543745564939, "y": -2798.5752537884337}, {"x": 8958.288797033278, "y": -2798.1547568902215}, {"x": 8958.016510148243, "y": -2797.745267328909}, {"x": 8957.728764611913, "y": -2797.3464818323573}, {"x": 8957.427484492697, "y": -2796.957813477345}, {"x": 8957.114626027223, "y": -2796.5783960632903}, {"x": 8956.792171500745, "y": -2796.207093163089}, {"x": 8956.462130167323, "y": -2795.842511716324}, {"x": 8956.12654701083, "y": -2795.483020183743}, {"x": 8955.78751997961, "y": -2795.1267715215045}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8924.738688407357, "y": -2830.6619631128883}, {"x": 8924.326853478606, "y": -2830.9394473585376}, {"x": 8923.912311265733, "y": -2831.2128648212197}, {"x": 8923.493161561679, "y": -2831.4791561227075}, {"x": 8923.067907670773, "y": -2831.7355756341385}, {"x": 8922.635469848788, "y": -2831.9796728510623}, {"x": 8922.19517869744, "y": -2832.2092899142103}, {"x": 8921.746751750547, "y": -2832.4225705484346}, {"x": 8921.290256184539, "y": -2832.617975734808}, {"x": 8920.826060427118, "y": -2832.7943017973334}, {"x": 8920.354777607356, "y": -2832.950697252404}, {"x": 8919.87720387921, "y": -2833.0866755721822}, {"x": 8919.394254731225, "y": -2833.2021219256458}, {"x": 8918.906902367351, "y": -2833.2972928877944}, {"x": 8918.416117043911, "y": -2833.372808982259}, {"x": 8917.922814982952, "y": -2833.429640659396}, {"x": 8917.427814989644, "y": -2833.4690889045514}, {"x": 8916.931805487005, "y": -2833.4927620415892}, {"x": 8916.435323131787, "y": -2833.502550469339}, {"x": 8915.938743657593, "y": -2833.5006010402685}, {"x": 8915.442285235227, "y": -2833.48929254874}, {"x": 8914.94602419137, "y": -2833.4712134345}, {"x": 8914.449922741349, "y": -2833.449142295587}, {"x": 8913.953868124305, "y": -2833.426031205944}, {"x": 8913.457722466825, "y": -2833.4049912112177}, {"x": 8912.961382514462, "y": -2833.3892787126983}, {"x": 8912.464848281781, "y": -2833.382280801571}, {"x": 8911.968299414788, "y": -2833.387497046114}, {"x": 8911.47217778549, "y": -2833.4085146852226}, {"x": 8910.977274307406, "y": -2833.4489738679804}, {"x": 8910.48481734121, "y": -2833.5125193276003}, {"x": 8909.996559205721, "y": -2833.6027349805277}, {"x": 8909.51485631509, "y": -2833.7230582637935}, {"x": 8909.049694818876, "y": -2833.873448358379}, {"x": 8908.59590931212, "y": -2834.055305661519}, {"x": 8908.155570755824, "y": -2834.2676646103905}, {"x": 8907.730663998524, "y": -2834.5094282304176}, {"x": 8907.323079936825, "y": -2834.7793758022817}, {"x": 8906.934608345862, "y": -2835.0761709426656}, {"x": 8906.566931374433, "y": -2835.39837004829}, {"x": 8906.221617749788, "y": -2835.7444310346827}, {"x": 8905.900117661657, "y": -2836.1127223357994}, {"x": 8905.603758357243, "y": -2836.501532089619}, {"x": 8905.333740437974, "y": -2836.9090774719007}, {"x": 8905.091134843393, "y": -2837.3335141237144}, {"x": 8904.876880536785, "y": -2837.772945616802}, {"x": 8904.691782854143, "y": -2838.225432917361}, {"x": 8904.536512527025, "y": -2838.68900379545}, {"x": 8904.41160534628, "y": -2839.1616621390435}, {"x": 8904.317462459936, "y": -2839.6413971325383}, {"x": 8904.25435126161, "y": -2840.126192252428}, {"x": 8904.222406876066, "y": -2840.6140340509974}, {"x": 8904.221634186259, "y": -2841.1029206941344}, {"x": 8904.251910390016, "y": -2841.590870208354}, {"x": 8904.312988059828, "y": -2842.07592842836}, {"x": 8904.40449865545, "y": -2842.556176595494}, {"x": 8904.525956478734, "y": -2843.0297386015636}, {"x": 8904.676763029622, "y": -2843.4947878504568}, {"x": 8904.85621172361, "y": -2843.949553713911}, {"x": 8905.063492945505, "y": -2844.3923275696106}, {"x": 8905.297699398425, "y": -2844.8214684176733}, {"x": 8905.5578317269, "y": -2845.235408041638}, {"x": 8905.842804359718, "y": -2845.6326557368116}, {"x": 8906.15145155009, "y": -2846.0118025673555}, {"x": 8906.478525915492, "y": -2846.367377674416}, {"x": 8906.826380750705, "y": -2846.7026501115474}, {"x": 8907.193805332225, "y": -2847.016352308621}, {"x": 8907.579508096309, "y": -2847.307286270747}, {"x": 8907.982120470668, "y": -2847.574328926034}, {"x": 8908.400201055696, "y": -2847.8164372818496}, {"x": 8908.832240159218, "y": -2848.0326533549096}, {"x": 8909.276664687382, "y": -2848.222108857854}, {"x": 8909.731843350695, "y": -2848.384029617101}, {"x": 8910.196092201022, "y": -2848.5177396991144}, {"x": 8910.667680458586, "y": -2848.6226652159335}, {"x": 8911.14483663551, "y": -2848.698337797356}, {"x": 8911.625754912277, "y": -2848.744397699825}, {"x": 8912.108601774988, "y": -2848.760596536259}, {"x": 8912.591522861849, "y": -2848.746799603977}, {"x": 8913.0726500122, "y": -2848.702987797309}, {"x": 8913.550108502257, "y": -2848.6292590820585}, {"x": 8914.02202441058, "y": -2848.5258295215485}, {"x": 8914.48653211862, "y": -2848.3930338353553}, {"x": 8914.941781898624, "y": -2848.2313254867845}, {"x": 8915.38594755319, "y": -2848.041276274655}, {"x": 8915.81723410646, "y": -2847.8235754372804}, {"x": 8916.233885470152, "y": -2847.5790282489347}, {"x": 8916.634192088406, "y": -2847.308554108028}, {"x": 8917.016498513793, "y": -2847.0131841224957}, {"x": 8917.379210870758, "y": -2846.6940581782255}, {"x": 8917.720804199937, "y": -2846.352421500763}, {"x": 8918.03982961046, "y": -2845.9896207173856}, {"x": 8918.336551291839, "y": -2845.6058554777524}, {"x": 8918.61083059082, "y": -2845.2057219440876}, {"x": 8918.864733846274, "y": -2844.792341466678}, {"x": 8919.100638778364, "y": -2844.36841779149}, {"x": 8919.321142677538, "y": -2843.9362714651866}, {"x": 8919.52898313854, "y": -2843.4978850121047}, {"x": 8919.726970440435, "y": -2843.0549546505335}, {"x": 8919.917930202302, "y": -2842.608944874371}, {"x": 8920.104654585419, "y": -2842.161142782602}, {"x": 8920.28986034589, "y": -2841.712709570191}, {"x": 8920.476152084042, "y": -2841.26472701954}, {"x": 8920.665989377118, "y": -2840.818237277696}, {"x": 8920.861656786426, "y": -2840.374274510258}, {"x": 8921.065236176211, "y": -2839.9338874083032}, {"x": 8921.278581172119, "y": -2839.498151801246}, {"x": 8921.503294026723, "y": -2839.0681730091937}, {"x": 8921.74070547998, "y": -2838.64507790011}, {"x": 8921.991858443409, "y": -2838.229997013521}, {"x": 8922.257496493103, "y": -2837.824037510435}, {"x": 8922.5380581063, "y": -2837.428248103206}, {"x": 8922.83367743726, "y": -2837.043577502045}, {"x": 8923.144192073321, "y": -2836.6708282064765}, {"x": 8923.469157775142, "y": -2836.310607716693}, {"x": 8923.807869564245, "y": -2835.9632793232986}, {"x": 8924.159387918613, "y": -2835.6289146441777}, {"x": 8924.522568049246, "y": -2835.3072498865126}, {"x": 8924.89608959248, "y": -2834.9976476054994}, {"x": 8925.278483325907, "y": -2834.699065383787}, {"x": 8925.668151015328, "y": -2834.410032601118}, {"x": 8926.063373990382, "y": -2834.1286362634764}, {"x": 8926.46230578436, "y": -2833.852516931981}, {"x": 8926.862944047924, "y": -2833.5788762456846}], "type": "lane"}, {"geometry": [{"x": 8926.862944047924, "y": -2833.5788762456846}, {"x": 8927.27358165218, "y": -2833.2981639617246}, {"x": 8927.683712084125, "y": -2833.0167111833994}, {"x": 8928.093334010477, "y": -2832.734518824855}, {"x": 8928.502446096632, "y": -2832.451587806543}, {"x": 8928.911047010633, "y": -2832.167919048915}, {"x": 8929.319135421849, "y": -2831.8835134763617}, {"x": 8929.726710002295, "y": -2831.5983720132754}, {"x": 8930.133769423983, "y": -2831.312495589564}, {"x": 8930.540312362902, "y": -2831.025885134347}, {"x": 8930.946337495043, "y": -2830.7385415830495}, {"x": 8931.351843497712, "y": -2830.4504658687306}, {"x": 8931.756829052194, "y": -2830.1616589307555}, {"x": 8932.161292838451, "y": -2829.872121709277}, {"x": 8932.565233540412, "y": -2829.581855146812}, {"x": 8932.968649843333, "y": -2829.290860188241}, {"x": 8933.371540432468, "y": -2828.9991377815977}, {"x": 8933.773903995723, "y": -2828.7066888757035}, {"x": 8934.175739226297, "y": -2828.413514422532}, {"x": 8934.577044812093, "y": -2828.1196153779965}, {"x": 8934.977819450281, "y": -2827.8249926980116}, {"x": 8935.37806183274, "y": -2827.529647342431}, {"x": 8935.777770657962, "y": -2827.2335802718967}, {"x": 8936.176944624445, "y": -2826.9367924502035}, {"x": 8936.575582432006, "y": -2826.639284845086}, {"x": 8936.973682783117, "y": -2826.341058423491}, {"x": 8937.371244381564, "y": -2826.0421141578813}, {"x": 8937.768265933792, "y": -2825.74245302072}, {"x": 8938.16474614756, "y": -2825.442075987622}, {"x": 8938.56068372931, "y": -2825.1409840365677}, {"x": 8938.956077392104, "y": -2824.8391781479004}, {"x": 8939.350925848998, "y": -2824.5366593043273}, {"x": 8939.745227813053, "y": -2824.2334284909207}, {"x": 8940.138982001301, "y": -2823.929486694329}, {"x": 8940.532187132096, "y": -2823.6248349051402}, {"x": 8940.924841923796, "y": -2823.319474113943}, {"x": 8941.316945100052, "y": -2823.013405316054}, {"x": 8941.708495383193, "y": -2822.706629507578}, {"x": 8942.099491498193, "y": -2822.3991476861956}, {"x": 8942.489932171353, "y": -2822.0909608551046}, {"x": 8942.879816134267, "y": -2821.782070015926}, {"x": 8943.269142114561, "y": -2821.472476175009}, {"x": 8943.657908846479, "y": -2821.1621803410676}, {"x": 8944.04611506294, "y": -2820.8511835228155}, {"x": 8944.433759500835, "y": -2820.5394867336945}, {"x": 8944.820840898381, "y": -2820.2270909879353}, {"x": 8945.207357995117, "y": -2819.9139973037077}, {"x": 8945.593309533235, "y": -2819.6002066999704}, {"x": 8945.978694253594, "y": -2819.2857201972583}, {"x": 8946.363510905003, "y": -2818.9705388208336}, {"x": 8946.7477582323, "y": -2818.6546635959594}, {"x": 8947.131434985617, "y": -2818.3380955518396}, {"x": 8947.51453991376, "y": -2818.0208357184642}, {"x": 8947.897071772157, "y": -2817.702885128978}, {"x": 8948.279029314916, "y": -2817.384244818888}, {"x": 8948.660411296136, "y": -2817.0649158244896}, {"x": 8949.041216476544, "y": -2816.7448991868077}, {"x": 8949.42144361554, "y": -2816.424195947654}, {"x": 8949.801091475172, "y": -2816.1028071496285}, {"x": 8950.180158818812, "y": -2815.780733840848}, {"x": 8950.55864441248, "y": -2815.4579770694286}, {"x": 8950.93654702617, "y": -2815.1345378850638}, {"x": 8951.3138654259, "y": -2814.8104173429624}, {"x": 8951.690598385634, "y": -2814.485616495969}, {"x": 8952.066744678013, "y": -2814.1601364032335}, {"x": 8952.442303078327, "y": -2813.833978123905}, {"x": 8952.817272364511, "y": -2813.507142720285}, {"x": 8953.191651315825, "y": -2813.1796312554634}, {"x": 8953.56543871153, "y": -2812.85144479647}, {"x": 8953.938633337506, "y": -2812.522584411911}, {"x": 8954.31123397566, "y": -2812.193051171969}, {"x": 8954.683239415846, "y": -2811.8628461499775}], "type": "lane"}, {"geometry": [{"x": 8951.152130258832, "y": -2810.531935214801}, {"x": 8950.774881785506, "y": -2810.8538482413383}, {"x": 8950.39709532215, "y": -2811.175129716954}, {"x": 8950.018771922678, "y": -2811.495778738534}, {"x": 8949.639912644978, "y": -2811.815794407694}, {"x": 8949.260518544284, "y": -2812.13517582447}, {"x": 8948.880590681134, "y": -2812.4539220936304}, {"x": 8948.500130117385, "y": -2812.772032318365}, {"x": 8948.119137914895, "y": -2813.0895056081686}, {"x": 8947.737615138169, "y": -2813.406341070172}, {"x": 8947.35556285304, "y": -2813.7225378162343}, {"x": 8946.972982126657, "y": -2814.038094958215}, {"x": 8946.589874027504, "y": -2814.353011611913}, {"x": 8946.206239626705, "y": -2814.66728689234}, {"x": 8945.82207999671, "y": -2814.980919919236}, {"x": 8945.437396208645, "y": -2815.2939098115517}, {"x": 8945.052189340257, "y": -2815.6062556913917}, {"x": 8944.666460467966, "y": -2815.9179566832236}, {"x": 8944.280210668197, "y": -2816.229011913091}, {"x": 8943.893441021344, "y": -2816.5394205070397}, {"x": 8943.506152609125, "y": -2816.849181596629}, {"x": 8943.118346513258, "y": -2817.1582943118437}, {"x": 8942.730023818109, "y": -2817.466757786608}, {"x": 8942.341185610694, "y": -2817.7745711548478}, {"x": 8941.951832978026, "y": -2818.0817335552147}, {"x": 8941.561967007117, "y": -2818.3882441263627}, {"x": 8941.171588788959, "y": -2818.694102007733}, {"x": 8940.780699415858, "y": -2818.9993063434945}, {"x": 8940.389299980126, "y": -2819.303856277029}, {"x": 8939.997391578047, "y": -2819.6077509556576}, {"x": 8939.604975303251, "y": -2819.910989526703}, {"x": 8939.212052255998, "y": -2820.2135711414267}, {"x": 8938.818623532567, "y": -2820.51549495109}, {"x": 8938.42469023586, "y": -2820.8167601101086}, {"x": 8938.030253466135, "y": -2821.117365774471}, {"x": 8937.635314328938, "y": -2821.417311101746}, {"x": 8937.239873927176, "y": -2821.7165952510736}, {"x": 8936.843933366396, "y": -2822.01521738475}, {"x": 8936.447493757447, "y": -2822.3131766658585}, {"x": 8936.050556207203, "y": -2822.610472260633}, {"x": 8935.653121826508, "y": -2822.907103334521}, {"x": 8935.255191728862, "y": -2823.203069058486}, {"x": 8934.856767026431, "y": -2823.4983686019154}, {"x": 8934.457848834034, "y": -2823.793001138925}, {"x": 8934.058438267817, "y": -2824.0869658444176}, {"x": 8933.658536446566, "y": -2824.380261894086}, {"x": 8933.258144489077, "y": -2824.6728884675617}, {"x": 8932.857263514135, "y": -2824.964844745265}, {"x": 8932.455894645833, "y": -2825.256129909192}, {"x": 8932.054039006927, "y": -2825.5467431444918}, {"x": 8931.651697721509, "y": -2825.836683636312}, {"x": 8931.248871914988, "y": -2826.1259505737416}, {"x": 8930.845562716746, "y": -2826.4145431466577}, {"x": 8930.441771254842, "y": -2826.702460547301}, {"x": 8930.03749865866, "y": -2826.9897019687005}, {"x": 8929.632746058905, "y": -2827.2762666078256}, {"x": 8929.227514591583, "y": -2827.562153661646}, {"x": 8928.821805387395, "y": -2827.8473623294944}, {"x": 8928.415619585, "y": -2828.1318918146453}, {"x": 8928.008958319067, "y": -2828.4157413187963}, {"x": 8927.60182272958, "y": -2828.698910047585}, {"x": 8927.19421395386, "y": -2828.981397209802}, {"x": 8926.786133134534, "y": -2829.263202013449}, {"x": 8926.377581414223, "y": -2829.54432366968}, {"x": 8925.968559935547, "y": -2829.8247613912267}, {"x": 8925.559069843783, "y": -2830.104514394759}, {"x": 8925.14911228552, "y": -2830.383581895372}, {"x": 8924.738688407357, "y": -2830.6619631128883}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.103060472606, "y": -2801.1792387283067}, {"x": 8953.410612689955, "y": -2801.5710357058015}, {"x": 8953.728343797355, "y": -2801.9546085049255}, {"x": 8954.05991428329, "y": -2802.326263281505}, {"x": 8954.408130099959, "y": -2802.6823472751717}, {"x": 8954.77491823125, "y": -2803.019245235523}, {"x": 8955.16132812533, "y": -2803.3334198849375}, {"x": 8955.567559406238, "y": -2803.6214833709664}, {"x": 8955.993016121316, "y": -2803.8802867652485}, {"x": 8956.43638656462, "y": -2804.10701539168}, {"x": 8956.89574601367, "y": -2804.2992790928947}, {"x": 8957.368677915014, "y": -2804.4551884535595}, {"x": 8957.852407585664, "y": -2804.5734103245454}, {"x": 8958.343941509824, "y": -2804.65319858712}, {"x": 8958.840205079898, "y": -2804.6943986976753}, {"x": 8959.338171957814, "y": -2804.697426952356}, {"x": 8959.834979213818, "y": -2804.663227408683}, {"x": 8960.328023796686, "y": -2804.5932108694014}, {"x": 8960.815037471506, "y": -2804.4891811896464}, {"x": 8961.294139014914, "y": -2804.353254437204}, {"x": 8961.763863961678, "y": -2804.187776195327}, {"x": 8962.223173483535, "y": -2803.9952416119277}, {"x": 8962.671444849675, "y": -2803.7782218856273}, {"x": 8963.108446551189, "y": -2803.5392997719123}, {"x": 8963.53430139025, "y": -2803.281015594884}, {"x": 8963.949440799026, "y": -2803.0058242327123}, {"x": 8964.35455343092, "y": -2802.7160626449363}, {"x": 8964.750530660229, "y": -2802.413926828082}, {"x": 8965.138411230482, "y": -2802.101456580147}, {"x": 8965.519326767346, "y": -2801.7805261794547}, {"x": 8965.894449523807, "y": -2801.452838936814}, {"x": 8966.264943312277, "y": -2801.1199236760494}, {"x": 8966.631918284258, "y": -2800.783131329599}, {"x": 8966.996389954802, "y": -2800.4436301668197}, {"x": 8967.359242670349, "y": -2800.1023985099746}, {"x": 8967.72119747362, "y": -2799.760214238881}, {"x": 8968.082784095455, "y": -2799.4176408415033}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.099744087058, "y": -2801.179935119818}, {"x": 8953.389897531042, "y": -2801.582992546487}, {"x": 8953.663533328103, "y": -2801.9974057962095}, {"x": 8953.913165493535, "y": -2802.426665548764}, {"x": 8954.131930460982, "y": -2802.872408604474}, {"x": 8954.313692529444, "y": -2803.3344427032953}, {"x": 8954.453234229815, "y": -2803.8109032552848}, {"x": 8954.546469357203, "y": -2804.298524477325}, {"x": 8954.590624507618, "y": -2804.7930000539836}, {"x": 8954.584348884962, "y": -2805.2893998986106}, {"x": 8954.527729671496, "y": -2805.782604019228}, {"x": 8954.42220857797, "y": -2806.2677140918468}, {"x": 8954.270411404792, "y": -2806.7404085111402}, {"x": 8954.075914266426, "y": -2807.1972162790703}, {"x": 8953.842976437405, "y": -2807.635696933403}, {"x": 8953.576270476186, "y": -2808.054525590158}, {"x": 8953.280636309664, "y": -2808.453491934104}, {"x": 8952.960878998192, "y": -2808.8334286450063}, {"x": 8952.621621510656, "y": -2809.196087720658}, {"x": 8952.26721566875, "y": -2809.5439830182463}, {"x": 8951.901707314842, "y": -2809.880214809095}, {"x": 8951.52884653733, "y": -2810.2082884387323}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.259815799065, "y": -2807.5761155271402}, {"x": 8967.916186084154, "y": -2807.227392210359}, {"x": 8967.571863075178, "y": -2806.879353419306}, {"x": 8967.226894708016, "y": -2806.5319542819825}, {"x": 8966.881328659038, "y": -2806.1851496647546}, {"x": 8966.535212364968, "y": -2805.8388941983594}, {"x": 8966.188593040099, "y": -2805.4931422913014}, {"x": 8965.841517694824, "y": -2805.147848152708}, {"x": 8965.494033150198, "y": -2804.8029658096625}, {"x": 8965.146186064432, "y": -2804.4584491269106}, {"x": 8964.798022946115, "y": -2804.114251824983}, {"x": 8964.449590172764, "y": -2803.770327499109}, {"x": 8964.100934009351, "y": -2803.426629636554}, {"x": 8963.752100632142, "y": -2803.083111637897}, {"x": 8963.403136139284, "y": -2802.7397268335803}, {"x": 8963.054086579938, "y": -2802.3964285004577}, {"x": 8962.704997960895, "y": -2802.053169884649}, {"x": 8962.355916278355, "y": -2801.709904214937}, {"x": 8962.006887528516, "y": -2801.3665847240445}, {"x": 8961.657957727437, "y": -2801.023164668336}, {"x": 8961.30917293487, "y": -2800.6795973404264}, {"x": 8960.960579266179, "y": -2800.335836093612}, {"x": 8960.61222291881, "y": -2799.991834356054}, {"x": 8960.26415018554, "y": -2799.647545651268}, {"x": 8959.916407474338, "y": -2799.3029236178268}, {"x": 8959.56904133087, "y": -2798.957922023544}, {"x": 8959.222098449087, "y": -2798.612494787541}, {"x": 8958.875625699036, "y": -2798.266595999947}, {"x": 8958.529670141426, "y": -2797.920179936874}, {"x": 8958.184279043506, "y": -2797.573201083267}, {"x": 8957.83949990026, "y": -2797.2256141486696}, {"x": 8957.495380450284, "y": -2796.8773740892866}, {"x": 8957.151968698307, "y": -2796.528436127686}, {"x": 8956.809312925774, "y": -2796.1787557677726}, {"x": 8956.46746171468, "y": -2795.8282888215817}, {"x": 8956.126463962137, "y": -2795.4769914226763}, {"x": 8955.786368894935, "y": -2795.124820052941}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.903797088824, "y": -2797.146407092746}, {"x": 8965.544178054375, "y": -2797.4922176959085}, {"x": 8965.186430927539, "y": -2797.8399634524785}, {"x": 8964.83170645537, "y": -2798.1907903873125}, {"x": 8964.481183901506, "y": -2798.5458134560968}, {"x": 8964.136076678516, "y": -2798.9061001316845}, {"x": 8963.797636834988, "y": -2799.2726538343964}, {"x": 8963.467158019987, "y": -2799.6463973252835}, {"x": 8963.1459765171, "y": -2800.0281562302075}, {"x": 8962.835470051521, "y": -2800.4186429043625}, {"x": 8962.537054072205, "y": -2800.8184409264527}, {"x": 8962.252175298643, "y": -2801.227990552726}, {"x": 8961.982302403776, "y": -2801.6475755319834}, {"x": 8961.728913789388, "y": -2802.077311715781}, {"x": 8961.493482513553, "y": -2802.517137954792}, {"x": 8961.277458581959, "y": -2802.966809773852}, {"x": 8961.082248874553, "y": -2803.4258963119364}, {"x": 8960.909195182821, "y": -2803.8937809943695}, {"x": 8960.759550880684, "y": -2804.3696663447067}, {"x": 8960.634456904265, "y": -2804.852583239681}, {"x": 8960.534917807108, "y": -2805.3414048081745}, {"x": 8960.461778687953, "y": -2805.834865038049}, {"x": 8960.41570385293, "y": -2806.3315819726167}, {"x": 8960.397158033125, "y": -2806.8300852177927}, {"x": 8960.406390953212, "y": -2807.328847303633}, {"x": 8960.44342591846, "y": -2807.8263182556343}, {"x": 8960.508052951058, "y": -2808.320962597976}, {"x": 8960.59982682527, "y": -2808.811297857227}, {"x": 8960.71807009944, "y": -2809.295933560161}, {"x": 8960.861881038862, "y": -2809.773609666539}, {"x": 8961.030145992674, "y": -2810.2432333753372}, {"x": 8961.221555583865, "y": -2810.7039132886207}, {"x": 8961.434623761828, "y": -2811.1549900133928}, {"x": 8961.667708558902, "y": -2811.5960623968235}, {"x": 8961.919033183218, "y": -2812.027008760457}, {"x": 8962.186705913315, "y": -2812.4480026109322}, {"x": 8962.46873715539, "y": -2812.859522489122}, {"x": 8962.76305198568, "y": -2813.2623556716417}, {"x": 8963.067496451422, "y": -2813.6575954969703}, {"x": 8963.379836045608, "y": -2814.0466320182995}, {"x": 8963.697744831532, "y": -2814.4311355134264}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.904148530768, "y": -2797.142690264873}, {"x": 8965.535391008787, "y": -2797.4745035902383}, {"x": 8965.151360091357, "y": -2797.788453792973}, {"x": 8964.747785037996, "y": -2798.0767755089223}, {"x": 8964.322722681407, "y": -2798.3322822022246}, {"x": 8963.876452421358, "y": -2798.548545691133}, {"x": 8963.41121438662, "y": -2798.7201688301225}, {"x": 8962.930816604381, "y": -2798.843061360779}, {"x": 8962.440150124316, "y": -2798.914648082725}, {"x": 8961.94466234886, "y": -2798.9339644394863}, {"x": 8961.449842769485, "y": -2798.901622739196}, {"x": 8960.96077034636, "y": -2798.8196578450334}, {"x": 8960.481759226395, "y": -2798.691280180647}, {"x": 8960.01612285451, "y": -2798.520574276061}, {"x": 8959.56605954053, "y": -2798.3121826155225}, {"x": 8959.132648419638, "y": -2798.0710090536095}, {"x": 8958.71593541389, "y": -2797.8019660552154}, {"x": 8958.315084564209, "y": -2797.509778443997}, {"x": 8957.928570228038, "y": -2797.1988454371317}, {"x": 8957.554388804845, "y": -2796.873154108714}, {"x": 8957.190273247363, "y": -2796.536231771377}, {"x": 8956.833898390785, "y": -2796.1911221359765}, {"x": 8956.483069455098, "y": -2795.840370194278}, {"x": 8956.135889465158, "y": -2795.4860030344867}, {"x": 8955.79090420889, "y": -2795.129497620724}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8968.4443165281, "y": -2799.075010246118}, {"x": 8968.796631691812, "y": -2798.7411029540413}, {"x": 8969.148718914832, "y": -2798.4069553469576}, {"x": 8969.5003282196, "y": -2798.0723049323433}, {"x": 8969.851248726649, "y": -2797.7369323535827}, {"x": 8970.20132861145, "y": -2797.400682416132}, {"x": 8970.550495602774, "y": -2797.063484606964}, {"x": 8970.898777973585, "y": -2796.7253731175315}, {"x": 8971.246325840439, "y": -2796.386506576734}, {"x": 8971.593432346352, "y": -2796.047187868198}, {"x": 8971.949888370202, "y": -2795.698558688047}, {"x": 8972.306344392728, "y": -2795.349929508684}, {"x": 8972.662800416578, "y": -2795.001300328533}, {"x": 8973.019256440428, "y": -2794.65267114917}, {"x": 8973.375712462954, "y": -2794.304041969019}, {"x": 8973.732168486804, "y": -2793.9554127896563}, {"x": 8974.088624510652, "y": -2793.6067836095053}, {"x": 8974.445080534502, "y": -2793.2581544301424}, {"x": 8974.801536557028, "y": -2792.9095252499915}, {"x": 8975.157992580878, "y": -2792.5608960706286}, {"x": 8975.514448604728, "y": -2792.2122668904776}, {"x": 8975.870904627254, "y": -2791.8636377111147}, {"x": 8976.227360651104, "y": -2791.5150085309638}, {"x": 8976.583816674953, "y": -2791.166379351601}, {"x": 8976.940272697479, "y": -2790.81775017145}, {"x": 8977.296728721329, "y": -2790.4691209920866}, {"x": 8977.653184745179, "y": -2790.1204918119356}, {"x": 8978.009640769029, "y": -2789.7718626325727}, {"x": 8978.366096791555, "y": -2789.4232334524218}, {"x": 8978.722552815405, "y": -2789.074604273059}, {"x": 8979.079008839253, "y": -2788.725975092908}, {"x": 8979.43546486178, "y": -2788.377345913545}, {"x": 8979.79192088563, "y": -2788.028716733394}, {"x": 8980.14837690948, "y": -2787.680087554031}, {"x": 8980.504832932005, "y": -2787.33145837388}, {"x": 8980.861288955855, "y": -2786.9828291945173}, {"x": 8981.217744979705, "y": -2786.6342000143663}, {"x": 8981.574201003554, "y": -2786.2855708350035}, {"x": 8981.93065702608, "y": -2785.9369416548525}, {"x": 8982.28711304993, "y": -2785.5883124754896}, {"x": 8982.64356907378, "y": -2785.2396832953386}, {"x": 8983.000025096306, "y": -2784.8910541159757}, {"x": 8983.356481120156, "y": -2784.542424935825}, {"x": 8983.712937144004, "y": -2784.193795756462}, {"x": 8984.06939316653, "y": -2783.845166576311}, {"x": 8984.42584919038, "y": -2783.496537396948}, {"x": 8984.78230521423, "y": -2783.147908216797}, {"x": 8985.13876123808, "y": -2782.7992790374337}, {"x": 8985.495217260606, "y": -2782.4506498572828}, {"x": 8985.851673284456, "y": -2782.10202067792}, {"x": 8986.208129308305, "y": -2781.753391497769}, {"x": 8986.56458533083, "y": -2781.404762318406}, {"x": 8986.92104135468, "y": -2781.056133138255}, {"x": 8987.27749737853, "y": -2780.707503958892}, {"x": 8987.633953401057, "y": -2780.358874778741}, {"x": 8987.990409424907, "y": -2780.0102455993783}, {"x": 8988.346865448757, "y": -2779.6616164192274}, {"x": 8988.703321472605, "y": -2779.3129872398645}, {"x": 8989.059777495131, "y": -2778.9643580597135}, {"x": 8989.416233518981, "y": -2778.6157288803506}, {"x": 8989.772689542831, "y": -2778.2670997001997}, {"x": 8990.129145565357, "y": -2777.9184705208368}, {"x": 8990.485601589207, "y": -2777.569841340686}, {"x": 8990.842057613057, "y": -2777.221212161323}, {"x": 8991.198513635583, "y": -2776.872582981172}, {"x": 8991.554969659432, "y": -2776.523953801809}, {"x": 8991.911425683282, "y": -2776.175324621658}, {"x": 8992.267881707132, "y": -2775.8266954422947}, {"x": 8992.624337729658, "y": -2775.478066262144}, {"x": 8992.980793753508, "y": -2775.129437082781}, {"x": 8993.337249777358, "y": -2774.78080790263}, {"x": 8993.693705799884, "y": -2774.432178723267}, {"x": 8994.050161823732, "y": -2774.083549543116}, {"x": 8994.406617847582, "y": -2773.734920363753}, {"x": 8994.763073870108, "y": -2773.386291183602}, {"x": 8995.119529893958, "y": -2773.0376620042393}, {"x": 8995.475985917808, "y": -2772.6890328240884}, {"x": 8995.832441941659, "y": -2772.3404036447255}, {"x": 8996.188897964183, "y": -2771.9917744645745}, {"x": 8996.545353988033, "y": -2771.6431452852116}, {"x": 8996.901810011883, "y": -2771.2945161050607}, {"x": 8997.258266034409, "y": -2770.945886925698}, {"x": 8997.614722058259, "y": -2770.597257745547}, {"x": 8997.971178082109, "y": -2770.248628566184}, {"x": 8998.327634104635, "y": -2769.899999386033}, {"x": 8998.684090128483, "y": -2769.55137020667}, {"x": 8999.040546152333, "y": -2769.202741026519}, {"x": 8999.397002176183, "y": -2768.854111847156}, {"x": 8999.75345819871, "y": -2768.505482667005}, {"x": 9000.10991422256, "y": -2768.156853487642}, {"x": 9000.46637024641, "y": -2767.808224307491}, {"x": 9000.822826268935, "y": -2767.459595128128}, {"x": 9001.179282292784, "y": -2767.110965947977}, {"x": 9001.535738316634, "y": -2766.762336767826}, {"x": 9001.89219433916, "y": -2766.4137075884632}, {"x": 9002.24865036301, "y": -2766.0650784083123}, {"x": 9002.60510638686, "y": -2765.7164492289494}, {"x": 9002.961562409386, "y": -2765.3678200487984}, {"x": 9003.318018433236, "y": -2765.0191908694355}, {"x": 9003.674474457084, "y": -2764.6705616892846}, {"x": 9004.030930480934, "y": -2764.3219325099217}, {"x": 9004.38738650346, "y": -2763.9733033297707}, {"x": 9004.74384252731, "y": -2763.624674150408}, {"x": 9005.10029855116, "y": -2763.276044970257}, {"x": 9005.456754573686, "y": -2762.927415790894}, {"x": 9005.813210597536, "y": -2762.578786610743}, {"x": 9006.169666621385, "y": -2762.23015743138}, {"x": 9006.52612264391, "y": -2761.881528251229}, {"x": 9006.88257866776, "y": -2761.5328990718663}, {"x": 9007.23903469161, "y": -2761.1842698917153}, {"x": 9007.595490715461, "y": -2760.835640712352}, {"x": 9007.951946737987, "y": -2760.487011532201}, {"x": 9008.308402761837, "y": -2760.138382352838}, {"x": 9008.664858785685, "y": -2759.789753172687}, {"x": 9009.021314808211, "y": -2759.4411239933243}, {"x": 9009.377770832061, "y": -2759.0924948131733}, {"x": 9009.734226855911, "y": -2758.7438656338104}, {"x": 9010.090682878437, "y": -2758.3952364536594}, {"x": 9010.447138902287, "y": -2758.0466072742965}, {"x": 9010.803594926136, "y": -2757.6979780941456}, {"x": 9011.160050949986, "y": -2757.3493489147827}, {"x": 9011.516506972512, "y": -2757.0007197346317}, {"x": 9011.872962996362, "y": -2756.652090555269}, {"x": 9012.229419020212, "y": -2756.303461375118}, {"x": 9012.585875042738, "y": -2755.954832195755}, {"x": 9012.942331066588, "y": -2755.606203015604}, {"x": 9013.298787090436, "y": -2755.257573836241}, {"x": 9013.655243112962, "y": -2754.90894465609}, {"x": 9014.011699136812, "y": -2754.5603154767273}, {"x": 9014.368155160662, "y": -2754.2116862965763}, {"x": 9014.724611184512, "y": -2753.863057117213}, {"x": 9015.081067207038, "y": -2753.514427937062}, {"x": 9015.437523230888, "y": -2753.165798757699}, {"x": 9015.793979254737, "y": -2752.817169577548}, {"x": 9016.150435277263, "y": -2752.4685403981853}, {"x": 9016.506891301113, "y": -2752.1199112180343}, {"x": 9016.863347324963, "y": -2751.7712820386714}, {"x": 9017.219803347489, "y": -2751.4226528585205}, {"x": 9017.576259371339, "y": -2751.0740236791576}, {"x": 9017.932715395189, "y": -2750.7253944990066}, {"x": 9018.289171419037, "y": -2750.3767653196437}, {"x": 9018.645627441563, "y": -2750.0281361394927}, {"x": 9019.002083465413, "y": -2749.67950696013}, {"x": 9019.358539489263, "y": -2749.330877779979}, {"x": 9019.71499551179, "y": -2748.982248600616}, {"x": 9020.07145153564, "y": -2748.633619420465}, {"x": 9020.42790755949, "y": -2748.284990241102}, {"x": 9020.784363582014, "y": -2747.936361060951}, {"x": 9021.140819605864, "y": -2747.5877318815883}, {"x": 9021.497275629714, "y": -2747.2391027014373}, {"x": 9021.853731653564, "y": -2746.8904735220744}, {"x": 9022.21018767609, "y": -2746.541844341923}, {"x": 9022.56664369994, "y": -2746.19321516256}, {"x": 9022.92309972379, "y": -2745.844585982409}, {"x": 9023.279555746314, "y": -2745.4959568030463}, {"x": 9023.636011770164, "y": -2745.1473276228953}, {"x": 9023.992467794014, "y": -2744.7986984435324}, {"x": 9024.34892381654, "y": -2744.4500692633815}, {"x": 9024.70537984039, "y": -2744.1014400840186}, {"x": 9025.06183586424, "y": -2743.7528109038676}, {"x": 9025.418291888089, "y": -2743.4041817245047}, {"x": 9025.774747910615, "y": -2743.0555525443538}, {"x": 9026.131203934465, "y": -2742.706923364991}, {"x": 9026.487659958315, "y": -2742.35829418484}, {"x": 9026.84411598084, "y": -2742.009665005477}, {"x": 9027.200572004691, "y": -2741.661035825326}, {"x": 9027.557028028541, "y": -2741.312406645963}, {"x": 9027.913484051067, "y": -2740.963777465812}, {"x": 9028.269940074915, "y": -2740.6151482864493}, {"x": 9028.626396098765, "y": -2740.2665191062983}, {"x": 9028.982852122615, "y": -2739.9178899269355}, {"x": 9029.339308145141, "y": -2739.5692607467845}, {"x": 9029.695764168991, "y": -2739.220631567421}, {"x": 9030.052220192842, "y": -2738.87200238727}, {"x": 9030.408676215367, "y": -2738.5233732079073}, {"x": 9030.765132239216, "y": -2738.1747440277563}, {"x": 9031.116388736982, "y": -2737.831220890176}, {"x": 9031.467705727562, "y": -2737.487759619056}, {"x": 9031.819139563582, "y": -2737.1444179128202}, {"x": 9032.170742323755, "y": -2736.801249205713}, {"x": 9032.522562073713, "y": -2736.458302969625}, {"x": 9032.87464313213, "y": -2736.1156250182835}, {"x": 9033.227026347444, "y": -2735.773257801987}, {"x": 9033.579749373252, "y": -2735.4312406976073}, {"x": 9033.932846946349, "y": -2735.0896103017517}, {"x": 9034.28635116742, "y": -2734.7484007183994}, {"x": 9034.640291781736, "y": -2734.4076438473335}, {"x": 9034.994696461159, "y": -2734.067369668628}, {"x": 9035.34959108749, "y": -2733.7276065342317}, {"x": 9035.705000027856, "y": -2733.3883814524524}, {"x": 9036.060946422027, "y": -2733.0497203763916}, {"x": 9036.417452457807, "y": -2732.7116484978856}, {"x": 9036.77453964378, "y": -2732.3741905343604}], "type": "lane"}, {"geometry": [{"x": 9034.883206770268, "y": -2730.089460095379}, {"x": 9034.53732938369, "y": -2730.4149074758443}, {"x": 9034.192024591533, "y": -2730.7409623368003}, {"x": 9033.847263006017, "y": -2731.067591527029}, {"x": 9033.503015031487, "y": -2731.394761999335}, {"x": 9033.159250856472, "y": -2731.72244078139}, {"x": 9032.815940429859, "y": -2732.050594937115}, {"x": 9032.47305345559, "y": -2732.3791915398883}, {"x": 9032.130559370156, "y": -2732.708197635506}, {"x": 9031.788427328036, "y": -2733.0375802106596}, {"x": 9031.446626193749, "y": -2733.367306162991}, {"x": 9031.105124515374, "y": -2733.697342263264}, {"x": 9030.763890519254, "y": -2734.0276551246307}, {"x": 9030.422892086168, "y": -2734.3582111711103}, {"x": 9030.08209674603, "y": -2734.6889766005493}, {"x": 9029.741471654057, "y": -2735.0199173546744}, {"x": 9029.400983581507, "y": -2735.3509990812677}, {"x": 9029.060598898453, "y": -2735.68218710422}, {"x": 9028.720283560564, "y": -2736.0134463849145}, {"x": 9028.380003098491, "y": -2736.344741491495}, {"x": 9028.022177261751, "y": -2736.693130954775}, {"x": 9027.664351423688, "y": -2737.0415204188425}, {"x": 9027.306525586948, "y": -2737.389909882122}, {"x": 9026.948699750208, "y": -2737.7382993454016}, {"x": 9026.590873912146, "y": -2738.0866888094693}, {"x": 9026.233048075406, "y": -2738.435078272749}, {"x": 9025.875222237342, "y": -2738.7834677360283}, {"x": 9025.517396400603, "y": -2739.1318572000964}, {"x": 9025.159570563863, "y": -2739.480246663376}, {"x": 9024.801744725799, "y": -2739.8286361266555}, {"x": 9024.44391888906, "y": -2740.177025590723}, {"x": 9024.086093052321, "y": -2740.5254150540027}, {"x": 9023.728267214257, "y": -2740.873804517282}, {"x": 9023.370441377518, "y": -2741.22219398135}, {"x": 9023.012615539454, "y": -2741.57058344463}, {"x": 9022.654789702714, "y": -2741.9189729079094}, {"x": 9022.296963865974, "y": -2742.267362371977}, {"x": 9021.939138027912, "y": -2742.6157518352566}, {"x": 9021.581312191172, "y": -2742.964141298536}, {"x": 9021.223486354433, "y": -2743.3125307626037}, {"x": 9020.865660516369, "y": -2743.6609202258833}, {"x": 9020.507834679629, "y": -2744.0093096891633}, {"x": 9020.150008841565, "y": -2744.357699153231}, {"x": 9019.792183004827, "y": -2744.7060886165104}, {"x": 9019.434357168087, "y": -2745.05447807979}, {"x": 9019.076531330023, "y": -2745.4028675438576}, {"x": 9018.718705493284, "y": -2745.751257007137}, {"x": 9018.360879656544, "y": -2746.0996464704167}, {"x": 9018.00305381848, "y": -2746.4480359344843}, {"x": 9017.64522798174, "y": -2746.7964253977643}, {"x": 9017.287402145002, "y": -2747.144814861044}, {"x": 9016.929576306939, "y": -2747.4932043251115}, {"x": 9016.571750470199, "y": -2747.841593788391}, {"x": 9016.213924632135, "y": -2748.1899832516706}, {"x": 9015.856098795395, "y": -2748.538372715738}, {"x": 9015.498272958655, "y": -2748.8867621790178}, {"x": 9015.140447120593, "y": -2749.2351516422978}, {"x": 9014.782621283854, "y": -2749.5835411063654}, {"x": 9014.424795447114, "y": -2749.931930569645}, {"x": 9014.06696960905, "y": -2750.2803200329245}, {"x": 9013.70914377231, "y": -2750.628709496992}, {"x": 9013.351317934246, "y": -2750.9770989602716}, {"x": 9012.993492097508, "y": -2751.325488423551}, {"x": 9012.635666260769, "y": -2751.6738778876193}, {"x": 9012.277840422705, "y": -2752.022267350899}, {"x": 9011.920014585965, "y": -2752.3706568141783}, {"x": 9011.562188749225, "y": -2752.719046278246}, {"x": 9011.204362911161, "y": -2753.0674357415255}, {"x": 9010.846537074422, "y": -2753.415825204805}, {"x": 9010.488711237684, "y": -2753.7642146688727}, {"x": 9010.13088539962, "y": -2754.1126041321527}, {"x": 9009.77305956288, "y": -2754.4609935954322}, {"x": 9009.415233724816, "y": -2754.8093830595}, {"x": 9009.057407888076, "y": -2755.1577725227794}, {"x": 9008.699582051337, "y": -2755.506161986059}, {"x": 9008.341756213274, "y": -2755.8545514501266}, {"x": 9007.983930376535, "y": -2756.202940913406}, {"x": 9007.626104539795, "y": -2756.551330376686}, {"x": 9007.268278701731, "y": -2756.8997198407537}, {"x": 9006.910452864991, "y": -2757.2481093040333}, {"x": 9006.552627026927, "y": -2757.596498767313}, {"x": 9006.19480119019, "y": -2757.9448882313804}, {"x": 9005.83697535345, "y": -2758.29327769466}, {"x": 9005.479149515386, "y": -2758.6416671579395}, {"x": 9005.121323678646, "y": -2758.9900566220076}, {"x": 9004.763497841906, "y": -2759.338446085287}, {"x": 9004.405672003842, "y": -2759.6868355485667}, {"x": 9004.047846167103, "y": -2760.0352250126343}, {"x": 9003.69002032904, "y": -2760.383614475914}, {"x": 9003.332194492301, "y": -2760.7320039391934}, {"x": 9002.974368655561, "y": -2761.080393403261}, {"x": 9002.616542817497, "y": -2761.428782866541}, {"x": 9002.258716980758, "y": -2761.7771723298206}, {"x": 9001.900891144018, "y": -2762.125561793888}, {"x": 9001.543065305956, "y": -2762.4739512571678}, {"x": 9001.185239469216, "y": -2762.8223407204473}, {"x": 9000.827413632476, "y": -2763.170730184515}, {"x": 9000.469587794412, "y": -2763.5191196477945}, {"x": 9000.111761957673, "y": -2763.8675091110745}, {"x": 8999.753936119609, "y": -2764.215898575142}, {"x": 8999.39611028287, "y": -2764.5642880384216}, {"x": 8999.038284446131, "y": -2764.912677501701}, {"x": 8998.680458608067, "y": -2765.261066965769}, {"x": 8998.322632771327, "y": -2765.6094564290484}, {"x": 8997.964806934588, "y": -2765.957845892328}, {"x": 8997.606981096524, "y": -2766.3062353563955}, {"x": 8997.249155259784, "y": -2766.6546248196755}, {"x": 8996.891329421722, "y": -2767.003014282955}, {"x": 8996.533503584982, "y": -2767.3514037470227}, {"x": 8996.175677748242, "y": -2767.6997932103022}, {"x": 8995.817851910178, "y": -2768.048182673582}, {"x": 8995.460026073439, "y": -2768.3965721376494}, {"x": 8995.102200236699, "y": -2768.744961600929}, {"x": 8994.744374398637, "y": -2769.093351064209}, {"x": 8994.386548561897, "y": -2769.4417405282766}, {"x": 8994.028722725157, "y": -2769.790129991556}, {"x": 8993.670896887093, "y": -2770.1385194548357}, {"x": 8993.313071050354, "y": -2770.4869089189033}, {"x": 8992.95524521229, "y": -2770.835298382183}, {"x": 8992.597419375552, "y": -2771.1836878454624}, {"x": 8992.239593538812, "y": -2771.5320773095305}, {"x": 8991.881767700748, "y": -2771.88046677281}, {"x": 8991.523941864009, "y": -2772.2288562360895}, {"x": 8991.166116027269, "y": -2772.577245700157}, {"x": 8990.808290189205, "y": -2772.9256351634367}, {"x": 8990.450464352467, "y": -2773.2740246267163}, {"x": 8990.092638514403, "y": -2773.622414090784}, {"x": 8989.734812677663, "y": -2773.970803554064}, {"x": 8989.376986840924, "y": -2774.3191930173434}, {"x": 8989.01916100286, "y": -2774.667582481411}, {"x": 8988.66133516612, "y": -2775.0159719446906}, {"x": 8988.30350932938, "y": -2775.36436140797}, {"x": 8987.945683491318, "y": -2775.7127508720378}, {"x": 8987.587857654578, "y": -2776.0611403353173}, {"x": 8987.230031816514, "y": -2776.4095297985973}, {"x": 8986.872205979775, "y": -2776.757919262665}, {"x": 8986.514380143035, "y": -2777.1063087259445}, {"x": 8986.156554304971, "y": -2777.454698189224}, {"x": 8985.798728468233, "y": -2777.8030876532916}, {"x": 8985.440902631493, "y": -2778.151477116571}, {"x": 8985.08307679343, "y": -2778.4998665798507}, {"x": 8984.72525095669, "y": -2778.8482560439184}, {"x": 8984.36742511995, "y": -2779.1966455071984}, {"x": 8984.009599281886, "y": -2779.545034970478}, {"x": 8983.651773445148, "y": -2779.8934244345455}, {"x": 8983.293947607084, "y": -2780.241813897825}, {"x": 8982.936121770344, "y": -2780.5902033611046}, {"x": 8982.578295933605, "y": -2780.9385928251722}, {"x": 8982.22047009554, "y": -2781.286982288452}, {"x": 8981.862644258801, "y": -2781.635371751732}, {"x": 8981.504818422061, "y": -2781.9837612157994}, {"x": 8981.146992584, "y": -2782.332150679079}, {"x": 8980.78916674726, "y": -2782.6805401423585}, {"x": 8980.431340909196, "y": -2783.028929606426}, {"x": 8980.073515072456, "y": -2783.3773190697057}, {"x": 8979.715689235716, "y": -2783.725708532985}, {"x": 8979.357863397652, "y": -2784.0740979970533}, {"x": 8979.000037560914, "y": -2784.422487460333}, {"x": 8978.642211724175, "y": -2784.7708769236124}, {"x": 8978.28438588611, "y": -2785.11926638768}, {"x": 8977.92656004937, "y": -2785.4676558509595}, {"x": 8977.568734212631, "y": -2785.816045314239}, {"x": 8977.210908374567, "y": -2786.1644347783067}, {"x": 8976.85308253783, "y": -2786.5128242415867}, {"x": 8976.495256699765, "y": -2786.8612137048663}, {"x": 8976.137430863026, "y": -2787.209603168934}, {"x": 8975.779605026286, "y": -2787.5579926322134}, {"x": 8975.421779188222, "y": -2787.906382095493}, {"x": 8975.063953351482, "y": -2788.2547715595606}, {"x": 8974.706127514743, "y": -2788.60316102284}, {"x": 8974.34830167668, "y": -2788.95155048612}, {"x": 8973.99047583994, "y": -2789.2999399501878}, {"x": 8973.632650001877, "y": -2789.6483294134673}, {"x": 8973.274824165137, "y": -2789.996718876747}, {"x": 8972.916998328397, "y": -2790.3451083408145}, {"x": 8972.559172490335, "y": -2790.693497804094}, {"x": 8972.201346653595, "y": -2791.0418872673736}, {"x": 8971.843520816856, "y": -2791.3902767314416}, {"x": 8971.485694978792, "y": -2791.738666194721}, {"x": 8971.127869142052, "y": -2792.0870556580007}, {"x": 8970.770043303988, "y": -2792.4354451220684}, {"x": 8970.412217467248, "y": -2792.783834585348}, {"x": 8970.05439163051, "y": -2793.1322240486274}, {"x": 8969.696565792447, "y": -2793.480613512695}, {"x": 8969.338739955707, "y": -2793.8290029759746}, {"x": 8968.99826500412, "y": -2794.1604488426988}, {"x": 8968.657652083797, "y": -2794.4917529150107}, {"x": 8968.31679642429, "y": -2794.822807232961}, {"x": 8967.975625342604, "y": -2795.1535364692795}, {"x": 8967.634093642242, "y": -2795.48389328771}, {"x": 8967.292178979165, "y": -2795.8138537249984}, {"x": 8966.949877231726, "y": -2796.1434125807527}, {"x": 8966.60719787985, "y": -2796.4725787828766}, {"x": 8966.264159422646, "y": -2796.8013707317273}], "type": "lane"}, {"geometry": [{"x": 9141.142573369181, "y": -2719.3423542918604}, {"x": 9140.789370586068, "y": -2719.692081413534}, {"x": 9140.43614667701, "y": -2720.0417871977616}, {"x": 9140.08290182207, "y": -2720.3914718242186}, {"x": 9139.72963620264, "y": -2720.741135473371}, {"x": 9139.376349998787, "y": -2721.090778324896}, {"x": 9139.023043391899, "y": -2721.4404005592583}, {"x": 9138.66971656204, "y": -2721.790002356135}, {"x": 9138.316369690603, "y": -2722.139583897568}, {"x": 9137.9630029603, "y": -2722.4891453640225}, {"x": 9137.609616549873, "y": -2722.838686935963}, {"x": 9137.256210642036, "y": -2723.1882087946433}, {"x": 9136.902785418179, "y": -2723.537711122104}, {"x": 9136.549341061014, "y": -2723.8871940988115}, {"x": 9136.195877750608, "y": -2724.2366579075942}, {"x": 9135.842395669675, "y": -2724.5861027297055}, {"x": 9135.488894999606, "y": -2724.935528747187}, {"x": 9135.135375923111, "y": -2725.2849361420795}, {"x": 9134.781838622908, "y": -2725.634325096425}, {"x": 9134.42828327906, "y": -2725.98369579384}, {"x": 9134.074710074281, "y": -2726.333048415579}, {"x": 9133.721119192609, "y": -2726.682383145258}, {"x": 9133.367510815435, "y": -2727.0317001657077}, {"x": 9133.01388512547, "y": -2727.380999659756}, {"x": 9132.66024230543, "y": -2727.7302818102335}, {"x": 9132.306582539353, "y": -2728.0795468015453}, {"x": 9131.952906007304, "y": -2728.4287948165206}, {"x": 9131.599212894644, "y": -2728.778026038777}, {"x": 9131.245503382763, "y": -2729.1272406527196}, {"x": 9130.8917776557, "y": -2729.4764388411786}, {"x": 9130.538035896167, "y": -2729.8256207893464}, {"x": 9130.184278288203, "y": -2730.1747866800533}, {"x": 9129.83050501452, "y": -2730.52393669928}, {"x": 9129.47671625916, "y": -2730.873071029857}, {"x": 9129.122912204832, "y": -2731.222189856977}, {"x": 9128.769093034252, "y": -2731.5712933658338}, {"x": 9128.415258934107, "y": -2731.9203817408325}, {"x": 9128.06141008446, "y": -2732.269455167167}, {"x": 9127.707546671996, "y": -2732.618513829243}, {"x": 9127.35366887811, "y": -2732.9675579130417}, {"x": 9126.999776889481, "y": -2733.316587603757}, {"x": 9126.64587088883, "y": -2733.6656030857935}, {"x": 9126.291951058864, "y": -2734.014604545922}, {"x": 9125.938017584947, "y": -2734.3635921685473}, {"x": 9125.584070652445, "y": -2734.712566140439}, {"x": 9125.230110444065, "y": -2735.061526647579}, {"x": 9124.87613714385, "y": -2735.4104738751607}, {"x": 9124.522150937159, "y": -2735.759408009166}, {"x": 9124.168152008031, "y": -2736.1083292363637}, {"x": 9123.814140541826, "y": -2736.457237742736}, {"x": 9123.46011672126, "y": -2736.8061337150525}, {"x": 9123.106080733018, "y": -2737.1550173392952}, {"x": 9122.752032759812, "y": -2737.503888802233}, {"x": 9122.39797298833, "y": -2737.8527482898476}, {"x": 9122.04390160261, "y": -2738.201595989697}, {"x": 9121.689818785364, "y": -2738.550432088551}, {"x": 9121.335724724604, "y": -2738.899256773179}, {"x": 9120.981619604365, "y": -2739.2480702303505}, {"x": 9120.627503608686, "y": -2739.5968726468354}, {"x": 9120.27337692293, "y": -2739.9456642109794}, {"x": 9119.919239732457, "y": -2740.2944451087637}, {"x": 9119.56509222263, "y": -2740.6432155285347}, {"x": 9119.210934578809, "y": -2740.9919756570616}, {"x": 9118.856766985034, "y": -2741.3407256819023}, {"x": 9118.502589626665, "y": -2741.6894657906146}, {"x": 9118.148402690389, "y": -2742.038196170756}, {"x": 9117.79420635892, "y": -2742.386917009884}, {"x": 9117.440000820267, "y": -2742.735628496345}, {"x": 9117.085786259791, "y": -2743.084330817696}, {"x": 9116.731562860206, "y": -2743.4330241614953}, {"x": 9116.377330809524, "y": -2743.7817087153003}, {"x": 9116.023090293103, "y": -2744.130384668245}, {"x": 9115.668841494986, "y": -2744.4790522078865}, {"x": 9115.314584600528, "y": -2744.8277115225715}, {"x": 9114.960319797745, "y": -2745.176362799857}, {"x": 9114.606047269348, "y": -2745.525006228877}, {"x": 9114.251767203346, "y": -2745.873641996401}, {"x": 9113.897479783778, "y": -2746.222270292352}, {"x": 9113.543185197332, "y": -2746.570891304286}, {"x": 9113.188883629364, "y": -2746.9195052205496}, {"x": 9112.834575263916, "y": -2747.2681122302765}, {"x": 9112.480260290322, "y": -2747.616712521025}, {"x": 9112.125938889969, "y": -2747.965306281928}, {"x": 9111.771611252194, "y": -2748.3138937021195}, {"x": 9111.417277562357, "y": -2748.6624749691578}, {"x": 9111.062938004496, "y": -2749.011050271388}, {"x": 9110.708592763971, "y": -2749.359619798732}, {"x": 9110.354242030118, "y": -2749.7081837395363}, {"x": 9109.999885984327, "y": -2750.056742282146}, {"x": 9109.645524815933, "y": -2750.405295615695}, {"x": 9109.291158710294, "y": -2750.7538439293176}, {"x": 9108.93678785145, "y": -2751.102387410571}, {"x": 9108.582412426085, "y": -2751.4509262493766}, {"x": 9108.228032620887, "y": -2751.7994606340812}, {"x": 9107.873648619892, "y": -2752.1479907538182}, {"x": 9107.519260611112, "y": -2752.496516797721}, {"x": 9107.164868779908, "y": -2752.8450389541363}, {"x": 9106.810473310316, "y": -2753.1935574129852}, {"x": 9106.456074390348, "y": -2753.5420723610378}, {"x": 9106.101672205365, "y": -2753.8905839897916}, {"x": 9105.747947375981, "y": -2754.23842325097}, {"x": 9105.394219281583, "y": -2754.5862591920613}, {"x": 9105.040487726215, "y": -2754.9340916128995}, {"x": 9104.686752511278, "y": -2755.28192031253}, {"x": 9104.333013439491, "y": -2755.6297450899974}, {"x": 9103.979270314901, "y": -2755.977565745924}, {"x": 9103.625522940232, "y": -2756.325382078567}, {"x": 9103.271771118203, "y": -2756.673193886971}, {"x": 9102.918014650213, "y": -2757.021000972546}, {"x": 9102.564253341634, "y": -2757.3688031327615}, {"x": 9102.210486993863, "y": -2757.716600168238}, {"x": 9101.856715409622, "y": -2758.064391877234}, {"x": 9101.502938392956, "y": -2758.4121780595815}, {"x": 9101.14915574659, "y": -2758.7599585151147}, {"x": 9100.79536727192, "y": -2759.1077330428793}, {"x": 9100.441572774314, "y": -2759.4555014427074}, {"x": 9100.087772055176, "y": -2759.8032635128575}, {"x": 9099.733964917223, "y": -2760.1510190531626}, {"x": 9099.380151164502, "y": -2760.4987678626676}, {"x": 9099.026330599738, "y": -2760.846509741206}, {"x": 9098.672503024325, "y": -2761.1942444878237}, {"x": 9098.31866824496, "y": -2761.5419719015654}, {"x": 9097.964826060392, "y": -2761.8896917822644}, {"x": 9097.610976277316, "y": -2762.237403928967}, {"x": 9097.257118695807, "y": -2762.5851081407172}, {"x": 9096.90325312123, "y": -2762.932804216561}, {"x": 9096.54937935499, "y": -2763.2804919563323}, {"x": 9096.195497201128, "y": -2763.6281711582874}, {"x": 9095.841606462369, "y": -2763.97584162226}, {"x": 9095.487706942758, "y": -2764.323503147295}, {"x": 9095.133798445017, "y": -2764.6711555332267}, {"x": 9094.779880770544, "y": -2765.0187985783123}, {"x": 9094.425953726035, "y": -2765.366432081596}, {"x": 9094.07201711156, "y": -2765.7140558421243}, {"x": 9093.71807073117, "y": -2766.06166965973}, {"x": 9093.364114387585, "y": -2766.4092733334583}, {"x": 9093.010147886174, "y": -2766.7568666615666}, {"x": 9092.656171028337, "y": -2767.104449443889}, {"x": 9092.302183618118, "y": -2767.452021478681}, {"x": 9091.948185458241, "y": -2767.799582565778}, {"x": 9091.59417635275, "y": -2768.1471325034363}, {"x": 9091.24015610437, "y": -2768.494671090701}, {"x": 9090.886124517147, "y": -2768.842198127406}, {"x": 9090.5320813938, "y": -2769.18971341102}, {"x": 9090.178026537053, "y": -2769.5372167421647}, {"x": 9089.823959750953, "y": -2769.8847079183092}, {"x": 9089.469880840868, "y": -2770.232186739287}, {"x": 9089.115789606874, "y": -2770.5796530025673}, {"x": 9088.761685855665, "y": -2770.9271065087714}, {"x": 9088.407569387313, "y": -2771.2745470553687}, {"x": 9088.053440008514, "y": -2771.6219744421924}, {"x": 9087.699297521991, "y": -2771.9693884667117}, {"x": 9087.345141729142, "y": -2772.31678892876}, {"x": 9086.990972436657, "y": -2772.664175626595}, {"x": 9086.63678944594, "y": -2773.0115483592613}, {"x": 9086.282592562357, "y": -2773.358906925016}, {"x": 9085.928381587306, "y": -2773.7062511229055}, {"x": 9085.574156327484, "y": -2774.0535807503984}, {"x": 9085.219916584289, "y": -2774.4008956081157}, {"x": 9084.865662161765, "y": -2774.7481954927393}, {"x": 9084.511392863957, "y": -2775.0954802041024}, {"x": 9084.157108494916, "y": -2775.4427495396735}, {"x": 9083.80280885736, "y": -2775.790003298499}, {"x": 9083.448493757982, "y": -2776.137241279623}, {"x": 9083.094162996862, "y": -2776.484463280516}, {"x": 9082.739816380688, "y": -2776.8316691002224}, {"x": 9082.385453712186, "y": -2777.178858537}, {"x": 9082.0310747954, "y": -2777.526031389106}, {"x": 9081.676679435703, "y": -2777.8731874547966}, {"x": 9081.322267434489, "y": -2778.2203265323305}, {"x": 9080.967838597131, "y": -2778.5674484199644}, {"x": 9080.613392727673, "y": -2778.9145529167436}, {"x": 9080.258929631489, "y": -2779.261639820137}, {"x": 9079.904449109972, "y": -2779.6087089284024}, {"x": 9079.54995096982, "y": -2779.955760039797}, {"x": 9079.195435013755, "y": -2780.302792952578}, {"x": 9078.840901047144, "y": -2780.649807464214}, {"x": 9078.486348872713, "y": -2780.996803373751}, {"x": 9078.130687023424, "y": -2781.3448486828283}, {"x": 9077.775007538285, "y": -2781.6928759690286}, {"x": 9077.419311299092, "y": -2782.040886130738}, {"x": 9077.063599183663, "y": -2782.3888800663417}, {"x": 9076.707872075114, "y": -2782.7368586742255}, {"x": 9076.352130851266, "y": -2783.084822852775}, {"x": 9075.996376393912, "y": -2783.4327735011634}, {"x": 9075.640609580872, "y": -2783.7807115169894}, {"x": 9075.284831293939, "y": -2784.1286377994256}, {"x": 9074.929042410933, "y": -2784.4765532476467}, {"x": 9074.573243813646, "y": -2784.8244587600375}, {"x": 9074.217436379897, "y": -2785.17235523656}, {"x": 9073.861620990157, "y": -2785.520243574812}, {"x": 9073.50579852357, "y": -2785.868124675543}, {"x": 9073.14996985928, "y": -2786.215999437139}, {"x": 9072.794135877755, "y": -2786.5638687579853}, {"x": 9072.438297456814, "y": -2786.9117335388323}, {"x": 9072.082455475605, "y": -2787.259594678853}, {"x": 9071.726610814594, "y": -2787.607453076433}, {"x": 9071.3707643516, "y": -2787.955309631535}, {"x": 9071.014916967097, "y": -2788.303165243332}, {"x": 9070.659069540223, "y": -2788.651020810997}, {"x": 9070.3032229488, "y": -2788.998877234493}, {"x": 9069.947378073299, "y": -2789.3467354129934}, {"x": 9069.591535792862, "y": -2789.694596245672}, {"x": 9069.235696985312, "y": -2790.0424606324896}, {"x": 9068.879862532438, "y": -2790.390329471045}, {"x": 9068.524033310738, "y": -2790.738203662875}, {"x": 9068.168210202004, "y": -2791.0860841055783}, {"x": 9067.812394082734, "y": -2791.433971699116}, {"x": 9067.456585836042, "y": -2791.781867342662}, {"x": 9067.100786338426, "y": -2792.129771934601}, {"x": 9066.744996470354, "y": -2792.4776863748966}, {"x": 9066.389217110971, "y": -2792.825611561933}, {"x": 9066.033449142067, "y": -2793.173548394884}, {"x": 9065.677693440142, "y": -2793.521497771348}, {"x": 9065.32195088831, "y": -2793.869460592074}, {"x": 9064.966222364392, "y": -2794.217437753872}, {"x": 9064.610508748856, "y": -2794.5654301559157}, {"x": 9064.254810923496, "y": -2794.9134386965907}, {"x": 9063.899129766129, "y": -2795.2614642742824}, {"x": 9063.543466159876, "y": -2795.6095077865884}, {"x": 9063.187820982554, "y": -2795.9575701318945}, {"x": 9062.832195117278, "y": -2796.3056522085863}, {"x": 9062.476589444523, "y": -2796.653754912685}, {"x": 9062.121004843426, "y": -2797.0018791433654}, {"x": 9061.76544219711, "y": -2797.3500257974356}, {"x": 9061.40990238736, "y": -2797.698195772494}, {"x": 9061.054386293326, "y": -2798.0463899645615}, {"x": 9060.698894799449, "y": -2798.3946092712363}, {"x": 9060.343428786193, "y": -2798.7428545893276}, {"x": 9059.987989135354, "y": -2799.091126814857}, {"x": 9059.63257673137, "y": -2799.439426844634}, {"x": 9059.277192454712, "y": -2799.7877555738924}, {"x": 9058.921837188494, "y": -2800.136113900229}, {"x": 9058.566511815834, "y": -2800.484502717301}, {"x": 9058.211217219849, "y": -2800.832922921131}, {"x": 9057.855954284976, "y": -2801.1813754077393}, {"x": 9057.500723894336, "y": -2801.529861070784}, {"x": 9057.145526931043, "y": -2801.8783808062863}, {"x": 9056.790364279535, "y": -2802.2269355079034}, {"x": 9056.435236825582, "y": -2802.5755260692927}, {"x": 9056.080145453621, "y": -2802.924153385687}, {"x": 9055.725091046768, "y": -2803.272818349957}, {"x": 9055.370074493438, "y": -2803.6215218557586}, {"x": 9055.015096676745, "y": -2803.9702647951735}, {"x": 9054.660158482455, "y": -2804.319048062647}, {"x": 9054.305260798978, "y": -2804.6678725494726}, {"x": 9053.950404510759, "y": -2805.0167391485193}, {"x": 9053.595590506206, "y": -2805.36564875108}, {"x": 9053.240819671086, "y": -2805.7146022484476}, {"x": 9052.88609289381, "y": -2806.0636005327037}, {"x": 9052.531411061467, "y": -2806.4126444943536}, {"x": 9052.176775063796, "y": -2806.761735023114}, {"x": 9051.822185787882, "y": -2807.110873010278}, {"x": 9051.467644122136, "y": -2807.4600593455625}, {"x": 9051.113150957624, "y": -2807.8092949186844}, {"x": 9050.758707182757, "y": -2808.1585806169974}, {"x": 9050.404313687268, "y": -2808.5079173317936}, {"x": 9050.04997136222, "y": -2808.8573059488504}, {"x": 9049.695681098672, "y": -2809.206747357884}, {"x": 9049.341443787687, "y": -2809.5562424462482}, {"x": 9048.987260320324, "y": -2809.9057921005074}, {"x": 9048.633131587645, "y": -2810.2553972072265}, {"x": 9048.279058484679, "y": -2810.6050586537576}, {"x": 9047.92504190249, "y": -2810.9547773250906}, {"x": 9047.571082734787, "y": -2811.304554107001}, {"x": 9047.217181875274, "y": -2811.6543898844784}, {"x": 9046.863340217664, "y": -2812.0042855417228}, {"x": 9046.509558656986, "y": -2812.3542419637233}, {"x": 9046.155838088276, "y": -2812.7042600338923}, {"x": 9045.802179407889, "y": -2813.054340635642}, {"x": 9045.448583510857, "y": -2813.404484650809}, {"x": 9045.096576348235, "y": -2813.7531803895154}, {"x": 9044.744628457685, "y": -2814.1019359544007}, {"x": 9044.392735979714, "y": -2814.4507474296074}, {"x": 9044.040895052174, "y": -2814.799610903218}, {"x": 9043.689101810274, "y": -2815.1485224625253}, {"x": 9043.33735238922, "y": -2815.4974781995525}, {"x": 9042.985642920248, "y": -2815.8464742055344}, {"x": 9042.633969538565, "y": -2816.195506573281}, {"x": 9042.282328371433, "y": -2816.544571397967}, {"x": 9041.930715548764, "y": -2816.893664774768}, {"x": 9041.579127201792, "y": -2817.242782800433}, {"x": 9041.227559455134, "y": -2817.591921572502}, {"x": 9040.876008438698, "y": -2817.9410771900903}, {"x": 9040.524470278426, "y": -2818.290245750736}, {"x": 9040.17294110158, "y": -2818.639423355919}, {"x": 9039.821417032774, "y": -2818.988606103965}, {"x": 9039.469894200596, "y": -2819.3377900963546}, {"x": 9039.118368729662, "y": -2819.686971433778}, {"x": 9038.766836748557, "y": -2820.0361462161386}, {"x": 9038.41529438322, "y": -2820.385310543339}, {"x": 9038.063737762239, "y": -2820.7344605176468}, {"x": 9037.712163012879, "y": -2821.083592237389}, {"x": 9037.360566265046, "y": -2821.432701804044}, {"x": 9037.00894364998, "y": -2821.7817853151514}, {"x": 9036.657291296266, "y": -2822.130838869826}, {"x": 9036.305605336462, "y": -2822.4798585663953}, {"x": 9035.9538819071, "y": -2822.8288405008207}, {"x": 9035.60211714074, "y": -2823.177780769854}, {"x": 9035.25030717656, "y": -2823.5266754678814}, {"x": 9034.89844815109, "y": -2823.875520687714}, {"x": 9034.546536206162, "y": -2824.2243125229497}, {"x": 9034.194567483597, "y": -2824.573047063247}, {"x": 9033.842538129198, "y": -2824.921720398264}, {"x": 9033.490444288764, "y": -2825.2703286145074}, {"x": 9033.138282113388, "y": -2825.6188677992704}, {"x": 9032.786047754167, "y": -2825.9673340343315}, {"x": 9032.433737367492, "y": -2826.3157234014684}, {"x": 9032.081347109755, "y": -2826.66403198167}, {"x": 9031.728873143966, "y": -2827.01225585041}, {"x": 9031.376311631813, "y": -2827.360391082374}, {"x": 9031.023658741602, "y": -2827.7084337506703}, {"x": 9030.670910645615, "y": -2828.05637992368}, {"x": 9030.31806351613, "y": -2828.404225668208}, {"x": 9029.965113532047, "y": -2828.751967049482}, {"x": 9029.612056876238, "y": -2829.099600126427}, {"x": 9029.258889735545, "y": -2829.4471209571784}, {"x": 9028.905608298137, "y": -2829.794525597508}, {"x": 9028.5522087588, "y": -2830.1418100968835}, {"x": 9028.19868731762, "y": -2830.4889705031956}, {"x": 9027.84504017865, "y": -2830.8360028611837}, {"x": 9027.491263548598, "y": -2831.1829032116466}, {"x": 9027.137353642107, "y": -2831.529667589078}, {"x": 9026.783306676476, "y": -2831.8762920279732}, {"x": 9026.429118874295, "y": -2832.222772556521}, {"x": 9026.074786466103, "y": -2832.569105198971}, {"x": 9025.720305683755, "y": -2832.9152859756327}, {"x": 9025.365672768385, "y": -2833.261310902087}, {"x": 9025.01088396509, "y": -2833.6071759899746}, {"x": 9024.655935525589, "y": -2833.952877245419}, {"x": 9024.300823705576, "y": -2834.298410671393}, {"x": 9023.945544768687, "y": -2834.6437722645637}, {"x": 9023.590094986503, "y": -2834.988958017658}, {"x": 9023.234470633251, "y": -2835.3339639170995}, {"x": 9022.878667991106, "y": -2835.67878594537}, {"x": 9022.522683350182, "y": -2836.0234200794353}, {"x": 9022.166513007216, "y": -2836.3678622915336}, {"x": 9021.810153265566, "y": -2836.7121085460217}, {"x": 9021.453600433884, "y": -2837.056154804105}, {"x": 9021.096850832739, "y": -2837.399997021472}, {"x": 9020.739900784023, "y": -2837.7436311451415}, {"x": 9020.382746622869, "y": -2838.08705311977}, {"x": 9020.025384688384, "y": -2838.430258881345}, {"x": 9019.66781132894, "y": -2838.7732443611244}, {"x": 9019.310022900854, "y": -2839.116005484063}, {"x": 9018.952015771034, "y": -2839.4585381680217}, {"x": 9018.59378630904, "y": -2839.8008383245588}, {"x": 9018.235330897669, "y": -2840.142901860503}, {"x": 9017.876645926337, "y": -2840.484724673226}, {"x": 9017.517727795053, "y": -2840.826302655372}, {"x": 9017.15857291045, "y": -2841.167631691704}, {"x": 9016.799177688423, "y": -2841.5087076606815}, {"x": 9016.439538556786, "y": -2841.8495264328826}, {"x": 9016.079651949975, "y": -2842.190083873369}, {"x": 9015.71951431169, "y": -2842.5303758385335}, {"x": 9015.359122097549, "y": -2842.8703981768895}, {"x": 9014.998471771114, "y": -2843.210146732221}, {"x": 9014.637559806542, "y": -2843.54961733728}], "type": "lane"}, {"geometry": [{"x": 9018.168668964883, "y": -2847.2539861073788}, {"x": 9018.530901252076, "y": -2846.9150951754114}, {"x": 9018.892854158037, "y": -2846.5759058580497}, {"x": 9019.254531155651, "y": -2846.236422344608}, {"x": 9019.615935725747, "y": -2845.896648819672}, {"x": 9019.977071365043, "y": -2845.556589460735}, {"x": 9020.337941580849, "y": -2845.2162484389855}, {"x": 9020.698549889741, "y": -2844.8756299185206}, {"x": 9021.058899822861, "y": -2844.534738057919}, {"x": 9021.418994920621, "y": -2844.1935770086693}, {"x": 9021.77883873402, "y": -2843.8521509167413}, {"x": 9022.138434824654, "y": -2843.510463921802}, {"x": 9022.497786766031, "y": -2843.1685201564255}, {"x": 9022.85689814358, "y": -2842.826323749245}, {"x": 9023.215772548021, "y": -2842.483878821014}, {"x": 9023.574413584642, "y": -2842.141189487757}, {"x": 9023.932824867996, "y": -2841.7982598607705}, {"x": 9024.291010019258, "y": -2841.4550940426825}, {"x": 9024.648972675493, "y": -2841.111696132968}, {"x": 9025.00671647641, "y": -2840.7680702255866}, {"x": 9025.364245076282, "y": -2840.4242204081925}, {"x": 9025.721562134682, "y": -2840.0801507637125}, {"x": 9026.0786713231, "y": -2839.7358653687684}, {"x": 9026.43557632096, "y": -2839.3913682968296}, {"x": 9026.792280815642, "y": -2839.0466636158494}, {"x": 9027.148788505114, "y": -2838.701755385901}, {"x": 9027.505103091313, "y": -2838.3566476670558}, {"x": 9027.86122828942, "y": -2838.011344510719}, {"x": 9028.217167821233, "y": -2837.665849965142}, {"x": 9028.572925413848, "y": -2837.3201680738484}, {"x": 9028.928504804955, "y": -2836.974302876421}, {"x": 9029.283909740183, "y": -2836.6282584069268}, {"x": 9029.639143969136, "y": -2836.28203869628}, {"x": 9029.994211253335, "y": -2835.9356477698793}, {"x": 9030.349115356948, "y": -2835.58908964997}, {"x": 9030.70386005341, "y": -2835.2423683548586}, {"x": 9031.058449122778, "y": -2834.8954878981212}, {"x": 9031.412886353053, "y": -2834.5484522901834}, {"x": 9031.767175536206, "y": -2834.20126553753}, {"x": 9032.12132047083, "y": -2833.853931642706}, {"x": 9032.475324963458, "y": -2833.506454605102}, {"x": 9032.829192825928, "y": -2833.1588384209595}, {"x": 9033.182927875363, "y": -2832.8110870825776}, {"x": 9033.536533932867, "y": -2832.463204578316}, {"x": 9033.890014830133, "y": -2832.115194895746}, {"x": 9034.243374398851, "y": -2831.767062016922}, {"x": 9034.596616479985, "y": -2831.4188099223234}, {"x": 9034.949744915815, "y": -2831.0704425884887}, {"x": 9035.302763556574, "y": -2830.7219639911686}, {"x": 9035.655676255137, "y": -2830.373378101385}, {"x": 9036.008486871002, "y": -2830.024688887795}, {"x": 9036.361199266312, "y": -2829.67590031827}, {"x": 9036.71381730851, "y": -2829.327016356739}, {"x": 9037.066344869007, "y": -2828.9780409663435}, {"x": 9037.418785823187, "y": -2828.628978105497}, {"x": 9037.771144047763, "y": -2828.2798317341885}, {"x": 9038.123423427387, "y": -2827.930605806891}, {"x": 9038.475627848033, "y": -2827.5813042788654}, {"x": 9038.827761198329, "y": -2827.231931103009}, {"x": 9039.179827370872, "y": -2826.882490229066}, {"x": 9039.531830260907, "y": -2826.5329856075696}, {"x": 9039.883773766325, "y": -2826.1834211851115}, {"x": 9040.235661790319, "y": -2825.8338009106483}, {"x": 9040.587498234752, "y": -2825.4841287276204}, {"x": 9040.939287005462, "y": -2825.134408581832}, {"x": 9041.291032010933, "y": -2824.784644415147}, {"x": 9041.6427371623, "y": -2824.434840171794}, {"x": 9041.994406369371, "y": -2824.0849997928485}, {"x": 9042.346043547253, "y": -2823.7351272185983}, {"x": 9042.697652612374, "y": -2823.385226390908}, {"x": 9043.049237479841, "y": -2823.0353012484893}, {"x": 9043.400802068729, "y": -2822.68535573163}, {"x": 9043.752350298117, "y": -2822.3353937806173}, {"x": 9044.103886088407, "y": -2821.9854193325878}, {"x": 9044.45541336, "y": -2821.6354363294054}, {"x": 9044.80693603462, "y": -2821.2854487082054}, {"x": 9045.158458033993, "y": -2820.935460409276}, {"x": 9045.50998328117, "y": -2820.5854753721164}, {"x": 9045.8615156992, "y": -2820.2354975378034}, {"x": 9046.213059209807, "y": -2819.885530845837}, {"x": 9046.564617734717, "y": -2819.535579237292}, {"x": 9046.916195198304, "y": -2819.1856466556096}, {"x": 9047.267795519647, "y": -2818.8357370418653}, {"x": 9047.619422621792, "y": -2818.4858543410755}, {"x": 9047.971080423818, "y": -2818.1360024966802}, {"x": 9048.322772846128, "y": -2817.78618545606}, {"x": 9048.674503806473, "y": -2817.4364071642312}, {"x": 9049.026277221285, "y": -2817.086671571726}, {"x": 9049.378475258867, "y": -2816.73660538749}, {"x": 9049.730719703091, "y": -2816.3865858988174}, {"x": 9050.083010487759, "y": -2816.0366130529087}, {"x": 9050.435347547993, "y": -2815.6866867969648}, {"x": 9050.78773082024, "y": -2815.336807078973}, {"x": 9051.1401602383, "y": -2814.9869738445573}, {"x": 9051.492635739944, "y": -2814.6371870409184}, {"x": 9051.845157257647, "y": -2814.2874466168323}, {"x": 9052.197724726533, "y": -2813.937752517135}, {"x": 9052.550338085697, "y": -2813.588104689815}, {"x": 9052.90299726629, "y": -2813.2385030820715}, {"x": 9053.255702206086, "y": -2812.8889476403174}, {"x": 9053.608452840204, "y": -2812.5394383117527}, {"x": 9053.961249103771, "y": -2812.1899750435778}, {"x": 9054.31409093191, "y": -2811.840557781416}, {"x": 9054.666978259744, "y": -2811.491186474044}, {"x": 9055.019911025041, "y": -2811.1418610662977}, {"x": 9055.372889161605, "y": -2810.7925815053777}, {"x": 9055.725912604557, "y": -2810.4433477392713}, {"x": 9056.078981290348, "y": -2810.0941597136034}, {"x": 9056.432095154096, "y": -2809.745017376362}, {"x": 9056.78525413225, "y": -2809.395920672382}, {"x": 9057.138458159936, "y": -2809.0468695496534}, {"x": 9057.491707172274, "y": -2808.697863953799}, {"x": 9057.845001105714, "y": -2808.348903832807}, {"x": 9058.198339895378, "y": -2807.999989132302}, {"x": 9058.55172347639, "y": -2807.6511197986956}, {"x": 9058.905151786521, "y": -2807.302295779188}, {"x": 9059.258624760894, "y": -2806.95351702098}, {"x": 9059.612142334634, "y": -2806.604783468907}, {"x": 9059.965704442862, "y": -2806.256095070169}, {"x": 9060.319311023353, "y": -2805.9074517711783}, {"x": 9060.672962009903, "y": -2805.5588535191355}, {"x": 9061.026657340284, "y": -2805.2103002596637}, {"x": 9061.38039694962, "y": -2804.8617919391754}, {"x": 9061.734180774358, "y": -2804.513328504083}, {"x": 9062.088008748298, "y": -2804.164909900798}, {"x": 9062.441880810535, "y": -2803.8165360757334}, {"x": 9062.795796894869, "y": -2803.4682069753003}, {"x": 9063.149756937744, "y": -2803.119922545123}, {"x": 9063.503760875614, "y": -2802.771682732402}, {"x": 9063.857808643595, "y": -2802.4234874827607}, {"x": 9064.211900179465, "y": -2802.075336742612}, {"x": 9064.566035418344, "y": -2801.7272304583676}, {"x": 9064.920214295355, "y": -2801.379168575651}, {"x": 9065.27443674827, "y": -2801.031151040875}, {"x": 9065.628702713537, "y": -2800.6831777996636}, {"x": 9065.983012126278, "y": -2800.3352487992165}, {"x": 9066.337364921617, "y": -2799.987363985158}, {"x": 9066.691761038652, "y": -2799.639523303112}, {"x": 9067.046200411178, "y": -2799.291726699491}, {"x": 9067.400682975645, "y": -2798.9439741199185}, {"x": 9067.755208669825, "y": -2798.5962655108065}, {"x": 9068.109777430163, "y": -2798.24860081778}, {"x": 9068.46438919046, "y": -2797.9009799872497}, {"x": 9068.819043889811, "y": -2797.5534029648406}, {"x": 9069.173741463339, "y": -2797.2058696961763}, {"x": 9069.528481847494, "y": -2796.858380127669}, {"x": 9069.883264978718, "y": -2796.510934204943}, {"x": 9070.238090793464, "y": -2796.16353187441}, {"x": 9070.592959228177, "y": -2795.8161730801185}, {"x": 9070.947870220627, "y": -2795.468857770056}, {"x": 9071.302823704616, "y": -2795.1215858882706}, {"x": 9071.657819619237, "y": -2794.7743573811745}, {"x": 9072.012857899615, "y": -2794.4271721943915}, {"x": 9072.367938482199, "y": -2794.0800302743337}, {"x": 9072.723061304756, "y": -2793.7329315658376}, {"x": 9073.078226303736, "y": -2793.3858760145267}, {"x": 9073.433433414262, "y": -2793.038863566025}, {"x": 9073.78868257543, "y": -2792.6918941667454}, {"x": 9074.14397372104, "y": -2792.3449677615226}, {"x": 9074.499306790185, "y": -2791.9980842959817}, {"x": 9074.85468171799, "y": -2791.651243715746}, {"x": 9075.210098442227, "y": -2791.30444596644}, {"x": 9075.565556899342, "y": -2790.957690994476}, {"x": 9075.921057025784, "y": -2790.610978743113}, {"x": 9076.276598759321, "y": -2790.2643091595514}, {"x": 9076.632182036405, "y": -2789.9176821886276}, {"x": 9076.987806792156, "y": -2789.571097776753}, {"x": 9077.343472965671, "y": -2789.2245558671884}, {"x": 9077.699180493397, "y": -2788.8780564071335}, {"x": 9078.05492931178, "y": -2788.5315993422123}, {"x": 9078.41071935727, "y": -2788.1851846156846}, {"x": 9078.766550567638, "y": -2787.8388121747503}, {"x": 9079.122422879329, "y": -2787.492481963458}, {"x": 9079.478336230115, "y": -2787.146193928219}, {"x": 9079.834290556446, "y": -2786.7999480138697}, {"x": 9080.190285796092, "y": -2786.4537441652465}, {"x": 9080.546321884174, "y": -2786.1075823279725}, {"x": 9080.902398759792, "y": -2785.761462446884}, {"x": 9081.25851635939, "y": -2785.415384466817}, {"x": 9081.614674619415, "y": -2785.0693483341843}, {"x": 9081.970873477641, "y": -2784.7233539930326}, {"x": 9082.326174552021, "y": -2784.378312585293}, {"x": 9082.681516122653, "y": -2784.033312884713}, {"x": 9083.03689836298, "y": -2783.6883550796374}, {"x": 9083.392321449097, "y": -2783.3434393592015}, {"x": 9083.747785553125, "y": -2782.9985659141144}, {"x": 9084.10329085116, "y": -2782.653734932722}, {"x": 9084.458837513997, "y": -2782.308946604158}, {"x": 9084.814425717732, "y": -2781.964201119132}, {"x": 9085.170055637132, "y": -2781.619498666779}, {"x": 9085.525727442997, "y": -2781.2748394370196}, {"x": 9085.881441311418, "y": -2780.9302236189887}, {"x": 9086.23719741452, "y": -2780.5856514033953}, {"x": 9086.59299592707, "y": -2780.241122979374}, {"x": 9086.948837021191, "y": -2779.896638536846}, {"x": 9087.30472087033, "y": -2779.5521982665214}, {"x": 9087.660647649252, "y": -2779.207802358322}, {"x": 9088.016617531408, "y": -2778.8634510029588}, {"x": 9088.372630687592, "y": -2778.519144388776}, {"x": 9088.728687292576, "y": -2778.1748827080605}, {"x": 9089.084787518479, "y": -2777.830666150734}, {"x": 9089.440931540074, "y": -2777.4864949059306}, {"x": 9089.797119528155, "y": -2777.1423691659356}, {"x": 9090.153351656172, "y": -2776.798289119884}, {"x": 9090.509628098891, "y": -2776.4542549600606}, {"x": 9090.865949025785, "y": -2776.110266874812}, {"x": 9091.222314610304, "y": -2775.766325057212}, {"x": 9091.578725027215, "y": -2775.4224296971825}, {"x": 9091.935180447314, "y": -2775.0785809854333}, {"x": 9092.291681041403, "y": -2774.7347791126745}, {"x": 9092.648226984245, "y": -2774.391024270404}, {"x": 9093.00481844797, "y": -2774.04731665012}, {"x": 9093.36145560337, "y": -2773.7036564425325}, {"x": 9093.71813862389, "y": -2773.360043839139}, {"x": 9094.074867680332, "y": -2773.016479031438}, {"x": 9094.431642944815, "y": -2772.672962210139}, {"x": 9094.788464590783, "y": -2772.3294935667404}, {"x": 9095.145332787713, "y": -2771.9860732935276}, {"x": 9095.50224770905, "y": -2771.6427015812114}, {"x": 9095.85920952559, "y": -2771.2993786228653}, {"x": 9096.216218408132, "y": -2770.9561046092}, {"x": 9096.573274530121, "y": -2770.6128797317124}, {"x": 9096.930378062354, "y": -2770.269704183477}, {"x": 9097.28752917563, "y": -2769.9265781552044}, {"x": 9097.644728040746, "y": -2769.5835018399675}, {"x": 9098.001974829824, "y": -2769.2404754292656}, {"x": 9098.359269713661, "y": -2768.8974991153837}, {"x": 9098.716612863054, "y": -2768.554573091397}, {"x": 9099.074004448803, "y": -2768.211697548014}, {"x": 9099.431444641703, "y": -2767.868872679886}, {"x": 9099.788933613878, "y": -2767.5260986769345}, {"x": 9100.1464715348, "y": -2767.1833757338095}, {"x": 9100.504058575267, "y": -2766.840704042798}, {"x": 9100.861694906076, "y": -2766.4980837953967}, {"x": 9101.219380696703, "y": -2766.1555151854686}, {"x": 9101.577116119266, "y": -2765.8129984052994}, {"x": 9101.934901341918, "y": -2765.470533648752}, {"x": 9102.29273653678, "y": -2765.128121108111}, {"x": 9102.650621873323, "y": -2764.785760976452}, {"x": 9103.008557521023, "y": -2764.4434534476363}, {"x": 9103.366543650678, "y": -2764.10119871395}, {"x": 9103.724580431759, "y": -2763.758996970044}, {"x": 9104.082668033743, "y": -2763.4168484074153}, {"x": 9104.4408066261, "y": -2763.0747532215028}, {"x": 9104.798996379632, "y": -2762.732711604592}, {"x": 9105.157237463809, "y": -2762.3907237505464}, {"x": 9105.515530046781, "y": -2762.0487898532265}, {"x": 9105.873874299348, "y": -2761.706910106496}, {"x": 9106.232270389657, "y": -2761.3650847050035}, {"x": 9106.590718487185, "y": -2761.0233138410363}, {"x": 9106.9492187614, "y": -2760.6815977100323}, {"x": 9107.30777138178, "y": -2760.3399365058535}, {"x": 9107.666376516474, "y": -2759.998330422362}, {"x": 9108.025034333632, "y": -2759.6567796534205}, {"x": 9108.383745004048, "y": -2759.3152843944667}, {"x": 9108.742508694553, "y": -2758.973844839363}, {"x": 9109.101325574617, "y": -2758.63246118276}, {"x": 9109.460195812391, "y": -2758.2911336185193}, {"x": 9109.819119576023, "y": -2757.949862342867}, {"x": 9110.178575109474, "y": -2757.60819240307}, {"x": 9110.538082255587, "y": -2757.2665767722615}, {"x": 9110.897638788694, "y": -2756.9250131240947}, {"x": 9111.25724248578, "y": -2756.583499133012}, {"x": 9111.616891125152, "y": -2756.24203247188}, {"x": 9111.97658248379, "y": -2755.900610811988}, {"x": 9112.336314342652, "y": -2755.559231824626}, {"x": 9112.696084480045, "y": -2755.2178931802955}, {"x": 9113.055890678244, "y": -2754.876592548711}, {"x": 9113.415730716884, "y": -2754.535327597221}, {"x": 9113.775602379565, "y": -2754.19409599554}, {"x": 9114.13550344989, "y": -2753.852895410229}, {"x": 9114.49543171014, "y": -2753.511723508638}, {"x": 9114.85538494524, "y": -2753.1705779573285}, {"x": 9115.215360938793, "y": -2752.8294564220737}, {"x": 9115.575357475727, "y": -2752.488356567859}, {"x": 9115.935372343616, "y": -2752.14727605967}, {"x": 9116.295403326063, "y": -2751.8062125640677}, {"x": 9116.655448209318, "y": -2751.4651637428856}, {"x": 9117.015504782283, "y": -2751.1241272618977}, {"x": 9117.375570828555, "y": -2750.7831007845125}, {"x": 9117.735644137038, "y": -2750.442081974927}, {"x": 9118.095722493981, "y": -2750.1010684965518}, {"x": 9118.45580368696, "y": -2749.760058012007}, {"x": 9118.815885502223, "y": -2749.4190481854903}, {"x": 9119.175965728673, "y": -2749.078036680411}, {"x": 9119.536042152557, "y": -2748.7370211601783}, {"x": 9119.896112561453, "y": -2748.3959992882014}, {"x": 9120.25617474161, "y": -2748.054968728678}, {"x": 9120.616226479278, "y": -2747.713927144229}, {"x": 9120.976265563359, "y": -2747.3728721998395}, {"x": 9121.336289777451, "y": -2747.0318015597077}, {"x": 9121.696296910459, "y": -2746.6907128872417}, {"x": 9122.056284744658, "y": -2746.3496038490043}, {"x": 9122.416251068948, "y": -2746.0084721091916}, {"x": 9122.776193665606, "y": -2745.667315333578}, {"x": 9123.136110320884, "y": -2745.3261311887245}, {"x": 9123.495998817061, "y": -2744.9849173411926}, {"x": 9123.855856937742, "y": -2744.643671457544}, {"x": 9124.215682466527, "y": -2744.302391205916}, {"x": 9124.57547318437, "y": -2743.961074254447}, {"x": 9124.935226872229, "y": -2743.6197182728497}, {"x": 9125.294941311056, "y": -2743.2783209308386}, {"x": 9125.654614281808, "y": -2742.936879898915}, {"x": 9126.014243561467, "y": -2742.595392847581}, {"x": 9126.373826928339, "y": -2742.2538574504906}, {"x": 9126.73336216073, "y": -2741.9122713797215}, {"x": 9127.092847032978, "y": -2741.570632309716}, {"x": 9127.45227932074, "y": -2741.228937915704}, {"x": 9127.811656798349, "y": -2740.8871858737043}, {"x": 9128.170977238819, "y": -2740.5453738605224}, {"x": 9128.53023841251, "y": -2740.203499554541}, {"x": 9128.889438089785, "y": -2739.8615606349304}, {"x": 9129.248574042333, "y": -2739.519554782437}, {"x": 9129.607644035217, "y": -2739.177479679384}, {"x": 9129.966645834831, "y": -2738.8353330088817}, {"x": 9130.325577208889, "y": -2738.493112454829}, {"x": 9130.684435918483, "y": -2738.1508157034887}, {"x": 9131.043219728685, "y": -2737.808440441912}, {"x": 9131.401926396611, "y": -2737.465984358726}, {"x": 9131.760553684686, "y": -2737.1234451441337}, {"x": 9132.11909934738, "y": -2736.780820490703}, {"x": 9132.47756114314, "y": -2736.438108090212}, {"x": 9132.835936823794, "y": -2736.09530563917}, {"x": 9133.194224143817, "y": -2735.752410834084}, {"x": 9133.55242085371, "y": -2735.4094213722497}, {"x": 9133.910524700004, "y": -2735.0663349556908}, {"x": 9134.26853343188, "y": -2734.7231492848564}, {"x": 9134.626444793215, "y": -2734.3798620633456}, {"x": 9134.984256527896, "y": -2734.0364709986993}, {"x": 9135.341966374508, "y": -2733.6929737968817}, {"x": 9135.69957207561, "y": -2733.349368168586}, {"x": 9136.05707136449, "y": -2733.005651826081}, {"x": 9136.414461978413, "y": -2732.6618224816348}, {"x": 9136.771741649345, "y": -2732.317877851457}, {"x": 9137.12890810528, "y": -2731.9738156549092}, {"x": 9137.485959078183, "y": -2731.629633611353}, {"x": 9137.842892289429, "y": -2731.285329444089}, {"x": 9138.19970546569, "y": -2730.9409008772077}, {"x": 9138.55639632569, "y": -2730.596345637951}, {"x": 9138.912962589482, "y": -2730.2516614575006}, {"x": 9139.269401971816, "y": -2729.906846065463}, {"x": 9139.625712186125, "y": -2729.5618971985373}, {"x": 9139.981890944515, "y": -2729.2168125934213}, {"x": 9140.337935953796, "y": -2728.871589989178}, {"x": 9140.693844919453, "y": -2728.5262271280226}, {"x": 9141.04961554565, "y": -2728.1807217553223}, {"x": 9141.40524553125, "y": -2727.835071619597}, {"x": 9141.760732573799, "y": -2727.4892744701538}, {"x": 9142.116074368188, "y": -2727.1433280610286}, {"x": 9142.471268605339, "y": -2726.797230147045}, {"x": 9142.826312973528, "y": -2726.450978489332}, {"x": 9143.181205159703, "y": -2726.10457084823}, {"x": 9143.535942846842, "y": -2725.7580049888074}, {"x": 9143.89052371263, "y": -2725.4112786800733}, {"x": 9144.244945434742, "y": -2725.064389692613}, {"x": 9144.59920568557, "y": -2724.7173358001633}, {"x": 9144.9533021375, "y": -2724.3701147811903}, {"x": 9145.307232454968, "y": -2724.0227244149473}], "type": "lane"}, {"geometry": [{"x": 8994.978878218177, "y": -2867.8387419073983}, {"x": 8995.355064719497, "y": -2867.5212699832987}, {"x": 8995.730998494608, "y": -2867.203498824279}, {"x": 8996.106679123797, "y": -2866.8854284177296}, {"x": 8996.482106188676, "y": -2866.5670587518307}, {"x": 8996.857279270858, "y": -2866.2483898179134}, {"x": 8997.232197954603, "y": -2865.9294216088847}, {"x": 8997.606861822846, "y": -2865.6101541200164}, {"x": 8997.981270459846, "y": -2865.2905873473687}, {"x": 8998.355423452515, "y": -2864.970721290153}, {"x": 8998.729320386434, "y": -2864.6505559499456}, {"x": 8999.102960849834, "y": -2864.330091328323}, {"x": 8999.47634442698, "y": -2864.009327429225}, {"x": 8999.849470708745, "y": -2863.6882642589558}, {"x": 9000.222339283368, "y": -2863.366901825397}, {"x": 9000.594949739076, "y": -2863.0452401356397}, {"x": 9000.967301665427, "y": -2862.723279202294}, {"x": 9001.339394653303, "y": -2862.4010190363924}, {"x": 9001.711228293581, "y": -2862.0784596505437}, {"x": 9002.082802175819, "y": -2861.7556010605094}, {"x": 9002.454115892218, "y": -2861.43244328205}, {"x": 9002.82516903234, "y": -2861.108986332503}, {"x": 9003.195961191032, "y": -2860.785230229994}, {"x": 9003.566491956528, "y": -2860.461174993436}, {"x": 9003.936760922355, "y": -2860.136820644107}, {"x": 9004.306767679394, "y": -2859.8121672040725}, {"x": 9004.676511822498, "y": -2859.4872146953976}, {"x": 9005.045992939897, "y": -2859.1619631417248}, {"x": 9005.415210626445, "y": -2858.836412567483}, {"x": 9005.784164473022, "y": -2858.5105629986792}, {"x": 9006.15285407183, "y": -2858.18441446053}, {"x": 9006.52127901375, "y": -2857.8579669798305}, {"x": 9006.889438890988, "y": -2857.5312205841624}, {"x": 9007.257333293099, "y": -2857.2041753018952}, {"x": 9007.62496181361, "y": -2856.8768311621875}, {"x": 9007.992324040753, "y": -2856.549188193409}, {"x": 9008.359419565411, "y": -2856.2212464255067}, {"x": 9008.726247977138, "y": -2855.893005888426}, {"x": 9009.09280886549, "y": -2855.5644666129015}, {"x": 9009.459101818697, "y": -2855.2356286304553}, {"x": 9009.825126424996, "y": -2854.906491971034}, {"x": 9010.19088227129, "y": -2854.5770566669476}, {"x": 9010.556368947138, "y": -2854.24732274893}, {"x": 9010.921586034152, "y": -2853.9172902492924}, {"x": 9011.286533121887, "y": -2853.5869591995565}, {"x": 9011.651209791957, "y": -2853.2563296312446}, {"x": 9012.015615629944, "y": -2852.925401577456}, {"x": 9012.379750218784, "y": -2852.5941750681354}, {"x": 9012.743613137442, "y": -2852.2626501363825}, {"x": 9013.107203970178, "y": -2851.930826813719}, {"x": 9013.47052229463, "y": -2851.598705130091}, {"x": 9013.833567691088, "y": -2851.266285118597}, {"x": 9014.196339735869, "y": -2850.9335668083954}, {"x": 9014.55883800661, "y": -2850.6005502302205}, {"x": 9014.921062076979, "y": -2850.2672354148062}, {"x": 9015.283011521971, "y": -2849.933622391311}, {"x": 9015.644685913929, "y": -2849.5997111896804}, {"x": 9016.006084823872, "y": -2849.265501837497}, {"x": 9016.367207821495, "y": -2848.930994363919}, {"x": 9016.728054476494, "y": -2848.59618879574}, {"x": 9017.088624353271, "y": -2848.2610851605427}, {"x": 9017.44891701755, "y": -2847.9256834835437}, {"x": 9017.808932035052, "y": -2847.58998379075}, {"x": 9018.168668964883, "y": -2847.2539861073788}], "type": "lane"}, {"geometry": [{"x": 9020.544481194132, "y": -2848.7623518336495}, {"x": 9020.896429778464, "y": -2848.4281618085784}, {"x": 9021.248084912604, "y": -2848.093662998905}, {"x": 9021.599464501178, "y": -2847.758874738835}, {"x": 9021.950585369737, "y": -2847.4238151363547}, {"x": 9022.301463287273, "y": -2847.0885011142127}, {"x": 9022.652113009904, "y": -2846.752948458778}, {"x": 9023.00254830604, "y": -2846.417171863385}, {"x": 9023.352781993446, "y": -2846.0811849779793}, {"x": 9023.702825976321, "y": -2845.74500044852}, {"x": 9024.052691281042, "y": -2845.4086299674177}, {"x": 9024.402388086617, "y": -2845.0720843089957}, {"x": 9024.75192576838, "y": -2844.7353733807145}, {"x": 9025.101312927118, "y": -2844.3985062617844}, {"x": 9025.450557436734, "y": -2844.0614912473}, {"x": 9025.79966646808, "y": -2843.7243358923697}, {"x": 9026.148646536622, "y": -2843.387047049154}, {"x": 9026.497503538189, "y": -2843.0496309149366}, {"x": 9026.846242784719, "y": -2842.712093072319}, {"x": 9027.194869043984, "y": -2842.3744385262544}, {"x": 9027.543386574005, "y": -2842.0366717536976}, {"x": 9027.891799172052, "y": -2841.6987967367036}, {"x": 9028.240110199793, "y": -2841.360817011287}, {"x": 9028.58832263096, "y": -2841.022735702884}, {"x": 9028.936439088422, "y": -2840.684555568908}, {"x": 9029.284461882584, "y": -2840.346279042093}, {"x": 9029.6323930458, "y": -2840.0079082691077}, {"x": 9029.980234381379, "y": -2839.669445152323}, {"x": 9030.327987494025, "y": -2839.3308913876394}, {"x": 9030.675653832204, "y": -2838.992248511768}, {"x": 9031.023234727878, "y": -2838.6535179361213}, {"x": 9031.370731434881, "y": -2838.31470099094}, {"x": 9031.725072897998, "y": -2837.9690394212867}, {"x": 9032.07932970904, "y": -2837.6232910927984}, {"x": 9032.43350353097, "y": -2837.2774577510227}, {"x": 9032.787596030721, "y": -2836.931541142295}, {"x": 9033.141608875223, "y": -2836.5855430121624}, {"x": 9033.495543731407, "y": -2836.239465103809}, {"x": 9033.84940227018, "y": -2835.8933091588415}, {"x": 9034.203186161118, "y": -2835.5470769196554}, {"x": 9034.556897075128, "y": -2835.200770125494}, {"x": 9034.91053668576, "y": -2834.8543905163883}, {"x": 9035.26410666657, "y": -2834.507939830793}, {"x": 9035.617608692428, "y": -2834.161419804799}, {"x": 9035.971044439539, "y": -2833.814832174498}, {"x": 9036.324415582776, "y": -2833.4681786751917}, {"x": 9036.677723800987, "y": -2833.1214610421835}, {"x": 9037.030970774347, "y": -2832.7746810068356}, {"x": 9037.384158180377, "y": -2832.4278403036633}, {"x": 9037.73728769925, "y": -2832.080940662452}, {"x": 9038.090361013788, "y": -2831.7339838145654}, {"x": 9038.443379805483, "y": -2831.3869714897887}, {"x": 9038.79634575716, "y": -2831.039905417121}, {"x": 9039.149260554283, "y": -2830.692787325561}, {"x": 9039.502125878349, "y": -2830.3456189417416}, {"x": 9039.854943417475, "y": -2829.998401992298}, {"x": 9040.207714854481, "y": -2829.651138204652}, {"x": 9040.560441880132, "y": -2829.3038293030736}, {"x": 9040.913126177245, "y": -2828.956477012621}, {"x": 9041.26576943791, "y": -2828.609083057564}, {"x": 9041.618373347597, "y": -2828.261649161385}, {"x": 9041.970939597068, "y": -2827.914177047565}, {"x": 9042.323469877087, "y": -2827.566668438799}, {"x": 9042.675965874445, "y": -2827.2191250554156}, {"x": 9043.028429282558, "y": -2826.871548620109}, {"x": 9043.380861792188, "y": -2826.523940853998}, {"x": 9043.733265095421, "y": -2826.1763034766227}, {"x": 9044.085640883026, "y": -2825.828638208314}, {"x": 9044.43799084841, "y": -2825.4809467694004}, {"x": 9044.790316683664, "y": -2825.133230878637}, {"x": 9045.14262008485, "y": -2824.785492255564}, {"x": 9045.494902741402, "y": -2824.437732618148}, {"x": 9045.847166350712, "y": -2824.0899536843535}, {"x": 9046.199412604861, "y": -2823.742157173723}, {"x": 9046.551643199915, "y": -2823.394344801858}, {"x": 9046.903859829283, "y": -2823.0465182882995}, {"x": 9047.2560641877, "y": -2822.6986793494366}, {"x": 9047.608145901504, "y": -2822.3509403890753}, {"x": 9047.96021872721, "y": -2822.0031924290965}, {"x": 9048.312284346315, "y": -2821.6554371724924}, {"x": 9048.664344437668, "y": -2821.307676321467}, {"x": 9049.016400685412, "y": -2820.959911577438}, {"x": 9049.368454767071, "y": -2820.6121446418206}, {"x": 9049.720508366789, "y": -2820.2643772168194}, {"x": 9050.072563163416, "y": -2819.916611004639}, {"x": 9050.424620839769, "y": -2819.568847706695}, {"x": 9050.776683074699, "y": -2819.2210890251927}, {"x": 9051.128751551023, "y": -2818.873336662336}, {"x": 9051.480827948915, "y": -2818.5255923187533}, {"x": 9051.832913948547, "y": -2818.177857698225}, {"x": 9052.185011231415, "y": -2817.8301345021673}, {"x": 9052.53712147769, "y": -2817.482424433573}, {"x": 9052.889246366221, "y": -2817.134729193858}, {"x": 9053.241387579828, "y": -2816.7870504875914}, {"x": 9053.593546794713, "y": -2816.439390016189}, {"x": 9053.945725693691, "y": -2816.0917494842192}, {"x": 9054.297925952966, "y": -2815.744130595463}, {"x": 9054.650149254034, "y": -2815.396535052913}, {"x": 9055.002397274417, "y": -2815.048964561137}, {"x": 9055.35467169164, "y": -2814.7014208247037}, {"x": 9055.706974184552, "y": -2814.3539055489705}, {"x": 9056.059306430676, "y": -2814.0064204392934}, {"x": 9056.411670104888, "y": -2813.6589672018167}, {"x": 9056.764066886035, "y": -2813.3115475418977}, {"x": 9057.116498448995, "y": -2812.9641631672566}, {"x": 9057.468966469967, "y": -2812.6168157848265}, {"x": 9057.82147262383, "y": -2812.269507102328}, {"x": 9058.17401858413, "y": -2811.9222388282706}, {"x": 9058.526606024421, "y": -2811.575012671162}, {"x": 9058.879236619583, "y": -2811.2278303418757}, {"x": 9059.231912040515, "y": -2810.880693548921}, {"x": 9059.584633959448, "y": -2810.5336040039583}, {"x": 9059.937404048611, "y": -2810.186563418649}, {"x": 9060.29022397758, "y": -2809.839573505442}, {"x": 9060.64309541726, "y": -2809.492635976787}, {"x": 9060.996020034585, "y": -2809.14575254592}, {"x": 9061.348999499134, "y": -2808.7989249276557}, {"x": 9061.702035477838, "y": -2808.4521548375947}, {"x": 9062.05512963763, "y": -2808.1054439913382}, {"x": 9062.408283645442, "y": -2807.758794106064}, {"x": 9062.761499162909, "y": -2807.412206899738}, {"x": 9063.114777856963, "y": -2807.0656840895367}, {"x": 9063.46812138924, "y": -2806.7192273973665}, {"x": 9063.821531421376, "y": -2806.3728385419813}, {"x": 9064.17476852025, "y": -2806.026752880717}, {"x": 9064.52806775636, "y": -2805.680730654148}, {"x": 9064.881423203427, "y": -2805.3347658304815}, {"x": 9065.23482893517, "y": -2804.98885237556}, {"x": 9065.588279030606, "y": -2804.6429842504986}, {"x": 9065.941767567425, "y": -2804.2971554164124}, {"x": 9066.295288628613, "y": -2803.951359830475}, {"x": 9066.64883629716, "y": -2803.6055914498615}, {"x": 9067.002404660025, "y": -2803.2598442301705}, {"x": 9067.355987801518, "y": -2802.9141121246357}, {"x": 9067.709579808601, "y": -2802.5683890864916}, {"x": 9068.063174768231, "y": -2802.2226690689718}, {"x": 9068.416766770019, "y": -2801.876946025311}, {"x": 9068.770349899596, "y": -2801.5312139071675}, {"x": 9069.1239182426, "y": -2801.185466668563}, {"x": 9069.477465888638, "y": -2800.83969826352}, {"x": 9069.830986919374, "y": -2800.493902647637}, {"x": 9070.184475420445, "y": -2800.1480737765114}, {"x": 9070.537925473513, "y": -2799.8022056081068}, {"x": 9070.89133115759, "y": -2799.456292103538}, {"x": 9071.244686550373, "y": -2799.110327225495}, {"x": 9071.597985726903, "y": -2798.7643049374574}, {"x": 9071.951222759575, "y": -2798.4182192084204}, {"x": 9072.304391716814, "y": -2798.072064009744}, {"x": 9072.657486663069, "y": -2797.725833315151}, {"x": 9073.010501661469, "y": -2797.3795211030933}, {"x": 9073.36343076852, "y": -2797.033121355964}, {"x": 9073.716268035436, "y": -2796.6866280616714}, {"x": 9074.0690075121, "y": -2796.3400352104886}, {"x": 9074.421643239135, "y": -2795.993336800569}, {"x": 9074.774169254508, "y": -2795.64652683243}, {"x": 9075.126579590898, "y": -2795.2995993136824}, {"x": 9075.478868274358, "y": -2794.952548259028}, {"x": 9075.831029321675, "y": -2794.6053676878983}, {"x": 9076.182443207472, "y": -2794.258665857021}, {"x": 9076.533743970953, "y": -2793.9118493976516}, {"x": 9076.884951657668, "y": -2793.564938681079}, {"x": 9077.236086333032, "y": -2793.217954061255}, {"x": 9077.58716807437, "y": -2792.8709158795214}, {"x": 9077.938216964305, "y": -2792.523844466976}, {"x": 9078.289253098703, "y": -2792.176760151563}, {"x": 9078.640296569454, "y": -2791.829683256501}, {"x": 9078.991367468452, "y": -2791.48263410737}, {"x": 9079.342485886264, "y": -2791.135633035268}, {"x": 9079.693671900217, "y": -2790.7887003775963}, {"x": 9080.044945578371, "y": -2790.4418564851544}, {"x": 9080.396326974222, "y": -2790.095121723715}, {"x": 9080.747836120081, "y": -2789.7485164771742}, {"x": 9081.099493027075, "y": -2789.402061151496}, {"x": 9081.451317678528, "y": -2789.055776178649}, {"x": 9081.80333003128, "y": -2788.7096820205484}, {"x": 9082.155550007752, "y": -2788.363799169843}, {"x": 9082.50799749064, "y": -2788.0181481570094}, {"x": 9082.860692326894, "y": -2787.672749551138}, {"x": 9083.2136543158, "y": -2787.3276239630877}, {"x": 9083.566903210301, "y": -2786.9827920509993}, {"x": 9083.920458714356, "y": -2786.63827452345}, {"x": 9084.274340473661, "y": -2786.2940921410286}, {"x": 9084.62856807831, "y": -2785.950265720276}, {"x": 9084.98316105219, "y": -2785.606816138414}, {"x": 9085.338138858293, "y": -2785.263764334921}, {"x": 9085.693520885454, "y": -2784.9211313162587}, {"x": 9086.049326453667, "y": -2784.5789381582395}, {"x": 9086.405574803486, "y": -2784.237206009177}, {"x": 9086.762285092047, "y": -2783.8959560946137}, {"x": 9087.11947639705, "y": -2783.5552097181107}, {"x": 9087.477167704837, "y": -2783.214988265974}, {"x": 9087.838884355308, "y": -2782.8719826134966}, {"x": 9088.201117019844, "y": -2782.5295219580003}, {"x": 9088.563852643683, "y": -2782.1875940964137}, {"x": 9088.927078228995, "y": -2781.8461867697133}, {"x": 9089.290780829582, "y": -2781.505287667651}, {"x": 9089.65494755618, "y": -2781.1648844256033}, {"x": 9090.019565571165, "y": -2780.8249646292998}, {"x": 9090.384622085898, "y": -2780.485515814821}, {"x": 9090.7501043647, "y": -2780.14652546939}, {"x": 9091.115999718237, "y": -2779.807981035308}, {"x": 9091.482295504831, "y": -2779.469869909958}, {"x": 9091.848979129156, "y": -2779.132179446593}, {"x": 9092.216038040891, "y": -2778.7948969551207}, {"x": 9092.58345973209, "y": -2778.458009706048}, {"x": 9092.9512317385, "y": -2778.1215049304774}, {"x": 9093.319341632936, "y": -2777.785369821685}, {"x": 9093.687777030585, "y": -2777.4495915343327}, {"x": 9094.056525585029, "y": -2777.114157190771}, {"x": 9094.425574985597, "y": -2776.779053877889}, {"x": 9094.794912954721, "y": -2776.444268648688}, {"x": 9095.16452725323, "y": -2776.1097885278004}, {"x": 9095.534405671075, "y": -2775.775600507548}, {"x": 9095.904536028667, "y": -2775.441691553458}, {"x": 9096.274906180837, "y": -2775.1080486026876}, {"x": 9096.645504006248, "y": -2774.7746585663895}, {"x": 9097.016317412696, "y": -2774.4415083328604}, {"x": 9097.387334333127, "y": -2774.1085847651816}, {"x": 9097.758542724321, "y": -2773.775874705943}, {"x": 9098.129930568219, "y": -2773.4433649756697}, {"x": 9098.501485863966, "y": -2773.1110423767614}, {"x": 9098.87319663587, "y": -2772.778893693493}, {"x": 9099.245050921478, "y": -2772.4469056928006}, {"x": 9099.61703678084, "y": -2772.1150651266494}, {"x": 9099.989142284609, "y": -2771.7833587320292}, {"x": 9100.361355523284, "y": -2771.451773234899}, {"x": 9100.733664595318, "y": -2771.120295347819}, {"x": 9101.10605761505, "y": -2770.7889117738946}, {"x": 9101.478522702115, "y": -2770.457609206773}, {"x": 9101.851047989387, "y": -2770.1263743330096}, {"x": 9102.223621615036, "y": -2769.795193832067}, {"x": 9102.596231723852, "y": -2769.4640543786795}, {"x": 9102.968866461953, "y": -2769.1329426428533}, {"x": 9103.341513982072, "y": -2768.8018452938068}, {"x": 9103.714162438268, "y": -2768.4707489976045}, {"x": 9104.086799983275, "y": -2768.1396404203133}, {"x": 9104.459414767181, "y": -2767.8085062295745}, {"x": 9104.831994941396, "y": -2767.477333095394}, {"x": 9105.204528649389, "y": -2767.1461076925066}, {"x": 9105.577004031975, "y": -2766.8148166995866}, {"x": 9105.949409219384, "y": -2766.4834468008253}, {"x": 9106.321732336544, "y": -2766.1519846898705}, {"x": 9106.693961497796, "y": -2765.820417066674}, {"x": 9107.066084804235, "y": -2765.4887306445853}, {"x": 9107.438090346372, "y": -2765.156912144834}, {"x": 9107.809966201468, "y": -2764.8249483044115}, {"x": 9108.181700426934, "y": -2764.492825872129}, {"x": 9108.553281068256, "y": -2764.160531612559}, {"x": 9108.924696148417, "y": -2763.8280523076132}, {"x": 9109.295572407067, "y": -2763.495702774473}, {"x": 9109.666271696866, "y": -2763.1631558565505}, {"x": 9110.036794253483, "y": -2762.8304120290445}, {"x": 9110.407140315241, "y": -2762.497471767942}, {"x": 9110.77731012179, "y": -2762.164335546865}, {"x": 9111.147303910126, "y": -2761.8310038394366}, {"x": 9111.517121922543, "y": -2761.497477120067}, {"x": 9111.886764397363, "y": -2761.163755860803}, {"x": 9112.256231576883, "y": -2760.8298405344794}, {"x": 9112.625523703393, "y": -2760.495731612354}, {"x": 9112.994641017865, "y": -2760.161429567262}, {"x": 9113.363583765244, "y": -2759.8269348688855}, {"x": 9113.732352186496, "y": -2759.4922479884826}, {"x": 9114.100946529215, "y": -2759.157369395736}, {"x": 9114.469367035696, "y": -2758.822299560328}, {"x": 9114.837613952199, "y": -2758.4870389511525}, {"x": 9115.20568752632, "y": -2758.1515880363163}, {"x": 9115.573588003, "y": -2757.815947283925}, {"x": 9115.941315631155, "y": -2757.480117161297}, {"x": 9116.308870658373, "y": -2757.1440981365386}, {"x": 9116.676253333568, "y": -2756.8078906753917}, {"x": 9117.043463904332, "y": -2756.471495243599}, {"x": 9117.41050262355, "y": -2756.134912307689}, {"x": 9117.777369740139, "y": -2755.7981423310407}, {"x": 9118.144065504333, "y": -2755.461185780184}, {"x": 9118.510590169022, "y": -2755.1240431177093}, {"x": 9118.876943987092, "y": -2754.7867148069936}, {"x": 9119.243127210106, "y": -2754.449201312991}, {"x": 9119.60914009227, "y": -2754.111503095927}, {"x": 9119.974982889125, "y": -2753.7736206191803}, {"x": 9120.340655853552, "y": -2753.4355543445517}, {"x": 9120.706159241088, "y": -2753.0973047322673}, {"x": 9121.071493308591, "y": -2752.7588722433406}, {"x": 9121.436658311597, "y": -2752.420257337997}, {"x": 9121.80165450696, "y": -2752.081460474887}, {"x": 9122.16648215419, "y": -2751.7424821150234}, {"x": 9122.531141510148, "y": -2751.4033227146915}, {"x": 9122.895632834334, "y": -2751.063982734117}, {"x": 9123.259956386259, "y": -2750.724462628798}, {"x": 9123.624112424104, "y": -2750.3847628573826}, {"x": 9123.988101211347, "y": -2750.0448838761577}, {"x": 9124.351923006172, "y": -2749.704826141407}, {"x": 9124.715578073381, "y": -2749.364590107841}, {"x": 9125.07906667248, "y": -2749.0241762317446}, {"x": 9125.442389068272, "y": -2748.683584967039}, {"x": 9125.805545522911, "y": -2748.3428167684333}, {"x": 9126.1685363012, "y": -2748.0018720882726}, {"x": 9126.531361666617, "y": -2747.6607513812664}, {"x": 9126.894021886612, "y": -2747.3194550989715}, {"x": 9127.256517223343, "y": -2746.9779836937328}, {"x": 9127.61884794558, "y": -2746.636337617895}, {"x": 9127.98101431945, "y": -2746.294517322228}, {"x": 9128.343016612407, "y": -2745.952523256712}, {"x": 9128.704855090577, "y": -2745.6103558721165}, {"x": 9129.066530024054, "y": -2745.2680156184215}, {"x": 9129.42804168294, "y": -2744.9255029440324}, {"x": 9129.789390333364, "y": -2744.5828182981422}, {"x": 9130.150576248068, "y": -2744.2399621283666}, {"x": 9130.511599695828, "y": -2743.8969348831115}, {"x": 9130.872460948069, "y": -2743.553737009205}, {"x": 9131.233160277534, "y": -2743.210368953476}, {"x": 9131.593697954324, "y": -2742.866831161965}, {"x": 9131.954074253832, "y": -2742.5231240799244}, {"x": 9132.314289446158, "y": -2742.179248153395}, {"x": 9132.674343806695, "y": -2741.835203826841}, {"x": 9133.034237608192, "y": -2741.4909915447265}, {"x": 9133.393971127367, "y": -2741.1466117491527}, {"x": 9133.753544638288, "y": -2740.802064885372}, {"x": 9134.112958417676, "y": -2740.457351394696}, {"x": 9134.472212739602, "y": -2740.1124717208018}, {"x": 9134.831307882107, "y": -2739.767426303425}, {"x": 9135.190244121912, "y": -2739.4222155854545}, {"x": 9135.54902173838, "y": -2739.076840007414}, {"x": 9135.907641008233, "y": -2738.7313000082518}, {"x": 9136.266102209513, "y": -2738.3855960292804}, {"x": 9136.624405622908, "y": -2738.039728508659}, {"x": 9136.982551527788, "y": -2737.6936978861245}, {"x": 9137.340540203519, "y": -2737.3475045982605}, {"x": 9137.698371930792, "y": -2737.0011490848033}, {"x": 9138.056046992942, "y": -2736.6546317823368}, {"x": 9138.413565669342, "y": -2736.3079531266562}, {"x": 9138.770928243324, "y": -2735.9611135559226}, {"x": 9139.128134995584, "y": -2735.614113503567}, {"x": 9139.485186212105, "y": -2735.2669534069614}, {"x": 9139.84208217358, "y": -2734.9196336995374}, {"x": 9140.198823165996, "y": -2734.572154816303}, {"x": 9140.555409474015, "y": -2734.224517191478}, {"x": 9140.911841380974, "y": -2733.8767212569173}, {"x": 9141.268119174185, "y": -2733.528767446842}, {"x": 9141.624243138313, "y": -2733.180656192318}, {"x": 9141.98021355934, "y": -2732.8323879267778}, {"x": 9142.33603072458, "y": -2732.483963079713}, {"x": 9142.691694922669, "y": -2732.1353820837667}, {"x": 9143.047206438267, "y": -2731.7866453676424}, {"x": 9143.402565562657, "y": -2731.4377533624074}, {"x": 9143.75777258315, "y": -2731.0887064967656}, {"x": 9144.112827789706, "y": -2730.739505200208}, {"x": 9144.467731469635, "y": -2730.3901498998616}, {"x": 9144.822483915545, "y": -2730.040641025218}, {"x": 9145.177085416068, "y": -2729.6909790026166}, {"x": 9145.531536262488, "y": -2729.341164259184}, {"x": 9145.885836746087, "y": -2728.991197222048}, {"x": 9146.239987159475, "y": -2728.6410783159713}, {"x": 9146.59398779393, "y": -2728.2908079665053}, {"x": 9146.947838942066, "y": -2727.940386599989}, {"x": 9147.301540896482, "y": -2727.5898146388213}, {"x": 9147.655093952435, "y": -2727.239092508553}], "type": "lane"}, {"geometry": [{"x": 9014.637559806542, "y": -2843.54961733728}, {"x": 9014.278322989388, "y": -2843.886143456602}, {"x": 9013.916351520771, "y": -2844.2197227599013}, {"x": 9013.54936348608, "y": -2844.5477685206706}, {"x": 9013.175329214977, "y": -2844.867747997497}, {"x": 9012.792512703129, "y": -2845.1771557118227}, {"x": 9012.399506243079, "y": -2845.473499794053}, {"x": 9011.995258420497, "y": -2845.7543010158274}, {"x": 9011.57909517525, "y": -2846.017103692004}, {"x": 9011.150733254693, "y": -2846.2594971899066}, {"x": 9010.710285271402, "y": -2846.479146430301}, {"x": 9010.258255557674, "y": -2846.6738293894837}, {"x": 9009.7955261191, "y": -2846.841479355714}, {"x": 9009.323332330974, "y": -2846.9802294710184}, {"x": 9008.84322834052, "y": -2847.0884569758955}, {"x": 9008.357042621119, "y": -2847.1648246122836}, {"x": 9007.866824607969, "y": -2847.2083167575784}, {"x": 9007.374783778947, "y": -2847.2182681611525}, {"x": 9006.883223040883, "y": -2847.194383532313}, {"x": 9006.394468530405, "y": -2847.136746764519}, {"x": 9005.910798213918, "y": -2847.045819152791}, {"x": 9005.434371738758, "y": -2846.9224265988114}, {"x": 9004.967163889643, "y": -2846.7677364420297}, {"x": 9004.510903839004, "y": -2846.5832251556076}, {"x": 9004.06702201965, "y": -2846.3706386795393}, {"x": 9003.636606002045, "y": -2846.13194761091}, {"x": 9003.220366334788, "y": -2845.869299747069}, {"x": 9002.818612703115, "y": -2845.5849727028776}, {"x": 9002.431240390863, "y": -2845.28132931611}, {"x": 9002.05772652955, "y": -2844.960778527483}, {"x": 9001.697135387805, "y": -2844.625744197221}, {"x": 9001.348131786262, "y": -2844.2786440962273}, {"x": 9001.009001709788, "y": -2843.9218809490208}, {"x": 9000.677679455037, "y": -2843.557847088794}, {"x": 9000.351780982337, "y": -2843.18894383496}, {"x": 9000.028643820095, "y": -2842.8176163221447}], "type": "lane"}, {"geometry": [{"x": 8995.547209770584, "y": -2850.614536219093}, {"x": 8995.878013343381, "y": -2850.988308433891}, {"x": 8996.202026281731, "y": -2851.367965893437}, {"x": 8996.512961218987, "y": -2851.7583799945814}, {"x": 8996.804949674322, "y": -2852.1631292752763}, {"x": 8997.072482449663, "y": -2852.584413112816}, {"x": 8997.310451325482, "y": -2853.0230481578737}, {"x": 8997.51425750804, "y": -2853.4785391335977}, {"x": 8997.679952092554, "y": -2853.9492168922643}, {"x": 8997.80437684281, "y": -2854.4324339820123}, {"x": 8997.88527915652, "y": -2854.92480385857}, {"x": 8997.92138269741, "y": -2855.422466090272}, {"x": 8997.912403593196, "y": -2855.9213578107965}, {"x": 8997.859010523223, "y": -2856.4174718718577}, {"x": 8997.762734304293, "y": -2856.9070845989395}, {"x": 8997.625837957352, "y": -2857.3869402976375}, {"x": 8997.451161367713, "y": -2857.854384855428}, {"x": 8997.241955461739, "y": -2858.3074461597917}, {"x": 8997.0017196684, "y": -2858.7448637449374}, {"x": 8996.734053824493, "y": -2859.1660737265083}, {"x": 8996.44253227692, "y": -2859.571157302017}, {"x": 8996.130604310323, "y": -2859.9607620522647}, {"x": 8995.801521625608, "y": -2860.336005051236}, {"x": 8995.458290825116, "y": -2860.69836583212}, {"x": 8995.103646819814, "y": -2861.0495758015536}, {"x": 8994.740041771156, "y": -2861.391509140928}, {"x": 8994.36964373528, "y": -2861.726078754423}, {"x": 8993.994339219686, "y": -2862.055139590884}, {"x": 8993.615734582718, "y": -2862.3804007257613}, {"x": 8993.235152176705, "y": -2862.70334682959}, {"x": 8992.85361857088, "y": -2863.0251691073568}, {"x": 8992.471843633299, "y": -2863.3467051444845}, {"x": 8992.090191056992, "y": -2863.668386404075}, {"x": 8991.708642558673, "y": -2863.9901911191905}], "type": "lane"}, {"geometry": [{"x": 8995.547209770584, "y": -2850.614536219093}, {"x": 8995.874290579957, "y": -2850.9809533206917}, {"x": 8996.203753045782, "y": -2851.3452281634104}, {"x": 8996.537747019027, "y": -2851.7053486021914}, {"x": 8996.878177563229, "y": -2852.059385039434}, {"x": 8997.226686304453, "y": -2852.4054656366397}, {"x": 8997.584638642658, "y": -2852.7417619039957}, {"x": 8997.953116173037, "y": -2853.0664834511185}, {"x": 8998.332913942677, "y": -2853.377880494658}, {"x": 8998.72454235183, "y": -2853.6742526853263}, {"x": 8999.128233615105, "y": -2853.953962772819}, {"x": 8999.543952699127, "y": -2854.2154536286453}, {"x": 8999.971412546034, "y": -2854.4572672201916}, {"x": 9000.410093361708, "y": -2854.6780642026197}, {"x": 9000.859265556923, "y": -2854.8766429126326}, {"x": 9001.318015851586, "y": -2855.0519567159836}, {"x": 9001.785275917113, "y": -2855.20312882296}, {"x": 9002.259852836642, "y": -2855.329463888592}, {"x": 9002.740460617877, "y": -2855.4304559286884}, {"x": 9003.225751954822, "y": -2855.5057922656424}, {"x": 9003.7143494374, "y": -2855.555353448051}, {"x": 9004.204875472822, "y": -2855.579209240287}, {"x": 9004.695980234173, "y": -2855.5776109712506}, {"x": 9005.186367054963, "y": -2855.5509806244986}, {"x": 9005.674814828782, "y": -2855.4998971867235}, {"x": 9006.160197051251, "y": -2855.42508081883}, {"x": 9006.641497318904, "y": -2855.327375446952}, {"x": 9007.117821200298, "y": -2855.2077303849537}, {"x": 9007.58840449784, "y": -2855.067181561319}, {"x": 9008.052618059259, "y": -2854.9068328886838}, {"x": 9008.509969334638, "y": -2854.7278382417453}, {"x": 9008.960100984883, "y": -2854.5313844367965}, {"x": 9009.402786858042, "y": -2854.3186755170696}, {"x": 9009.837925688327, "y": -2854.0909185692744}, {"x": 9010.26553290976, "y": -2853.8493112053043}, {"x": 9010.685730918038, "y": -2853.5950307642725}, {"x": 9011.098738167304, "y": -2853.329225226994}, {"x": 9011.50485739305, "y": -2853.05300575781}, {"x": 9011.904463288205, "y": -2852.7674407492364}, {"x": 9012.297989866764, "y": -2852.4735512031593}, {"x": 9012.685917775767, "y": -2852.172307245254}, {"x": 9013.06876171189, "y": -2851.864625555132}, {"x": 9013.447058129306, "y": -2851.5513674986423}, {"x": 9013.82135335933, "y": -2851.2333377172495}, {"x": 9014.192192241104, "y": -2850.911282980622}, {"x": 9014.560107349447, "y": -2850.585891083351}, {"x": 9014.92560887807, "y": -2850.2577896234598}, {"x": 9015.28917520333, "y": -2849.927544495642}, {"x": 9015.651244161649, "y": -2849.595657993614}, {"x": 9016.012205048488, "y": -2849.262566427032}, {"x": 9016.372391292602, "y": -2848.928637205677}, {"x": 9016.732073800216, "y": -2848.5941653759432}, {"x": 9017.091454877816, "y": -2848.259369652968}, {"x": 9017.450662660696, "y": -2847.92438799017}, {"x": 9017.809745899005, "y": -2847.5892728217495}, {"x": 9018.168668964883, "y": -2847.2539861073788}], "type": "lane"}, {"geometry": [{"x": 9011.982240255504, "y": -2840.6548860528774}, {"x": 9011.621602561476, "y": -2840.9955564251673}, {"x": 9011.260657868635, "y": -2841.335901503837}, {"x": 9010.899406436489, "y": -2841.675920975239}, {"x": 9010.53784852984, "y": -2842.015614530456}, {"x": 9010.175984414815, "y": -2842.354981865297}, {"x": 9009.813814362837, "y": -2842.694022677148}, {"x": 9009.451338646651, "y": -2843.0327366704873}, {"x": 9009.088557545625, "y": -2843.3711235490055}, {"x": 9008.725471339125, "y": -2843.709183023485}, {"x": 9008.362080313138, "y": -2844.0469148062853}, {"x": 9007.998384752325, "y": -2844.3843186137055}, {"x": 9007.634384949297, "y": -2844.7213941636205}, {"x": 9007.270081195333, "y": -2845.058141178635}, {"x": 9006.90547378569, "y": -2845.394559382928}, {"x": 9006.540563018269, "y": -2845.7306485038325}, {"x": 9006.175349193622, "y": -2846.0664082710437}, {"x": 9005.8098326123, "y": -2846.4018384174105}, {"x": 9005.444013581473, "y": -2846.7369386765695}, {"x": 9005.077892405665, "y": -2847.0717087853095}, {"x": 9004.71146939337, "y": -2847.4061484827835}, {"x": 9004.344744853084, "y": -2847.7402575097203}, {"x": 9003.977719098597, "y": -2848.074035607637}, {"x": 9003.610392441053, "y": -2848.4074825212033}, {"x": 9003.242765195566, "y": -2848.7405979958767}, {"x": 9002.874837675927, "y": -2849.073381777902}, {"x": 9002.506610198576, "y": -2849.4058336166772}, {"x": 9002.1380830826, "y": -2849.737953260024}, {"x": 9001.769256644437, "y": -2850.069740459704}, {"x": 9001.40013120185, "y": -2850.4011949659034}, {"x": 9001.03070707525, "y": -2850.7323165303837}, {"x": 9000.660984585049, "y": -2851.063104905695}, {"x": 9000.290964050335, "y": -2851.393559845175}, {"x": 8999.920645790193, "y": -2851.723681101374}, {"x": 8999.550030125034, "y": -2852.0534684276295}, {"x": 8999.179117376594, "y": -2852.382921578068}, {"x": 8998.807907862636, "y": -2852.7120403060276}, {"x": 8998.436401904895, "y": -2853.0408243640572}, {"x": 8998.064599821135, "y": -2853.369273504708}, {"x": 8997.692501929117, "y": -2853.6973874797413}, {"x": 8997.320108549253, "y": -2854.0251660424947}, {"x": 8996.947419996659, "y": -2854.3526089423667}, {"x": 8996.574436587773, "y": -2854.6797159287544}, {"x": 8996.201158639033, "y": -2855.0064867518436}, {"x": 8995.827586464231, "y": -2855.332921158668}, {"x": 8995.453720375835, "y": -2855.659018894685}, {"x": 8995.079560684988, "y": -2855.9847797053517}, {"x": 8994.705107701508, "y": -2856.3102033337614}, {"x": 8994.330361736536, "y": -2856.6352895206437}, {"x": 8993.955323093274, "y": -2856.960038005939}, {"x": 8993.579992078892, "y": -2857.2844485272244}, {"x": 8993.204368996589, "y": -2857.608520818136}, {"x": 8992.828454146915, "y": -2857.9322546130993}, {"x": 8992.452247827774, "y": -2858.255649641022}, {"x": 8992.075750338392, "y": -2858.5787056300237}, {"x": 8991.698961970053, "y": -2858.901422305073}, {"x": 8991.321883016684, "y": -2859.2237993879858}, {"x": 8990.944513766926, "y": -2859.5458365974246}, {"x": 8990.566854508084, "y": -2859.8675336481133}, {"x": 8990.1889055235, "y": -2860.188890253198}, {"x": 8989.810667093865, "y": -2860.509906120311}, {"x": 8989.43213949722, "y": -2860.8305809547173}, {"x": 8989.053323008959, "y": -2861.150914457744}], "type": "lane"}, {"geometry": [{"x": 9014.637559806542, "y": -2843.54961733728}, {"x": 9014.276367846396, "y": -2843.8888248177927}, {"x": 9013.91490926188, "y": -2844.2277481625683}, {"x": 9013.553182654836, "y": -2844.5663854282575}, {"x": 9013.19118667742, "y": -2844.9047347180053}, {"x": 9012.828920028127, "y": -2845.242794179088}, {"x": 9012.46638145444, "y": -2845.5805620021256}, {"x": 9012.103569752835, "y": -2845.918036419505}, {"x": 9011.740483763473, "y": -2846.255215706956}, {"x": 9011.377122370212, "y": -2846.5920981803997}, {"x": 9011.013484507224, "y": -2846.928682196736}, {"x": 9010.649569144425, "y": -2847.2649661538444}, {"x": 9010.2853752994, "y": -2847.6009484874303}, {"x": 9009.92090202945, "y": -2847.9366276718133}, {"x": 9009.556148434245, "y": -2848.272002220718}, {"x": 9009.191113651856, "y": -2848.607070684118}, {"x": 9008.82579686007, "y": -2848.9418316482374}, {"x": 9008.460197273747, "y": -2849.2762837355526}, {"x": 9008.094314147469, "y": -2849.610425603213}, {"x": 9007.728146768915, "y": -2849.944255943043}, {"x": 9007.361694465488, "y": -2850.2777734807537}, {"x": 9006.994956597691, "y": -2850.610976974366}, {"x": 9006.6279325578, "y": -2850.943865215}, {"x": 9006.260621773843, "y": -2851.276437024509}, {"x": 9005.893023705623, "y": -2851.60869125627}, {"x": 9005.525137843395, "y": -2851.9406267943928}, {"x": 9005.156963709189, "y": -2852.272242549782}, {"x": 9004.788500852841, "y": -2852.6035374648645}, {"x": 9004.419748855966, "y": -2852.934510508861}, {"x": 9004.050707326653, "y": -2853.265160677786}, {"x": 9003.681375899474, "y": -2853.5954869952357}, {"x": 9003.311754236807, "y": -2853.9254885084492}, {"x": 9002.941842024864, "y": -2854.2551642930353}, {"x": 9002.571638977653, "y": -2854.584513445091}, {"x": 9002.201144829052, "y": -2854.9135350867205}, {"x": 9001.830359340735, "y": -2855.242228362881}, {"x": 9001.459282291595, "y": -2855.5705924390204}, {"x": 9001.087913485675, "y": -2855.8986265026506}, {"x": 9000.716252748209, "y": -2856.226329761774}, {"x": 9000.344299920313, "y": -2856.5537014440943}, {"x": 8999.972054865613, "y": -2856.880740796228}, {"x": 8999.599517466275, "y": -2857.207447082918}, {"x": 8999.226687619022, "y": -2857.5338195870313}, {"x": 8998.853565240444, "y": -2857.859857607197}, {"x": 8998.480150260368, "y": -2858.1855604578045}, {"x": 8998.106442627159, "y": -2858.510927469794}, {"x": 8997.732442299768, "y": -2858.8359579875005}, {"x": 8997.358149254367, "y": -2859.1606513670813}, {"x": 8996.98356347639, "y": -2859.485006981243}, {"x": 8996.608684964513, "y": -2859.80902421136}, {"x": 8996.233513731977, "y": -2860.1327024514158}, {"x": 8995.858049797316, "y": -2860.456041104851}, {"x": 8995.48229319231, "y": -2860.779039586139}, {"x": 8995.106243956678, "y": -2861.1016973176334}, {"x": 8994.729902139406, "y": -2861.4240137295687}, {"x": 8994.353267796105, "y": -2861.745988258484}, {"x": 8993.97634098768, "y": -2862.067620348798}, {"x": 8993.599121782976, "y": -2862.388909450447}, {"x": 8993.221610257468, "y": -2862.7098550157307}, {"x": 8992.843806489265, "y": -2863.0304565040424}, {"x": 8992.465710557815, "y": -2863.3507133747735}, {"x": 8992.087322553147, "y": -2863.670625092045}, {"x": 8991.708642558673, "y": -2863.9901911191905}], "type": "lane"}, {"geometry": [{"x": 8994.978878218177, "y": -2867.8387419073983}, {"x": 8995.36041768673, "y": -2867.516673771428}, {"x": 8995.741464009561, "y": -2867.1940223916777}, {"x": 8996.121753272555, "y": -2866.870479157706}, {"x": 8996.500989354987, "y": -2866.545702250326}, {"x": 8996.878844694804, "y": -2866.2193202036233}, {"x": 8997.254960799695, "y": -2865.8909357167927}, {"x": 8997.628948534402, "y": -2865.560129722878}, {"x": 8998.000388200153, "y": -2865.2264657120572}, {"x": 8998.368829448615, "y": -2864.889494300011}, {"x": 8998.733791095192, "y": -2864.5487580532}, {"x": 8999.094760855565, "y": -2864.2037965411023}, {"x": 8999.451195095435, "y": -2863.8541516154096}, {"x": 8999.802518646497, "y": -2863.4993728980635}, {"x": 9000.14812476407, "y": -2863.1390234473847}, {"x": 9000.487375305835, "y": -2862.772685584188}, {"x": 9000.819601196567, "y": -2862.3999668313672}, {"x": 9001.144103271528, "y": -2862.020505929143}, {"x": 9001.460153558115, "y": -2861.633978875521}, {"x": 9001.766997084458, "y": -2861.24010492026}, {"x": 9002.063854256021, "y": -2860.8386524524485}, {"x": 9002.349923875685, "y": -2860.429444688706}, {"x": 9002.624386846996, "y": -2860.0123650784685}, {"x": 9002.886410588437, "y": -2859.5873623223392}, {"x": 9003.135154173237, "y": -2859.1544548955408}, {"x": 9003.36977420534, "y": -2858.7137349606182}, {"x": 9003.589431398426, "y": -2858.265371554348}, {"x": 9003.793297810322, "y": -2857.809612923535}, {"x": 9003.980564690404, "y": -2857.346787898603}, {"x": 9004.150450823556, "y": -2856.877306188324}, {"x": 9004.30221128186, "y": -2856.4016574877382}, {"x": 9004.435146438504, "y": -2855.9204093267576}, {"x": 9004.548611099477, "y": -2855.4342035680365}, {"x": 9004.642023577035, "y": -2854.9437515186523}, {"x": 9004.714874523514, "y": -2854.449827629584}, {"x": 9004.766735346753, "y": -2853.9532617869318}, {"x": 9004.797265989993, "y": -2853.454930231921}, {"x": 9004.806221906774, "y": -2852.95574518612}, {"x": 9004.793460034882, "y": -2852.4566432835463}, {"x": 9004.758943615754, "y": -2851.958572949134}, {"x": 9004.702745713703, "y": -2851.4624808937924}, {"x": 9004.62505132375, "y": -2850.9692979277925}, {"x": 9004.526158011113, "y": -2850.479924310778}, {"x": 9004.40647502678, "y": -2849.9952148874218}, {"x": 9004.266520958698, "y": -2849.51596425303}, {"x": 9004.10691995437, "y": -2849.042892217033}, {"x": 9003.928396655188, "y": -2848.5766298125986}, {"x": 9003.73177002917, "y": -2848.1177061013955}, {"x": 9003.51794631928, "y": -2847.6665360122893}, {"x": 9003.2879113946, "y": -2847.223409405467}, {"x": 9003.042722836712, "y": -2846.7884815613706}, {"x": 9002.783502114777, "y": -2846.361765242593}, {"x": 9002.511427259775, "y": -2845.9431244500965}, {"x": 9002.227726458937, "y": -2845.532269995908}, {"x": 9001.933673007281, "y": -2845.128756959265}, {"x": 9001.63058207437, "y": -2844.7319841223716}, {"x": 9001.319809717923, "y": -2844.3411954629755}, {"x": 9001.002754601068, "y": -2843.9554838180493}, {"x": 9000.680862793202, "y": -2843.573796879331}, {"x": 9000.355636042428, "y": -2843.1949457406004}, {"x": 9000.028643820095, "y": -2842.8176163221447}], "type": "lane"}, {"geometry": [{"x": 8996.572069948272, "y": -2870.1345632709717}, {"x": 8996.952654589217, "y": -2869.815130717139}, {"x": 8997.332987167285, "y": -2869.4953980764953}, {"x": 8997.713061840928, "y": -2869.175358892486}, {"x": 8998.092873038704, "y": -2868.8550070584524}, {"x": 8998.472415449996, "y": -2868.534336810541}, {"x": 8998.851684025023, "y": -2868.2133427245517}, {"x": 8999.230673970857, "y": -2867.8920197033285}, {"x": 8999.609380740836, "y": -2867.570362974394}, {"x": 8999.987800034573, "y": -2867.2483680773425}, {"x": 9000.365927795287, "y": -2866.9260308622634}, {"x": 9000.74376019526, "y": -2866.6033474779183}, {"x": 9001.121293645096, "y": -2866.28031436544}, {"x": 9001.498524776505, "y": -2865.9569282528128}, {"x": 9001.875450444955, "y": -2865.633186145418}, {"x": 9002.252067723057, "y": -2865.3090853205176}, {"x": 9002.628373896585, "y": -2864.9846233185826}, {"x": 9003.004366453884, "y": -2864.6597979338408}, {"x": 9003.380043093823, "y": -2864.3346072134846}, {"x": 9003.755401705925, "y": -2864.0090494442775}, {"x": 9004.130440378314, "y": -2863.683123146247}, {"x": 9004.505157384481, "y": -2863.3568270679575}, {"x": 9004.87955118195, "y": -2863.0301601770543}, {"x": 9005.25362040831, "y": -2862.7031216547452}, {"x": 9005.627363873275, "y": -2862.375710886345}, {"x": 9006.000780557355, "y": -2862.047927454184}, {"x": 9006.373869601266, "y": -2861.7197711352405}, {"x": 9006.7466303099, "y": -2861.391241886173}, {"x": 9007.119062139092, "y": -2861.062339842526}, {"x": 9007.491164694282, "y": -2860.7330653092786}, {"x": 9007.862937725233, "y": -2860.4034187529605}, {"x": 9008.234381118082, "y": -2860.0734007961373}, {"x": 9008.605494895332, "y": -2859.7430122103174}, {"x": 9008.97627920925, "y": -2859.4122539057075}, {"x": 9009.346734331255, "y": -2859.0811269312117}, {"x": 9009.716860651932, "y": -2858.7496324594604}, {"x": 9010.086658678378, "y": -2858.4177717852317}, {"x": 9010.456129020962, "y": -2858.0855463167845}, {"x": 9010.825272392005, "y": -2857.7529575703416}, {"x": 9011.194089604447, "y": -2857.420007159845}, {"x": 9011.56258155862, "y": -2857.0866967953802}, {"x": 9011.930749242238, "y": -2856.7530282705657}, {"x": 9012.298593723775, "y": -2856.41900346019}, {"x": 9012.666116144532, "y": -2856.0846243131205}, {"x": 9013.033317718631, "y": -2855.7498928436316}, {"x": 9013.400199718444, "y": -2855.4148111251034}, {"x": 9013.76676347858, "y": -2855.0793812852908}, {"x": 9014.1330103866, "y": -2854.743605498445}, {"x": 9014.498941871116, "y": -2854.40748597822}, {"x": 9014.864559408403, "y": -2854.071024972943}, {"x": 9015.22986450651, "y": -2853.734224757738}, {"x": 9015.59485870129, "y": -2853.397087626639}, {"x": 9015.959543553758, "y": -2853.0596158902313}, {"x": 9016.323920644782, "y": -2852.7218118661926}, {"x": 9016.677288376039, "y": -2852.393625675927}, {"x": 9017.030364342572, "y": -2852.0651256046913}, {"x": 9017.383145274074, "y": -2851.736308700421}, {"x": 9017.735628033954, "y": -2851.407172174181}, {"x": 9018.087809690853, "y": -2851.077713472665}, {"x": 9018.439687594093, "y": -2850.747930356213}, {"x": 9018.791259442543, "y": -2850.417820973678}, {"x": 9019.142523361399, "y": -2850.0873839357137}, {"x": 9019.493477972366, "y": -2849.7566183920067}, {"x": 9019.844122467797, "y": -2849.4255241029873}, {"x": 9020.194456688807, "y": -2849.0941015146964}, {"x": 9020.544481194132, "y": -2848.7623518336495}], "type": "lane"}, {"geometry": [{"x": 8968.224518011226, "y": -2892.3028347105264}, {"x": 8968.625718363173, "y": -2892.014509568891}, {"x": 8969.026596132679, "y": -2891.7257360689873}, {"x": 8969.4271483619, "y": -2891.436511167337}, {"x": 8969.827372078427, "y": -2891.1468318275543}, {"x": 8970.227264303234, "y": -2890.856695024286}, {"x": 8970.626822040076, "y": -2890.5660977416364}, {"x": 8971.026042288746, "y": -2890.2750369715886}, {"x": 8971.42492203049, "y": -2889.9835097147966}, {"x": 8971.823458241266, "y": -2889.6915129829454}, {"x": 8972.221647881139, "y": -2889.3990437956013}, {"x": 8972.619487899587, "y": -2889.1060991833633}, {"x": 8973.01697523549, "y": -2888.812676185499}, {"x": 8973.41410681714, "y": -2888.5187718499456}, {"x": 8973.810879558263, "y": -2888.224383236459}, {"x": 8974.20729036067, "y": -2887.9295074142537}, {"x": 8974.603336118225, "y": -2887.634141460424}, {"x": 8974.999013710232, "y": -2887.3382824646733}, {"x": 8975.394320001431, "y": -2887.0419275261615}, {"x": 8975.789251849938, "y": -2886.7450737535055}, {"x": 8976.183806096657, "y": -2886.4477182663545}, {"x": 8976.577979574553, "y": -2886.1498581938154}, {"x": 8976.970222473863, "y": -2885.8526663058424}, {"x": 8977.362087661495, "y": -2885.554976537275}, {"x": 8977.753578381278, "y": -2885.2567944549514}, {"x": 8978.144697896905, "y": -2884.958125614678}, {"x": 8978.535449490602, "y": -2884.6589755572877}, {"x": 8978.925836464456, "y": -2884.35934980864}, {"x": 8979.315862140416, "y": -2884.059253883562}, {"x": 8979.705529857643, "y": -2883.7586932826957}, {"x": 8980.094842975153, "y": -2883.45767349171}, {"x": 8980.483804870506, "y": -2883.156199984452}, {"x": 8980.87241893847, "y": -2882.85427822295}, {"x": 8981.260688592349, "y": -2882.5519136534695}, {"x": 8981.648617262657, "y": -2882.249111712031}, {"x": 8982.036208398453, "y": -2881.945877819684}, {"x": 8982.423465464673, "y": -2881.6422173872306}, {"x": 8982.810391944795, "y": -2881.3381358105016}, {"x": 8983.196991338187, "y": -2881.0336384750826}, {"x": 8983.583267158776, "y": -2880.7287307523734}, {"x": 8983.969222943, "y": -2880.4234180027424}, {"x": 8984.354862236567, "y": -2880.1177055755243}, {"x": 8984.740188603717, "y": -2879.811598805081}, {"x": 8985.125205625904, "y": -2879.505103017105}, {"x": 8985.509916899147, "y": -2879.198223523893}, {"x": 8985.89432603403, "y": -2878.890965627496}, {"x": 8986.278436655697, "y": -2878.583334616569}, {"x": 8986.662252406508, "y": -2878.2753357703095}, {"x": 8987.045776940739, "y": -2877.966974356094}, {"x": 8987.429013928551, "y": -2877.658255630267}, {"x": 8987.811967053349, "y": -2877.3491848381395}, {"x": 8988.194640014422, "y": -2877.0397672147783}, {"x": 8988.57703652298, "y": -2876.730007983429}, {"x": 8988.95916030347, "y": -2876.419912358668}, {"x": 8989.341015096225, "y": -2876.1094855424644}, {"x": 8989.722604652176, "y": -2875.798732728117}, {"x": 8990.103932734166, "y": -2875.4876590994686}, {"x": 8990.485003122252, "y": -2875.176269828541}, {"x": 8990.865819605757, "y": -2874.8645700778998}, {"x": 8991.246385984596, "y": -2874.5525650014415}, {"x": 8991.6267060759, "y": -2874.240259742818}, {"x": 8992.006783703417, "y": -2873.927659437012}, {"x": 8992.388555410407, "y": -2873.6131745214475}, {"x": 8992.770085829334, "y": -2873.2983969086886}, {"x": 8993.151374737761, "y": -2872.983326783929}, {"x": 8993.532421910608, "y": -2872.6679643331495}, {"x": 8993.913227124118, "y": -2872.3523097415446}, {"x": 8994.293790153206, "y": -2872.0363631943073}, {"x": 8994.674110775439, "y": -2871.7201248782076}, {"x": 8995.054188765735, "y": -2871.4035949784384}, {"x": 8995.434023901658, "y": -2871.08677368177}, {"x": 8995.813615959454, "y": -2870.7696611733954}, {"x": 8996.192964716685, "y": -2870.4522576408726}, {"x": 8996.572069948272, "y": -2870.1345632709717}], "type": "lane"}, {"geometry": [{"x": 9145.307232454968, "y": -2724.0227244149473}, {"x": 9145.653100998468, "y": -2723.6831048339077}, {"x": 9145.999498299656, "y": -2723.3440248303773}, {"x": 9146.347508366083, "y": -2723.006601352252}, {"x": 9146.698578236323, "y": -2722.6723652076867}, {"x": 9147.054431459725, "y": -2722.343231394729}, {"x": 9147.416966726027, "y": -2722.02148065683}, {"x": 9147.788141860672, "y": -2721.7097486407474}, {"x": 9148.16984464486, "y": -2721.411016683366}, {"x": 9148.563753321552, "y": -2721.1285964650647}, {"x": 9148.971191367164, "y": -2720.8660997908587}, {"x": 9149.39298326688, "y": -2720.6273847644907}, {"x": 9149.82932046101, "y": -2720.416470935121}, {"x": 9150.279649050193, "y": -2720.2374186662005}, {"x": 9150.742592772269, "y": -2720.094172147306}, {"x": 9151.215925407223, "y": -2719.990370771772}, {"x": 9151.696605715224, "y": -2719.9291396418294}, {"x": 9152.18088452409, "y": -2719.9128757496655}, {"x": 9152.66448771711, "y": -2719.943050902353}, {"x": 9153.142870987629, "y": -2720.020054371968}, {"x": 9153.611533273901, "y": -2720.1430965720965}, {"x": 9154.06636728613, "y": -2720.3101891712054}, {"x": 9154.504019243353, "y": -2720.5182070710066}, {"x": 9154.922227153382, "y": -2720.7630246206304}, {"x": 9155.320108650498, "y": -2721.0397039300815}, {"x": 9155.698374922795, "y": -2721.34269931365}, {"x": 9156.059454814538, "y": -2721.666030651547}, {"x": 9156.407519517672, "y": -2722.0033713733815}, {"x": 9156.748398800211, "y": -2722.3479948213862}], "type": "lane"}, {"geometry": [{"x": 9156.748398800211, "y": -2722.3479948213862}, {"x": 9157.09762231496, "y": -2722.703669295415}, {"x": 9157.44684583103, "y": -2723.0593437694433}, {"x": 9157.796069345777, "y": -2723.415018243472}, {"x": 9158.145292860525, "y": -2723.7706927175004}, {"x": 9158.49451637527, "y": -2724.126367192317}, {"x": 9158.843739891343, "y": -2724.4820416663456}, {"x": 9159.19296340609, "y": -2724.837716140374}, {"x": 9159.542186920837, "y": -2725.1933906144027}, {"x": 9159.891410435584, "y": -2725.5490650884312}, {"x": 9160.240633951656, "y": -2725.90473956246}, {"x": 9160.589857466402, "y": -2726.2604140364883}, {"x": 9160.93908098115, "y": -2726.616088510517}, {"x": 9161.288304495898, "y": -2726.9717629845454}, {"x": 9161.637528011968, "y": -2727.327437458574}, {"x": 9161.986751526716, "y": -2727.6831119333906}, {"x": 9162.335975041464, "y": -2728.038786407419}, {"x": 9162.685198556212, "y": -2728.3944608814477}, {"x": 9163.034422072282, "y": -2728.7501353554762}, {"x": 9163.38364558703, "y": -2729.105809829505}, {"x": 9163.732869101777, "y": -2729.4614843035333}, {"x": 9164.082092616523, "y": -2729.817158777562}, {"x": 9164.431316132595, "y": -2730.1728332515904}, {"x": 9164.780539647343, "y": -2730.528507725619}, {"x": 9165.12976316209, "y": -2730.8841821996475}, {"x": 9165.478986676837, "y": -2731.239856674464}, {"x": 9165.828210192909, "y": -2731.5955311484927}, {"x": 9166.177433707655, "y": -2731.9512056225212}, {"x": 9166.526657222403, "y": -2732.30688009655}, {"x": 9166.87588073715, "y": -2732.6625545705783}, {"x": 9167.22510425322, "y": -2733.018229044607}, {"x": 9167.574327767968, "y": -2733.3739035186354}, {"x": 9167.923551282716, "y": -2733.729577992664}, {"x": 9168.272774797464, "y": -2734.0852524666925}, {"x": 9168.621998313534, "y": -2734.440926941509}, {"x": 9168.971221828282, "y": -2734.7966014155377}, {"x": 9169.32044534303, "y": -2735.152275889566}, {"x": 9169.669668857776, "y": -2735.507950363595}, {"x": 9170.018892373848, "y": -2735.8636248376233}, {"x": 9170.368115888596, "y": -2736.219299311652}, {"x": 9170.717339403342, "y": -2736.5749737856804}, {"x": 9171.06656291809, "y": -2736.930648259709}, {"x": 9171.415786434161, "y": -2737.2863227337375}, {"x": 9171.765009948907, "y": -2737.641997207766}, {"x": 9172.114233463655, "y": -2737.9976716825827}, {"x": 9172.463456978403, "y": -2738.353346156611}, {"x": 9172.812680494473, "y": -2738.7090206306398}, {"x": 9173.161904009221, "y": -2739.0646951046683}, {"x": 9173.511127523969, "y": -2739.420369578697}, {"x": 9173.860351038715, "y": -2739.7760440527254}, {"x": 9174.209574554787, "y": -2740.131718526754}, {"x": 9174.558798069535, "y": -2740.4873930007825}, {"x": 9174.908021584282, "y": -2740.843067474811}, {"x": 9175.257245099028, "y": -2741.1987419488396}, {"x": 9175.6064686151, "y": -2741.554416423656}, {"x": 9175.955692129848, "y": -2741.9100908976848}, {"x": 9176.304915644594, "y": -2742.2657653717133}, {"x": 9176.654139159342, "y": -2742.621439845742}, {"x": 9177.003362675414, "y": -2742.9771143197704}, {"x": 9177.35258619016, "y": -2743.332788793799}, {"x": 9177.701809704908, "y": -2743.6884632678275}, {"x": 9178.051033219655, "y": -2744.044137741856}, {"x": 9178.400256735726, "y": -2744.3998122158846}, {"x": 9178.749480250473, "y": -2744.755486690701}, {"x": 9179.098703765221, "y": -2745.1111611647298}, {"x": 9179.447927279967, "y": -2745.4668356387583}], "type": "lane"}, {"geometry": [{"x": 9186.632550525896, "y": -2740.36756002409}, {"x": 9186.282684465164, "y": -2740.0148176333473}, {"x": 9185.932818404432, "y": -2739.662075242605}, {"x": 9185.582952345025, "y": -2739.3093328518626}, {"x": 9185.233086284294, "y": -2738.95659046112}, {"x": 9184.88322022356, "y": -2738.603848070378}, {"x": 9184.53335416283, "y": -2738.251105679635}, {"x": 9184.183488102099, "y": -2737.898363289681}, {"x": 9183.833622041368, "y": -2737.5456208989385}, {"x": 9183.483755980635, "y": -2737.1928785081964}, {"x": 9183.133889919904, "y": -2736.8401361174538}, {"x": 9182.784023859173, "y": -2736.4873937267116}, {"x": 9182.43415779844, "y": -2736.134651335969}, {"x": 9182.084291737709, "y": -2735.781908945227}, {"x": 9181.734425676977, "y": -2735.4291665552723}, {"x": 9181.384559616246, "y": -2735.0764241645297}, {"x": 9181.034693555514, "y": -2734.7236817737876}, {"x": 9180.684827494782, "y": -2734.370939383045}, {"x": 9180.334961435376, "y": -2734.018196992303}, {"x": 9179.985095374643, "y": -2733.66545460156}, {"x": 9179.635229313912, "y": -2733.312712210818}, {"x": 9179.28536325318, "y": -2732.9599698208635}, {"x": 9178.93549719245, "y": -2732.607227430121}, {"x": 9178.585631131717, "y": -2732.254485039379}, {"x": 9178.235765070986, "y": -2731.901742648636}, {"x": 9177.885899010254, "y": -2731.549000257894}, {"x": 9177.536032949522, "y": -2731.1962578671514}, {"x": 9177.18616688879, "y": -2730.8435154764093}, {"x": 9176.83630082806, "y": -2730.4907730856667}, {"x": 9176.486434767328, "y": -2730.1380306957126}, {"x": 9176.136568706595, "y": -2729.78528830497}, {"x": 9175.786702645864, "y": -2729.4325459142274}, {"x": 9175.436836586458, "y": -2729.079803523485}, {"x": 9175.086970525725, "y": -2728.7270611327426}, {"x": 9174.737104464994, "y": -2728.3743187420005}, {"x": 9174.387238404262, "y": -2728.021576351258}, {"x": 9174.03737234353, "y": -2727.668833961304}, {"x": 9173.687506282798, "y": -2727.316091570561}, {"x": 9173.337640222067, "y": -2726.963349179819}, {"x": 9172.987774161336, "y": -2726.6106067890764}, {"x": 9172.637908100603, "y": -2726.2578643983343}, {"x": 9172.288042039872, "y": -2725.9051220075917}, {"x": 9171.938175979141, "y": -2725.552379616849}, {"x": 9171.58830991841, "y": -2725.199637226895}, {"x": 9171.238443857677, "y": -2724.8468948361524}, {"x": 9170.888577796946, "y": -2724.4941524454102}, {"x": 9170.538711736215, "y": -2724.1414100546676}, {"x": 9170.188845676807, "y": -2723.7886676639255}, {"x": 9169.838979616075, "y": -2723.435925273183}, {"x": 9169.489113555344, "y": -2723.0831828824407}, {"x": 9169.139247494611, "y": -2722.730440492486}, {"x": 9168.78938143388, "y": -2722.3776981017436}, {"x": 9168.43951537315, "y": -2722.0249557110014}, {"x": 9168.089649312418, "y": -2721.672213320259}, {"x": 9167.739783251685, "y": -2721.3194709295167}, {"x": 9167.389917190954, "y": -2720.966728538774}, {"x": 9167.040051130223, "y": -2720.613986148032}, {"x": 9166.69018506949, "y": -2720.2612437572893}, {"x": 9166.34031900876, "y": -2719.908501367335}, {"x": 9165.990452948028, "y": -2719.5557589765926}, {"x": 9165.640586887297, "y": -2719.20301658585}, {"x": 9165.290720827888, "y": -2718.850274195108}, {"x": 9164.940854767157, "y": -2718.4975318043653}, {"x": 9164.590988706426, "y": -2718.144789413623}, {"x": 9164.241122645693, "y": -2717.7920470228805}, {"x": 9163.891256584962, "y": -2717.4393046329265}, {"x": 9163.541390524231, "y": -2717.086562242184}, {"x": 9163.191524463498, "y": -2716.7338198514412}, {"x": 9162.841658402767, "y": -2716.381077460699}], "type": "lane"}, {"geometry": [{"x": 9132.730123283678, "y": -2645.1841943309523}, {"x": 9132.364616204795, "y": -2645.5244270428557}, {"x": 9131.99939344836, "y": -2645.864964935574}, {"x": 9131.634448377094, "y": -2646.20580039647}, {"x": 9131.26977434181, "y": -2646.546925829458}, {"x": 9130.905364673456, "y": -2646.8883336534227}, {"x": 9130.541212683116, "y": -2647.230016305377}, {"x": 9130.177311668644, "y": -2647.571966235728}, {"x": 9129.813654909347, "y": -2647.9141759106456}, {"x": 9129.45023566865, "y": -2648.256637812061}, {"x": 9129.087047198062, "y": -2648.599344435301}, {"x": 9128.724082727904, "y": -2648.942288288303}, {"x": 9128.361335480557, "y": -2649.2854618947645}, {"x": 9127.998798659863, "y": -2649.6288577894156}, {"x": 9127.636465456426, "y": -2649.9724685219603}, {"x": 9127.274329051581, "y": -2650.3162866515586}, {"x": 9126.91238260945, "y": -2650.6603047523445}, {"x": 9126.550619284888, "y": -2651.00451540712}, {"x": 9126.189032218184, "y": -2651.348911211295}, {"x": 9125.82761454301, "y": -2651.6934847705265}, {"x": 9125.46635937715, "y": -2652.0382287007146}, {"x": 9125.105259830438, "y": -2652.3831356272162}, {"x": 9124.744309003447, "y": -2652.728198186421}, {"x": 9124.383499986154, "y": -2653.0734090202363}, {"x": 9124.022825860593, "y": -2653.418760783177}, {"x": 9123.662279698206, "y": -2653.764246136062}, {"x": 9123.301854563815, "y": -2654.1098577460166}, {"x": 9122.941543514298, "y": -2654.4555882904097}, {"x": 9122.581339599912, "y": -2654.8014304505496}, {"x": 9122.221235864294, "y": -2655.147376917203}, {"x": 9121.861225341814, "y": -2655.493420385076}, {"x": 9121.501301064194, "y": -2655.8395535543914}, {"x": 9121.141456056537, "y": -2656.185769133252}, {"x": 9120.781683339968, "y": -2656.5320598305493}, {"x": 9120.421975930323, "y": -2656.8784183630555}, {"x": 9120.062326836816, "y": -2657.224837449906}, {"x": 9119.702729069983, "y": -2657.571309813389}, {"x": 9119.343175632417, "y": -2657.917828179733}, {"x": 9118.983659528036, "y": -2658.26438527832}, {"x": 9118.62417375546, "y": -2658.610973839317}, {"x": 9118.264711311986, "y": -2658.9575865952584}, {"x": 9117.905265193589, "y": -2659.3042162818283}, {"x": 9117.54582839624, "y": -2659.650855632349}, {"x": 9117.186393913267, "y": -2659.9974973832927}, {"x": 9116.82695474064, "y": -2660.344134271133}, {"x": 9116.467503871685, "y": -2660.6907590307674}, {"x": 9116.108034302375, "y": -2661.0373643978805}], "type": "lane"}, {"geometry": [{"x": 9117.868930425808, "y": -2663.3220948360745}, {"x": 9118.22245670493, "y": -2662.972077693449}, {"x": 9118.576042234943, "y": -2662.6221204037975}, {"x": 9118.929694094017, "y": -2662.2722301447475}, {"x": 9119.283419357676, "y": -2661.922414094716}, {"x": 9119.63722510012, "y": -2661.5726794399993}, {"x": 9119.991118386279, "y": -2661.2230333700472}, {"x": 9120.345106277115, "y": -2660.8734830790377}, {"x": 9120.699195828287, "y": -2660.524035769028}, {"x": 9121.053394090168, "y": -2660.174698646806}, {"x": 9121.407708103854, "y": -2659.8254789262505}, {"x": 9121.762144907796, "y": -2659.476383827544}, {"x": 9122.116711527206, "y": -2659.127420581116}, {"x": 9122.471414983322, "y": -2658.7785964221225}, {"x": 9122.826262288118, "y": -2658.4299185951772}, {"x": 9123.181260444293, "y": -2658.081394355138}, {"x": 9123.536416446606, "y": -2657.733030963955}, {"x": 9123.891737277903, "y": -2657.384835694613}, {"x": 9124.247229911756, "y": -2657.0368158295505}, {"x": 9124.602901312473, "y": -2656.6889786622414}, {"x": 9124.95875843112, "y": -2656.341331495615}, {"x": 9125.314808209494, "y": -2655.993881645998}, {"x": 9125.671057573505, "y": -2655.6466364399616}, {"x": 9126.027513442446, "y": -2655.299603216686}, {"x": 9126.384182717069, "y": -2654.952789327961}, {"x": 9126.741072287536, "y": -2654.606202138184}, {"x": 9127.098189030767, "y": -2654.259849025938}, {"x": 9127.455539809122, "y": -2653.9137373824155}, {"x": 9127.813131467745, "y": -2653.567874613782}, {"x": 9128.170970839865, "y": -2653.2222681403864}, {"x": 9128.529064740176, "y": -2652.876925398341}, {"x": 9128.887419971456, "y": -2652.5318538387305}, {"x": 9129.246043313971, "y": -2652.1870609276116}, {"x": 9129.6049415374, "y": -2651.8425541475913}, {"x": 9129.964121387588, "y": -2651.498340999402}, {"x": 9130.323589597136, "y": -2651.154428999537}, {"x": 9130.683352878788, "y": -2650.810825681038}, {"x": 9131.043417925433, "y": -2650.467538595861}, {"x": 9131.403791411414, "y": -2650.1245753132994}, {"x": 9131.764479989897, "y": -2649.7819434231355}, {"x": 9132.125490296832, "y": -2649.4396505317013}, {"x": 9132.48682894434, "y": -2649.0977042658183}, {"x": 9132.848502523353, "y": -2648.756112272008}, {"x": 9133.210517603624, "y": -2648.414882216496}, {"x": 9133.572880735042, "y": -2648.0740217859952}, {"x": 9133.935598438371, "y": -2647.733538688497}, {"x": 9134.298677218485, "y": -2647.3934406524822}], "type": "lane"}, {"geometry": [{"x": 9162.841658402767, "y": -2716.381077460699}, {"x": 9162.49355651474, "y": -2716.0308448749524}, {"x": 9162.143327975095, "y": -2715.6827410068922}, {"x": 9161.789027543131, "y": -2715.3387861682168}, {"x": 9161.42893002905, "y": -2715.0009103946877}, {"x": 9161.061548609017, "y": -2714.6709754479098}, {"x": 9160.685647449634, "y": -2714.35078796092}, {"x": 9160.300249320999, "y": -2714.0421047512723}, {"x": 9159.904638585009, "y": -2713.7466314167164}, {"x": 9159.498359814415, "y": -2713.4660154570347}, {"x": 9159.081212176361, "y": -2713.2018351372094}, {"x": 9158.653239747226, "y": -2712.9555853685856}, {"x": 9158.21471792561, "y": -2712.72866178853}, {"x": 9157.766136216203, "y": -2712.5223441954613}, {"x": 9157.308177719497, "y": -2712.3377803645117}, {"x": 9156.841695790767, "y": -2712.1759711753048}, {"x": 9156.367688393952, "y": -2712.0377578060184}, {"x": 9155.88727077668, "y": -2711.9238116170914}, {"x": 9155.401647103294, "y": -2711.8346271509054}, {"x": 9154.912081774093, "y": -2711.770518528789}, {"x": 9154.419871082193, "y": -2711.731619324138}, {"x": 9153.926315875313, "y": -2711.7178858722577}, {"x": 9153.43269582359, "y": -2711.7291038049366}, {"x": 9152.940245796544, "y": -2711.764897513443}, {"x": 9152.45013479804, "y": -2711.824742108084}, {"x": 9151.963447755816, "y": -2711.9079774377533}, {"x": 9151.481170401255, "y": -2712.0138236312114}, {"x": 9151.004177336068, "y": -2712.141397658118}, {"x": 9150.533223296448, "y": -2712.289730395995}, {"x": 9150.068937528677, "y": -2712.457783727134}, {"x": 9149.611821129167, "y": -2712.6444672328093}, {"x": 9149.162247114651, "y": -2712.848654118346}, {"x": 9148.720462957657, "y": -2713.069196070368}, {"x": 9148.28659529867, "y": -2713.304936810602}, {"x": 9147.860656506615, "y": -2713.554724191772}, {"x": 9147.442552772549, "y": -2713.8174207457514}, {"x": 9147.032093437329, "y": -2714.091912668993}, {"x": 9146.62900124211, "y": -2714.3771172665242}, {"x": 9146.232923240874, "y": -2714.671988949851}, {"x": 9145.843442128667, "y": -2714.9755239077763}, {"x": 9145.460087771105, "y": -2715.2867636116794}, {"x": 9145.082348740503, "y": -2715.6047973302075}, {"x": 9144.709683726205, "y": -2715.9287638519713}, {"x": 9144.341532658947, "y": -2716.257852611677}, {"x": 9143.977327471106, "y": -2716.5913044277495}, {"x": 9143.616502394863, "y": -2716.9284120232383}, {"x": 9143.25850374005, "y": -2717.268520541207}, {"x": 9142.902799099995, "y": -2717.611028176756}, {"x": 9142.54888595497, "y": -2717.955387097473}, {"x": 9142.196299658624, "y": -2718.3011047389987}, {"x": 9141.844620776992, "y": -2718.647745580524}, {"x": 9141.49348182242, "y": -2718.9949334348817}, {"x": 9141.142573369181, "y": -2719.3423542918604}], "type": "lane"}, {"geometry": [{"x": 9162.841658402767, "y": -2716.381077460699}, {"x": 9162.501317504813, "y": -2716.0355258116815}, {"x": 9162.16799498472, "y": -2715.6832201860925}, {"x": 9161.848179956889, "y": -2715.318641332037}, {"x": 9161.547975489379, "y": -2714.937788771348}, {"x": 9161.273156005154, "y": -2714.5382676671757}, {"x": 9161.02909721931, "y": -2714.119278612333}, {"x": 9160.82062603708, "y": -2713.681518373446}, {"x": 9160.651837025824, "y": -2713.2269993572086}, {"x": 9160.52591693039, "y": -2712.7588004084446}, {"x": 9160.44501002368, "y": -2712.28076796213}, {"x": 9160.41014591486, "y": -2711.7971917545424}, {"x": 9160.421239345458, "y": -2711.312481513182}, {"x": 9160.477160106506, "y": -2710.8308697069706}, {"x": 9160.575862003987, "y": -2710.3561609226617}, {"x": 9160.714553663085, "y": -2709.891541683692}, {"x": 9160.88989138917, "y": -2709.439457035638}, {"x": 9161.09817482111, "y": -2709.001553070022}, {"x": 9161.335529160433, "y": -2708.5786789054905}, {"x": 9161.598062306472, "y": -2708.1709378319624}, {"x": 9161.881990281398, "y": -2707.777775551013}, {"x": 9162.183729246462, "y": -2707.398093406351}, {"x": 9162.499956415842, "y": -2707.030375663787}, {"x": 9162.827645180045, "y": -2706.6728218347675}, {"x": 9163.164081531611, "y": -2706.3234771590137}, {"x": 9163.506869574332, "y": -2705.9803563484697}, {"x": 9163.853933654907, "y": -2705.641557372577}, {"x": 9164.203523652383, "y": -2705.3053633415075}, {"x": 9164.554228324188, "y": -2704.9703315275137}, {"x": 9164.904999674593, "y": -2704.6353694818335}, {"x": 9165.255189044648, "y": -2704.2997991660286}, {"x": 9165.604593227541, "y": -2703.9634113563284}, {"x": 9165.953506576438, "y": -2703.626514330613}], "type": "lane"}, {"geometry": [{"x": 9162.878926046025, "y": -2697.9923247037204}, {"x": 9162.52264661501, "y": -2698.335434772251}, {"x": 9162.166245029264, "y": -2698.6784179367173}, {"x": 9161.80950524832, "y": -2699.0210492996707}, {"x": 9161.452298019418, "y": -2699.3631932813205}, {"x": 9161.09457650693, "y": -2699.7047995287276}, {"x": 9160.736371720559, "y": -2700.0458990046745}, {"x": 9160.37778794881, "y": -2700.3866000733833}, {"x": 9160.018998368563, "y": -2700.727084422317}, {"x": 9159.660240968442, "y": -2701.0676026726996}, {"x": 9159.301814897191, "y": -2701.4084696030995}, {"x": 9158.94407731119, "y": -2701.750058882839}, {"x": 9158.587440756892, "y": -2702.0927972900176}, {"x": 9158.232371127866, "y": -2702.4371583510983}, {"x": 9157.879386151453, "y": -2702.7836554020614}, {"x": 9157.529054377219, "y": -2703.1328340514206}, {"x": 9157.1819945785, "y": -2703.485264053774}, {"x": 9156.838875482305, "y": -2703.841530604919}, {"x": 9156.50041568061, "y": -2704.202225087696}, {"x": 9156.16738358931, "y": -2704.5679352992806}, {"x": 9155.840597280072, "y": -2704.9392352135314}, {"x": 9155.520924005006, "y": -2705.3166743485153}, {"x": 9155.2092792275, "y": -2705.7007668101455}, {"x": 9154.906624956604, "y": -2706.091980136435}, {"x": 9154.613967206256, "y": -2706.490724056645}, {"x": 9154.332352380721, "y": -2706.8973393402707}, {"x": 9154.062862439298, "y": -2707.312086901357}, {"x": 9153.806608690677, "y": -2707.735137391408}, {"x": 9153.564724113661, "y": -2708.1665615173147}, {"x": 9153.338354142043, "y": -2708.606321342773}, {"x": 9153.128645906994, "y": -2709.0542628773906}, {"x": 9152.936735970101, "y": -2709.510110245851}, {"x": 9152.763736674106, "y": -2709.97346173265}, {"x": 9152.610721261006, "y": -2710.4437880239398}, {"x": 9152.478708036875, "y": -2710.920432897869}, {"x": 9152.368643849493, "y": -2711.4026166289887}, {"x": 9152.28138731047, "y": -2711.889442286412}, {"x": 9152.217692125916, "y": -2712.3799050722923}, {"x": 9152.17819105604, "y": -2712.872904743191}, {"x": 9152.163380965716, "y": -2713.367261086738}, {"x": 9152.173609475785, "y": -2713.8617323314443}, {"x": 9152.209063691746, "y": -2714.355036241429}, {"x": 9152.269761444073, "y": -2714.8458735800446}, {"x": 9152.355545416236, "y": -2715.332953510551}, {"x": 9152.46608043443, "y": -2715.815020408194}, {"x": 9152.600854076634, "y": -2716.290881519456}, {"x": 9152.759180634055, "y": -2716.759434823039}, {"x": 9152.940208309774, "y": -2717.219696441663}, {"x": 9153.142929352754, "y": -2717.670826946637}, {"x": 9153.36619270612, "y": -2718.112155936589}, {"x": 9153.608718548801, "y": -2718.5432043024557}, {"x": 9153.869113999632, "y": -2718.963703688566}, {"x": 9154.145889077012, "y": -2719.3736127313528}, {"x": 9154.437471942258, "y": -2719.773129745506}, {"x": 9154.742222318475, "y": -2720.1627016306006}, {"x": 9155.058441968786, "y": -2720.5430288114253}, {"x": 9155.38438104366, "y": -2720.915066082784}, {"x": 9155.718239130838, "y": -2721.2800191995702}, {"x": 9156.058159882508, "y": -2721.639336974911}, {"x": 9156.402218164423, "y": -2721.9946984986655}, {"x": 9156.748398800211, "y": -2722.3479948213862}], "type": "lane"}, {"geometry": [{"x": 9168.663358106505, "y": -2692.47520611423}, {"x": 9168.300138362738, "y": -2692.818245542067}, {"x": 9167.937164575504, "y": -2693.1615452062188}, {"x": 9167.574432433816, "y": -2693.5051001836896}, {"x": 9167.211937618747, "y": -2693.8489055593645}, {"x": 9166.849675802101, "y": -2694.1929564307366}, {"x": 9166.487642642438, "y": -2694.537247900817}, {"x": 9166.1258337917, "y": -2694.8817750844355}, {"x": 9165.764244893888, "y": -2695.2265331019407}, {"x": 9165.402871578433, "y": -2695.571517085501}, {"x": 9165.041709470801, "y": -2695.916722174376}, {"x": 9164.680754187182, "y": -2696.2621435141323}, {"x": 9164.320001331858, "y": -2696.6077762621553}, {"x": 9163.959446503808, "y": -2696.953615579772}, {"x": 9163.599085294072, "y": -2697.299656639341}, {"x": 9163.238913283094, "y": -2697.645894618738}, {"x": 9162.878926046025, "y": -2697.9923247037204}], "type": "lane"}, {"geometry": [{"x": 9165.953506576438, "y": -2703.626514330613}, {"x": 9166.310820004395, "y": -2703.2817995372784}, {"x": 9166.668451207304, "y": -2702.937414436501}, {"x": 9167.02640033875, "y": -2702.5933597982134}, {"x": 9167.38466755364, "y": -2702.2496363955}, {"x": 9167.74325301483, "y": -2701.9062450116903}, {"x": 9168.10215688385, "y": -2701.5631864316897}, {"x": 9168.461379327522, "y": -2701.2204614522243}, {"x": 9168.820920519294, "y": -2700.8780708739605}, {"x": 9169.180780636587, "y": -2700.536015509386}, {"x": 9169.540959863432, "y": -2700.1942961780796}, {"x": 9169.901458390492, "y": -2699.8529137106552}, {"x": 9170.262276416368, "y": -2699.511868948758}, {"x": 9170.62341414628, "y": -2699.17116274349}, {"x": 9170.984871793395, "y": -2698.8307959601384}, {"x": 9171.346649581472, "y": -2698.4907694758117}, {"x": 9171.708747742212, "y": -2698.1510841802265}, {"x": 9172.071166519234, "y": -2697.8117409780725}, {"x": 9172.433906166749, "y": -2697.472740789802}], "type": "lane"}, {"geometry": [{"x": 9167.82620562832, "y": -2707.219973855589}, {"x": 9168.184954213164, "y": -2706.872693876512}, {"x": 9168.543998521527, "y": -2706.525719645651}, {"x": 9168.903339923765, "y": -2706.1790531087204}, {"x": 9169.262979791552, "y": -2705.8326962169504}, {"x": 9169.622919491272, "y": -2705.486650925512}, {"x": 9169.983160384007, "y": -2705.1409191927282}, {"x": 9170.343703826871, "y": -2704.795502984803}, {"x": 9170.70455117433, "y": -2704.450404269516}, {"x": 9171.065703776876, "y": -2704.105625022528}, {"x": 9171.427162978383, "y": -2703.7611672218627}, {"x": 9171.788930124047, "y": -2703.4170328526375}, {"x": 9172.151006549795, "y": -2703.0732239054855}, {"x": 9172.513393594205, "y": -2702.7297423749815}, {"x": 9172.876092586588, "y": -2702.3865902627904}, {"x": 9173.23910485625, "y": -2702.043769576884}, {"x": 9173.602431728528, "y": -2701.701282328385}, {"x": 9173.966074524787, "y": -2701.3591305378723}, {"x": 9174.330034562421, "y": -2701.017316229867}, {"x": 9174.694313160144, "y": -2700.6758414359806}], "type": "lane"}, {"geometry": [{"x": 9166.421502749301, "y": -2689.290435629855}, {"x": 9166.05674473322, "y": -2689.630167047298}, {"x": 9165.69228904086, "y": -2689.970222765409}, {"x": 9165.32813442368, "y": -2690.310600873148}, {"x": 9164.964279631813, "y": -2690.6512994649916}, {"x": 9164.600723410093, "y": -2690.992316636205}, {"x": 9164.23746449806, "y": -2691.3336504875692}, {"x": 9163.87450163128, "y": -2691.6752991245935}, {"x": 9163.511833541354, "y": -2692.0172606551523}, {"x": 9163.149458954576, "y": -2692.359533191059}, {"x": 9162.78737659328, "y": -2692.7021148472804}, {"x": 9162.425585175817, "y": -2693.045003745087}, {"x": 9162.06408341525, "y": -2693.3881980065376}, {"x": 9161.702870020661, "y": -2693.731695759207}, {"x": 9161.341943695848, "y": -2694.0754951322474}, {"x": 9160.981303144601, "y": -2694.4195942619017}, {"x": 9160.620947060117, "y": -2694.7639912852023}, {"x": 9160.260874136922, "y": -2695.108684343909}], "type": "lane"}, {"geometry": [{"x": 9160.260874136922, "y": -2695.108684343909}, {"x": 9159.90218345777, "y": -2695.4526153170486}, {"x": 9159.543767385463, "y": -2695.7968324528097}, {"x": 9159.185620392243, "y": -2696.141329547602}, {"x": 9158.827736941095, "y": -2696.48610041675}, {"x": 9158.47011148705, "y": -2696.8311388952798}, {"x": 9158.112738477197, "y": -2697.1764388355537}, {"x": 9157.755612349365, "y": -2697.521994107272}, {"x": 9157.398727536076, "y": -2697.8677985982595}, {"x": 9157.042078457942, "y": -2698.2138462136795}, {"x": 9156.685659532926, "y": -2698.560130875244}, {"x": 9156.329465171048, "y": -2698.9066465212136}, {"x": 9155.973489771732, "y": -2699.2533871040346}, {"x": 9155.617727733083, "y": -2699.6003465942786}, {"x": 9155.262173442608, "y": -2699.947518976702}, {"x": 9154.906821285173, "y": -2700.294898250246}, {"x": 9154.551665635045, "y": -2700.642478429614}, {"x": 9154.196700866496, "y": -2700.990253542117}, {"x": 9153.841921343204, "y": -2701.3382176300397}, {"x": 9153.487321427525, "y": -2701.686364747488}, {"x": 9153.132895473867, "y": -2702.0346889643283}, {"x": 9152.778637833992, "y": -2702.383184359096}, {"x": 9152.424542853041, "y": -2702.7318450260873}, {"x": 9152.070604873512, "y": -2703.080665069056}, {"x": 9151.716818232599, "y": -2703.429638603576}, {"x": 9151.363177263527, "y": -2703.778759758618}, {"x": 9151.009676295555, "y": -2704.1280226702456}, {"x": 9150.65630965661, "y": -2704.47742148792}, {"x": 9150.303071666674, "y": -2704.826950368981}, {"x": 9149.949956648388, "y": -2705.1766034810157}, {"x": 9149.596958915114, "y": -2705.526375001066}, {"x": 9149.244072782863, "y": -2705.876259114843}, {"x": 9148.891292562357, "y": -2706.2262500159386}, {"x": 9148.538612561666, "y": -2706.576341908189}, {"x": 9148.186027087531, "y": -2706.926528999372}, {"x": 9147.833530445378, "y": -2707.276805508296}, {"x": 9147.481116936653, "y": -2707.6271656577114}, {"x": 9147.128780864134, "y": -2707.977603679825}, {"x": 9146.77651652662, "y": -2708.328113810783}, {"x": 9146.42431822291, "y": -2708.6786902930376}, {"x": 9146.072180250485, "y": -2709.0293273753437}, {"x": 9145.720096906824, "y": -2709.3800193111856}, {"x": 9145.368062486752, "y": -2709.730760358776}, {"x": 9145.016071286425, "y": -2710.08154477948}, {"x": 9144.664117600672, "y": -2710.4323668401776}, {"x": 9144.312195725648, "y": -2710.783220810903}, {"x": 9143.960299954857, "y": -2711.1341009648418}, {"x": 9143.6084245871, "y": -2711.4850015775432}, {"x": 9143.256563915884, "y": -2711.835916928497}, {"x": 9142.904712238686, "y": -2712.186841297195}, {"x": 9142.552863854307, "y": -2712.537768967065}, {"x": 9142.201013060225, "y": -2712.888694220751}, {"x": 9141.849154156565, "y": -2713.2396113432587}, {"x": 9141.49728144478, "y": -2713.5905146203827}, {"x": 9141.145389227637, "y": -2713.9413983371296}, {"x": 9140.793471810563, "y": -2714.292256779294}, {"x": 9140.441523498977, "y": -2714.643084231882}, {"x": 9140.089538602275, "y": -2714.9938749783237}, {"x": 9139.737511433821, "y": -2715.344623302838}, {"x": 9139.385436304334, "y": -2715.6953234857024}, {"x": 9139.033307531148, "y": -2716.045969806408}, {"x": 9138.681119434254, "y": -2716.396556542867}, {"x": 9138.328866334958, "y": -2716.7470779682667}], "type": "lane"}, {"geometry": [{"x": 9162.878926046025, "y": -2697.9923247037204}, {"x": 9162.519210784987, "y": -2698.3388553062346}, {"x": 9162.159672560325, "y": -2698.685569586058}, {"x": 9161.800308153368, "y": -2699.032464022937}, {"x": 9161.441114341469, "y": -2699.37953509977}, {"x": 9161.082087898008, "y": -2699.7267793073374}, {"x": 9160.723225592394, "y": -2700.0741931419348}, {"x": 9160.36452418874, "y": -2700.421773103799}, {"x": 9160.005980448514, "y": -2700.7695156994696}, {"x": 9159.647591129204, "y": -2701.117417441793}, {"x": 9159.28935298301, "y": -2701.465474845978}, {"x": 9158.931262758158, "y": -2701.813684433539}, {"x": 9158.573317200224, "y": -2702.162042731505}, {"x": 9158.21551305081, "y": -2702.51054627006}, {"x": 9157.857847047555, "y": -2702.85919158569}, {"x": 9157.500315924113, "y": -2703.2079752172463}, {"x": 9157.142916411502, "y": -2703.556893709096}, {"x": 9156.78564523676, "y": -2703.905943610336}, {"x": 9156.428499122954, "y": -2704.2551214716373}, {"x": 9156.071474791834, "y": -2704.6044238507648}, {"x": 9155.71456895852, "y": -2704.953847306271}, {"x": 9155.357778336815, "y": -2705.303388403013}, {"x": 9155.001099639194, "y": -2705.653043706636}, {"x": 9154.644529571517, "y": -2706.0028097890886}, {"x": 9154.288064839635, "y": -2706.352683222321}, {"x": 9153.931702142789, "y": -2706.7026605845876}, {"x": 9153.575438182861, "y": -2707.052738454142}, {"x": 9153.219269652469, "y": -2707.402913414754}, {"x": 9152.863193246876, "y": -2707.753182051771}, {"x": 9152.507205654729, "y": -2708.103540952115}, {"x": 9152.151303564668, "y": -2708.4539867074377}, {"x": 9151.795483662694, "y": -2708.8045159093895}, {"x": 9151.439742629504, "y": -2709.1551251527735}, {"x": 9151.084077145799, "y": -2709.5058110355453}, {"x": 9150.728483889634, "y": -2709.856570156448}, {"x": 9150.37295953641, "y": -2710.207399115802}, {"x": 9150.017500760207, "y": -2710.558294515503}, {"x": 9149.662104229812, "y": -2710.909252961386}, {"x": 9149.306766615331, "y": -2711.2602710577116}, {"x": 9148.9514845829, "y": -2711.6113454111037}, {"x": 9148.596254797332, "y": -2711.9624726297625}, {"x": 9148.241073922118, "y": -2712.313649322676}, {"x": 9147.885938616768, "y": -2712.6648720996213}, {"x": 9147.530845542125, "y": -2713.01613757195}, {"x": 9147.175791353737, "y": -2713.367442350226}, {"x": 9146.82077270714, "y": -2713.7187830465914}, {"x": 9146.465786256562, "y": -2714.070156273185}, {"x": 9146.110828654893, "y": -2714.4215586421483}, {"x": 9145.75589655371, "y": -2714.7729867664093}, {"x": 9145.400986599285, "y": -2715.1244372588967}, {"x": 9145.046095443191, "y": -2715.475906732539}, {"x": 9144.691219729059, "y": -2715.827391797901}, {"x": 9144.33635610316, "y": -2716.17888906791}, {"x": 9143.981501209124, "y": -2716.5303951539195}, {"x": 9143.626651691904, "y": -2716.8819066664937}, {"x": 9143.271804191156, "y": -2717.2334202154084}, {"x": 9142.916955347859, "y": -2717.584932409652}, {"x": 9142.562101802992, "y": -2717.936439856637}, {"x": 9142.20724019489, "y": -2718.2879391637753}, {"x": 9141.852367161882, "y": -2718.6394269369025}, {"x": 9141.497479340976, "y": -2718.990899778703}, {"x": 9141.142573369181, "y": -2719.3423542918604}], "type": "lane"}, {"geometry": [{"x": 9145.307232454968, "y": -2724.0227244149473}, {"x": 9145.658124320977, "y": -2723.6779899036237}, {"x": 9146.008854060312, "y": -2723.33309044712}, {"x": 9146.3594255616, "y": -2722.988030150428}, {"x": 9146.709842995482, "y": -2722.6428133951486}, {"x": 9147.06011081461, "y": -2722.297444835549}, {"x": 9147.410233744387, "y": -2721.951929392261}, {"x": 9147.76021677634, "y": -2721.6062722420347}, {"x": 9148.110065160177, "y": -2721.260478811435}, {"x": 9148.459784399824, "y": -2720.914554770536}, {"x": 9148.809380244138, "y": -2720.5685060250416}, {"x": 9149.158858681632, "y": -2720.222338706827}, {"x": 9149.508225929869, "y": -2719.8760591715773}, {"x": 9149.857488431491, "y": -2719.5296739885403}, {"x": 9150.206652848934, "y": -2719.1831899326467}, {"x": 9150.555726052498, "y": -2718.8366139805707}, {"x": 9150.904715113735, "y": -2718.4899533012717}, {"x": 9151.25362730412, "y": -2718.143215249692}, {"x": 9151.602470077849, "y": -2717.796407362025}, {"x": 9151.951251075794, "y": -2717.4495373454747}, {"x": 9152.299978106983, "y": -2717.102613072736}, {"x": 9152.648659149918, "y": -2716.755642578844}, {"x": 9152.997302338006, "y": -2716.4086340477766}, {"x": 9153.34591595957, "y": -2716.061595811667}, {"x": 9153.694508440623, "y": -2715.7145363421337}, {"x": 9154.043088348852, "y": -2715.3674642431897}, {"x": 9154.391664373752, "y": -2715.020388245725}, {"x": 9154.740245330599, "y": -2714.673317199626}, {"x": 9155.088840141912, "y": -2714.326260070624}, {"x": 9155.437457838787, "y": -2713.9792259284736}, {"x": 9155.786107544991, "y": -2713.6322239469528}, {"x": 9156.134798476975, "y": -2713.285263391255}, {"x": 9156.483539931958, "y": -2712.9383536179876}, {"x": 9156.83234127733, "y": -2712.591504062564}, {"x": 9157.181211949328, "y": -2712.244724238416}, {"x": 9157.530161439798, "y": -2711.898023725959}, {"x": 9157.879199289577, "y": -2711.5514121702295}, {"x": 9158.22833508319, "y": -2711.2048992714285}, {"x": 9158.577578436943, "y": -2710.8584947825566}, {"x": 9158.926938994942, "y": -2710.51220849917}, {"x": 9159.27642641851, "y": -2710.166050253862}, {"x": 9159.62605037691, "y": -2709.820029913115}, {"x": 9159.975820543377, "y": -2709.474157367051}, {"x": 9160.325746585855, "y": -2709.128442525493}, {"x": 9160.675838156392, "y": -2708.782895310876}, {"x": 9161.026104888506, "y": -2708.437525651936}, {"x": 9161.376556383935, "y": -2708.092343477411}, {"x": 9161.727202208674, "y": -2707.747358710522}, {"x": 9162.078051879724, "y": -2707.4025812610926}, {"x": 9162.429114867746, "y": -2707.058021020034}, {"x": 9162.780400577203, "y": -2706.7136878530396}, {"x": 9163.131918345032, "y": -2706.3695915919147}, {"x": 9163.483677436674, "y": -2706.025742032216}, {"x": 9163.835687026212, "y": -2705.682148923791}, {"x": 9164.187956202994, "y": -2705.3388219636886}, {"x": 9164.540493954417, "y": -2704.995770790641}, {"x": 9164.893309160632, "y": -2704.65300497876}, {"x": 9165.246410590578, "y": -2704.3105340304437}, {"x": 9165.599806890055, "y": -2703.9683673684967}, {"x": 9165.953506576438, "y": -2703.626514330613}], "type": "lane"}, {"geometry": [{"x": 9147.655093952435, "y": -2727.239092508553}, {"x": 9148.008914616501, "y": -2726.8878141609393}, {"x": 9148.362594077267, "y": -2726.5363936445865}, {"x": 9148.716140097418, "y": -2726.184838879472}, {"x": 9149.069560446262, "y": -2725.8331577761187}, {"x": 9149.422862902371, "y": -2725.4813582363795}, {"x": 9149.77605525756, "y": -2725.129448158167}, {"x": 9150.129145306293, "y": -2724.777435429151}, {"x": 9150.482140852298, "y": -2724.4253279346344}, {"x": 9150.835049708578, "y": -2724.0731335520413}, {"x": 9151.187879693423, "y": -2723.720860154067}, {"x": 9151.540638629102, "y": -2723.3685156094657}, {"x": 9151.893334347149, "y": -2723.016107783053}, {"x": 9152.245974680422, "y": -2722.6636445364907}, {"x": 9152.598567469726, "y": -2722.3111337267133}, {"x": 9152.951120557187, "y": -2721.9585832106545}, {"x": 9153.303641788903, "y": -2721.6060008413083}, {"x": 9153.656139014947, "y": -2721.2533944708807}, {"x": 9154.008620084063, "y": -2720.9007719500005}, {"x": 9154.361092851621, "y": -2720.5481411308742}, {"x": 9154.713565170337, "y": -2720.1955098641315}, {"x": 9155.066044896907, "y": -2719.8428859996134}, {"x": 9155.418539884044, "y": -2719.4902773918902}, {"x": 9155.771057987118, "y": -2719.1376918947435}, {"x": 9156.123607060174, "y": -2718.7851373635312}, {"x": 9156.476194953279, "y": -2718.4326216575523}, {"x": 9156.828829519152, "y": -2718.080152639256}, {"x": 9157.181518602572, "y": -2717.7277381734584}, {"x": 9157.534270048312, "y": -2717.3753861297014}, {"x": 9157.887091697174, "y": -2717.0231043838326}, {"x": 9158.239991385988, "y": -2716.670900814064}, {"x": 9158.592976943642, "y": -2716.318783306488}, {"x": 9158.946056199024, "y": -2715.966759751137}, {"x": 9159.299236970428, "y": -2715.6148380474997}, {"x": 9159.652527070852, "y": -2715.2630260997935}, {"x": 9160.005934310644, "y": -2714.9113318216937}, {"x": 9160.359466485595, "y": -2714.559763133966}, {"x": 9160.713131387518, "y": -2714.2083279660465}, {"x": 9161.066936800282, "y": -2713.8570342576145}, {"x": 9161.420890495843, "y": -2713.5058899562314}, {"x": 9161.775000238209, "y": -2713.1549030220667}, {"x": 9162.129273782126, "y": -2712.804081423171}, {"x": 9162.483718867767, "y": -2712.453433141778}, {"x": 9162.838343228692, "y": -2712.1029661703697}, {"x": 9163.19315458257, "y": -2711.7526885116695}, {"x": 9163.548160636481, "y": -2711.402608184952}, {"x": 9163.903369082936, "y": -2711.0527332205234}, {"x": 9164.258787605182, "y": -2710.7030716612994}, {"x": 9164.614423866604, "y": -2710.3536315659576}, {"x": 9164.97028551867, "y": -2710.0044210081473}, {"x": 9165.326380198285, "y": -2709.655448075703}, {"x": 9165.682715523817, "y": -2709.306720872222}, {"x": 9166.039299099073, "y": -2708.9582475178486}, {"x": 9166.396138510645, "y": -2708.61003614849}, {"x": 9166.753241329236, "y": -2708.2620949173893}, {"x": 9167.110615103042, "y": -2707.914431995916}, {"x": 9167.468267365695, "y": -2707.5670555727756}, {"x": 9167.82620562832, "y": -2707.219973855589}], "type": "lane"}, {"geometry": [{"x": 9138.328866334958, "y": -2716.7470779682667}, {"x": 9137.975137631514, "y": -2717.098928501636}, {"x": 9137.621338530318, "y": -2717.4507082469445}, {"x": 9137.267469872117, "y": -2717.802418022197}, {"x": 9136.913532500308, "y": -2718.154058648549}, {"x": 9136.559527254316, "y": -2718.5056309447923}, {"x": 9136.205454978859, "y": -2718.857135732871}, {"x": 9135.851316510714, "y": -2719.208573833941}, {"x": 9135.497112691952, "y": -2719.5599460699464}, {"x": 9135.142844361999, "y": -2719.9112532628315}, {"x": 9134.788512361602, "y": -2720.262496235328}, {"x": 9134.434117526213, "y": -2720.6136758109565}, {"x": 9134.079660697904, "y": -2720.9647928132367}, {"x": 9133.725142712125, "y": -2721.3158480664774}, {"x": 9133.37056440698, "y": -2721.6668423949864}, {"x": 9133.01592662189, "y": -2722.017776624648}, {"x": 9132.661230190984, "y": -2722.368651580559}, {"x": 9132.306475951038, "y": -2722.7194680886028}, {"x": 9131.951664738828, "y": -2723.070226975453}, {"x": 9131.596797391132, "y": -2723.420929067781}, {"x": 9131.241874740748, "y": -2723.77157519226}, {"x": 9130.886897623135, "y": -2724.122166177926}, {"x": 9130.53186687374, "y": -2724.4727028514512}, {"x": 9130.176783326693, "y": -2724.8231860426613}, {"x": 9129.821647816123, "y": -2725.1736165790157}, {"x": 9129.466461173508, "y": -2725.5239952911274}, {"x": 9129.1112242343, "y": -2725.874323008033}, {"x": 9128.755937828657, "y": -2726.2246005595575}, {"x": 9128.400602792028, "y": -2726.574828775525}, {"x": 9128.04521995457, "y": -2726.9250084881246}, {"x": 9127.689790147766, "y": -2727.2751405279687}, {"x": 9127.334314204416, "y": -2727.6252257256706}, {"x": 9126.978792954676, "y": -2727.975264914206}, {"x": 9126.62322723003, "y": -2728.3252589249773}, {"x": 9126.267617860629, "y": -2728.6752085909598}, {"x": 9125.911965676632, "y": -2729.025114744343}, {"x": 9125.556271508194, "y": -2729.3749782181044}, {"x": 9125.200536184147, "y": -2729.7247998467956}, {"x": 9124.84476053597, "y": -2730.0745804633943}, {"x": 9124.488945391173, "y": -2730.424320902454}, {"x": 9124.133091577263, "y": -2730.774021997738}, {"x": 9123.777199925718, "y": -2731.1236845838007}, {"x": 9123.42127126405, "y": -2731.473309495983}, {"x": 9123.065306418439, "y": -2731.822897569625}, {"x": 9122.709306219042, "y": -2732.172449639281}, {"x": 9122.353271492044, "y": -2732.5219665418667}, {"x": 9121.997203064951, "y": -2732.8714491127243}, {"x": 9121.641101765274, "y": -2733.2208981879826}, {"x": 9121.284968419193, "y": -2733.5703146045585}, {"x": 9120.928803855542, "y": -2733.9196991985814}, {"x": 9120.572608897857, "y": -2734.269052807756}, {"x": 9120.216384373647, "y": -2734.618376269}, {"x": 9119.860131110418, "y": -2734.96767041923}, {"x": 9119.503849931705, "y": -2735.31693609694}, {"x": 9119.147541663695, "y": -2735.6661741390467}, {"x": 9118.791207132568, "y": -2736.0153853840434}, {"x": 9118.43484716319, "y": -2736.3645706704233}, {"x": 9118.078462581738, "y": -2736.7137308366796}, {"x": 9117.72205421175, "y": -2737.062866720518}, {"x": 9117.365622879412, "y": -2737.4119791612193}, {"x": 9117.009169406934, "y": -2737.761068998853}, {"x": 9116.652694621826, "y": -2738.1101370703364}, {"x": 9116.296199346298, "y": -2738.459184217315}, {"x": 9115.939684406532, "y": -2738.8082112774937}, {"x": 9115.583150624745, "y": -2739.1572190909424}, {"x": 9115.226598825791, "y": -2739.506208498518}, {"x": 9114.870029833211, "y": -2739.855180337926}, {"x": 9114.513444470538, "y": -2740.204135450812}, {"x": 9114.156843562632, "y": -2740.5530746772447}, {"x": 9113.800227930384, "y": -2740.9019988572945}, {"x": 9113.443598399972, "y": -2741.250908830242}, {"x": 9113.086955793613, "y": -2741.5998054385213}, {"x": 9112.73030093484, "y": -2741.948689520625}, {"x": 9112.37363464719, "y": -2742.2975619189874}, {"x": 9112.016957751552, "y": -2742.6464234736773}, {"x": 9111.660271074106, "y": -2742.995275024764}, {"x": 9111.30357543442, "y": -2743.3441174146815}, {"x": 9110.946871658676, "y": -2743.692951482711}, {"x": 9110.590160566438, "y": -2744.041778071286}, {"x": 9110.233442983892, "y": -2744.390598021264}, {"x": 9109.876719731921, "y": -2744.7394121727143}, {"x": 9109.519991632742, "y": -2745.0882213688583}, {"x": 9109.163259509887, "y": -2745.43702644819}, {"x": 9108.80652418557, "y": -2745.785828254718}, {"x": 9108.449786482002, "y": -2746.1346276277245}, {"x": 9108.093047224043, "y": -2746.4834254096427}, {"x": 9107.736307231258, "y": -2746.832222442118}, {"x": 9107.379567328504, "y": -2747.18101956522}, {"x": 9107.022828336672, "y": -2747.5298176205943}, {"x": 9106.66609108062, "y": -2747.878617449886}, {"x": 9106.309356381238, "y": -2748.227419894741}, {"x": 9105.952625060734, "y": -2748.5762257968045}, {"x": 9105.595897943973, "y": -2748.925035996146}, {"x": 9105.239175850513, "y": -2749.273851334411}, {"x": 9104.882459606542, "y": -2749.622672653245}, {"x": 9104.525750032948, "y": -2749.971500793505}, {"x": 9104.169047953264, "y": -2750.3203365960494}, {"x": 9103.81235418838, "y": -2750.669180903311}, {"x": 9103.455669564479, "y": -2751.0180345545714}, {"x": 9103.100840544299, "y": -2751.3650928199527}, {"x": 9102.746021313867, "y": -2751.712161093665}, {"x": 9102.391211804339, "y": -2752.0592393039956}, {"x": 9102.036411942889, "y": -2752.406327379231}, {"x": 9101.68162166332, "y": -2752.7534252468695}, {"x": 9101.326840892809, "y": -2753.1005328351985}, {"x": 9100.972069561183, "y": -2753.4476500717165}, {"x": 9100.61730760092, "y": -2753.7947768847102}, {"x": 9100.262554940522, "y": -2754.1419132024666}, {"x": 9099.907811511139, "y": -2754.489058952484}, {"x": 9099.553077241275, "y": -2754.8362140630493}, {"x": 9099.198352062083, "y": -2755.183378462449}, {"x": 9098.84363590339, "y": -2755.5305520781826}, {"x": 9098.48892869502, "y": -2755.8777348385365}, {"x": 9098.134230366804, "y": -2756.2249266717968}, {"x": 9097.779540848569, "y": -2756.572127505463}, {"x": 9097.424860071465, "y": -2756.9193372686095}, {"x": 9097.07018796532, "y": -2757.2665558879476}, {"x": 9096.715524458637, "y": -2757.613783292551}, {"x": 9096.360869483891, "y": -2757.961019409919}, {"x": 9096.006222968263, "y": -2758.3082641683386}, {"x": 9095.651584844225, "y": -2758.6555174960968}, {"x": 9095.296955038959, "y": -2759.002779320691}, {"x": 9094.942333484942, "y": -2759.3500495711974}, {"x": 9094.587720111997, "y": -2759.697328174326}, {"x": 9094.23311484863, "y": -2760.0446150591515}, {"x": 9093.878517625992, "y": -2760.3919101539614}, {"x": 9093.52392837391, "y": -2760.739213386253}, {"x": 9093.169347020887, "y": -2761.0865246843146}, {"x": 9092.814773499398, "y": -2761.4338439756443}, {"x": 9092.46020773795, "y": -2761.7811711901045}, {"x": 9092.10564966504, "y": -2762.1285062536185}, {"x": 9091.751099213148, "y": -2762.475849096049}, {"x": 9091.396556312102, "y": -2762.8231996448944}, {"x": 9091.042020889077, "y": -2763.1705578284414}, {"x": 9090.687492876552, "y": -2763.5179235749774}, {"x": 9090.332972204353, "y": -2763.8652968120005}, {"x": 9089.978458800984, "y": -2764.2126774677977}, {"x": 9089.623952597594, "y": -2764.560065470656}, {"x": 9089.269453524013, "y": -2764.9074607496495}, {"x": 9088.914961508744, "y": -2765.2548632314893}, {"x": 9088.560476482937, "y": -2765.6022728452504}, {"x": 9088.205998376421, "y": -2765.949689519219}, {"x": 9087.85152711902, "y": -2766.297113180895}, {"x": 9087.497062639242, "y": -2766.644543758564}, {"x": 9087.142604869561, "y": -2766.9919811805125}, {"x": 9086.788153738478, "y": -2767.3394253758165}, {"x": 9086.433709174496, "y": -2767.686876271186}, {"x": 9086.079271110095, "y": -2768.0343337956956}, {"x": 9085.724839473774, "y": -2768.3817978776324}, {"x": 9085.370414195362, "y": -2768.729268444495}, {"x": 9085.015995204685, "y": -2769.0767454253587}, {"x": 9084.661582431572, "y": -2769.4242287485094}, {"x": 9084.30717580585, "y": -2769.7717183414466}, {"x": 9083.952775257347, "y": -2770.1192141324564}, {"x": 9083.598380717212, "y": -2770.4667160498257}, {"x": 9083.243992112626, "y": -2770.8142240218413}, {"x": 9082.889609376065, "y": -2771.1617379767904}, {"x": 9082.53523243603, "y": -2771.5092578437475}, {"x": 9082.18086122235, "y": -2771.8567835494227}, {"x": 9081.826495664853, "y": -2772.204315022892}, {"x": 9081.472135693364, "y": -2772.551852192441}, {"x": 9081.117781239036, "y": -2772.899394985569}, {"x": 9080.763432229049, "y": -2773.246943332139}, {"x": 9080.409088595876, "y": -2773.594497158861}, {"x": 9080.054750266698, "y": -2773.9420563948106}, {"x": 9079.70041717399, "y": -2774.2896209674864}, {"x": 9079.346089246255, "y": -2774.6371908059623}, {"x": 9078.991766411998, "y": -2774.984765838526}, {"x": 9078.637448603693, "y": -2775.332345992676}, {"x": 9078.283135748517, "y": -2775.679931197487}, {"x": 9077.92882777895, "y": -2776.0275213804575}, {"x": 9077.574524622169, "y": -2776.3751164706628}, {"x": 9077.220226209323, "y": -2776.7227163956013}, {"x": 9076.865932470244, "y": -2777.070321084348}, {"x": 9076.511643333431, "y": -2777.4179304644013}, {"x": 9076.157358730039, "y": -2777.7655444648362}, {"x": 9075.803078589892, "y": -2778.11316301394}, {"x": 9075.453180236493, "y": -2778.4564907423983}, {"x": 9075.10328595046, "y": -2778.79982261604}, {"x": 9074.753395514655, "y": -2779.1431584134198}, {"x": 9074.403508711941, "y": -2779.4864979138824}, {"x": 9074.053625326504, "y": -2779.829840895195}, {"x": 9073.703745138559, "y": -2780.1731871359143}, {"x": 9073.353867932288, "y": -2780.5165364153836}, {"x": 9073.00399349188, "y": -2780.8598885113706}, {"x": 9072.654121597549, "y": -2781.2032432040073}, {"x": 9072.30425203348, "y": -2781.5466002702733}, {"x": 9071.954384582536, "y": -2781.889959489513}, {"x": 9071.604519027576, "y": -2782.2333206410694}, {"x": 9071.254655150142, "y": -2782.576683501923}, {"x": 9070.904792734416, "y": -2782.9200478522052}, {"x": 9070.554931563263, "y": -2783.263413470472}, {"x": 9070.205071419545, "y": -2783.6067801344916}, {"x": 9069.855212084798, "y": -2783.9501476243954}, {"x": 9069.505353341883, "y": -2784.2935157171632}, {"x": 9069.15549497499, "y": -2784.636884192139}, {"x": 9068.805636765654, "y": -2784.9802528286664}, {"x": 9068.45577849806, "y": -2785.3236214045132}, {"x": 9068.105919952424, "y": -2785.666989699024}, {"x": 9067.756060914255, "y": -2786.010357490754}, {"x": 9067.406201165093, "y": -2786.3537245574707}, {"x": 9067.056340487796, "y": -2786.6970906793063}, {"x": 9066.706478665228, "y": -2787.040455634029}, {"x": 9066.356615481576, "y": -2787.383819200194}, {"x": 9066.00675071573, "y": -2787.7271811571454}, {"x": 9065.656884154521, "y": -2788.070541282651}, {"x": 9065.30701557949, "y": -2788.4138993560546}, {"x": 9064.957144772172, "y": -2788.7572551567005}, {"x": 9064.607271516756, "y": -2789.100608461568}, {"x": 9064.257395596103, "y": -2789.4439590500006}, {"x": 9063.907516791749, "y": -2789.7873067005544}, {"x": 9063.557634887882, "y": -2790.130651192574}, {"x": 9063.207749667365, "y": -2790.4739923046145}, {"x": 9062.857860911732, "y": -2790.8173298144434}, {"x": 9062.507968403848, "y": -2791.1606635006174}, {"x": 9062.158071929221, "y": -2791.5039931424794}, {"x": 9061.808171266743, "y": -2791.8473185185862}, {"x": 9061.458266203248, "y": -2792.190639407493}, {"x": 9061.108356517623, "y": -2792.533955587756}, {"x": 9060.758441996704, "y": -2792.877266837142}, {"x": 9060.408522420707, "y": -2793.220572934996}, {"x": 9060.05859757249, "y": -2793.5638736606616}, {"x": 9059.70866723624, "y": -2793.9071687911182}, {"x": 9059.35873119482, "y": -2794.25045810571}, {"x": 9059.005740433795, "y": -2794.5967324374155}, {"x": 9058.652744397905, "y": -2794.943001391416}, {"x": 9058.299743836538, "y": -2795.2892657313396}, {"x": 9057.946739497764, "y": -2795.635526221602}, {"x": 9057.593732136269, "y": -2795.981783628983}, {"x": 9057.240722497472, "y": -2796.328038715534}, {"x": 9056.887711334737, "y": -2796.6742922488243}, {"x": 9056.534699397454, "y": -2797.0205449916925}, {"x": 9056.18168743634, "y": -2797.366797709343}, {"x": 9055.828676199459, "y": -2797.713051166979}, {"x": 9055.475666438853, "y": -2798.0593061290174}, {"x": 9055.122658905237, "y": -2798.4055633614494}, {"x": 9054.769654346677, "y": -2798.7518236271153}, {"x": 9054.416653515213, "y": -2799.0980876920066}, {"x": 9054.063657160234, "y": -2799.4443563205396}, {"x": 9053.710666032457, "y": -2799.790630277918}, {"x": 9053.357680881274, "y": -2800.1369103285574}, {"x": 9053.004702458724, "y": -2800.483197236874}, {"x": 9052.651731512873, "y": -2800.8294917672833}, {"x": 9052.298768797084, "y": -2801.1757946842013}, {"x": 9051.945815059426, "y": -2801.5221067536204}, {"x": 9051.59287105061, "y": -2801.86842873838}, {"x": 9051.239937522681, "y": -2802.2147614028954}, {"x": 9050.88701522635, "y": -2802.5611055123713}, {"x": 9050.53410491101, "y": -2802.907461831224}, {"x": 9050.181207327376, "y": -2803.2538311222916}, {"x": 9049.82832322881, "y": -2803.600214149991}, {"x": 9049.47545336338, "y": -2803.9466116795265}, {"x": 9049.122598483125, "y": -2804.293024473737}, {"x": 9048.769759340084, "y": -2804.639453296251}, {"x": 9048.416936686297, "y": -2804.9858989114837}, {"x": 9048.064131269832, "y": -2805.332362082275}, {"x": 9047.711343845373, "y": -2805.678843573041}, {"x": 9047.358575163636, "y": -2806.0253441458335}, {"x": 9047.005825976663, "y": -2806.371864565068}, {"x": 9046.653097036491, "y": -2806.718405593584}, {"x": 9046.300389093836, "y": -2807.0649679942217}, {"x": 9045.94770290206, "y": -2807.411552529821}, {"x": 9045.595039213204, "y": -2807.758159962433}, {"x": 9045.242398779304, "y": -2808.1047910556863}, {"x": 9044.889782353726, "y": -2808.451446571632}, {"x": 9044.537190689833, "y": -2808.7981272723214}, {"x": 9044.18462453834, "y": -2809.144833919807}, {"x": 9043.832084655258, "y": -2809.49156727614}, {"x": 9043.4795717913, "y": -2809.8383281033725}, {"x": 9043.127086701157, "y": -2810.1851171619796}, {"x": 9042.77463013819, "y": -2810.531935214801}, {"x": 9042.41951847706, "y": -2810.8814244683867}, {"x": 9042.06443532192, "y": -2811.230942683877}, {"x": 9041.709379449387, "y": -2811.580488614564}, {"x": 9041.354349637393, "y": -2811.9300610153173}, {"x": 9040.999344661228, "y": -2812.279658637065}, {"x": 9040.64436329883, "y": -2812.629280236253}, {"x": 9040.289404324161, "y": -2812.9789245653856}, {"x": 9039.934466513834, "y": -2813.328590379332}, {"x": 9039.579548644462, "y": -2813.678276432174}, {"x": 9039.224649488684, "y": -2814.0279814795667}, {"x": 9038.869767823113, "y": -2814.377704275593}, {"x": 9038.514902423038, "y": -2814.727443575909}, {"x": 9038.160052062422, "y": -2815.077198136172}, {"x": 9037.805215516555, "y": -2815.4269667112508}, {"x": 9037.4503915594, "y": -2815.776748056803}, {"x": 9037.095578963595, "y": -2816.126540928485}, {"x": 9036.740776507082, "y": -2816.476344082743}, {"x": 9036.385982959848, "y": -2816.8261562752327}, {"x": 9036.03119709851, "y": -2817.1759762616125}, {"x": 9035.676417695702, "y": -2817.5258027991144}, {"x": 9035.321643525394, "y": -2817.8756346433966}, {"x": 9034.966873362873, "y": -2818.225470550115}, {"x": 9034.612105979453, "y": -2818.575309276504}, {"x": 9034.2573401491, "y": -2818.9251495782196}, {"x": 9033.902574647103, "y": -2819.2749902117075}, {"x": 9033.547808246101, "y": -2819.6248299342014}, {"x": 9033.19303972006, "y": -2819.974667501357}, {"x": 9032.838267841618, "y": -2820.324501669621}, {"x": 9032.483491386063, "y": -2820.6743311954374}, {"x": 9032.128709126038, "y": -2821.024154834464}, {"x": 9031.773919835507, "y": -2821.373971343933}, {"x": 9031.419122288431, "y": -2821.723779479503}, {"x": 9031.0643152601, "y": -2822.0735779968295}, {"x": 9030.709497521833, "y": -2822.4233656515707}, {"x": 9030.354667850239, "y": -2822.7731412009593}, {"x": 9029.999825019282, "y": -2823.1229033998643}, {"x": 9029.64496780293, "y": -2823.472651003155}, {"x": 9029.290094975144, "y": -2823.8223827672764}, {"x": 9028.935205311212, "y": -2824.1720974470973}, {"x": 9028.580297587749, "y": -2824.521793797487}, {"x": 9028.225370577393, "y": -2824.8714705741027}, {"x": 9027.870423056758, "y": -2825.221126530237}, {"x": 9027.51545380113, "y": -2825.5707604223353}, {"x": 9027.1604615858, "y": -2825.920371002902}, {"x": 9026.805445188702, "y": -2826.2699570260183}, {"x": 9026.454988286005, "y": -2826.615001607266}, {"x": 9026.104499877101, "y": -2826.960014183919}, {"x": 9025.753973209528, "y": -2827.304987891996}, {"x": 9025.403401537442, "y": -2827.649915862787}, {"x": 9025.052778112351, "y": -2827.994791226795}, {"x": 9024.702096193703, "y": -2828.339607112156}, {"x": 9024.351349042277, "y": -2828.684356641493}, {"x": 9024.00052992282, "y": -2829.0290329350632}, {"x": 9023.64963210405, "y": -2829.373629109183}, {"x": 9023.29864886131, "y": -2829.7181382746535}, {"x": 9022.947573472586, "y": -2830.0625535367585}, {"x": 9022.596399223808, "y": -2830.4068679984184}, {"x": 9022.245119406209, "y": -2830.751074753097}, {"x": 9021.893727316306, "y": -2831.0951668911043}, {"x": 9021.542216258573, "y": -2831.439137494872}, {"x": 9021.190579544096, "y": -2831.782979639737}, {"x": 9020.838810491907, "y": -2832.1266863947335}, {"x": 9020.486902430306, "y": -2832.4702508202267}, {"x": 9020.134848694215, "y": -2832.813665970277}, {"x": 9019.782642627819, "y": -2833.156924887912}, {"x": 9019.430277585903, "y": -2833.5000206106424}, {"x": 9019.077746932513, "y": -2833.842946164159}, {"x": 9018.725044042289, "y": -2834.185694565484}, {"x": 9018.372162297817, "y": -2834.52825882297}, {"x": 9018.019095096248, "y": -2834.8706319323614}, {"x": 9017.665835843995, "y": -2835.212806880734}, {"x": 9017.312377960718, "y": -2835.5547766425543}, {"x": 9016.958714876664, "y": -2835.89653418362}, {"x": 9016.604840037973, "y": -2836.2380724539685}, {"x": 9016.250746900048, "y": -2836.579384395756}, {"x": 9015.896428934186, "y": -2836.920462934589}, {"x": 9015.541879624916, "y": -2837.2613009874067}, {"x": 9015.187092472665, "y": -2837.60189145381}, {"x": 9014.832060991092, "y": -2837.9422272231554}, {"x": 9014.476778709746, "y": -2838.28230116825}, {"x": 9014.121239174068, "y": -2838.6221061500805}, {"x": 9013.765435945385, "y": -2838.9616350130837}, {"x": 9013.409362602233, "y": -2839.300880586724}, {"x": 9013.053012740365, "y": -2839.639835687068}, {"x": 9012.696379971421, "y": -2839.9784931120585}, {"x": 9012.339457926897, "y": -2840.316845645451}, {"x": 9011.982240255504, "y": -2840.6548860528774}], "type": "lane"}, {"geometry": [{"x": 9105.663777401713, "y": -2671.130105657614}, {"x": 9105.308364952714, "y": -2671.476000659379}, {"x": 9104.953084015242, "y": -2671.822030738154}, {"x": 9104.597934634316, "y": -2672.1681958379863}, {"x": 9104.242916853624, "y": -2672.514495902136}, {"x": 9103.88803071951, "y": -2672.8609308730747}, {"x": 9103.53327627699, "y": -2673.207500697215}, {"x": 9103.178653572406, "y": -2673.5542053170284}, {"x": 9102.824162652094, "y": -2673.901044678927}, {"x": 9102.469803562399, "y": -2674.248018727747}, {"x": 9102.115576350981, "y": -2674.5951274083236}, {"x": 9101.761481062862, "y": -2674.9423706662815}, {"x": 9101.407517748348, "y": -2675.289748449609}, {"x": 9101.053686452462, "y": -2675.6372607023536}, {"x": 9100.699987224187, "y": -2675.9849073725036}, {"x": 9100.346420112513, "y": -2676.3326884056833}, {"x": 9099.992985163784, "y": -2676.6806037498804}, {"x": 9099.639682428307, "y": -2677.0286533522954}, {"x": 9099.286511955075, "y": -2677.376837160128}, {"x": 9098.93347379175, "y": -2677.7251551213676}, {"x": 9098.580567987321, "y": -2678.073607184001}, {"x": 9098.2277945921, "y": -2678.422193295229}, {"x": 9097.875153655077, "y": -2678.770913403828}, {"x": 9097.522645225237, "y": -2679.1197674585737}, {"x": 9097.170269352899, "y": -2679.468755406667}, {"x": 9096.818026089692, "y": -2679.8178771984594}, {"x": 9096.465915483284, "y": -2680.16713278194}, {"x": 9096.113937583988, "y": -2680.516522105096}, {"x": 9095.762092442117, "y": -2680.8660451182805}, {"x": 9095.410380109306, "y": -2681.21570177027}, {"x": 9095.058800634542, "y": -2681.5654920098395}, {"x": 9094.707354069466, "y": -2681.9154157857665}, {"x": 9094.356040463063, "y": -2682.2654730484032}, {"x": 9094.004859865645, "y": -2682.6156637473136}, {"x": 9093.653812330174, "y": -2682.9659878296975}, {"x": 9093.302897905638, "y": -2683.3164452474844}, {"x": 9092.952116642351, "y": -2683.6670359478735}, {"x": 9092.601468591947, "y": -2684.0177598820055}, {"x": 9092.25396321266, "y": -2684.365551617795}, {"x": 9091.906433001515, "y": -2684.7133185400153}, {"x": 9091.558722112959, "y": -2685.0609048008237}, {"x": 9091.210675502458, "y": -2685.4081548731156}, {"x": 9090.862139877157, "y": -2685.7549140856177}, {"x": 9090.512964631938, "y": -2686.1010291721636}, {"x": 9090.163002772271, "y": -2686.4463488304264}, {"x": 9089.81211181586, "y": -2686.7907243066566}, {"x": 9089.460154690323, "y": -2687.1340100016996}, {"x": 9089.10700057659, "y": -2687.4760641085345}, {"x": 9088.752525750977, "y": -2687.8167492844864}, {"x": 9088.396614375617, "y": -2688.1559333533846}, {"x": 9088.039159257121, "y": -2688.493490055796}, {"x": 9087.680062565521, "y": -2688.829299832353}, {"x": 9087.319236513482, "y": -2689.1632506559426}, {"x": 9086.956603981238, "y": -2689.495238902509}, {"x": 9086.592099103134, "y": -2689.825170266777}, {"x": 9086.225667801196, "y": -2690.1529607173793}, {"x": 9085.857268269727, "y": -2690.4785374984754}, {"x": 9085.486871418841, "y": -2690.8018401621093}, {"x": 9085.11446126109, "y": -2691.122821636025}, {"x": 9084.740035258337, "y": -2691.4414493269487}, {"x": 9084.36360463292, "y": -2691.757706241996}, {"x": 9083.985194637724, "y": -2692.0715921345036}, {"x": 9083.604844798505, "y": -2692.38312466169}, {"x": 9083.222609137623, "y": -2692.6923405462508}, {"x": 9082.838556380604, "y": -2692.999296740319}, {"x": 9082.452770177242, "y": -2693.3040715736665}, {"x": 9082.065349314771, "y": -2693.6067658885045}, {"x": 9081.676407977362, "y": -2693.907504136463}, {"x": 9081.286076042712, "y": -2694.206435446406}, {"x": 9080.894499440848, "y": -2694.5037346260547}, {"x": 9080.501840598994, "y": -2694.799603112383}, {"x": 9080.108278997654, "y": -2695.094269832966}, {"x": 9079.714011852484, "y": -2695.3879919774877}, {"x": 9079.319254948416, "y": -2695.681055661286}, {"x": 9078.924243676363, "y": -2695.9737764517736}, {"x": 9078.527077082523, "y": -2696.2680028333625}, {"x": 9078.129910488684, "y": -2696.562229215739}, {"x": 9077.732743896167, "y": -2696.856455597328}, {"x": 9077.335577302327, "y": -2697.150681978917}, {"x": 9076.938410708488, "y": -2697.4449083605055}, {"x": 9076.541244114647, "y": -2697.7391347428825}, {"x": 9076.14407752213, "y": -2698.033361124471}, {"x": 9075.746910928292, "y": -2698.32758750606}, {"x": 9075.349744334451, "y": -2698.621813887649}, {"x": 9074.95257774061, "y": -2698.9160402700254}, {"x": 9074.555411148094, "y": -2699.2102666516143}, {"x": 9074.158244554255, "y": -2699.504493033203}, {"x": 9073.761077960415, "y": -2699.798719414792}, {"x": 9073.363911366574, "y": -2700.092945797169}, {"x": 9072.96674477406, "y": -2700.3871721787573}, {"x": 9072.569578180219, "y": -2700.681398560346}, {"x": 9072.172411586378, "y": -2700.9756249419347}, {"x": 9071.77524499254, "y": -2701.2698513243117}, {"x": 9071.378078400023, "y": -2701.5640777059007}, {"x": 9070.980911806182, "y": -2701.858304087489}, {"x": 9070.583745212343, "y": -2702.152530469078}, {"x": 9070.186578618503, "y": -2702.4467568514547}, {"x": 9069.789412025986, "y": -2702.7409832330436}, {"x": 9069.392245432147, "y": -2703.0352096146325}, {"x": 9068.995078838307, "y": -2703.329435996221}, {"x": 9068.597912244466, "y": -2703.623662378598}, {"x": 9068.20074565195, "y": -2703.9178887601865}, {"x": 9067.80357905811, "y": -2704.2121151417755}, {"x": 9067.40641246427, "y": -2704.5063415233644}, {"x": 9067.00924587043, "y": -2704.800567905741}, {"x": 9066.612079277915, "y": -2705.09479428733}, {"x": 9066.214912684074, "y": -2705.389020668919}, {"x": 9065.817746090233, "y": -2705.6832470505074}, {"x": 9065.420579496395, "y": -2705.9774734328844}, {"x": 9065.023412902554, "y": -2706.271699814473}, {"x": 9064.626246310037, "y": -2706.565926196062}, {"x": 9064.229079716199, "y": -2706.860152578439}, {"x": 9063.831913122358, "y": -2707.1543789600273}, {"x": 9063.434746528517, "y": -2707.4486053416163}, {"x": 9063.037579936, "y": -2707.7428317232047}, {"x": 9062.640413342162, "y": -2708.0370581055818}, {"x": 9062.243246748321, "y": -2708.3312844871707}, {"x": 9061.846080154482, "y": -2708.625510868759}, {"x": 9061.448913561966, "y": -2708.919737250348}, {"x": 9061.051746968125, "y": -2709.2139636327247}, {"x": 9060.654580374285, "y": -2709.5081900143136}, {"x": 9060.257413780446, "y": -2709.8024163959026}, {"x": 9059.86024718793, "y": -2710.096642777491}, {"x": 9059.463080594089, "y": -2710.390869159868}, {"x": 9059.06591400025, "y": -2710.6850955414566}, {"x": 9058.66874740641, "y": -2710.9793219230455}, {"x": 9058.271580813893, "y": -2711.2735483046345}, {"x": 9057.874414220054, "y": -2711.567774687011}, {"x": 9057.477247626213, "y": -2711.8620010686}, {"x": 9057.080081032373, "y": -2712.1562274501885}, {"x": 9056.682914439856, "y": -2712.4504538317774}, {"x": 9056.285747846017, "y": -2712.7446802141544}, {"x": 9055.888581252177, "y": -2713.038906595743}, {"x": 9055.491414658338, "y": -2713.333132977332}, {"x": 9055.094248065821, "y": -2713.627359358921}, {"x": 9054.69708147198, "y": -2713.9215857412973}, {"x": 9054.29991487814, "y": -2714.2158121228863}, {"x": 9053.902748284301, "y": -2714.510038504475}, {"x": 9053.505581691785, "y": -2714.8042648860637}, {"x": 9053.108415097944, "y": -2715.0984912684407}, {"x": 9052.711248504105, "y": -2715.392717650029}, {"x": 9052.314081910265, "y": -2715.686944031618}, {"x": 9051.916915317748, "y": -2715.9811704132067}, {"x": 9051.51974872391, "y": -2716.2753967955837}, {"x": 9051.122582130069, "y": -2716.5696231771726}, {"x": 9050.746824137497, "y": -2716.848020015566}, {"x": 9050.371152524835, "y": -2717.1265333990073}, {"x": 9049.995652655147, "y": -2717.4052782719987}, {"x": 9049.62040896337, "y": -2717.684367894176}, {"x": 9049.245505162853, "y": -2717.9639139017754}, {"x": 9048.871024439983, "y": -2718.2440263793496}, {"x": 9048.497049654121, "y": -2718.524813929113}, {"x": 9048.123663518985, "y": -2718.8063837379295}, {"x": 9047.750948799929, "y": -2719.088841652965}, {"x": 9047.378988503277, "y": -2719.372292247885}, {"x": 9047.007866055066, "y": -2719.656838896142}, {"x": 9046.637665494352, "y": -2719.9425838387506}, {"x": 9046.268471653271, "y": -2720.229628248907}], "type": "lane"}, {"geometry": [{"x": 9048.215705990347, "y": -2722.425631292736}, {"x": 9048.584939702743, "y": -2722.137801503606}, {"x": 9048.955166220725, "y": -2721.8512497957176}, {"x": 9049.326303050362, "y": -2721.565878040141}, {"x": 9049.698268439166, "y": -2721.2815870574645}, {"x": 9050.070981135132, "y": -2720.9982764783113}, {"x": 9050.444360158996, "y": -2720.715844600698}, {"x": 9050.818324565922, "y": -2720.434188243458}, {"x": 9051.192793216445, "y": -2720.1532026051764}, {"x": 9051.56768453682, "y": -2719.872781114464}, {"x": 9051.94291628203, "y": -2719.592815289677}, {"x": 9052.318405297461, "y": -2719.313194590768}, {"x": 9052.694067268663, "y": -2719.033806282947}, {"x": 9053.069816468467, "y": -2718.754535295622}, {"x": 9053.46658376525, "y": -2718.459675147094}, {"x": 9053.863351063357, "y": -2718.1648149977777}, {"x": 9054.26011836014, "y": -2717.8699548492496}, {"x": 9054.656885658247, "y": -2717.5750946999333}, {"x": 9055.05365295503, "y": -2717.280234551405}, {"x": 9055.450420251813, "y": -2716.9853744020893}, {"x": 9055.847187549918, "y": -2716.690514253561}, {"x": 9056.243954846701, "y": -2716.395654104245}, {"x": 9056.640722144808, "y": -2716.1007939557167}, {"x": 9057.03748944159, "y": -2715.8059338064004}, {"x": 9057.434256739698, "y": -2715.511073657872}, {"x": 9057.83102403648, "y": -2715.216213508556}, {"x": 9058.227791333264, "y": -2714.921353360028}, {"x": 9058.62455863137, "y": -2714.626493210712}, {"x": 9059.021325928154, "y": -2714.3316330621838}, {"x": 9059.418093226259, "y": -2714.0367729128675}, {"x": 9059.814860523042, "y": -2713.7419127643393}, {"x": 9060.211627819825, "y": -2713.447052615811}, {"x": 9060.608395117932, "y": -2713.152192466495}, {"x": 9061.005162414715, "y": -2712.8573323179667}, {"x": 9061.401929712822, "y": -2712.562472168651}, {"x": 9061.798697009604, "y": -2712.2676120201227}, {"x": 9062.195464307712, "y": -2711.9727518708064}, {"x": 9062.592231604494, "y": -2711.677891722278}, {"x": 9062.988998901277, "y": -2711.383031572962}, {"x": 9063.385766199382, "y": -2711.0881714244338}, {"x": 9063.782533496165, "y": -2710.7933112751175}, {"x": 9064.179300794272, "y": -2710.4984511265898}, {"x": 9064.576068091055, "y": -2710.2035909772735}, {"x": 9064.972835387838, "y": -2709.9087308287453}, {"x": 9065.369602685945, "y": -2709.613870679429}, {"x": 9065.766369982728, "y": -2709.319010530901}, {"x": 9066.163137280835, "y": -2709.0241503815846}, {"x": 9066.559904577618, "y": -2708.7292902330564}, {"x": 9066.956671875723, "y": -2708.4344300837406}, {"x": 9067.353439172506, "y": -2708.1395699352124}, {"x": 9067.750206469289, "y": -2707.8447097866842}, {"x": 9068.146973767396, "y": -2707.549849637368}, {"x": 9068.543741064179, "y": -2707.25498948884}, {"x": 9068.940508362286, "y": -2706.9601293395235}, {"x": 9069.337275659069, "y": -2706.6652691909953}, {"x": 9069.734042955852, "y": -2706.370409041679}, {"x": 9070.130810253959, "y": -2706.0755488931513}, {"x": 9070.527577550742, "y": -2705.780688743835}, {"x": 9070.924344848847, "y": -2705.485828595307}, {"x": 9071.32111214563, "y": -2705.1909684459906}, {"x": 9071.717879442413, "y": -2704.8961082974624}, {"x": 9072.11464674052, "y": -2704.601248148146}, {"x": 9072.511414037303, "y": -2704.306387999618}, {"x": 9072.90818133541, "y": -2704.011527850302}, {"x": 9073.304948632192, "y": -2703.716667701774}, {"x": 9073.7017159303, "y": -2703.4218075524577}, {"x": 9074.098483227082, "y": -2703.1269474039295}, {"x": 9074.495250523865, "y": -2702.8320872554013}, {"x": 9074.89201782197, "y": -2702.537227106085}, {"x": 9075.288785118753, "y": -2702.242366957557}, {"x": 9075.68555241686, "y": -2701.947506808241}, {"x": 9076.082319713643, "y": -2701.652646659713}, {"x": 9076.479087010426, "y": -2701.3577865103966}, {"x": 9076.875854308533, "y": -2701.0629263618684}, {"x": 9077.272621605316, "y": -2700.768066212552}, {"x": 9077.669388903423, "y": -2700.473206064024}, {"x": 9078.066156200206, "y": -2700.1783459147077}, {"x": 9078.462923498311, "y": -2699.8834857661795}, {"x": 9078.859690795094, "y": -2699.5886256168637}, {"x": 9079.256458091877, "y": -2699.2937654683356}, {"x": 9079.653225389984, "y": -2698.9989053190193}, {"x": 9080.049992686767, "y": -2698.704045170491}, {"x": 9080.446759984874, "y": -2698.409185021175}, {"x": 9080.843527281657, "y": -2698.1143248726466}, {"x": 9081.241030418327, "y": -2697.8188046723067}, {"x": 9081.638219756056, "y": -2697.5228629242056}, {"x": 9082.034811908474, "y": -2697.2261214867935}, {"x": 9082.430554637933, "y": -2696.928248326982}, {"x": 9082.825224971433, "y": -2696.628955900685}, {"x": 9083.218627639619, "y": -2696.327999307977}, {"x": 9083.610593755411, "y": -2696.025174270935}, {"x": 9084.000979674027, "y": -2695.7203149712127}, {"x": 9084.389665993362, "y": -2695.4132917875213}, {"x": 9084.776556632462, "y": -2695.104008954317}, {"x": 9085.161577960338, "y": -2694.7924021826493}, {"x": 9085.544677923433, "y": -2694.478436255802}, {"x": 9085.925825165157, "y": -2694.162102628866}, {"x": 9086.305008095102, "y": -2693.8434170432915}, {"x": 9086.682233902655, "y": -2693.522417176112}, {"x": 9087.057527497791, "y": -2693.199160340391}, {"x": 9087.430930367123, "y": -2692.873721236894}, {"x": 9087.802499349189, "y": -2692.546189770383}, {"x": 9088.172305314416, "y": -2692.2166689368314}, {"x": 9088.540431768279, "y": -2691.8852727823555}, {"x": 9088.906973360468, "y": -2691.552124429132}, {"x": 9089.272034321237, "y": -2691.2173541746015}, {"x": 9089.635726831522, "y": -2690.8810976505656}, {"x": 9089.998169322935, "y": -2690.5434940508476}, {"x": 9090.359484734021, "y": -2690.204684400715}, {"x": 9090.719798709606, "y": -2689.864809877531}, {"x": 9091.07923778558, "y": -2689.524010163715}, {"x": 9091.437927533949, "y": -2689.1824218264924}, {"x": 9091.795990710547, "y": -2688.840176711837}, {"x": 9092.153545382876, "y": -2688.497400350229}, {"x": 9092.510703076496, "y": -2688.15421035217}, {"x": 9092.86756693199, "y": -2687.8107148021213}, {"x": 9093.224229869886, "y": -2687.467010627225}, {"x": 9093.580772793983, "y": -2687.123181954204}, {"x": 9093.937262815829, "y": -2686.779298428435}, {"x": 9094.29375150307, "y": -2686.4354135180492}, {"x": 9094.65027315558, "y": -2686.0915627857207}, {"x": 9095.00684311204, "y": -2685.747762144696}, {"x": 9095.363456056544, "y": -2685.404006093545}, {"x": 9095.720084339735, "y": -2685.060265955641}, {"x": 9096.0766762854, "y": -2684.716488122579}, {"x": 9096.435354543988, "y": -2684.370501995352}, {"x": 9096.793919923877, "y": -2684.0243988872808}, {"x": 9097.152372387998, "y": -2683.678178835405}, {"x": 9097.510711896626, "y": -2683.331841875188}, {"x": 9097.868938412692, "y": -2682.985388044455}, {"x": 9098.2270518978, "y": -2682.6388173802447}, {"x": 9098.585052314875, "y": -2682.292129918809}, {"x": 9098.942939624196, "y": -2681.9453256979746}, {"x": 9099.300713790019, "y": -2681.598404753203}, {"x": 9099.658374771296, "y": -2681.2513671223214}, {"x": 9100.015922530956, "y": -2680.904212842369}, {"x": 9100.373357031925, "y": -2680.5569419503836}, {"x": 9100.73067823581, "y": -2680.2095544826166}, {"x": 9101.087886104213, "y": -2679.8620504761066}, {"x": 9101.444980598735, "y": -2679.5144299686804}, {"x": 9101.801961683632, "y": -2679.166692996588}, {"x": 9102.158829317856, "y": -2678.818839596869}, {"x": 9102.515583464337, "y": -2678.4708698065615}, {"x": 9102.872224087325, "y": -2678.1227836627045}, {"x": 9103.228751145778, "y": -2677.774581203125}, {"x": 9103.585164603945, "y": -2677.4262624632847}, {"x": 9103.941464422107, "y": -2677.077827481799}, {"x": 9104.297650563192, "y": -2676.7292762949187}, {"x": 9104.653722990126, "y": -2676.3806089404707}, {"x": 9105.009681664515, "y": -2676.031825453917}, {"x": 9105.36552654796, "y": -2675.6829258746607}, {"x": 9105.72125760339, "y": -2675.3339102373766}, {"x": 9106.076874792408, "y": -2674.9847785814673}, {"x": 9106.432378076619, "y": -2674.6355309423952}, {"x": 9106.787767418951, "y": -2674.286167357988}, {"x": 9107.143042782329, "y": -2673.936687866071}, {"x": 9107.498204127034, "y": -2673.587092502896}, {"x": 9107.853251417318, "y": -2673.2373813055015}], "type": "lane"}, {"geometry": [{"x": 9105.300417884579, "y": -2663.466276854971}, {"x": 9105.588574875053, "y": -2663.8633442756686}, {"x": 9105.883030535271, "y": -2664.2557520931437}, {"x": 9106.188856596293, "y": -2664.639345369944}, {"x": 9106.51018209482, "y": -2665.0100275132477}, {"x": 9106.850122443202, "y": -2665.3636888043475}, {"x": 9107.21074087417, "y": -2665.696210242792}, {"x": 9107.593042633735, "y": -2666.003526229277}, {"x": 9107.99700416109, "y": -2666.2817284883736}, {"x": 9108.42163902445, "y": -2666.5271933737126}, {"x": 9108.865100162619, "y": -2666.736715383066}, {"x": 9109.3248150283, "y": -2666.9076314153253}, {"x": 9109.797647255322, "y": -2667.03792297763}, {"x": 9110.280075932613, "y": -2667.126287042776}, {"x": 9110.768382047672, "y": -2667.172170193386}, {"x": 9111.258831291685, "y": -2667.1757647162985}, {"x": 9111.747843073708, "y": -2667.137968975878}, {"x": 9112.232137333802, "y": -2667.0603174313505}, {"x": 9112.708853056736, "y": -2666.9448877256036}, {"x": 9113.175635037183, "y": -2666.794193372231}, {"x": 9113.630688060965, "y": -2666.6110706897616}, {"x": 9114.07279995478, "y": -2666.3985679117127}, {"x": 9114.501336777406, "y": -2666.1598430669355}, {"x": 9114.916214563931, "y": -2665.8980755508865}, {"x": 9115.31785263843, "y": -2665.616394450214}, {"x": 9115.70711353556, "y": -2665.3178249146526}, {"x": 9116.085234204862, "y": -2665.0052522909455}, {"x": 9116.453752491, "y": -2664.681402446623}, {"x": 9116.814432139017, "y": -2664.3488357516076}, {"x": 9117.169188756889, "y": -2664.009951544135}, {"x": 9117.520018463152, "y": -2663.6669995717757}, {"x": 9117.868930425808, "y": -2663.3220948360745}], "type": "lane"}, {"geometry": [{"x": 9105.300417884579, "y": -2663.466276854971}, {"x": 9105.58444731065, "y": -2663.860413965512}, {"x": 9105.866547993219, "y": -2664.2559318380454}, {"x": 9106.142915838733, "y": -2664.6554684354296}, {"x": 9106.408385914914, "y": -2665.062309241434}, {"x": 9106.656606763634, "y": -2665.4798668495737}, {"x": 9106.880208140077, "y": -2665.911065783298}, {"x": 9107.0710380878, "y": -2666.3576810902964}, {"x": 9107.220549937036, "y": -2666.81971034414}, {"x": 9107.320395496778, "y": -2667.294891238773}, {"x": 9107.36322480741, "y": -2667.778500121592}, {"x": 9107.343612919103, "y": -2668.263562816189}, {"x": 9107.258952236622, "y": -2668.7415608566976}, {"x": 9107.110099404088, "y": -2669.203619990532}, {"x": 9106.90158523514, "y": -2669.642042932256}, {"x": 9106.64130473906, "y": -2670.051937483452}, {"x": 9106.339789255411, "y": -2670.4326421525266}, {"x": 9106.009376934971, "y": -2670.7886863461335}, {"x": 9105.663777401713, "y": -2671.130105657614}], "type": "lane"}, {"geometry": [{"x": 9107.853251417318, "y": -2673.2373813055015}, {"x": 9108.201125882342, "y": -2672.892560873836}, {"x": 9108.54319772558, "y": -2672.5419979114977}, {"x": 9108.87418328259, "y": -2672.180972442961}, {"x": 9109.189103609122, "y": -2671.8058778974882}, {"x": 9109.483226187478, "y": -2671.4142893423104}, {"x": 9109.752091136677, "y": -2671.004971348226}, {"x": 9109.99159585525, "y": -2670.5778305225303}, {"x": 9110.198111736929, "y": -2670.133816476974}, {"x": 9110.368608316701, "y": -2669.6747766785847}, {"x": 9110.500763820555, "y": -2669.20327376295}, {"x": 9110.593046057367, "y": -2668.7223770551614}, {"x": 9110.644753484474, "y": -2668.2354422675244}, {"x": 9110.656012436513, "y": -2667.745894096544}, {"x": 9110.62773213018, "y": -2667.2570255377523}, {"x": 9110.561523741897, "y": -2666.7718253562657}, {"x": 9110.459592940357, "y": -2666.292841823746}, {"x": 9110.324616871183, "y": -2665.822087014326}, {"x": 9110.159616593604, "y": -2665.360982264717}, {"x": 9109.967834762878, "y": -2664.910342282244}, {"x": 9109.752626221823, "y": -2664.470393058179}, {"x": 9109.517366651893, "y": -2664.0408173859496}, {"x": 9109.26538174247, "y": -2663.6208212541987}, {"x": 9108.99989691414, "y": -2663.2092146140217}, {"x": 9108.72400563506, "y": -2662.8045006784973}, {"x": 9108.440652780775, "y": -2662.404968860682}, {"x": 9108.152628598038, "y": -2662.0087873845614}, {"x": 9107.862568328796, "y": -2661.6140924703154}], "type": "lane"}, {"geometry": [{"x": 9107.853251417318, "y": -2673.2373813055015}, {"x": 9108.199377106583, "y": -2672.896241420326}, {"x": 9108.545399664528, "y": -2672.554996928387}, {"x": 9108.891324470622, "y": -2672.2136533453}, {"x": 9109.237156924184, "y": -2671.872216195348}, {"x": 9109.58290243778, "y": -2671.53069100912}, {"x": 9109.928566437215, "y": -2671.1890833211432}, {"x": 9110.274154361528, "y": -2670.8473986722515}, {"x": 9110.619671659038, "y": -2670.5056426056412}, {"x": 9110.965123791293, "y": -2670.1638206692382}, {"x": 9111.310516225141, "y": -2669.821938412544}, {"x": 9111.65585444067, "y": -2669.480001388212}, {"x": 9112.001143919297, "y": -2669.1380151488956}, {"x": 9112.346390150373, "y": -2668.7959852511894}, {"x": 9112.691598625905, "y": -2668.4539172469595}, {"x": 9113.036774844517, "y": -2668.1118166927986}, {"x": 9113.381924302184, "y": -2667.769689140573}, {"x": 9113.72705250018, "y": -2667.4275401413606}, {"x": 9114.072164937132, "y": -2667.085375244663}, {"x": 9114.417267110335, "y": -2666.7431999960404}, {"x": 9114.762364515771, "y": -2666.4010199379027}, {"x": 9115.107462641468, "y": -2666.058840608718}, {"x": 9115.452566976786, "y": -2665.7166675406506}, {"x": 9115.797683000486, "y": -2665.374506261925}, {"x": 9116.142816186039, "y": -2665.0323622928845}, {"x": 9116.48797199632, "y": -2664.6902411491433}, {"x": 9116.833155888908, "y": -2664.34814833686}, {"x": 9117.178373304174, "y": -2664.006089355889}, {"x": 9117.523629677187, "y": -2663.664069695051}, {"x": 9117.868930425808, "y": -2663.3220948360745}], "type": "lane"}, {"geometry": [{"x": 9116.108034302375, "y": -2661.0373643978805}, {"x": 9115.759499475453, "y": -2661.3733826913217}, {"x": 9115.41094540533, "y": -2661.709381022476}, {"x": 9115.062377016013, "y": -2662.045364500321}, {"x": 9114.713799242092, "y": -2662.3813382409267}, {"x": 9114.365217023462, "y": -2662.7173073713952}, {"x": 9114.016635311928, "y": -2663.0532770267105}, {"x": 9113.668059059297, "y": -2663.3892523473714}, {"x": 9113.319493231942, "y": -2663.725238480971}, {"x": 9112.970942794911, "y": -2664.0612405829806}, {"x": 9112.622412723842, "y": -2664.397263808874}, {"x": 9112.273907997023, "y": -2664.73331331964}, {"x": 9111.925433599363, "y": -2665.0693942802077}, {"x": 9111.57699451709, "y": -2665.405511854719}, {"x": 9111.228595741735, "y": -2665.7416712088907}, {"x": 9110.880242268797, "y": -2666.0778775068643}, {"x": 9110.531939095099, "y": -2666.4141359143578}, {"x": 9110.18369122276, "y": -2666.7504515915716}, {"x": 9109.83550364993, "y": -2667.0868296979193}, {"x": 9109.487381382702, "y": -2667.4232753872966}, {"x": 9109.13932942319, "y": -2667.7597938088725}, {"x": 9108.791352776167, "y": -2668.0963901062983}, {"x": 9108.443456447721, "y": -2668.4330694153455}, {"x": 9108.095645439977, "y": -2668.769836865481}, {"x": 9107.747924757698, "y": -2669.106697575927}, {"x": 9107.400299400357, "y": -2669.443656656448}, {"x": 9107.052774368749, "y": -2669.7807192057776}, {"x": 9106.705354661024, "y": -2670.117890313191}, {"x": 9106.358045270033, "y": -2670.455175051415}, {"x": 9106.010851187302, "y": -2670.792578484508}, {"x": 9105.663777401713, "y": -2671.130105657614}], "type": "lane"}, {"geometry": [{"x": 9116.108034302375, "y": -2661.0373643978805}, {"x": 9115.74862012181, "y": -2661.3832432736235}, {"x": 9115.38692864612, "y": -2661.7267367865434}, {"x": 9115.019811273929, "y": -2662.0644144928324}, {"x": 9114.643473271139, "y": -2662.391761850179}, {"x": 9114.253919046952, "y": -2662.703225172513}, {"x": 9113.847477150057, "y": -2662.99224287176}, {"x": 9113.421382528335, "y": -2663.2513246198}, {"x": 9112.974372959485, "y": -2663.4722487135523}, {"x": 9112.507230107476, "y": -2663.646439329167}, {"x": 9112.023168448599, "y": -2663.765555134846}, {"x": 9111.527958533085, "y": -2663.822268728647}, {"x": 9111.02967872743, "y": -2663.8111498918447}, {"x": 9110.538032949356, "y": -2663.7295017298447}, {"x": 9110.06325151886, "y": -2663.577962255642}, {"x": 9109.614691757612, "y": -2663.360699577494}, {"x": 9109.19934282251, "y": -2663.0851096055535}, {"x": 9108.820478962401, "y": -2662.7610617357577}, {"x": 9108.476674906802, "y": -2662.3998983374427}, {"x": 9108.16130715403, "y": -2662.013534667859}, {"x": 9107.862568328796, "y": -2661.6140924703154}], "type": "lane"}, {"geometry": [{"x": 9107.862568328796, "y": -2661.6140924703154}, {"x": 9107.567422485943, "y": -2661.212361171971}, {"x": 9107.272751031524, "y": -2660.810281783077}, {"x": 9106.978554377309, "y": -2660.407854861577}, {"x": 9106.68483293109, "y": -2660.0050809701456}, {"x": 9106.391587103313, "y": -2659.601960669091}, {"x": 9106.098817301776, "y": -2659.1984945195104}, {"x": 9105.806523934272, "y": -2658.7946830848646}, {"x": 9105.514707409922, "y": -2658.3905269262514}, {"x": 9105.223368133873, "y": -2657.986026607919}, {"x": 9104.932506511275, "y": -2657.5811826925415}, {"x": 9104.642122948597, "y": -2657.1759957451554}, {"x": 9104.35221785099, "y": -2656.77046633001}, {"x": 9104.062791619626, "y": -2656.3645950105674}, {"x": 9103.773844660982, "y": -2655.958382354228}, {"x": 9103.485377374904, "y": -2655.5518289268175}, {"x": 9103.19739016522, "y": -2655.1449352933732}, {"x": 9102.909883433105, "y": -2654.7377020220847}, {"x": 9102.622857577086, "y": -2654.330129678777}, {"x": 9102.336312999663, "y": -2653.922218833217}, {"x": 9102.05025009804, "y": -2653.5139700528043}, {"x": 9101.764669272068, "y": -2653.1053839057295}, {"x": 9101.479570918953, "y": -2652.6964609625456}, {"x": 9101.194955435898, "y": -2652.2872017914433}, {"x": 9100.910823218781, "y": -2651.877606963763}, {"x": 9100.627174664807, "y": -2651.4676770492715}, {"x": 9100.344010168532, "y": -2651.0574126200977}, {"x": 9100.061330125835, "y": -2650.6468142475837}, {"x": 9099.779134927301, "y": -2650.2358825030715}, {"x": 9099.497424968808, "y": -2649.8246179602666}, {"x": 9099.216200642266, "y": -2649.413021190511}, {"x": 9098.935462339581, "y": -2649.0010927682983}, {"x": 9098.655210450013, "y": -2648.588833267335}, {"x": 9098.375445366793, "y": -2648.176243262903}, {"x": 9098.096167479183, "y": -2647.7633233279194}, {"x": 9097.817377173795, "y": -2647.3500740392437}, {"x": 9097.539074842533, "y": -2646.9364959713685}, {"x": 9097.261260870688, "y": -2646.522589701941}, {"x": 9096.98393564487, "y": -2646.108355807031}, {"x": 9096.707099554338, "y": -2645.6937948627083}, {"x": 9096.430752981734, "y": -2645.2789074481957}, {"x": 9096.15489631367, "y": -2644.8636941403506}, {"x": 9095.87952993543, "y": -2644.448155518396}, {"x": 9095.604654228333, "y": -2644.032292159978}, {"x": 9095.330269576341, "y": -2643.616104646683}, {"x": 9095.056376362096, "y": -2643.1995935561577}, {"x": 9094.78297496691, "y": -2642.782759469988}, {"x": 9094.510065770777, "y": -2642.365602968972}, {"x": 9094.237649156335, "y": -2641.9481246331206}, {"x": 9093.965725500932, "y": -2641.5303250455963}, {"x": 9093.69429518323, "y": -2641.112204787198}, {"x": 9093.423358583223, "y": -2640.6937644402997}, {"x": 9093.152916076931, "y": -2640.27500458964}, {"x": 9092.882968041697, "y": -2639.8559258168057}, {"x": 9092.613514854866, "y": -2639.4365287073238}, {"x": 9092.344556888482, "y": -2639.0168138435683}, {"x": 9092.076094519893, "y": -2638.5967818118543}, {"x": 9091.808128122468, "y": -2638.1764331961326}, {"x": 9091.540658070902, "y": -2637.7557685835063}, {"x": 9091.273684734597, "y": -2637.3347885587136}, {"x": 9091.007208488247, "y": -2636.9134937088575}, {"x": 9090.741229702575, "y": -2636.491884621041}, {"x": 9090.475748746981, "y": -2636.0699618823674}, {"x": 9090.210765993515, "y": -2635.647726080727}, {"x": 9089.946281808925, "y": -2635.225177804799}, {"x": 9089.682296563937, "y": -2634.8023176424745}, {"x": 9089.418810623974, "y": -2634.37914618322}, {"x": 9089.155824358442, "y": -2633.955664017292}, {"x": 9088.89333813144, "y": -2633.5318717333685}, {"x": 9088.633978642387, "y": -2633.1120266675275}, {"x": 9088.375110761877, "y": -2632.691878309846}, {"x": 9088.116735686817, "y": -2632.2714267210044}, {"x": 9087.85885461279, "y": -2631.850671960895}, {"x": 9087.601468739354, "y": -2631.429614095715}, {"x": 9087.344579266062, "y": -2631.008253194813}, {"x": 9087.08818739247, "y": -2630.586589329114}, {"x": 9086.83229432078, "y": -2630.1646225758477}, {"x": 9086.576901253198, "y": -2629.7423530130327}, {"x": 9086.32200939325, "y": -2629.319780723414}, {"x": 9086.067619947115, "y": -2628.8969057928907}, {"x": 9085.813734120962, "y": -2628.4737283105123}, {"x": 9085.560353120973, "y": -2628.050248369271}, {"x": 9085.307478154642, "y": -2627.6264660660963}, {"x": 9085.055110433444, "y": -2627.2023814994964}, {"x": 9084.803251166202, "y": -2626.777994773495}, {"x": 9084.551901565712, "y": -2626.353305994479}, {"x": 9084.301062843444, "y": -2625.928315272777}, {"x": 9084.050736212195, "y": -2625.5030227218695}, {"x": 9083.800922890056, "y": -2625.0774284591766}, {"x": 9083.551624089821, "y": -2624.6515326052718}, {"x": 9083.302841029586, "y": -2624.2253352838798}, {"x": 9083.054574927439, "y": -2623.7988366242416}, {"x": 9082.806827001472, "y": -2623.372036756387}, {"x": 9082.559598472426, "y": -2622.944935815862}, {"x": 9082.31289056104, "y": -2622.517533940577}, {"x": 9082.066704489376, "y": -2622.0898312723816}, {"x": 9081.821041480825, "y": -2621.661827957855}, {"x": 9081.575902758772, "y": -2621.23352414594}, {"x": 9081.331289550579, "y": -2620.804919988732}, {"x": 9081.08720307963, "y": -2620.376015643054}, {"x": 9080.843644574612, "y": -2619.946811268882}, {"x": 9080.600615262885, "y": -2619.517307029343}, {"x": 9080.358116375779, "y": -2619.087503093083}, {"x": 9080.116149140655, "y": -2618.6573996295333}, {"x": 9079.874714790167, "y": -2618.2269968136425}, {"x": 9079.633814555647, "y": -2617.7962948243003}, {"x": 9079.393449671077, "y": -2617.3652938427595}, {"x": 9079.15362136911, "y": -2616.933994055002}, {"x": 9078.914330887701, "y": -2616.5023956493733}, {"x": 9078.675579459503, "y": -2616.070498819736}, {"x": 9078.437368323792, "y": -2615.638303762316}, {"x": 9078.199698717197, "y": -2615.205810678068}, {"x": 9077.962571878994, "y": -2614.7730197695228}, {"x": 9077.725989048458, "y": -2614.339931246304}, {"x": 9077.489951467514, "y": -2613.9065453188227}, {"x": 9077.25446037676, "y": -2613.472862202219}, {"x": 9077.019517019446, "y": -2613.0388821163606}, {"x": 9076.785122637493, "y": -2612.6046052826914}, {"x": 9076.5512784768, "y": -2612.170031929749}, {"x": 9076.317985781936, "y": -2611.735162286069}, {"x": 9076.0852457988, "y": -2611.2999965864938}, {"x": 9075.853059775933, "y": -2610.8645350682273}, {"x": 9075.621428959234, "y": -2610.4287779747806}, {"x": 9075.390354597243, "y": -2609.9927255496627}, {"x": 9075.15983794248, "y": -2609.5563780434763}, {"x": 9074.929880242162, "y": -2609.1197357083993}, {"x": 9074.70048275013, "y": -2608.6827988029154}, {"x": 9074.471646717577, "y": -2608.245567586295}, {"x": 9074.243373397016, "y": -2607.8080423241136}, {"x": 9074.01566404229, "y": -2607.3702232850987}, {"x": 9073.788519909886, "y": -2606.9321107411306}, {"x": 9073.561942253644, "y": -2606.493704968817}, {"x": 9073.335932328726, "y": -2606.0550062479183}, {"x": 9073.110491395597, "y": -2605.616014863712}, {"x": 9072.885508197469, "y": -2605.176513389535}, {"x": 9072.661091159065, "y": -2604.7367225563753}, {"x": 9072.437235615886, "y": -2604.296645656738}, {"x": 9072.21393689417, "y": -2603.8562859626372}, {"x": 9071.991190308234, "y": -2603.4156467271755}, {"x": 9071.768991160483, "y": -2602.974731186117}, {"x": 9071.547334745374, "y": -2602.5335425555245}, {"x": 9071.326216346775, "y": -2602.092084034124}, {"x": 9071.105631237962, "y": -2601.6503588033042}, {"x": 9070.885574681617, "y": -2601.2083700247517}, {"x": 9070.666041931152, "y": -2600.7661208436043}, {"x": 9070.447028232042, "y": -2600.3236143868744}, {"x": 9070.228528816515, "y": -2599.8808537642376}, {"x": 9070.010538911505, "y": -2599.43784206882}, {"x": 9069.793053732034, "y": -2598.9945823748335}, {"x": 9069.576068483846, "y": -2598.55107774073}, {"x": 9069.359578366075, "y": -2598.107331208412}, {"x": 9069.143578564612, "y": -2597.663345802444}, {"x": 9068.928064261372, "y": -2597.219124530842}, {"x": 9068.713030627683, "y": -2596.7746703858606}, {"x": 9068.49847282428, "y": -2596.3299863424177}, {"x": 9068.284386005273, "y": -2595.8850753596685}, {"x": 9068.070765318158, "y": -2595.439940381797}, {"x": 9067.85760589851, "y": -2594.9945843364367}, {"x": 9067.644902876615, "y": -2594.5490101354603}, {"x": 9067.432651374807, "y": -2594.1032206765562}, {"x": 9067.220846506158, "y": -2593.6572188400737}, {"x": 9067.00948337579, "y": -2593.2110074921793}, {"x": 9066.798557082211, "y": -2592.764589485641}, {"x": 9066.58806271598, "y": -2592.317967656678}, {"x": 9066.377995362363, "y": -2591.8711448265362}, {"x": 9066.16835009471, "y": -2591.424123802277}, {"x": 9065.959121983718, "y": -2590.976907379141}, {"x": 9065.750306089501, "y": -2590.5294983334543}, {"x": 9065.541897468194, "y": -2590.0818994320875}, {"x": 9065.333891167988, "y": -2589.6341134261497}, {"x": 9065.126282230456, "y": -2589.1861430517765}, {"x": 9064.919065687905, "y": -2588.7379910348595}, {"x": 9064.712236569989, "y": -2588.2896600847403}, {"x": 9064.505789898421, "y": -2587.841152899728}, {"x": 9064.299720688296, "y": -2587.392472163159}, {"x": 9064.094023949407, "y": -2586.9436205481243}, {"x": 9063.888694682282, "y": -2586.4946007135304}, {"x": 9063.683727886128, "y": -2586.045415304887}, {"x": 9063.479118552203, "y": -2585.5960669566693}, {"x": 9063.274861663824, "y": -2585.1465582915343}, {"x": 9063.070952200334, "y": -2584.6968919187398}, {"x": 9062.867385138432, "y": -2584.2470704373}, {"x": 9062.664155442895, "y": -2583.79709643362}], "type": "lane"}, {"geometry": [{"x": 8992.099952810238, "y": -2657.576995965634}, {"x": 8991.939576143695, "y": -2657.1108099996327}, {"x": 8991.784917652089, "y": -2656.6426997223202}, {"x": 8991.639152529584, "y": -2656.1717493902975}, {"x": 8991.505076593054, "y": -2655.697344543248}, {"x": 8991.385116426673, "y": -2655.219180894803}, {"x": 8991.281330965432, "y": -2654.737252999484}, {"x": 8991.195407975916, "y": -2654.251826498893}, {"x": 8991.128658785401, "y": -2653.7633975075873}, {"x": 8991.082014230384, "y": -2653.2726425706364}, {"x": 8991.056024152134, "y": -2652.7803625720458}, {"x": 8991.050862012196, "y": -2652.2874238692216}, {"x": 8991.066335412996, "y": -2651.7946997765425}, {"x": 8991.101902527515, "y": -2651.30301523426}, {"x": 8991.156693737626, "y": -2650.813097140382}, {"x": 8991.229537300087, "y": -2650.3255323669064}, {"x": 8991.318987418244, "y": -2649.840734983715}, {"x": 8991.423352985032, "y": -2649.358923703581}, {"x": 8991.540725199226, "y": -2648.880110092825}, {"x": 8991.66900248071, "y": -2648.4040977044538}, {"x": 8991.805911358108, "y": -2647.930491944639}, {"x": 8991.94902248138, "y": -2647.4587203242236}, {"x": 8992.095761351633, "y": -2646.9880625822193}, {"x": 8992.243413941549, "y": -2646.5176901974414}, {"x": 8992.389127958491, "y": -2646.0467147768177}, {"x": 8992.529911078274, "y": -2645.574244906651}, {"x": 8992.66262803896, "y": -2645.0994510231562}, {"x": 8992.783999046733, "y": -2644.6216378554395}, {"x": 8992.890602437184, "y": -2644.1403237931436}, {"x": 8992.978884944338, "y": -2643.6553262401744}, {"x": 8993.04518324632, "y": -2643.1668514910934}, {"x": 8993.085760590186, "y": -2642.6755869787735}, {"x": 8993.096862254819, "y": -2642.18279281359}, {"x": 8993.07575356095, "y": -2641.694727113677}, {"x": 8993.022236293296, "y": -2641.2091449118216}, {"x": 8992.936627645564, "y": -2640.728181479985}, {"x": 8992.819383851329, "y": -2640.2539356929015}, {"x": 8992.671096423832, "y": -2639.7884611577024}, {"x": 8992.492487852938, "y": -2639.3337577060443}, {"x": 8992.284406787063, "y": -2638.891763267662}, {"x": 8992.047822731814, "y": -2638.464346172621}, {"x": 8991.783820306438, "y": -2638.053297886213}, {"x": 8991.493593092442, "y": -2637.6603262174795}, {"x": 8991.178437106224, "y": -2637.2870490139585}, {"x": 8990.839743938033, "y": -2636.9349883592204}, {"x": 8990.478993593037, "y": -2636.60556529288}, {"x": 8990.097747080817, "y": -2636.3000950633386}, {"x": 8989.697638777148, "y": -2636.019782916403}, {"x": 8989.280368608343, "y": -2635.765720438701}, {"x": 8988.847694097914, "y": -2635.5388824487914}, {"x": 8988.401422302011, "y": -2635.34012443913}, {"x": 8987.943401685277, "y": -2635.1701805759794}, {"x": 8987.475513959644, "y": -2635.0296622422925}, {"x": 8986.999665940311, "y": -2634.919057121987}, {"x": 8986.517781434866, "y": -2634.838728820889}, {"x": 8986.031793205191, "y": -2634.788917010952}, {"x": 8985.543635048543, "y": -2634.7697380803997}, {"x": 8985.055234008398, "y": -2634.781186282716}, {"x": 8984.56850276004, "y": -2634.8231353695005}, {"x": 8984.085332185505, "y": -2634.8953406772443}, {"x": 8983.607584181547, "y": -2634.9974416617238}, {"x": 8983.137084711218, "y": -2635.12896485558}, {"x": 8982.66842779779, "y": -2635.2921251450794}, {"x": 8982.211006524509, "y": -2635.484545010149}, {"x": 8981.766717261446, "y": -2635.705600887618}, {"x": 8981.337431278042, "y": -2635.9545410438436}, {"x": 8980.924985849708, "y": -2636.230485629875}, {"x": 8980.531175220127, "y": -2636.5324273615443}, {"x": 8980.157741466875, "y": -2636.8592328363134}, {"x": 8979.806365306169, "y": -2637.2096445049933}, {"x": 8979.478656896268, "y": -2637.5822833274974}, {"x": 8979.176146656764, "y": -2637.975652110267}, {"x": 8978.900276201755, "y": -2638.388139548217}, {"x": 8978.65238939878, "y": -2638.818024975148}, {"x": 8978.433723623712, "y": -2639.26348382656}, {"x": 8978.245401273847, "y": -2639.722593805417}, {"x": 8978.088421586826, "y": -2640.193341764253}, {"x": 8977.963652824983, "y": -2640.6736312791923}, {"x": 8977.871824888685, "y": -2641.1612909017026}, {"x": 8977.813522406308, "y": -2641.654083081769}, {"x": 8977.789178382947, "y": -2642.149713724669}, {"x": 8977.799068429045, "y": -2642.6458423663717}, {"x": 8977.843305669567, "y": -2643.14009291634}, {"x": 8977.921836350924, "y": -2643.6300649464547}, {"x": 8978.034436225093, "y": -2644.113345472474}, {"x": 8978.180707749336, "y": -2644.587521178385}, {"x": 8978.3600781624, "y": -2645.050191030051}, {"x": 8978.571798465038, "y": -2645.4989792269394}, {"x": 8978.81054409671, "y": -2645.92537445402}, {"x": 8979.076013038211, "y": -2646.3356851933977}, {"x": 8979.364630198548, "y": -2646.7300751135986}, {"x": 8979.67306066129, "y": -2647.109188334275}, {"x": 8979.99822750314, "y": -2647.4740635460525}, {"x": 8980.337314490947, "y": -2647.8260535230584}, {"x": 8980.68775689703, "y": -2648.1667512590716}, {"x": 8981.047223554835, "y": -2648.4979232340193}, {"x": 8981.41359295521, "y": -2648.8214498194866}, {"x": 8981.784925958504, "y": -2649.139272459156}, {"x": 8982.159437292545, "y": -2649.453347048899}, {"x": 8982.53546775368, "y": -2649.7656028403603}, {"x": 8982.911458673176, "y": -2650.077906211586}, {"x": 8983.285929933327, "y": -2650.3920287136543}, {"x": 8983.657462550062, "y": -2650.709618971692}, {"x": 8984.024686537046, "y": -2651.0321781510697}, {"x": 8984.38627456763, "y": -2651.3610389178366}, {"x": 8984.740941635908, "y": -2651.6973479564535}, {"x": 8985.087450711568, "y": -2652.0420522835957}, {"x": 8985.42462413303, "y": -2652.3958896614336}, {"x": 8985.751360234386, "y": -2652.759383465012}, {"x": 8986.066654487244, "y": -2653.1328423449636}, {"x": 8986.369624290212, "y": -2653.5163649038404}, {"x": 8986.659536333591, "y": -2653.909849453845}, {"x": 8986.935835431073, "y": -2654.313008698341}, {"x": 8987.198173648025, "y": -2654.725388876926}, {"x": 8987.446438628733, "y": -2655.14639262304}, {"x": 8987.680780104463, "y": -2655.5753044205903}, {"x": 8987.901633777326, "y": -2656.0113172158685}, {"x": 8988.10974195898, "y": -2656.453558405324}, {"x": 8988.306170593472, "y": -2656.9011131384277}, {"x": 8988.492322543692, "y": -2657.3530425974545}, {"x": 8988.669947122953, "y": -2657.8083946922147}, {"x": 8988.84114595241, "y": -2658.26620446275}, {"x": 8989.008375070227, "y": -2658.7254812946744}, {"x": 8989.174442848887, "y": -2659.185180013225}], "type": "lane"}, {"geometry": [{"x": 8989.174442848887, "y": -2659.185180013225}, {"x": 8989.344310925153, "y": -2659.650832751885}, {"x": 8989.516195953292, "y": -2660.1157447644905}, {"x": 8989.690094706686, "y": -2660.5799073162116}, {"x": 8989.866003915024, "y": -2661.043311684826}, {"x": 8990.04392027357, "y": -2661.5059491615107}, {"x": 8990.223840439194, "y": -2661.9678110539894}, {"x": 8990.405761030364, "y": -2662.4288886825966}, {"x": 8990.589678629807, "y": -2662.889173382639}, {"x": 8990.775589780524, "y": -2663.3486565067606}, {"x": 8990.96349098977, "y": -2663.8073294186383}, {"x": 8991.153378726403, "y": -2664.2651835008633}, {"x": 8991.345249420887, "y": -2664.722210149422}, {"x": 8991.53909947058, "y": -2665.178400776063}, {"x": 8991.734925230478, "y": -2665.6337468082966}, {"x": 8991.932723021147, "y": -2666.0882396893926}, {"x": 8992.132489126088, "y": -2666.541870880748}, {"x": 8992.33421979172, "y": -2666.9946318555794}, {"x": 8992.5379112274, "y": -2667.446514108381}, {"x": 8992.743559605404, "y": -2667.897509146257}, {"x": 8992.951161060939, "y": -2668.3476084952235}, {"x": 8993.160711693465, "y": -2668.7968036970587}, {"x": 8993.372207564043, "y": -2669.2450863108784}, {"x": 8993.585644700639, "y": -2669.6924479131344}, {"x": 8993.80101909149, "y": -2670.138880097617}, {"x": 8994.01832668909, "y": -2670.5843744746644}, {"x": 8994.237563410188, "y": -2671.028922674318}, {"x": 8994.458725134451, "y": -2671.472516341591}, {"x": 8994.681807707131, "y": -2671.915147141198}, {"x": 8994.906806936404, "y": -2672.3568067567676}, {"x": 8995.133718593372, "y": -2672.7974868876895}, {"x": 8995.362538414716, "y": -2673.2371792530544}, {"x": 8995.593262100041, "y": -2673.675875591655}, {"x": 8995.82588531453, "y": -2674.11356765962}, {"x": 8996.060403686293, "y": -2674.5502472312055}, {"x": 8996.29681280902, "y": -2674.985906101944}, {"x": 8996.535108240641, "y": -2675.420536085492}, {"x": 8996.77528550203, "y": -2675.854129012846}, {"x": 8997.017340080944, "y": -2676.2866767386427}, {"x": 8997.26126742808, "y": -2676.7181711332796}, {"x": 8997.507062962353, "y": -2677.1486040884324}, {"x": 8997.754722061636, "y": -2677.577967517054}, {"x": 8998.004240073347, "y": -2678.0062533502232}, {"x": 8998.255612309158, "y": -2678.433453539508}, {"x": 8998.508834044991, "y": -2678.8595600577537}, {"x": 8998.76390052367, "y": -2679.284564898295}, {"x": 8999.020806950944, "y": -2679.7084600749567}, {"x": 8999.279548500788, "y": -2680.1312376220526}, {"x": 8999.540120308779, "y": -2680.5528895943867}, {"x": 8999.802517481367, "y": -2680.973408068827}, {"x": 9000.066735085278, "y": -2681.3927851450976}, {"x": 9000.332768156792, "y": -2681.8110129402576}, {"x": 9000.600611696436, "y": -2682.228083596585}, {"x": 9000.870260671638, "y": -2682.6439892776352}, {"x": 9001.141710015401, "y": -2683.0587221666656}, {"x": 9001.414954626305, "y": -2683.4722744705737}, {"x": 9001.689989369828, "y": -2683.884638419113}, {"x": 9001.96680907835, "y": -2684.2958062625244}, {"x": 9002.245408549827, "y": -2684.7057702754796}, {"x": 9002.525782549108, "y": -2685.1145227531397}, {"x": 9002.80792580795, "y": -2685.5220560158837}, {"x": 9003.091833023682, "y": -2685.928362405368}, {"x": 9003.377498861857, "y": -2686.333434286102}, {"x": 9003.664917956252, "y": -2686.7372640462386}, {"x": 9003.954084902247, "y": -2687.139844098359}, {"x": 9004.244994268742, "y": -2687.5411668771103}, {"x": 9004.537640588887, "y": -2687.9412248407816}, {"x": 9004.832018364063, "y": -2688.3400104728794}, {"x": 9005.128122061215, "y": -2688.737516278188}, {"x": 9005.425946116844, "y": -2689.133734788287}, {"x": 9005.725484934352, "y": -2689.5286585576064}, {"x": 9006.026732884031, "y": -2689.9222801650094}, {"x": 9006.329684308379, "y": -2690.314592213787}, {"x": 9006.634333511494, "y": -2690.7055873324484}, {"x": 9006.937129795984, "y": -2691.090780965061}, {"x": 9007.241538223427, "y": -2691.474701867344}, {"x": 9007.547517945384, "y": -2691.857371680145}, {"x": 9007.85502843118, "y": -2692.2388125029643}, {"x": 9008.164029471875, "y": -2692.61904688134}, {"x": 9008.474481165698, "y": -2692.998097794244}, {"x": 9008.786343924674, "y": -2693.3759886398934}, {"x": 9009.099578461373, "y": -2693.7527432286597}, {"x": 9009.414145784951, "y": -2694.128385765732}, {"x": 9009.730007202457, "y": -2694.5029408400833}, {"x": 9010.04712430164, "y": -2694.876433416589}, {"x": 9010.36545895623, "y": -2695.2488888194794}, {"x": 9010.684973315356, "y": -2695.620332723671}, {"x": 9011.00562979559, "y": -2695.9907911429436}, {"x": 9011.327391078317, "y": -2696.3602904173354}, {"x": 9011.650220103098, "y": -2696.728857204469}, {"x": 9011.974080058406, "y": -2697.0965184653705}, {"x": 9012.29893437634, "y": -2697.4633014557994}, {"x": 9012.624746727315, "y": -2697.829233714428}, {"x": 9012.951481012125, "y": -2698.1943430533847}, {"x": 9013.279101354003, "y": -2698.5586575456446}, {"x": 9013.607572091989, "y": -2698.9222055147848}, {"x": 9013.93685777432, "y": -2699.2850155278925}, {"x": 9014.266923150488, "y": -2699.6471163805927}, {"x": 9014.597733163282, "y": -2700.0085370883767}, {"x": 9014.929252942182, "y": -2700.3693068779357}, {"x": 9015.261447794086, "y": -2700.7294551753407}, {"x": 9015.594283199334, "y": -2701.089011598947}, {"x": 9015.927724795829, "y": -2701.448005943636}, {"x": 9016.261738381672, "y": -2701.8064681768738}, {"x": 9016.596289899291, "y": -2702.1644284268887}, {"x": 9016.931345427478, "y": -2702.5219169716415}, {"x": 9017.266871177431, "y": -2702.8789642301554}, {"x": 9017.602833484805, "y": -2703.2356007554217}, {"x": 9017.939198793825, "y": -2703.5918572202186}, {"x": 9018.275933657282, "y": -2703.9477644100148}, {"x": 9018.61300472462, "y": -2704.303353214304}, {"x": 9018.95037873135, "y": -2704.658654617145}, {"x": 9019.288022495062, "y": -2705.0136996853453}, {"x": 9019.62590290485, "y": -2705.368519562939}, {"x": 9019.963986909386, "y": -2705.723145457795}, {"x": 9020.302241515601, "y": -2706.077608636098}, {"x": 9020.640440081655, "y": -2706.431726716106}, {"x": 9020.978776081547, "y": -2706.7857134907476}, {"x": 9021.317249466287, "y": -2707.139568906435}, {"x": 9021.65586018159, "y": -2707.493292910369}, {"x": 9021.994608178467, "y": -2707.846885448961}, {"x": 9022.333493405284, "y": -2708.200346468623}, {"x": 9022.672515811726, "y": -2708.553675916556}, {"x": 9023.011675346159, "y": -2708.90687373996}, {"x": 9023.350971956945, "y": -2709.2599398844577}, {"x": 9023.69040559377, "y": -2709.6128742972505}, {"x": 9024.029976205, "y": -2709.9656769255384}, {"x": 9024.369683740322, "y": -2710.318347715733}, {"x": 9024.709528146774, "y": -2710.670886615035}, {"x": 9025.04950937537, "y": -2711.023293570644}, {"x": 9025.389627373148, "y": -2711.375568528185}, {"x": 9025.729882089794, "y": -2711.727711436433}, {"x": 9026.070273475, "y": -2712.0797222402243}, {"x": 9026.410801474476, "y": -2712.4316008883357}, {"x": 9026.751466039237, "y": -2712.7833473271794}, {"x": 9027.092267117647, "y": -2713.1349615031663}, {"x": 9027.433204658066, "y": -2713.486443363498}, {"x": 9027.774278608862, "y": -2713.8377928553737}, {"x": 9028.115488918394, "y": -2714.1890099267816}, {"x": 9028.456835536354, "y": -2714.540094523346}, {"x": 9028.798318411102, "y": -2714.8910465930553}, {"x": 9029.139937489677, "y": -2715.2418660823214}, {"x": 9029.481692723095, "y": -2715.5925529391325}, {"x": 9029.823584058391, "y": -2715.9431071099}, {"x": 9030.165611442608, "y": -2716.293528542614}, {"x": 9030.50777482808, "y": -2716.6438171828963}, {"x": 9030.850074159196, "y": -2716.9939729803123}, {"x": 9031.192509386972, "y": -2717.343995880486}, {"x": 9031.535080458443, "y": -2717.6938858306175}, {"x": 9031.877787323301, "y": -2718.043642778695}, {"x": 9032.220629928583, "y": -2718.3932666719184}, {"x": 9032.563608222652, "y": -2718.7427574567005}, {"x": 9032.906722155196, "y": -2719.0921150818162}, {"x": 9033.249971673256, "y": -2719.441339493679}, {"x": 9033.593356725194, "y": -2719.7904306394885}, {"x": 9033.936877260698, "y": -2720.1393884680206}, {"x": 9034.280533225483, "y": -2720.4882129249}, {"x": 9034.624324570561, "y": -2720.8369039589024}, {"x": 9034.968251241648, "y": -2721.1854615164402}, {"x": 9035.31231318843, "y": -2721.5338855455016}, {"x": 9035.656510359271, "y": -2721.8821759940743}], "type": "lane"}, {"geometry": [{"x": 9035.656510359271, "y": -2721.8821759940743}, {"x": 9035.995725336734, "y": -2722.2289507068813}, {"x": 9036.324073077916, "y": -2722.585983911964}, {"x": 9036.631398281383, "y": -2722.9611940095315}, {"x": 9036.90813877158, "y": -2723.3594233880335}, {"x": 9037.145384518035, "y": -2723.782306909961}, {"x": 9037.335243636135, "y": -2724.228427419246}, {"x": 9037.471338752852, "y": -2724.6937399510844}, {"x": 9037.549271304877, "y": -2725.172224122249}, {"x": 9037.566928994213, "y": -2725.6566898356464}, {"x": 9037.524565591713, "y": -2726.1396353497194}, {"x": 9037.424641202906, "y": -2726.6140508647045}, {"x": 9037.271462476821, "y": -2727.0740770219677}, {"x": 9037.0706961174, "y": -2727.5154603138153}, {"x": 9036.828841661672, "y": -2727.9357861649178}, {"x": 9036.552742186901, "y": -2728.3345053188423}, {"x": 9036.24919089479, "y": -2728.7127931217037}, {"x": 9035.92466461688, "y": -2729.073291824972}, {"x": 9035.585189097561, "y": -2729.4197846487937}, {"x": 9035.23631969132, "y": -2729.756841034725}, {"x": 9034.883206770268, "y": -2730.089460095379}], "type": "lane"}, {"geometry": [{"x": 9035.656510359271, "y": -2721.8821759940743}, {"x": 9036.005912256918, "y": -2722.234165148348}, {"x": 9036.359200874447, "y": -2722.5822463258664}, {"x": 9036.719729730665, "y": -2722.9228107343574}, {"x": 9037.09034376464, "y": -2723.2523554673317}, {"x": 9037.473312238715, "y": -2723.567438559579}, {"x": 9037.870280397485, "y": -2723.8646680765137}, {"x": 9038.282239662938, "y": -2724.140721405822}, {"x": 9038.709517350864, "y": -2724.3923896519013}, {"x": 9039.151787292069, "y": -2724.616641004354}, {"x": 9039.608102515638, "y": -2724.810696262276}, {"x": 9040.076950327859, "y": -2724.9721092973014}, {"x": 9040.556328940773, "y": -2725.0988453045647}, {"x": 9041.043843419404, "y": -2725.1893501809286}, {"x": 9041.536817382084, "y": -2725.2426053131103}, {"x": 9042.032415664933, "y": -2725.2581634437583}, {"x": 9042.527772376377, "y": -2725.2361629250495}, {"x": 9043.020118328084, "y": -2725.177319548108}, {"x": 9043.506901934523, "y": -2725.0828969924232}, {"x": 9043.985898234814, "y": -2724.954658677107}, {"x": 9044.455301630544, "y": -2724.7948052671386}, {"x": 9044.91379913015, "y": -2724.6059031366512}, {"x": 9045.360622247566, "y": -2724.3908097682483}, {"x": 9045.795576977867, "y": -2724.152602200527}, {"x": 9046.219052359662, "y": -2723.8945144334534}, {"x": 9046.632008916455, "y": -2723.619889076302}, {"x": 9047.03594860025, "y": -2723.3321476331557}, {"x": 9047.432867732156, "y": -2723.0347827531464}, {"x": 9047.825193813884, "y": -2722.731374497543}, {"x": 9048.215705990347, "y": -2722.425631292736}], "type": "lane"}, {"geometry": [{"x": 9037.01677932231, "y": -2718.1334435256103}, {"x": 9036.673118953859, "y": -2717.7846345516987}, {"x": 9036.329525482472, "y": -2717.4357596819877}, {"x": 9035.985998918737, "y": -2717.0868189298753}, {"x": 9035.6425392759, "y": -2716.7378123079698}, {"x": 9035.299146565872, "y": -2716.388739828092}, {"x": 9034.955820803221, "y": -2716.03960150364}, {"x": 9034.61256199986, "y": -2715.690397347221}, {"x": 9034.269370167707, "y": -2715.341127371445}, {"x": 9033.926245320003, "y": -2714.991791589709}, {"x": 9033.583187469985, "y": -2714.6423900146215}, {"x": 9033.240196629573, "y": -2714.2929226587917}, {"x": 9032.897272812004, "y": -2713.9433895348284}, {"x": 9032.554416029194, "y": -2713.5937906561285}, {"x": 9032.211626294385, "y": -2713.244126035301}, {"x": 9031.868903619494, "y": -2712.8943956849553}, {"x": 9031.526248017759, "y": -2712.5445996184876}, {"x": 9031.183659501095, "y": -2712.194737848507}, {"x": 9030.841138082746, "y": -2711.8448103876226}, {"x": 9030.498683775948, "y": -2711.4948172484433}, {"x": 9030.156296591294, "y": -2711.1447584443663}, {"x": 9029.813976543352, "y": -2710.794633988788}, {"x": 9029.47172364271, "y": -2710.44444389353}, {"x": 9029.129537903935, "y": -2710.0941881719887}, {"x": 9028.78741933894, "y": -2709.7438668375617}, {"x": 9028.44536795964, "y": -2709.393479902857}, {"x": 9028.103383779282, "y": -2709.043027379696}, {"x": 9027.761466809776, "y": -2708.6925092830515}, {"x": 9027.41961706304, "y": -2708.341925623957}, {"x": 9027.077834553638, "y": -2707.991276416597}, {"x": 9026.736119292163, "y": -2707.6405616735806}, {"x": 9026.394471291855, "y": -2707.2897814075163}, {"x": 9026.052890565952, "y": -2706.9389356318015}, {"x": 9025.711377126372, "y": -2706.5880243590454}, {"x": 9025.36993098503, "y": -2706.2370476026445}, {"x": 9025.028552153844, "y": -2705.886005375208}, {"x": 9024.687240647376, "y": -2705.534897690132}, {"x": 9024.345996477545, "y": -2705.1837245600263}, {"x": 9024.00481965494, "y": -2704.8324859975}, {"x": 9023.663710194125, "y": -2704.481182016738}, {"x": 9023.32266810702, "y": -2704.1298126295605}, {"x": 9022.981693405536, "y": -2703.7783778493654}, {"x": 9022.640786102917, "y": -2703.4268776895487}, {"x": 9022.29489164187, "y": -2703.07008439914}, {"x": 9021.949105973617, "y": -2702.713185673719}, {"x": 9021.603468496805, "y": -2702.356143432768}, {"x": 9021.258018656416, "y": -2701.998919648568}, {"x": 9020.912795957016, "y": -2701.6414763525054}, {"x": 9020.567839977317, "y": -2701.2837756516187}, {"x": 9020.223190379438, "y": -2700.9257797427863}, {"x": 9019.87888692613, "y": -2700.567450923757}, {"x": 9019.534969483411, "y": -2700.2087516065485}, {"x": 9019.191478047058, "y": -2699.849644331632}, {"x": 9018.848452741271, "y": -2699.4900917805408}, {"x": 9018.505933841192, "y": -2699.130056791631}, {"x": 9018.163961776872, "y": -2698.7695023687515}, {"x": 9017.822577150484, "y": -2698.4083917009457}, {"x": 9017.481820746909, "y": -2698.0466881695406}, {"x": 9017.141733544342, "y": -2697.684355369429}, {"x": 9016.802356728842, "y": -2697.3213571161587}, {"x": 9016.463731702286, "y": -2696.9576574640596}, {"x": 9016.125900092957, "y": -2696.593220718063}, {"x": 9015.7889037754, "y": -2696.2280114502532}, {"x": 9015.45278486778, "y": -2695.8619945132614}, {"x": 9015.117585757042, "y": -2695.495135053665}, {"x": 9014.783349097575, "y": -2695.127398527748}, {"x": 9014.450117832406, "y": -2694.7587507164744}, {"x": 9014.11793519452, "y": -2694.389157739672}, {"x": 9013.786844721424, "y": -2694.018586072584}, {"x": 9013.456890267063, "y": -2693.64700256084}, {"x": 9013.128116008447, "y": -2693.2743744322775}, {"x": 9012.800566454905, "y": -2692.9006693190063}, {"x": 9012.474286460018, "y": -2692.525855268445}, {"x": 9012.149321229545, "y": -2692.1499007606535}, {"x": 9011.825716329384, "y": -2691.772774724887}, {"x": 9011.503517697476, "y": -2691.3944465553514}, {"x": 9011.182771646461, "y": -2691.014886128547}, {"x": 9010.863524878236, "y": -2690.634063819025}, {"x": 9010.545824486608, "y": -2690.251950517514}, {"x": 9010.229717967879, "y": -2689.8685176482586}, {"x": 9009.915253228803, "y": -2689.4837371832023}, {"x": 9009.602478589219, "y": -2689.0975816640553}, {"x": 9009.291442791327, "y": -2688.7100242172655}, {"x": 9008.98219500896, "y": -2688.321038572934}, {"x": 9008.675161417956, "y": -2687.9310944756353}, {"x": 9008.36996761799, "y": -2687.539708768055}, {"x": 9008.066620377413, "y": -2687.146890132223}, {"x": 9007.765126426182, "y": -2686.7526472785394}, {"x": 9007.465492447916, "y": -2686.356988951292}, {"x": 9007.167725089155, "y": -2685.9599239255012}, {"x": 9006.871830954076, "y": -2685.561461007711}, {"x": 9006.577816604486, "y": -2685.1616090351986}, {"x": 9006.285688562468, "y": -2684.7603768744007}, {"x": 9005.995453305095, "y": -2684.357773426427}, {"x": 9005.707117269716, "y": -2683.9538076183935}, {"x": 9005.42068685131, "y": -2683.548488410516}, {"x": 9005.136168403817, "y": -2683.141824791378}, {"x": 9004.853568233508, "y": -2682.7338257802994}, {"x": 9004.57289261223, "y": -2682.324500426545}, {"x": 9004.294147761519, "y": -2681.91385780775}, {"x": 9004.017339865837, "y": -2681.5019070314966}, {"x": 9003.742475063307, "y": -2681.088657233735}, {"x": 9003.46955944836, "y": -2680.674117580364}, {"x": 9003.198599077032, "y": -2680.2582972640753}, {"x": 9002.92959995504, "y": -2679.841205507506}, {"x": 9002.66256805236, "y": -2679.4228515616646}, {"x": 9002.397509287326, "y": -2679.003244703565}, {"x": 9002.13442953988, "y": -2678.5823942409547}, {"x": 9001.87333464627, "y": -2678.1603095068003}, {"x": 9001.614230395078, "y": -2677.7369998616496}, {"x": 9001.35712253252, "y": -2677.3124746944204}, {"x": 9001.102016762443, "y": -2676.886743420037}, {"x": 9000.84891874235, "y": -2676.4598154802165}, {"x": 9000.59783408341, "y": -2676.0317003442597}, {"x": 9000.348768357066, "y": -2675.6024075066834}, {"x": 9000.101727085776, "y": -2675.1719464888006}, {"x": 8999.856715748303, "y": -2674.7403268363514}, {"x": 8999.613739778397, "y": -2674.30755812266}, {"x": 8999.372804564788, "y": -2673.87364994548}, {"x": 8999.133915451192, "y": -2673.4386119285696}, {"x": 8998.897077736305, "y": -2673.0024537193303}, {"x": 8998.662296672488, "y": -2672.565184992745}, {"x": 8998.429577465758, "y": -2672.1268154450745}, {"x": 8998.198925279763, "y": -2671.6873547985842}, {"x": 8997.970345226518, "y": -2671.2468128007595}, {"x": 8997.743842378315, "y": -2670.8051992211495}, {"x": 8997.519421757132, "y": -2670.362523854522}, {"x": 8997.297088341258, "y": -2669.9187965184983}, {"x": 8997.076847061317, "y": -2669.474027054342}, {"x": 8996.858702801588, "y": -2669.028225325381}, {"x": 8996.642660398695, "y": -2668.581401219374}, {"x": 8996.428724646883, "y": -2668.133564645357}, {"x": 8996.216900288766, "y": -2667.6847255367966}, {"x": 8996.007192023266, "y": -2667.234893847647}, {"x": 8995.79960450164, "y": -2666.7840795531415}, {"x": 8995.594142326154, "y": -2666.3322926537307}, {"x": 8995.390810055385, "y": -2665.879543167203}, {"x": 8995.189612197597, "y": -2665.425841136564}, {"x": 8994.990553216034, "y": -2664.971196622156}, {"x": 8994.793637524956, "y": -2664.515619708753}, {"x": 8994.598869490956, "y": -2664.059120499253}, {"x": 8994.40625343561, "y": -2663.601709117831}, {"x": 8994.215793627538, "y": -2663.1433957099407}, {"x": 8994.02749429431, "y": -2662.684190439949}, {"x": 8993.841359610538, "y": -2662.2241034919234}, {"x": 8993.657393704494, "y": -2661.7631450696344}, {"x": 8993.475600655462, "y": -2661.3013253973404}, {"x": 8993.29598449638, "y": -2660.838654715062}, {"x": 8993.118549211209, "y": -2660.3751432864606}, {"x": 8992.943298733586, "y": -2659.910801390172}, {"x": 8992.770236952136, "y": -2659.4456393245314}, {"x": 8992.59936770385, "y": -2658.979667406002}, {"x": 8992.43069477805, "y": -2658.512895968382}, {"x": 8992.264221916397, "y": -2658.0453353651724}, {"x": 8992.099952810238, "y": -2657.576995965634}], "type": "lane"}, {"geometry": [{"x": 9046.268471653271, "y": -2720.229628248907}, {"x": 9045.876600114352, "y": -2720.5329320230485}, {"x": 9045.475817929291, "y": -2720.824294718445}, {"x": 9045.058796795347, "y": -2721.0917877620363}, {"x": 9044.621673740132, "y": -2721.324852363537}, {"x": 9044.164046657028, "y": -2721.5143708086407}, {"x": 9043.688574693037, "y": -2721.6530244491482}, {"x": 9043.200272945895, "y": -2721.7357054709355}, {"x": 9042.705612936523, "y": -2721.759800336988}, {"x": 9042.211563101027, "y": -2721.725239226192}, {"x": 9041.724704409831, "y": -2721.634287901811}, {"x": 9041.250529749175, "y": -2721.4911268012656}, {"x": 9040.792990279962, "y": -2721.301303660003}, {"x": 9040.354301820764, "y": -2721.0711568810984}, {"x": 9039.934982655006, "y": -2720.807292255564}, {"x": 9039.534068645951, "y": -2720.51616588918}, {"x": 9039.149443191234, "y": -2720.203792422596}, {"x": 9038.778224401245, "y": -2719.8755684946173}, {"x": 9038.417164025448, "y": -2719.5361816443183}, {"x": 9038.06302650662, "y": -2719.1895657440273}, {"x": 9037.712928825764, "y": -2718.838864648592}, {"x": 9037.364631469778, "y": -2718.4863738720264}, {"x": 9037.01677932231, "y": -2718.1334435256103}], "type": "lane"}, {"geometry": [{"x": 9046.268471653271, "y": -2720.229628248907}, {"x": 9045.885921234865, "y": -2720.529407079316}, {"x": 9045.504538689614, "y": -2720.830670311533}, {"x": 9045.124311529435, "y": -2721.1333904754483}, {"x": 9044.745226793564, "y": -2721.437540052878}, {"x": 9044.367271064459, "y": -2721.743091488601}, {"x": 9043.990430470441, "y": -2722.050017196662}, {"x": 9043.614690696284, "y": -2722.358289571403}, {"x": 9043.240036996458, "y": -2722.6678809961354}, {"x": 9042.866454199102, "y": -2722.9787638502285}, {"x": 9042.49392672059, "y": -2723.2909105193567}, {"x": 9042.122438573468, "y": -2723.6042934018033}, {"x": 9041.751973375727, "y": -2723.9188849187044}, {"x": 9041.382514364042, "y": -2724.2346575179918}, {"x": 9041.014044404366, "y": -2724.551583682271}, {"x": 9040.646546002523, "y": -2724.8696359390656}, {"x": 9040.280001310817, "y": -2725.1887868631848}, {"x": 9039.914392146587, "y": -2725.5090090853882}, {"x": 9039.54969999881, "y": -2725.830275297905}, {"x": 9039.185906044, "y": -2726.152558260736}, {"x": 9038.822991150171, "y": -2726.475830807173}, {"x": 9038.460935898032, "y": -2726.800065848525}, {"x": 9038.0997205876, "y": -2727.125236380422}, {"x": 9037.73932524879, "y": -2727.4513154867577}, {"x": 9037.379729659957, "y": -2727.7782763459923}, {"x": 9037.020913351866, "y": -2728.106092233517}, {"x": 9036.662855628876, "y": -2728.434736529535}, {"x": 9036.305535572912, "y": -2728.764182718273}, {"x": 9035.94893206332, "y": -2729.0944043974373}, {"x": 9035.593023784826, "y": -2729.4253752797918}, {"x": 9035.23778924208, "y": -2729.757069194732}, {"x": 9034.883206770268, "y": -2730.089460095379}], "type": "lane"}, {"geometry": [{"x": 9036.77453964378, "y": -2732.3741905343604}, {"x": 9037.130736734449, "y": -2732.0387784211152}, {"x": 9037.487558748493, "y": -2731.7040312101763}, {"x": 9037.84503316977, "y": -2731.369980804479}, {"x": 9038.20318723851, "y": -2731.0366592031005}, {"x": 9038.562047903673, "y": -2730.704098471317}, {"x": 9038.921641776586, "y": -2730.3723307004084}, {"x": 9039.281995087262, "y": -2730.0413879737753}, {"x": 9039.643133639387, "y": -2729.7113023298984}, {"x": 9040.005082767939, "y": -2729.382105726089}, {"x": 9040.367867292862, "y": -2729.053829996721}, {"x": 9040.73151147404, "y": -2728.7265068201327}, {"x": 9041.09603897952, "y": -2728.4001676721327}, {"x": 9041.461472833884, "y": -2728.074843788959}, {"x": 9041.82783538117, "y": -2727.7505661270893}, {"x": 9042.195148249122, "y": -2727.4273653175337}, {"x": 9042.56343230683, "y": -2727.1052716240674}, {"x": 9042.932707627648, "y": -2726.7843148983125}, {"x": 9043.302993453452, "y": -2726.4645245356032}, {"x": 9043.674308164187, "y": -2726.145929426132}, {"x": 9044.046669234169, "y": -2725.828557910813}, {"x": 9044.420093208264, "y": -2725.512437730061}, {"x": 9044.7945956648, "y": -2725.197595974931}, {"x": 9045.17019119043, "y": -2724.8840590382606}, {"x": 9045.546893343037, "y": -2724.57185256029}, {"x": 9045.924714634546, "y": -2724.2610013774433}, {"x": 9046.30366649383, "y": -2723.9515294687358}, {"x": 9046.683759252164, "y": -2723.6434599014005}, {"x": 9047.065002111432, "y": -2723.336814773361}, {"x": 9047.447403128253, "y": -2723.0316151596403}, {"x": 9047.830969187491, "y": -2722.72788104932}, {"x": 9048.215705990347, "y": -2722.425631292736}], "type": "lane"}, {"geometry": [{"x": 9036.77453964378, "y": -2732.3741905343604}, {"x": 9037.132486262248, "y": -2732.036151326358}, {"x": 9037.488169524795, "y": -2731.695734653445}, {"x": 9037.838832727199, "y": -2731.3501555737193}, {"x": 9038.181789172411, "y": -2730.996935910876}, {"x": 9038.514382435607, "y": -2730.633952033352}, {"x": 9038.833964965495, "y": -2730.259473764669}, {"x": 9039.137894081825, "y": -2729.8721949104197}, {"x": 9039.423543859726, "y": -2729.471255158387}, {"x": 9039.68833083012, "y": -2729.056252599205}, {"x": 9039.929751024265, "y": -2728.627245913217}, {"x": 9040.145425453593, "y": -2728.1847452770808}, {"x": 9040.33315086044, "y": -2727.7296913037153}, {"x": 9040.490952389915, "y": -2727.2634217248046}, {"x": 9040.61713483713, "y": -2726.787626083002}, {"x": 9040.710329244508, "y": -2726.304289310949}, {"x": 9040.769531986636, "y": -2725.815625677863}, {"x": 9040.794133936928, "y": -2725.324005169199}, {"x": 9040.783937964468, "y": -2724.8318747983135}, {"x": 9040.739163741491, "y": -2724.3416776942254}, {"x": 9040.660439628507, "y": -2723.855772900211}, {"x": 9040.548782226257, "y": -2723.376358799035}, {"x": 9040.405564915847, "y": -2722.9054028142755}, {"x": 9040.232477377056, "y": -2722.4445796667983}, {"x": 9040.031478593835, "y": -2721.9952199114477}, {"x": 9039.804746224068, "y": -2721.5582699352403}, {"x": 9039.554625401317, "y": -2721.134263943498}, {"x": 9039.283580031022, "y": -2720.7233079212956}, {"x": 9038.994149568116, "y": -2720.325075061155}, {"x": 9038.68891393994, "y": -2719.938811792471}, {"x": 9038.370468961997, "y": -2719.563353366927}, {"x": 9038.041414149073, "y": -2719.1971479620242}, {"x": 9037.704354353053, "y": -2718.838288449259}, {"x": 9037.361916144926, "y": -2718.4845514061244}, {"x": 9037.01677932231, "y": -2718.1334435256103}], "type": "lane"}, {"geometry": [{"x": 8955.447226093374, "y": -2794.7717315551895}, {"x": 8955.104614741465, "y": -2794.4130060524035}, {"x": 8954.76303239497, "y": -2794.0533005629777}, {"x": 8954.422479194236, "y": -2793.692620553666}, {"x": 8954.08295524651, "y": -2793.330971478616}, {"x": 8953.744460631226, "y": -2792.9683587746367}, {"x": 8953.406995394731, "y": -2792.604787866717}, {"x": 8953.070559558206, "y": -2792.2402641617186}, {"x": 8952.735153109736, "y": -2791.8747930523205}, {"x": 8952.400776012248, "y": -2791.5083799162276}, {"x": 8952.067428194247, "y": -2791.1410301169594}, {"x": 8951.7351095604, "y": -2790.772748999911}, {"x": 8951.403819983607, "y": -2790.40354189708}, {"x": 8951.073559308954, "y": -2790.0334141239136}, {"x": 8950.74432735373, "y": -2789.6623709816768}, {"x": 8950.416123906092, "y": -2789.2904177535065}, {"x": 8950.08894872772, "y": -2788.9175597083563}, {"x": 8949.762801548512, "y": -2788.5438020994175}, {"x": 8949.437682075863, "y": -2788.169150163333}, {"x": 8949.113589986711, "y": -2787.793609121773}, {"x": 8948.790524928874, "y": -2787.4171841774923}, {"x": 8948.468486526328, "y": -2787.039880520639}, {"x": 8948.147474372605, "y": -2786.661703324023}, {"x": 8947.82748803872, "y": -2786.282657742329}, {"x": 8947.508527065245, "y": -2785.902748916056}, {"x": 8947.190590966264, "y": -2785.521981968367}, {"x": 8946.873679229388, "y": -2785.140362006663}, {"x": 8946.557791318386, "y": -2784.7578941202196}, {"x": 8946.242926669234, "y": -2784.3745833841276}, {"x": 8945.929084690099, "y": -2783.990434854565}, {"x": 8945.616264766633, "y": -2783.6054535727358}, {"x": 8945.304466255371, "y": -2783.219644561719}, {"x": 8944.993688490333, "y": -2782.8330128288326}, {"x": 8944.683930777735, "y": -2782.445563364057}, {"x": 8944.375192399966, "y": -2782.057301140035}, {"x": 8944.067472615576, "y": -2781.6682311128625}, {"x": 8943.76077065399, "y": -2781.2783582228703}, {"x": 8943.455085724772, "y": -2780.8876873906916}, {"x": 8943.150417008359, "y": -2780.496223521196}, {"x": 8942.846763664003, "y": -2780.1039715034926}, {"x": 8942.544124827125, "y": -2779.710936207778}, {"x": 8942.242499604014, "y": -2779.317122486122}, {"x": 8941.941887082427, "y": -2778.9225351764103}, {"x": 8941.642286323637, "y": -2778.527179096039}, {"x": 8941.343696366412, "y": -2778.131059046643}, {"x": 8941.046116224363, "y": -2777.7341798125194}, {"x": 8940.749544888593, "y": -2777.336546159053}, {"x": 8940.453981327693, "y": -2776.9381628374426}, {"x": 8940.15942448643, "y": -2776.539034576822}, {"x": 8939.865873284405, "y": -2776.1391660921395}, {"x": 8939.573326624015, "y": -2775.738562080218}, {"x": 8939.281783378523, "y": -2775.337227218968}, {"x": 8938.991242403981, "y": -2774.9351661697497}, {"x": 8938.701702529966, "y": -2774.532383575798}, {"x": 8938.413162566187, "y": -2774.1288840622237}, {"x": 8938.125621301175, "y": -2773.7246722383748}, {"x": 8937.839077498298, "y": -2773.319752692323}, {"x": 8937.553529902396, "y": -2772.914129997954}, {"x": 8937.268977234473, "y": -2772.5078087094535}, {"x": 8936.985418194345, "y": -2772.1007933628803}, {"x": 8936.702851461974, "y": -2771.6930884777444}, {"x": 8936.421275694813, "y": -2771.284698553855}, {"x": 8936.140689529124, "y": -2770.8756280752596}, {"x": 8935.861091581317, "y": -2770.465881506304}, {"x": 8935.582480445291, "y": -2770.055463293998}, {"x": 8935.304854697732, "y": -2769.6443778672246}, {"x": 8935.028212890167, "y": -2769.23262963753}, {"x": 8934.752553556918, "y": -2768.8202229975477}, {"x": 8934.477875211118, "y": -2768.407162321785}, {"x": 8934.204176347364, "y": -2767.9934519682006}, {"x": 8933.931455437745, "y": -2767.579096275051}, {"x": 8933.659710935815, "y": -2767.164099562468}, {"x": 8933.388941276591, "y": -2766.7484661348226}, {"x": 8933.11914487258, "y": -2766.332200275207}, {"x": 8932.850320120408, "y": -2765.9153062501655}, {"x": 8932.582465395504, "y": -2765.4977883089045}, {"x": 8932.315579054773, "y": -2765.079650680929}, {"x": 8932.04965943658, "y": -2764.660897579194}, {"x": 8931.784704856776, "y": -2764.2415331961674}, {"x": 8931.520713619306, "y": -2763.8215617093415}, {"x": 8931.257684004275, "y": -2763.400987274144}, {"x": 8930.99561427458, "y": -2762.979814032605}, {"x": 8930.734502675901, "y": -2762.558046103903}, {"x": 8930.474347435389, "y": -2762.1356875922406}, {"x": 8930.215146760329, "y": -2761.7127425821204}, {"x": 8929.956898843444, "y": -2761.2892151407077}, {"x": 8929.699601856271, "y": -2760.865109316255}, {"x": 8929.443253954463, "y": -2760.4404291388873}, {"x": 8929.187853277781, "y": -2760.015178621395}, {"x": 8928.933397946126, "y": -2759.589361758442}, {"x": 8928.679886060865, "y": -2759.1629825242017}, {"x": 8928.427315711448, "y": -2758.7360448778763}, {"x": 8928.175684964817, "y": -2758.308552758177}, {"x": 8927.924991874672, "y": -2757.880510088055}, {"x": 8927.675234476179, "y": -2757.4519207683948}, {"x": 8927.426410788614, "y": -2757.022788686685}, {"x": 8927.178518815368, "y": -2756.5931177083476}, {"x": 8926.931556542617, "y": -2756.1629116830436}, {"x": 8926.685521939324, "y": -2755.7321744407336}, {"x": 8926.440412959892, "y": -2755.300909795616}, {"x": 8926.19622754283, "y": -2754.8691215406116}, {"x": 8925.952963610767, "y": -2754.436813453669}, {"x": 8925.710619067786, "y": -2754.003989292246}, {"x": 8925.46919180871, "y": -2753.570652796465}, {"x": 8925.228679704525, "y": -2753.1368076898966}, {"x": 8924.9890806196, "y": -2752.702457675625}, {"x": 8924.75039239447, "y": -2752.267606440182}, {"x": 8924.512612861727, "y": -2751.832257652765}, {"x": 8924.275739834098, "y": -2751.3964149620797}, {"x": 8924.039771113728, "y": -2750.96008200186}, {"x": 8923.80470448289, "y": -2750.52326238535}, {"x": 8923.570537713276, "y": -2750.085959710032}, {"x": 8923.337268560683, "y": -2749.648177554476}, {"x": 8923.10489476502, "y": -2749.20991947755}, {"x": 8922.873414055604, "y": -2748.771189024725}, {"x": 8922.642824144545, "y": -2748.331989718619}, {"x": 8922.413122730706, "y": -2747.892325066875}, {"x": 8922.184307497067, "y": -2747.4521985598003}, {"x": 8921.956376117338, "y": -2747.0116136680017}, {"x": 8921.729326248013, "y": -2746.570573845534}, {"x": 8921.502185148922, "y": -2746.127182532535}, {"x": 8921.275931091963, "y": -2745.6833379146296}, {"x": 8921.050564381656, "y": -2745.2390420722913}, {"x": 8920.826085315908, "y": -2744.794297082051}, {"x": 8920.602494188646, "y": -2744.349105019652}, {"x": 8920.379791287183, "y": -2743.9034679600513}, {"x": 8920.157976896182, "y": -2743.457387974263}, {"x": 8919.937051291037, "y": -2743.0108671317266}, {"x": 8919.717014743172, "y": -2742.5639075026693}, {"x": 8919.497867521357, "y": -2742.1165111525906}, {"x": 8919.279609885103, "y": -2741.6686801454125}, {"x": 8919.062242091268, "y": -2741.2204165450585}, {"x": 8918.845764391412, "y": -2740.7717224115104}, {"x": 8918.630177030478, "y": -2740.3225998031753}, {"x": 8918.415480249438, "y": -2739.873050778459}, {"x": 8918.201674282642, "y": -2739.423077391828}, {"x": 8917.988759359143, "y": -2738.9726816953844}, {"x": 8917.776735705347, "y": -2738.5218657412297}, {"x": 8917.565603541041, "y": -2738.0706315783136}, {"x": 8917.35536307939, "y": -2737.61898125401}, {"x": 8917.146014529591, "y": -2737.1669168125404}, {"x": 8916.937558095538, "y": -2736.7144402973377}, {"x": 8916.72999397716, "y": -2736.2615537510474}, {"x": 8916.52332236776, "y": -2735.808259210798}, {"x": 8916.317543456673, "y": -2735.3545587145068}, {"x": 8916.11265742529, "y": -2734.9004542969383}, {"x": 8915.908664453676, "y": -2734.4459479920693}, {"x": 8915.705564715276, "y": -2733.991041829936}, {"x": 8915.50335837824, "y": -2733.5357378389986}, {"x": 8915.302045605422, "y": -2733.080038046141}, {"x": 8915.101626555703, "y": -2732.6239444774596}, {"x": 8914.902101381344, "y": -2732.167459153534}, {"x": 8914.703470230634, "y": -2731.710584095731}, {"x": 8914.505733246568, "y": -2731.2533213222678}, {"x": 8914.308890568167, "y": -2730.795672848994}, {"x": 8914.112942329155, "y": -2730.3376406901857}, {"x": 8913.917888655316, "y": -2729.879226856966}, {"x": 8913.723729671105, "y": -2729.420433360457}, {"x": 8913.530465495682, "y": -2728.9612622062664}, {"x": 8913.33809624159, "y": -2728.5017154007874}, {"x": 8913.146622017397, "y": -2728.0417949472635}, {"x": 8912.956042926378, "y": -2727.5815028457846}, {"x": 8912.766359066507, "y": -2727.1208410956524}, {"x": 8912.577570533116, "y": -2726.6598116930168}, {"x": 8912.38967741491, "y": -2726.198416631664}, {"x": 8912.202679795306, "y": -2725.736657903803}, {"x": 8912.016577752418, "y": -2725.274537499279}, {"x": 8911.83137136304, "y": -2724.8120574047866}, {"x": 8911.647060694695, "y": -2724.3492196054412}, {"x": 8911.463645812262, "y": -2723.8860260855727}, {"x": 8911.281126776643, "y": -2723.422478823205}, {"x": 8911.099503642125, "y": -2722.958579798727}, {"x": 8910.918776460343, "y": -2722.4943309862238}, {"x": 8910.73894527499, "y": -2722.029734360566}, {"x": 8910.560010128434, "y": -2721.5647918926875}, {"x": 8910.381971056424, "y": -2721.0995055503668}, {"x": 8910.20482808941, "y": -2720.633877301384}, {"x": 8910.028581256523, "y": -2720.167909109579}, {"x": 8909.8532305763, "y": -2719.701602935638}, {"x": 8909.678776068598, "y": -2719.23496074025}, {"x": 8909.505217746659, "y": -2718.76798448016}, {"x": 8909.332555615778, "y": -2718.300676108964}, {"x": 8909.160789681251, "y": -2717.833037579468}, {"x": 8908.989919940432, "y": -2717.3650708413275}], "type": "lane"}, {"geometry": [{"x": 9060.208667789633, "y": -2585.5372302135966}, {"x": 9060.414874511713, "y": -2585.9868995345146}, {"x": 9060.621596573937, "y": -2586.4363321844035}, {"x": 9060.828831534829, "y": -2586.8855285730538}, {"x": 9061.03657695688, "y": -2587.3344891197116}, {"x": 9061.244830399934, "y": -2587.78321424914}, {"x": 9061.453589434428, "y": -2588.2317043971357}, {"x": 9061.662851625504, "y": -2588.6799600034337}, {"x": 9061.872614548893, "y": -2589.1279815180155}, {"x": 9062.082875775033, "y": -2589.575769397166}, {"x": 9062.29363288363, "y": -2590.023324105052}, {"x": 9062.504883455711, "y": -2590.470646112931}, {"x": 9062.71662507098, "y": -2590.917735899154}, {"x": 9062.928855318412, "y": -2591.364593951529}, {"x": 9063.141571784332, "y": -2591.8112207633803}, {"x": 9063.35477206036, "y": -2592.2576168351243}, {"x": 9063.568453740767, "y": -2592.7037826758456}, {"x": 9063.782614422467, "y": -2593.1497188009344}, {"x": 9063.997251703702, "y": -2593.595425732873}, {"x": 9064.212363188011, "y": -2594.0409040012355}, {"x": 9064.427946480253, "y": -2594.486154144266}, {"x": 9064.643999189262, "y": -2594.931176705724}, {"x": 9064.860518923871, "y": -2595.3759722364607}, {"x": 9065.07750329821, "y": -2595.82054129521}, {"x": 9065.294949927731, "y": -2596.2648844470095}, {"x": 9065.512856433183, "y": -2596.7090022632005}, {"x": 9065.731220433994, "y": -2597.152895324581}, {"x": 9065.95003955753, "y": -2597.5965642166784}, {"x": 9066.169311428514, "y": -2598.0400095313234}, {"x": 9066.389033678286, "y": -2598.4832318682284}, {"x": 9066.609203939515, "y": -2598.926231834985}, {"x": 9066.829819846187, "y": -2599.3690100439153}, {"x": 9067.050879040235, "y": -2599.811567114431}, {"x": 9067.2723791583, "y": -2600.253903673827}, {"x": 9067.494317847608, "y": -2600.696020354125}, {"x": 9067.716692754066, "y": -2601.1379177952276}, {"x": 9067.939501526227, "y": -2601.579596644131}, {"x": 9068.162741816617, "y": -2602.0210575525575}, {"x": 9068.386411279087, "y": -2602.462301179324}, {"x": 9068.61050757278, "y": -2602.9033281911275}, {"x": 9068.835028358168, "y": -2603.3441392586046}, {"x": 9069.059971297042, "y": -2603.784735061061}, {"x": 9069.285334056494, "y": -2604.22511628253}, {"x": 9069.511114303614, "y": -2604.6652836141393}, {"x": 9069.737309710785, "y": -2605.105237752531}, {"x": 9069.96391795172, "y": -2605.544979401441}, {"x": 9070.190936702775, "y": -2605.9845092701207}, {"x": 9070.41836364428, "y": -2606.423828074127}, {"x": 9070.646196456564, "y": -2606.86293653532}, {"x": 9070.87443282658, "y": -2607.3018353818647}, {"x": 9071.105312857937, "y": -2607.7448215418526}, {"x": 9071.336603428545, "y": -2608.1875934975455}, {"x": 9071.568305935232, "y": -2608.6301500337586}, {"x": 9071.800421765569, "y": -2609.0724899337306}, {"x": 9072.032952309766, "y": -2609.51461197282}, {"x": 9072.265898954063, "y": -2609.9565149248097}, {"x": 9072.49926307941, "y": -2610.398197558753}, {"x": 9072.73304606807, "y": -2610.8396586381887}, {"x": 9072.96724929702, "y": -2611.280896924289}, {"x": 9073.201874140586, "y": -2611.7219111711356}, {"x": 9073.436921970442, "y": -2612.162700131233}, {"x": 9073.67239415562, "y": -2612.6032625523585}, {"x": 9073.908292063823, "y": -2613.043597175195}, {"x": 9074.144617056136, "y": -2613.483702738851}, {"x": 9074.381370493646, "y": -2613.923577977706}, {"x": 9074.618553734786, "y": -2614.363221620623}, {"x": 9074.856168134027, "y": -2614.8026323925246}, {"x": 9075.09421504318, "y": -2615.2418090143938}, {"x": 9075.332695810093, "y": -2615.6807502024844}, {"x": 9075.571611781286, "y": -2616.1194546683228}, {"x": 9075.81096429931, "y": -2616.5579211187055}, {"x": 9076.050754705386, "y": -2616.996148256491}, {"x": 9076.29098433412, "y": -2617.4341347805953}, {"x": 9076.531654520119, "y": -2617.8718793844196}, {"x": 9076.772766595337, "y": -2618.3093807574232}, {"x": 9077.014321886436, "y": -2618.746637583551}, {"x": 9077.256321717428, "y": -2619.1836485435942}, {"x": 9077.498767409677, "y": -2619.620412313616}, {"x": 9077.741660283227, "y": -2620.056927564163}, {"x": 9077.985001651496, "y": -2620.493192961842}, {"x": 9078.228792827902, "y": -2620.9292071685313}, {"x": 9078.47303511925, "y": -2621.3649688421688}, {"x": 9078.717729833663, "y": -2621.800476634388}, {"x": 9078.96287827132, "y": -2622.235729194458}, {"x": 9079.208481732403, "y": -2622.6707251653443}, {"x": 9079.454541511795, "y": -2623.1054631860707}, {"x": 9079.70105890306, "y": -2623.5399418909337}, {"x": 9079.94803519578, "y": -2623.974159910289}, {"x": 9080.195471674253, "y": -2624.4081158674007}, {"x": 9080.443369622768, "y": -2624.8418083839556}, {"x": 9080.691730320323, "y": -2625.275236074548}, {"x": 9080.940555040617, "y": -2625.7083975514097}, {"x": 9081.189845058674, "y": -2626.1412914196776}, {"x": 9081.4396016429, "y": -2626.57391628055}, {"x": 9081.689826057725, "y": -2627.0062707320726}, {"x": 9081.940519564934, "y": -2627.438353365198}, {"x": 9082.191683424986, "y": -2627.8701627669393}, {"x": 9082.443318893047, "y": -2628.301697521157}, {"x": 9082.695427218983, "y": -2628.7329562046193}, {"x": 9082.948009650016, "y": -2629.1639373909416}, {"x": 9083.201067433363, "y": -2629.5946396474355}, {"x": 9083.454601809626, "y": -2630.0250615382597}, {"x": 9083.708614012785, "y": -2630.4552016220573}, {"x": 9083.96310528079, "y": -2630.8850584519546}, {"x": 9084.21807683968, "y": -2631.314630577137}, {"x": 9084.473529918134, "y": -2631.743916542851}, {"x": 9084.729465738219, "y": -2632.172914886461}, {"x": 9084.985885518026, "y": -2632.6016241445445}, {"x": 9085.242790474322, "y": -2633.03004284501}, {"x": 9085.500181817255, "y": -2633.4581695134016}, {"x": 9085.758060754326, "y": -2633.8860026697475}, {"x": 9086.016428490384, "y": -2634.3135408277703}, {"x": 9086.275286223661, "y": -2634.740782499618}, {"x": 9086.534597521302, "y": -2635.167664898379}, {"x": 9086.794399529805, "y": -2635.59424883688}, {"x": 9087.054691904927, "y": -2636.0205337516604}, {"x": 9087.315474302424, "y": -2636.4465190776828}, {"x": 9087.576746378056, "y": -2636.872204252274}, {"x": 9087.838507784927, "y": -2637.2975887135494}, {"x": 9088.100758178796, "y": -2637.722671898047}, {"x": 9088.363497212771, "y": -2638.1474532430943}, {"x": 9088.626724537315, "y": -2638.571932188382}, {"x": 9088.890439806857, "y": -2638.9961081720257}, {"x": 9089.154642671861, "y": -2639.4199806329275}, {"x": 9089.419332781461, "y": -2639.8435490107795}, {"x": 9089.684509787445, "y": -2640.2668127460597}, {"x": 9089.950173338944, "y": -2640.6897712776718}, {"x": 9090.216323083778, "y": -2641.1124240476706}, {"x": 9090.4829586724, "y": -2641.5347704973237}, {"x": 9090.750079748657, "y": -2641.95681006711}, {"x": 9091.017685961682, "y": -2642.378542199085}, {"x": 9091.285776956642, "y": -2642.7999663368796}, {"x": 9091.554352381347, "y": -2643.221081921761}, {"x": 9091.823411876992, "y": -2643.6418883973615}, {"x": 9092.092955090064, "y": -2644.0623852080994}, {"x": 9092.362981664402, "y": -2644.482571796818}, {"x": 9092.633491241204, "y": -2644.902447608725}, {"x": 9092.904483464306, "y": -2645.3220120874525}, {"x": 9093.175957976226, "y": -2645.7412646797834}, {"x": 9093.447914415507, "y": -2646.1602048301365}, {"x": 9093.720352423345, "y": -2646.578831985297}, {"x": 9093.99327164093, "y": -2646.9971455912587}, {"x": 9094.266671705482, "y": -2647.4151450955937}, {"x": 9094.54055225687, "y": -2647.8328299450864}, {"x": 9094.814912932317, "y": -2648.25019958652}, {"x": 9095.089753369042, "y": -2648.6672534698296}, {"x": 9095.365073204264, "y": -2649.083991042588}, {"x": 9095.640872073882, "y": -2649.5004117531535}, {"x": 9095.917149611143, "y": -2649.9165150522513}, {"x": 9096.193905453267, "y": -2650.3323003882406}, {"x": 9096.471139233503, "y": -2650.747767212633}, {"x": 9096.748850585102, "y": -2651.1629149753644}, {"x": 9097.027039141309, "y": -2651.577743127947}, {"x": 9097.305704532724, "y": -2651.992251121105}, {"x": 9097.584846393924, "y": -2652.4064384079256}, {"x": 9097.864464352857, "y": -2652.820304439133}, {"x": 9098.144558040127, "y": -2653.2338486686035}, {"x": 9098.425127086331, "y": -2653.647070549425}, {"x": 9098.706171120748, "y": -2654.059969535473}, {"x": 9098.98768977133, "y": -2654.472545079837}, {"x": 9099.269682666027, "y": -2654.88479663718}, {"x": 9099.55214943147, "y": -2655.2967236637423}, {"x": 9099.835089694288, "y": -2655.7083256126125}, {"x": 9100.118503079784, "y": -2656.1196019416066}, {"x": 9100.402389214587, "y": -2656.530552106177}, {"x": 9100.686747722677, "y": -2656.9411755617753}, {"x": 9100.971578228035, "y": -2657.351471767007}, {"x": 9101.256880353316, "y": -2657.7614401788996}, {"x": 9101.542653722503, "y": -2658.1710802552698}, {"x": 9101.828897956924, "y": -2658.580391454722}, {"x": 9102.115612677917, "y": -2658.9893732350724}, {"x": 9102.402797508134, "y": -2659.398025056502}, {"x": 9102.690452064937, "y": -2659.806346378403}, {"x": 9102.978575970983, "y": -2660.2143366609557}, {"x": 9103.267168842307, "y": -2660.6219953643413}, {"x": 9103.556230300243, "y": -2661.029321950316}, {"x": 9103.8457599595, "y": -2661.4363158790607}, {"x": 9104.135757440092, "y": -2661.8429766131194}, {"x": 9104.42622235805, "y": -2662.2493036150377}, {"x": 9104.717154326763, "y": -2662.65529634736}, {"x": 9105.008552964919, "y": -2663.0609542726306}, {"x": 9105.300417884579, "y": -2663.466276854971}], "type": "lane"}, {"geometry": [{"x": 8906.709950315973, "y": -2719.36417988858}, {"x": 8906.881684532453, "y": -2719.831085134437}, {"x": 8907.054300461912, "y": -2720.297665140262}, {"x": 8907.227798757089, "y": -2720.763917767266}, {"x": 8907.402180065428, "y": -2721.2298408735087}, {"x": 8907.577445029074, "y": -2721.695432308382}, {"x": 8907.753594283553, "y": -2722.160689917335}, {"x": 8907.93062845777, "y": -2722.6256115379388}, {"x": 8908.108548177985, "y": -2723.0901950038224}, {"x": 8908.287354059863, "y": -2723.5544381415234}, {"x": 8908.467046715097, "y": -2724.018338770486}, {"x": 8908.64762675141, "y": -2724.4818947070034}, {"x": 8908.829094768578, "y": -2724.945103758699}, {"x": 8909.011451358438, "y": -2725.4079637276805}, {"x": 8909.194697110172, "y": -2725.870472412114}, {"x": 8909.3788326037, "y": -2726.332627601499}, {"x": 8909.56385841629, "y": -2726.7944270806056}, {"x": 8909.749775115943, "y": -2727.2558686286875}, {"x": 8909.936583264043, "y": -2727.7169500186933}, {"x": 8910.124283420644, "y": -2728.1776690172687}, {"x": 8910.312876132566, "y": -2728.638023385541}, {"x": 8910.5023619453, "y": -2729.0980108783356}, {"x": 8910.692741395074, "y": -2729.557629244959}, {"x": 8910.884015015463, "y": -2730.0168762284147}, {"x": 8911.076183329453, "y": -2730.4757495669774}, {"x": 8911.269246856054, "y": -2730.934246990253}, {"x": 8911.463206106338, "y": -2731.3923662262714}, {"x": 8911.658061586078, "y": -2731.8501049928186}, {"x": 8911.853813793101, "y": -2732.307461004527}, {"x": 8912.050463221265, "y": -2732.7644319689366}, {"x": 8912.248010355157, "y": -2733.2210155888606}, {"x": 8912.446455674071, "y": -2733.677209560806}, {"x": 8912.645799649355, "y": -2734.133011574189}, {"x": 8912.846042748388, "y": -2734.588419314483}, {"x": 8913.04718542795, "y": -2735.0434304600712}, {"x": 8913.249228142178, "y": -2735.4980426846073}, {"x": 8913.45217133462, "y": -2735.9522536554414}, {"x": 8913.656015444845, "y": -2736.40606103283}, {"x": 8913.860760904481, "y": -2736.859462473878}, {"x": 8914.066408138538, "y": -2737.312455628598}, {"x": 8914.272957564079, "y": -2737.76503813991}, {"x": 8914.48040959287, "y": -2738.2172076475804}, {"x": 8914.68876462874, "y": -2738.668961783497}, {"x": 8914.898023067562, "y": -2739.1202981756064}, {"x": 8915.10818530125, "y": -2739.571214444763}, {"x": 8915.319251711117, "y": -2740.021708206304}, {"x": 8915.531222674505, "y": -2740.4717770708394}, {"x": 8915.744098559491, "y": -2740.9214186418853}, {"x": 8915.957879726206, "y": -2741.3706305190194}, {"x": 8916.172566530811, "y": -2741.8194102947245}, {"x": 8916.388159320195, "y": -2742.26775555597}, {"x": 8916.604658433307, "y": -2742.7156638849933}, {"x": 8916.8220642038, "y": -2743.1631328577305}, {"x": 8917.040376957375, "y": -2743.6101600446}, {"x": 8917.259597010476, "y": -2744.0567430112915}, {"x": 8917.47972467557, "y": -2744.502879315615}, {"x": 8917.700760254529, "y": -2744.948566513015}, {"x": 8917.92270404261, "y": -2745.3938021502695}, {"x": 8918.145556329771, "y": -2745.8385837710025}, {"x": 8918.369317396702, "y": -2746.282908911746}, {"x": 8918.593987514829, "y": -2746.726775104303}, {"x": 8918.819566952921, "y": -2747.170179874962}, {"x": 8919.046055966517, "y": -2747.613120744493}, {"x": 8919.272934825045, "y": -2748.05458997796}, {"x": 8919.500709885222, "y": -2748.4955975034636}, {"x": 8919.729371676387, "y": -2748.9361459302622}, {"x": 8919.958910753036, "y": -2749.3762379204145}, {"x": 8920.189317690843, "y": -2749.8158761864142}, {"x": 8920.420583089322, "y": -2750.2550634967083}, {"x": 8920.65269756784, "y": -2750.6938026686025}, {"x": 8920.885651774899, "y": -2751.132096570626}, {"x": 8921.119436377532, "y": -2751.5699481241086}, {"x": 8921.354042063958, "y": -2752.007360296087}, {"x": 8921.589459548877, "y": -2752.444336107186}, {"x": 8921.825679568172, "y": -2752.880878623737}, {"x": 8922.062692878912, "y": -2753.3169909617204}, {"x": 8922.300490261994, "y": -2753.752676282823}, {"x": 8922.53906252083, "y": -2754.1879377975915}, {"x": 8922.778400478684, "y": -2754.6227787622797}, {"x": 8923.01849498266, "y": -2755.057202478849}, {"x": 8923.259336903691, "y": -2755.4912122941796}, {"x": 8923.500917131243, "y": -2755.9248116000717}, {"x": 8923.743226575973, "y": -2756.3580038324562}, {"x": 8923.986256175012, "y": -2756.7907924698197}, {"x": 8924.22999688138, "y": -2757.2231810363546}, {"x": 8924.47443967326, "y": -2757.6551730948704}, {"x": 8924.71957554736, "y": -2758.086772253094}, {"x": 8924.965395522908, "y": -2758.517982158156}, {"x": 8925.21189064163, "y": -2758.948806498954}, {"x": 8925.459051961147, "y": -2759.3792490037886}, {"x": 8925.706870564232, "y": -2759.809313441151}, {"x": 8925.955337553522, "y": -2760.2390036189354}, {"x": 8926.204444048863, "y": -2760.6683233820745}, {"x": 8926.45418119261, "y": -2761.0972766141167}, {"x": 8926.70454014698, "y": -2761.525867238012}, {"x": 8926.955512095372, "y": -2761.9540992105976}, {"x": 8927.207088235751, "y": -2762.381976526538}, {"x": 8927.459259791234, "y": -2762.809503215959}, {"x": 8927.712018000833, "y": -2763.23668334445}, {"x": 8927.965354122092, "y": -2763.6635210130626}, {"x": 8928.219259435062, "y": -2764.0900203551582}, {"x": 8928.473725235684, "y": -2764.5161855395627}, {"x": 8928.728742837111, "y": -2764.9420207674098}, {"x": 8928.984303575007, "y": -2765.3675302721454}, {"x": 8929.240398796946, "y": -2765.7927183203133}, {"x": 8929.49701987434, "y": -2766.2175892099795}, {"x": 8929.75415819316, "y": -2766.6421472675797}, {"x": 8930.01180515792, "y": -2767.066396854225}, {"x": 8930.26995218769, "y": -2767.490342358608}, {"x": 8930.52859072273, "y": -2767.91398819858}, {"x": 8930.787712216537, "y": -2768.3373388219366}, {"x": 8931.04730814115, "y": -2768.760398704058}, {"x": 8931.307369984484, "y": -2769.183172349481}, {"x": 8931.567889249034, "y": -2769.6056642895364}, {"x": 8931.828857454495, "y": -2770.027879081562}, {"x": 8932.090353452439, "y": -2770.449958172436}, {"x": 8932.352292265088, "y": -2770.871762607906}, {"x": 8932.614675940691, "y": -2771.293290469051}, {"x": 8932.87750652352, "y": -2771.7145398298594}, {"x": 8933.140786048587, "y": -2772.135508758013}, {"x": 8933.404516549572, "y": -2772.556195313315}, {"x": 8933.668700052214, "y": -2772.9765975484747}, {"x": 8933.933338579605, "y": -2773.396713509897}, {"x": 8934.198434146894, "y": -2773.8165412345306}, {"x": 8934.463988766578, "y": -2774.2360787553844}, {"x": 8934.730004444538, "y": -2774.655324095221}, {"x": 8934.99648317871, "y": -2775.0742752705}, {"x": 8935.263426967023, "y": -2775.492930290588}, {"x": 8935.530837796827, "y": -2775.911287157759}, {"x": 8935.79871765149, "y": -2776.329343865618}, {"x": 8936.067068511735, "y": -2776.7470984030424}, {"x": 8936.335892349016, "y": -2777.1645487470882}, {"x": 8936.605191129494, "y": -2777.58169287166}, {"x": 8936.87496681403, "y": -2777.998528741204}, {"x": 8937.145221360839, "y": -2778.415054312288}, {"x": 8937.415956717543, "y": -2778.8312675351735}, {"x": 8937.687174827795, "y": -2779.2471663506662}, {"x": 8937.95887763127, "y": -2779.662748694055}, {"x": 8938.231067058381, "y": -2780.078012491961}, {"x": 8938.503745035567, "y": -2780.4929556639117}, {"x": 8938.776913483967, "y": -2780.907576119979}, {"x": 8939.050574316783, "y": -2781.321871764717}, {"x": 8939.324729443239, "y": -2781.7358404948004}, {"x": 8939.599380763291, "y": -2782.149480197447}, {"x": 8939.87453017293, "y": -2782.5627887535693}, {"x": 8940.150179562845, "y": -2782.9757640354123}, {"x": 8940.426330815779, "y": -2783.388403908128}, {"x": 8940.70298580786, "y": -2783.8007062282004}, {"x": 8940.980146408594, "y": -2784.2126688458075}, {"x": 8941.25781448484, "y": -2784.6242896016715}, {"x": 8941.535991892859, "y": -2785.0355663286346}, {"x": 8941.8146804823, "y": -2785.4464968524458}, {"x": 8942.093882100164, "y": -2785.8570789909736}, {"x": 8942.37359858285, "y": -2786.2673105526296}, {"x": 8942.65383176147, "y": -2786.6771893395216}, {"x": 8942.93458346184, "y": -2787.086713145088}, {"x": 8943.215855501827, "y": -2787.4958797541}, {"x": 8943.49764969003, "y": -2787.9046869442336}, {"x": 8943.779967835055, "y": -2788.313132485287}, {"x": 8944.062811729613, "y": -2788.721214136812}, {"x": 8944.34618316774, "y": -2789.1289296528444}, {"x": 8944.630083931559, "y": -2789.536276777964}, {"x": 8944.914515797893, "y": -2789.9432532480805}, {"x": 8945.199480535624, "y": -2790.349856792013}, {"x": 8945.484979908337, "y": -2790.756085130698}, {"x": 8945.771015669025, "y": -2791.1619359748292}, {"x": 8946.057589568032, "y": -2791.5674070287937}, {"x": 8946.344703343788, "y": -2791.9724959875243}, {"x": 8946.632358730747, "y": -2792.377200538859}, {"x": 8946.920557455422, "y": -2792.7815183611806}, {"x": 8947.20930123506, "y": -2793.185447124203}, {"x": 8947.49859178293, "y": -2793.5889844913354}, {"x": 8947.788430800392, "y": -2793.992128114954}, {"x": 8948.078819984827, "y": -2794.3948756419195}, {"x": 8948.369761023028, "y": -2794.7972247080584}, {"x": 8948.66125559914, "y": -2795.1991729413176}, {"x": 8948.95330538274, "y": -2795.6007179633393}, {"x": 8949.24591203944, "y": -2796.0018573847333}, {"x": 8949.53907722955, "y": -2796.4025888090164}, {"x": 8949.832802600142, "y": -2796.802909830248}, {"x": 8950.127089792992, "y": -2797.2028180353973}, {"x": 8950.421940443253, "y": -2797.6023110011856}, {"x": 8950.717356175492, "y": -2798.0013862972446}, {"x": 8951.01333860765, "y": -2798.400041484535}, {"x": 8951.309889349728, "y": -2798.798274113775}, {"x": 8951.607010001133, "y": -2799.196081728588}, {"x": 8951.904702157299, "y": -2799.593461864719}, {"x": 8952.202967401747, "y": -2799.990412046878}, {"x": 8952.501807311373, "y": -2800.386929793473}, {"x": 8952.801223453813, "y": -2800.7830126134527}], "type": "lane"}, {"geometry": [{"x": 8973.633835791574, "y": -2808.3581140201545}, {"x": 8957.70191848402, "y": -2790.3686345437286}, {"x": 8956.956565628121, "y": -2791.0340900113165}, {"x": 8972.888482934351, "y": -2809.0235694885305}], "type": "speed_bump"}, {"geometry": [{"x": 8962.63988115881, "y": -2809.811025125045}, {"x": 8973.904026201886, "y": -2799.574101847203}, {"x": 8973.223891719705, "y": -2798.831009908265}, {"x": 8961.969063588105, "y": -2809.067933186107}, {"x": 8953.984471113361, "y": -2816.099579294935}, {"x": 8954.655288684065, "y": -2816.853762157676}], "type": "speed_bump"}, {"geometry": [{"x": 8964.344875817353, "y": -2818.251218640399}, {"x": 8957.068368556573, "y": -2810.687208157501}, {"x": 8952.176990436517, "y": -2805.4190190381755}, {"x": 8948.701782743066, "y": -2801.093558498065}, {"x": 8947.844626957392, "y": -2801.781195814835}, {"x": 8951.338468472475, "y": -2806.117747279537}, {"x": 8956.276431147264, "y": -2811.44139102103}, {"x": 8963.571572229674, "y": -2819.0054015039286}], "type": "speed_bump"}, {"geometry": [{"x": 9011.143718292786, "y": -2841.0985230310066}, {"x": 9010.472900722081, "y": -2840.3443401674776}, {"x": 8989.202393580668, "y": -2859.287639147709}, {"x": 8989.873211151373, "y": -2860.030731086647}], "type": "speed_bump"}, {"geometry": [{"x": 9168.925601093848, "y": -2708.007429492892}, {"x": 9168.217515879884, "y": -2707.297610326939}, {"x": 9148.325911523141, "y": -2727.250183433144}, {"x": 9149.033996737104, "y": -2727.9600025990967}], "type": "speed_bump"}, {"geometry": [{"x": 9117.3005988734, "y": -2655.336629225017}, {"x": 9116.545929106027, "y": -2654.5602645123054}, {"x": 9098.11707973062, "y": -2672.738289705205}, {"x": 9098.862432586518, "y": -2673.503563492537}], "type": "speed_bump"}, {"geometry": [{"x": 9053.805852414212, "y": -2724.6992708071266}, {"x": 9040.482670104286, "y": -2714.905984507414}, {"x": 9039.168985694658, "y": -2716.713805194493}, {"x": 9052.482851093107, "y": -2726.496000569615}], "type": "speed_bump"}, {"geometry": [{"x": 9038.349097553568, "y": -2722.5365405370712}, {"x": 9046.99519068754, "y": -2715.6934401447165}, {"x": 9046.417542223657, "y": -2714.9503482057785}, {"x": 9037.724864536274, "y": -2721.826721371907}, {"x": 9029.02286993609, "y": -2729.7456414369935}, {"x": 9029.665736775014, "y": -2730.444369678355}], "type": "speed_bump"}, {"geometry": [{"x": 8955.08386657624, "y": -2818.6615828455433}], "type": "stop_sign"}, {"geometry": [{"x": 8964.941158102865, "y": -2790.1911797526345}], "type": "stop_sign"}, {"geometry": [{"x": 8989.724140579665, "y": -2851.335446308849}], "type": "stop_sign"}, {"geometry": [{"x": 9169.456665002996, "y": -2716.7470779682667}], "type": "stop_sign"}, {"geometry": [{"x": 9098.042544444104, "y": -2663.100276347404}], "type": "stop_sign"}, {"geometry": [{"x": 9027.466945849255, "y": -2721.205629601895}], "type": "stop_sign"}], "tl_states": {}} \ No newline at end of file From 0deed29ab3ecb744ab727969699e1cdac8447ba4 Mon Sep 17 00:00:00 2001 From: Daphne Date: Sat, 30 Sep 2023 16:58:32 -0400 Subject: [PATCH 04/40] Clean-up: remove examples folder --- examples/create_env.py | 48 -- examples/example_scenario.json | 1 - examples/imitation_learning/filters.py | 79 --- examples/imitation_learning/model.py | 157 ----- examples/imitation_learning/replay_video.py | 186 ------ examples/imitation_learning/train.py | 260 -------- .../imitation_learning/waymo_data_loader.py | 201 ------- examples/nocturne_functions.py | 133 ----- examples/on_policy_files/nocturne_runner.py | 562 ------------------ examples/rendering.py | 204 ------- examples/rllib_files/run_rllib.py | 173 ------ .../results/plot_successes.py | 38 -- .../results/success_by_dist.npy | Bin 2688 -> 0 bytes .../results/success_by_veh_number.npy | Bin 1408 -> 0 bytes .../results/zsc_collision.txt | 2 - .../sample_factory_files/results/zsc_goal.txt | 2 - .../run_sample_factory.py | 352 ----------- .../success_by_veh_number | Bin 768 -> 0 bytes .../visualize_sample_factory.py | 272 --------- 19 files changed, 2670 deletions(-) delete mode 100644 examples/create_env.py delete mode 100644 examples/example_scenario.json delete mode 100644 examples/imitation_learning/filters.py delete mode 100644 examples/imitation_learning/model.py delete mode 100644 examples/imitation_learning/replay_video.py delete mode 100644 examples/imitation_learning/train.py delete mode 100644 examples/imitation_learning/waymo_data_loader.py delete mode 100644 examples/nocturne_functions.py delete mode 100644 examples/on_policy_files/nocturne_runner.py delete mode 100644 examples/rendering.py delete mode 100644 examples/rllib_files/run_rllib.py delete mode 100644 examples/sample_factory_files/results/plot_successes.py delete mode 100644 examples/sample_factory_files/results/success_by_dist.npy delete mode 100644 examples/sample_factory_files/results/success_by_veh_number.npy delete mode 100644 examples/sample_factory_files/results/zsc_collision.txt delete mode 100644 examples/sample_factory_files/results/zsc_goal.txt delete mode 100644 examples/sample_factory_files/run_sample_factory.py delete mode 100644 examples/sample_factory_files/success_by_veh_number delete mode 100644 examples/sample_factory_files/visualize_sample_factory.py diff --git a/examples/create_env.py b/examples/create_env.py deleted file mode 100644 index 7b9355f5..00000000 --- a/examples/create_env.py +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Test step and rendering functions.""" -import hydra - -from cfgs.config import set_display_window -from nocturne import Action -from nocturne.envs.wrappers import create_env - - -@hydra.main(config_path="../cfgs/", config_name="config") -def create_rl_env(cfg): - """Test step and rendering functions.""" - set_display_window() - env = create_env(cfg) - _ = env.reset() - # quick check that rendering works - _ = env.scenario.getConeImage( - env.scenario.getVehicles()[0], - # how far the agent can see - view_dist=cfg['subscriber']['view_dist'], - # the angle formed by the view cone - view_angle=cfg['subscriber']['view_angle'], - # the agent's head angle - head_angle=0.0, - # whether to draw the goal position in the image - draw_target_position=False) - for _ in range(80): - # grab the list of vehicles that actually need to - # move some distance to get to their goal - moving_vehs = env.scenario.getObjectsThatMoved() - # obs, rew, done, info - # each of these objects is a dict keyed by the vehicle ID - # info[veh_id] contains the following useful keys: - # 'collided': did the agent collide with a road object or edge - # 'veh_veh_collision': did the agent collide with a vehicle - # 'veh_edge_collision': did the agent collide with a road edge - # 'goal_achieved': did we get to our target - _, _, _, _ = env.step({ - veh.id: Action(acceleration=2.0, steering=1.0, head_angle=0.5) - for veh in moving_vehs - }) - - -if __name__ == '__main__': - create_rl_env() diff --git a/examples/example_scenario.json b/examples/example_scenario.json deleted file mode 100644 index 00b5651f..00000000 --- a/examples/example_scenario.json +++ /dev/null @@ -1 +0,0 @@ -{"name": "tfrecord-00358-of-01000_65.json", "objects": [{"position": [{"x": 9037.7138671875, "y": -2720.373779296875}, {"x": 9037.7607421875, "y": -2720.306640625}, {"x": 9037.822265625, "y": -2720.217529296875}, {"x": 9037.8916015625, "y": -2720.146240234375}, {"x": 9037.9482421875, "y": -2720.070068359375}, {"x": 9038.01953125, "y": -2719.994384765625}, {"x": 9038.1005859375, "y": -2719.903076171875}, {"x": 9038.1953125, "y": -2719.830810546875}, {"x": 9038.279296875, "y": -2719.74462890625}, {"x": 9038.3564453125, "y": -2719.674560546875}, {"x": 9038.4365234375, "y": -2719.605712890625}, {"x": 9038.509765625, "y": -2719.53662109375}, {"x": 9038.546875, "y": -2719.4541015625}, {"x": 9038.615234375, "y": -2719.385009765625}, {"x": 9038.6904296875, "y": -2719.330322265625}, {"x": 9038.75, "y": -2719.268310546875}, {"x": 9038.8583984375, "y": -2719.189697265625}, {"x": 9038.9150390625, "y": -2719.165283203125}, {"x": 9038.7568359375, "y": -2719.270751953125}, {"x": 9038.8134765625, "y": -2719.28955078125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.4892578125, "y": -2718.408203125}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.63671875, "y": -2718.29248046875}, {"x": 9039.7099609375, "y": -2718.246826171875}, {"x": 9039.732421875, "y": -2718.185546875}, {"x": 9039.8134765625, "y": -2718.099853515625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.2275390625, "y": -2717.67578125}, {"x": 9040.2802734375, "y": -2717.580322265625}, {"x": 9040.2822265625, "y": -2717.448486328125}, {"x": 9040.3544921875, "y": -2717.393798828125}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.484375, "y": -2717.256103515625}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.6728515625, "y": -2717.140869140625}, {"x": -10000.0, "y": -10000.0}, {"x": 9040.8720703125, "y": -2717.010009765625}, {"x": -10000.0, "y": -10000.0}, {"x": 9041.015625, "y": -2716.83544921875}, {"x": 9041.0947265625, "y": -2716.765380859375}, {"x": 9041.1259765625, "y": -2716.647216796875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.6877052187919617, "length": 0.6777269244194031, "heading": [-310.41073294535573, -310.682765719619, -310.6657448882073, -310.7116710801865, -311.09276831511653, -311.43632683036816, -312.12399027600503, -313.90929244201965, -315.3253545815034, -315.7811467651967, -315.8682453374927, -316.13675373414424, -314.6746287988979, -314.73416072770374, -314.2159952565099, -314.6184300024071, -316.1639105662842, 57.51482367976463, 55.75770970445466, -314.959830177881, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -310.95438868253206, -10000.0, -312.25299888904823, -311.9868400774712, -310.0247179742233, -310.65295877408107, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -310.89073131946753, -311.92637924293825, -311.92621531839814, -311.00165359158854, -10000.0, -312.239611718275, -10000.0, -313.3852530081396, -10000.0, -314.7891574109007, -10000.0, -315.6115668284836, -316.8793592214647, -318.42899254035717, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.634765625, "y": 0.72265625}, {"x": 0.46875, "y": 0.67138671875}, {"x": 0.615234375, "y": 0.89111328125}, {"x": 0.693359375, "y": 0.712890625}, {"x": 0.56640625, "y": 0.76171875}, {"x": 0.712890625, "y": 0.7568359375}, {"x": 0.810546875, "y": 0.9130859375}, {"x": 0.947265625, "y": 0.72265625}, {"x": 0.83984375, "y": 0.86181640625}, {"x": 0.771484375, "y": 0.70068359375}, {"x": 0.80078125, "y": 0.6884765625}, {"x": 0.732421875, "y": 0.69091796875}, {"x": 0.37109375, "y": 0.8251953125}, {"x": 0.68359375, "y": 0.69091796875}, {"x": 0.751953125, "y": 0.546875}, {"x": 0.595703125, "y": 0.6201171875}, {"x": 1.083984375, "y": 0.7861328125}, {"x": 0.56640625, "y": 0.244140625}, {"x": -1.58203125, "y": -1.0546875}, {"x": 0.56640625, "y": -0.18798828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.7373046875, "y": 0.57861328125}, {"x": -10000.0, "y": -10000.0}, {"x": 0.732421875, "y": 0.45654296875}, {"x": 0.732421875, "y": 0.45654296875}, {"x": 0.224609375, "y": 0.61279296875}, {"x": 0.810546875, "y": 0.85693359375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.185546875, "y": 0.38818359375}, {"x": 0.52734375, "y": 0.95458984375}, {"x": 0.01953125, "y": 1.318359375}, {"x": 0.72265625, "y": 0.546875}, {"x": -10000.0, "y": -10000.0}, {"x": 1.220703125, "y": 0.13916015625}, {"x": -10000.0, "y": -10000.0}, {"x": 0.9423828125, "y": 0.576171875}, {"x": -10000.0, "y": -10000.0}, {"x": 0.99609375, "y": 0.654296875}, {"x": -10000.0, "y": -10000.0}, {"x": 0.791015625, "y": 0.70068359375}, {"x": 0.791015625, "y": 0.70068359375}, {"x": 0.3125, "y": 1.181640625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, true, true, true, true, false, false, false, false, false, false, true, true, true, true, false, true, false, true, false, true, false, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9041.1259765625, "y": -2716.647216796875}, "type": "pedestrian"}, {"position": [{"x": 9037.9609375, "y": -2720.427001953125}, {"x": 9038.0625, "y": -2720.35400390625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.6082264184951782, "length": 0.622144341468811, "heading": [-312.2906195709967, -310.53105355777467, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 1.494140625, "y": 0.595703125}, {"x": 1.015625, "y": 0.72998046875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9038.0625, "y": -2720.35400390625}, "type": "pedestrian"}, {"position": [{"x": 9090.9775390625, "y": -2672.0439453125}, {"x": 9091.025390625, "y": -2671.986083984375}, {"x": 9091.08203125, "y": -2671.932373046875}, {"x": 9091.12890625, "y": -2671.890380859375}, {"x": 9091.1640625, "y": -2671.837646484375}, {"x": 9091.2236328125, "y": -2671.7783203125}, {"x": 9091.27734375, "y": -2671.712646484375}, {"x": 9091.35546875, "y": -2671.62548828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.9114294648170471, "length": 0.8676734566688538, "heading": [-304.7641062754795, -308.0520500588969, -309.6264633040982, -310.61776963947716, -309.4340705355573, -310.35341399784096, -309.220613463616, -311.35838071155996, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.419921875, "y": 0.76904296875}, {"x": 0.478515625, "y": 0.57861328125}, {"x": 0.56640625, "y": 0.537109375}, {"x": 0.46875, "y": 0.419921875}, {"x": 0.3515625, "y": 0.52734375}, {"x": 0.595703125, "y": 0.59326171875}, {"x": 0.537109375, "y": 0.65673828125}, {"x": 0.78125, "y": 0.87158203125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9091.35546875, "y": -2671.62548828125}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9038.35546875, "y": -2720.02197265625}, {"x": -10000.0, "y": -10000.0}, {"x": 9038.509765625, "y": -2719.844482421875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9039.1376953125, "y": -2719.18701171875}, {"x": 9039.0927734375, "y": -2719.177978515625}, {"x": 9039.21875, "y": -2719.107177734375}, {"x": 9039.392578125, "y": -2719.060791015625}, {"x": 9039.4072265625, "y": -2719.030517578125}, {"x": 9039.33203125, "y": -2718.9990234375}, {"x": 9039.3798828125, "y": -2718.944580078125}, {"x": 9039.4267578125, "y": -2718.887939453125}, {"x": 9039.486328125, "y": -2718.828369140625}, {"x": 9039.5263671875, "y": -2718.774658203125}, {"x": 9039.5810546875, "y": -2718.72021484375}, {"x": 9039.60546875, "y": -2718.68408203125}, {"x": 9039.6298828125, "y": -2718.625244140625}, {"x": 9039.6884765625, "y": -2718.58349609375}, {"x": 9039.74609375, "y": -2718.5302734375}, {"x": 9039.8017578125, "y": -2718.452392578125}, {"x": 9039.8544921875, "y": -2718.410888671875}, {"x": 9039.9140625, "y": -2718.353759765625}, {"x": 9039.9638671875, "y": -2718.298828125}, {"x": 9040.01171875, "y": -2718.240234375}, {"x": 9040.0712890625, "y": -2718.185791015625}, {"x": 9040.115234375, "y": -2718.119140625}, {"x": 9040.1787109375, "y": -2718.056396484375}, {"x": 9040.2451171875, "y": -2717.99560546875}, {"x": 9040.2890625, "y": -2717.93408203125}, {"x": 9040.3720703125, "y": -2717.863525390625}, {"x": 9040.4208984375, "y": -2717.803955078125}, {"x": 9040.4892578125, "y": -2717.74658203125}, {"x": 9040.556640625, "y": -2717.671875}, {"x": 9040.6025390625, "y": -2717.62255859375}, {"x": 9040.6728515625, "y": -2717.556884765625}, {"x": 9040.720703125, "y": -2717.504638671875}, {"x": 9040.7919921875, "y": -2717.441162109375}, {"x": 9040.880859375, "y": -2717.3642578125}, {"x": 9040.9501953125, "y": -2717.294677734375}, {"x": 9041.0341796875, "y": -2717.22021484375}, {"x": 9041.1044921875, "y": -2717.15673828125}, {"x": 9041.1767578125, "y": -2717.086181640625}, {"x": 9041.2451171875, "y": -2717.023681640625}, {"x": 9041.3193359375, "y": -2716.96142578125}, {"x": 9041.37890625, "y": -2716.88525390625}, {"x": 9041.4599609375, "y": -2716.85302734375}, {"x": 9041.5, "y": -2716.79443359375}, {"x": 9041.5576171875, "y": -2716.71826171875}, {"x": 9041.60546875, "y": -2716.674072265625}, {"x": 9041.6669921875, "y": -2716.616943359375}, {"x": 9041.7177734375, "y": -2716.56982421875}, {"x": 9041.7802734375, "y": -2716.520263671875}, {"x": 9041.84765625, "y": -2716.467041015625}, {"x": 9041.912109375, "y": -2716.423095703125}, {"x": 9041.9921875, "y": -2716.36962890625}, {"x": 9042.0791015625, "y": -2716.312744140625}, {"x": 9042.1640625, "y": -2716.263916015625}, {"x": 9042.2236328125, "y": -2716.20654296875}, {"x": 9042.3193359375, "y": -2716.154052734375}, {"x": 9042.400390625, "y": -2716.1171875}, {"x": 9042.4599609375, "y": -2716.0830078125}, {"x": 9042.521484375, "y": -2716.03076171875}, {"x": 9042.607421875, "y": -2715.982421875}, {"x": 9042.666015625, "y": -2715.9453125}, {"x": 9042.7236328125, "y": -2715.9208984375}, {"x": 9042.833984375, "y": -2715.87939453125}, {"x": 9042.9052734375, "y": -2715.828857421875}, {"x": 9043.0166015625, "y": -2715.771728515625}, {"x": 9043.08984375, "y": -2715.725341796875}, {"x": 9043.16015625, "y": -2715.697021484375}, {"x": 9043.255859375, "y": -2715.661865234375}, {"x": 9043.3505859375, "y": -2715.613037109375}, {"x": 9043.443359375, "y": -2715.574951171875}, {"x": 9043.53515625, "y": -2715.53955078125}, {"x": 9043.5966796875, "y": -2715.523193359375}, {"x": 9043.6796875, "y": -2715.50244140625}, {"x": 9043.72265625, "y": -2715.501708984375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -311.05454657652115, -10000.0, -315.57900048652095, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -312.16710243004616, -312.1964722434772, 35.28367466730243, -311.67508292299516, -311.42854041471435, -312.274199796232, -312.15412507062314, -312.421841165331, -312.294690363742, -312.4231525616516, -311.62576895718763, -311.4934272118295, -312.9795670921975, -311.4187869045796, -311.9024462600865, -312.309716779916, -312.34080780101795, -312.5250589840682, -312.73056571581554, -313.19592016434683, -312.78796662560035, -313.1580535955883, -313.1879425033963, -312.10604053886624, -312.3856138419732, -313.22135578881597, -313.2912696051602, -314.11214906036906, -313.8564814193571, -314.39702259027194, -314.5213320331662, -314.5804541506218, -314.5842517358003, -315.50739278326256, -315.6118400360504, -315.2725435588408, -316.1497584143239, -316.53569142318634, -316.8619285787028, -316.5391611592847, -316.32835420074144, -316.21117547534067, -317.07795380177197, 40.79607445960959, 40.42953235780086, 39.81624967222542, 39.17835439997583, 38.103904171830294, 36.48764235758433, 35.696914772466535, 34.069902240466966, 33.70262247822787, 32.916928742528384, 31.026660229349012, 31.289888889772133, 31.148083917318914, 28.864539941919382, 28.745356555997244, 28.403539738983955, 27.2743387144516, 26.203390665802985, 25.8912066245038, 24.66596631005189, 23.67911496555906, 24.718101143986598, 23.802053247977412, 24.041488944426796, 23.836217854205817, 23.52749330372124, 22.87595302105726, 22.099483455831873, 21.205454382159516, 19.230366872319635], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -0.625, "y": 1.4501953125}, {"x": -10000.0, "y": -10000.0}, {"x": 2.16796875, "y": 0.32470703125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.029296875, "y": 0.390625}, {"x": -0.44921875, "y": 0.09033203125}, {"x": 1.259765625, "y": 0.7080078125}, {"x": 1.73828125, "y": 0.4638671875}, {"x": 0.146484375, "y": 0.302734375}, {"x": -0.751953125, "y": 0.31494140625}, {"x": 0.478515625, "y": 0.54443359375}, {"x": 0.46875, "y": 0.56640625}, {"x": 0.595703125, "y": 0.595703125}, {"x": 0.400390625, "y": 0.537109375}, {"x": 0.546875, "y": 0.54443359375}, {"x": 0.244140625, "y": 0.361328125}, {"x": 0.244140625, "y": 0.58837890625}, {"x": 0.5859375, "y": 0.41748046875}, {"x": 0.576171875, "y": 0.5322265625}, {"x": 0.556640625, "y": 0.77880859375}, {"x": 0.52734375, "y": 0.4150390625}, {"x": 0.595703125, "y": 0.5712890625}, {"x": 0.498046875, "y": 0.54931640625}, {"x": 0.478515625, "y": 0.5859375}, {"x": 0.595703125, "y": 0.54443359375}, {"x": 0.439453125, "y": 0.66650390625}, {"x": 0.634765625, "y": 0.62744140625}, {"x": 0.6640625, "y": 0.60791015625}, {"x": 0.439453125, "y": 0.615234375}, {"x": 0.830078125, "y": 0.70556640625}, {"x": 0.48828125, "y": 0.595703125}, {"x": 0.68359375, "y": 0.57373046875}, {"x": 0.673828125, "y": 0.7470703125}, {"x": 0.458984375, "y": 0.4931640625}, {"x": 0.703125, "y": 0.65673828125}, {"x": 0.478515625, "y": 0.5224609375}, {"x": 0.712890625, "y": 0.634765625}, {"x": 0.888671875, "y": 0.76904296875}, {"x": 0.693359375, "y": 0.69580078125}, {"x": 0.83984375, "y": 0.74462890625}, {"x": 0.703125, "y": 0.634765625}, {"x": 0.72265625, "y": 0.70556640625}, {"x": 0.68359375, "y": 0.625}, {"x": 0.7421875, "y": 0.62255859375}, {"x": 0.595703125, "y": 0.76171875}, {"x": 0.810546875, "y": 0.322265625}, {"x": 0.400390625, "y": 0.5859375}, {"x": 0.576171875, "y": 0.76171875}, {"x": 0.478515625, "y": 0.44189453125}, {"x": 0.615234375, "y": 0.5712890625}, {"x": 0.5078125, "y": 0.47119140625}, {"x": 0.625, "y": 0.49560546875}, {"x": 0.673828125, "y": 0.5322265625}, {"x": 0.64453125, "y": 0.439453125}, {"x": 0.80078125, "y": 0.53466796875}, {"x": 0.869140625, "y": 0.56884765625}, {"x": 0.849609375, "y": 0.48828125}, {"x": 0.595703125, "y": 0.57373046875}, {"x": 0.95703125, "y": 0.52490234375}, {"x": 0.810546875, "y": 0.36865234375}, {"x": 0.595703125, "y": 0.341796875}, {"x": 0.615234375, "y": 0.5224609375}, {"x": 0.859375, "y": 0.4833984375}, {"x": 0.5859375, "y": 0.37109375}, {"x": 0.576171875, "y": 0.244140625}, {"x": 1.103515625, "y": 0.4150390625}, {"x": 0.712890625, "y": 0.50537109375}, {"x": 1.11328125, "y": 0.5712890625}, {"x": 0.732421875, "y": 0.4638671875}, {"x": 0.703125, "y": 0.283203125}, {"x": 0.95703125, "y": 0.3515625}, {"x": 0.947265625, "y": 0.48828125}, {"x": 0.927734375, "y": 0.380859375}, {"x": 0.91796875, "y": 0.35400390625}, {"x": 0.615234375, "y": 0.16357421875}, {"x": 0.830078125, "y": 0.20751953125}, {"x": 0.4296875, "y": 0.00732421875}], "valid": [false, false, false, false, false, false, true, false, true, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9043.72265625, "y": -2715.501708984375}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9030.580078125, "y": -2749.409912109375}, {"x": 9030.4541015625, "y": -2749.289306640625}, {"x": 9030.4072265625, "y": -2749.291015625}, {"x": 9030.380859375, "y": -2749.22314453125}, {"x": 9030.44140625, "y": -2749.347412109375}, {"x": 9030.705078125, "y": -2749.287353515625}, {"x": 9031.072265625, "y": -2750.307373046875}, {"x": 9031.376953125, "y": -2750.480712890625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 86.7757775558278, 38.491312501553416, 45.491873910222964, -150.54642613792046, -58.68278602783681, 233.05569870794312, 29.171454492273902, 52.51142324478515, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -1.259765625, "y": 1.2060546875}, {"x": -1.259765625, "y": 1.2060546875}, {"x": -0.46875, "y": -0.01708984375}, {"x": -0.263671875, "y": 0.6787109375}, {"x": 0.60546875, "y": -1.24267578125}, {"x": 2.63671875, "y": 0.6005859375}, {"x": 3.671875, "y": -10.2001953125}, {"x": 3.046875, "y": -1.7333984375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9031.376953125, "y": -2750.480712890625}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9030.69921875, "y": -2750.182373046875}, {"x": 9030.7265625, "y": -2750.1982421875}, {"x": 9030.7294921875, "y": -2750.1787109375}, {"x": 9030.734375, "y": -2750.166748046875}, {"x": 9030.736328125, "y": -2750.144287109375}, {"x": 9030.7666015625, "y": -2750.15625}, {"x": 9030.76953125, "y": -2750.1640625}, {"x": 9030.7802734375, "y": -2750.16162109375}, {"x": 9030.77734375, "y": -2750.172119140625}, {"x": 9030.7861328125, "y": -2750.171630859375}, {"x": 9030.79296875, "y": -2750.163330078125}, {"x": 9030.7998046875, "y": -2750.1689453125}, {"x": 9030.7998046875, "y": -2750.158935546875}, {"x": 9030.8154296875, "y": -2750.170166015625}, {"x": 9030.80078125, "y": -2750.16357421875}, {"x": 9030.802734375, "y": -2750.177490234375}, {"x": 9030.7998046875, "y": -2750.173095703125}, {"x": 9030.7958984375, "y": -2750.175048828125}, {"x": 9030.8056640625, "y": -2750.1669921875}, {"x": 9030.8076171875, "y": -2750.1748046875}, {"x": 9030.806640625, "y": -2750.169189453125}, {"x": 9030.798828125, "y": -2750.16552734375}, {"x": 9030.8056640625, "y": -2750.16796875}, {"x": 9030.8115234375, "y": -2750.147705078125}, {"x": 9030.8037109375, "y": -2750.150146484375}, {"x": 9030.8056640625, "y": -2750.1494140625}, {"x": 9030.80078125, "y": -2750.134033203125}, {"x": 9030.806640625, "y": -2750.133544921875}, {"x": 9030.794921875, "y": -2750.137451171875}, {"x": 9030.80078125, "y": -2750.150390625}, {"x": 9030.787109375, "y": -2750.149658203125}, {"x": 9030.7861328125, "y": -2750.145751953125}, {"x": 9030.7880859375, "y": -2750.145263671875}, {"x": 9030.78515625, "y": -2750.1552734375}, {"x": 9030.7744140625, "y": -2750.144775390625}, {"x": 9030.7646484375, "y": -2750.157958984375}, {"x": 9030.759765625, "y": -2750.15283203125}, {"x": 9030.7607421875, "y": -2750.142822265625}, {"x": 9030.7568359375, "y": -2750.157470703125}, {"x": 9030.7626953125, "y": -2750.138427734375}, {"x": 9030.76171875, "y": -2750.133056640625}, {"x": 9030.767578125, "y": -2750.127685546875}, {"x": 9030.7529296875, "y": -2750.14453125}, {"x": 9030.7431640625, "y": -2750.134521484375}, {"x": 9030.7421875, "y": -2750.15185546875}, {"x": 9030.7470703125, "y": -2750.139404296875}, {"x": 9030.736328125, "y": -2750.143310546875}, {"x": 9030.728515625, "y": -2750.14013671875}, {"x": 9030.7275390625, "y": -2750.139404296875}, {"x": 9030.7236328125, "y": -2750.13427734375}, {"x": 9030.712890625, "y": -2750.1328125}, {"x": 9030.708984375, "y": -2750.1357421875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 58.20128501210759, -276.27287373774175, 68.99742352368825, 65.44261058902009, -271.8046732657461, -286.9043090676767, -294.54882071129504, -298.93445785660356, -293.6100521910118, -293.5853269062164, -292.95164927577923, -293.0159350162474, -288.4632587645971, -290.91095267631954, -290.8215591604624, -294.0195083713757, -292.75171597839466, -295.5292260647587, -292.86690028855776, -291.8938715393977, -293.05489441527317, -291.4696348296699, -291.195006583522, -287.9345474813247, -290.0277272543668, -287.2681942258983, -286.43078571289806, -286.0767087063246, -286.17320561891853, -284.9926484020168, -286.65730210653237, -285.3001708392075, -284.0557923347012, -283.624069737643, -285.7924635538253, -281.98375882732944, -282.33868277736, -283.5519702607644, -282.6601114797008, -283.1855989136849, -284.2403986875883, -283.23698925700006, -284.8569735243437, -287.9632069550821, -286.8723711031177, -283.53352875000536, -288.4816183130861, -288.9248702694632, -287.533615377045, -290.1141974492592, -298.3181015859016, -296.84013061178086], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.2734375, "y": -0.15869140625}, {"x": 0.2734375, "y": -0.15869140625}, {"x": 0.029296875, "y": 0.1953125}, {"x": 0.048828125, "y": 0.11962890625}, {"x": 0.01953125, "y": 0.224609375}, {"x": 0.302734375, "y": -0.11962890625}, {"x": 0.029296875, "y": -0.078125}, {"x": 0.107421875, "y": 0.0244140625}, {"x": -0.029296875, "y": -0.10498046875}, {"x": 0.087890625, "y": 0.0048828125}, {"x": 0.068359375, "y": 0.0830078125}, {"x": 0.068359375, "y": -0.05615234375}, {"x": -0.0, "y": 0.10009765625}, {"x": 0.15625, "y": -0.1123046875}, {"x": -0.146484375, "y": 0.06591796875}, {"x": 0.01953125, "y": -0.13916015625}, {"x": -0.029296875, "y": 0.0439453125}, {"x": -0.0390625, "y": -0.01953125}, {"x": 0.09765625, "y": 0.08056640625}, {"x": 0.01953125, "y": -0.078125}, {"x": -0.009765625, "y": 0.05615234375}, {"x": -0.078125, "y": 0.03662109375}, {"x": 0.068359375, "y": -0.0244140625}, {"x": 0.05859375, "y": 0.20263671875}, {"x": -0.078125, "y": -0.0244140625}, {"x": 0.01953125, "y": 0.00732421875}, {"x": -0.048828125, "y": 0.15380859375}, {"x": 0.05859375, "y": 0.0048828125}, {"x": -0.1171875, "y": -0.0390625}, {"x": 0.05859375, "y": -0.12939453125}, {"x": -0.13671875, "y": 0.00732421875}, {"x": -0.009765625, "y": 0.0390625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.029296875, "y": -0.10009765625}, {"x": -0.107421875, "y": 0.10498046875}, {"x": -0.09765625, "y": -0.1318359375}, {"x": -0.048828125, "y": 0.05126953125}, {"x": 0.009765625, "y": 0.10009765625}, {"x": -0.0390625, "y": -0.146484375}, {"x": 0.05859375, "y": 0.1904296875}, {"x": -0.009765625, "y": 0.0537109375}, {"x": 0.05859375, "y": 0.0537109375}, {"x": -0.146484375, "y": -0.16845703125}, {"x": -0.09765625, "y": 0.10009765625}, {"x": -0.009765625, "y": -0.17333984375}, {"x": 0.048828125, "y": 0.12451171875}, {"x": -0.107421875, "y": -0.0390625}, {"x": -0.078125, "y": 0.03173828125}, {"x": -0.009765625, "y": 0.00732421875}, {"x": -0.0390625, "y": 0.05126953125}, {"x": -0.107421875, "y": 0.0146484375}, {"x": -0.0390625, "y": -0.029296875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9030.708984375, "y": -2750.1357421875}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9031.525390625, "y": -2749.69091796875}, {"x": 9031.5390625, "y": -2749.708984375}, {"x": 9031.51171875, "y": -2749.674072265625}, {"x": 9031.4912109375, "y": -2749.67333984375}, {"x": 9031.490234375, "y": -2749.6748046875}, {"x": 9031.50390625, "y": -2749.663818359375}, {"x": 9031.5, "y": -2749.661376953125}, {"x": 9031.4990234375, "y": -2749.644287109375}, {"x": 9031.50390625, "y": -2749.628662109375}, {"x": 9031.5009765625, "y": -2749.625}, {"x": 9031.5146484375, "y": -2749.612060546875}, {"x": 9031.5205078125, "y": -2749.59375}, {"x": 9031.5166015625, "y": -2749.587158203125}, {"x": 9031.49609375, "y": -2749.59619140625}, {"x": 9031.5, "y": -2749.587158203125}, {"x": 9031.49609375, "y": -2749.6025390625}, {"x": 9031.4970703125, "y": -2749.5947265625}, {"x": 9031.4892578125, "y": -2749.593505859375}, {"x": 9031.490234375, "y": -2749.5810546875}, {"x": 9031.4853515625, "y": -2749.572998046875}, {"x": 9031.482421875, "y": -2749.569091796875}, {"x": 9031.4794921875, "y": -2749.555908203125}, {"x": 9031.4794921875, "y": -2749.5615234375}, {"x": 9031.474609375, "y": -2749.5732421875}, {"x": 9031.470703125, "y": -2749.563720703125}, {"x": 9031.46875, "y": -2749.560791015625}, {"x": 9031.4658203125, "y": -2749.555908203125}, {"x": 9031.45703125, "y": -2749.571044921875}, {"x": 9031.4482421875, "y": -2749.574462890625}, {"x": 9031.4462890625, "y": -2749.57666015625}, {"x": 9031.4404296875, "y": -2749.586181640625}, {"x": 9031.435546875, "y": -2749.572998046875}, {"x": 9031.4345703125, "y": -2749.5859375}, {"x": 9031.4404296875, "y": -2749.609375}, {"x": 9031.435546875, "y": -2749.59814453125}, {"x": 9031.4404296875, "y": -2749.63623046875}, {"x": 9031.4482421875, "y": -2749.65185546875}, {"x": 9031.4501953125, "y": -2749.650634765625}, {"x": 9031.451171875, "y": -2749.6416015625}, {"x": 9031.4560546875, "y": -2749.672119140625}, {"x": 9031.4677734375, "y": -2749.69873046875}, {"x": 9031.4736328125, "y": -2749.710205078125}, {"x": 9031.4716796875, "y": -2749.7158203125}, {"x": 9031.44140625, "y": -2749.709716796875}, {"x": 9031.455078125, "y": -2749.712646484375}, {"x": 9031.4521484375, "y": -2749.710693359375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -148.31070031690018, -199.12908359097926, -173.5860339065858, -170.98113636092637, -158.57264973349416, -161.95851110885286, -159.40917032190228, -168.2300591066503, -165.6240277495886, -157.88726757104004, -151.70482622115463, 184.07432213189566, -152.26864467676086, -163.6832704780645, -160.4820154555929, -173.63149564570142, -175.23824300643358, -179.56798188357467, -181.32538955701898, -179.47753651858537, -181.51032375898623, -180.32330518312972, -186.03738680124903, -186.79384391220628, -187.07717381935674, -180.80869940668583, -182.19099309091303, -185.42813392728388, -183.61112602314208, -183.47169454142542, -182.56789658969268, -173.02231107362798, -175.38281079040604, -178.42395251835424, -170.56319708561327, -177.7018375985438, -180.59867108970795, -177.59020498674911, -172.39912461375602, -177.5224904913176, -179.72808151771977, -182.381459746108, -182.38928714289685, -176.67013752441338, -175.8992413935507, -176.64389593762218], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.13671875, "y": -0.1806640625}, {"x": 0.13671875, "y": -0.1806640625}, {"x": -0.2734375, "y": 0.34912109375}, {"x": -0.205078125, "y": 0.00732421875}, {"x": -0.009765625, "y": -0.0146484375}, {"x": 0.13671875, "y": 0.10986328125}, {"x": -0.0390625, "y": 0.0244140625}, {"x": -0.009765625, "y": 0.1708984375}, {"x": 0.048828125, "y": 0.15625}, {"x": -0.029296875, "y": 0.03662109375}, {"x": 0.13671875, "y": 0.12939453125}, {"x": 0.05859375, "y": 0.18310546875}, {"x": -0.0390625, "y": 0.06591796875}, {"x": -0.205078125, "y": -0.09033203125}, {"x": 0.0390625, "y": 0.09033203125}, {"x": -0.0390625, "y": -0.15380859375}, {"x": 0.009765625, "y": 0.078125}, {"x": -0.078125, "y": 0.01220703125}, {"x": 0.009765625, "y": 0.12451171875}, {"x": -0.048828125, "y": 0.08056640625}, {"x": -0.029296875, "y": 0.0390625}, {"x": -0.029296875, "y": 0.1318359375}, {"x": -0.0, "y": -0.05615234375}, {"x": -0.048828125, "y": -0.1171875}, {"x": -0.0390625, "y": 0.09521484375}, {"x": -0.01953125, "y": 0.029296875}, {"x": -0.029296875, "y": 0.048828125}, {"x": -0.087890625, "y": -0.1513671875}, {"x": -0.087890625, "y": -0.0341796875}, {"x": -0.01953125, "y": -0.02197265625}, {"x": -0.05859375, "y": -0.09521484375}, {"x": -0.048828125, "y": 0.1318359375}, {"x": -0.009765625, "y": -0.12939453125}, {"x": 0.05859375, "y": -0.234375}, {"x": -0.048828125, "y": 0.1123046875}, {"x": 0.048828125, "y": -0.380859375}, {"x": 0.078125, "y": -0.15625}, {"x": 0.01953125, "y": 0.01220703125}, {"x": 0.009765625, "y": 0.09033203125}, {"x": 0.048828125, "y": -0.30517578125}, {"x": 0.1171875, "y": -0.26611328125}, {"x": 0.05859375, "y": -0.11474609375}, {"x": -0.01953125, "y": -0.05615234375}, {"x": -0.302734375, "y": 0.06103515625}, {"x": 0.13671875, "y": -0.029296875}, {"x": -0.029296875, "y": 0.01953125}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9031.4521484375, "y": -2749.710693359375}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8973.4521484375, "y": -2782.9814453125}, {"x": 8973.5751953125, "y": -2783.031982421875}, {"x": 8973.708984375, "y": -2783.04052734375}, {"x": 8973.8271484375, "y": -2783.03759765625}, {"x": 8973.94921875, "y": -2783.025146484375}, {"x": 8974.056640625, "y": -2783.041259765625}, {"x": 8974.1630859375, "y": -2783.02734375}, {"x": 8974.283203125, "y": -2783.025390625}, {"x": 8974.38671875, "y": -2783.0302734375}, {"x": 8974.5048828125, "y": -2783.03125}, {"x": 8974.6103515625, "y": -2783.031982421875}, {"x": 8974.7138671875, "y": -2783.03173828125}, {"x": 8974.8173828125, "y": -2783.030029296875}, {"x": 8974.9296875, "y": -2783.027099609375}, {"x": 8975.03515625, "y": -2783.01953125}, {"x": 8975.146484375, "y": -2783.0224609375}, {"x": 8975.2578125, "y": -2783.02197265625}, {"x": 8975.396484375, "y": -2783.03955078125}, {"x": 8975.50390625, "y": -2783.076416015625}, {"x": 8975.6767578125, "y": -2783.086669921875}, {"x": 8975.7978515625, "y": -2783.115234375}, {"x": 8975.935546875, "y": -2783.123779296875}, {"x": 8976.0546875, "y": -2783.140869140625}, {"x": 8976.1689453125, "y": -2783.134521484375}, {"x": 8976.2470703125, "y": -2783.153076171875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -1.4320038010065332, -1.04115390971537, -0.650399000742352, -0.5994652128845092, 1.5060722933568558, 1.3644609140779236, 1.7114018670726021, 0.9476230067685079, -0.8585814590970482, -2.2456099585229286, -2.9951301586043866, -2.3361611914443725, -1.6716785540768657, -0.35406761506335227, -2.3995240026009346, -2.832837179962067, -3.949970114004659, -3.960429268058064, -5.5590448616964805, -1.2510891653658207, -1.0452528769910239, -3.4955879374881524, -2.6735279267699856, -1.3454241096440402, -0.8378517282443537], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 1.23046875, "y": -0.50537109375}, {"x": 1.23046875, "y": -0.50537109375}, {"x": 1.337890625, "y": -0.08544921875}, {"x": 1.181640625, "y": 0.029296875}, {"x": 1.220703125, "y": 0.12451171875}, {"x": 1.07421875, "y": -0.1611328125}, {"x": 1.064453125, "y": 0.13916015625}, {"x": 1.201171875, "y": 0.01953125}, {"x": 1.03515625, "y": -0.048828125}, {"x": 1.181640625, "y": -0.009765625}, {"x": 1.0546875, "y": -0.00732421875}, {"x": 1.03515625, "y": 0.00244140625}, {"x": 1.03515625, "y": 0.01708984375}, {"x": 1.123046875, "y": 0.029296875}, {"x": 1.0546875, "y": 0.07568359375}, {"x": 1.11328125, "y": -0.029296875}, {"x": 1.11328125, "y": 0.0048828125}, {"x": 1.38671875, "y": -0.17578125}, {"x": 1.07421875, "y": -0.36865234375}, {"x": 1.728515625, "y": -0.1025390625}, {"x": 1.2109375, "y": -0.28564453125}, {"x": 1.376953125, "y": -0.08544921875}, {"x": 1.19140625, "y": -0.1708984375}, {"x": 1.142578125, "y": 0.0634765625}, {"x": 0.78125, "y": -0.185546875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8976.2470703125, "y": -2783.153076171875}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8972.58203125, "y": -2782.03955078125}, {"x": 8972.7333984375, "y": -2782.041015625}, {"x": 8972.87109375, "y": -2782.054931640625}, {"x": 8973.0068359375, "y": -2782.081298828125}, {"x": 8973.1357421875, "y": -2782.07763671875}, {"x": 8973.2529296875, "y": -2782.092529296875}, {"x": 8973.376953125, "y": -2782.110595703125}, {"x": 8973.494140625, "y": -2782.093505859375}, {"x": 8973.6025390625, "y": -2782.10595703125}, {"x": 8973.6962890625, "y": -2782.12548828125}, {"x": 8973.810546875, "y": -2782.10888671875}, {"x": 8973.9208984375, "y": -2782.098388671875}, {"x": 8974.017578125, "y": -2782.09716796875}, {"x": 8974.095703125, "y": -2782.094482421875}, {"x": 8974.2255859375, "y": -2782.09619140625}, {"x": 8974.3427734375, "y": -2782.086181640625}, {"x": 8974.4794921875, "y": -2782.091796875}, {"x": 8974.6005859375, "y": -2782.075439453125}, {"x": 8974.7333984375, "y": -2782.085205078125}, {"x": 8974.849609375, "y": -2782.071533203125}, {"x": 8974.9609375, "y": -2782.048095703125}, {"x": 8975.0634765625, "y": -2782.029541015625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -4.06579304685515, -6.075413993138614, -4.444634611811785, -4.169858235936288, -3.858377277234788, -2.9683906083340212, -3.654274576248705, -2.938624857374517, -3.1342414752036825, -2.0727124708639297, -0.7749477137009461, -0.30246126701567466, 0.9267414109284864, 2.546058454167565, 3.325653684711882, 4.135709424520339, 4.731045788051576, 5.773780032786157, 7.385117280640546, 8.382870460822362, 10.541204262130867, 13.453426169495055], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 1.513671875, "y": -0.0146484375}, {"x": 1.513671875, "y": -0.0146484375}, {"x": 1.376953125, "y": -0.13916015625}, {"x": 1.357421875, "y": -0.263671875}, {"x": 1.2890625, "y": 0.03662109375}, {"x": 1.171875, "y": -0.14892578125}, {"x": 1.240234375, "y": -0.1806640625}, {"x": 1.171875, "y": 0.1708984375}, {"x": 1.083984375, "y": -0.12451171875}, {"x": 0.9375, "y": -0.1953125}, {"x": 1.142578125, "y": 0.166015625}, {"x": 1.103515625, "y": 0.10498046875}, {"x": 0.966796875, "y": 0.01220703125}, {"x": 0.78125, "y": 0.02685546875}, {"x": 1.298828125, "y": -0.01708984375}, {"x": 1.171875, "y": 0.10009765625}, {"x": 1.3671875, "y": -0.05615234375}, {"x": 1.2109375, "y": 0.16357421875}, {"x": 1.328125, "y": -0.09765625}, {"x": 1.162109375, "y": 0.13671875}, {"x": 1.11328125, "y": 0.234375}, {"x": 1.025390625, "y": 0.185546875}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8975.0634765625, "y": -2782.029541015625}, "type": "pedestrian"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9028.078125, "y": -2751.371826171875}, {"x": 9028.1767578125, "y": -2751.3955078125}, {"x": 9028.1298828125, "y": -2751.41552734375}, {"x": 9028.2353515625, "y": -2751.447509765625}, {"x": 9028.3115234375, "y": -2751.511474609375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -185.09038107282674, -186.20326477543196, -32.36802058988031, -31.15900880489635, -15.795235927383027, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.986328125, "y": -0.23681640625}, {"x": 0.986328125, "y": -0.23681640625}, {"x": -0.46875, "y": -0.2001953125}, {"x": 1.0546875, "y": -0.31982421875}, {"x": 0.76171875, "y": -0.6396484375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, false, false, false, false], "goalPosition": {"x": 9028.3115234375, "y": -2751.511474609375}, "type": "pedestrian"}, {"position": [{"x": 9032.8369140625, "y": -2718.306396484375}, {"x": 9032.837890625, "y": -2718.311279296875}, {"x": 9032.83203125, "y": -2718.309814453125}, {"x": 9032.837890625, "y": -2718.31787109375}, {"x": 9032.841796875, "y": -2718.318115234375}, {"x": 9032.8330078125, "y": -2718.31396484375}, {"x": 9032.8271484375, "y": -2718.309326171875}, {"x": 9032.82421875, "y": -2718.305908203125}, {"x": 9032.8232421875, "y": -2718.305908203125}, {"x": 9032.8193359375, "y": -2718.30224609375}, {"x": 9032.8203125, "y": -2718.313232421875}, {"x": 9032.8212890625, "y": -2718.319091796875}, {"x": 9032.826171875, "y": -2718.333740234375}, {"x": 9032.8349609375, "y": -2718.354248046875}, {"x": 9032.8427734375, "y": -2718.36328125}, {"x": 9032.853515625, "y": -2718.385498046875}, {"x": 9032.8720703125, "y": -2718.4091796875}, {"x": 9032.890625, "y": -2718.4228515625}, {"x": 9032.9130859375, "y": -2718.450439453125}, {"x": 9032.9482421875, "y": -2718.49072265625}, {"x": 9032.9697265625, "y": -2718.52587890625}, {"x": 9033.0087890625, "y": -2718.576171875}, {"x": 9033.0380859375, "y": -2718.619384765625}, {"x": 9033.0830078125, "y": -2718.673095703125}, {"x": 9033.1328125, "y": -2718.71923828125}, {"x": 9033.171875, "y": -2718.7802734375}, {"x": 9033.232421875, "y": -2718.85107421875}, {"x": 9033.2861328125, "y": -2718.91552734375}, {"x": 9033.3408203125, "y": -2718.985595703125}, {"x": 9033.40625, "y": -2719.057861328125}, {"x": 9033.46484375, "y": -2719.1259765625}, {"x": 9033.53515625, "y": -2719.205322265625}, {"x": 9033.6103515625, "y": -2719.29052734375}, {"x": 9033.6787109375, "y": -2719.37353515625}, {"x": 9033.7490234375, "y": -2719.450927734375}, {"x": 9033.8212890625, "y": -2719.545166015625}, {"x": 9033.89453125, "y": -2719.640869140625}, {"x": 9033.9619140625, "y": -2719.71337890625}, {"x": 9034.033203125, "y": -2719.802490234375}, {"x": 9034.1044921875, "y": -2719.88671875}, {"x": 9034.1669921875, "y": -2719.95556640625}, {"x": 9034.2216796875, "y": -2720.027099609375}, {"x": 9034.2734375, "y": -2720.0888671875}, {"x": 9034.3203125, "y": -2720.15576171875}, {"x": 9034.359375, "y": -2720.2060546875}, {"x": 9034.4052734375, "y": -2720.2568359375}, {"x": 9034.4365234375, "y": -2720.298583984375}, {"x": 9034.455078125, "y": -2720.328369140625}, {"x": 9034.470703125, "y": -2720.353515625}, {"x": 9034.4912109375, "y": -2720.376708984375}, {"x": 9034.49609375, "y": -2720.393798828125}, {"x": 9034.5048828125, "y": -2720.405517578125}, {"x": 9034.509765625, "y": -2720.414794921875}, {"x": 9034.5009765625, "y": -2720.415771484375}, {"x": 9034.50390625, "y": -2720.422119140625}, {"x": 9034.5078125, "y": -2720.431884765625}, {"x": 9034.5048828125, "y": -2720.4306640625}, {"x": 9034.5029296875, "y": -2720.432373046875}, {"x": 9034.5078125, "y": -2720.43603515625}, {"x": 9034.5048828125, "y": -2720.437744140625}, {"x": 9034.5029296875, "y": -2720.440673828125}, {"x": 9034.49609375, "y": -2720.43310546875}, {"x": 9034.501953125, "y": -2720.444580078125}, {"x": 9034.4970703125, "y": -2720.44384765625}, {"x": 9034.498046875, "y": -2720.451171875}, {"x": 9034.4990234375, "y": -2720.451416015625}, {"x": 9034.4970703125, "y": -2720.4521484375}, {"x": 9034.494140625, "y": -2720.4501953125}, {"x": 9034.49609375, "y": -2720.450439453125}, {"x": 9034.4990234375, "y": -2720.454345703125}, {"x": 9034.5029296875, "y": -2720.464599609375}, {"x": 9034.5029296875, "y": -2720.466552734375}, {"x": 9034.5048828125, "y": -2720.46630859375}, {"x": 9034.5205078125, "y": -2720.48828125}, {"x": 9034.533203125, "y": -2720.50634765625}, {"x": 9034.5537109375, "y": -2720.52880859375}, {"x": 9034.57421875, "y": -2720.5556640625}, {"x": 9034.6025390625, "y": -2720.59228515625}, {"x": 9034.6328125, "y": -2720.62548828125}, {"x": 9034.6689453125, "y": -2720.671142578125}, {"x": 9034.7080078125, "y": -2720.723388671875}, {"x": 9034.7568359375, "y": -2720.792724609375}, {"x": 9034.798828125, "y": -2720.848388671875}, {"x": 9034.8623046875, "y": -2720.921875}, {"x": 9034.919921875, "y": -2720.998291015625}, {"x": 9034.9814453125, "y": -2721.080810546875}, {"x": 9035.0517578125, "y": -2721.181640625}, {"x": 9035.126953125, "y": -2721.29443359375}, {"x": 9035.2041015625, "y": -2721.421875}, {"x": 9035.2900390625, "y": -2721.55029296875}, {"x": 9035.3857421875, "y": -2721.697509765625}], "width": 1.9770376682281494, "length": 4.493621349334717, "heading": [-49.852348638629145, -49.8363694110659, -49.783251029890714, -49.73959929090516, -49.70622015643131, -49.70133998626933, -49.742003517493, -49.71801589312792, -49.70170198629535, -49.639311623321866, -49.72122949713241, -49.641640717828835, -49.66549173841052, -49.92391536075254, -49.67389287108964, -49.83754761869773, -49.80383038985996, -49.65799219070185, -49.7785381993634, -50.0108192726572, -50.045263916641574, -50.161790358976575, -50.22402021250456, -50.1747438127375, -50.06975355991065, -50.11881822381344, -50.19001953081624, -50.260988611387255, -50.2850991791574, -50.332668031631954, -50.072014352525926, -50.2473350632364, -50.13459596079617, -50.206603230121026, -50.216384061012484, -50.186570285285384, -50.191129436556366, -50.036644217909014, -49.988723610692205, -50.000420309645854, -50.05112080385486, -49.88007237647023, -49.92115596432786, -49.85937690328509, -49.94131185256856, -49.815783220907484, -49.948350362508265, -49.893261471757526, -49.83535854306874, -49.975244232365185, -49.73624566802268, -49.784886860196934, -49.776451576571965, -49.73725995111443, -49.73335308290918, -49.83424180713944, -49.681535852770885, -49.664258889265334, -49.72927887506927, -49.73498549812082, -49.723176101045865, -49.74839998965072, -49.84906673273296, -49.97069532637796, -49.86621733773886, -49.87196494192543, -49.85777522392472, -49.7975568611073, -49.837305146982196, -49.82111418355468, -49.81450597553269, -49.8157354095833, -49.72513295024307, -49.78183718073252, -49.73101715821304, -49.69706428784891, -49.826656882066146, -49.739882743755715, -49.86185284685922, -49.919847983101796, -49.86023409202593, -49.85417912932671, -49.8456174872021, -49.901044472316755, -50.14091047068385, -50.280772254318194, -50.616879033185356, -51.165090506538085, -51.660497787417455, -52.40134108593205, -53.23818952342036], "velocity": [{"x": 0.029296875, "y": -0.07080078125}, {"x": 0.009765625, "y": -0.048828125}, {"x": -0.05859375, "y": 0.0146484375}, {"x": 0.05859375, "y": -0.08056640625}, {"x": 0.0390625, "y": -0.00244140625}, {"x": -0.087890625, "y": 0.04150390625}, {"x": -0.05859375, "y": 0.04638671875}, {"x": -0.029296875, "y": 0.0341796875}, {"x": -0.009765625, "y": -0.0}, {"x": -0.0390625, "y": 0.03662109375}, {"x": 0.009765625, "y": -0.10986328125}, {"x": 0.009765625, "y": -0.05859375}, {"x": 0.048828125, "y": -0.146484375}, {"x": 0.087890625, "y": -0.205078125}, {"x": 0.078125, "y": -0.09033203125}, {"x": 0.107421875, "y": -0.22216796875}, {"x": 0.185546875, "y": -0.23681640625}, {"x": 0.185546875, "y": -0.13671875}, {"x": 0.224609375, "y": -0.27587890625}, {"x": 0.3515625, "y": -0.40283203125}, {"x": 0.21484375, "y": -0.3515625}, {"x": 0.390625, "y": -0.5029296875}, {"x": 0.29296875, "y": -0.43212890625}, {"x": 0.44921875, "y": -0.537109375}, {"x": 0.498046875, "y": -0.46142578125}, {"x": 0.390625, "y": -0.6103515625}, {"x": 0.60546875, "y": -0.7080078125}, {"x": 0.537109375, "y": -0.64453125}, {"x": 0.546875, "y": -0.70068359375}, {"x": 0.654296875, "y": -0.72265625}, {"x": 0.5859375, "y": -0.68115234375}, {"x": 0.703125, "y": -0.79345703125}, {"x": 0.751953125, "y": -0.85205078125}, {"x": 0.68359375, "y": -0.830078125}, {"x": 0.703125, "y": -0.77392578125}, {"x": 0.72265625, "y": -0.9423828125}, {"x": 0.732421875, "y": -0.95703125}, {"x": 0.673828125, "y": -0.72509765625}, {"x": 0.712890625, "y": -0.89111328125}, {"x": 0.712890625, "y": -0.84228515625}, {"x": 0.625, "y": -0.6884765625}, {"x": 0.546875, "y": -0.71533203125}, {"x": 0.517578125, "y": -0.61767578125}, {"x": 0.46875, "y": -0.6689453125}, {"x": 0.390625, "y": -0.5029296875}, {"x": 0.458984375, "y": -0.5078125}, {"x": 0.3125, "y": -0.41748046875}, {"x": 0.185546875, "y": -0.2978515625}, {"x": 0.15625, "y": -0.25146484375}, {"x": 0.205078125, "y": -0.23193359375}, {"x": 0.048828125, "y": -0.1708984375}, {"x": 0.087890625, "y": -0.1171875}, {"x": 0.048828125, "y": -0.0927734375}, {"x": -0.087890625, "y": -0.009765625}, {"x": 0.029296875, "y": -0.0634765625}, {"x": 0.0390625, "y": -0.09765625}, {"x": -0.029296875, "y": 0.01220703125}, {"x": -0.01953125, "y": -0.01708984375}, {"x": 0.048828125, "y": -0.03662109375}, {"x": -0.029296875, "y": -0.01708984375}, {"x": -0.01953125, "y": -0.029296875}, {"x": -0.068359375, "y": 0.07568359375}, {"x": 0.05859375, "y": -0.11474609375}, {"x": -0.048828125, "y": 0.00732421875}, {"x": 0.009765625, "y": -0.0732421875}, {"x": 0.009765625, "y": -0.00244140625}, {"x": -0.01953125, "y": -0.00732421875}, {"x": -0.029296875, "y": 0.01953125}, {"x": 0.01953125, "y": -0.00244140625}, {"x": 0.029296875, "y": -0.0390625}, {"x": 0.0390625, "y": -0.1025390625}, {"x": -0.0, "y": -0.01953125}, {"x": 0.01953125, "y": 0.00244140625}, {"x": 0.15625, "y": -0.2197265625}, {"x": 0.126953125, "y": -0.1806640625}, {"x": 0.205078125, "y": -0.224609375}, {"x": 0.205078125, "y": -0.2685546875}, {"x": 0.283203125, "y": -0.3662109375}, {"x": 0.302734375, "y": -0.33203125}, {"x": 0.361328125, "y": -0.45654296875}, {"x": 0.390625, "y": -0.5224609375}, {"x": 0.48828125, "y": -0.693359375}, {"x": 0.419921875, "y": -0.556640625}, {"x": 0.634765625, "y": -0.73486328125}, {"x": 0.576171875, "y": -0.76416015625}, {"x": 0.615234375, "y": -0.8251953125}, {"x": 0.703125, "y": -1.00830078125}, {"x": 0.751953125, "y": -1.1279296875}, {"x": 0.771484375, "y": -1.2744140625}, {"x": 0.859375, "y": -1.2841796875}, {"x": 0.95703125, "y": -1.47216796875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9035.3857421875, "y": -2721.697509765625}, "type": "vehicle"}, {"position": [{"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}, {"x": 9060.58203125, "y": -2699.556884765625}], "width": 2.0748846530914307, "length": 4.75024938583374, "heading": [128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127, 128.99585424983127], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9060.58203125, "y": -2699.556884765625}, "type": "vehicle"}, {"position": [{"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": 9093.0908203125, "y": -2698.192626953125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0736148357391357, "length": 4.616311550140381, "heading": [-47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -47.22420112903496, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9093.0908203125, "y": -2698.192626953125}, "type": "vehicle"}, {"position": [{"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}, {"x": 9033.927734375, "y": -2738.560302734375}], "width": 2.2487564086914062, "length": 5.184168815612793, "heading": [46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237, 46.45684303616237], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9033.927734375, "y": -2738.560302734375}, "type": "vehicle"}, {"position": [{"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": 9109.2626953125, "y": -2675.407470703125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.021864414215088, "length": 4.49747371673584, "heading": [40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, 40.56094178233732, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9109.2626953125, "y": -2675.407470703125}, "type": "vehicle"}, {"position": [{"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": 9089.544921875, "y": -2683.368408203125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.2503910064697266, "length": 4.738343238830566, "heading": [-137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -137.86189058499303, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9089.544921875, "y": -2683.368408203125}, "type": "vehicle"}, {"position": [{"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}, {"x": 9028.4072265625, "y": -2733.3095703125}], "width": 2.020557165145874, "length": 4.397185325622559, "heading": [48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574, 48.51857661826574], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9028.4072265625, "y": -2733.3095703125}, "type": "vehicle"}, {"position": [{"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": 9081.5927734375, "y": -2708.18115234375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 1.8990395069122314, "length": 4.269332408905029, "heading": [-48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -48.32550766099698, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9081.5927734375, "y": -2708.18115234375}, "type": "vehicle"}, {"position": [{"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}, {"x": 9007.4833984375, "y": -2745.688720703125}], "width": 2.15478515625, "length": 4.685556411743164, "heading": [133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538, 133.66173405678538], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9007.4833984375, "y": -2745.688720703125}, "type": "vehicle"}, {"position": [{"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}, {"x": 9015.0732421875, "y": -2745.847900390625}], "width": 2.124758720397949, "length": 5.240989685058594, "heading": [45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891, 45.09575025911891], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.0732421875, "y": -2745.847900390625}, "type": "vehicle"}, {"position": [{"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": 9095.1630859375, "y": -2696.22412109375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 1.9929150342941284, "length": 4.484225273132324, "heading": [-43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -43.53833735476177, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9095.1630859375, "y": -2696.22412109375}, "type": "vehicle"}, {"position": [{"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}, {"x": 9028.587890625, "y": -2743.300537109375}], "width": 2.1172163486480713, "length": 4.948432445526123, "heading": [225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142, 225.24786358089142], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9028.587890625, "y": -2743.300537109375}, "type": "vehicle"}, {"position": [{"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": 9089.3876953125, "y": -2675.417724609375}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.2004616260528564, "length": 5.181097984313965, "heading": [-223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -223.0166593451017, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9089.3876953125, "y": -2675.417724609375}, "type": "vehicle"}, {"position": [{"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": 9105.5400390625, "y": -2688.72314453125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0815200805664062, "length": 4.57900333404541, "heading": [289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, 289.5509800502999, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 9105.5400390625, "y": -2688.72314453125}, "type": "vehicle"}, {"position": [{"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}, {"x": 9015.0908203125, "y": -2764.233642578125}], "width": 2.0089006423950195, "length": 4.462515354156494, "heading": [-44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145, -44.183114042600145], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.0908203125, "y": -2764.233642578125}, "type": "vehicle"}, {"position": [{"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}, {"x": 9021.3896484375, "y": -2750.712890625}], "width": 2.0605602264404297, "length": 4.632732391357422, "heading": [44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786, 44.580426146619786], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9021.3896484375, "y": -2750.712890625}, "type": "vehicle"}, {"position": [{"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": 8993.662109375, "y": -2690.217529296875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.1933977603912354, "length": 4.969088077545166, "heading": [-168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -168.219964087057, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 8993.662109375, "y": -2690.217529296875}, "type": "vehicle"}, {"position": [{"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}, {"x": 8993.185546875, "y": -2760.38330078125}], "width": 2.483011245727539, "length": 5.666296005249023, "heading": [-45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869, -45.07744193704869], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8993.185546875, "y": -2760.38330078125}, "type": "vehicle"}, {"position": [{"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": 8988.77734375, "y": -2676.41748046875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 2.0157320499420166, "length": 4.56960391998291, "heading": [-153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -153.28822799530366, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false], "goalPosition": {"x": 8988.77734375, "y": -2676.41748046875}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}, {"x": 8979.8857421875, "y": -2772.947265625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681, -222.1689918879681], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8979.8857421875, "y": -2772.947265625}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}, {"x": 9015.998046875, "y": -2769.9716796875}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635, 313.39219248033635], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9015.998046875, "y": -2769.9716796875}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": -10000.0, "y": -10000.0}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}, {"x": 9033.6787109375, "y": -2754.349609375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 315.1469773611393, 315.1469773611393, 315.1469773611393, -10000.0, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393, 315.1469773611393], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9033.6787109375, "y": -2754.349609375}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}, {"x": 8973.0087890625, "y": -2779.685791015625}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994, 135.35503357467994], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8973.0087890625, "y": -2779.685791015625}, "type": "vehicle"}, {"position": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}, {"x": 8978.07421875, "y": -2774.968505859375}], "width": 0.0, "length": 0.0, "heading": [-10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -10000.0, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554, -218.52352868263554], "velocity": [{"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}, {"x": 0.0, "y": 0.0}], "valid": [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 8978.07421875, "y": -2774.968505859375}, "type": "vehicle"}, {"position": [{"x": 9040.0, "y": -2718.302734375}, {"x": 9040.0361328125, "y": -2718.23046875}, {"x": 9040.0859375, "y": -2718.157958984375}, {"x": 9040.1337890625, "y": -2718.08740234375}, {"x": 9040.1806640625, "y": -2718.031494140625}, {"x": 9040.232421875, "y": -2717.964111328125}, {"x": 9040.2900390625, "y": -2717.904052734375}, {"x": 9040.345703125, "y": -2717.84765625}, {"x": 9040.419921875, "y": -2717.79541015625}, {"x": 9040.470703125, "y": -2717.72998046875}, {"x": 9040.5234375, "y": -2717.65771484375}, {"x": 9040.5732421875, "y": -2717.58349609375}, {"x": 9040.6181640625, "y": -2717.4970703125}, {"x": 9040.6650390625, "y": -2717.4404296875}, {"x": 9040.7373046875, "y": -2717.380126953125}, {"x": 9040.8037109375, "y": -2717.31298828125}, {"x": 9040.8642578125, "y": -2717.264892578125}, {"x": 9040.9169921875, "y": -2717.195556640625}, {"x": 9040.9638671875, "y": -2717.130859375}, {"x": 9041.005859375, "y": -2717.059326171875}, {"x": 9041.0595703125, "y": -2717.000732421875}, {"x": 9041.099609375, "y": -2716.9287109375}, {"x": 9041.16015625, "y": -2716.87353515625}, {"x": 9041.2314453125, "y": -2716.7958984375}, {"x": 9041.2998046875, "y": -2716.730224609375}, {"x": 9041.3515625, "y": -2716.6650390625}, {"x": 9041.423828125, "y": -2716.602294921875}, {"x": 9041.48828125, "y": -2716.52197265625}, {"x": 9041.5595703125, "y": -2716.46044921875}, {"x": 9041.607421875, "y": -2716.369384765625}, {"x": 9041.6826171875, "y": -2716.28515625}, {"x": 9041.748046875, "y": -2716.218505859375}, {"x": 9041.826171875, "y": -2716.16259765625}, {"x": 9041.9091796875, "y": -2716.0888671875}, {"x": 9041.98828125, "y": -2716.03125}, {"x": 9042.05859375, "y": -2715.963623046875}, {"x": 9042.134765625, "y": -2715.904541015625}, {"x": 9042.197265625, "y": -2715.8701171875}, {"x": 9042.27734375, "y": -2715.827392578125}, {"x": 9042.349609375, "y": -2715.768798828125}, {"x": 9042.43359375, "y": -2715.710205078125}, {"x": 9042.521484375, "y": -2715.64208984375}, {"x": 9042.5771484375, "y": -2715.595458984375}, {"x": 9042.666015625, "y": -2715.541015625}, {"x": 9042.7412109375, "y": -2715.492431640625}, {"x": 9042.814453125, "y": -2715.459716796875}, {"x": 9042.8935546875, "y": -2715.4189453125}, {"x": 9042.95703125, "y": -2715.39404296875}, {"x": 9043.0361328125, "y": -2715.3466796875}, {"x": 9043.1015625, "y": -2715.32177734375}, {"x": 9043.1748046875, "y": -2715.293701171875}, {"x": 9043.2666015625, "y": -2715.253173828125}, {"x": 9043.3388671875, "y": -2715.205322265625}, {"x": 9043.4208984375, "y": -2715.16796875}, {"x": 9043.5068359375, "y": -2715.127685546875}, {"x": 9043.6083984375, "y": -2715.09326171875}, {"x": 9043.703125, "y": -2715.05908203125}, {"x": 9043.7744140625, "y": -2715.031494140625}, {"x": 9043.8564453125, "y": -2715.007080078125}, {"x": 9043.9345703125, "y": -2714.969482421875}, {"x": 9044.015625, "y": -2714.955322265625}, {"x": 9044.0859375, "y": -2714.932373046875}, {"x": 9044.1328125, "y": -2714.93017578125}, {"x": 9044.193359375, "y": -2714.90771484375}, {"x": 9044.220703125, "y": -2714.905029296875}, {"x": 9044.2763671875, "y": -2714.89306640625}, {"x": 9044.30859375, "y": -2714.891845703125}, {"x": 9044.34375, "y": -2714.8955078125}, {"x": 9044.38671875, "y": -2714.989501953125}, {"x": 9044.427734375, "y": -2714.844482421875}, {"x": 9044.4462890625, "y": -2714.880126953125}, {"x": 9044.4677734375, "y": -2714.8291015625}, {"x": 9044.46484375, "y": -2714.810791015625}, {"x": 9044.4775390625, "y": -2714.822265625}, {"x": 9044.435546875, "y": -2714.81787109375}, {"x": 9044.3984375, "y": -2714.80615234375}, {"x": 9044.3330078125, "y": -2714.779052734375}, {"x": 9044.3427734375, "y": -2714.82861328125}, {"x": 9044.32421875, "y": -2714.835205078125}, {"x": 9044.30859375, "y": -2714.871826171875}, {"x": 9044.298828125, "y": -2714.839599609375}, {"x": 9044.3076171875, "y": -2714.84912109375}, {"x": 9044.3212890625, "y": -2714.867919921875}, {"x": 9044.337890625, "y": -2714.884033203125}, {"x": 9044.3564453125, "y": -2714.886962890625}, {"x": 9044.369140625, "y": -2714.916748046875}, {"x": 9044.37109375, "y": -2714.921630859375}, {"x": 9044.400390625, "y": -2714.935546875}, {"x": 9044.4501953125, "y": -2714.935791015625}, {"x": 9044.48046875, "y": -2714.94189453125}, {"x": 9044.5205078125, "y": -2714.949951171875}], "width": 1.00785231590271, "length": 0.9430193901062012, "heading": [-304.5031657284283, -305.20432562786516, -305.21069136417157, -305.3180619379242, -305.98528945756436, -306.99047473733685, -307.7410305648512, -309.6426098712961, -310.54575212486856, -310.43567679620463, -309.5271250328095, -309.26812425948265, -309.7156382539019, -309.63487809715565, -310.33740403442647, -310.85718143026446, -311.01842853619013, -311.8070421777598, -311.471352040432, -310.3914718118963, -309.8649188684017, -308.805447245106, -309.31082660217356, -310.39852056711976, -311.74600760733654, -312.7496902454916, -312.61180238652736, -313.6163319681395, -313.7052337103764, -314.5380250154977, -315.09741750852174, -316.25354996895146, -316.88077990081206, -317.81504049624306, -318.2701496610194, -319.5110311086706, -320.6492684734749, 39.01026344450182, 38.06055637626281, 36.99428529964836, 36.01138009694851, 35.22940539925209, 34.242593328346985, 33.86530733897382, 32.95240132998284, 32.15844989557681, 31.51080794338161, 29.097114713347484, 28.554848919667247, 27.741371681971437, 26.300794286009246, 25.545559778913425, 24.42834573637444, 22.916488486233995, 22.424735356560586, 21.735080910780642, 21.2281442705823, 20.75613892534669, 21.165902464223265, 21.186121531713795, 19.905163949107507, 20.682294335135097, 19.13687353541321, 16.872961231235585, 17.318514961363025, 16.552849047857304, 15.679366890755638, 18.260976906439943, 21.032114426308347, -23.907011057405708, -2.792434476587326, -44.19260800554646, -66.21052192721545, -72.47218664128386, -80.50011095396087, -106.48515583992418, -86.60998837410408, -27.28808788525083, -22.63146298462207, -60.95412445518953, -46.77481566278314, -70.58648752465922, -61.74118764381761, -58.45200076597125, -54.03071003319528, -56.20219109488241, -38.689364081821694, -9.207813878587332, -4.271472240879037, -0.3560812402080366, 5.255711038014336], "velocity": [{"x": 0.33203125, "y": 0.68115234375}, {"x": 0.361328125, "y": 0.72265625}, {"x": 0.498046875, "y": 0.72509765625}, {"x": 0.478515625, "y": 0.70556640625}, {"x": 0.46875, "y": 0.55908203125}, {"x": 0.517578125, "y": 0.673828125}, {"x": 0.576171875, "y": 0.6005859375}, {"x": 0.556640625, "y": 0.56396484375}, {"x": 0.7421875, "y": 0.5224609375}, {"x": 0.5078125, "y": 0.654296875}, {"x": 0.52734375, "y": 0.72265625}, {"x": 0.498046875, "y": 0.7421875}, {"x": 0.44921875, "y": 0.8642578125}, {"x": 0.46875, "y": 0.56640625}, {"x": 0.72265625, "y": 0.60302734375}, {"x": 0.6640625, "y": 0.67138671875}, {"x": 0.60546875, "y": 0.48095703125}, {"x": 0.52734375, "y": 0.693359375}, {"x": 0.46875, "y": 0.64697265625}, {"x": 0.419921875, "y": 0.71533203125}, {"x": 0.537109375, "y": 0.5859375}, {"x": 0.400390625, "y": 0.72021484375}, {"x": 0.60546875, "y": 0.5517578125}, {"x": 0.712890625, "y": 0.7763671875}, {"x": 0.68359375, "y": 0.65673828125}, {"x": 0.517578125, "y": 0.65185546875}, {"x": 0.72265625, "y": 0.62744140625}, {"x": 0.64453125, "y": 0.80322265625}, {"x": 0.712890625, "y": 0.615234375}, {"x": 0.478515625, "y": 0.91064453125}, {"x": 0.751953125, "y": 0.84228515625}, {"x": 0.654296875, "y": 0.66650390625}, {"x": 0.78125, "y": 0.55908203125}, {"x": 0.830078125, "y": 0.7373046875}, {"x": 0.791015625, "y": 0.576171875}, {"x": 0.703125, "y": 0.67626953125}, {"x": 0.76171875, "y": 0.5908203125}, {"x": 0.625, "y": 0.34423828125}, {"x": 0.80078125, "y": 0.42724609375}, {"x": 0.72265625, "y": 0.5859375}, {"x": 0.83984375, "y": 0.5859375}, {"x": 0.87890625, "y": 0.68115234375}, {"x": 0.556640625, "y": 0.46630859375}, {"x": 0.888671875, "y": 0.54443359375}, {"x": 0.751953125, "y": 0.48583984375}, {"x": 0.732421875, "y": 0.3271484375}, {"x": 0.791015625, "y": 0.40771484375}, {"x": 0.634765625, "y": 0.2490234375}, {"x": 0.791015625, "y": 0.4736328125}, {"x": 0.654296875, "y": 0.2490234375}, {"x": 0.732421875, "y": 0.28076171875}, {"x": 0.91796875, "y": 0.4052734375}, {"x": 0.72265625, "y": 0.478515625}, {"x": 0.8203125, "y": 0.37353515625}, {"x": 0.859375, "y": 0.40283203125}, {"x": 1.015625, "y": 0.34423828125}, {"x": 0.947265625, "y": 0.341796875}, {"x": 0.712890625, "y": 0.27587890625}, {"x": 0.8203125, "y": 0.244140625}, {"x": 0.78125, "y": 0.3759765625}, {"x": 0.810546875, "y": 0.1416015625}, {"x": 0.703125, "y": 0.2294921875}, {"x": 0.46875, "y": 0.02197265625}, {"x": 0.60546875, "y": 0.224609375}, {"x": 0.2734375, "y": 0.02685546875}, {"x": 0.556640625, "y": 0.11962890625}, {"x": 0.322265625, "y": 0.01220703125}, {"x": 0.3515625, "y": -0.03662109375}, {"x": 0.4296875, "y": -0.93994140625}, {"x": 0.41015625, "y": 1.4501953125}, {"x": 0.185546875, "y": -0.3564453125}, {"x": 0.21484375, "y": 0.51025390625}, {"x": -0.029296875, "y": 0.18310546875}, {"x": 0.126953125, "y": -0.11474609375}, {"x": -0.419921875, "y": 0.0439453125}, {"x": -0.37109375, "y": 0.1171875}, {"x": -0.654296875, "y": 0.27099609375}, {"x": 0.09765625, "y": -0.49560546875}, {"x": -0.185546875, "y": -0.06591796875}, {"x": -0.15625, "y": -0.3662109375}, {"x": -0.09765625, "y": 0.322265625}, {"x": 0.087890625, "y": -0.09521484375}, {"x": 0.13671875, "y": -0.18798828125}, {"x": 0.166015625, "y": -0.1611328125}, {"x": 0.185546875, "y": -0.029296875}, {"x": 0.126953125, "y": -0.2978515625}, {"x": 0.01953125, "y": -0.048828125}, {"x": 0.29296875, "y": -0.13916015625}, {"x": 0.498046875, "y": -0.00244140625}, {"x": 0.302734375, "y": -0.06103515625}, {"x": 0.400390625, "y": -0.08056640625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9044.5205078125, "y": -2714.949951171875}, "type": "pedestrian"}, {"position": [{"x": 9040.72265625, "y": -2717.474853515625}, {"x": 9040.8310546875, "y": -2717.40966796875}, {"x": 9040.880859375, "y": -2717.352294921875}, {"x": 9040.955078125, "y": -2717.279296875}, {"x": 9041.0263671875, "y": -2717.22998046875}, {"x": 9041.09375, "y": -2717.170166015625}, {"x": 9041.1650390625, "y": -2717.084228515625}, {"x": 9041.2451171875, "y": -2717.014404296875}, {"x": 9041.326171875, "y": -2716.9326171875}, {"x": 9041.4130859375, "y": -2716.852294921875}, {"x": 9041.4970703125, "y": -2716.803955078125}, {"x": 9041.5888671875, "y": -2716.745849609375}, {"x": 9041.6767578125, "y": -2716.704833984375}, {"x": 9041.7529296875, "y": -2716.6494140625}, {"x": 9041.830078125, "y": -2716.587646484375}, {"x": 9041.91796875, "y": -2716.512451171875}, {"x": 9041.982421875, "y": -2716.456298828125}, {"x": 9042.0380859375, "y": -2716.377197265625}, {"x": 9042.1201171875, "y": -2716.331298828125}, {"x": 9042.2080078125, "y": -2716.2783203125}, {"x": 9042.2900390625, "y": -2716.24560546875}, {"x": 9042.3603515625, "y": -2716.197509765625}, {"x": 9042.4365234375, "y": -2716.172607421875}, {"x": 9042.4970703125, "y": -2716.130126953125}, {"x": 9042.580078125, "y": -2716.105224609375}, {"x": 9042.66015625, "y": -2716.05615234375}, {"x": 9042.72265625, "y": -2715.991455078125}, {"x": 9042.818359375, "y": -2715.950927734375}, {"x": 9042.916015625, "y": -2715.902099609375}, {"x": 9043.0078125, "y": -2715.887939453125}, {"x": 9043.109375, "y": -2715.857666015625}, {"x": 9043.20703125, "y": -2715.856201171875}, {"x": 9043.302734375, "y": -2715.819580078125}, {"x": 9043.3798828125, "y": -2715.81396484375}, {"x": 9043.4736328125, "y": -2715.7900390625}, {"x": 9043.56640625, "y": -2715.79345703125}, {"x": 9043.65234375, "y": -2715.75048828125}, {"x": 9043.7294921875, "y": -2715.723876953125}, {"x": 9043.8193359375, "y": -2715.68896484375}, {"x": 9043.8994140625, "y": -2715.68701171875}, {"x": 9044.0078125, "y": -2715.65869140625}, {"x": 9044.109375, "y": -2715.65234375}, {"x": 9044.2470703125, "y": -2715.67236328125}, {"x": 9044.3330078125, "y": -2715.623779296875}, {"x": 9044.423828125, "y": -2715.578125}, {"x": 9044.4921875, "y": -2715.554931640625}, {"x": 9044.5439453125, "y": -2715.52392578125}, {"x": 9044.6318359375, "y": -2715.47802734375}, {"x": 9044.693359375, "y": -2715.423583984375}, {"x": 9044.767578125, "y": -2715.389404296875}, {"x": 9044.83203125, "y": -2715.35009765625}, {"x": 9044.916015625, "y": -2715.306396484375}, {"x": 9045.0146484375, "y": -2715.261962890625}, {"x": 9045.1005859375, "y": -2715.22802734375}, {"x": 9045.1962890625, "y": -2715.177001953125}, {"x": 9045.263671875, "y": -2715.114990234375}, {"x": 9045.357421875, "y": -2715.0693359375}, {"x": 9045.4423828125, "y": -2715.017578125}, {"x": 9045.51953125, "y": -2714.97216796875}, {"x": 9045.5732421875, "y": -2714.926025390625}, {"x": 9045.630859375, "y": -2714.871337890625}, {"x": 9045.712890625, "y": -2714.826904296875}, {"x": 9045.791015625, "y": -2714.794677734375}, {"x": 9045.86328125, "y": -2714.7470703125}, {"x": 9045.9423828125, "y": -2714.71435546875}, {"x": 9046.0234375, "y": -2714.648681640625}, {"x": 9046.0830078125, "y": -2714.591064453125}, {"x": 9046.169921875, "y": -2714.540771484375}, {"x": 9046.2578125, "y": -2714.4736328125}, {"x": 9046.3408203125, "y": -2714.41455078125}, {"x": 9046.4453125, "y": -2714.352294921875}, {"x": 9046.49609375, "y": -2714.3134765625}, {"x": 9046.5791015625, "y": -2714.242919921875}, {"x": 9046.6494140625, "y": -2714.202392578125}, {"x": 9046.69921875, "y": -2714.160400390625}, {"x": 9046.74609375, "y": -2714.10693359375}, {"x": 9046.8154296875, "y": -2714.05419921875}, {"x": 9046.8876953125, "y": -2714.01611328125}, {"x": 9046.947265625, "y": -2713.975341796875}, {"x": 9047.017578125, "y": -2713.9365234375}, {"x": 9047.103515625, "y": -2713.876708984375}, {"x": 9047.1923828125, "y": -2713.8212890625}, {"x": 9047.271484375, "y": -2713.777587890625}, {"x": 9047.3662109375, "y": -2713.742431640625}, {"x": 9047.4423828125, "y": -2713.697021484375}, {"x": 9047.533203125, "y": -2713.640380859375}, {"x": 9047.5908203125, "y": -2713.5966796875}, {"x": 9047.6767578125, "y": -2713.542724609375}, {"x": 9047.7236328125, "y": -2713.506103515625}, {"x": 9047.8134765625, "y": -2713.446533203125}, {"x": 9047.8623046875, "y": -2713.4326171875}], "width": 1.2542089223861694, "length": 0.9835572242736816, "heading": [39.16974494652703, -320.80753761692245, 39.44077709807689, -322.39435448565644, 38.920350834267765, 39.24650261241963, -320.8085211641629, -320.66273760651814, -321.68068167966015, -321.33818867391903, 38.584633376183305, 38.77515467289164, 38.53654201423724, 37.78257109213787, 37.02614471703189, -322.9320816186332, -320.5858296764638, -321.3037918412589, 34.95500596444141, 33.49536380295842, 32.199987691014236, 30.649504013570077, 29.83137712459678, 29.269273046472243, 27.220209465279247, 24.560209368490707, 25.244753125224186, 24.697287850038276, 24.178594746731047, 21.07236302353994, 19.164704848733717, 16.78855033837798, 14.764229117453358, 13.750401087059917, 13.40698942087543, 12.949289906856412, 14.04023248052659, 14.6929731689372, 17.010791033591858, 14.691904244332093, 15.329440931650252, 12.986603230292193, 12.847349333493973, 16.951925048230102, 18.409086143497085, 21.165096501901203, 22.866733973225035, 25.25348039943617, 26.635861168575268, 27.403168035029086, 28.86414379094752, 28.642304369347382, 29.249431346933353, 29.30559599247837, 30.077636180027007, 30.774680890488902, 31.039193626475985, 31.23280558378375, 32.141009007531174, 32.8218081130522, 33.99047738570348, 33.99131066878222, 34.618765996885436, 34.54534487840239, 35.625085088060096, 36.32012855309518, 36.03469836277493, 36.00239498309536, 36.43896018427506, 36.73296567709826, -322.3916224099885, 35.75427128602172, 35.09981622012943, 35.31033631072757, 34.26246234864255, 34.1744417008086, 34.91905526374505, 35.28888951673373, 35.10448123933256, 34.87806046834663, 34.262288178818714, 33.65445598420094, 32.962568066562405, 32.54218358352646, 31.587476816815006, 29.70174013414994, 29.822935010782643, 28.317243713915428, 28.868627810137635, 29.916368583533835, 30.28890759143384], "velocity": [{"x": 0.673828125, "y": 0.52978515625}, {"x": 1.083984375, "y": 0.65185546875}, {"x": 0.498046875, "y": 0.57373046875}, {"x": 0.7421875, "y": 0.72998046875}, {"x": 0.712890625, "y": 0.4931640625}, {"x": 0.673828125, "y": 0.59814453125}, {"x": 0.712890625, "y": 0.859375}, {"x": 0.80078125, "y": 0.6982421875}, {"x": 0.810546875, "y": 0.81787109375}, {"x": 0.869140625, "y": 0.80322265625}, {"x": 0.83984375, "y": 0.4833984375}, {"x": 0.91796875, "y": 0.5810546875}, {"x": 0.87890625, "y": 0.41015625}, {"x": 0.76171875, "y": 0.55419921875}, {"x": 0.771484375, "y": 0.61767578125}, {"x": 0.87890625, "y": 0.751953125}, {"x": 0.64453125, "y": 0.5615234375}, {"x": 0.556640625, "y": 0.791015625}, {"x": 0.8203125, "y": 0.458984375}, {"x": 0.87890625, "y": 0.52978515625}, {"x": 0.8203125, "y": 0.3271484375}, {"x": 0.703125, "y": 0.48095703125}, {"x": 0.76171875, "y": 0.2490234375}, {"x": 0.60546875, "y": 0.4248046875}, {"x": 0.830078125, "y": 0.2490234375}, {"x": 0.80078125, "y": 0.49072265625}, {"x": 0.625, "y": 0.64697265625}, {"x": 0.95703125, "y": 0.4052734375}, {"x": 0.9765625, "y": 0.48828125}, {"x": 0.91796875, "y": 0.1416015625}, {"x": 1.015625, "y": 0.302734375}, {"x": 0.9765625, "y": 0.0146484375}, {"x": 0.95703125, "y": 0.3662109375}, {"x": 0.771484375, "y": 0.05615234375}, {"x": 0.9375, "y": 0.2392578125}, {"x": 0.927734375, "y": -0.0341796875}, {"x": 0.859375, "y": 0.4296875}, {"x": 0.771484375, "y": 0.26611328125}, {"x": 0.8984375, "y": 0.34912109375}, {"x": 0.80078125, "y": 0.01953125}, {"x": 1.083984375, "y": 0.283203125}, {"x": 1.015625, "y": 0.0634765625}, {"x": 1.376953125, "y": -0.2001953125}, {"x": 0.859375, "y": 0.48583984375}, {"x": 0.908203125, "y": 0.45654296875}, {"x": 0.68359375, "y": 0.23193359375}, {"x": 0.517578125, "y": 0.31005859375}, {"x": 0.87890625, "y": 0.458984375}, {"x": 0.615234375, "y": 0.54443359375}, {"x": 0.7421875, "y": 0.341796875}, {"x": 0.64453125, "y": 0.39306640625}, {"x": 0.83984375, "y": 0.43701171875}, {"x": 0.986328125, "y": 0.4443359375}, {"x": 0.859375, "y": 0.33935546875}, {"x": 0.95703125, "y": 0.51025390625}, {"x": 0.673828125, "y": 0.6201171875}, {"x": 0.9375, "y": 0.45654296875}, {"x": 0.849609375, "y": 0.517578125}, {"x": 0.771484375, "y": 0.4541015625}, {"x": 0.537109375, "y": 0.46142578125}, {"x": 0.576171875, "y": 0.546875}, {"x": 0.8203125, "y": 0.4443359375}, {"x": 0.78125, "y": 0.322265625}, {"x": 0.72265625, "y": 0.47607421875}, {"x": 0.791015625, "y": 0.3271484375}, {"x": 0.810546875, "y": 0.65673828125}, {"x": 0.595703125, "y": 0.576171875}, {"x": 0.869140625, "y": 0.5029296875}, {"x": 0.87890625, "y": 0.67138671875}, {"x": 0.830078125, "y": 0.5908203125}, {"x": 1.044921875, "y": 0.62255859375}, {"x": 0.5078125, "y": 0.38818359375}, {"x": 0.830078125, "y": 0.70556640625}, {"x": 0.703125, "y": 0.4052734375}, {"x": 0.498046875, "y": 0.419921875}, {"x": 0.46875, "y": 0.53466796875}, {"x": 0.693359375, "y": 0.52734375}, {"x": 0.72265625, "y": 0.380859375}, {"x": 0.595703125, "y": 0.40771484375}, {"x": 0.703125, "y": 0.38818359375}, {"x": 0.859375, "y": 0.59814453125}, {"x": 0.888671875, "y": 0.55419921875}, {"x": 0.791015625, "y": 0.43701171875}, {"x": 0.947265625, "y": 0.3515625}, {"x": 0.76171875, "y": 0.4541015625}, {"x": 0.908203125, "y": 0.56640625}, {"x": 0.576171875, "y": 0.43701171875}, {"x": 0.859375, "y": 0.53955078125}, {"x": 0.46875, "y": 0.3662109375}, {"x": 0.8984375, "y": 0.595703125}, {"x": 0.48828125, "y": 0.13916015625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9047.8623046875, "y": -2713.4326171875}, "type": "pedestrian"}, {"position": [{"x": 9038.46875, "y": -2720.55419921875}, {"x": 9038.5244140625, "y": -2720.48486328125}, {"x": 9038.591796875, "y": -2720.4111328125}, {"x": 9038.6533203125, "y": -2720.352294921875}, {"x": 9038.7109375, "y": -2720.296875}, {"x": 9038.787109375, "y": -2720.23388671875}, {"x": 9038.8369140625, "y": -2720.170654296875}, {"x": 9038.9072265625, "y": -2720.115234375}, {"x": 9038.9755859375, "y": -2720.046630859375}, {"x": 9039.0263671875, "y": -2719.978759765625}, {"x": 9039.08984375, "y": -2719.912109375}, {"x": 9039.12890625, "y": -2719.841552734375}, {"x": 9039.1875, "y": -2719.783203125}, {"x": 9039.2509765625, "y": -2719.72265625}, {"x": 9039.3076171875, "y": -2719.663818359375}, {"x": 9039.3720703125, "y": -2719.597900390625}, {"x": 9039.4208984375, "y": -2719.532470703125}, {"x": 9039.4736328125, "y": -2719.462646484375}, {"x": 9039.529296875, "y": -2719.39111328125}, {"x": 9039.580078125, "y": -2719.325927734375}, {"x": 9039.6494140625, "y": -2719.26318359375}, {"x": 9039.712890625, "y": -2719.19384765625}, {"x": 9039.7822265625, "y": -2719.1201171875}, {"x": 9039.841796875, "y": -2719.049072265625}, {"x": 9039.908203125, "y": -2718.98974609375}, {"x": 9039.953125, "y": -2718.923828125}, {"x": 9040.029296875, "y": -2718.85498046875}, {"x": 9040.0869140625, "y": -2718.7890625}, {"x": 9040.1630859375, "y": -2718.714111328125}, {"x": 9040.2265625, "y": -2718.642822265625}, {"x": 9040.30078125, "y": -2718.58154296875}, {"x": 9040.3623046875, "y": -2718.52685546875}, {"x": 9040.408203125, "y": -2718.4609375}, {"x": 9040.466796875, "y": -2718.39501953125}, {"x": 9040.537109375, "y": -2718.33203125}, {"x": 9040.5908203125, "y": -2718.266845703125}, {"x": 9040.650390625, "y": -2718.205810546875}, {"x": 9040.7080078125, "y": -2718.14453125}, {"x": 9040.7724609375, "y": -2718.08544921875}, {"x": 9040.83203125, "y": -2718.035888671875}, {"x": 9040.9013671875, "y": -2717.97802734375}, {"x": 9040.9658203125, "y": -2717.927734375}, {"x": 9041.025390625, "y": -2717.87109375}, {"x": 9041.08984375, "y": -2717.822509765625}, {"x": 9041.1513671875, "y": -2717.763916015625}, {"x": 9041.2119140625, "y": -2717.71337890625}, {"x": 9041.2744140625, "y": -2717.66552734375}, {"x": 9041.3388671875, "y": -2717.615966796875}, {"x": 9041.40234375, "y": -2717.570556640625}, {"x": 9041.462890625, "y": -2717.524658203125}, {"x": 9041.51953125, "y": -2717.485107421875}, {"x": 9041.576171875, "y": -2717.447998046875}, {"x": 9041.6357421875, "y": -2717.4189453125}, {"x": 9041.69140625, "y": -2717.375}, {"x": 9041.7490234375, "y": -2717.326904296875}, {"x": 9041.8125, "y": -2717.279052734375}, {"x": 9041.86328125, "y": -2717.22998046875}, {"x": 9041.908203125, "y": -2717.1826171875}, {"x": 9041.9697265625, "y": -2717.133544921875}, {"x": 9042.068359375, "y": -2717.08154296875}, {"x": 9042.1181640625, "y": -2717.0419921875}, {"x": 9042.1884765625, "y": -2716.982421875}, {"x": 9042.263671875, "y": -2716.928955078125}, {"x": 9042.3291015625, "y": -2716.8818359375}, {"x": 9042.400390625, "y": -2716.82666015625}, {"x": 9042.4697265625, "y": -2716.779296875}, {"x": 9042.552734375, "y": -2716.739990234375}, {"x": 9042.6162109375, "y": -2716.69580078125}, {"x": 9042.6953125, "y": -2716.642333984375}, {"x": 9042.7685546875, "y": -2716.600341796875}, {"x": 9042.8349609375, "y": -2716.5498046875}, {"x": 9042.9052734375, "y": -2716.516845703125}, {"x": 9042.9814453125, "y": -2716.480224609375}, {"x": 9043.044921875, "y": -2716.43603515625}, {"x": 9043.125, "y": -2716.4013671875}, {"x": 9043.1904296875, "y": -2716.3623046875}, {"x": 9043.2724609375, "y": -2716.335205078125}, {"x": 9043.3515625, "y": -2716.296142578125}, {"x": 9043.4169921875, "y": -2716.26171875}, {"x": 9043.5146484375, "y": -2716.2158203125}, {"x": 9043.5908203125, "y": -2716.182373046875}, {"x": 9043.6650390625, "y": -2716.155029296875}, {"x": 9043.740234375, "y": -2716.115478515625}, {"x": 9043.8134765625, "y": -2716.09228515625}, {"x": 9043.888671875, "y": -2716.062744140625}, {"x": 9043.955078125, "y": -2716.0439453125}, {"x": 9044.0263671875, "y": -2716.013427734375}, {"x": 9044.07421875, "y": -2715.986083984375}, {"x": 9044.140625, "y": -2715.96337890625}, {"x": 9044.19140625, "y": -2715.954345703125}, {"x": 9044.255859375, "y": -2715.931884765625}], "width": 0.821626603603363, "length": 0.8793514370918274, "heading": [-313.7354231465078, -313.090106873725, -312.9503065617932, -312.4612376964636, -312.3401794236143, -312.2642277200438, -312.6551331066219, -312.76209386902434, -312.28182228734573, -312.60702125410836, -312.20261941373025, -311.71904202049336, -311.38321527938217, -311.25636500611665, -311.3705111275259, -311.5952243512193, -312.1235258231415, -312.2241481699941, -311.9557217356126, -311.5065138542792, -311.1930901336457, -311.9140302609189, -311.4956128723639, -310.7531986303402, -310.6626030011891, -310.6789681344405, -311.5579315183511, -311.96828928368546, -312.4590793566859, -312.00172988986185, -312.0331487600439, -312.8141399104998, -312.33078108331637, -312.42107618414394, -312.63048978409654, -313.827630700303, -314.3077929989549, -314.9001070037784, -315.48744863088615, -315.4099396441848, -316.0172800651824, -316.4941638730327, -318.0506273810952, -318.2710512459898, -318.52076296204547, -319.459504161572, -319.5564655270295, -320.0612165066935, -320.34914996134455, -320.480180310382, -320.84922909161617, -320.55263495709755, 39.65013947161071, 39.59108907114136, 39.37208930068866, 39.263441481561266, 39.39343705693953, 39.07072769412935, 38.739815274125995, -321.73614281572065, 37.55631083059745, 37.30176334060941, 37.04261230312079, 36.652304558095, 36.56152792893094, 36.0198324560464, 34.72831198588869, 34.17278537993487, 33.19499598892335, 31.989050958876735, 30.632828106711493, 29.06256761652556, 29.422972793365037, 29.29503652002153, 28.03061141030126, 27.5295999592079, 26.068407344783317, 25.69389099711859, 25.689041562807883, 25.522586437640086, 25.054882404034295, 23.753673310538918, 23.898608217179298, 23.54379696527006, 23.35590699893947, 22.944659601465712, 23.018642503007996, 22.508618617304805, 23.405755427049517, 21.76296345051993, 20.597466800738122], "velocity": [{"x": 0.693359375, "y": 0.6494140625}, {"x": 0.556640625, "y": 0.693359375}, {"x": 0.673828125, "y": 0.7373046875}, {"x": 0.615234375, "y": 0.58837890625}, {"x": 0.576171875, "y": 0.55419921875}, {"x": 0.76171875, "y": 0.6298828125}, {"x": 0.498046875, "y": 0.63232421875}, {"x": 0.703125, "y": 0.55419921875}, {"x": 0.68359375, "y": 0.68603515625}, {"x": 0.5078125, "y": 0.6787109375}, {"x": 0.634765625, "y": 0.66650390625}, {"x": 0.390625, "y": 0.70556640625}, {"x": 0.5859375, "y": 0.58349609375}, {"x": 0.634765625, "y": 0.60546875}, {"x": 0.56640625, "y": 0.58837890625}, {"x": 0.64453125, "y": 0.6591796875}, {"x": 0.48828125, "y": 0.654296875}, {"x": 0.52734375, "y": 0.6982421875}, {"x": 0.556640625, "y": 0.71533203125}, {"x": 0.5078125, "y": 0.65185546875}, {"x": 0.693359375, "y": 0.62744140625}, {"x": 0.634765625, "y": 0.693359375}, {"x": 0.693359375, "y": 0.7373046875}, {"x": 0.595703125, "y": 0.71044921875}, {"x": 0.6640625, "y": 0.59326171875}, {"x": 0.44921875, "y": 0.6591796875}, {"x": 0.76171875, "y": 0.6884765625}, {"x": 0.576171875, "y": 0.6591796875}, {"x": 0.76171875, "y": 0.74951171875}, {"x": 0.634765625, "y": 0.712890625}, {"x": 0.7421875, "y": 0.61279296875}, {"x": 0.615234375, "y": 0.546875}, {"x": 0.458984375, "y": 0.6591796875}, {"x": 0.5859375, "y": 0.6591796875}, {"x": 0.703125, "y": 0.6298828125}, {"x": 0.537109375, "y": 0.65185546875}, {"x": 0.595703125, "y": 0.6103515625}, {"x": 0.576171875, "y": 0.61279296875}, {"x": 0.64453125, "y": 0.5908203125}, {"x": 0.595703125, "y": 0.49560546875}, {"x": 0.693359375, "y": 0.57861328125}, {"x": 0.64453125, "y": 0.5029296875}, {"x": 0.595703125, "y": 0.56640625}, {"x": 0.64453125, "y": 0.48583984375}, {"x": 0.615234375, "y": 0.5859375}, {"x": 0.60546875, "y": 0.50537109375}, {"x": 0.625, "y": 0.478515625}, {"x": 0.64453125, "y": 0.49560546875}, {"x": 0.634765625, "y": 0.4541015625}, {"x": 0.60546875, "y": 0.458984375}, {"x": 0.56640625, "y": 0.3955078125}, {"x": 0.56640625, "y": 0.37109375}, {"x": 0.595703125, "y": 0.29052734375}, {"x": 0.556640625, "y": 0.439453125}, {"x": 0.576171875, "y": 0.48095703125}, {"x": 0.634765625, "y": 0.478515625}, {"x": 0.5078125, "y": 0.49072265625}, {"x": 0.44921875, "y": 0.4736328125}, {"x": 0.615234375, "y": 0.49072265625}, {"x": 0.986328125, "y": 0.52001953125}, {"x": 0.498046875, "y": 0.3955078125}, {"x": 0.703125, "y": 0.595703125}, {"x": 0.751953125, "y": 0.53466796875}, {"x": 0.654296875, "y": 0.47119140625}, {"x": 0.712890625, "y": 0.5517578125}, {"x": 0.693359375, "y": 0.4736328125}, {"x": 0.830078125, "y": 0.39306640625}, {"x": 0.634765625, "y": 0.44189453125}, {"x": 0.791015625, "y": 0.53466796875}, {"x": 0.732421875, "y": 0.419921875}, {"x": 0.6640625, "y": 0.50537109375}, {"x": 0.703125, "y": 0.32958984375}, {"x": 0.76171875, "y": 0.3662109375}, {"x": 0.634765625, "y": 0.44189453125}, {"x": 0.80078125, "y": 0.3466796875}, {"x": 0.654296875, "y": 0.390625}, {"x": 0.8203125, "y": 0.27099609375}, {"x": 0.791015625, "y": 0.390625}, {"x": 0.654296875, "y": 0.34423828125}, {"x": 0.9765625, "y": 0.458984375}, {"x": 0.76171875, "y": 0.33447265625}, {"x": 0.7421875, "y": 0.2734375}, {"x": 0.751953125, "y": 0.3955078125}, {"x": 0.732421875, "y": 0.23193359375}, {"x": 0.751953125, "y": 0.29541015625}, {"x": 0.6640625, "y": 0.18798828125}, {"x": 0.712890625, "y": 0.30517578125}, {"x": 0.478515625, "y": 0.2734375}, {"x": 0.6640625, "y": 0.22705078125}, {"x": 0.5078125, "y": 0.09033203125}, {"x": 0.64453125, "y": 0.224609375}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9044.255859375, "y": -2715.931884765625}, "type": "pedestrian"}, {"position": [{"x": 9027.4560546875, "y": -2749.258056640625}, {"x": 9027.4033203125, "y": -2749.171142578125}, {"x": 9027.5078125, "y": -2749.40234375}, {"x": 9027.5087890625, "y": -2749.39111328125}, {"x": 9027.515625, "y": -2749.411865234375}, {"x": 9027.5283203125, "y": -2749.3984375}, {"x": 9027.5, "y": -2749.3896484375}, {"x": 9027.466796875, "y": -2749.371826171875}, {"x": 9027.466796875, "y": -2749.379638671875}, {"x": 9027.4501953125, "y": -2749.36083984375}, {"x": 9027.4140625, "y": -2749.34228515625}, {"x": 9027.4052734375, "y": -2749.318115234375}, {"x": 9027.4052734375, "y": -2749.3212890625}, {"x": 9027.3798828125, "y": -2749.32421875}, {"x": 9027.3583984375, "y": -2749.333251953125}, {"x": 9027.36328125, "y": -2749.320068359375}, {"x": 9027.3681640625, "y": -2749.319091796875}, {"x": 9027.373046875, "y": -2749.32275390625}, {"x": 9027.384765625, "y": -2749.329833984375}, {"x": 9027.384765625, "y": -2749.313720703125}, {"x": 9027.392578125, "y": -2749.33447265625}, {"x": 9027.3876953125, "y": -2749.32958984375}, {"x": 9027.392578125, "y": -2749.324951171875}, {"x": 9027.3837890625, "y": -2749.309814453125}, {"x": 9027.3779296875, "y": -2749.296875}, {"x": 9027.365234375, "y": -2749.219482421875}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 9027.39453125, "y": -2749.287841796875}, {"x": 9027.3525390625, "y": -2749.267333984375}, {"x": 9027.3486328125, "y": -2749.250244140625}, {"x": 9027.3310546875, "y": -2749.24072265625}, {"x": 9027.3359375, "y": -2749.23828125}, {"x": 9027.3408203125, "y": -2749.24169921875}, {"x": 9027.36328125, "y": -2749.25439453125}, {"x": 9027.3681640625, "y": -2749.25830078125}, {"x": 9027.3759765625, "y": -2749.282958984375}, {"x": 9027.375, "y": -2749.288818359375}, {"x": 9027.37890625, "y": -2749.29150390625}, {"x": 9027.3896484375, "y": -2749.288330078125}, {"x": 9027.3857421875, "y": -2749.295166015625}, {"x": 9027.3779296875, "y": -2749.297119140625}, {"x": 9027.37890625, "y": -2749.30517578125}, {"x": 9027.373046875, "y": -2749.30419921875}, {"x": 9027.3779296875, "y": -2749.304931640625}, {"x": 9027.3779296875, "y": -2749.302734375}, {"x": 9027.3828125, "y": -2749.31298828125}, {"x": 9027.3857421875, "y": -2749.303955078125}, {"x": 9027.38671875, "y": -2749.30322265625}, {"x": 9027.380859375, "y": -2749.30078125}, {"x": 9027.38671875, "y": -2749.302490234375}, {"x": 9027.3759765625, "y": -2749.290283203125}, {"x": 9027.369140625, "y": -2749.286865234375}, {"x": 9027.373046875, "y": -2749.296142578125}, {"x": 9027.37109375, "y": -2749.294921875}, {"x": 9027.361328125, "y": -2749.292724609375}, {"x": 9027.3623046875, "y": -2749.29736328125}, {"x": 9027.359375, "y": -2749.29638671875}, {"x": 9027.359375, "y": -2749.28662109375}, {"x": 9027.3515625, "y": -2749.28271484375}, {"x": 9027.3427734375, "y": -2749.284423828125}, {"x": 9027.3310546875, "y": -2749.279296875}, {"x": 9027.328125, "y": -2749.274169921875}, {"x": 9027.322265625, "y": -2749.2724609375}, {"x": 9027.3134765625, "y": -2749.26904296875}, {"x": 9027.298828125, "y": -2749.26953125}, {"x": 9027.3037109375, "y": -2749.265380859375}, {"x": 9027.30078125, "y": -2749.27978515625}, {"x": 9027.2998046875, "y": -2749.277099609375}, {"x": 9027.3037109375, "y": -2749.283447265625}, {"x": 9027.306640625, "y": -2749.300048828125}, {"x": 9027.294921875, "y": -2749.30712890625}, {"x": 9027.291015625, "y": -2749.3232421875}, {"x": 9027.2763671875, "y": -2749.34228515625}, {"x": 9027.2685546875, "y": -2749.361572265625}, {"x": 9027.25390625, "y": -2749.38330078125}, {"x": 9027.255859375, "y": -2749.385986328125}, {"x": 9027.2529296875, "y": -2749.407470703125}, {"x": 9027.2568359375, "y": -2749.393310546875}, {"x": 9027.2646484375, "y": -2749.390380859375}, {"x": 9027.271484375, "y": -2749.388916015625}, {"x": 9027.2890625, "y": -2749.376708984375}, {"x": 9027.255859375, "y": -2749.403564453125}, {"x": 9027.26953125, "y": -2749.391845703125}, {"x": 9027.236328125, "y": -2749.399658203125}, {"x": 9027.1923828125, "y": -2749.406982421875}, {"x": 9027.1943359375, "y": -2749.360107421875}, {"x": 9027.08203125, "y": -2749.37841796875}, {"x": 9027.06640625, "y": -2749.37841796875}, {"x": 9027.078125, "y": -2749.372314453125}], "width": 0.9056739211082458, "length": 0.8812844753265381, "heading": [-281.7846997941586, -285.72219456764424, -276.40690937001403, -273.0145456545655, -269.3380187488877, -256.01961432022637, -276.08345893167893, -280.5918482367509, -269.7988379518101, -277.8270696229998, -287.3536535527935, -290.9483547922145, -288.11240560731187, -298.0818043613758, -305.52550844339584, -300.1841092671491, -302.0054475112247, -304.07800011297337, -302.20803092200725, -303.39886074342064, -297.7676976218253, -295.62181610914735, -291.38412086126135, -296.1935575841908, -301.0984257102037, -298.8585334737897, -10000.0, -10000.0, -10000.0, -282.95982018048096, -296.63924108791247, -299.12398194569306, -306.317919670144, -287.8883207610221, -292.0459388710789, -308.5172952244015, -294.6761081166674, -297.3116595513219, -295.6375255442384, -296.55424621388084, -296.7692878897095, -298.69750493391746, -300.6265962423392, -301.9866235098721, -301.45064490532286, -299.33571780996346, -298.6303778347546, -298.39910762945794, -297.64174893353027, -297.47659495939934, -296.87862555794305, -300.02540299159466, -297.6271869702198, -300.12023333803114, -297.2926169839159, -297.5128222827571, -298.5961995681478, -299.59195918686567, -300.6940785113389, -301.2999982529891, -301.9837548304207, -304.09278064233723, -304.6022307921502, -305.06157467421184, -305.1136207156874, -306.4293610366419, -307.9072227277359, -306.0502308961929, -305.3699167341029, -306.29611770631334, -306.2824573279733, -305.80699419947035, -306.1829004906312, -306.9237301287675, -307.0994845564902, -305.71822906101687, -305.14430192543904, -306.6408236933455, -306.30961416011326, -303.1843108412122, -302.58836317575026, -303.40071855487486, -302.7277263555752, -305.45480232510783, -297.124730934117, -286.2755764941987, 48.08256466240881, -306.0093863649562, 42.56113877511346, 40.03400634824918, 41.31676710079635], "velocity": [{"x": -0.693359375, "y": 1.3720703125}, {"x": -0.52734375, "y": 0.869140625}, {"x": 1.044921875, "y": -2.31201171875}, {"x": 0.009765625, "y": 0.1123046875}, {"x": 0.068359375, "y": -0.20751953125}, {"x": 0.126953125, "y": 0.13427734375}, {"x": -0.283203125, "y": 0.087890625}, {"x": -0.33203125, "y": 0.17822265625}, {"x": -0.0, "y": -0.078125}, {"x": -0.166015625, "y": 0.18798828125}, {"x": -0.361328125, "y": 0.185546875}, {"x": -0.087890625, "y": 0.24169921875}, {"x": -0.0, "y": -0.03173828125}, {"x": -0.25390625, "y": -0.029296875}, {"x": -0.21484375, "y": -0.09033203125}, {"x": 0.048828125, "y": 0.1318359375}, {"x": 0.048828125, "y": 0.009765625}, {"x": 0.048828125, "y": -0.03662109375}, {"x": 0.1171875, "y": -0.07080078125}, {"x": -0.0, "y": 0.1611328125}, {"x": 0.078125, "y": -0.20751953125}, {"x": -0.048828125, "y": 0.048828125}, {"x": 0.048828125, "y": 0.04638671875}, {"x": -0.087890625, "y": 0.1513671875}, {"x": -0.05859375, "y": 0.12939453125}, {"x": -0.126953125, "y": 0.77392578125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": 4.326171875, "y": -7.9296875}, {"x": -0.419921875, "y": 0.205078125}, {"x": -0.0390625, "y": 0.1708984375}, {"x": -0.17578125, "y": 0.09521484375}, {"x": 0.048828125, "y": 0.0244140625}, {"x": 0.048828125, "y": -0.0341796875}, {"x": 0.224609375, "y": -0.126953125}, {"x": 0.048828125, "y": -0.0390625}, {"x": 0.078125, "y": -0.24658203125}, {"x": -0.009765625, "y": -0.05859375}, {"x": 0.0390625, "y": -0.02685546875}, {"x": 0.107421875, "y": 0.03173828125}, {"x": -0.0390625, "y": -0.068359375}, {"x": -0.078125, "y": -0.01953125}, {"x": 0.009765625, "y": -0.08056640625}, {"x": -0.05859375, "y": 0.009765625}, {"x": 0.048828125, "y": -0.00732421875}, {"x": -0.0, "y": 0.02197265625}, {"x": 0.048828125, "y": -0.1025390625}, {"x": 0.029296875, "y": 0.09033203125}, {"x": 0.009765625, "y": 0.00732421875}, {"x": -0.05859375, "y": 0.0244140625}, {"x": 0.05859375, "y": -0.01708984375}, {"x": -0.107421875, "y": 0.1220703125}, {"x": -0.068359375, "y": 0.0341796875}, {"x": 0.0390625, "y": -0.0927734375}, {"x": -0.01953125, "y": 0.01220703125}, {"x": -0.09765625, "y": 0.02197265625}, {"x": 0.009765625, "y": -0.04638671875}, {"x": -0.029296875, "y": 0.009765625}, {"x": -0.0, "y": 0.09765625}, {"x": -0.078125, "y": 0.0390625}, {"x": -0.087890625, "y": -0.01708984375}, {"x": -0.1171875, "y": 0.05126953125}, {"x": -0.029296875, "y": 0.05126953125}, {"x": -0.05859375, "y": 0.01708984375}, {"x": -0.087890625, "y": 0.0341796875}, {"x": -0.146484375, "y": -0.0048828125}, {"x": 0.048828125, "y": 0.04150390625}, {"x": -0.029296875, "y": -0.14404296875}, {"x": -0.009765625, "y": 0.02685546875}, {"x": 0.0390625, "y": -0.0634765625}, {"x": 0.029296875, "y": -0.166015625}, {"x": -0.1171875, "y": -0.07080078125}, {"x": -0.0390625, "y": -0.1611328125}, {"x": -0.146484375, "y": -0.1904296875}, {"x": -0.078125, "y": -0.19287109375}, {"x": -0.146484375, "y": -0.21728515625}, {"x": 0.01953125, "y": -0.02685546875}, {"x": -0.029296875, "y": -0.21484375}, {"x": 0.0390625, "y": 0.1416015625}, {"x": 0.078125, "y": 0.029296875}, {"x": 0.068359375, "y": 0.0146484375}, {"x": 0.17578125, "y": 0.1220703125}, {"x": -0.33203125, "y": -0.2685546875}, {"x": 0.13671875, "y": 0.1171875}, {"x": -0.33203125, "y": -0.078125}, {"x": -0.439453125, "y": -0.0732421875}, {"x": 0.01953125, "y": 0.46875}, {"x": -1.123046875, "y": -0.18310546875}, {"x": -0.15625, "y": -0.0}, {"x": 0.1171875, "y": 0.06103515625}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.078125, "y": -2749.372314453125}, "type": "pedestrian"}, {"position": [{"x": 9037.005859375, "y": -2721.020751953125}, {"x": 9037.0458984375, "y": -2720.92431640625}, {"x": 9037.1103515625, "y": -2720.825927734375}, {"x": 9037.1728515625, "y": -2720.749755859375}, {"x": 9037.234375, "y": -2720.657470703125}, {"x": 9037.291015625, "y": -2720.562255859375}, {"x": 9037.3515625, "y": -2720.471923828125}, {"x": 9037.4228515625, "y": -2720.405517578125}, {"x": 9037.4765625, "y": -2720.340576171875}, {"x": 9037.5380859375, "y": -2720.26123046875}, {"x": 9037.595703125, "y": -2720.16943359375}, {"x": 9037.65234375, "y": -2720.09130859375}, {"x": 9037.6787109375, "y": -2719.9873046875}, {"x": 9037.744140625, "y": -2719.892822265625}, {"x": 9037.8046875, "y": -2719.7880859375}, {"x": 9037.87109375, "y": -2719.690673828125}, {"x": 9037.9365234375, "y": -2719.6044921875}, {"x": 9038.01171875, "y": -2719.5166015625}, {"x": 9038.091796875, "y": -2719.440185546875}, {"x": 9038.1728515625, "y": -2719.35791015625}, {"x": 9038.2607421875, "y": -2719.294921875}, {"x": 9038.3095703125, "y": -2719.21875}, {"x": 9038.392578125, "y": -2719.159423828125}, {"x": 9038.462890625, "y": -2719.0712890625}, {"x": 9038.53125, "y": -2718.969482421875}, {"x": 9038.58984375, "y": -2718.876953125}, {"x": 9038.66015625, "y": -2718.796875}, {"x": 9038.7353515625, "y": -2718.707763671875}, {"x": 9038.8017578125, "y": -2718.6279296875}, {"x": 9038.853515625, "y": -2718.552734375}, {"x": 9038.9248046875, "y": -2718.47802734375}, {"x": 9038.9970703125, "y": -2718.37548828125}, {"x": 9039.0693359375, "y": -2718.285400390625}, {"x": 9039.1337890625, "y": -2718.207275390625}, {"x": 9039.1884765625, "y": -2718.138427734375}, {"x": 9039.26171875, "y": -2718.056640625}, {"x": 9039.33203125, "y": -2717.97802734375}, {"x": 9039.3984375, "y": -2717.89794921875}, {"x": 9039.4609375, "y": -2717.823486328125}, {"x": 9039.5322265625, "y": -2717.747802734375}, {"x": 9039.5908203125, "y": -2717.6787109375}, {"x": 9039.6591796875, "y": -2717.614501953125}, {"x": 9039.72265625, "y": -2717.542724609375}, {"x": 9039.791015625, "y": -2717.47216796875}, {"x": 9039.8447265625, "y": -2717.4091796875}, {"x": 9039.91015625, "y": -2717.337646484375}, {"x": 9039.9765625, "y": -2717.259033203125}, {"x": 9040.0439453125, "y": -2717.18798828125}, {"x": 9040.115234375, "y": -2717.108642578125}, {"x": 9040.1923828125, "y": -2717.05078125}, {"x": 9040.2568359375, "y": -2716.9765625}, {"x": 9040.3232421875, "y": -2716.899658203125}, {"x": 9040.3955078125, "y": -2716.8203125}, {"x": 9040.4814453125, "y": -2716.751953125}, {"x": 9040.5439453125, "y": -2716.67333984375}, {"x": 9040.615234375, "y": -2716.608642578125}, {"x": 9040.677734375, "y": -2716.525634765625}, {"x": 9040.7646484375, "y": -2716.4619140625}, {"x": 9040.8515625, "y": -2716.40185546875}, {"x": 9040.9287109375, "y": -2716.343994140625}, {"x": 9040.9970703125, "y": -2716.27197265625}, {"x": 9041.0234375, "y": -2716.223876953125}, {"x": 9041.08203125, "y": -2716.173583984375}, {"x": 9041.14453125, "y": -2716.134521484375}, {"x": 9041.1982421875, "y": -2716.0927734375}, {"x": 9041.2578125, "y": -2716.04931640625}, {"x": 9041.328125, "y": -2716.015869140625}, {"x": 9041.4013671875, "y": -2715.962646484375}, {"x": 9041.4658203125, "y": -2715.928955078125}, {"x": 9041.5244140625, "y": -2715.88916015625}, {"x": 9041.5966796875, "y": -2715.848388671875}, {"x": 9041.67578125, "y": -2715.807861328125}, {"x": 9041.7626953125, "y": -2715.78369140625}, {"x": 9041.8310546875, "y": -2715.74462890625}, {"x": 9041.8896484375, "y": -2715.69482421875}, {"x": 9041.9619140625, "y": -2715.66943359375}, {"x": 9042.0224609375, "y": -2715.65234375}, {"x": 9042.087890625, "y": -2715.6162109375}, {"x": 9042.162109375, "y": -2715.59765625}, {"x": 9042.224609375, "y": -2715.572021484375}, {"x": 9042.2822265625, "y": -2715.550537109375}, {"x": 9042.3447265625, "y": -2715.516845703125}, {"x": 9042.3974609375, "y": -2715.494140625}, {"x": 9042.44921875, "y": -2715.475830078125}, {"x": 9042.5068359375, "y": -2715.460693359375}, {"x": 9042.58203125, "y": -2715.4541015625}, {"x": 9042.63671875, "y": -2715.42578125}, {"x": 9042.681640625, "y": -2715.406005859375}, {"x": 9042.7236328125, "y": -2715.387451171875}, {"x": 9042.794921875, "y": -2715.36767578125}, {"x": 9042.8525390625, "y": -2715.3564453125}], "width": 0.9837895631790161, "length": 1.0017861127853394, "heading": [-306.94616047000176, -306.91250129777194, -306.51757975996185, -306.2431427591107, -305.56419463485474, -305.61987433696873, -305.5071215741501, -305.66391539673697, -305.8447514852022, -306.1733928673065, -306.2910906870842, -306.5233444396213, -306.58686519890244, -307.3881829923283, -308.4974057135384, -308.8271126051533, -309.48185453899066, -310.27967527556154, -310.7946988597372, -311.2564742891434, -312.23447541601917, 48.390182722247836, -310.89029418736067, -310.2605507458855, -310.3579765642066, -311.0306409144261, -311.4251253201293, -311.8378326705382, -312.1596165427158, -312.11483782251725, -311.81174134790876, -311.5450088004414, -310.85849282658506, -310.1264877928565, -309.6722255715373, -310.1742444755332, -310.2076304401962, -311.0057517050906, -311.17202583024533, -312.0086147205452, -311.666722771451, -311.9184835442577, -312.17467027964653, -311.91484988361924, -312.48358607542787, -313.04281464391187, -313.01858113273664, -313.16840816237004, -313.08196528823436, -313.12485887622205, -313.0326240016702, -314.2589161652543, -314.50354622056744, -314.5983765670039, -315.3836843970153, -316.23079177863696, -316.5110481006609, -317.41091186343175, -318.070708137255, -318.48816929932616, -318.97734744768246, 39.493103177308356, 38.597180433688614, 37.227604561696, 35.7391287566318, 34.568529955539994, 32.380127100184154, 31.970551391509755, 30.707178130921665, 30.546579892967156, 29.197644852646317, 28.846870242536557, 28.441833194565632, 27.317498679816907, 25.48163945356586, 25.056118668274067, 24.27224517798838, 23.955141692939492, 22.337256001218357, 21.571154663153045, 20.2127683485682, 20.766350058155858, 20.30792142144294, 20.448946044783487, 19.723871945515153, 18.833717296649485, 18.64774149083379, 17.22609908679817, 16.55068387789041, 16.527635404536202, 15.801497503304637], "velocity": [{"x": 0.732421875, "y": 1.00830078125}, {"x": 0.400390625, "y": 0.96435546875}, {"x": 0.64453125, "y": 0.98388671875}, {"x": 0.625, "y": 0.76171875}, {"x": 0.615234375, "y": 0.9228515625}, {"x": 0.56640625, "y": 0.9521484375}, {"x": 0.60546875, "y": 0.9033203125}, {"x": 0.712890625, "y": 0.6640625}, {"x": 0.537109375, "y": 0.6494140625}, {"x": 0.615234375, "y": 0.79345703125}, {"x": 0.576171875, "y": 0.91796875}, {"x": 0.56640625, "y": 0.78125}, {"x": 0.263671875, "y": 1.0400390625}, {"x": 0.654296875, "y": 0.94482421875}, {"x": 0.60546875, "y": 1.04736328125}, {"x": 0.6640625, "y": 0.97412109375}, {"x": 0.654296875, "y": 0.86181640625}, {"x": 0.751953125, "y": 0.87890625}, {"x": 0.80078125, "y": 0.76416015625}, {"x": 0.810546875, "y": 0.82275390625}, {"x": 0.87890625, "y": 0.6298828125}, {"x": 0.48828125, "y": 0.76171875}, {"x": 0.830078125, "y": 0.59326171875}, {"x": 0.703125, "y": 0.88134765625}, {"x": 0.68359375, "y": 1.01806640625}, {"x": 0.5859375, "y": 0.92529296875}, {"x": 0.703125, "y": 0.80078125}, {"x": 0.751953125, "y": 0.89111328125}, {"x": 0.6640625, "y": 0.79833984375}, {"x": 0.517578125, "y": 0.751953125}, {"x": 0.712890625, "y": 0.7470703125}, {"x": 0.72265625, "y": 1.025390625}, {"x": 0.72265625, "y": 0.90087890625}, {"x": 0.64453125, "y": 0.78125}, {"x": 0.546875, "y": 0.6884765625}, {"x": 0.732421875, "y": 0.81787109375}, {"x": 0.703125, "y": 0.7861328125}, {"x": 0.6640625, "y": 0.80078125}, {"x": 0.625, "y": 0.74462890625}, {"x": 0.712890625, "y": 0.7568359375}, {"x": 0.5859375, "y": 0.69091796875}, {"x": 0.68359375, "y": 0.64208984375}, {"x": 0.634765625, "y": 0.7177734375}, {"x": 0.68359375, "y": 0.70556640625}, {"x": 0.537109375, "y": 0.6298828125}, {"x": 0.654296875, "y": 0.71533203125}, {"x": 0.6640625, "y": 0.7861328125}, {"x": 0.673828125, "y": 0.71044921875}, {"x": 0.712890625, "y": 0.79345703125}, {"x": 0.771484375, "y": 0.57861328125}, {"x": 0.64453125, "y": 0.7421875}, {"x": 0.6640625, "y": 0.76904296875}, {"x": 0.72265625, "y": 0.79345703125}, {"x": 0.859375, "y": 0.68359375}, {"x": 0.625, "y": 0.7861328125}, {"x": 0.712890625, "y": 0.64697265625}, {"x": 0.625, "y": 0.830078125}, {"x": 0.869140625, "y": 0.63720703125}, {"x": 0.869140625, "y": 0.6005859375}, {"x": 0.771484375, "y": 0.57861328125}, {"x": 0.68359375, "y": 0.72021484375}, {"x": 0.263671875, "y": 0.48095703125}, {"x": 0.5859375, "y": 0.5029296875}, {"x": 0.625, "y": 0.390625}, {"x": 0.537109375, "y": 0.41748046875}, {"x": 0.595703125, "y": 0.4345703125}, {"x": 0.703125, "y": 0.33447265625}, {"x": 0.732421875, "y": 0.5322265625}, {"x": 0.64453125, "y": 0.3369140625}, {"x": 0.5859375, "y": 0.39794921875}, {"x": 0.72265625, "y": 0.40771484375}, {"x": 0.791015625, "y": 0.4052734375}, {"x": 0.869140625, "y": 0.24169921875}, {"x": 0.68359375, "y": 0.390625}, {"x": 0.5859375, "y": 0.498046875}, {"x": 0.72265625, "y": 0.25390625}, {"x": 0.60546875, "y": 0.1708984375}, {"x": 0.654296875, "y": 0.361328125}, {"x": 0.7421875, "y": 0.185546875}, {"x": 0.625, "y": 0.25634765625}, {"x": 0.576171875, "y": 0.21484375}, {"x": 0.625, "y": 0.3369140625}, {"x": 0.52734375, "y": 0.22705078125}, {"x": 0.517578125, "y": 0.18310546875}, {"x": 0.576171875, "y": 0.1513671875}, {"x": 0.751953125, "y": 0.06591796875}, {"x": 0.546875, "y": 0.283203125}, {"x": 0.44921875, "y": 0.19775390625}, {"x": 0.419921875, "y": 0.185546875}, {"x": 0.712890625, "y": 0.19775390625}, {"x": 0.576171875, "y": 0.1123046875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9042.8525390625, "y": -2715.3564453125}, "type": "pedestrian"}, {"position": [{"x": 9040.685546875, "y": -2719.0087890625}, {"x": 9040.75, "y": -2718.9443359375}, {"x": 9040.7978515625, "y": -2718.876708984375}, {"x": 9040.84375, "y": -2718.827880859375}, {"x": 9040.8935546875, "y": -2718.780517578125}, {"x": 9040.9462890625, "y": -2718.703125}, {"x": 9040.998046875, "y": -2718.622314453125}, {"x": 9041.041015625, "y": -2718.5576171875}, {"x": 9041.0947265625, "y": -2718.499755859375}, {"x": 9041.1484375, "y": -2718.424072265625}, {"x": 9041.18359375, "y": -2718.361572265625}, {"x": 9041.2275390625, "y": -2718.287353515625}, {"x": 9041.2685546875, "y": -2718.216064453125}, {"x": 9041.3125, "y": -2718.156494140625}, {"x": 9041.373046875, "y": -2718.093505859375}, {"x": 9041.4443359375, "y": -2718.029052734375}, {"x": 9041.505859375, "y": -2717.974365234375}, {"x": 9041.53515625, "y": -2717.915771484375}, {"x": 9041.5859375, "y": -2717.851318359375}, {"x": 9041.6484375, "y": -2717.778564453125}, {"x": 9041.6953125, "y": -2717.71630859375}, {"x": 9041.7333984375, "y": -2717.648193359375}, {"x": 9041.7890625, "y": -2717.594482421875}, {"x": 9041.8349609375, "y": -2717.53125}, {"x": 9041.890625, "y": -2717.470703125}, {"x": 9041.9501953125, "y": -2717.424560546875}, {"x": 9042.0146484375, "y": -2717.369873046875}, {"x": 9042.064453125, "y": -2717.312744140625}, {"x": 9042.109375, "y": -2717.261474609375}, {"x": 9042.1708984375, "y": -2717.199951171875}, {"x": 9042.2216796875, "y": -2717.135009765625}, {"x": 9042.271484375, "y": -2717.083251953125}, {"x": 9042.314453125, "y": -2717.026611328125}, {"x": 9042.3583984375, "y": -2716.975830078125}, {"x": 9042.4111328125, "y": -2716.9248046875}, {"x": 9042.4482421875, "y": -2716.8779296875}, {"x": 9042.509765625, "y": -2716.82958984375}, {"x": 9042.556640625, "y": -2716.7861328125}, {"x": 9042.6142578125, "y": -2716.740234375}, {"x": 9042.6708984375, "y": -2716.707275390625}, {"x": 9042.7119140625, "y": -2716.6650390625}, {"x": 9042.76171875, "y": -2716.615234375}, {"x": 9042.7939453125, "y": -2716.57666015625}, {"x": 9042.84375, "y": -2716.529541015625}, {"x": 9042.8896484375, "y": -2716.5029296875}, {"x": 9042.9443359375, "y": -2716.462158203125}, {"x": 9042.9755859375, "y": -2716.429931640625}, {"x": 9043.0322265625, "y": -2716.39013671875}, {"x": 9043.064453125, "y": -2716.346435546875}, {"x": 9043.0791015625, "y": -2716.30810546875}, {"x": 9043.125, "y": -2716.2685546875}, {"x": 9043.169921875, "y": -2716.226806640625}, {"x": 9043.22265625, "y": -2716.1923828125}, {"x": 9043.26953125, "y": -2716.153564453125}, {"x": 9043.3193359375, "y": -2716.115234375}, {"x": 9043.3759765625, "y": -2716.07421875}, {"x": 9043.4306640625, "y": -2716.023681640625}, {"x": 9043.509765625, "y": -2715.969482421875}, {"x": 9043.58984375, "y": -2715.919189453125}, {"x": 9043.66796875, "y": -2715.8681640625}, {"x": 9043.748046875, "y": -2715.814697265625}, {"x": 9043.841796875, "y": -2715.771484375}, {"x": 9043.9404296875, "y": -2715.727783203125}, {"x": 9044.02734375, "y": -2715.688720703125}, {"x": 9044.13671875, "y": -2715.6591796875}, {"x": 9044.2294921875, "y": -2715.635498046875}, {"x": 9044.3232421875, "y": -2715.583251953125}, {"x": 9044.4140625, "y": -2715.5576171875}, {"x": 9044.5205078125, "y": -2715.52734375}, {"x": 9044.6025390625, "y": -2715.487548828125}, {"x": 9044.6845703125, "y": -2715.4375}, {"x": 9044.7685546875, "y": -2715.404541015625}, {"x": 9044.84375, "y": -2715.38232421875}, {"x": 9044.9140625, "y": -2715.36474609375}, {"x": 9044.9658203125, "y": -2715.35888671875}, {"x": 9045.03125, "y": -2715.3388671875}, {"x": 9045.0927734375, "y": -2715.30615234375}, {"x": 9045.1376953125, "y": -2715.280517578125}, {"x": 9045.1650390625, "y": -2715.252197265625}, {"x": 9045.201171875, "y": -2715.231689453125}, {"x": 9045.232421875, "y": -2715.237060546875}, {"x": 9045.2626953125, "y": -2715.21875}, {"x": 9045.2734375, "y": -2715.213134765625}, {"x": 9045.3017578125, "y": -2715.18505859375}, {"x": 9045.33203125, "y": -2715.13134765625}, {"x": 9045.3291015625, "y": -2715.12353515625}, {"x": 9045.3388671875, "y": -2715.15625}, {"x": 9045.3232421875, "y": -2715.15478515625}, {"x": 9045.32421875, "y": -2715.17822265625}, {"x": 9045.2958984375, "y": -2715.16845703125}, {"x": 9045.2861328125, "y": -2715.213134765625}], "width": 0.9051134586334229, "length": 0.9244223833084106, "heading": [-308.1780260679486, -308.0861463632336, -307.4479061664309, -307.13696863465526, -307.9438052209305, -307.6339058779087, -307.4343277503609, -306.4876635313972, -306.71912498199055, -306.5916736520781, -306.5330979497561, -306.29324902686193, -306.49329160727325, -307.34397800802003, -308.2307824490978, -309.43988985673013, -309.45666480133167, -309.3963132498254, -308.7926611309797, -308.5474846605329, -308.5132517524128, -308.7666244498636, -309.037537073103, -309.87161245378826, -310.66828571857855, -311.5580408013778, -312.61579121700265, -312.38681595526714, -312.8296307795374, -312.9863699606109, -312.79698247530473, -313.2192520905516, -313.33140379672324, -314.53450063788597, -314.8636884351239, -315.6950863816545, -315.98840202537156, -316.07290512578294, 43.69495017733558, 42.93348312262212, 42.22575941139291, 42.638736554273976, -317.82648789329204, -317.19199064015453, -317.25395411630484, -317.67567731641816, -317.8817304632991, -318.0222137941479, -318.63471783815794, 41.70728999678099, 41.640606859914165, 41.1756519774493, 39.83325001306958, 38.94335832648696, 37.438951105183705, 36.15531608842277, 35.73420419024022, 35.346543143517806, 35.20910266194422, 32.89896876010583, 30.29227145960007, 27.626626211462515, 25.34887082138457, 24.16506414198525, 22.728238227424686, 22.459256840173122, 22.622564955680836, 22.343025803519723, 22.58419807556558, 22.66262401516296, 23.697932136722446, 23.02960154153128, 23.52182424671013, 22.757942720125072, 22.265036996029224, 23.887445980528206, 24.538195668795755, 27.75015359769678, 31.223916092578982, 36.28497015434254, -307.62248580161645, -309.47368563274335, -307.0984463677364, 34.427698285043505, 18.1217964341753, -31.31336424994947, 30.057080725719853, -21.33948489178997, 33.611524830172826, 38.78790663607205, 29.56321706759291], "velocity": [{"x": 0.419921875, "y": 0.64453125}, {"x": 0.64453125, "y": 0.64453125}, {"x": 0.478515625, "y": 0.67626953125}, {"x": 0.458984375, "y": 0.48828125}, {"x": 0.498046875, "y": 0.4736328125}, {"x": 0.52734375, "y": 0.77392578125}, {"x": 0.517578125, "y": 0.80810546875}, {"x": 0.4296875, "y": 0.64697265625}, {"x": 0.537109375, "y": 0.57861328125}, {"x": 0.537109375, "y": 0.7568359375}, {"x": 0.3515625, "y": 0.625}, {"x": 0.439453125, "y": 0.7421875}, {"x": 0.41015625, "y": 0.712890625}, {"x": 0.439453125, "y": 0.595703125}, {"x": 0.60546875, "y": 0.6298828125}, {"x": 0.712890625, "y": 0.64453125}, {"x": 0.615234375, "y": 0.546875}, {"x": 0.29296875, "y": 0.5859375}, {"x": 0.5078125, "y": 0.64453125}, {"x": 0.625, "y": 0.7275390625}, {"x": 0.46875, "y": 0.62255859375}, {"x": 0.380859375, "y": 0.68115234375}, {"x": 0.556640625, "y": 0.537109375}, {"x": 0.458984375, "y": 0.63232421875}, {"x": 0.556640625, "y": 0.60546875}, {"x": 0.595703125, "y": 0.46142578125}, {"x": 0.64453125, "y": 0.546875}, {"x": 0.498046875, "y": 0.5712890625}, {"x": 0.44921875, "y": 0.5126953125}, {"x": 0.615234375, "y": 0.615234375}, {"x": 0.5078125, "y": 0.6494140625}, {"x": 0.498046875, "y": 0.517578125}, {"x": 0.4296875, "y": 0.56640625}, {"x": 0.439453125, "y": 0.5078125}, {"x": 0.52734375, "y": 0.51025390625}, {"x": 0.37109375, "y": 0.46875}, {"x": 0.615234375, "y": 0.4833984375}, {"x": 0.46875, "y": 0.4345703125}, {"x": 0.576171875, "y": 0.458984375}, {"x": 0.56640625, "y": 0.32958984375}, {"x": 0.41015625, "y": 0.42236328125}, {"x": 0.498046875, "y": 0.498046875}, {"x": 0.322265625, "y": 0.3857421875}, {"x": 0.498046875, "y": 0.47119140625}, {"x": 0.458984375, "y": 0.26611328125}, {"x": 0.546875, "y": 0.40771484375}, {"x": 0.3125, "y": 0.322265625}, {"x": 0.56640625, "y": 0.39794921875}, {"x": 0.322265625, "y": 0.43701171875}, {"x": 0.146484375, "y": 0.38330078125}, {"x": 0.458984375, "y": 0.3955078125}, {"x": 0.44921875, "y": 0.41748046875}, {"x": 0.52734375, "y": 0.34423828125}, {"x": 0.46875, "y": 0.38818359375}, {"x": 0.498046875, "y": 0.38330078125}, {"x": 0.56640625, "y": 0.41015625}, {"x": 0.546875, "y": 0.50537109375}, {"x": 0.791015625, "y": 0.5419921875}, {"x": 0.80078125, "y": 0.5029296875}, {"x": 0.78125, "y": 0.51025390625}, {"x": 0.80078125, "y": 0.53466796875}, {"x": 0.9375, "y": 0.43212890625}, {"x": 0.986328125, "y": 0.43701171875}, {"x": 0.869140625, "y": 0.390625}, {"x": 1.09375, "y": 0.29541015625}, {"x": 0.927734375, "y": 0.23681640625}, {"x": 0.9375, "y": 0.5224609375}, {"x": 0.908203125, "y": 0.25634765625}, {"x": 1.064453125, "y": 0.302734375}, {"x": 0.8203125, "y": 0.39794921875}, {"x": 0.8203125, "y": 0.50048828125}, {"x": 0.83984375, "y": 0.32958984375}, {"x": 0.751953125, "y": 0.22216796875}, {"x": 0.703125, "y": 0.17578125}, {"x": 0.517578125, "y": 0.05859375}, {"x": 0.654296875, "y": 0.2001953125}, {"x": 0.615234375, "y": 0.3271484375}, {"x": 0.44921875, "y": 0.25634765625}, {"x": 0.2734375, "y": 0.283203125}, {"x": 0.361328125, "y": 0.205078125}, {"x": 0.3125, "y": -0.0537109375}, {"x": 0.302734375, "y": 0.18310546875}, {"x": 0.107421875, "y": 0.05615234375}, {"x": 0.283203125, "y": 0.28076171875}, {"x": 0.302734375, "y": 0.537109375}, {"x": -0.029296875, "y": 0.078125}, {"x": 0.09765625, "y": -0.3271484375}, {"x": -0.15625, "y": 0.0146484375}, {"x": 0.009765625, "y": -0.234375}, {"x": -0.283203125, "y": 0.09765625}, {"x": -0.09765625, "y": -0.44677734375}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9045.2861328125, "y": -2715.213134765625}, "type": "pedestrian"}, {"position": [{"x": 9029.189453125, "y": -2745.704345703125}, {"x": 9029.1923828125, "y": -2745.70361328125}, {"x": 9029.1611328125, "y": -2745.7041015625}, {"x": 9029.185546875, "y": -2745.685302734375}, {"x": 9029.1787109375, "y": -2745.674072265625}, {"x": 9029.19921875, "y": -2745.678955078125}, {"x": 9029.185546875, "y": -2745.666015625}, {"x": 9029.189453125, "y": -2745.657470703125}, {"x": 9029.1845703125, "y": -2745.64306640625}, {"x": 9029.375, "y": -2745.901611328125}, {"x": 9029.189453125, "y": -2745.625}, {"x": 9029.2060546875, "y": -2745.6484375}, {"x": 9029.2294921875, "y": -2745.63134765625}, {"x": 9029.22265625, "y": -2745.565673828125}, {"x": 9029.25390625, "y": -2745.545654296875}, {"x": 9029.3017578125, "y": -2745.51416015625}, {"x": 9029.37890625, "y": -2745.51123046875}, {"x": 9029.4443359375, "y": -2745.461669921875}, {"x": 9029.5087890625, "y": -2745.393798828125}, {"x": 9029.55078125, "y": -2745.35400390625}, {"x": 9029.6357421875, "y": -2745.2724609375}, {"x": 9029.6884765625, "y": -2745.202392578125}, {"x": 9029.748046875, "y": -2745.1005859375}, {"x": 9029.826171875, "y": -2745.015625}, {"x": 9029.8955078125, "y": -2744.94921875}, {"x": 9029.984375, "y": -2744.856689453125}, {"x": 9030.060546875, "y": -2744.775634765625}, {"x": 9030.138671875, "y": -2744.6767578125}, {"x": 9030.2275390625, "y": -2744.584716796875}, {"x": 9030.3203125, "y": -2744.504150390625}, {"x": 9030.4072265625, "y": -2744.408447265625}, {"x": 9030.494140625, "y": -2744.321533203125}, {"x": 9030.580078125, "y": -2744.231689453125}, {"x": 9030.662109375, "y": -2744.127197265625}, {"x": 9030.7421875, "y": -2744.02880859375}, {"x": 9030.8251953125, "y": -2743.938232421875}, {"x": 9030.9296875, "y": -2743.83740234375}, {"x": 9031.0107421875, "y": -2743.740478515625}, {"x": 9031.091796875, "y": -2743.623291015625}, {"x": 9031.1865234375, "y": -2743.52392578125}, {"x": 9031.2841796875, "y": -2743.434814453125}, {"x": 9031.3681640625, "y": -2743.344482421875}, {"x": 9031.462890625, "y": -2743.241455078125}, {"x": 9031.5556640625, "y": -2743.142333984375}, {"x": 9031.65234375, "y": -2743.03857421875}, {"x": 9031.7548828125, "y": -2742.933837890625}, {"x": 9031.84375, "y": -2742.81787109375}, {"x": 9031.94140625, "y": -2742.708984375}, {"x": 9032.03515625, "y": -2742.597412109375}, {"x": 9032.13671875, "y": -2742.489990234375}, {"x": 9032.228515625, "y": -2742.389892578125}, {"x": 9032.3359375, "y": -2742.294921875}, {"x": 9032.439453125, "y": -2742.20068359375}, {"x": 9032.5302734375, "y": -2742.10009765625}, {"x": 9032.6005859375, "y": -2741.989013671875}, {"x": 9032.693359375, "y": -2741.892333984375}, {"x": 9032.7783203125, "y": -2741.78955078125}, {"x": 9032.8515625, "y": -2741.691162109375}, {"x": 9032.9296875, "y": -2741.59423828125}, {"x": 9032.998046875, "y": -2741.49853515625}, {"x": 9033.0908203125, "y": -2741.412109375}, {"x": 9033.173828125, "y": -2741.3095703125}, {"x": 9033.240234375, "y": -2741.21728515625}, {"x": 9033.3408203125, "y": -2741.125}, {"x": 9033.404296875, "y": -2741.030029296875}, {"x": 9033.4658203125, "y": -2740.950927734375}, {"x": 9033.52734375, "y": -2740.849609375}, {"x": 9033.5869140625, "y": -2740.776123046875}, {"x": 9033.638671875, "y": -2740.717529296875}, {"x": 9033.6796875, "y": -2740.656005859375}, {"x": 9033.6982421875, "y": -2740.627685546875}, {"x": 9033.7373046875, "y": -2740.609619140625}, {"x": 9033.76171875, "y": -2740.61328125}, {"x": 9033.796875, "y": -2740.570068359375}, {"x": 9033.77734375, "y": -2740.5419921875}, {"x": 9033.81640625, "y": -2740.60888671875}, {"x": 9033.8271484375, "y": -2740.62939453125}, {"x": 9033.8271484375, "y": -2740.651123046875}, {"x": 9033.833984375, "y": -2740.655029296875}, {"x": 9033.8369140625, "y": -2740.676513671875}, {"x": 9033.8603515625, "y": -2740.664306640625}, {"x": 9033.8662109375, "y": -2740.6513671875}, {"x": 9033.8798828125, "y": -2740.619140625}, {"x": 9033.8935546875, "y": -2740.57958984375}, {"x": 9033.890625, "y": -2740.533447265625}, {"x": 9033.89453125, "y": -2740.4921875}, {"x": 9033.919921875, "y": -2740.4462890625}, {"x": 9033.95703125, "y": -2740.36572265625}, {"x": 9033.9921875, "y": -2740.35498046875}, {"x": 9034.025390625, "y": -2740.277099609375}, {"x": 9034.052734375, "y": -2740.2021484375}], "width": 0.8253637552261353, "length": 0.8261034488677979, "heading": [-66.14991082852076, -60.260628028001456, -56.97300526347503, -53.22994548509215, -55.54893814228405, -88.19376580865746, -52.15936455911143, -46.50566522834962, -54.17913345895424, -11.749537297066055, 16.28314366055372, -7.69204976024164, 33.177152119716695, 13.053819975687935, 14.324460557552916, 14.866354105923389, 40.17841362277617, 38.24347567242492, 30.000738495256417, 48.18681383971071, 39.70527617368563, 42.210862768813115, -316.42348507550133, -316.97872481351004, -314.4353536118941, -314.2145745771626, -313.149365594964, -312.6068573295683, -312.43675829847825, -312.1127341242529, -312.13510982397383, -312.59191287566426, -311.8352098778969, -312.13683103164465, -312.5775967991639, -312.0060192486606, -311.39662977091206, -311.8856439947283, -312.2475893792256, -312.63986080363776, -312.7470674528503, -312.6431392944394, -313.2588945084944, -313.3041650023132, -312.9991833954938, -312.9946754706416, -313.4065085568367, -313.10991442231807, -312.83452119498315, -312.0357988734418, -312.1414209187669, -312.3135690066079, 47.57008532369899, 47.29443254917562, -312.1079529918339, -312.064048535849, -311.30791927397195, -310.84406746705804, -309.9082222677396, -309.61758405817716, -309.80098829777035, -310.70861115543835, -311.8531869357924, -311.3759206373486, -310.54752797405274, -309.94343872310014, -309.5833238293004, -308.2402081101524, -301.173967602424, 45.459690058853866, -304.5546926755269, -313.226901902422, -310.5177210285148, 32.849002511232605, 54.73645298956519, -304.9388225144484, -303.42525259437355, 63.125564535741645, -290.0384916324988, -287.32742562638066, -291.40819044789646, -291.75658473708046, -298.7296068230165, -296.45794054658364, -295.33888235296877, -291.95231063793636, -290.58662797377065, -289.46661355367195, -296.40316242944016, -296.0459981773618, -293.445827122608], "velocity": [{"x": -0.185546875, "y": -0.04638671875}, {"x": 0.029296875, "y": 0.00732421875}, {"x": -0.3125, "y": -0.0048828125}, {"x": 0.244140625, "y": 0.18798828125}, {"x": -0.068359375, "y": 0.1123046875}, {"x": 0.205078125, "y": -0.048828125}, {"x": -0.13671875, "y": 0.12939453125}, {"x": 0.0390625, "y": 0.08544921875}, {"x": -0.048828125, "y": 0.14404296875}, {"x": 1.904296875, "y": -2.58544921875}, {"x": -1.85546875, "y": 2.76611328125}, {"x": 0.166015625, "y": -0.234375}, {"x": 0.234375, "y": 0.1708984375}, {"x": -0.068359375, "y": 0.65673828125}, {"x": 0.3125, "y": 0.2001953125}, {"x": 0.478515625, "y": 0.31494140625}, {"x": 0.771484375, "y": 0.029296875}, {"x": 0.654296875, "y": 0.49560546875}, {"x": 0.64453125, "y": 0.6787109375}, {"x": 0.419921875, "y": 0.39794921875}, {"x": 0.849609375, "y": 0.8154296875}, {"x": 0.52734375, "y": 0.70068359375}, {"x": 0.595703125, "y": 1.01806640625}, {"x": 0.78125, "y": 0.849609375}, {"x": 0.693359375, "y": 0.6640625}, {"x": 0.888671875, "y": 0.92529296875}, {"x": 0.76171875, "y": 0.810546875}, {"x": 0.78125, "y": 0.98876953125}, {"x": 0.888671875, "y": 0.92041015625}, {"x": 0.927734375, "y": 0.8056640625}, {"x": 0.869140625, "y": 0.95703125}, {"x": 0.869140625, "y": 0.869140625}, {"x": 0.859375, "y": 0.8984375}, {"x": 0.8203125, "y": 1.044921875}, {"x": 0.80078125, "y": 0.98388671875}, {"x": 0.830078125, "y": 0.90576171875}, {"x": 1.044921875, "y": 1.00830078125}, {"x": 0.810546875, "y": 0.96923828125}, {"x": 0.810546875, "y": 1.171875}, {"x": 0.947265625, "y": 0.99365234375}, {"x": 0.9765625, "y": 0.89111328125}, {"x": 0.83984375, "y": 0.9033203125}, {"x": 0.947265625, "y": 1.0302734375}, {"x": 0.927734375, "y": 0.9912109375}, {"x": 0.966796875, "y": 1.03759765625}, {"x": 1.025390625, "y": 1.04736328125}, {"x": 0.888671875, "y": 1.15966796875}, {"x": 0.9765625, "y": 1.0888671875}, {"x": 0.9375, "y": 1.11572265625}, {"x": 1.015625, "y": 1.07421875}, {"x": 0.91796875, "y": 1.0009765625}, {"x": 1.07421875, "y": 0.94970703125}, {"x": 1.03515625, "y": 0.9423828125}, {"x": 0.908203125, "y": 1.005859375}, {"x": 0.703125, "y": 1.11083984375}, {"x": 0.927734375, "y": 0.966796875}, {"x": 0.849609375, "y": 1.02783203125}, {"x": 0.732421875, "y": 0.98388671875}, {"x": 0.78125, "y": 0.96923828125}, {"x": 0.68359375, "y": 0.95703125}, {"x": 0.927734375, "y": 0.8642578125}, {"x": 0.830078125, "y": 1.025390625}, {"x": 0.6640625, "y": 0.9228515625}, {"x": 1.005859375, "y": 0.9228515625}, {"x": 0.634765625, "y": 0.94970703125}, {"x": 0.615234375, "y": 0.791015625}, {"x": 0.615234375, "y": 1.01318359375}, {"x": 0.595703125, "y": 0.73486328125}, {"x": 0.517578125, "y": 0.5859375}, {"x": 0.41015625, "y": 0.615234375}, {"x": 0.185546875, "y": 0.283203125}, {"x": 0.390625, "y": 0.1806640625}, {"x": 0.244140625, "y": -0.03662109375}, {"x": 0.3515625, "y": 0.43212890625}, {"x": -0.1953125, "y": 0.28076171875}, {"x": 0.390625, "y": -0.6689453125}, {"x": 0.107421875, "y": -0.205078125}, {"x": -0.0, "y": -0.21728515625}, {"x": 0.068359375, "y": -0.0390625}, {"x": 0.029296875, "y": -0.21484375}, {"x": 0.234375, "y": 0.1220703125}, {"x": 0.05859375, "y": 0.12939453125}, {"x": 0.13671875, "y": 0.322265625}, {"x": 0.13671875, "y": 0.3955078125}, {"x": -0.029296875, "y": 0.46142578125}, {"x": 0.0390625, "y": 0.41259765625}, {"x": 0.25390625, "y": 0.458984375}, {"x": 0.37109375, "y": 0.8056640625}, {"x": 0.3515625, "y": 0.107421875}, {"x": 0.33203125, "y": 0.77880859375}, {"x": 0.2734375, "y": 0.74951171875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9034.052734375, "y": -2740.2021484375}, "type": "pedestrian"}, {"position": [{"x": 9029.6669921875, "y": -2746.1259765625}, {"x": 9029.6669921875, "y": -2746.148193359375}, {"x": 9029.662109375, "y": -2746.15576171875}, {"x": 9029.666015625, "y": -2746.141845703125}, {"x": 9029.6689453125, "y": -2746.176513671875}, {"x": 9029.6650390625, "y": -2746.1767578125}, {"x": 9029.62890625, "y": -2746.188720703125}, {"x": 9029.6337890625, "y": -2746.214111328125}, {"x": 9029.6123046875, "y": -2746.235595703125}, {"x": 9029.5947265625, "y": -2746.259033203125}, {"x": 9029.552734375, "y": -2746.30615234375}, {"x": 9029.515625, "y": -2746.34423828125}, {"x": 9029.4697265625, "y": -2746.39453125}, {"x": 9029.4130859375, "y": -2746.443115234375}, {"x": 9029.37890625, "y": -2746.497314453125}, {"x": 9029.3359375, "y": -2746.56201171875}, {"x": 9029.263671875, "y": -2746.66064453125}, {"x": 9029.2080078125, "y": -2746.75048828125}, {"x": 9029.1474609375, "y": -2746.855224609375}, {"x": 9029.0966796875, "y": -2746.960205078125}, {"x": 9029.052734375, "y": -2747.06298828125}, {"x": 9029.0078125, "y": -2747.173828125}, {"x": 9028.9658203125, "y": -2747.28515625}, {"x": 9028.9228515625, "y": -2747.381103515625}, {"x": 9028.8837890625, "y": -2747.507080078125}, {"x": 9028.845703125, "y": -2747.615478515625}, {"x": 9028.806640625, "y": -2747.746337890625}, {"x": 9028.7646484375, "y": -2747.868896484375}, {"x": 9028.751953125, "y": -2747.965576171875}, {"x": 9028.7275390625, "y": -2748.073974609375}, {"x": 9028.6943359375, "y": -2748.191162109375}, {"x": 9028.6669921875, "y": -2748.295166015625}, {"x": 9028.6396484375, "y": -2748.38671875}, {"x": 9028.6064453125, "y": -2748.492919921875}, {"x": 9028.58203125, "y": -2748.58251953125}, {"x": 9028.556640625, "y": -2748.6787109375}, {"x": 9028.5205078125, "y": -2748.755126953125}, {"x": 9028.4833984375, "y": -2748.843017578125}, {"x": 9028.4541015625, "y": -2748.898193359375}, {"x": 9028.396484375, "y": -2748.95458984375}, {"x": 9028.357421875, "y": -2748.999267578125}, {"x": 9028.3076171875, "y": -2749.061767578125}, {"x": 9028.2646484375, "y": -2749.130126953125}, {"x": 9028.25, "y": -2749.195068359375}, {"x": 9028.224609375, "y": -2749.246337890625}, {"x": 9028.193359375, "y": -2749.286865234375}, {"x": 9028.16796875, "y": -2749.31494140625}, {"x": 9028.1416015625, "y": -2749.342041015625}, {"x": 9028.130859375, "y": -2749.399169921875}, {"x": 9028.1201171875, "y": -2749.439697265625}, {"x": 9028.1103515625, "y": -2749.47216796875}, {"x": 9028.1005859375, "y": -2749.490966796875}, {"x": 9028.1103515625, "y": -2749.51708984375}, {"x": 9028.09765625, "y": -2749.537353515625}, {"x": 9028.0908203125, "y": -2749.546875}, {"x": 9028.0849609375, "y": -2749.562744140625}, {"x": 9028.078125, "y": -2749.556640625}, {"x": 9028.064453125, "y": -2749.561279296875}, {"x": 9028.0576171875, "y": -2749.51953125}, {"x": 9028.0341796875, "y": -2749.498779296875}, {"x": 9028.0126953125, "y": -2749.471435546875}, {"x": 9028.009765625, "y": -2749.455078125}, {"x": 9027.998046875, "y": -2749.403076171875}, {"x": 9027.9921875, "y": -2749.3740234375}, {"x": 9027.998046875, "y": -2749.349609375}, {"x": 9027.990234375, "y": -2749.32177734375}, {"x": 9027.9775390625, "y": -2749.292724609375}, {"x": 9027.9833984375, "y": -2749.267333984375}, {"x": 9027.986328125, "y": -2749.2314453125}, {"x": 9027.994140625, "y": -2749.20654296875}, {"x": 9028.0146484375, "y": -2749.171875}, {"x": 9028.0048828125, "y": -2749.146240234375}, {"x": 9028.009765625, "y": -2749.115478515625}, {"x": 9028.0068359375, "y": -2749.096923828125}, {"x": 9027.998046875, "y": -2749.08154296875}, {"x": 9028.0166015625, "y": -2749.07861328125}, {"x": 9028.017578125, "y": -2749.076416015625}, {"x": 9028.00390625, "y": -2749.07470703125}, {"x": 9027.998046875, "y": -2749.06591796875}, {"x": 9027.990234375, "y": -2749.0712890625}, {"x": 9027.974609375, "y": -2749.081787109375}, {"x": 9027.9658203125, "y": -2749.083251953125}, {"x": 9027.96484375, "y": -2749.1025390625}, {"x": 9027.9501953125, "y": -2749.10888671875}, {"x": 9027.9443359375, "y": -2749.11474609375}, {"x": 9027.943359375, "y": -2749.12890625}, {"x": 9027.9365234375, "y": -2749.133056640625}, {"x": 9027.935546875, "y": -2749.1318359375}, {"x": 9027.9453125, "y": -2749.1552734375}, {"x": 9027.9462890625, "y": -2749.178955078125}, {"x": 9027.955078125, "y": -2749.189697265625}], "width": 0.806481122970581, "length": 0.8255271911621094, "heading": [-146.31135368267573, -150.92996858057336, -149.7692189122647, -144.26942764916538, -148.90819160511458, -154.9238807166033, -141.51033175280372, -135.21729597987746, -145.8331584785048, -144.24809013819828, -129.28310468556532, -140.30160683576491, -129.26425336345608, -127.37835617134552, -125.64960797165861, -133.04026880458426, -128.04067961516165, -125.95745825792942, -121.51648291996547, -119.28094834424196, -117.55213184266336, -114.94937897640327, -112.64524198065615, -109.94749484341953, -109.01686107843778, -107.99126036323618, -107.2465853285972, -107.04294323849328, -106.89287032204976, -107.34464635451107, -108.14182505329994, -107.00722817932328, -106.12590154995985, -103.01381464710275, -105.12909008210985, -108.20188290667187, -109.28265105979966, -111.9000137006944, -115.18876344643388, -121.90721072162522, -112.31394365496469, -113.39186361920859, -132.55215616573847, -127.12363109643906, -122.78352399213786, -120.87865253451301, -118.23851121273627, -116.70300272504737, -266.97081178634465, -276.4452677123928, -278.9235062300836, -281.6681767669182, -289.0949966213099, -287.3198031352669, -289.3231249395883, -289.1392289263749, -291.2269172273243, -289.21370530908473, -291.690960279535, -287.71745674874506, -289.3491342999477, -277.8073440366768, -269.98106739886606, -268.6791513807916, -265.2108906032858, -265.1166613134963, -270.02625593041483, -266.0061158679721, -265.71482196024937, -261.4936830909115, -249.89214233278122, -252.3293723946952, -246.5294489590872, -245.70753131512453, -244.59505742386955, -236.30990135686068, -232.93330171801648, -230.91866912042954, -226.69344579796794, -226.65101666284383, -230.13715887559667, -224.59989719471065, -229.82900806100238, -229.8070421726316, -228.99614845398935, -223.53427840116194, -225.92171638402655, -221.61235879136873, -218.80736402378457, -222.4461882852439, -228.05222997107194], "velocity": [{"x": -0.078125, "y": 0.00244140625}, {"x": -0.0, "y": -0.22216796875}, {"x": -0.048828125, "y": -0.07568359375}, {"x": 0.0390625, "y": 0.13916015625}, {"x": 0.029296875, "y": -0.3466796875}, {"x": -0.0390625, "y": -0.00244140625}, {"x": -0.361328125, "y": -0.11962890625}, {"x": 0.048828125, "y": -0.25390625}, {"x": -0.21484375, "y": -0.21484375}, {"x": -0.17578125, "y": -0.234375}, {"x": -0.419921875, "y": -0.47119140625}, {"x": -0.37109375, "y": -0.380859375}, {"x": -0.458984375, "y": -0.5029296875}, {"x": -0.56640625, "y": -0.48583984375}, {"x": -0.341796875, "y": -0.5419921875}, {"x": -0.4296875, "y": -0.64697265625}, {"x": -0.72265625, "y": -0.986328125}, {"x": -0.556640625, "y": -0.8984375}, {"x": -0.60546875, "y": -1.04736328125}, {"x": -0.5078125, "y": -1.0498046875}, {"x": -0.439453125, "y": -1.02783203125}, {"x": -0.44921875, "y": -1.1083984375}, {"x": -0.419921875, "y": -1.11328125}, {"x": -0.4296875, "y": -0.95947265625}, {"x": -0.390625, "y": -1.259765625}, {"x": -0.380859375, "y": -1.083984375}, {"x": -0.390625, "y": -1.30859375}, {"x": -0.419921875, "y": -1.2255859375}, {"x": -0.126953125, "y": -0.966796875}, {"x": -0.244140625, "y": -1.083984375}, {"x": -0.33203125, "y": -1.171875}, {"x": -0.2734375, "y": -1.0400390625}, {"x": -0.2734375, "y": -0.91552734375}, {"x": -0.33203125, "y": -1.06201171875}, {"x": -0.244140625, "y": -0.89599609375}, {"x": -0.25390625, "y": -0.9619140625}, {"x": -0.361328125, "y": -0.76416015625}, {"x": -0.37109375, "y": -0.87890625}, {"x": -0.29296875, "y": -0.5517578125}, {"x": -0.576171875, "y": -0.56396484375}, {"x": -0.390625, "y": -0.44677734375}, {"x": -0.498046875, "y": -0.625}, {"x": -0.4296875, "y": -0.68359375}, {"x": -0.146484375, "y": -0.6494140625}, {"x": -0.25390625, "y": -0.5126953125}, {"x": -0.3125, "y": -0.4052734375}, {"x": -0.25390625, "y": -0.28076171875}, {"x": -0.263671875, "y": -0.27099609375}, {"x": -0.107421875, "y": -0.5712890625}, {"x": -0.107421875, "y": -0.4052734375}, {"x": -0.09765625, "y": -0.32470703125}, {"x": -0.09765625, "y": -0.18798828125}, {"x": 0.09765625, "y": -0.26123046875}, {"x": -0.126953125, "y": -0.20263671875}, {"x": -0.068359375, "y": -0.09521484375}, {"x": -0.05859375, "y": -0.15869140625}, {"x": -0.068359375, "y": 0.06103515625}, {"x": -0.13671875, "y": -0.04638671875}, {"x": -0.068359375, "y": 0.41748046875}, {"x": -0.234375, "y": 0.20751953125}, {"x": -0.21484375, "y": 0.2734375}, {"x": -0.029296875, "y": 0.16357421875}, {"x": -0.1171875, "y": 0.52001953125}, {"x": -0.05859375, "y": 0.29052734375}, {"x": 0.05859375, "y": 0.244140625}, {"x": -0.078125, "y": 0.2783203125}, {"x": -0.126953125, "y": 0.29052734375}, {"x": 0.05859375, "y": 0.25390625}, {"x": 0.029296875, "y": 0.35888671875}, {"x": 0.078125, "y": 0.2490234375}, {"x": 0.205078125, "y": 0.3466796875}, {"x": -0.09765625, "y": 0.25634765625}, {"x": 0.048828125, "y": 0.3076171875}, {"x": -0.029296875, "y": 0.185546875}, {"x": -0.087890625, "y": 0.15380859375}, {"x": 0.185546875, "y": 0.029296875}, {"x": 0.009765625, "y": 0.02197265625}, {"x": -0.13671875, "y": 0.01708984375}, {"x": -0.05859375, "y": 0.087890625}, {"x": -0.078125, "y": -0.0537109375}, {"x": -0.15625, "y": -0.10498046875}, {"x": -0.087890625, "y": -0.0146484375}, {"x": -0.009765625, "y": -0.19287109375}, {"x": -0.146484375, "y": -0.0634765625}, {"x": -0.05859375, "y": -0.05859375}, {"x": -0.009765625, "y": -0.1416015625}, {"x": -0.068359375, "y": -0.04150390625}, {"x": -0.009765625, "y": 0.01220703125}, {"x": 0.09765625, "y": -0.234375}, {"x": 0.009765625, "y": -0.23681640625}, {"x": 0.087890625, "y": -0.107421875}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.955078125, "y": -2749.189697265625}, "type": "pedestrian"}, {"position": [{"x": 9041.47265625, "y": -2715.972900390625}, {"x": 9041.529296875, "y": -2715.90869140625}, {"x": 9041.5947265625, "y": -2715.8291015625}, {"x": 9041.671875, "y": -2715.7529296875}, {"x": 9041.7431640625, "y": -2715.693115234375}, {"x": 9041.8271484375, "y": -2715.631103515625}, {"x": 9041.9091796875, "y": -2715.5751953125}, {"x": 9042.0087890625, "y": -2715.522216796875}, {"x": 9042.1005859375, "y": -2715.4677734375}, {"x": 9042.1748046875, "y": -2715.41259765625}, {"x": 9042.2578125, "y": -2715.365234375}, {"x": 9042.34765625, "y": -2715.313720703125}, {"x": 9042.4140625, "y": -2715.271240234375}, {"x": 9042.48046875, "y": -2715.23046875}, {"x": 9042.5615234375, "y": -2715.20654296875}, {"x": 9042.625, "y": -2715.177490234375}, {"x": 9042.6953125, "y": -2715.16015625}, {"x": 9042.77734375, "y": -2715.161376953125}, {"x": 9042.880859375, "y": -2715.150146484375}, {"x": 9042.96484375, "y": -2715.113525390625}, {"x": 9043.06640625, "y": -2715.102783203125}, {"x": 9043.1572265625, "y": -2715.084228515625}, {"x": 9043.2529296875, "y": -2715.080078125}, {"x": 9043.3359375, "y": -2715.072509765625}, {"x": 9043.4287109375, "y": -2715.07177734375}, {"x": 9043.529296875, "y": -2715.070068359375}, {"x": 9043.62890625, "y": -2715.06298828125}, {"x": 9043.7119140625, "y": -2715.046875}, {"x": 9043.78125, "y": -2715.050048828125}, {"x": 9043.8828125, "y": -2715.035888671875}, {"x": 9043.978515625, "y": -2715.040771484375}, {"x": 9044.107421875, "y": -2715.0380859375}, {"x": 9044.181640625, "y": -2715.033447265625}, {"x": 9044.3046875, "y": -2715.017333984375}, {"x": 9044.400390625, "y": -2715.004150390625}, {"x": 9044.484375, "y": -2714.98486328125}, {"x": 9044.5712890625, "y": -2714.9736328125}, {"x": 9044.6572265625, "y": -2714.9638671875}, {"x": 9044.7333984375, "y": -2714.95263671875}, {"x": 9044.8212890625, "y": -2714.931640625}, {"x": 9044.9150390625, "y": -2714.92041015625}, {"x": 9045.005859375, "y": -2714.8916015625}, {"x": 9045.0869140625, "y": -2714.8779296875}, {"x": 9045.189453125, "y": -2714.84521484375}, {"x": 9045.2666015625, "y": -2714.817138671875}, {"x": 9045.369140625, "y": -2714.771240234375}, {"x": 9045.4560546875, "y": -2714.7294921875}, {"x": 9045.53515625, "y": -2714.698486328125}, {"x": 9045.6123046875, "y": -2714.6513671875}, {"x": 9045.693359375, "y": -2714.61474609375}, {"x": 9045.7666015625, "y": -2714.586181640625}, {"x": 9045.8408203125, "y": -2714.549072265625}, {"x": 9045.931640625, "y": -2714.48876953125}, {"x": 9046.0146484375, "y": -2714.4658203125}, {"x": 9046.109375, "y": -2714.424560546875}, {"x": 9046.177734375, "y": -2714.36669921875}, {"x": 9046.2587890625, "y": -2714.3359375}, {"x": 9046.337890625, "y": -2714.2958984375}, {"x": 9046.412109375, "y": -2714.234619140625}, {"x": 9046.5009765625, "y": -2714.192138671875}, {"x": 9046.5888671875, "y": -2714.135009765625}, {"x": 9046.6591796875, "y": -2714.099609375}, {"x": 9046.734375, "y": -2714.055908203125}, {"x": 9046.791015625, "y": -2714.018310546875}, {"x": 9046.8779296875, "y": -2713.967529296875}, {"x": 9046.943359375, "y": -2713.907470703125}, {"x": 9046.9951171875, "y": -2713.8779296875}, {"x": 9047.0849609375, "y": -2713.8115234375}, {"x": 9047.1533203125, "y": -2713.766845703125}, {"x": 9047.2353515625, "y": -2713.70703125}, {"x": 9047.3271484375, "y": -2713.650634765625}, {"x": 9047.390625, "y": -2713.60009765625}, {"x": 9047.4560546875, "y": -2713.56494140625}, {"x": 9047.5166015625, "y": -2713.520263671875}, {"x": 9047.55078125, "y": -2713.47119140625}, {"x": 9047.615234375, "y": -2713.393798828125}, {"x": 9047.681640625, "y": -2713.362060546875}, {"x": 9047.748046875, "y": -2713.290283203125}, {"x": 9047.84375, "y": -2713.229248046875}, {"x": 9047.9521484375, "y": -2713.19677734375}, {"x": 9048.0068359375, "y": -2713.123046875}, {"x": 9048.0634765625, "y": -2713.130615234375}, {"x": 9048.1279296875, "y": -2713.06884765625}, {"x": 9048.19140625, "y": -2713.05322265625}, {"x": 9048.275390625, "y": -2713.07421875}, {"x": -10000.0, "y": -10000.0}, {"x": 9048.1396484375, "y": -2713.11181640625}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "width": 0.9296231865882874, "length": 0.9178699254989624, "heading": [-310.3378958080467, -311.2485512697062, -315.4358124007608, -317.6593121831668, 38.736789500323674, 36.94304180540034, 35.303663215908465, 32.83917728411154, 30.071171405977587, 31.26773858629378, 29.541445839613495, 29.480107325772195, 28.539178758163946, 28.63017566092873, 26.085672355457817, 21.567823238385373, 19.259548855548516, 13.648034480647997, 8.751798006198724, 10.454798100261975, 7.676484612896827, 10.01658170085042, 9.012712086266857, 5.830091100511504, 4.827184969487736, 4.306375788198271, 4.128230794265999, 4.672978081049067, 5.077849070045796, 5.345213836898184, 5.4133560729264625, 6.9756090200842, 6.567320802068347, 6.959040688705041, 6.763788632222826, 7.587595677264635, 10.082127611220447, 11.38655543136219, 13.31204808386496, 14.476483493004476, 15.285567211516677, 16.706079219244664, 16.96054645450995, 18.293089040822757, 20.119210124864658, 22.04225500832363, 23.63697269838008, 24.502415722828644, 25.86453644334219, 26.26931735921924, 27.367690324932745, 27.638377551929523, 27.473571917446286, 28.15144087181337, 28.937250720728752, 29.527256121612794, 30.72694811347427, 30.493451266508213, 31.898550952374066, 32.403708328293625, 33.304671751520836, 33.16179102427334, 33.58639314912177, 33.654309135133786, 34.636951375550595, 35.37546899465281, 35.34892687953814, 35.610437747385006, 35.302310838452804, 35.87563691738367, 35.60168144486905, 35.01296011954897, 34.76995906435284, 35.54357361050516, 36.57616160922769, 38.21251100982267, 36.13452157749467, 37.17154578408312, 36.79274349271421, 36.21652482866984, 35.71075956591415, 35.860494387993754, 34.41793111453038, 35.55686515863001, 31.0307856636077, -10000.0, 33.18489072404632, -10000.0, -10000.0, -10000.0, -10000.0], "velocity": [{"x": 0.60546875, "y": 0.60302734375}, {"x": 0.56640625, "y": 0.64208984375}, {"x": 0.654296875, "y": 0.7958984375}, {"x": 0.771484375, "y": 0.76171875}, {"x": 0.712890625, "y": 0.59814453125}, {"x": 0.83984375, "y": 0.6201171875}, {"x": 0.8203125, "y": 0.55908203125}, {"x": 0.99609375, "y": 0.52978515625}, {"x": 0.91796875, "y": 0.54443359375}, {"x": 0.7421875, "y": 0.5517578125}, {"x": 0.830078125, "y": 0.4736328125}, {"x": 0.8984375, "y": 0.51513671875}, {"x": 0.6640625, "y": 0.4248046875}, {"x": 0.6640625, "y": 0.40771484375}, {"x": 0.810546875, "y": 0.2392578125}, {"x": 0.634765625, "y": 0.29052734375}, {"x": 0.703125, "y": 0.17333984375}, {"x": 0.8203125, "y": -0.01220703125}, {"x": 1.03515625, "y": 0.1123046875}, {"x": 0.83984375, "y": 0.3662109375}, {"x": 1.015625, "y": 0.107421875}, {"x": 0.908203125, "y": 0.185546875}, {"x": 0.95703125, "y": 0.04150390625}, {"x": 0.830078125, "y": 0.07568359375}, {"x": 0.927734375, "y": 0.00732421875}, {"x": 1.005859375, "y": 0.01708984375}, {"x": 0.99609375, "y": 0.07080078125}, {"x": 0.830078125, "y": 0.1611328125}, {"x": 0.693359375, "y": -0.03173828125}, {"x": 1.015625, "y": 0.1416015625}, {"x": 0.95703125, "y": -0.048828125}, {"x": 1.2890625, "y": 0.02685546875}, {"x": 0.7421875, "y": 0.04638671875}, {"x": 1.23046875, "y": 0.1611328125}, {"x": 0.95703125, "y": 0.1318359375}, {"x": 0.83984375, "y": 0.19287109375}, {"x": 0.869140625, "y": 0.1123046875}, {"x": 0.859375, "y": 0.09765625}, {"x": 0.76171875, "y": 0.1123046875}, {"x": 0.87890625, "y": 0.2099609375}, {"x": 0.9375, "y": 0.1123046875}, {"x": 0.908203125, "y": 0.2880859375}, {"x": 0.810546875, "y": 0.13671875}, {"x": 1.025390625, "y": 0.3271484375}, {"x": 0.771484375, "y": 0.28076171875}, {"x": 1.025390625, "y": 0.458984375}, {"x": 0.869140625, "y": 0.41748046875}, {"x": 0.791015625, "y": 0.31005859375}, {"x": 0.771484375, "y": 0.47119140625}, {"x": 0.810546875, "y": 0.3662109375}, {"x": 0.732421875, "y": 0.28564453125}, {"x": 0.7421875, "y": 0.37109375}, {"x": 0.908203125, "y": 0.60302734375}, {"x": 0.830078125, "y": 0.2294921875}, {"x": 0.947265625, "y": 0.41259765625}, {"x": 0.68359375, "y": 0.57861328125}, {"x": 0.810546875, "y": 0.3076171875}, {"x": 0.791015625, "y": 0.400390625}, {"x": 0.7421875, "y": 0.61279296875}, {"x": 0.888671875, "y": 0.4248046875}, {"x": 0.87890625, "y": 0.5712890625}, {"x": 0.703125, "y": 0.35400390625}, {"x": 0.751953125, "y": 0.43701171875}, {"x": 0.56640625, "y": 0.3759765625}, {"x": 0.869140625, "y": 0.5078125}, {"x": 0.654296875, "y": 0.6005859375}, {"x": 0.517578125, "y": 0.29541015625}, {"x": 0.8984375, "y": 0.6640625}, {"x": 0.68359375, "y": 0.44677734375}, {"x": 0.8203125, "y": 0.59814453125}, {"x": 0.91796875, "y": 0.56396484375}, {"x": 0.634765625, "y": 0.50537109375}, {"x": 0.654296875, "y": 0.3515625}, {"x": 0.60546875, "y": 0.44677734375}, {"x": 0.341796875, "y": 0.49072265625}, {"x": 0.64453125, "y": 0.77392578125}, {"x": 0.6640625, "y": 0.3173828125}, {"x": 0.6640625, "y": 0.7177734375}, {"x": 0.95703125, "y": 0.6103515625}, {"x": 1.083984375, "y": 0.32470703125}, {"x": 0.546875, "y": 0.7373046875}, {"x": 0.56640625, "y": -0.07568359375}, {"x": 0.64453125, "y": 0.61767578125}, {"x": 0.634765625, "y": 0.15625}, {"x": 0.83984375, "y": -0.2099609375}, {"x": -10000.0, "y": -10000.0}, {"x": -0.6787109375, "y": -0.18798828125}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}, {"x": -10000.0, "y": -10000.0}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, false, false, false, false], "goalPosition": {"x": 9048.1396484375, "y": -2713.11181640625}, "type": "pedestrian"}, {"position": [{"x": 9027.23046875, "y": -2748.892822265625}, {"x": -10000.0, "y": -10000.0}, {"x": 9027.12109375, "y": -2748.6875}, {"x": 9027.123046875, "y": -2748.6845703125}, {"x": 9027.16796875, "y": -2748.72412109375}, {"x": 9027.3046875, "y": -2748.973876953125}, {"x": 9027.111328125, "y": -2748.64599609375}, {"x": 9027.1181640625, "y": -2748.630126953125}, {"x": 9027.09765625, "y": -2748.623046875}, {"x": 9027.1015625, "y": -2748.599365234375}, {"x": 9027.0810546875, "y": -2748.58642578125}, {"x": 9027.083984375, "y": -2748.5791015625}, {"x": 9027.08203125, "y": -2748.561767578125}, {"x": 9027.0830078125, "y": -2748.546630859375}, {"x": 9027.0908203125, "y": -2748.50927734375}, {"x": 9027.0751953125, "y": -2748.482666015625}, {"x": 9027.080078125, "y": -2748.46923828125}, {"x": 9027.0927734375, "y": -2748.473876953125}, {"x": 9027.0771484375, "y": -2748.486328125}, {"x": 9027.0947265625, "y": -2748.46826171875}, {"x": 9027.0830078125, "y": -2748.47705078125}, {"x": 9027.0927734375, "y": -2748.458740234375}, {"x": 9027.0849609375, "y": -2748.463134765625}, {"x": 9027.087890625, "y": -2748.4638671875}, {"x": 9027.0908203125, "y": -2748.4580078125}, {"x": 9027.0947265625, "y": -2748.46337890625}, {"x": 9027.09375, "y": -2748.466552734375}, {"x": 9027.1025390625, "y": -2748.470947265625}, {"x": 9027.09765625, "y": -2748.479736328125}, {"x": 9027.0966796875, "y": -2748.476806640625}, {"x": 9027.1005859375, "y": -2748.482421875}, {"x": 9027.099609375, "y": -2748.480224609375}, {"x": 9027.0966796875, "y": -2748.477783203125}, {"x": 9027.099609375, "y": -2748.473388671875}, {"x": 9027.095703125, "y": -2748.47216796875}, {"x": 9027.0966796875, "y": -2748.476806640625}, {"x": 9027.1025390625, "y": -2748.482177734375}, {"x": 9027.0986328125, "y": -2748.473876953125}, {"x": 9027.103515625, "y": -2748.480712890625}, {"x": 9027.0966796875, "y": -2748.47802734375}, {"x": 9027.0986328125, "y": -2748.477783203125}, {"x": 9027.099609375, "y": -2748.479736328125}, {"x": 9027.0947265625, "y": -2748.482421875}, {"x": 9027.0947265625, "y": -2748.486328125}, {"x": 9027.095703125, "y": -2748.486083984375}, {"x": 9027.09765625, "y": -2748.485595703125}, {"x": 9027.0927734375, "y": -2748.48486328125}, {"x": 9027.09375, "y": -2748.479736328125}, {"x": 9027.091796875, "y": -2748.481201171875}, {"x": 9027.08984375, "y": -2748.47216796875}, {"x": 9027.087890625, "y": -2748.46337890625}, {"x": 9027.087890625, "y": -2748.476806640625}, {"x": 9027.08984375, "y": -2748.462646484375}, {"x": 9027.091796875, "y": -2748.452392578125}, {"x": 9027.09375, "y": -2748.451904296875}, {"x": 9027.09375, "y": -2748.443115234375}, {"x": 9027.0859375, "y": -2748.430419921875}, {"x": 9027.0859375, "y": -2748.429931640625}, {"x": 9027.0859375, "y": -2748.429931640625}, {"x": 9027.078125, "y": -2748.425048828125}, {"x": 9027.072265625, "y": -2748.431640625}, {"x": 9027.0654296875, "y": -2748.417724609375}, {"x": 9027.0712890625, "y": -2748.416259765625}, {"x": 9027.0625, "y": -2748.426513671875}, {"x": 9027.064453125, "y": -2748.416259765625}, {"x": 9027.05859375, "y": -2748.417236328125}, {"x": 9027.06640625, "y": -2748.428466796875}, {"x": 9027.0634765625, "y": -2748.428466796875}, {"x": 9027.0654296875, "y": -2748.421630859375}, {"x": 9027.060546875, "y": -2748.430419921875}, {"x": 9027.064453125, "y": -2748.4404296875}, {"x": 9027.0576171875, "y": -2748.44970703125}, {"x": 9027.052734375, "y": -2748.46044921875}, {"x": 9027.0517578125, "y": -2748.46435546875}, {"x": 9027.048828125, "y": -2748.47119140625}, {"x": 9027.0439453125, "y": -2748.477294921875}, {"x": 9027.03125, "y": -2748.484375}, {"x": 9027.03125, "y": -2748.47998046875}, {"x": 9027.0283203125, "y": -2748.487548828125}, {"x": 9027.0341796875, "y": -2748.490234375}, {"x": 9027.029296875, "y": -2748.497314453125}, {"x": 9027.029296875, "y": -2748.49755859375}, {"x": 9027.021484375, "y": -2748.507080078125}, {"x": 9027.013671875, "y": -2748.50146484375}, {"x": 9027.0166015625, "y": -2748.50927734375}, {"x": 9027.0087890625, "y": -2748.51806640625}, {"x": 9027.013671875, "y": -2748.513916015625}, {"x": 9027.0107421875, "y": -2748.51416015625}, {"x": 9027.0078125, "y": -2748.5224609375}, {"x": 9027.0048828125, "y": -2748.52978515625}, {"x": 9027.001953125, "y": -2748.528564453125}], "width": 0.9541192650794983, "length": 0.9278106689453125, "heading": [6.308257276378464, -10000.0, 12.549341349817146, 3.5876115030625577, 7.228573613732085, 0.11501825118889909, 15.184480411800488, 3.1397154449366247, 19.462147634256727, 8.593913914665647, 356.0414509410267, 16.512525318544842, 15.581208534646093, 12.912677531584206, 7.465325045837652, 0.3512321260624449, -6.900958040663722, -4.786214506638238, -16.250264837436568, -7.8416659077844155, -13.462582891851103, -9.303984649648404, -6.713421109735859, -9.590581094769432, -3.4707523024489286, -8.556210416673531, -3.2217225380932057, -10.485803743999249, -2.029042802631807, -1.7907701593320313, -3.200645641531604, -0.44069490430662395, 1.5439119682455495, -1.423063830434927, -1.2122529231885397, 0.2804392430276726, 2.6223350186105057, -0.34346774844087424, 1.7580698816286546, -1.8620502269536958, 0.1760950834076225, -1.9672323654075419, -0.8133824688210772, 0.08803238722159028, 0.23792515742575135, 1.3889507707904158, 2.711820955464839, 2.2499274918520227, 2.9331940032107107, 3.293214128135729, 4.028216761136325, 5.029002118422804, 6.9737243147601, 4.1187210365072255, 3.192062014735602, 2.7114563941178895, 3.7563854774535725, 2.5724904324818683, 4.3963835941938765, 8.960412474018423, 11.209769645074749, 4.680262904685708, 4.200793870234568, 6.063489763508241, 0.4485835593545771, 0.34351038376233395, 5.567661145334451, 1.6768312914754058, -3.385062456669241, -3.1199851628585735, -12.507157247729502, -17.675496505881036, -18.927774124162436, -18.426142833401897, -22.66100013768779, -22.768010418961673, -23.37657344382064, -24.145531508506306, -23.18421482622557, -18.224256101914662, -19.670068837875668, -20.74060707517408, -20.102786935005366, -18.812787889485275, -20.43647582690634, -21.27359234931956, -21.175439115851894, -22.389506948368954, -20.48238665095987, -17.667959392131927, -19.07455318187872], "velocity": [{"x": 0.341796875, "y": -0.1708984375}, {"x": -10000.0, "y": -10000.0}, {"x": -1.455078125, "y": 3.21044921875}, {"x": 0.01953125, "y": 0.029296875}, {"x": 0.44921875, "y": -0.3955078125}, {"x": 1.3671875, "y": -2.49755859375}, {"x": -1.93359375, "y": 3.27880859375}, {"x": 0.068359375, "y": 0.15869140625}, {"x": -0.205078125, "y": 0.07080078125}, {"x": 0.0390625, "y": 0.23681640625}, {"x": -0.205078125, "y": 0.12939453125}, {"x": 0.029296875, "y": 0.0732421875}, {"x": -0.01953125, "y": 0.17333984375}, {"x": 0.009765625, "y": 0.1513671875}, {"x": 0.078125, "y": 0.37353515625}, {"x": -0.15625, "y": 0.26611328125}, {"x": 0.048828125, "y": 0.13427734375}, {"x": 0.126953125, "y": -0.04638671875}, {"x": -0.15625, "y": -0.12451171875}, {"x": 0.17578125, "y": 0.1806640625}, {"x": -0.1171875, "y": -0.087890625}, {"x": 0.09765625, "y": 0.18310546875}, {"x": -0.078125, "y": -0.0439453125}, {"x": 0.029296875, "y": -0.00732421875}, {"x": 0.029296875, "y": 0.05859375}, {"x": 0.0390625, "y": -0.0537109375}, {"x": -0.009765625, "y": -0.03173828125}, {"x": 0.087890625, "y": -0.0439453125}, {"x": -0.048828125, "y": -0.087890625}, {"x": -0.009765625, "y": 0.029296875}, {"x": 0.0390625, "y": -0.05615234375}, {"x": -0.009765625, "y": 0.02197265625}, {"x": -0.029296875, "y": 0.0244140625}, {"x": 0.029296875, "y": 0.0439453125}, {"x": -0.0390625, "y": 0.01220703125}, {"x": 0.009765625, "y": -0.04638671875}, {"x": 0.05859375, "y": -0.0537109375}, {"x": -0.0390625, "y": 0.0830078125}, {"x": 0.048828125, "y": -0.068359375}, {"x": -0.068359375, "y": 0.02685546875}, {"x": 0.01953125, "y": 0.00244140625}, {"x": 0.009765625, "y": -0.01953125}, {"x": -0.048828125, "y": -0.02685546875}, {"x": -0.0, "y": -0.0390625}, {"x": 0.009765625, "y": 0.00244140625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.048828125, "y": 0.00732421875}, {"x": 0.009765625, "y": 0.05126953125}, {"x": -0.01953125, "y": -0.0146484375}, {"x": -0.01953125, "y": 0.09033203125}, {"x": -0.01953125, "y": 0.087890625}, {"x": -0.0, "y": -0.13427734375}, {"x": 0.01953125, "y": 0.1416015625}, {"x": 0.01953125, "y": 0.1025390625}, {"x": 0.01953125, "y": 0.0048828125}, {"x": -0.0, "y": 0.087890625}, {"x": -0.078125, "y": 0.126953125}, {"x": -0.0, "y": 0.0048828125}, {"x": -0.0, "y": -0.0}, {"x": -0.078125, "y": 0.048828125}, {"x": -0.05859375, "y": -0.06591796875}, {"x": -0.068359375, "y": 0.13916015625}, {"x": 0.05859375, "y": 0.0146484375}, {"x": -0.087890625, "y": -0.1025390625}, {"x": 0.01953125, "y": 0.1025390625}, {"x": -0.05859375, "y": -0.009765625}, {"x": 0.078125, "y": -0.1123046875}, {"x": -0.029296875, "y": -0.0}, {"x": 0.01953125, "y": 0.068359375}, {"x": -0.048828125, "y": -0.087890625}, {"x": 0.0390625, "y": -0.10009765625}, {"x": -0.068359375, "y": -0.0927734375}, {"x": -0.048828125, "y": -0.107421875}, {"x": -0.009765625, "y": -0.0390625}, {"x": -0.029296875, "y": -0.068359375}, {"x": -0.048828125, "y": -0.06103515625}, {"x": -0.126953125, "y": -0.07080078125}, {"x": -0.0, "y": 0.0439453125}, {"x": -0.029296875, "y": -0.07568359375}, {"x": 0.05859375, "y": -0.02685546875}, {"x": -0.048828125, "y": -0.07080078125}, {"x": -0.0, "y": -0.00244140625}, {"x": -0.078125, "y": -0.09521484375}, {"x": -0.078125, "y": 0.05615234375}, {"x": 0.029296875, "y": -0.078125}, {"x": -0.078125, "y": -0.087890625}, {"x": 0.048828125, "y": 0.04150390625}, {"x": -0.029296875, "y": -0.00244140625}, {"x": -0.029296875, "y": -0.0830078125}, {"x": -0.029296875, "y": -0.0732421875}, {"x": -0.029296875, "y": 0.01220703125}], "valid": [true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9027.001953125, "y": -2748.528564453125}, "type": "pedestrian"}, {"position": [{"x": 9050.41261526267, "y": -2718.300911590329}, {"x": 9050.122931122582, "y": -2718.536341476303}, {"x": 9049.835324995202, "y": -2718.7694254514968}, {"x": 9049.552676328063, "y": -2719.001095111232}, {"x": 9049.273052551604, "y": -2719.230002077548}, {"x": 9048.997578819744, "y": -2719.4580240412306}, {"x": 9048.722462822305, "y": -2719.685687407636}, {"x": 9048.445426215261, "y": -2719.9117721122725}, {"x": 9048.173643375252, "y": -2720.1418718795026}, {"x": 9047.901682733496, "y": -2720.367496557007}, {"x": 9047.630235656874, "y": -2720.5891485081966}, {"x": 9047.360873526924, "y": -2720.8154591598795}, {"x": 9047.089556779585, "y": -2721.0371616697316}, {"x": 9046.82368220551, "y": -2721.2609184181433}, {"x": 9046.56114571281, "y": -2721.48011541951}, {"x": 9046.30093875212, "y": -2721.6985050216604}, {"x": 9046.04114058198, "y": -2721.9170799701333}, {"x": 9045.77950096327, "y": -2722.136123558335}, {"x": 9045.515755678136, "y": -2722.3593586499783}, {"x": 9045.253148801885, "y": -2722.5810978051027}, {"x": 9044.990285669663, "y": -2722.803489750548}, {"x": 9044.72068121195, "y": -2723.0295993712175}, {"x": 9044.445815859766, "y": -2723.261852907281}, {"x": 9044.16342901741, "y": -2723.4965952798293}, {"x": 9043.877558365411, "y": -2723.738215317628}, {"x": 9043.588376893094, "y": -2723.980856340064}, {"x": 9043.297479047571, "y": -2724.2268356533195}, {"x": 9043.00285456308, "y": -2724.475928111936}, {"x": 9042.701481469076, "y": -2724.727496804128}, {"x": 9042.397947798323, "y": -2724.986144338528}, {"x": 9042.090122974234, "y": -2725.2461466662717}, {"x": 9041.782290060784, "y": -2725.5067214974806}, {"x": 9041.476459227697, "y": -2725.766768534353}, {"x": 9041.169952479653, "y": -2726.0257960140675}, {"x": 9040.864425600053, "y": -2726.2857508627926}, {"x": 9040.558598869298, "y": -2726.544860845128}, {"x": 9040.254175846378, "y": -2726.8037844672995}, {"x": 9039.949398589648, "y": -2727.063669304543}, {"x": 9039.646222359872, "y": -2727.3225879254824}, {"x": 9039.344418134837, "y": -2727.5808362178686}, {"x": 9039.044826129279, "y": -2727.839637432722}, {"x": 9038.744532957666, "y": -2728.097790872204}, {"x": 9038.443481297176, "y": -2728.3592208999275}, {"x": 9038.142310935153, "y": -2728.6204809377846}, {"x": 9037.841151710594, "y": -2728.883992507902}, {"x": 9037.537915209688, "y": -2729.1498877733197}, {"x": 9037.232531456511, "y": -2729.417472545977}, {"x": 9036.926386883255, "y": -2729.6894780924804}, {"x": 9036.618407068956, "y": -2729.962798989444}, {"x": 9036.308855735668, "y": -2730.23895498391}, {"x": 9035.997722505374, "y": -2730.5178099317127}, {"x": 9035.686128246893, "y": -2730.7973352747968}, {"x": 9035.376549827446, "y": -2731.077750125218}, {"x": 9035.06596458621, "y": -2731.358417158373}, {"x": 9034.755685840928, "y": -2731.6400367611805}, {"x": 9034.447485816485, "y": -2731.920792755657}, {"x": 9034.140451521478, "y": -2732.20119731853}, {"x": 9033.833757595, "y": -2732.480562450198}, {"x": 9033.527124148663, "y": -2732.76141392341}, {"x": 9033.219001843045, "y": -2733.0429615978883}, {"x": 9032.9105403566, "y": -2733.326035547073}, {"x": 9032.599126882513, "y": -2733.611122462235}, {"x": 9032.285762974738, "y": -2733.897781604348}, {"x": 9031.96998672291, "y": -2734.1881556755557}, {"x": 9031.65169371649, "y": -2734.4808028319753}, {"x": 9031.330857548428, "y": -2734.7748549544604}, {"x": 9031.007778657751, "y": -2735.0721331138325}, {"x": 9030.681790499495, "y": -2735.3707155624693}, {"x": 9030.354054230726, "y": -2735.6722494005876}, {"x": 9030.02326109493, "y": -2735.9761186892897}, {"x": 9029.692109753727, "y": -2736.2807460877048}, {"x": 9029.359678926046, "y": -2736.586640544493}, {"x": 9029.025397832545, "y": -2736.895066209317}, {"x": 9028.688540783862, "y": -2737.2046609644703}, {"x": 9028.351703373812, "y": -2737.515177552283}, {"x": 9028.015606732088, "y": -2737.825455442589}, {"x": 9027.679214557571, "y": -2738.1350692680703}, {"x": 9027.342742290959, "y": -2738.4437135937783}, {"x": 9027.008420711241, "y": -2738.750867239769}, {"x": 9026.675243973681, "y": -2739.058055766962}, {"x": 9026.343479604726, "y": -2739.3640791745306}, {"x": 9026.013347543103, "y": -2739.669142884558}, {"x": 9025.683930952007, "y": -2739.97251837709}, {"x": 9025.355623828636, "y": -2740.2751701656734}, {"x": 9025.029097262035, "y": -2740.5769624034833}, {"x": 9024.704598873408, "y": -2740.877975170262}, {"x": 9024.38085051139, "y": -2741.177467179031}, {"x": 9024.05802933813, "y": -2741.4759415683893}, {"x": 9023.736592808003, "y": -2741.774001274035}, {"x": 9023.416687035859, "y": -2742.0696596538824}, {"x": 9023.098706930134, "y": -2742.3646567795026}], "width": 2.3320000171661377, "length": 5.285999774932861, "heading": [-141.3493715148232, -141.26723165986462, -141.1795456913, -141.06407451319177, -140.96365707201423, -140.88397608515686, -140.8055245323501, -140.7168276957883, -140.65804708779118, -140.5895539507943, -140.52685281421358, -140.51205862447134, -140.46573628152032, -140.37373363340024, -140.29015943871596, -140.24714290732322, -140.19980969637504, -140.11336682223936, -140.026937608482, -139.99430296462768, -140.00296364449525, -140.00982115442196, -140.00991677707034, -139.99474009673457, -139.95658666003087, -139.92811843157025, -139.93233948847734, -139.93221654507227, -139.90516899595903, -139.88358559818178, -139.86216612494462, -139.83464046258948, -139.80115887527808, -139.78449321370323, -139.7517492868222, -139.72445585089883, -139.70791313272906, -139.68026452696884, -139.6362507879573, -139.581281425517, -139.52636670459012, -139.44410390622647, -139.3396429930603, -139.245782533486, -139.15765943281448, -139.04763874566393, -138.92122560450534, -138.7947714822117, -138.6737405301191, -138.55817372936247, -138.44803009880684, -138.3437877516941, -138.23970932912147, -138.13553528390042, -138.03651120131357, -137.93196832587736, -137.8498011501621, -137.79518695755868, -137.74585933137286, -137.68558974213667, -137.63108483255996, -137.5820850554543, -137.54398626026395, -137.50558693675015, -137.48356640686603, -137.4672422547497, -137.44554957394573, -137.4348534977055, -137.43488081846218, -137.4347168939221, -137.41269636403797, -137.3907987775589, -137.36920171940332, -137.35279560501695, -137.3472085102759, -137.3526316804769, -137.36913341751162, -137.36924270053834, -137.35827341673132, -137.34159409477815, -137.33580209436195, -137.34129356645465, -137.33599333965873, -137.30882284714042, -137.28689793990466, -137.275983297611, -137.2593312964145, -137.2372834457737, -137.21003099098536, -137.17738268675268, -137.15547143989528], "velocity": [{"x": -2.9188003540039062, "y": -2.3613481521606445}, {"x": -2.8878653049468994, "y": -2.343716859817505}, {"x": -2.852853536605835, "y": -2.3250560760498047}, {"x": -2.813525676727295, "y": -2.304655075073242}, {"x": -2.777534246444702, "y": -2.2863266468048096}, {"x": -2.754340171813965, "y": -2.279578447341919}, {"x": -2.7616729736328125, "y": -2.2694904804229736}, {"x": -2.744535446166992, "y": -2.2812857627868652}, {"x": -2.7191121578216553, "y": -2.2789530754089355}, {"x": -2.7169995307922363, "y": -2.236353874206543}, {"x": -2.7040178775787354, "y": -2.239795207977295}, {"x": -2.7028653621673584, "y": -2.239638566970825}, {"x": -2.6853551864624023, "y": -2.2268083095550537}, {"x": -2.6418468952178955, "y": -2.2145957946777344}, {"x": -2.613130569458008, "y": -2.1874420642852783}, {"x": -2.5994393825531006, "y": -2.1843299865722656}, {"x": -2.606956958770752, "y": -2.187896966934204}, {"x": -2.6266872882843018, "y": -2.211191415786743}, {"x": -2.63153338432312, "y": -2.2246785163879395}, {"x": -2.6275999546051025, "y": -2.2208666801452637}, {"x": -2.6625399589538574, "y": -2.242678165435791}, {"x": -2.7221405506134033, "y": -2.2916390895843506}, {"x": -2.7861404418945312, "y": -2.3348753452301025}, {"x": -2.8416731357574463, "y": -2.3821356296539307}, {"x": -2.8756470680236816, "y": -2.421630859375}, {"x": -2.9008595943450928, "y": -2.4434921741485596}, {"x": -2.928109645843506, "y": -2.4757797718048096}, {"x": -2.980931282043457, "y": -2.5040955543518066}, {"x": -3.0255160331726074, "y": -2.5519051551818848}, {"x": -3.0566821098327637, "y": -2.5931577682495117}, {"x": -3.0782294273376465, "y": -2.6028361320495605}, {"x": -3.0689470767974854, "y": -2.603642463684082}, {"x": -3.0622053146362305, "y": -2.595811605453491}, {"x": -3.059986114501953, "y": -2.5947556495666504}, {"x": -3.056662082672119, "y": -2.5952329635620117}, {"x": -3.051692008972168, "y": -2.5905442237854004}, {"x": -3.0459096431732178, "y": -2.593963623046875}, {"x": -3.0397074222564697, "y": -2.593966484069824}, {"x": -3.025913953781128, "y": -2.586699962615967}, {"x": -3.0080795288085938, "y": -2.5861899852752686}, {"x": -3.000058174133301, "y": -2.585318088531494}, {"x": -3.0072646141052246, "y": -2.598383665084839}, {"x": -3.011547327041626, "y": -2.6138298511505127}, {"x": -3.0120997428894043, "y": -2.6242516040802}, {"x": -3.023036003112793, "y": -2.647960901260376}, {"x": -3.044194459915161, "y": -2.66835880279541}, {"x": -3.0585455894470215, "y": -2.69875168800354}, {"x": -3.071528196334839, "y": -2.7274370193481445}, {"x": -3.088104009628296, "y": -2.7477831840515137}, {"x": -3.1038403511047363, "y": -2.775428056716919}, {"x": -3.1141045093536377, "y": -2.7923202514648438}, {"x": -3.106842517852783, "y": -2.8005857467651367}, {"x": -3.101811408996582, "y": -2.8063085079193115}, {"x": -3.1053740978240967, "y": -2.8123888969421387}, {"x": -3.093552589416504, "y": -2.8129308223724365}, {"x": -3.0768494606018066, "y": -2.8064210414886475}, {"x": -3.069302558898926, "y": -2.7994518280029297}, {"x": -3.067188262939453, "y": -2.801586389541626}, {"x": -3.0742545127868652, "y": -2.8124308586120605}, {"x": -3.0833518505096436, "y": -2.8235044479370117}, {"x": -3.0997772216796875, "y": -2.841172933578491}, {"x": -3.123776435852051, "y": -2.8586294651031494}, {"x": -3.1454994678497314, "y": -2.8849825859069824}, {"x": -3.170788526535034, "y": -2.9155125617980957}, {"x": -3.1963160037994385, "y": -2.9341113567352295}, {"x": -3.220720052719116, "y": -2.9577035903930664}, {"x": -3.2464394569396973, "y": -2.9803175926208496}, {"x": -3.269162654876709, "y": -3.00107741355896}, {"x": -3.293074131011963, "y": -3.0274083614349365}, {"x": -3.3100688457489014, "y": -3.042801856994629}, {"x": -3.3182780742645264, "y": -3.0529472827911377}, {"x": -3.3345940113067627, "y": -3.072554349899292}, {"x": -3.356760263442993, "y": -3.091088056564331}, {"x": -3.368997573852539, "y": -3.1010401248931885}, {"x": -3.365226984024048, "y": -3.1044859886169434}, {"x": -3.362443208694458, "y": -3.0994584560394287}, {"x": -3.3642373085021973, "y": -3.091212034225464}, {"x": -3.353818416595459, "y": -3.0788509845733643}, {"x": -3.336973190307617, "y": -3.0712342262268066}, {"x": -3.3240911960601807, "y": -3.065493106842041}, {"x": -3.3087708950042725, "y": -3.054779052734375}, {"x": -3.297266960144043, "y": -3.0417563915252686}, {"x": -3.2880613803863525, "y": -3.029623031616211}, {"x": -3.2734148502349854, "y": -3.021524429321289}, {"x": -3.254228115081787, "y": -3.0131945610046387}, {"x": -3.2409889698028564, "y": -3.002296209335327}, {"x": -3.232736110687256, "y": -2.9897289276123047}, {"x": -3.2211599349975586, "y": -2.9825520515441895}, {"x": -3.207322120666504, "y": -2.9691553115844727}, {"x": -3.18949556350708, "y": -2.9533376693725586}, {"x": -3.1708626747131348, "y": -2.9482805728912354}], "valid": [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true], "goalPosition": {"x": 9023.098706930134, "y": -2742.3646567795026}, "type": "vehicle"}], "roads": [{"geometry": [{"x": 8922.911733810946, "y": -2849.426741530589}, {"x": 8923.216436260553, "y": -2849.038518766975}, {"x": 8923.50673911804, "y": -2848.63941352788}, {"x": 8923.782254084921, "y": -2848.2299596442986}, {"x": 8924.042612639492, "y": -2847.8107047886665}, {"x": 8924.287466537296, "y": -2847.382209743547}, {"x": 8924.516488266596, "y": -2846.945047650609}, {"x": 8924.729371495881, "y": -2846.49980324385}, {"x": 8924.91688626026, "y": -2846.067714357487}, {"x": 8925.087545312272, "y": -2845.6286986979553}, {"x": 8925.240661004764, "y": -2845.183259924674}, {"x": 8925.376809925383, "y": -2844.7323408082657}, {"x": 8925.497749127617, "y": -2844.277099008468}, {"x": 8925.60630100922, "y": -2843.8187373911555}, {"x": 8925.706212392251, "y": -2843.3584082005345}, {"x": 8925.801996300912, "y": -2842.897198744867}, {"x": 8925.898763025483, "y": -2842.436195527809}, {"x": 8926.002042096903, "y": -2841.976614570279}, {"x": 8926.117591192025, "y": -2841.5199781607416}, {"x": 8926.256412182003, "y": -2841.048217295736}, {"x": 8926.414396516579, "y": -2840.582522789236}, {"x": 8926.5910006025, "y": -2840.1235650229128}, {"x": 8926.785662955135, "y": -2839.6719694221156}, {"x": 8926.997807133803, "y": -2839.2283168302015}, {"x": 8927.226844546032, "y": -2838.7931440247107}, {"x": 8927.472177128691, "y": -2838.3669443769722}, {"x": 8927.733199890094, "y": -2837.950168630705}, {"x": 8928.00930331307, "y": -2837.543225794098}, {"x": 8928.299875632287, "y": -2837.146484127246}, {"x": 8928.604304967213, "y": -2836.7602722186384}, {"x": 8928.92198131345, "y": -2836.384880134934}, {"x": 8929.255388330705, "y": -2836.017428651808}, {"x": 8929.601483286986, "y": -2835.66190340988}, {"x": 8929.95988635749, "y": -2835.318789306494}, {"x": 8930.329877315087, "y": -2834.988201078895}, {"x": 8930.710290671164, "y": -2834.6696551631303}, {"x": 8931.099436058783, "y": -2834.3618279676325}, {"x": 8931.495025766802, "y": -2834.062316267466}, {"x": 8931.894075829534, "y": -2833.767421962158}, {"x": 8932.2862172446, "y": -2833.4784192501907}, {"x": 8932.678069378791, "y": -2833.189024418896}, {"x": 8933.069631840199, "y": -2832.899237757492}, {"x": 8933.460904236917, "y": -2832.609059557559}, {"x": 8933.851886178363, "y": -2832.3184901083146}, {"x": 8934.242577271301, "y": -2832.0275297005523}, {"x": 8934.632977126475, "y": -2831.7361786250653}, {"x": 8935.0230853533, "y": -2831.4444371742225}, {"x": 8935.412901559868, "y": -2831.152305639606}, {"x": 8935.802425358243, "y": -2830.859784313584}, {"x": 8936.191656356517, "y": -2830.566873488527}, {"x": 8936.580594166757, "y": -2830.27357345838}, {"x": 8936.9692383997, "y": -2829.979884515512}, {"x": 8937.357588666087, "y": -2829.685806953869}, {"x": 8937.745644576662, "y": -2829.3913410681844}, {"x": 8938.133405744808, "y": -2829.096487153192}, {"x": 8938.520871781267, "y": -2828.8012455036246}, {"x": 8938.908042298104, "y": -2828.505616415004}, {"x": 8939.294916910032, "y": -2828.2096001836408}, {"x": 8939.681495226467, "y": -2827.9131971050556}, {"x": 8940.067776863443, "y": -2827.6164074755584}, {"x": 8940.453761433026, "y": -2827.3192315922465}, {"x": 8940.839448549928, "y": -2827.0216697537944}, {"x": 8941.22483782754, "y": -2826.7237222557233}, {"x": 8941.60992888057, "y": -2826.425389398283}, {"x": 8941.994721323734, "y": -2826.126671478572}, {"x": 8942.379214773064, "y": -2825.8275687960513}, {"x": 8942.763408840628, "y": -2825.5280816501827}, {"x": 8943.14730314511, "y": -2825.2282103404286}, {"x": 8943.530897301222, "y": -2824.927955166251}], "type": "road_edge"}, {"geometry": [{"x": 8980.407229874987, "y": -2837.4052451854986}, {"x": 8980.729523384316, "y": -2837.7702501698705}, {"x": 8981.051849730484, "y": -2838.1352261560874}, {"x": 8981.374208912164, "y": -2838.500173140997}, {"x": 8981.69660092936, "y": -2838.8650911182954}, {"x": 8982.019025782067, "y": -2839.229980084042}, {"x": 8982.34148346764, "y": -2839.594840034297}, {"x": 8982.663973986078, "y": -2839.9596709635425}, {"x": 8982.98649733606, "y": -2840.32447286784}, {"x": 8983.309053516257, "y": -2840.68924574246}, {"x": 8983.631642526672, "y": -2841.0539895850393}, {"x": 8983.954264364658, "y": -2841.4187043892725}, {"x": 8984.27691902889, "y": -2841.7833901535837}, {"x": 8984.59960651804, "y": -2842.1480468724567}, {"x": 8984.922326829466, "y": -2842.512674542739}, {"x": 8985.24507996184, "y": -2842.8772731604913}, {"x": 8985.567865913841, "y": -2843.24184272256}, {"x": 8985.89068468282, "y": -2843.6063832257933}, {"x": 8986.213536266127, "y": -2843.9708946654637}, {"x": 8986.536420663762, "y": -2844.3353770392055}, {"x": 8986.859337870432, "y": -2844.6998303438677}, {"x": 8987.182287886135, "y": -2845.064254576298}, {"x": 8987.505270708223, "y": -2845.428649731767}, {"x": 8987.82828633405, "y": -2845.7930158087}, {"x": 8988.151334760965, "y": -2846.157352803944}, {"x": 8988.47441598632, "y": -2846.5216607135585}, {"x": 8988.797530008795, "y": -2846.885939534392}, {"x": 8989.120676824414, "y": -2847.2501892640794}, {"x": 8989.44385643053, "y": -2847.614409900257}, {"x": 8989.767068825817, "y": -2847.978601438197}, {"x": 8990.090314007632, "y": -2848.342763876323}, {"x": 8990.413591972, "y": -2848.7068972114816}, {"x": 8990.71697958172, "y": -2849.0522347247647}, {"x": 8991.01012477262, "y": -2849.4062708759425}, {"x": 8991.284422087441, "y": -2849.7750547997334}, {"x": 8991.5328188842, "y": -2850.1617172148535}, {"x": 8991.749833957096, "y": -2850.5667989636454}, {"x": 8991.931706767298, "y": -2850.9888169343494}, {"x": 8992.076507386313, "y": -2851.4249493055445}, {"x": 8992.18411262668, "y": -2851.871727705788}, {"x": 8992.256023888285, "y": -2852.3256395796116}, {"x": 8992.295052718599, "y": -2852.7835743683895}, {"x": 8992.30492484551, "y": -2853.24308531646}, {"x": 8992.287658407207, "y": -2853.728183769958}, {"x": 8992.243512971074, "y": -2854.2115819025385}, {"x": 8992.173500685196, "y": -2854.6919199326667}, {"x": 8992.07869159276, "y": -2855.16798840158}, {"x": 8991.960199150006, "y": -2855.6387249997774}, {"x": 8991.823143746777, "y": -2856.0898704605083}, {"x": 8991.663723576097, "y": -2856.5335997887414}, {"x": 8991.481062424933, "y": -2856.9682718955437}, {"x": 8991.274630677637, "y": -2857.3921660335454}, {"x": 8991.044344661903, "y": -2857.8035850671586}, {"x": 8990.790641722942, "y": -2858.200990766301}, {"x": 8990.514525239903, "y": -2858.5831662936266}, {"x": 8990.217576911393, "y": -2858.9493973994513}, {"x": 8989.90193884158, "y": -2859.29966064379}, {"x": 8989.57027499951, "y": -2859.634804885231}, {"x": 8989.225730165457, "y": -2859.956711340156}, {"x": 8988.87191347078, "y": -2860.2684171840583}, {"x": 8988.512942188334, "y": -2860.5741863853086}, {"x": 8988.155166176839, "y": -2860.8763561241017}, {"x": 8987.79693746556, "y": -2861.1779890254616}, {"x": 8987.438256859497, "y": -2861.4790844124473}, {"x": 8987.079125167622, "y": -2861.779641607329}, {"x": 8986.719543194937, "y": -2862.079659933953}, {"x": 8986.359511750408, "y": -2862.379138717742}, {"x": 8985.99903164566, "y": -2862.6780772856955}, {"x": 8985.638103688341, "y": -2862.9764749656}, {"x": 8985.276728691391, "y": -2863.2743310868186}, {"x": 8984.914907467755, "y": -2863.571644978714}, {"x": 8984.552640830378, "y": -2863.868415973802}, {"x": 8984.189929593527, "y": -2864.164643403809}, {"x": 8983.826774572794, "y": -2864.4603266036147}, {"x": 8983.463176586418, "y": -2864.755464907311}, {"x": 8983.079184890214, "y": -2865.0661826499436}, {"x": 8982.694718817493, "y": -2865.3763132195418}, {"x": 8982.30979582271, "y": -2865.6858764830367}, {"x": 8981.924433270295, "y": -2865.994892377497}, {"x": 8981.53864843861, "y": -2866.3033809156445}, {"x": 8981.152458521286, "y": -2866.6113621763993}, {"x": 8980.765880632509, "y": -2866.918856305665}, {"x": 8980.378931807025, "y": -2867.2258835116018}, {"x": 8979.99162900676, "y": -2867.532464063839}, {"x": 8979.603989122144, "y": -2867.838618288746}, {"x": 8979.216028974757, "y": -2868.1443665662796}, {"x": 8978.827765322629, "y": -2868.449729329985}, {"x": 8978.439214861557, "y": -2868.7547270614787}, {"x": 8978.050394227761, "y": -2869.0593802888725}, {"x": 8977.661320005822, "y": -2869.3637095836216}, {"x": 8977.272008724716, "y": -2869.6677355581596}, {"x": 8976.882476867077, "y": -2869.9714788651127}, {"x": 8976.492740870519, "y": -2870.274960188627}, {"x": 8976.102817128967, "y": -2870.578200249889}, {"x": 8975.714112346279, "y": -2870.880133095421}, {"x": 8975.325232362291, "y": -2871.1818402499302}, {"x": 8974.936172153704, "y": -2871.4833149542474}, {"x": 8974.54692670383, "y": -2871.784550443686}, {"x": 8974.1574910132, "y": -2872.0855399417383}, {"x": 8973.76786009161, "y": -2872.386276662441}, {"x": 8973.378028962095, "y": -2872.686753811162}, {"x": 8972.987992663582, "y": -2872.9869645822355}, {"x": 8972.597746245587, "y": -2873.286902159751}, {"x": 8972.207284774835, "y": -2873.586559716767}, {"x": 8971.816603331301, "y": -2873.885930416095}, {"x": 8971.425697006867, "y": -2874.185007409515}, {"x": 8971.034560914602, "y": -2874.4837838361973}, {"x": 8970.643190178169, "y": -2874.782252825068}, {"x": 8970.25157993844, "y": -2875.0804074924445}, {"x": 8969.8597253535, "y": -2875.3782409428222}, {"x": 8969.467621598651, "y": -2875.6757462688774}, {"x": 8969.075263862427, "y": -2875.9729165490994}, {"x": 8968.682647355878, "y": -2876.2697448509466}, {"x": 8968.28976730461, "y": -2876.5662242284784}, {"x": 8967.896618952773, "y": -2876.8623477215715}, {"x": 8967.503197563046, "y": -2877.158108357491}, {"x": 8967.109498417976, "y": -2877.4534991493197}, {"x": 8966.715516817318, "y": -2877.7485130975297}, {"x": 8966.321248083332, "y": -2878.043143186044}, {"x": 8965.926687555495, "y": -2878.3373823861775}, {"x": 8965.531830595794, "y": -2878.6312236542713}, {"x": 8965.13667258342, "y": -2878.9246599324815}, {"x": 8964.74120892405, "y": -2879.2176841456276}, {"x": 8964.345435040574, "y": -2879.5102892067075}, {"x": 8963.949346378387, "y": -2879.802468010594}, {"x": 8963.552938406721, "y": -2880.094213437975}, {"x": 8963.154134881765, "y": -2880.3870396831767}, {"x": 8962.755005114795, "y": -2880.6794210864227}, {"x": 8962.355550076318, "y": -2880.9713579298377}, {"x": 8961.955770734181, "y": -2881.262850501064}, {"x": 8961.55566805227, "y": -2881.553899086165}, {"x": 8961.155242995786, "y": -2881.8445039759345}, {"x": 8960.754496525968, "y": -2882.1346654627423}, {"x": 8960.353429604043, "y": -2882.424383840533}, {"x": 8959.952043187275, "y": -2882.7136594056174}, {"x": 8959.550338232926, "y": -2883.00249245588}, {"x": 8959.148315696932, "y": -2883.29088329236}, {"x": 8958.745976531258, "y": -2883.578832217671}], "type": "road_edge"}, {"geometry": [{"x": 8967.372871795678, "y": -2812.7612110316154}, {"x": 8967.689356388864, "y": -2812.456598482966}, {"x": 8968.074679708137, "y": -2812.2459613429774}, {"x": 8968.502728808198, "y": -2812.148178882519}, {"x": 8968.941259340492, "y": -2812.1710088822674}, {"x": 8969.358772233914, "y": -2812.3076993168816}, {"x": 8969.73335118131, "y": -2812.53789847561}, {"x": 8970.060082781025, "y": -2812.8327226374886}, {"x": 8970.354283223242, "y": -2813.160484312168}, {"x": 8970.675587545511, "y": -2813.532421770518}, {"x": 8970.997045976233, "y": -2813.9042260416204}, {"x": 8971.318658458476, "y": -2814.2758970624304}, {"x": 8971.640424939276, "y": -2814.64743476754}, {"x": 8971.962345361702, "y": -2815.0188390946914}, {"x": 8972.284419670146, "y": -2815.3901099792647}, {"x": 8972.606647810324, "y": -2815.7612473574272}, {"x": 8972.929029726625, "y": -2816.1322511661347}, {"x": 8973.251565363444, "y": -2816.503121340765}, {"x": 8973.574254665169, "y": -2816.873857818275}, {"x": 8973.897097577517, "y": -2817.244460534832}, {"x": 8974.220094043556, "y": -2817.61492942739}, {"x": 8974.543244010325, "y": -2817.9852644313296}, {"x": 8974.866547418243, "y": -2818.355465482818}, {"x": 8975.190004215674, "y": -2818.725532519598}, {"x": 8975.513614344361, "y": -2819.0954654770494}, {"x": 8975.837377751344, "y": -2819.4652642921274}, {"x": 8976.161294378366, "y": -2819.834928901787}, {"x": 8976.485364171143, "y": -2820.2044592414086}, {"x": 8976.809587074067, "y": -2820.5738552479465}, {"x": 8977.133963031527, "y": -2820.9431168583565}, {"x": 8977.458491986594, "y": -2821.312244008806}, {"x": 8977.78317388498, "y": -2821.6812366354625}, {"x": 8978.108008671079, "y": -2822.050094676069}, {"x": 8978.432996287956, "y": -2822.418818066793}, {"x": 8978.758136680006, "y": -2822.78740674459}, {"x": 8979.08479348757, "y": -2823.1574046324695}, {"x": 8979.411604240731, "y": -2823.5272665473176}, {"x": 8979.738568883882, "y": -2823.8969924260905}, {"x": 8980.065687358765, "y": -2824.2665822033787}, {"x": 8980.392959609773, "y": -2824.636035816138}, {"x": 8980.720385581299, "y": -2825.005353199747}, {"x": 8981.047965213758, "y": -2825.374534291162}, {"x": 8981.37569845287, "y": -2825.7435790257614}, {"x": 8981.7035852417, "y": -2826.1124873389253}, {"x": 8982.03162552199, "y": -2826.4812591683967}, {"x": 8982.359819238134, "y": -2826.8498944487665}, {"x": 8982.6881663332, "y": -2827.218393117779}, {"x": 8983.016666750253, "y": -2827.586755110025}, {"x": 8983.345320431039, "y": -2827.9549803624595}, {"x": 8983.67412732127, "y": -2828.3230688112503}, {"x": 8984.00308736137, "y": -2828.6910203933526}, {"x": 8984.33220049705, "y": -2829.0588350433577}, {"x": 8984.661466668733, "y": -2829.4265126990094}, {"x": 8984.99088582081, "y": -2829.7940532964744}, {"x": 8985.32045789502, "y": -2830.1614567719203}, {"x": 8985.650182837084, "y": -2830.5287230615145}, {"x": 8985.980060586095, "y": -2830.895852101424}, {"x": 8986.31009108777, "y": -2831.262843828605}, {"x": 8986.640274283849, "y": -2831.6296981792243}, {"x": 8986.970610117403, "y": -2831.9964150894493}, {"x": 8987.301098531498, "y": -2832.362994497023}, {"x": 8987.631739467877, "y": -2832.7294363373253}, {"x": 8987.96253286961, "y": -2833.0957405465233}, {"x": 8988.293478681084, "y": -2833.4619070623608}, {"x": 8988.624576842722, "y": -2833.8279358210043}, {"x": 8988.95582729759, "y": -2834.193826758622}, {"x": 8989.287229990081, "y": -2834.5595798121685}, {"x": 8989.618784860613, "y": -2834.925194917812}, {"x": 8989.950491853577, "y": -2835.2906720132955}, {"x": 8990.282350910717, "y": -2835.6560110347864}, {"x": 8990.614361973778, "y": -2836.0212119184516}, {"x": 8990.946524985826, "y": -2836.3862746020354}, {"x": 8991.278839889927, "y": -2836.7511990217045}, {"x": 8991.611306627827, "y": -2837.1159851144143}, {"x": 8991.943925142592, "y": -2837.4806328171207}, {"x": 8992.276695375966, "y": -2837.845142066779}, {"x": 8992.609617269693, "y": -2838.209512799556}, {"x": 8992.942690768163, "y": -2838.573744952407}, {"x": 8993.275915813121, "y": -2838.9378384638644}, {"x": 8993.609292344985, "y": -2839.301793268519}, {"x": 8993.912739633253, "y": -2839.6437097143034}, {"x": 8994.184506893636, "y": -2840.01098011677}, {"x": 8994.394631231435, "y": -2840.4162749287493}, {"x": 8994.515365391775, "y": -2840.8561882449703}, {"x": 8994.52490533318, "y": -2841.3119898446225}, {"x": 8994.41202038982, "y": -2841.753490427808}, {"x": 8994.17905596668, "y": -2842.144997201523}, {"x": 8993.842215110715, "y": -2842.451615815365}, {"x": 8993.43408881685, "y": -2842.644282020142}, {"x": 8992.988005352478, "y": -2842.713763187777}, {"x": 8992.539377425763, "y": -2842.6615342444757}, {"x": 8992.116821252986, "y": -2842.501274745284}, {"x": 8991.736985952884, "y": -2842.2557842992974}, {"x": 8991.40102349987, "y": -2841.9524797402505}, {"x": 8991.09372645418, "y": -2841.619796480486}, {"x": 8990.766647857234, "y": -2841.2537776426993}, {"x": 8990.439568117663, "y": -2840.887759825447}, {"x": 8990.11248723547, "y": -2840.5217430287294}, {"x": 8989.785405211978, "y": -2840.155727253334}, {"x": 8989.458322045863, "y": -2839.7897124976857}, {"x": 8989.131237737125, "y": -2839.42369876336}, {"x": 8988.80415228709, "y": -2839.0576860495685}, {"x": 8988.477065695753, "y": -2838.6916743570996}, {"x": 8988.149977960471, "y": -2838.3256636843776}, {"x": 8987.822889085213, "y": -2837.9596540321895}, {"x": 8987.495799067334, "y": -2837.5936454005364}, {"x": 8987.168707908155, "y": -2837.22763778863}, {"x": 8986.841615607676, "y": -2836.8616311964697}, {"x": 8986.5145221659, "y": -2836.4956256248443}, {"x": 8986.187427582823, "y": -2836.1296210721775}, {"x": 8985.860331859772, "y": -2835.7636175392568}, {"x": 8985.533234996748, "y": -2835.3976150245066}, {"x": 8985.206136995072, "y": -2835.031613528715}, {"x": 8984.87903785342, "y": -2834.6656130510937}, {"x": 8984.551937573118, "y": -2834.2996135908547}, {"x": 8984.224836154164, "y": -2833.933615147998}, {"x": 8983.897733597885, "y": -2833.5676177217356}, {"x": 8983.570629905602, "y": -2833.2016213112793}, {"x": 8983.243525077316, "y": -2832.8356259158413}, {"x": 8982.916419114352, "y": -2832.4696315346337}, {"x": 8982.58931201671, "y": -2832.103638167656}, {"x": 8982.262203787035, "y": -2831.737645812544}, {"x": 8981.935094424005, "y": -2831.3716544700865}, {"x": 8981.60798393027, "y": -2831.0056641379183}, {"x": 8981.280872308474, "y": -2830.639674815252}, {"x": 8980.953759557298, "y": -2830.2736865005113}, {"x": 8980.626645679386, "y": -2829.9076991936963}, {"x": 8980.299530676062, "y": -2829.541712892443}, {"x": 8979.972414549977, "y": -2829.175727595175}, {"x": 8979.64529730113, "y": -2828.809743300316}, {"x": 8979.31817893349, "y": -2828.4437600070783}, {"x": 8978.99105944706, "y": -2828.0777777130975}], "type": "road_edge"}, {"geometry": [{"x": 8978.99105944706, "y": -2828.0777777130975}, {"x": 8978.663615887352, "y": -2827.7114345108102}, {"x": 8978.336171210176, "y": -2827.3450923069922}, {"x": 8978.00872541421, "y": -2826.978751103219}, {"x": 8977.681278500779, "y": -2826.612410899491}, {"x": 8977.353830468555, "y": -2826.246071694232}, {"x": 8977.026381318865, "y": -2825.879733489018}, {"x": 8976.698931050385, "y": -2825.513396283061}, {"x": 8976.371479663114, "y": -2825.147060077149}, {"x": 8976.044027158376, "y": -2824.7807248697063}, {"x": 8975.71657353617, "y": -2824.414390663096}, {"x": 8975.389118795176, "y": -2824.048057454955}, {"x": 8975.061662936714, "y": -2823.6817252468595}, {"x": 8974.734205959461, "y": -2823.3153940380207}, {"x": 8974.406747863417, "y": -2822.9490638284387}, {"x": 8974.079288649908, "y": -2822.582734618114}, {"x": 8973.751828318931, "y": -2822.2164064078343}, {"x": 8973.424366869163, "y": -2821.8500791976}, {"x": 8973.096904300604, "y": -2821.483752985834}, {"x": 8972.769440615904, "y": -2821.1174277741134}, {"x": 8972.441975811089, "y": -2820.75110356165}, {"x": 8972.114509888806, "y": -2820.3847803492313}, {"x": 8971.787042849059, "y": -2820.01845813607}, {"x": 8971.459574690518, "y": -2819.6521369221655}, {"x": 8971.132105414512, "y": -2819.285816708306}, {"x": 8970.804635019716, "y": -2818.9194974937036}, {"x": 8970.477163506128, "y": -2818.553179279146}, {"x": 8970.149690876398, "y": -2818.1868620630576}, {"x": 8969.822217126553, "y": -2817.8205458478024}, {"x": 8969.494742260566, "y": -2817.4542306310163}, {"x": 8969.167266274464, "y": -2817.087916414275}, {"x": 8968.839789172218, "y": -2816.7216031975786}, {"x": 8968.512310951182, "y": -2816.3552909793516}, {"x": 8968.184831611357, "y": -2815.9889797611695}, {"x": 8967.857351154064, "y": -2815.6226695430323}, {"x": 8967.558863455632, "y": -2815.276324911074}, {"x": 8967.296097478, "y": -2814.902538116423}, {"x": 8967.100790303402, "y": -2814.489896832296}, {"x": 8966.999520554895, "y": -2814.0450537785346}, {"x": 8967.009722378167, "y": -2813.589126964413}, {"x": 8967.136549510971, "y": -2813.151153661551}, {"x": 8967.372871795678, "y": -2812.7612110316154}], "type": "road_edge"}, {"geometry": [{"x": 8984.96319920969, "y": -2822.0332238818487}, {"x": 8984.635434988682, "y": -2821.6629241639753}, {"x": 8984.307722161875, "y": -2821.2925789602064}, {"x": 8983.980060725293, "y": -2820.922188287091}, {"x": 8983.65245067629, "y": -2820.551752160391}, {"x": 8983.324892013543, "y": -2820.1812705935026}, {"x": 8982.997384734403, "y": -2819.810743601399}, {"x": 8982.669928837544, "y": -2819.4401711982655}, {"x": 8982.342524322969, "y": -2819.0695533959224}, {"x": 8982.01517118935, "y": -2818.698890208556}, {"x": 8981.687869438018, "y": -2818.3281816487734}, {"x": 8981.360619068966, "y": -2817.957427728397}, {"x": 8981.03342008352, "y": -2817.586628458459}, {"x": 8980.70627248433, "y": -2817.21578385078}, {"x": 8980.379176271395, "y": -2816.8448939156056}, {"x": 8980.052131447363, "y": -2816.4739586655437}, {"x": 8979.725138016205, "y": -2816.102978109264}, {"x": 8979.398195979245, "y": -2815.73195225701}, {"x": 8979.071305340458, "y": -2815.3608811182394}, {"x": 8978.744466103812, "y": -2814.9897647039847}, {"x": 8978.417678273281, "y": -2814.6186030213385}, {"x": 8978.090941851515, "y": -2814.247396080545}, {"x": 8977.76425684513, "y": -2813.8761438902734}, {"x": 8977.437623258102, "y": -2813.5048464584042}, {"x": 8977.111041095723, "y": -2813.133503794394}, {"x": 8976.784510360643, "y": -2812.7621159045475}, {"x": 8976.458031062131, "y": -2812.390682798321}, {"x": 8976.131603201511, "y": -2812.0192044835953}, {"x": 8975.80522678805, "y": -2811.6476809666747}, {"x": 8975.478901824396, "y": -2811.2761122562283}, {"x": 8975.152628319818, "y": -2810.904498360136}, {"x": 8974.826406276963, "y": -2810.5328392839147}, {"x": 8974.500235703776, "y": -2810.161135037021}, {"x": 8974.174116606875, "y": -2809.7893856249707}, {"x": 8973.848048991558, "y": -2809.417591056433}, {"x": 8973.522032863122, "y": -2809.0457513369247}, {"x": 8973.210722543126, "y": -2808.68913977417}, {"x": 8972.90369004708, "y": -2808.32884548437}, {"x": 8972.605001771324, "y": -2807.961616229542}, {"x": 8972.318646411197, "y": -2807.5847068891203}, {"x": 8972.04861442032, "y": -2807.1959544861907}, {"x": 8971.798944832994, "y": -2806.7938417884666}, {"x": 8971.57374257168, "y": -2806.3775536559797}, {"x": 8971.377169148462, "y": -2805.947028551678}, {"x": 8971.21340923903, "y": -2805.503006406466}, {"x": 8971.086614864946, "y": -2805.047073225627}, {"x": 8971.000828125598, "y": -2804.581702141899}, {"x": 8970.959882418905, "y": -2804.1102899513935}, {"x": 8970.966682514747, "y": -2803.632692301664}, {"x": 8971.020443314666, "y": -2803.1580629165205}, {"x": 8971.118453975598, "y": -2802.6905441670488}, {"x": 8971.257712162494, "y": -2802.2335948103896}, {"x": 8971.435034527924, "y": -2801.790010395701}, {"x": 8971.647152399782, "y": -2801.3619563231737}, {"x": 8971.890792454711, "y": -2800.951010009053}, {"x": 8972.162742778379, "y": -2800.5582090446237}, {"x": 8972.459905042177, "y": -2800.1841026926236}, {"x": 8972.776776134515, "y": -2799.8305752940832}, {"x": 8973.110290535817, "y": -2799.492671028332}, {"x": 8973.4557173172, "y": -2799.166929646437}, {"x": 8973.808953665359, "y": -2798.8496580134756}, {"x": 8974.166481613816, "y": -2798.5372222659134}, {"x": 8974.525329916672, "y": -2798.2263016599222}, {"x": 8974.883064193966, "y": -2797.914101331953}, {"x": 8975.237819843986, "y": -2797.598523074758}, {"x": 8975.588382367145, "y": -2797.278295069}, {"x": 8975.934309623985, "y": -2796.953065048212}, {"x": 8976.276080720396, "y": -2796.6234678613373}, {"x": 8976.615247217811, "y": -2796.2911882060507}, {"x": 8976.970923847053, "y": -2795.9417410686265}, {"x": 8977.326639121578, "y": -2795.592333270248}, {"x": 8977.68239303741, "y": -2795.242964814857}, {"x": 8978.038185587931, "y": -2794.8936357071802}, {"x": 8978.394016770495, "y": -2794.544345951159}, {"x": 8978.749886581125, "y": -2794.1950955515213}, {"x": 8979.10579501453, "y": -2793.8458845122077}, {"x": 8979.461742066735, "y": -2793.4967128371586}, {"x": 8979.817727732445, "y": -2793.1475805311015}, {"x": 8980.173752009012, "y": -2792.798487597978}, {"x": 8980.529814889815, "y": -2792.449434042515}, {"x": 8980.88591637353, "y": -2792.1004198686537}, {"x": 8981.242056453539, "y": -2791.751445080334}, {"x": 8981.598235125868, "y": -2791.4025096822847}, {"x": 8981.954452386546, "y": -2791.053613679234}, {"x": 8982.310708230276, "y": -2790.704757075122}, {"x": 8982.66700265441, "y": -2790.355939873101}, {"x": 8983.023335653654, "y": -2790.007162078687}, {"x": 8983.379707222708, "y": -2789.658423695821}, {"x": 8983.736117358929, "y": -2789.3097247292308}, {"x": 8984.092566057016, "y": -2788.961065182069}, {"x": 8984.449053313001, "y": -2788.612445059852}, {"x": 8984.805579122909, "y": -2788.2638643657315}, {"x": 8985.16214348012, "y": -2787.9153231052246}, {"x": 8985.518746383314, "y": -2787.566821280695}, {"x": 8985.875387825867, "y": -2787.2183588984476}, {"x": 8986.232067805131, "y": -2786.869935961634}, {"x": 8986.588786315811, "y": -2786.5215524741952}, {"x": 8986.945543352611, "y": -2786.173208441647}, {"x": 8987.302338912883, "y": -2785.824903867142}, {"x": 8987.659172991333, "y": -2785.476638755408}, {"x": 8988.016045583983, "y": -2785.1284131111743}, {"x": 8988.372956686868, "y": -2784.7802269375925}, {"x": 8988.729906293363, "y": -2784.432080239391}, {"x": 8989.086894402146, "y": -2784.0839730212983}, {"x": 8989.443921007922, "y": -2783.7359052864663}, {"x": 8989.800986105392, "y": -2783.3878770404117}, {"x": 8990.158089690585, "y": -2783.0398882870745}, {"x": 8990.515231759531, "y": -2782.6919390303956}, {"x": 8990.872412306931, "y": -2782.344029274315}, {"x": 8991.229631328817, "y": -2781.9961590243483}, {"x": 8991.586888822536, "y": -2781.648328282861}, {"x": 8991.944184781472, "y": -2781.3005370561564}, {"x": 8992.30151920165, "y": -2780.9527853465993}, {"x": 8992.6588920791, "y": -2780.6050731597065}, {"x": 8993.01630340985, "y": -2780.257400499417}, {"x": 8993.373753189924, "y": -2779.9097673704605}, {"x": 8993.731241412708, "y": -2779.562173775989}, {"x": 8994.088768075551, "y": -2779.21461972073}, {"x": 8994.446333174481, "y": -2778.8671052086243}, {"x": 8994.8039367042, "y": -2778.519630245188}, {"x": 8995.16157866074, "y": -2778.172194833574}, {"x": 8995.519259038803, "y": -2777.8247989777224}, {"x": 8995.875105350857, "y": -2777.479258938369}, {"x": 8996.230984323656, "y": -2777.1337525372537}, {"x": 8996.586890613484, "y": -2776.7882742760985}, {"x": 8996.94281890443, "y": -2776.4428186810555}, {"x": 8997.298763913685, "y": -2776.0973803137394}, {"x": 8997.654720411396, "y": -2775.7519537846238}, {"x": 8998.010683227294, "y": -2775.4065337664406}, {"x": 8998.366647263934, "y": -2775.061115006785}, {"x": 8998.722607509926, "y": -2774.71569233994}, {"x": 8999.078559047884, "y": -2774.370260699483}, {"x": 8999.434497069, "y": -2774.0248151324727}, {"x": 8999.790416888913, "y": -2773.679350809692}, {"x": 9000.146313950372, "y": -2773.333863042198}, {"x": 9000.502183844417, "y": -2772.9883472884153}, {"x": 9000.858022313021, "y": -2772.6427991722603}, {"x": 9001.213825272931, "y": -2772.2972144918094}, {"x": 9001.569588815659, "y": -2771.951589232697}, {"x": 9001.925309228676, "y": -2771.605919582302}, {"x": 9002.280982999375, "y": -2771.260201940776}, {"x": 9002.636606837585, "y": -2770.9144329328687}, {"x": 9002.992177674245, "y": -2770.5686094221114}, {"x": 9003.347692687885, "y": -2770.2227285210606}, {"x": 9003.703149305946, "y": -2769.8767876078487}, {"x": 9004.058545222, "y": -2769.5307843317005}, {"x": 9004.413878406334, "y": -2769.1847166310567}, {"x": 9004.769147119197, "y": -2768.838582744609}, {"x": 9005.124349924035, "y": -2768.4923812215434}, {"x": 9005.47948569676, "y": -2768.1461109357256}, {"x": 9005.834553640318, "y": -2767.7997710959453}, {"x": 9006.1895532966, "y": -2767.453361260891}, {"x": 9006.544484561007, "y": -2767.1068813486045}, {"x": 9006.899347689077, "y": -2766.7603316514546}, {"x": 9007.254143316335, "y": -2766.4137128440193}, {"x": 9007.608872462268, "y": -2766.067026000421}, {"x": 9007.963536552841, "y": -2765.7202726029955}, {"x": 9008.318137423134, "y": -2765.373454553326}, {"x": 9008.672677337208, "y": -2765.0265741887915}, {"x": 9009.027158996052, "y": -2764.6796342912353}, {"x": 9009.381585552135, "y": -2764.3326380995736}, {"x": 9009.735960618693, "y": -2763.985589323982}, {"x": 9010.090288288246, "y": -2763.63849215535}, {"x": 9010.444573137904, "y": -2763.291351278681}, {"x": 9010.798820246582, "y": -2762.9441718872736}, {"x": 9011.153035202939, "y": -2762.596959692181}], "type": "road_edge"}, {"geometry": [{"x": 8943.530897301222, "y": -2824.927955166251}, {"x": 8943.915278940332, "y": -2824.6264628551517}, {"x": 8944.299357947226, "y": -2824.3245850987846}, {"x": 8944.683133929993, "y": -2824.0223221934602}, {"x": 8945.066606499377, "y": -2823.719674439428}, {"x": 8945.44977526479, "y": -2823.4166421353625}, {"x": 8945.832639838296, "y": -2823.1132255823004}, {"x": 8946.215199829316, "y": -2822.8094250812806}, {"x": 8946.597454851233, "y": -2822.5052409349173}, {"x": 8946.979404516116, "y": -2822.200673445824}, {"x": 8947.361048438675, "y": -2821.8957229174034}, {"x": 8947.742386230973, "y": -2821.5903896538457}, {"x": 8948.123417507724, "y": -2821.2846739601287}, {"x": 8948.504141883643, "y": -2820.9785761428075}, {"x": 8948.88455897476, "y": -2820.67209650686}, {"x": 8949.264668397116, "y": -2820.365235360416}, {"x": 8949.644469765422, "y": -2820.0579930108192}, {"x": 8950.023962698362, "y": -2819.750369765412}, {"x": 8950.403146811974, "y": -2819.442365934688}, {"x": 8950.782021726263, "y": -2819.1339818259903}, {"x": 8951.160587055945, "y": -2818.825217750602}, {"x": 8951.538842422351, "y": -2818.5160740182287}, {"x": 8951.916787444165, "y": -2818.2065509401546}, {"x": 8952.294421738748, "y": -2817.896648827661}, {"x": 8952.671744928755, "y": -2817.5863679920317}, {"x": 8953.048756632872, "y": -2817.275708746125}, {"x": 8953.425456471106, "y": -2816.9646714027995}, {"x": 8953.772481723689, "y": -2816.681124195961}, {"x": 8954.128298503641, "y": -2816.4087435885185}, {"x": 8954.498328464002, "y": -2816.1560717857847}, {"x": 8954.884519145282, "y": -2815.9289125118917}, {"x": 8955.286267304811, "y": -2815.73057827783}, {"x": 8955.701454713018, "y": -2815.5621670479763}, {"x": 8956.127360575556, "y": -2815.423032902756}, {"x": 8956.581242212249, "y": -2815.3076260254606}, {"x": 8957.041944718541, "y": -2815.2235017652642}, {"x": 8957.507386570462, "y": -2815.171694919}, {"x": 8957.975329672927, "y": -2815.15310255389}, {"x": 8958.443386069828, "y": -2815.1684639420228}, {"x": 8958.909026968515, "y": -2815.218340228467}, {"x": 8959.369594217647, "y": -2815.303094074169}, {"x": 8959.82231438808, "y": -2815.4228695210822}, {"x": 8960.264315546776, "y": -2815.577572397113}, {"x": 8960.692646821733, "y": -2815.7668515611413}, {"x": 8961.094925460171, "y": -2815.9839570359864}, {"x": 8961.480080651021, "y": -2816.2301922444585}, {"x": 8961.847484074819, "y": -2816.502231134373}, {"x": 8962.197288782128, "y": -2816.796582096044}, {"x": 8962.530586541861, "y": -2817.109527798031}, {"x": 8962.849573207803, "y": -2817.4370745047877}, {"x": 8963.157698072537, "y": -2817.7748816794806}, {"x": 8963.459769301224, "y": -2818.1181275468816}, {"x": 8963.784818675347, "y": -2818.4897911134553}, {"x": 8964.10990194949, "y": -2818.861425026998}, {"x": 8964.435019122331, "y": -2819.233029284358}, {"x": 8964.760170192541, "y": -2819.604603883171}, {"x": 8965.085355154828, "y": -2819.9761488202844}, {"x": 8965.410574006544, "y": -2820.347664091759}, {"x": 8965.735826747685, "y": -2820.719149695229}, {"x": 8966.06111337296, "y": -2821.090605627543}, {"x": 8966.386433879718, "y": -2821.4620318855495}, {"x": 8966.711788266633, "y": -2821.833428466095}, {"x": 8967.037176531063, "y": -2822.20479536524}, {"x": 8967.36259866903, "y": -2822.576132581408}, {"x": 8967.688054679213, "y": -2822.947440111447}, {"x": 8968.013544556316, "y": -2823.3187179506285}, {"x": 8968.339068301662, "y": -2823.689966097377}, {"x": 8968.664625908632, "y": -2824.061184547751}, {"x": 8968.990217377226, "y": -2824.432373299387}, {"x": 8969.31584270347, "y": -2824.803532348345}, {"x": 8969.641501884718, "y": -2825.1746616930486}, {"x": 8969.967194918321, "y": -2825.5457613287695}, {"x": 8970.29292180163, "y": -2825.916831252355}, {"x": 8970.618682532, "y": -2826.28787146223}, {"x": 8970.944477106781, "y": -2826.6588819544536}, {"x": 8971.270305523325, "y": -2827.0298627258735}, {"x": 8971.596167778984, "y": -2827.400813773337}, {"x": 8971.92206387111, "y": -2827.771735093693}, {"x": 8972.24799379573, "y": -2828.142626684577}, {"x": 8972.573957551524, "y": -2828.513488542048}, {"x": 8972.89995513584, "y": -2828.8843206637425}, {"x": 8973.225986544705, "y": -2829.2551230457198}, {"x": 8973.5520517768, "y": -2829.6258956856163}, {"x": 8973.878150829472, "y": -2829.996638580279}, {"x": 8974.204283698751, "y": -2830.367351725768}, {"x": 8974.53045038199, "y": -2830.7380351205074}, {"x": 8974.856650877862, "y": -2831.108688760557}, {"x": 8975.1828851824, "y": -2831.479312641976}, {"x": 8975.50915329295, "y": -2831.8499067631883}, {"x": 8975.835455208191, "y": -2832.220471121042}, {"x": 8976.161790924152, "y": -2832.591005710809}, {"x": 8976.48816043686, "y": -2832.961510530912}, {"x": 8976.814563746313, "y": -2833.3319855782006}, {"x": 8977.141000848542, "y": -2833.702430848733}, {"x": 8977.467471740898, "y": -2834.0728463401456}, {"x": 8977.793976420733, "y": -2834.443232049286}, {"x": 8978.120514884073, "y": -2834.813587973002}, {"x": 8978.44708713092, "y": -2835.1839141081414}, {"x": 8978.77369315598, "y": -2835.5542104515525}, {"x": 8979.100332957923, "y": -2835.924477000082}, {"x": 8979.427006532782, "y": -2836.2947137505785}, {"x": 8979.753713879232, "y": -2836.6649207006776}, {"x": 8980.080454994624, "y": -2837.035097846439}, {"x": 8980.407229874987, "y": -2837.4052451854986}], "type": "road_edge"}, {"geometry": [{"x": 8936.571165004165, "y": -2817.508126701461}, {"x": 8936.19188440975, "y": -2817.805646621555}, {"x": 8935.812467145457, "y": -2818.1029922264634}, {"x": 8935.432913284103, "y": -2818.40016344605}, {"x": 8935.053222901157, "y": -2818.69716020939}, {"x": 8934.673396070764, "y": -2818.993982447922}, {"x": 8934.293432868393, "y": -2819.290630093085}, {"x": 8933.913333369512, "y": -2819.587103076318}, {"x": 8933.53309765356, "y": -2819.883401330636}, {"x": 8933.152725796012, "y": -2820.179524789054}, {"x": 8932.772217873653, "y": -2820.4754733861637}, {"x": 8932.391573964605, "y": -2820.77124705498}, {"x": 8932.010794148307, "y": -2821.06684573167}, {"x": 8931.629878501552, "y": -2821.362269351613}, {"x": 8931.248827106429, "y": -2821.6575178486128}, {"x": 8930.867640038405, "y": -2821.952591160412}, {"x": 8930.486317380894, "y": -2822.2474892231785}, {"x": 8930.104859210689, "y": -2822.5422119730792}, {"x": 8929.723265608556, "y": -2822.836759347858}, {"x": 8929.341536655258, "y": -2823.131131283682}, {"x": 8928.95967243156, "y": -2823.425327719083}, {"x": 8928.577673018226, "y": -2823.7193485910157}, {"x": 8928.195538493374, "y": -2824.0131938372238}, {"x": 8927.813268940417, "y": -2824.3068633962394}, {"x": 8927.43090664567, "y": -2824.5998344856357}, {"x": 8927.047037210117, "y": -2824.8908264361908}, {"x": 8926.660424106576, "y": -2825.1781604047087}, {"x": 8926.269988160142, "y": -2825.460274320001}, {"x": 8925.874812926335, "y": -2825.7357061792213}, {"x": 8925.474145933022, "y": -2826.0030816383173}, {"x": 8925.067396634815, "y": -2826.2611050794026}, {"x": 8924.654131779029, "y": -2826.508553353577}, {"x": 8924.234068790913, "y": -2826.7442714458243}, {"x": 8923.80706767334, "y": -2826.967169418134}, {"x": 8923.373121904226, "y": -2827.176220039024}, {"x": 8922.932348734159, "y": -2827.370456645545}, {"x": 8922.484979307941, "y": -2827.548970846875}, {"x": 8922.031348963552, "y": -2827.7109098110404}, {"x": 8921.571888069977, "y": -2827.8554729487682}, {"x": 8921.10711371903, "y": -2827.9819079014865}, {"x": 8920.637622591576, "y": -2828.089505825586}, {"x": 8920.164085251026, "y": -2828.17759603363}, {"x": 8919.673776944186, "y": -2828.247415996676}, {"x": 8919.180990339886, "y": -2828.29683224111}, {"x": 8918.686638765881, "y": -2828.3268449885277}, {"x": 8918.191512791444, "y": -2828.3386083910227}, {"x": 8917.696269489627, "y": -2828.3334775009967}, {"x": 8917.2014163889, "y": -2828.3130550699575}, {"x": 8916.707293275924, "y": -2828.279238088837}, {"x": 8916.21405588239, "y": -2828.2342645796953}, {"x": 8915.721666553382, "y": -2828.180761809875}, {"x": 8915.229898271038, "y": -2828.1217975401723}, {"x": 8914.738359944535, "y": -2828.0609361676343}, {"x": 8914.246552810366, "y": -2828.0023011523294}, {"x": 8913.753970044432, "y": -2827.9506436224874}, {"x": 8913.260254418856, "y": -2827.9114138465943}, {"x": 8912.775965326384, "y": -2827.889964103693}, {"x": 8912.291215029994, "y": -2827.8863367865524}, {"x": 8911.80665918075, "y": -2827.9005368016187}, {"x": 8911.322953166235, "y": -2827.9325449415655}, {"x": 8910.84075122346, "y": -2827.9823179144487}, {"x": 8910.36070555709, "y": -2828.0497883988737}, {"x": 8909.883465452327, "y": -2828.134865138561}, {"x": 8909.409676403733, "y": -2828.237433062918}, {"x": 8908.939979236078, "y": -2828.357353441501}, {"x": 8908.475009237107, "y": -2828.494464077874}, {"x": 8908.015395304883, "y": -2828.648579521599}, {"x": 8907.561759091146, "y": -2828.8194913235657}, {"x": 8907.114714163215, "y": -2829.0069683165384}, {"x": 8906.674865171186, "y": -2829.2107569272302}, {"x": 8906.242807036308, "y": -2829.4305815230455}, {"x": 8905.819124139363, "y": -2829.666144776951}, {"x": 8905.404389531564, "y": -2829.9171280788437}, {"x": 8904.999164166617, "y": -2830.1831919610986}, {"x": 8904.603996131465, "y": -2830.4639765564343}, {"x": 8904.219419911484, "y": -2830.759102090445}, {"x": 8903.845955667546, "y": -2831.0681693899014}, {"x": 8903.484108527688, "y": -2831.3907604241426}], "type": "road_edge"}, {"geometry": [{"x": 8952.195624258147, "y": -2785.566264251715}, {"x": 8951.868317555005, "y": -2785.1895849051098}, {"x": 8951.542083051867, "y": -2784.8119765520973}, {"x": 8951.216920965871, "y": -2784.433444322144}, {"x": 8950.89283129834, "y": -2784.053993495236}, {"x": 8950.569813834785, "y": -2783.673629493997}, {"x": 8950.247868155493, "y": -2783.2923578773853}, {"x": 8949.92699363156, "y": -2782.9101843320245}, {"x": 8949.607189439446, "y": -2782.5271146674754}, {"x": 8949.288454553045, "y": -2782.143154806778}, {"x": 8948.970787759561, "y": -2781.75831078409}, {"x": 8948.654187658189, "y": -2781.3725887320747}, {"x": 8948.338652666731, "y": -2780.9859948811163}, {"x": 8948.024181024251, "y": -2780.5985355482835}, {"x": 8947.710770799018, "y": -2780.210217132604}, {"x": 8947.398419892468, "y": -2779.821046111912}, {"x": 8947.08712604319, "y": -2779.4310290310245}, {"x": 8946.776886833535, "y": -2779.0401725001693}, {"x": 8946.467699693596, "y": -2778.648483184737}, {"x": 8946.159561909144, "y": -2778.255967804495}, {"x": 8945.852470621641, "y": -2777.862633123341}, {"x": 8945.546422840138, "y": -2777.4684859469403}, {"x": 8945.241415442615, "y": -2777.073533112481}, {"x": 8944.93744518524, "y": -2776.6777814902484}, {"x": 8944.634508703699, "y": -2776.281237969443}, {"x": 8944.332602522456, "y": -2775.883909459752}, {"x": 8944.031723057411, "y": -2775.4858028842627}, {"x": 8943.73186662516, "y": -2775.0869251715767}, {"x": 8943.43302944962, "y": -2774.6872832526606}, {"x": 8943.13520766467, "y": -2774.2868840584806}, {"x": 8942.838397318137, "y": -2773.885734508971}, {"x": 8942.542594388993, "y": -2773.4838415130316}, {"x": 8942.247794780742, "y": -2773.0812119630145}, {"x": 8941.953994334663, "y": -2772.6778527276297}, {"x": 8941.661188835094, "y": -2772.273770650369}, {"x": 8941.369374017397, "y": -2771.868972542414}, {"x": 8941.080076776643, "y": -2771.4656027312967}, {"x": 8940.791759457506, "y": -2771.0615319082867}, {"x": 8940.504425980389, "y": -2770.6567608772025}, {"x": 8940.218080272312, "y": -2770.251290461564}, {"x": 8939.932726262949, "y": -2769.845121505382}, {"x": 8939.648367891232, "y": -2769.4382548739427}, {"x": 8939.365009098748, "y": -2769.030691451447}, {"x": 8939.082653836354, "y": -2768.6224321449495}, {"x": 8938.8013060549, "y": -2768.213477880417}, {"x": 8938.520969714511, "y": -2767.803829605096}, {"x": 8938.241648779278, "y": -2767.3934882882963}, {"x": 8937.96334721859, "y": -2766.9824549182426}, {"x": 8937.686069008461, "y": -2766.5707305060123}, {"x": 8937.409818126223, "y": -2766.158316082385}, {"x": 8937.134598557155, "y": -2765.745212700994}, {"x": 8936.860414291828, "y": -2765.3314214351735}, {"x": 8936.587269324793, "y": -2764.9169433811117}, {"x": 8936.31516765324, "y": -2764.5017796539096}, {"x": 8936.044113282309, "y": -2764.0859313930987}, {"x": 8935.774110219785, "y": -2763.6693997587}, {"x": 8935.505162478752, "y": -2763.2521859320113}, {"x": 8935.237274076264, "y": -2762.8342911163973}, {"x": 8934.970449035995, "y": -2762.415716536499}, {"x": 8934.70469138162, "y": -2761.9964634398116}, {"x": 8934.440005144756, "y": -2761.5765330958957}, {"x": 8934.17639435967, "y": -2761.155926794802}, {"x": 8933.913863065925, "y": -2760.7346458502216}, {"x": 8933.65241530441, "y": -2760.3126915979133}, {"x": 8933.392055123952, "y": -2759.8900653956994}, {"x": 8933.132786573384, "y": -2759.4667686226812}, {"x": 8932.874613705506, "y": -2759.042802682389}, {"x": 8932.617540582392, "y": -2758.618168999631}, {"x": 8932.361571260815, "y": -2758.192869021281}, {"x": 8932.106709809466, "y": -2757.7669042186417}, {"x": 8931.852960294389, "y": -2757.3402760850836}, {"x": 8931.600326789568, "y": -2756.912986135252}, {"x": 8931.34881336767, "y": -2756.485035909013}, {"x": 8931.0984241093, "y": -2756.056426968295}, {"x": 8930.849163093737, "y": -2755.6271608963066}, {"x": 8930.60103440689, "y": -2755.1972393030496}, {"x": 8930.354042135985, "y": -2754.7666638182263}, {"x": 8930.10819036957, "y": -2754.3354360967587}, {"x": 8929.863483202818, "y": -2753.9035578164203}, {"x": 8929.619924729577, "y": -2753.4710306786283}, {"x": 8929.37751904899, "y": -2753.0378564076523}, {"x": 8929.136270261522, "y": -2752.604036752192}, {"x": 8928.89543777011, "y": -2752.168228268722}, {"x": 8928.655760666416, "y": -2751.7317832884814}, {"x": 8928.417226069121, "y": -2751.2947128206342}, {"x": 8928.179821032028, "y": -2750.8570277655936}, {"x": 8927.943532536123, "y": -2750.4187389134427}, {"x": 8927.70834749619, "y": -2749.9798569478794}, {"x": 8927.474252759483, "y": -2749.5403924462116}, {"x": 8927.241235111034, "y": -2749.100355878573}, {"x": 8927.009281269673, "y": -2748.6597576118606}, {"x": 8926.778377893323, "y": -2748.218607912101}, {"x": 8926.548511577683, "y": -2747.77691693972}, {"x": 8926.31966886019, "y": -2747.3346947566374}, {"x": 8926.091836217378, "y": -2746.8919513246888}, {"x": 8925.865000071499, "y": -2746.4486965087785}, {"x": 8925.63914678522, "y": -2746.004940075305}, {"x": 8925.414262669581, "y": -2745.56069169531}, {"x": 8925.190333978675, "y": -2745.1159609452707}, {"x": 8924.967346916295, "y": -2744.67075730867}, {"x": 8924.745287633268, "y": -2744.225090176792}, {"x": 8924.524142232756, "y": -2743.7789688495027}, {"x": 8924.30389676496, "y": -2743.332402539196}, {"x": 8924.084537233748, "y": -2742.885400368427}, {"x": 8923.866049596638, "y": -2742.437971373851}, {"x": 8923.648419763487, "y": -2741.990124505438}, {"x": 8923.431633601786, "y": -2741.541868629624}, {"x": 8923.215676931357, "y": -2741.0932125308873}, {"x": 8923.000535533633, "y": -2740.6441649109593}, {"x": 8922.78619514502, "y": -2740.194734391978}, {"x": 8922.572641460889, "y": -2739.7449295164874}, {"x": 8922.359860140858, "y": -2739.2947587505905}, {"x": 8922.147836799528, "y": -2738.84423048316}, {"x": 8921.936557018405, "y": -2738.39335302978}, {"x": 8921.726006341916, "y": -2737.942134631168}, {"x": 8921.516170274772, "y": -2737.490583457905}, {"x": 8921.307034289906, "y": -2737.038707607283}, {"x": 8921.098583825826, "y": -2736.5865151096086}, {"x": 8920.890804286619, "y": -2736.1340139266276}, {"x": 8920.684090205541, "y": -2735.682099197185}, {"x": 8920.4780355291, "y": -2735.2298834210774}, {"x": 8920.272645943933, "y": -2734.777365179014}, {"x": 8920.067927143291, "y": -2734.324543075344}, {"x": 8919.863884833669, "y": -2733.871415737272}, {"x": 8919.660524728182, "y": -2733.4179818180064}, {"x": 8919.45785254789, "y": -2732.9642399936115}, {"x": 8919.255874025765, "y": -2732.5101889653683}, {"x": 8919.054594902727, "y": -2732.0558274605633}, {"x": 8918.854020926317, "y": -2731.601154229337}, {"x": 8918.654157858635, "y": -2731.1461680486254}, {"x": 8918.455011465758, "y": -2730.6908677205793}, {"x": 8918.256587527, "y": -2730.235252073358}, {"x": 8918.058891826971, "y": -2729.779319960338}, {"x": 8917.861930160878, "y": -2729.3230702609003}, {"x": 8917.665708335839, "y": -2728.8665018820097}, {"x": 8917.470232164267, "y": -2728.4096137566366}, {"x": 8917.275507470498, "y": -2727.9524048437565}, {"x": 8917.081540085479, "y": -2727.494874129927}, {"x": 8916.888335850757, "y": -2727.037020628501}, {"x": 8916.695900617144, "y": -2726.5788433827756}, {"x": 8916.504240243394, "y": -2726.120341459691}, {"x": 8916.313360598855, "y": -2725.6615139569217}, {"x": 8916.12326756082, "y": -2725.202359998935}, {"x": 8915.933967017176, "y": -2724.742878739358}, {"x": 8915.745464861098, "y": -2724.283069360186}, {"x": 8915.557767000335, "y": -2723.822931071785}, {"x": 8915.3708793466, "y": -2723.362463113681}, {"x": 8915.184807823527, "y": -2722.901664755343}, {"x": 8914.999558362693, "y": -2722.4405352930366}, {"x": 8914.815136903619, "y": -2721.9790740569124}, {"x": 8914.631549397742, "y": -2721.5172804031276}, {"x": 8914.448801800469, "y": -2721.0551537201495}, {"x": 8914.266900081773, "y": -2720.592693425603}, {"x": 8914.085850215602, "y": -2720.1298989694246}, {"x": 8913.905658187814, "y": -2719.66676982992}, {"x": 8913.72632998957, "y": -2719.2033055177058}, {"x": 8913.547871625262, "y": -2718.7395055749193}, {"x": 8913.370289103264, "y": -2718.2753695744345}, {"x": 8913.193588445183, "y": -2717.810897120646}, {"x": 8913.017775676602, "y": -2717.3460878510477}, {"x": 8912.842856833693, "y": -2716.880941433867}, {"x": 8912.668837963223, "y": -2716.41545757043}, {"x": 8912.495725114606, "y": -2715.9496359943737}, {"x": 8912.323524351821, "y": -2715.4834764716443}, {"x": 8912.152241744137, "y": -2715.016978802864}, {"x": 8911.981883367454, "y": -2714.5501428209636}, {"x": 8911.812455309579, "y": -2714.0829683911866}], "type": "road_edge"}, {"geometry": [{"x": 8941.891121017718, "y": -2792.2762735513397}, {"x": 8942.174479720166, "y": -2792.687398503929}, {"x": 8942.458485153806, "y": -2793.098076951762}, {"x": 8942.743136631469, "y": -2793.508307867211}, {"x": 8943.028433464671, "y": -2793.918090222649}, {"x": 8943.314374956983, "y": -2794.3274229943895}, {"x": 8943.600960413296, "y": -2794.7363051603215}, {"x": 8943.888189131885, "y": -2795.1447356999106}, {"x": 8944.176060409698, "y": -2795.5527135965626}, {"x": 8944.464573539713, "y": -2795.960237833683}, {"x": 8944.753727813582, "y": -2796.36730739783}, {"x": 8945.043522517664, "y": -2796.7739212771376}, {"x": 8945.333956938315, "y": -2797.1800784613156}, {"x": 8945.62503035792, "y": -2797.5857779424387}, {"x": 8945.916742057541, "y": -2797.9910187141577}, {"x": 8946.209091315592, "y": -2798.3957997701223}, {"x": 8946.502077407835, "y": -2798.800120107924}, {"x": 8946.795699608712, "y": -2799.203978725153}, {"x": 8947.089957191343, "y": -2799.6073746201882}, {"x": 8947.36436430256, "y": -2799.9808383514223}, {"x": 8947.642225008081, "y": -2800.351738429686}, {"x": 8947.922822586757, "y": -2800.720574445659}, {"x": 8948.202146528824, "y": -2801.0903730684513}, {"x": 8948.473463311117, "y": -2801.4660640111724}, {"x": 8948.727644789293, "y": -2801.853500735421}, {"x": 8948.953339331749, "y": -2802.258105566738}, {"x": 8949.151573380614, "y": -2802.7144382021434}, {"x": 8949.30065267889, "y": -2803.189119939528}, {"x": 8949.400136299915, "y": -2803.6766250531045}, {"x": 8949.450205389803, "y": -2804.171662233482}, {"x": 8949.451596631838, "y": -2804.669233276677}, {"x": 8949.405533344854, "y": -2805.164679410079}, {"x": 8949.313655980515, "y": -2805.6537159496484}, {"x": 8949.177953564624, "y": -2806.1324561835745}, {"x": 8949.000697332302, "y": -2806.5974254777216}, {"x": 8948.784377589804, "y": -2807.0455666919456}, {"x": 8948.531644606617, "y": -2807.4742380034804}, {"x": 8948.245254117786, "y": -2807.8812042690397}, {"x": 8947.946593712497, "y": -2808.244975037819}, {"x": 8947.62620652584, "y": -2808.5898041680643}, {"x": 8947.289280832441, "y": -2808.918525346192}, {"x": 8946.940256507452, "y": -2809.2343953525487}, {"x": 8946.582851433986, "y": -2809.540766587236}, {"x": 8946.22010197554, "y": -2809.8408000713594}, {"x": 8945.854391370756, "y": -2810.1372212279853}, {"x": 8945.487448549773, "y": -2810.432116895057}, {"x": 8945.101383811223, "y": -2810.7417785254747}, {"x": 8944.715173036728, "y": -2811.0512579979595}, {"x": 8944.328816312347, "y": -2811.360555242373}, {"x": 8943.94231372414, "y": -2811.6696701909427}, {"x": 8943.555665356846, "y": -2811.9786027751074}, {"x": 8943.16887129917, "y": -2812.2873529255185}, {"x": 8942.781931635853, "y": -2812.595920572827}, {"x": 8942.394846452955, "y": -2812.9043056500473}, {"x": 8942.007615836535, "y": -2813.2125080870424}, {"x": 8941.620239872656, "y": -2813.520527815252}, {"x": 8941.232718647378, "y": -2813.8283647676903}, {"x": 8940.845052248085, "y": -2814.136018874221}, {"x": 8940.457240759513, "y": -2814.443490067071}, {"x": 8940.06928426905, "y": -2814.7507782776784}, {"x": 8939.68118286143, "y": -2815.0578834374833}, {"x": 8939.292936625365, "y": -2815.3648054787122}, {"x": 8938.904545645588, "y": -2815.6715443328044}, {"x": 8938.516010009485, "y": -2815.9780999304103}, {"x": 8938.127329803117, "y": -2816.2844722053333}, {"x": 8937.738505112548, "y": -2816.5906610874367}, {"x": 8937.349536025158, "y": -2816.896666509735}, {"x": 8936.96042262701, "y": -2817.2024884036678}, {"x": 8936.571165004165, "y": -2817.508126701461}], "type": "road_edge"}, {"geometry": [{"x": 8999.143537303964, "y": -2759.7798648791286}, {"x": 8998.786396202871, "y": -2760.1294829612157}, {"x": 8998.429261650346, "y": -2760.4791077323353}, {"x": 8998.072133645062, "y": -2760.8287391916997}, {"x": 8997.715012187022, "y": -2761.1783773393086}, {"x": 8997.357897278873, "y": -2761.5280221751623}, {"x": 8997.000788917965, "y": -2761.877673699261}, {"x": 8996.643687104299, "y": -2762.227331911604}, {"x": 8996.286591840524, "y": -2762.5769968106156}, {"x": 8995.929503125317, "y": -2762.9266683986602}, {"x": 8995.572420958675, "y": -2763.276346673373}, {"x": 8995.2153453406, "y": -2763.626031635543}, {"x": 8994.858276271092, "y": -2763.9757232851694}, {"x": 8994.501213751475, "y": -2764.325421622252}, {"x": 8994.144157780423, "y": -2764.675126646792}, {"x": 8993.787108359262, "y": -2765.0248383572116}, {"x": 8993.430065487992, "y": -2765.3745567550886}, {"x": 8993.073029165289, "y": -2765.724281839634}, {"x": 8992.715999392476, "y": -2766.0740136108475}, {"x": 8992.358976169553, "y": -2766.42375206873}, {"x": 8992.001959496522, "y": -2766.773497212493}, {"x": 8991.644949374704, "y": -2767.1232490421366}, {"x": 8991.287945801452, "y": -2767.4730075584484}, {"x": 8990.930948779416, "y": -2767.822772760641}, {"x": 8990.573958308594, "y": -2768.172544648714}, {"x": 8990.216974387664, "y": -2768.5223232226676}, {"x": 8989.859997016623, "y": -2768.872108482502}, {"x": 8989.503026198121, "y": -2769.2219004274284}, {"x": 8989.146061929509, "y": -2769.5716990574474}, {"x": 8988.789104212112, "y": -2769.921504373347}, {"x": 8988.43215304593, "y": -2770.2713163735507}, {"x": 8988.075208430962, "y": -2770.6211350588474}, {"x": 8987.718270367208, "y": -2770.970960430024}, {"x": 8987.361338855993, "y": -2771.3207924847175}, {"x": 8987.004413895993, "y": -2771.6706312245033}, {"x": 8986.647495487208, "y": -2772.020476649381}, {"x": 8986.29058363096, "y": -2772.370328757776}, {"x": 8985.933678327252, "y": -2772.720187551263}, {"x": 8985.576779574758, "y": -2773.070053028266}, {"x": 8985.219887376128, "y": -2773.419925189574}, {"x": 8984.86300172871, "y": -2773.769804034398}, {"x": 8984.506122633833, "y": -2774.119689563526}, {"x": 8984.149250092818, "y": -2774.469581775383}, {"x": 8983.792384103017, "y": -2774.819480671544}, {"x": 8983.435524667078, "y": -2775.1693862512216}, {"x": 8983.078671785002, "y": -2775.5192985136277}, {"x": 8982.721825455465, "y": -2775.86921745955}, {"x": 8982.364985678467, "y": -2776.2191430882}, {"x": 8982.008152456654, "y": -2776.5690754003667}, {"x": 8981.651325787381, "y": -2776.919014394474}, {"x": 8981.29450567197, "y": -2777.2689600720973}, {"x": 8980.937692110421, "y": -2777.6189124316606}, {"x": 8980.580885102736, "y": -2777.9688714739527}, {"x": 8980.224084648913, "y": -2778.3188371981846}, {"x": 8979.867290750277, "y": -2778.668809605145}, {"x": 8979.510503405503, "y": -2779.0187886932576}, {"x": 8979.15372261459, "y": -2779.3687744640984}, {"x": 8978.796948378866, "y": -2779.7187669168793}, {"x": 8978.440180697004, "y": -2780.0687660508124}, {"x": 8978.083419571652, "y": -2780.418771866686}, {"x": 8977.726665000164, "y": -2780.768784363712}, {"x": 8977.369916983862, "y": -2781.1188035418895}, {"x": 8977.018783347849, "y": -2781.4633270421273}, {"x": 8976.6676560618, "y": -2781.8078570138937}, {"x": 8976.316535128364, "y": -2782.1523934595534}, {"x": 8975.965420544893, "y": -2782.4969363767423}, {"x": 8975.614312312711, "y": -2782.8414857670355}, {"x": 8975.263210431818, "y": -2783.1860416288578}, {"x": 8974.912114902212, "y": -2783.5306039629972}, {"x": 8974.561025725221, "y": -2783.8751727686654}, {"x": 8974.209942899517, "y": -2784.2197480466502}, {"x": 8973.858866425102, "y": -2784.5643297969523}, {"x": 8973.507796303298, "y": -2784.908918017995}, {"x": 8973.156732532785, "y": -2785.2535127105666}, {"x": 8972.805675114885, "y": -2785.598113874667}, {"x": 8972.454624049597, "y": -2785.9427215102965}, {"x": 8972.103579336921, "y": -2786.2873356166665}, {"x": 8971.752540975533, "y": -2786.6319561945656}, {"x": 8971.401508968083, "y": -2786.9765832432054}, {"x": 8971.050483311921, "y": -2787.3212167625857}, {"x": 8970.699464009696, "y": -2787.665856752707}, {"x": 8970.348451061407, "y": -2788.0105032135693}, {"x": 8969.997444464409, "y": -2788.355156144384}, {"x": 8969.646444222668, "y": -2788.6998155459396}, {"x": 8969.295450332218, "y": -2789.0444814174484}, {"x": 8968.944462797028, "y": -2789.3891537589093}, {"x": 8968.59348161445, "y": -2789.733832570323}, {"x": 8968.242506785811, "y": -2790.078517852478}, {"x": 8967.891538311107, "y": -2790.423209603009}, {"x": 8967.54057619034, "y": -2790.7679078242813}, {"x": 8967.205933440307, "y": -2791.097241726635}, {"x": 8966.871923772216, "y": -2791.4272178541496}, {"x": 8966.535851737295, "y": -2791.75508809637}, {"x": 8966.192196880707, "y": -2792.0749726138342}, {"x": 8965.833818845958, "y": -2792.3781940619647}, {"x": 8965.453588191709, "y": -2792.6533649827106}, {"x": 8965.028581414523, "y": -2792.898919726315}, {"x": 8964.580257030946, "y": -2793.0988236402604}, {"x": 8964.114552577004, "y": -2793.2540727930777}, {"x": 8963.636661612782, "y": -2793.3664469450414}, {"x": 8963.15100403011, "y": -2793.438331543296}, {"x": 8962.661228310002, "y": -2793.472559462559}, {"x": 8962.170238486191, "y": -2793.472274952495}, {"x": 8961.680239356163, "y": -2793.4408206200133}, {"x": 8961.210254193249, "y": -2793.383026477908}, {"x": 8960.74486794721, "y": -2793.295719081346}, {"x": 8960.286848184465, "y": -2793.1756947366907}, {"x": 8959.839476496834, "y": -2793.0206767109166}, {"x": 8959.406262386377, "y": -2792.829659002815}, {"x": 8958.990499089603, "y": -2792.6031587373454}, {"x": 8958.594691079701, "y": -2792.343335961424}, {"x": 8958.2199138442, "y": -2792.0539646213383}, {"x": 8957.865188931133, "y": -2791.7402845221873}, {"x": 8957.526966191255, "y": -2791.408825720286}, {"x": 8957.198805306653, "y": -2791.06736278509}, {"x": 8956.858034393224, "y": -2790.707275881311}, {"x": 8956.518284007558, "y": -2790.3462259167923}, {"x": 8956.179556874471, "y": -2789.984215782917}, {"x": 8955.841855704217, "y": -2789.621248380525}, {"x": 8955.50518320308, "y": -2789.2573266175486}, {"x": 8955.169542069398, "y": -2788.8924534082253}, {"x": 8954.834934990913, "y": -2788.5266316762486}, {"x": 8954.501364647429, "y": -2788.159864352404}, {"x": 8954.168833712129, "y": -2787.792154374571}, {"x": 8953.837344848924, "y": -2787.42350468772}, {"x": 8953.506900712458, "y": -2787.053918245492}, {"x": 8953.177503950761, "y": -2786.6833980094057}, {"x": 8952.849157202587, "y": -2786.311946946499}, {"x": 8952.521863097427, "y": -2785.9395680332655}, {"x": 8952.195624258147, "y": -2785.566264251715}], "type": "road_edge"}, {"geometry": [{"x": 9011.153035202939, "y": -2762.596959692181}, {"x": 9011.507557510293, "y": -2762.249394044595}, {"x": 9011.862053682962, "y": -2761.9018017417493}, {"x": 9012.216523722269, "y": -2761.5541827867964}, {"x": 9012.570967624244, "y": -2761.2065371821004}, {"x": 9012.925385386236, "y": -2760.8588649276608}, {"x": 9013.279777008247, "y": -2760.5111660274188}, {"x": 9013.634142486304, "y": -2760.163440482949}, {"x": 9013.988481819084, "y": -2759.8156882958297}, {"x": 9014.342795005261, "y": -2759.4679094676353}, {"x": 9014.697082043513, "y": -2759.1201040007304}, {"x": 9015.051342929866, "y": -2758.772271897479}, {"x": 9015.405577661675, "y": -2758.42441315867}, {"x": 9015.759786240262, "y": -2758.076527788243}, {"x": 9016.113968661655, "y": -2757.7286157861977}, {"x": 9016.468124923205, "y": -2757.3806771556874}, {"x": 9016.822255023591, "y": -2757.032711898287}, {"x": 9017.176358961486, "y": -2756.6847200155735}, {"x": 9017.530436734243, "y": -2756.3367015106983}, {"x": 9017.884488339216, "y": -2755.9886563844507}, {"x": 9018.238513776401, "y": -2755.6405846391935}, {"x": 9018.592513040505, "y": -2755.2924862765035}, {"x": 9018.94648613285, "y": -2754.9443612995333}, {"x": 9019.30043305079, "y": -2754.5962097082825}, {"x": 9019.654353790353, "y": -2754.248031506691}, {"x": 9020.008248351536, "y": -2753.8998266963354}, {"x": 9020.362116731694, "y": -2753.5515952780033}, {"x": 9020.715958928178, "y": -2753.2033372548476}, {"x": 9021.069774939664, "y": -2752.8550526284444}, {"x": 9021.423564763503, "y": -2752.5067414011573}, {"x": 9021.777328399696, "y": -2752.158403573774}, {"x": 9022.131065842948, "y": -2751.810039149448}, {"x": 9022.48477709458, "y": -2751.461648129755}, {"x": 9022.838462150623, "y": -2751.1132305162705}, {"x": 9023.192121009753, "y": -2750.764786312147}, {"x": 9023.54575366932, "y": -2750.4163155181727}, {"x": 9023.899360128, "y": -2750.067818135924}, {"x": 9024.25294038447, "y": -2749.7192941693406}, {"x": 9024.606494434758, "y": -2749.3707436184227}, {"x": 9024.960022278863, "y": -2749.022166486323}, {"x": 9025.313523912815, "y": -2748.6735627746166}, {"x": 9025.666999336612, "y": -2748.3249324848807}, {"x": 9026.020448546282, "y": -2747.976275619479}, {"x": 9026.373871541828, "y": -2747.6275921807755}, {"x": 9026.727268319273, "y": -2747.2788821695585}, {"x": 9027.08063887862, "y": -2746.930145589768}, {"x": 9027.433983215897, "y": -2746.5813824414045}, {"x": 9027.787301331104, "y": -2746.2325927268316}, {"x": 9028.140593221593, "y": -2745.8837764492023}, {"x": 9028.49385888339, "y": -2745.5349336093036}, {"x": 9028.847098317821, "y": -2745.1860642095007}, {"x": 9029.200311519591, "y": -2744.837168252157}, {"x": 9029.55349849002, "y": -2744.488245738849}, {"x": 9029.906659223816, "y": -2744.139296671153}, {"x": 9030.259793720978, "y": -2743.790321051433}, {"x": 9030.612901980181, "y": -2743.4413188820527}, {"x": 9030.965983997452, "y": -2743.0922901645886}, {"x": 9031.31903977147, "y": -2742.743234900617}, {"x": 9031.672069300908, "y": -2742.394153092502}, {"x": 9032.025072583121, "y": -2742.0450447426074}, {"x": 9032.378049615458, "y": -2741.69590985251}, {"x": 9032.73100039792, "y": -2741.3467484237854}], "type": "road_edge"}, {"geometry": [{"x": 9098.601559085035, "y": -2754.5449485327886}, {"x": 9098.2504997685, "y": -2754.890171044829}, {"x": 9097.899438984958, "y": -2755.235392064288}, {"x": 9097.548376731762, "y": -2755.5806115895907}, {"x": 9097.19731301156, "y": -2755.9258296223115}, {"x": 9096.846247821706, "y": -2756.2710461624515}, {"x": 9096.495181164844, "y": -2756.6162612084345}, {"x": 9096.14411303833, "y": -2756.961474761836}, {"x": 9095.793043444808, "y": -2757.306686822657}, {"x": 9095.441972382956, "y": -2757.6518973893208}, {"x": 9095.090899852776, "y": -2757.9971064634033}, {"x": 9094.739825854263, "y": -2758.342314044117}, {"x": 9094.388750387423, "y": -2758.687520131461}, {"x": 9094.03767345225, "y": -2759.0327247254363}, {"x": 9093.68659504875, "y": -2759.3779278268303}, {"x": 9093.335515178242, "y": -2759.7231294348553}, {"x": 9092.98443383808, "y": -2760.068329549511}, {"x": 9092.633351030912, "y": -2760.413528170798}, {"x": 9092.282266754091, "y": -2760.7587252995036}, {"x": 9091.931181010264, "y": -2761.10392093484}, {"x": 9091.580093798106, "y": -2761.4491150760196}, {"x": 9091.229005117619, "y": -2761.794307724618}, {"x": 9090.877914970124, "y": -2762.1394988806355}, {"x": 9090.526823352977, "y": -2762.4846885424954}, {"x": 9090.175730268824, "y": -2762.8298767109864}, {"x": 9089.824635715016, "y": -2763.1750633868965}, {"x": 9089.473539694201, "y": -2763.520248569437}, {"x": 9089.122442205058, "y": -2763.865432258609}, {"x": 9088.771343247585, "y": -2764.210614454412}, {"x": 9088.420242823106, "y": -2764.5557951568453}, {"x": 9088.06914092897, "y": -2764.90097436591}, {"x": 9087.71803756783, "y": -2765.246152081605}, {"x": 9087.366932738361, "y": -2765.5913283047194}, {"x": 9087.015826440562, "y": -2765.936503033676}, {"x": 9086.664718674432, "y": -2766.2816762700522}, {"x": 9086.313609441295, "y": -2766.626848012271}, {"x": 9085.96249873983, "y": -2766.9720182619085}, {"x": 9085.611386570034, "y": -2767.3171870181773}, {"x": 9085.260272931908, "y": -2767.662354280289}, {"x": 9084.909157825452, "y": -2768.007520049819}, {"x": 9084.55804125199, "y": -2768.3526843259806}, {"x": 9084.206923208874, "y": -2768.6978471087727}, {"x": 9083.855803700077, "y": -2769.043008397408}, {"x": 9083.504682721623, "y": -2769.3881681934618}, {"x": 9083.15356027484, "y": -2769.733326496146}, {"x": 9082.802436361053, "y": -2770.078483305462}, {"x": 9082.451310978935, "y": -2770.4236386206207}, {"x": 9082.100184129811, "y": -2770.768792443198}, {"x": 9081.749055811033, "y": -2771.1139447724067}, {"x": 9081.397926025249, "y": -2771.4590956074576}, {"x": 9081.046794771135, "y": -2771.804244949928}, {"x": 9080.69566204869, "y": -2772.149392798241}, {"x": 9080.34452785924, "y": -2772.4945391539727}, {"x": 9079.99339220146, "y": -2772.8396840155474}, {"x": 9079.64225507535, "y": -2773.184827383753}, {"x": 9079.291116482234, "y": -2773.5299692585895}, {"x": 9078.939976420786, "y": -2773.875109640057}, {"x": 9078.58883489101, "y": -2774.220248528155}, {"x": 9078.239277824377, "y": -2774.56382699053}, {"x": 9077.889718909424, "y": -2774.9074035718113}, {"x": 9077.540157751591, "y": -2775.250977870878}, {"x": 9077.190593956328, "y": -2775.5945494858206}, {"x": 9076.841027129074, "y": -2775.9381180170935}, {"x": 9076.491456875274, "y": -2776.2816830612123}, {"x": 9076.1418828017, "y": -2776.6252442194186}, {"x": 9075.792304512468, "y": -2776.968801088228}, {"x": 9075.442721615673, "y": -2777.3123532680943}, {"x": 9075.093133716759, "y": -2777.6559003571087}, {"x": 9074.743540419842, "y": -2777.999441953362}, {"x": 9074.393941331697, "y": -2778.3429776573084}, {"x": 9074.044336057765, "y": -2778.686507065463}, {"x": 9073.694724204812, "y": -2779.0300297782806}, {"x": 9073.345105378285, "y": -2779.373545393851}, {"x": 9072.995479183628, "y": -2779.717053510266}, {"x": 9072.64584522761, "y": -2780.0605537264037}, {"x": 9072.296203115673, "y": -2780.4040456411426}, {"x": 9071.946552454587, "y": -2780.747528852574}, {"x": 9071.596892849795, "y": -2781.0910029595757}, {"x": 9071.247223908065, "y": -2781.434467560239}, {"x": 9070.89754523352, "y": -2781.7779222534427}, {"x": 9070.547856434248, "y": -2782.121366638065}, {"x": 9070.198157115698, "y": -2782.4648003114085}, {"x": 9069.848446884635, "y": -2782.808222872352}, {"x": 9069.498725346502, "y": -2783.151633918986}, {"x": 9069.148992108072, "y": -2783.495033049402}, {"x": 9068.799246776109, "y": -2783.8384198624776}, {"x": 9068.44948895606, "y": -2784.181793956304}, {"x": 9068.09971825469, "y": -2784.5251549281834}, {"x": 9067.749934277446, "y": -2784.8685023777825}, {"x": 9067.400136633743, "y": -2785.2118359016167}, {"x": 9067.050324927703, "y": -2785.5551550977757}, {"x": 9066.700498766093, "y": -2785.8984595651386}, {"x": 9066.350657757004, "y": -2786.2417489017957}, {"x": 9066.000801504559, "y": -2786.585022704262}, {"x": 9065.650929618172, "y": -2786.928280570628}, {"x": 9065.301041704612, "y": -2787.2715220997725}, {"x": 9064.951137367998, "y": -2787.614746888997}, {"x": 9064.601216217749, "y": -2787.957954535606}, {"x": 9064.25127786063, "y": -2788.3011446369005}, {"x": 9063.901321902089, "y": -2788.6443167901834}, {"x": 9063.551347951538, "y": -2788.987470594334}, {"x": 9063.201355614425, "y": -2789.330605645078}, {"x": 9062.85134449884, "y": -2789.6737215412945}, {"x": 9062.501314211551, "y": -2790.016817879498}, {"x": 9062.151264360653, "y": -2790.359894256203}, {"x": 9061.801194552912, "y": -2790.702950270288}, {"x": 9061.451104395095, "y": -2791.045985516692}, {"x": 9061.100993496622, "y": -2791.388999594293}, {"x": 9060.744104414716, "y": -2791.7386114262954}, {"x": 9060.387194404144, "y": -2792.0882018916923}, {"x": 9060.030264492336, "y": -2792.437772037813}, {"x": 9059.673315708053, "y": -2792.787322913561}, {"x": 9059.316349078726, "y": -2793.136855565478}, {"x": 9058.959365631792, "y": -2793.4863710408918}, {"x": 9058.602366396006, "y": -2793.835870388707}, {"x": 9058.24535239748, "y": -2794.185354657041}, {"x": 9057.88832466497, "y": -2794.534824894009}, {"x": 9057.531284224588, "y": -2794.8842821477288}, {"x": 9057.174232102441, "y": -2795.2337274671045}, {"x": 9056.817169327289, "y": -2795.583161900253}, {"x": 9056.46009692524, "y": -2795.9325864952903}, {"x": 9056.103015922406, "y": -2796.282002302698}, {"x": 9055.745927347543, "y": -2796.6314103698037}, {"x": 9055.388832225437, "y": -2796.9808117463003}, {"x": 9055.0317315822, "y": -2797.330207480305}, {"x": 9054.674626446587, "y": -2797.6795986222983}, {"x": 9054.31751784206, "y": -2798.028986219608}, {"x": 9053.960406798704, "y": -2798.3783713227162}, {"x": 9053.603294339977, "y": -2798.7277549797386}, {"x": 9053.246181493314, "y": -2799.077138241156}, {"x": 9052.889069284827, "y": -2799.426522154297}, {"x": 9052.531958740621, "y": -2799.7759077688543}, {"x": 9052.17485088946, "y": -2800.1252961345203}, {"x": 9051.8177467548, "y": -2800.4746883002003}, {"x": 9051.460647364078, "y": -2800.8240853147986}, {"x": 9051.103553744728, "y": -2801.17348822722}, {"x": 9050.746466922858, "y": -2801.5228980863685}, {"x": 9050.389387924579, "y": -2801.8723159419374}, {"x": 9050.032317777324, "y": -2802.2217428412555}, {"x": 9049.675257507202, "y": -2802.571179834015}, {"x": 9049.31820814165, "y": -2802.920627968332}, {"x": 9048.961170706776, "y": -2803.2700882939002}, {"x": 9048.604146230015, "y": -2803.6195618580477}, {"x": 9048.247135740121, "y": -2803.969049709679}, {"x": 9047.890140261883, "y": -2804.318552896911}, {"x": 9047.533160825384, "y": -2804.66807246786}, {"x": 9047.176198455405, "y": -2805.017609469855}, {"x": 9046.819254182034, "y": -2805.3671649510115}, {"x": 9046.4623290327, "y": -2805.7167399594473}, {"x": 9046.105424033514, "y": -2806.0663355424904}, {"x": 9045.748540215882, "y": -2806.4159527474694}, {"x": 9045.391678605916, "y": -2806.7655926209245}, {"x": 9045.034840233695, "y": -2807.1152562101843}, {"x": 9044.678026126652, "y": -2807.4649445617897}, {"x": 9044.321237314873, "y": -2807.814658722281}, {"x": 9043.965583054824, "y": -2808.16331289883}, {"x": 9043.609954958589, "y": -2808.5119937629497}, {"x": 9043.254353028815, "y": -2808.8607013130627}, {"x": 9042.898777268152, "y": -2809.209435547594}, {"x": 9042.543227679247, "y": -2809.5581964657545}, {"x": 9042.187704264748, "y": -2809.9069840659686}, {"x": 9041.832207027303, "y": -2810.2557983474485}, {"x": 9041.47673596956, "y": -2810.6046393078295}, {"x": 9041.121291094165, "y": -2810.953506946324}, {"x": 9040.765872402446, "y": -2811.3024012621436}, {"x": 9040.410479899698, "y": -2811.6513222537124}, {"x": 9040.055113587243, "y": -2812.000269919454}, {"x": 9039.69977346773, "y": -2812.3492442577926}, {"x": 9039.344459543807, "y": -2812.69824526794}, {"x": 9038.989171818122, "y": -2813.047272949108}, {"x": 9038.633910293323, "y": -2813.396327298933}, {"x": 9038.278674973384, "y": -2813.7454083166263}, {"x": 9037.923465858303, "y": -2814.0945160014003}, {"x": 9037.56828295205, "y": -2814.4436503508905}, {"x": 9037.2131262586, "y": -2814.792811364309}, {"x": 9036.857995777955, "y": -2815.141999040867}, {"x": 9036.502891515405, "y": -2815.491213378202}, {"x": 9036.14781347228, "y": -2815.840454375524}, {"x": 9035.792761651224, "y": -2816.1897220320466}, {"x": 9035.437736054888, "y": -2816.539016346193}, {"x": 9035.082736685916, "y": -2816.8883373163867}, {"x": 9034.72776354696, "y": -2817.2376849410525}, {"x": 9034.37281664199, "y": -2817.5870592194015}, {"x": 9034.01789597233, "y": -2817.936460149858}, {"x": 9033.663001539308, "y": -2818.2858877316335}, {"x": 9033.308133349537, "y": -2818.6353419631523}, {"x": 9032.953291401698, "y": -2818.98482284205}, {"x": 9032.59847569976, "y": -2819.3343303691154}, {"x": 9032.243686247699, "y": -2819.6838645411954}, {"x": 9031.888923046836, "y": -2820.03342535829}, {"x": 9031.53418609982, "y": -2820.3830128180352}, {"x": 9031.179475410621, "y": -2820.7326269196437}, {"x": 9030.824790979243, "y": -2821.082267662326}, {"x": 9030.470132810977, "y": -2821.4319350437195}, {"x": 9030.115500908476, "y": -2821.781629063035}, {"x": 9029.760895271738, "y": -2822.1313497194847}, {"x": 9029.406315906059, "y": -2822.481097010704}, {"x": 9029.051762812762, "y": -2822.830870935906}, {"x": 9028.697235994496, "y": -2823.1806714943023}, {"x": 9028.342735455233, "y": -2823.530498683528}, {"x": 9027.990468606065, "y": -2823.8781723225843}, {"x": 9027.63822357133, "y": -2824.225868062716}, {"x": 9027.285996209517, "y": -2824.5735817067275}, {"x": 9026.933782380436, "y": -2824.9213090582125}, {"x": 9026.581577941253, "y": -2825.2690459207647}, {"x": 9026.229378750455, "y": -2825.6167880979774}, {"x": 9025.877180663885, "y": -2825.9645313950195}, {"x": 9025.52497954003, "y": -2826.312271616273}, {"x": 9025.172771237378, "y": -2826.6600045653313}, {"x": 9024.820551613093, "y": -2827.0077260465755}, {"x": 9024.468316524342, "y": -2827.3554318635993}, {"x": 9024.11606183226, "y": -2827.703117819208}, {"x": 9023.763783394008, "y": -2828.0507797154182}, {"x": 9023.411477072053, "y": -2828.398413354248}, {"x": 9023.059138726203, "y": -2828.746014536139}, {"x": 9022.706764220244, "y": -2829.0935790607427}, {"x": 9022.354349416635, "y": -2829.441102725349}, {"x": 9022.001890183135, "y": -2829.788581327247}, {"x": 9021.649382383526, "y": -2830.1360106605725}, {"x": 9021.296821889538, "y": -2830.4833865194632}, {"x": 9020.944204568928, "y": -2830.8307046949035}, {"x": 9020.591526297398, "y": -2831.177960977089}, {"x": 9020.238782946672, "y": -2831.5251511514884}, {"x": 9019.885970397749, "y": -2831.8722710043576}, {"x": 9019.53308452633, "y": -2832.2193163180123}, {"x": 9019.180121218707, "y": -2832.5662828716163}, {"x": 9018.827076357202, "y": -2832.9131664427573}, {"x": 9018.473945830756, "y": -2833.2599628058697}, {"x": 9018.120725532279, "y": -2833.6066677306617}, {"x": 9017.767411354685, "y": -2833.953276986051}, {"x": 9017.413999197508, "y": -2834.2997863362284}, {"x": 9017.062952637834, "y": -2834.643775563373}, {"x": 9016.711805447905, "y": -2834.987662065635}, {"x": 9016.36055765817, "y": -2835.3314458138575}, {"x": 9016.009209300406, "y": -2835.6751267780937}, {"x": 9015.657760402419, "y": -2836.0187049283977}, {"x": 9015.306210994659, "y": -2836.3621802363996}, {"x": 9014.954561108903, "y": -2836.705552672941}, {"x": 9014.60281077428, "y": -2837.0488222072872}, {"x": 9014.25096001992, "y": -2837.3919888102805}, {"x": 9013.899008877595, "y": -2837.7350524535514}, {"x": 9013.546957376437, "y": -2838.078013107153}, {"x": 9013.194805546897, "y": -2838.420870741927}, {"x": 9012.842553418102, "y": -2838.763625327928}, {"x": 9012.49020102183, "y": -2839.106276836785}, {"x": 9012.13774838721, "y": -2839.4488252377646}, {"x": 9011.78519554469, "y": -2839.791270503284}, {"x": 9011.432542524726, "y": -2840.13361260261}, {"x": 9011.08678997665, "y": -2840.4650405906714}, {"x": 9010.73020622133, "y": -2840.7847291867765}, {"x": 9010.355619516544, "y": -2841.0830434247805}, {"x": 9009.959636116011, "y": -2841.352236604095}, {"x": 9009.54208533067, "y": -2841.5865354787165}, {"x": 9009.105172001704, "y": -2841.7823557129523}, {"x": 9008.652517033597, "y": -2841.9384058939904}, {"x": 9008.18825318618, "y": -2842.055569554165}, {"x": 9007.716306309198, "y": -2842.1365632107018}, {"x": 9007.239932707158, "y": -2842.18543362833}, {"x": 9006.76918696518, "y": -2842.2060049045326}, {"x": 9006.298029888223, "y": -2842.200032982119}, {"x": 9005.827958056765, "y": -2842.1675204411895}, {"x": 9005.360467376042, "y": -2842.1085543171876}, {"x": 9004.897048297678, "y": -2842.023306085926}, {"x": 9004.439181050599, "y": -2841.9120313790995}, {"x": 9003.988330869284, "y": -2841.775069423186}, {"x": 9003.560144927222, "y": -2841.6183246269184}, {"x": 9003.141548310912, "y": -2841.437533975475}, {"x": 9002.734237291073, "y": -2841.232586805871}, {"x": 9002.339830633366, "y": -2841.0037899601457}, {"x": 9001.959705754487, "y": -2840.7519741069414}, {"x": 9001.59479954564, "y": -2840.478561798944}, {"x": 9001.245386141001, "y": -2840.1855956081135}, {"x": 9000.910848532136, "y": -2839.875733223967}, {"x": 9000.589464448696, "y": -2839.552228086275}, {"x": 9000.278229324673, "y": -2839.218927959466}, {"x": 8999.972742356531, "y": -2838.8803381387834}, {"x": 8999.645314381774, "y": -2838.5151085067773}, {"x": 8999.317936695668, "y": -2838.1498337955136}, {"x": 8998.990609306153, "y": -2837.7845140128725}, {"x": 8998.663332218526, "y": -2837.4191491651586}, {"x": 8998.336105438084, "y": -2837.0537392594647}, {"x": 8998.00892897277, "y": -2836.688284302883}, {"x": 8997.681802827881, "y": -2836.322784302506}, {"x": 8997.354727010035, "y": -2835.9572392646382}, {"x": 8997.027701524532, "y": -2835.59164919716}, {"x": 8996.700726379313, "y": -2835.2260141063766}, {"x": 8996.373801578351, "y": -2834.8603339985916}, {"x": 8996.04692712959, "y": -2834.494608882474}, {"x": 8995.720103038324, "y": -2834.1288387627524}, {"x": 8995.393329309853, "y": -2833.763023648095}, {"x": 8995.066605953441, "y": -2833.3971635448065}, {"x": 8994.739932971741, "y": -2833.031258459979}, {"x": 8994.413310372693, "y": -2832.6653084007057}, {"x": 8994.086738162918, "y": -2832.2993133732907}, {"x": 8993.760216349036, "y": -2831.9332733848264}, {"x": 8993.433744935019, "y": -2831.5671884424055}, {"x": 8993.107323927488, "y": -2831.2010585531207}, {"x": 8992.780953334386, "y": -2830.8348837240637}, {"x": 8992.454633161009, "y": -2830.4686639623283}, {"x": 8992.12836341398, "y": -2830.10239927343}, {"x": 8991.80214409859, "y": -2829.7360896660375}, {"x": 8991.475975220139, "y": -2829.3697351464552}, {"x": 8991.149856787893, "y": -2829.0033357217762}, {"x": 8990.823788804502, "y": -2828.6368913983047}, {"x": 8990.497771279232, "y": -2828.270402183133}, {"x": 8990.171804216056, "y": -2827.9038680841413}, {"x": 8989.845887622918, "y": -2827.537289106847}, {"x": 8989.520021505114, "y": -2827.1706652599178}, {"x": 8989.19420586794, "y": -2826.8039965488706}, {"x": 8988.868440718015, "y": -2826.437282981586}, {"x": 8988.542726063286, "y": -2826.0705245643685}, {"x": 8988.217061907724, "y": -2825.7037213035223}, {"x": 8987.891448257946, "y": -2825.3368732077165}, {"x": 8987.565885120575, "y": -2824.9699802832547}, {"x": 8987.240372502232, "y": -2824.603042536442}, {"x": 8986.91491040821, "y": -2824.236059975159}, {"x": 8986.589498845131, "y": -2823.86903260571}, {"x": 8986.264137819615, "y": -2823.5019604351874}, {"x": 8985.938827336957, "y": -2823.134843470684}, {"x": 8985.61356740378, "y": -2822.767681718504}, {"x": 8985.288358025375, "y": -2822.400475186528}, {"x": 8984.96319920969, "y": -2822.0332238818487}], "type": "road_edge"}, {"geometry": [{"x": 8968.698087722561, "y": -2892.8345135580357}, {"x": 8969.101910952824, "y": -2892.541714402314}, {"x": 8969.5054389852, "y": -2892.2485085284984}, {"x": 8969.908672253965, "y": -2891.95489739292}, {"x": 8970.311611194718, "y": -2891.660882446392}, {"x": 8970.714256249681, "y": -2891.366465142093}, {"x": 8971.116607863723, "y": -2891.0716469261088}, {"x": 8971.518666483034, "y": -2890.776429246889}, {"x": 8971.920432559104, "y": -2890.4808135473672}, {"x": 8972.321906548716, "y": -2890.184801270477}, {"x": 8972.723088912626, "y": -2889.8883938552103}, {"x": 8973.123980110267, "y": -2889.591592740562}, {"x": 8973.524580610341, "y": -2889.294399362372}, {"x": 8973.924890882872, "y": -2888.9968151533294}, {"x": 8974.324911401854, "y": -2888.6988415453347}, {"x": 8974.724642643934, "y": -2888.400479967924}, {"x": 8975.124085091053, "y": -2888.101731849058}, {"x": 8975.5232392278, "y": -2887.8025986119687}, {"x": 8975.922105542732, "y": -2887.503081681464}, {"x": 8976.320684525735, "y": -2887.203182478412}, {"x": 8976.718976675964, "y": -2886.90290241974}, {"x": 8977.116982488598, "y": -2886.6022429239515}, {"x": 8977.514702469412, "y": -2886.301205404822}, {"x": 8977.912137121528, "y": -2885.9997912753392}, {"x": 8978.309286956015, "y": -2885.6980019453376}, {"x": 8978.706152485269, "y": -2885.395838822288}, {"x": 8979.102734226975, "y": -2885.093303313661}, {"x": 8979.499032698825, "y": -2884.7903968222}, {"x": 8979.89504842645, "y": -2884.4871207506467}, {"x": 8980.290781935484, "y": -2884.183476497804}, {"x": 8980.686233756856, "y": -2883.879465461685}, {"x": 8981.08140442282, "y": -2883.5750890387285}, {"x": 8981.476294472246, "y": -2883.2703486206437}, {"x": 8981.870904444011, "y": -2882.965245599141}, {"x": 8982.265234880957, "y": -2882.6597813643534}, {"x": 8982.659286332551, "y": -2882.3539573032626}, {"x": 8983.053059348258, "y": -2882.0477747989094}, {"x": 8983.446554481516, "y": -2881.741235236699}, {"x": 8983.83977228841, "y": -2881.4343399957324}, {"x": 8984.232713331643, "y": -2881.12709045511}, {"x": 8984.625378172599, "y": -2880.819487991569}, {"x": 8985.01776737928, "y": -2880.511533980269}, {"x": 8985.409881521009, "y": -2880.203229791643}, {"x": 8985.801721172409, "y": -2879.894576797699}, {"x": 8986.188911185332, "y": -2879.589031642007}, {"x": 8986.575831324759, "y": -2879.2831447940043}, {"x": 8986.962479537144, "y": -2878.9769142803952}, {"x": 8987.348853762325, "y": -2878.6703381333996}, {"x": 8987.73495193749, "y": -2878.3634143876025}, {"x": 8988.120771989234, "y": -2878.056141085468}, {"x": 8988.506311844154, "y": -2877.7485162726134}, {"x": 8988.89156941958, "y": -2877.440538000961}, {"x": 8989.276542626216, "y": -2877.1322043271607}, {"x": 8989.661229370802, "y": -2876.8235133125904}, {"x": 8990.045627554775, "y": -2876.5144630249333}, {"x": 8990.429735071633, "y": -2876.2050515358123}, {"x": 8990.813549809574, "y": -2875.895276923155}, {"x": 8991.197069651504, "y": -2875.5851372704055}, {"x": 8991.580292473705, "y": -2875.2746306641593}, {"x": 8991.963216147165, "y": -2874.9637552004706}, {"x": 8992.345838536252, "y": -2874.652508976179}, {"x": 8992.728157498714, "y": -2874.340890097583}, {"x": 8993.110170888323, "y": -2874.02889667492}, {"x": 8993.491876548269, "y": -2873.7165268239446}, {"x": 8993.873272321729, "y": -2873.403778665928}, {"x": 8994.254356039974, "y": -2873.090650328444}, {"x": 8994.63512553162, "y": -2872.777139944586}, {"x": 8995.015578618671, "y": -2872.463245652172}, {"x": 8995.395713113854, "y": -2872.1489655969044}, {"x": 8995.775526828578, "y": -2871.834297929211}, {"x": 8996.155017563657, "y": -2871.519240804249}, {"x": 8996.534183115935, "y": -2871.2037923858443}, {"x": 8996.913021275635, "y": -2870.8879508409755}, {"x": 8997.29152982371, "y": -2870.5717143452885}, {"x": 8997.669706539793, "y": -2870.2550810783705}, {"x": 8998.047549192921, "y": -2869.9380492269015}, {"x": 8998.425055546837, "y": -2869.620616983865}, {"x": 8998.80222335999, "y": -2869.3027825485497}, {"x": 8999.179050382878, "y": -2868.984544124972}, {"x": 8999.55553436071, "y": -2868.665899925818}, {"x": 8999.931673029427, "y": -2868.346848168501}, {"x": 9000.307464122314, "y": -2868.027387077527}, {"x": 9000.682905362073, "y": -2867.7075148837066}, {"x": 9001.057994468752, "y": -2867.387229824156}, {"x": 9001.432729151811, "y": -2867.0665301430818}, {"x": 9001.80710711806, "y": -2866.745414090209}, {"x": 9002.181126063717, "y": -2866.423879922354}, {"x": 9002.554783681026, "y": -2866.1019259042137}, {"x": 9002.928077652965, "y": -2865.7795503060015}, {"x": 9003.301005659867, "y": -2865.456751404236}, {"x": 9003.673565370143, "y": -2865.133527484104}, {"x": 9004.04575444956, "y": -2864.8098768355203}, {"x": 9004.417570554615, "y": -2864.48579775628}, {"x": 9004.789011336508, "y": -2864.1612885520603}, {"x": 9005.160074437175, "y": -2863.8363475348415}, {"x": 9005.530757494578, "y": -2863.51097302212}, {"x": 9005.901058138732, "y": -2863.1851633408505}, {"x": 9006.270973991712, "y": -2862.8589168242906}, {"x": 9006.62994700729, "y": -2862.54157632613}, {"x": 9006.988557885552, "y": -2862.22382663301}, {"x": 9007.34680986238, "y": -2861.905672326699}, {"x": 9007.70470618823, "y": -2861.5871179771416}, {"x": 9008.062250125464, "y": -2861.2681681408876}, {"x": 9008.41944495499, "y": -2860.9488273642405}, {"x": 9008.776293968302, "y": -2860.629100181684}, {"x": 9009.132800470132, "y": -2860.3089911158804}, {"x": 9009.488967782434, "y": -2859.9885046768836}, {"x": 9009.844799239067, "y": -2859.66764536529}, {"x": 9010.200298185811, "y": -2859.3464176682996}, {"x": 9010.555467984339, "y": -2859.0248260644435}, {"x": 9010.910312006905, "y": -2858.7028750180684}, {"x": 9011.264833640338, "y": -2858.3805689848514}, {"x": 9011.619036282053, "y": -2858.0579124086494}, {"x": 9011.972923345353, "y": -2857.734909723074}, {"x": 9012.33371771377, "y": -2857.4049571230184}, {"x": 9012.694192057737, "y": -2857.074654906733}, {"x": 9013.054351404535, "y": -2856.744009232889}, {"x": 9013.41420080262, "y": -2856.4130262443937}, {"x": 9013.773745313692, "y": -2856.081712069972}, {"x": 9014.132990019314, "y": -2855.7500728233745}, {"x": 9014.491940015609, "y": -2855.4181146041665}, {"x": 9014.850600411943, "y": -2855.0858434969405}, {"x": 9015.208976336215, "y": -2854.7532655744685}, {"x": 9015.567072932216, "y": -2854.4203868929735}, {"x": 9015.92489535565, "y": -2854.0872134984324}, {"x": 9016.282448776788, "y": -2853.753751421062}, {"x": 9016.639738384436, "y": -2853.4200066800463}, {"x": 9016.996769376665, "y": -2853.0859852811723}, {"x": 9017.353546967437, "y": -2852.7516932168296}, {"x": 9017.710076382631, "y": -2852.4171364683752}, {"x": 9018.06636286269, "y": -2852.082321005345}, {"x": 9018.422411658647, "y": -2851.747252785455}, {"x": 9018.77822803875, "y": -2851.4119377538113}, {"x": 9019.133817276537, "y": -2851.076381846063}, {"x": 9019.489184662765, "y": -2850.7405909852523}, {"x": 9019.844335498783, "y": -2850.40457108575}, {"x": 9020.199275093879, "y": -2850.068328048532}, {"x": 9020.55400877191, "y": -2849.7318677674803}, {"x": 9020.908541865994, "y": -2849.395196125445}, {"x": 9021.262879719852, "y": -2849.0583189934555}, {"x": 9021.617027686463, "y": -2848.721242237024}, {"x": 9021.970991132053, "y": -2848.383971708266}, {"x": 9022.324775425492, "y": -2848.046513254569}, {"x": 9022.678385952862, "y": -2847.708872710711}, {"x": 9023.031828102898, "y": -2847.3710559067426}, {"x": 9023.385107276245, "y": -2847.0330686608927}, {"x": 9023.738228880171, "y": -2846.6949167866615}, {"x": 9024.091198332537, "y": -2846.356606088094}, {"x": 9024.444021055171, "y": -2846.0181423613526}, {"x": 9024.796702480502, "y": -2845.6795313978732}, {"x": 9025.149248047572, "y": -2845.3407789804223}, {"x": 9025.501663202042, "y": -2845.001890885462}, {"x": 9025.853953394877, "y": -2844.6628728831497}, {"x": 9026.206124084978, "y": -2844.323730738127}, {"x": 9026.558180736545, "y": -2843.9844702079417}, {"x": 9026.910128821724, "y": -2843.6450970454152}, {"x": 9027.261973813982, "y": -2843.3056169986385}, {"x": 9027.621322883577, "y": -2842.9586934887398}, {"x": 9027.980571475176, "y": -2842.611665927658}, {"x": 9028.339720989585, "y": -2842.264535823736}, {"x": 9028.698772827607, "y": -2841.9173046853152}, {"x": 9029.057728390053, "y": -2841.5699740183745}, {"x": 9029.416589084343, "y": -2841.222545328104}, {"x": 9029.775356312608, "y": -2840.8750201196926}, {"x": 9030.134031482276, "y": -2840.527399895179}, {"x": 9030.492616000769, "y": -2840.1796861566004}, {"x": 9030.851111276837, "y": -2839.8318804052064}, {"x": 9031.209518720554, "y": -2839.4839841398834}, {"x": 9031.567839741996, "y": -2839.1359988595163}, {"x": 9031.92607575388, "y": -2838.7879260622026}, {"x": 9032.28422816893, "y": -2838.4397672436753}, {"x": 9032.642298401192, "y": -2838.09152389888}, {"x": 9033.00028786471, "y": -2837.74319752355}, {"x": 9033.358197978827, "y": -2837.3947896110544}, {"x": 9033.716030157586, "y": -2837.046301652398}, {"x": 9034.073785821656, "y": -2836.697735140162}, {"x": 9034.431466389053, "y": -2836.3490915653515}, {"x": 9034.78907328044, "y": -2836.0003724166068}, {"x": 9035.146607915163, "y": -2835.6515791825686}, {"x": 9035.504071717856, "y": -2835.3027133518785}, {"x": 9035.861466110513, "y": -2834.953776410812}, {"x": 9036.218792515117, "y": -2834.604769846435}, {"x": 9036.57605235896, "y": -2834.255695142659}, {"x": 9036.933247066676, "y": -2833.906553784973}, {"x": 9037.290378064228, "y": -2833.5573472572887}, {"x": 9037.647446778901, "y": -2833.2080770411553}, {"x": 9038.004454639306, "y": -2832.858744619697}, {"x": 9038.361403072726, "y": -2832.509351473673}, {"x": 9038.718293509097, "y": -2832.1598990838447}, {"x": 9039.075127379674, "y": -2831.810388930972}, {"x": 9039.431906115718, "y": -2831.4608224926624}, {"x": 9039.788631145837, "y": -2831.1112012481008}, {"x": 9040.145303905261, "y": -2830.76152667647}, {"x": 9040.501925826571, "y": -2830.411800253015}, {"x": 9040.858498341026, "y": -2830.062023454555}, {"x": 9041.215022886501, "y": -2829.7121977586985}, {"x": 9041.571500894257, "y": -2829.3623246391126}, {"x": 9041.92793380217, "y": -2829.0124055710417}, {"x": 9042.28432304547, "y": -2828.662442029729}, {"x": 9042.640670059387, "y": -2828.3124354872666}, {"x": 9042.996976283122, "y": -2827.9623874181098}, {"x": 9043.35324315323, "y": -2827.6122992943506}, {"x": 9043.709472107586, "y": -2827.26217258808}, {"x": 9044.065664585396, "y": -2826.91200877139}, {"x": 9044.421822024533, "y": -2826.5618093155836}, {"x": 9044.777945865528, "y": -2826.211575691177}, {"x": 9045.134037547577, "y": -2825.8613093686854}, {"x": 9045.490098512535, "y": -2825.5110118186235}, {"x": 9045.846130198275, "y": -2825.160684509932}, {"x": 9046.202134047975, "y": -2824.810328912337}, {"x": 9046.558111502158, "y": -2824.45994649399}, {"x": 9046.914064002676, "y": -2824.109538725407}, {"x": 9047.269992991376, "y": -2823.7591070731632}, {"x": 9047.625899911434, "y": -2823.4086530054096}, {"x": 9047.981786204698, "y": -2823.0581779902973}, {"x": 9048.337653313021, "y": -2822.7076834959776}, {"x": 9048.693502682221, "y": -2822.3571709882376}, {"x": 9049.049335752825, "y": -2822.006641936017}, {"x": 9049.405153969332, "y": -2821.6560978043144}, {"x": 9049.760958776238, "y": -2821.3055400604935}, {"x": 9050.116751616719, "y": -2820.954970171129}, {"x": 9050.472533935272, "y": -2820.6043896027963}, {"x": 9050.828307175068, "y": -2820.253799821282}, {"x": 9051.184072780608, "y": -2819.9032022923743}, {"x": 9051.539832197714, "y": -2819.5525984834353}, {"x": 9051.895586869558, "y": -2819.2019898586764}, {"x": 9052.251338240638, "y": -2818.851377885461}, {"x": 9052.607087755452, "y": -2818.5007640279996}, {"x": 9052.9628368585, "y": -2818.150149753656}, {"x": 9053.3185869956, "y": -2817.799536527429}, {"x": 9053.674339609928, "y": -2817.4489258158937}, {"x": 9054.030096145982, "y": -2817.0983190832612}, {"x": 9054.38585804826, "y": -2816.747717797683}, {"x": 9054.741626762581, "y": -2816.397123422581}, {"x": 9055.097403732121, "y": -2816.046537426108}, {"x": 9055.453190401378, "y": -2815.6959612740498}, {"x": 9055.80898821485, "y": -2815.345396431406}, {"x": 9056.159655545527, "y": -2814.999910760145}, {"x": 9056.510335057119, "y": -2814.654437454296}, {"x": 9056.86102670461, "y": -2814.3089764689394}, {"x": 9057.21173044431, "y": -2813.963527758367}, {"x": 9057.562446228552, "y": -2813.618091277661}, {"x": 9057.91317401497, "y": -2813.272666981901}, {"x": 9058.263913755896, "y": -2812.9272548269555}, {"x": 9058.614665407642, "y": -2812.5818547663303}, {"x": 9058.965428925188, "y": -2812.2364667566817}, {"x": 9059.316204262195, "y": -2811.891090752302}, {"x": 9059.66699137497, "y": -2811.5457267074844}, {"x": 9060.017790218499, "y": -2811.200374578885}, {"x": 9060.368600746438, "y": -2810.8550343200095}, {"x": 9060.719422913773, "y": -2810.5097058859374}, {"x": 9061.070256676809, "y": -2810.1643892325387}, {"x": 9061.421101989208, "y": -2809.819084314105}, {"x": 9061.771958805954, "y": -2809.4737910865056}, {"x": 9062.122827082028, "y": -2809.128509503245}, {"x": 9062.47370677374, "y": -2808.7832395209803}, {"x": 9062.82459783475, "y": -2808.4379810932155}, {"x": 9063.175500218713, "y": -2808.0927341750316}, {"x": 9063.526413883266, "y": -2807.7474987222977}, {"x": 9063.877338782066, "y": -2807.4022746900946}, {"x": 9064.228274870096, "y": -2807.057062031926}, {"x": 9064.57922210234, "y": -2806.7118607044495}, {"x": 9064.930180433783, "y": -2806.3666706611693}, {"x": 9065.281149818084, "y": -2806.0214918571664}, {"x": 9065.632130212873, "y": -2805.67632424831}, {"x": 9065.983121571811, "y": -2805.33116778968}, {"x": 9066.334123849882, "y": -2804.986022434781}, {"x": 9066.685137000744, "y": -2804.6408881394823}, {"x": 9067.03616098203, "y": -2804.2957648580764}, {"x": 9067.387195746074, "y": -2803.950652546432}, {"x": 9067.73824125051, "y": -2803.605551158842}, {"x": 9068.089297447672, "y": -2803.2604606503864}, {"x": 9068.440364295191, "y": -2802.915380975359}, {"x": 9068.791441745403, "y": -2802.5703120896274}, {"x": 9069.142529754616, "y": -2802.225253947485}, {"x": 9069.493628279137, "y": -2801.880206504012}, {"x": 9069.844737272628, "y": -2801.53516971429}, {"x": 9070.195856688744, "y": -2801.190143532611}, {"x": 9070.54698648512, "y": -2800.8451279140554}, {"x": 9070.898126615415, "y": -2800.500122813705}, {"x": 9071.249277035937, "y": -2800.155128186639}, {"x": 9071.60043769902, "y": -2799.8101439871516}, {"x": 9071.951608562296, "y": -2799.4651701703224}, {"x": 9072.302789579426, "y": -2799.120206690445}, {"x": 9072.653980706715, "y": -2798.775253503387}, {"x": 9073.005181897826, "y": -2798.4303105642302}, {"x": 9073.356393109063, "y": -2798.0853778264786}, {"x": 9073.707614294088, "y": -2797.740455245213}, {"x": 9074.058845409209, "y": -2797.3955427763026}, {"x": 9074.410086409407, "y": -2797.0506403740396}, {"x": 9074.761337248343, "y": -2796.705747992717}, {"x": 9075.112597883648, "y": -2796.360865588203}, {"x": 9075.46386826766, "y": -2796.015993114003}, {"x": 9075.815148356683, "y": -2795.671130525985}, {"x": 9076.166438107028, "y": -2795.326277778442}, {"x": 9076.51785576626, "y": -2794.9813187235077}, {"x": 9076.869283048418, "y": -2794.6363694712218}, {"x": 9077.22071995085, "y": -2794.2914300215834}, {"x": 9077.57216647356, "y": -2793.946500374594}, {"x": 9077.92362261787, "y": -2793.601580531041}, {"x": 9078.275088382454, "y": -2793.2566704901355}, {"x": 9078.626563767313, "y": -2792.911770253455}, {"x": 9078.978048771127, "y": -2792.5668798209986}, {"x": 9079.329543395215, "y": -2792.2219991919783}, {"x": 9079.681047638254, "y": -2791.8771283679707}, {"x": 9080.032561500248, "y": -2791.5322673481874}, {"x": 9080.384084981191, "y": -2791.1874161342043}, {"x": 9080.735618081088, "y": -2790.842574725234}, {"x": 9081.08716079861, "y": -2790.497743121276}, {"x": 9081.438713133763, "y": -2790.152921323119}, {"x": 9081.790275086541, "y": -2789.8081093315495}, {"x": 9082.141846656948, "y": -2789.463307145781}, {"x": 9082.49342784366, "y": -2789.1185147673896}, {"x": 9082.845018647999, "y": -2788.773732195586}, {"x": 9083.196619068642, "y": -2788.4289594303714}, {"x": 9083.548229105589, "y": -2788.084196473321}, {"x": 9083.899848758838, "y": -2787.7394433228596}, {"x": 9084.251478028393, "y": -2787.3946999813506}, {"x": 9084.603116911603, "y": -2787.049966448006}, {"x": 9084.954765411117, "y": -2786.705242722827}, {"x": 9085.30642352561, "y": -2786.3605288065996}, {"x": 9085.65809125376, "y": -2786.0158246993255}, {"x": 9086.009768596889, "y": -2785.671130401004}, {"x": 9086.361455555, "y": -2785.3264459124234}, {"x": 9086.71315212544, "y": -2784.9817712335835}, {"x": 9087.06485831086, "y": -2784.6371063652723}, {"x": 9087.416574108613, "y": -2784.292451306702}, {"x": 9087.768299518697, "y": -2783.9478060594483}, {"x": 9088.120034542437, "y": -2783.603170622724}], "type": "road_line"}, {"geometry": [{"x": 9050.442447649211, "y": -2823.8854082665043}, {"x": 9050.79146513435, "y": -2823.5437738444625}, {"x": 9051.140592139169, "y": -2823.2022513470865}, {"x": 9051.489818574688, "y": -2822.8608305264756}, {"x": 9051.839134370468, "y": -2822.5195011339415}, {"x": 9052.18852946931, "y": -2822.1782529207944}, {"x": 9052.537993829901, "y": -2821.8370756391346}, {"x": 9052.887517422847, "y": -2821.4959590402723}, {"x": 9053.237090231989, "y": -2821.1548928786715}, {"x": 9053.586702250443, "y": -2820.8138669087953}, {"x": 9053.936343480587, "y": -2820.4728708906237}, {"x": 9054.286003935395, "y": -2820.1318945841363}, {"x": 9054.635673629164, "y": -2819.790927754041}, {"x": 9054.985342588105, "y": -2819.449960169775}, {"x": 9055.335000839756, "y": -2819.1089816047142}, {"x": 9055.684638414301, "y": -2818.7679818369647}, {"x": 9056.034245345898, "y": -2818.4269506532996}, {"x": 9056.383811668704, "y": -2818.085877842857}, {"x": 9056.73332741555, "y": -2817.744753203443}, {"x": 9057.082782617945, "y": -2817.4035665407455}, {"x": 9057.432167306075, "y": -2817.062307668332}, {"x": 9057.781471503506, "y": -2816.7209664076504}, {"x": 9058.130685232476, "y": -2816.3795325896062}, {"x": 9058.47979850331, "y": -2816.0379960529845}, {"x": 9058.828801323685, "y": -2815.696346649968}, {"x": 9059.177683689362, "y": -2815.3545742406195}, {"x": 9059.526435586835, "y": -2815.012668697612}, {"x": 9059.878211232606, "y": -2814.6675195616126}, {"x": 9060.229850556712, "y": -2814.3222315375574}, {"x": 9060.58136029573, "y": -2813.9768115910874}, {"x": 9060.932747194176, "y": -2813.631266678386}, {"x": 9061.284018003196, "y": -2813.285603751698}, {"x": 9061.635179484518, "y": -2812.939829754598}, {"x": 9061.986238402525, "y": -2812.593951624358}, {"x": 9062.337201528218, "y": -2812.2479762919434}, {"x": 9062.68807564054, "y": -2811.9019106835926}, {"x": 9063.03886752241, "y": -2811.555761719239}, {"x": 9063.389583960716, "y": -2811.2095363140884}, {"x": 9063.740231750287, "y": -2810.8632413809814}, {"x": 9064.090817684639, "y": -2810.5168838256673}, {"x": 9064.441348565219, "y": -2810.1704705515294}, {"x": 9064.791831196131, "y": -2809.8240084595886}, {"x": 9065.142272382798, "y": -2809.477504446925}, {"x": 9065.492678934621, "y": -2809.1309654082543}, {"x": 9065.843057662316, "y": -2808.7843982359277}, {"x": 9066.193415379255, "y": -2808.4378098222974}, {"x": 9066.543758897482, "y": -2808.09120705735}, {"x": 9066.894095034339, "y": -2807.744596829498}, {"x": 9067.24443060187, "y": -2807.397986027151}, {"x": 9067.594772417417, "y": -2807.0513815402983}, {"x": 9067.945127295672, "y": -2806.70479025735}, {"x": 9068.295502050007, "y": -2806.358219067506}, {"x": 9068.645903492463, "y": -2806.0116748631176}, {"x": 9068.996338436411, "y": -2805.6651645357488}, {"x": 9069.3468136886, "y": -2805.3186949801147}, {"x": 9069.697336058429, "y": -2804.972273093296}, {"x": 9070.047912347347, "y": -2804.6259057755237}, {"x": 9070.398549358133, "y": -2804.2795999286077}, {"x": 9070.749253886943, "y": -2803.9333624590836}, {"x": 9071.100032727289, "y": -2803.5872002790043}, {"x": 9071.450892667379, "y": -2803.2411203012116}, {"x": 9071.801840492783, "y": -2802.895129447215}, {"x": 9072.152882978467, "y": -2802.5492346401}, {"x": 9072.504026900735, "y": -2802.2034428108336}, {"x": 9072.855279025289, "y": -2801.857760895898}, {"x": 9073.206646112534, "y": -2801.5121958380805}, {"x": 9073.55813491494, "y": -2801.166754587262}, {"x": 9073.90975217967, "y": -2800.821444098837}, {"x": 9074.261504645954, "y": -2800.476271338448}, {"x": 9074.613399041096, "y": -2800.1312432772515}, {"x": 9074.965442089757, "y": -2799.7863668958616}, {"x": 9075.31764050336, "y": -2799.4416491843494}, {"x": 9075.670000984053, "y": -2799.0970971398783}, {"x": 9076.02253022737, "y": -2798.7527177714314}, {"x": 9076.375234915602, "y": -2798.4085180958746}, {"x": 9076.728121721773, "y": -2798.064505141893}, {"x": 9077.081197306992, "y": -2797.7206859484168}, {"x": 9077.434468320449, "y": -2797.3770675654087}, {"x": 9077.787941402068, "y": -2797.0336570538657}, {"x": 9078.141623177207, "y": -2796.690461486604}, {"x": 9078.491458943206, "y": -2796.3514128651022}, {"x": 9078.841485864854, "y": -2796.0125615944967}, {"x": 9079.191684725432, "y": -2795.673888026935}, {"x": 9079.54203634132, "y": -2795.335372486196}, {"x": 9079.892521551408, "y": -2794.996995267688}, {"x": 9080.243121222391, "y": -2794.6587366479052}, {"x": 9080.593816239494, "y": -2794.3205768812777}, {"x": 9080.944587503838, "y": -2793.9824962072607}, {"x": 9081.295415928456, "y": -2793.6444748511262}, {"x": 9081.646282440946, "y": -2793.3064930294763}, {"x": 9081.997167971555, "y": -2792.9685309533975}, {"x": 9082.348053454498, "y": -2792.6305688284588}, {"x": 9082.698919827966, "y": -2792.2925868625944}, {"x": 9083.049748019557, "y": -2791.9545652645265}, {"x": 9083.40051895687, "y": -2791.616484251645}, {"x": 9083.751213554264, "y": -2791.2783240500094}, {"x": 9084.101812712852, "y": -2790.940064898288}, {"x": 9084.452297317866, "y": -2790.601687052486}, {"x": 9084.80264823203, "y": -2790.263170786734}, {"x": 9085.152846299523, "y": -2789.9244963988044}, {"x": 9085.502872334082, "y": -2789.585644211688}, {"x": 9085.852707118987, "y": -2789.246594577532}, {"x": 9086.202331405742, "y": -2788.9073278815845}, {"x": 9086.551725908777, "y": -2788.5678245437666}, {"x": 9086.900871304131, "y": -2788.2280650241896}, {"x": 9087.249748221497, "y": -2787.888029823946}, {"x": 9087.598337245552, "y": -2787.5476994914097}, {"x": 9087.946618913313, "y": -2787.2070546222394}, {"x": 9088.29457370486, "y": -2786.866075865681}, {"x": 9088.642182047313, "y": -2786.5247439253567}, {"x": 9088.989424306892, "y": -2786.1830395647803}, {"x": 9089.336280787582, "y": -2785.8409436097236}, {"x": 9089.68273172717, "y": -2785.4984369513663}, {"x": 9090.028757295922, "y": -2785.155500551025}, {"x": 9090.37433758863, "y": -2784.812115440942}, {"x": 9090.719452629912, "y": -2784.4682627305883}, {"x": 9091.069013856593, "y": -2784.1190204455797}, {"x": 9091.418149139137, "y": -2783.7693523226244}, {"x": 9091.766932034392, "y": -2783.419332683433}, {"x": 9092.115436322963, "y": -2783.0690356251193}, {"x": 9092.463735961548, "y": -2782.718535071425}, {"x": 9092.811905033948, "y": -2782.367904813698}, {"x": 9093.160017711356, "y": -2782.0172185597507}, {"x": 9093.508148194085, "y": -2781.6665499850874}, {"x": 9093.856370677157, "y": -2781.3159727730917}, {"x": 9094.204759294686, "y": -2780.9655606662523}, {"x": 9094.553388073546, "y": -2780.6153875142318}, {"x": 9094.902330894964, "y": -2780.2655273172145}, {"x": 9095.25166143495, "y": -2779.916054274761}, {"x": 9095.601453128538, "y": -2779.5670428330955}, {"x": 9095.951779111543, "y": -2779.2185677284465}, {"x": 9096.302712182149, "y": -2778.8707040382715}, {"x": 9096.654324747959, "y": -2778.523527219084}, {"x": 9096.9980343432, "y": -2778.185561672399}, {"x": 9097.342403662165, "y": -2777.8482683735056}, {"x": 9097.687377558404, "y": -2777.5115934413298}, {"x": 9098.03290117675, "y": -2777.175482701642}, {"x": 9098.378919932133, "y": -2776.8398817146367}, {"x": 9098.7253794831, "y": -2776.5047358040897}, {"x": 9099.07222570534, "y": -2776.1699900778513}, {"x": 9099.419404666522, "y": -2775.8355894609413}, {"x": 9099.766862599816, "y": -2775.5014787168266}, {"x": 9100.114545874765, "y": -2775.167602475795}, {"x": 9100.462400977429, "y": -2774.8339052585916}, {"x": 9100.810374477274, "y": -2774.5003315047934}, {"x": 9101.15841300203, "y": -2774.1668255964487}, {"x": 9101.50646321252, "y": -2773.8333318848713}, {"x": 9101.854471778839, "y": -2773.499794714282}, {"x": 9102.202385344604, "y": -2773.1661584525446}, {"x": 9102.55015051106, "y": -2772.832367507713}, {"x": 9102.897713801336, "y": -2772.498366364283}, {"x": 9103.24502163926, "y": -2772.164099601317}, {"x": 9103.592020322882, "y": -2771.829511919238}, {"x": 9103.93865599401, "y": -2771.4945481689892}, {"x": 9104.284874617046, "y": -2771.1591533764617}, {"x": 9104.639323170275, "y": -2770.81483338973}, {"x": 9104.993297756107, "y": -2770.4700261485723}, {"x": 9105.346819766613, "y": -2770.1247548928063}, {"x": 9105.6999106839, "y": -2769.77904277714}, {"x": 9106.052592074804, "y": -2769.4329128743234}, {"x": 9106.404885585614, "y": -2769.0863881790883}, {"x": 9106.756812939404, "y": -2768.73949161209}, {"x": 9107.108395932068, "y": -2768.392246023846}, {"x": 9107.459656427029, "y": -2768.044674201041}, {"x": 9107.810616347286, "y": -2767.696798867315}, {"x": 9108.16129767807, "y": -2767.3486426879927}, {"x": 9108.511722457575, "y": -2767.0002282771743}, {"x": 9108.861912770328, "y": -2766.651578199312}, {"x": 9109.211890752495, "y": -2766.3027149731524}, {"x": 9109.561678574672, "y": -2765.953661078037}, {"x": 9109.911298448493, "y": -2765.6044389562694}, {"x": 9110.260772614722, "y": -2765.255071017844}, {"x": 9110.6101233459, "y": -2764.905579644383}, {"x": 9110.959372934427, "y": -2764.5559871962328}, {"x": 9111.30854369389, "y": -2764.206316011674}, {"x": 9111.657657953763, "y": -2763.856588414801}, {"x": 9112.006738052785, "y": -2763.5068267186766}, {"x": 9112.355806337642, "y": -2763.157053231635}, {"x": 9112.704885155019, "y": -2762.807290256493}, {"x": 9113.053996851602, "y": -2762.4575601007973}, {"x": 9113.403163767458, "y": -2762.1078850768217}, {"x": 9113.752408230732, "y": -2761.758287508662}, {"x": 9114.10175255766, "y": -2761.408789734597}, {"x": 9114.451219043292, "y": -2761.059414111034}, {"x": 9114.80082995752, "y": -2760.7101830203833}, {"x": 9115.150607546402, "y": -2760.3611188702744}, {"x": 9115.500574021577, "y": -2760.012244100647}, {"x": 9115.850751557608, "y": -2759.6635811892675}, {"x": 9116.201162290661, "y": -2759.3151526525166}, {"x": 9116.551828310565, "y": -2758.9669810509076}, {"x": 9116.902771658155, "y": -2758.6190889969644}, {"x": 9117.25401431999, "y": -2758.27149915207}, {"x": 9117.608467734995, "y": -2757.9213689294866}, {"x": 9117.96322840567, "y": -2757.5715500329907}, {"x": 9118.318277071603, "y": -2757.2220234475412}, {"x": 9118.673594522696, "y": -2756.872770106873}, {"x": 9119.02916159254, "y": -2756.5237709029534}, {"x": 9119.384959153125, "y": -2756.1750066867717}, {"x": 9119.740968116163, "y": -2755.82645827149}, {"x": 9120.097169430432, "y": -2755.4781064355957}, {"x": 9120.453544075168, "y": -2755.1299319260543}, {"x": 9120.810073058734, "y": -2754.7819154622484}, {"x": 9121.166737413325, "y": -2754.434037737556}, {"x": 9121.523518196293, "y": -2754.0862794240766}, {"x": 9121.880396483522, "y": -2753.73862117342}, {"x": 9122.237353366792, "y": -2753.3910436230126}, {"x": 9122.59436995244, "y": -2753.0435273960934}, {"x": 9122.951427353424, "y": -2752.696053108023}, {"x": 9123.308506694622, "y": -2752.3486013654915}, {"x": 9123.665589099586, "y": -2752.0011527720385}, {"x": 9124.022655697163, "y": -2751.653687932778}, {"x": 9124.379687608256, "y": -2751.3061874520376}, {"x": 9124.736665951123, "y": -2750.9586319420246}, {"x": 9125.093571836072, "y": -2750.6110020236147}, {"x": 9125.450386358854, "y": -2750.2632783287163}, {"x": 9125.807090601975, "y": -2749.9154415050007}, {"x": 9126.163665626756, "y": -2749.567472215898}, {"x": 9126.520092475988, "y": -2749.219351149269}, {"x": 9126.876352165975, "y": -2748.871059015041}, {"x": 9127.232425685219, "y": -2748.522576550722}, {"x": 9127.587800101956, "y": -2748.1743803238896}, {"x": 9127.942985594003, "y": -2747.8259913752117}, {"x": 9128.297997893282, "y": -2747.477425937886}, {"x": 9128.652852756864, "y": -2747.128700219105}, {"x": 9129.007565960363, "y": -2746.77983040636}, {"x": 9129.362153304543, "y": -2746.4308326682276}, {"x": 9129.716630604737, "y": -2746.0817231535843}, {"x": 9130.071013689512, "y": -2745.7325179986965}, {"x": 9130.425318403333, "y": -2745.383233326435}, {"x": 9130.77956060125, "y": -2745.033885248636}, {"x": 9131.13375614493, "y": -2744.6844898692575}, {"x": 9131.487920906644, "y": -2744.3350632851625}, {"x": 9131.842070757326, "y": -2743.9856215892755}, {"x": 9132.196221574537, "y": -2743.6361808721563}, {"x": 9132.550389233189, "y": -2743.286757225152}, {"x": 9132.904589608193, "y": -2742.937366741975}, {"x": 9133.258838566517, "y": -2742.5880255202774}, {"x": 9133.613151971156, "y": -2742.238749664804}, {"x": 9133.96754567584, "y": -2741.88955528818}, {"x": 9134.322035522377, "y": -2741.540458514063}, {"x": 9134.676637339338, "y": -2741.1914754810855}, {"x": 9135.021101836277, "y": -2740.852707743007}, {"x": 9135.365684002192, "y": -2740.5140596966903}, {"x": 9135.710381007666, "y": -2740.1755285453187}, {"x": 9136.055190027259, "y": -2739.8371114889237}, {"x": 9136.400108239499, "y": -2739.4988057251726}, {"x": 9136.745132822914, "y": -2739.1606084477917}, {"x": 9137.090260960007, "y": -2738.822516849721}, {"x": 9137.435489834601, "y": -2738.4845281191706}, {"x": 9137.780816637143, "y": -2738.1466394443505}, {"x": 9138.12623855543, "y": -2737.8088480095316}, {"x": 9138.471752782552, "y": -2737.47115099662}, {"x": 9138.817356512931, "y": -2737.1335455859453}, {"x": 9139.163046944954, "y": -2736.7960289538973}, {"x": 9139.508821275684, "y": -2736.458598277654}, {"x": 9139.85467670881, "y": -2736.1212507288765}, {"x": 9140.200610445369, "y": -2735.7839834808024}, {"x": 9140.546619691691, "y": -2735.4467937011527}, {"x": 9140.892701655437, "y": -2735.1096785592244}, {"x": 9141.23885354691, "y": -2734.7726352195864}, {"x": 9141.58507257377, "y": -2734.435660846808}, {"x": 9141.93135595029, "y": -2734.098752603093}, {"x": 9142.277700892075, "y": -2733.7619076490705}, {"x": 9142.624104612076, "y": -2733.425123144581}, {"x": 9142.97056432987, "y": -2733.088396247889}, {"x": 9143.317077262378, "y": -2732.7517241141054}, {"x": 9143.663640631825, "y": -2732.415103899132}, {"x": 9144.010251657783, "y": -2732.078532757292}, {"x": 9144.356907562475, "y": -2731.7420078405457}, {"x": 9144.693069997007, "y": -2731.415751068205}, {"x": 9145.029272008927, "y": -2731.0895350817837}, {"x": 9145.36551359426, "y": -2730.763359885223}, {"x": 9145.701794749037, "y": -2730.437225484039}, {"x": 9146.038115465311, "y": -2730.1111318837484}, {"x": 9146.374475741757, "y": -2729.785079087503}, {"x": 9146.710875570434, "y": -2729.4590671008195}, {"x": 9147.04731494737, "y": -2729.1330959292145}, {"x": 9147.38379386859, "y": -2728.807165576628}, {"x": 9147.720312327476, "y": -2728.481276048576}, {"x": 9148.07567981433, "y": -2728.1399965227492}, {"x": 9148.438698416745, "y": -2727.80689503137}, {"x": 9148.815011926625, "y": -2727.488931256104}, {"x": 9149.208128004331, "y": -2727.1920368543515}, {"x": 9149.619600549497, "y": -2726.92119556451}, {"x": 9150.049339004954, "y": -2726.6804175830725}, {"x": 9150.49598690651, "y": -2726.472701370627}, {"x": 9150.95731806592, "y": -2726.300042769684}, {"x": 9151.430604786765, "y": -2726.1635195939866}, {"x": 9151.912922145044, "y": -2726.0634545160765}], "type": "road_edge"}, {"geometry": [{"x": 8996.72114051998, "y": -2863.857100025673}, {"x": 8996.351369756278, "y": -2864.1793323967836}, {"x": 8995.981051260462, "y": -2864.5009351303765}, {"x": 8995.61018610763, "y": -2864.8219072965444}, {"x": 8995.238775368905, "y": -2865.142247963802}, {"x": 8994.866820120715, "y": -2865.4619562069706}, {"x": 8994.494321439477, "y": -2865.7810310992945}, {"x": 8994.121280404264, "y": -2866.0994717171698}, {"x": 8993.747698094146, "y": -2866.4172771393573}, {"x": 8993.373575592164, "y": -2866.734446444618}, {"x": 8992.998913978716, "y": -2867.050978715652}, {"x": 8992.623714340813, "y": -2867.366873035949}, {"x": 8992.247977764146, "y": -2867.6821284905745}, {"x": 8991.871705337053, "y": -2867.996744166957}, {"x": 8991.49489814655, "y": -2868.3107191548906}, {"x": 8991.117557286268, "y": -2868.6240525449566}, {"x": 8990.739683847198, "y": -2868.936743429313}, {"x": 8990.365289050102, "y": -2869.245493703449}, {"x": 8989.990386896654, "y": -2869.55362770316}, {"x": 8989.614990261558, "y": -2869.8611590712985}, {"x": 8989.239111946688, "y": -2870.1681015090335}, {"x": 8988.862764690373, "y": -2870.474468775063}, {"x": 8988.485961166061, "y": -2870.7802746832476}, {"x": 8988.108713979676, "y": -2871.0855331018247}, {"x": 8987.731035678886, "y": -2871.3902579518317}, {"x": 8987.352938747805, "y": -2871.694463204741}, {"x": 8986.97443561097, "y": -2871.998162880886}, {"x": 8986.595538638627, "y": -2872.301371049458}, {"x": 8986.216260140127, "y": -2872.604101826144}, {"x": 8985.836612373176, "y": -2872.9063693707635}, {"x": 8985.456607542523, "y": -2873.208187887266}, {"x": 8985.076257799956, "y": -2873.5095716205797}, {"x": 8984.695575248275, "y": -2873.8105348574018}, {"x": 8984.31457194129, "y": -2874.1110919230414}, {"x": 8983.933259886473, "y": -2874.4112571782734}, {"x": 8983.551651048925, "y": -2874.7110450240607}, {"x": 8983.169757346086, "y": -2875.0104698921027}, {"x": 8982.787590656995, "y": -2875.309546250348}, {"x": 8982.405162818326, "y": -2875.608288596692}, {"x": 8982.022485628357, "y": -2875.9067114605527}, {"x": 8981.639570850937, "y": -2876.2048293989296}, {"x": 8981.256430214173, "y": -2876.502656999556}, {"x": 8980.873075409096, "y": -2876.80020887302}, {"x": 8980.481395810964, "y": -2877.1037859699604}, {"x": 8980.089503405605, "y": -2877.4070882917117}, {"x": 8979.697396555213, "y": -2877.7101133220062}, {"x": 8979.305073628606, "y": -2878.0128585382718}, {"x": 8978.912532997248, "y": -2878.3153214155714}, {"x": 8978.519773040547, "y": -2878.6174994242406}, {"x": 8978.126792139237, "y": -2878.9193900330383}, {"x": 8977.733588684641, "y": -2879.2209907036313}, {"x": 8977.340161068085, "y": -2879.522298896898}, {"x": 8976.946507691484, "y": -2879.823312067412}, {"x": 8976.552626958079, "y": -2880.124027667384}, {"x": 8976.158517277732, "y": -2880.4244431442944}, {"x": 8975.76417706825, "y": -2880.724555940897}, {"x": 8975.369604748756, "y": -2881.024363498369}, {"x": 8974.974798747651, "y": -2881.3238632523708}, {"x": 8974.579757498628, "y": -2881.623052633046}, {"x": 8974.184479440677, "y": -2881.921929068964}, {"x": 8973.788963015431, "y": -2882.2204899839635}, {"x": 8973.393206676446, "y": -2882.518732796368}, {"x": 8972.997208878602, "y": -2882.8166549221373}, {"x": 8972.600968084715, "y": -2883.114253772502}, {"x": 8972.204482761581, "y": -2883.411526753964}, {"x": 8971.80775138526, "y": -2883.7084712682986}, {"x": 8971.41077243579, "y": -2884.0050847157027}, {"x": 8971.013544398495, "y": -2884.301364488494}, {"x": 8970.616065767974, "y": -2884.5973079782025}, {"x": 8970.218335044123, "y": -2884.892912569265}, {"x": 8969.820350729482, "y": -2885.1881756429657}, {"x": 8969.422111338508, "y": -2885.483094576649}, {"x": 8969.023615388309, "y": -2885.777666742931}, {"x": 8968.624861402608, "y": -2886.0718895096998}, {"x": 8968.225847915726, "y": -2886.365760240902}, {"x": 8967.826573461982, "y": -2886.6592762957575}, {"x": 8967.427036588928, "y": -2886.9524350287566}, {"x": 8967.027235845453, "y": -2887.2452337912378}, {"x": 8966.627169791027, "y": -2887.537669928235}, {"x": 8966.226836990421, "y": -2887.829740780842}, {"x": 8965.826236013703, "y": -2888.1214436870005}, {"x": 8965.425365438881, "y": -2888.412775979135}, {"x": 8965.02422385456, "y": -2888.703734984155}, {"x": 8964.622809850665, "y": -2888.994318025028}], "type": "road_line"}, {"geometry": [{"x": 8989.668239116101, "y": -2861.749824378573}, {"x": 8989.291923452052, "y": -2862.065882271254}, {"x": 8988.91527484384, "y": -2862.381543304442}, {"x": 8988.5382937072, "y": -2862.6968071274505}, {"x": 8988.160980464501, "y": -2863.0116733895948}, {"x": 8987.783335532802, "y": -2863.3261417409767}, {"x": 8987.405359331813, "y": -2863.6402118332753}, {"x": 8987.027052282574, "y": -2863.953883315805}, {"x": 8986.648414804795, "y": -2864.267155841032}, {"x": 8986.26944731819, "y": -2864.580029061423}, {"x": 8985.890150245115, "y": -2864.892502627868}, {"x": 8985.510524007934, "y": -2865.204576194411}, {"x": 8985.130569026356, "y": -2865.5162494135175}, {"x": 8984.750285722745, "y": -2865.827521940019}, {"x": 8984.369674522104, "y": -2866.1383934263813}, {"x": 8983.988735844148, "y": -2866.4488635282237}, {"x": 8983.60747011521, "y": -2866.7589319003773}, {"x": 8983.225877756324, "y": -2867.06859819846}, {"x": 8982.843959192498, "y": -2867.377862078092}, {"x": 8982.461714848743, "y": -2867.686723195679}, {"x": 8982.079145148738, "y": -2867.995181207629}, {"x": 8981.696250517496, "y": -2868.3032357727116}, {"x": 8981.31303138267, "y": -2868.6108865465467}, {"x": 8980.929488166621, "y": -2868.918133189481}, {"x": 8980.54562129833, "y": -2869.2249753579217}, {"x": 8980.161431202803, "y": -2869.531412713004}, {"x": 8979.776918307698, "y": -2869.8374449127114}, {"x": 8979.392083040671, "y": -2870.14307161739}, {"x": 8979.006925828053, "y": -2870.4482924873873}, {"x": 8978.6214470975, "y": -2870.7531071838393}, {"x": 8978.235647279316, "y": -2871.0575153686686}, {"x": 8977.84952680116, "y": -2871.3615167022226}, {"x": 8977.463086092008, "y": -2871.6651108472124}, {"x": 8977.070746608622, "y": -2871.972666334641}, {"x": 8976.678079220266, "y": -2872.2798030498475}, {"x": 8976.285085106632, "y": -2872.586521583875}, {"x": 8975.891765448743, "y": -2872.8928225317063}, {"x": 8975.498121423643, "y": -2873.198706492266}, {"x": 8975.10415420441, "y": -2873.5041740660536}, {"x": 8974.709864964116, "y": -2873.809225856721}, {"x": 8974.315254869218, "y": -2874.113862469497}, {"x": 8973.92032508882, "y": -2874.4180845151254}, {"x": 8973.525076785403, "y": -2874.7218926043515}, {"x": 8973.129511118805, "y": -2875.0252873518602}, {"x": 8972.733629250182, "y": -2875.328269375488}, {"x": 8972.33743233275, "y": -2875.6308392954375}, {"x": 8971.940921521049, "y": -2875.9329977334846}, {"x": 8971.54409796432, "y": -2876.234745315348}, {"x": 8971.146962813133, "y": -2876.536082669897}, {"x": 8970.749517210108, "y": -2876.8370104275787}, {"x": 8970.351762299193, "y": -2877.13752922199}, {"x": 8969.953699220365, "y": -2877.437639689095}, {"x": 8969.555329109622, "y": -2877.7373424672187}, {"x": 8969.156653104295, "y": -2878.036638198629}, {"x": 8968.757672336415, "y": -2878.335527527169}, {"x": 8968.358387934037, "y": -2878.634011099833}, {"x": 8967.958801025223, "y": -2878.9320895651936}, {"x": 8967.558912732735, "y": -2879.2297635749737}, {"x": 8967.158724181983, "y": -2879.5270337848374}, {"x": 8966.758236487787, "y": -2879.823900850449}, {"x": 8966.357450771584, "y": -2880.1203654322}, {"x": 8965.956368142897, "y": -2880.416428192059}, {"x": 8965.554989716547, "y": -2880.7120897951468}, {"x": 8965.153316599406, "y": -2881.0073509073723}, {"x": 8964.751349898348, "y": -2881.30221220016}, {"x": 8964.349090717602, "y": -2881.5966743441472}, {"x": 8963.946540158744, "y": -2881.8907380146993}, {"x": 8963.54369931806, "y": -2882.184403889545}, {"x": 8963.140569293153, "y": -2882.4776726472037}, {"x": 8962.737151177658, "y": -2882.7705449709197}, {"x": 8962.333446062563, "y": -2883.0630215447272}, {"x": 8961.929455034882, "y": -2883.3551030558133}, {"x": 8961.525179181628, "y": -2883.646790192939}, {"x": 8961.12061958452, "y": -2883.9380836495966}, {"x": 8960.715777325278, "y": -2884.228984118487}, {"x": 8960.310653481647, "y": -2884.5194922978303}, {"x": 8959.907804608178, "y": -2884.8077814094736}], "type": "road_line"}, {"geometry": [{"x": 8970.302261483477, "y": -2894.6942316990876}, {"x": 8970.701125543615, "y": -2894.403929396635}, {"x": 8971.099636079138, "y": -2894.1131419572666}, {"x": 8971.497952683882, "y": -2893.821750869732}, {"x": 8971.89591610163, "y": -2893.529877577644}, {"x": 8972.293529163126, "y": -2893.237527154518}, {"x": 8972.690794714996, "y": -2892.944704659683}, {"x": 8973.087715621077, "y": -2892.651415141436}, {"x": 8973.48429476507, "y": -2892.3576636362527}, {"x": 8973.880535043916, "y": -2892.063455171153}, {"x": 8974.276439371766, "y": -2891.768794760547}, {"x": 8974.672010681308, "y": -2891.4736874062364}, {"x": 8975.06725191582, "y": -2891.178138102142}, {"x": 8975.462166041094, "y": -2890.8821518287873}, {"x": 8975.856756034831, "y": -2890.585733556452}, {"x": 8976.251024890626, "y": -2890.28888824517}, {"x": 8976.644975617957, "y": -2889.9916208423674}, {"x": 8977.038611242197, "y": -2889.6939362868006}, {"x": 8977.431934801953, "y": -2889.395839506194}, {"x": 8977.824949350395, "y": -2889.0973354172384}, {"x": 8978.217657959238, "y": -2888.798428926381}, {"x": 8978.610063708133, "y": -2888.499124930611}, {"x": 8979.002169697915, "y": -2888.199428315097}, {"x": 8979.393979038694, "y": -2887.899343955552}, {"x": 8979.78549485646, "y": -2887.5988767190197}, {"x": 8980.176720289126, "y": -2887.29803146151}, {"x": 8980.567658489166, "y": -2886.996813028002}, {"x": 8980.95831262494, "y": -2886.695226256381}, {"x": 8981.34868587408, "y": -2886.3932759727104}, {"x": 8981.73878142878, "y": -2886.0909669951757}, {"x": 8982.128602493149, "y": -2885.788304130928}, {"x": 8982.518152285864, "y": -2885.4852921784486}, {"x": 8982.907434036191, "y": -2885.1819359275532}, {"x": 8983.29645098664, "y": -2884.8782401578096}, {"x": 8983.685206392953, "y": -2884.5742096416957}, {"x": 8984.073703518823, "y": -2884.2698491406545}, {"x": 8984.46194564383, "y": -2883.9651634082497}, {"x": 8984.849936058146, "y": -2883.6601571901638}, {"x": 8985.237678061208, "y": -2883.3548352210473}, {"x": 8985.625174965699, "y": -2883.049202229245}, {"x": 8986.012430096212, "y": -2882.7432629352224}, {"x": 8986.399446785288, "y": -2882.4370220484116}, {"x": 8986.786228378709, "y": -2882.1304842719396}, {"x": 8987.172778230195, "y": -2881.823654301842}, {"x": 8987.559099708036, "y": -2881.5165368231214}, {"x": 8987.94519618714, "y": -2881.209136516839}, {"x": 8988.331071053008, "y": -2880.9014580530247}, {"x": 8988.716727701732, "y": -2880.593506094615}, {"x": 8989.102169539996, "y": -2880.2852852998185}, {"x": 8989.487399981106, "y": -2879.97680031581}, {"x": 8989.872422450282, "y": -2879.6680557842496}, {"x": 8990.257240382012, "y": -2879.3590563404914}, {"x": 8990.641857217406, "y": -2879.0498066104337}, {"x": 8991.026276409488, "y": -2878.7403112152456}, {"x": 8991.41050141658, "y": -2878.430574768217}, {"x": 8991.797454023445, "y": -2878.118242171876}, {"x": 8992.18420860171, "y": -2877.805664380087}, {"x": 8992.570760735793, "y": -2877.492836256291}, {"x": 8992.95710600614, "y": -2877.179752676538}, {"x": 8993.34323997996, "y": -2876.866408521605}, {"x": 8993.729158215187, "y": -2876.552798684092}, {"x": 8994.114856255193, "y": -2876.2389180629016}, {"x": 8994.500329638058, "y": -2875.9247615679697}, {"x": 8994.885573887297, "y": -2875.6103241171136}, {"x": 8995.270584515827, "y": -2875.295600639182}, {"x": 8995.655357024656, "y": -2874.9805860716933}, {"x": 8996.03988690287, "y": -2874.6652753624107}, {"x": 8996.42416962897, "y": -2874.349663468554}, {"x": 8996.808200669533, "y": -2874.033745357586}, {"x": 8997.191975475254, "y": -2873.7175160095817}, {"x": 8997.57548948888, "y": -2873.4009704124937}, {"x": 8997.958738135947, "y": -2873.084103566885}, {"x": 8998.341716834047, "y": -2872.766910483563}, {"x": 8998.724420983564, "y": -2872.4493861843684}, {"x": 8999.106845972958, "y": -2872.131525702962}, {"x": 8999.488987177452, "y": -2871.8133240864017}, {"x": 8999.870839959034, "y": -2871.4947763896266}, {"x": 9000.252399663796, "y": -2871.1758776841243}, {"x": 9000.63366162592, "y": -2870.8566230500514}, {"x": 9001.014621165017, "y": -2870.5370075817495}, {"x": 9001.395273586142, "y": -2870.2170263853814}, {"x": 9001.775614177135, "y": -2869.8966745820817}, {"x": 9002.155638213915, "y": -2869.5759473032313}, {"x": 9002.53534095652, "y": -2869.2548396951834}, {"x": 9002.914717651742, "y": -2868.9333469176886}, {"x": 9003.293763526517, "y": -2868.6114641438935}, {"x": 9003.672473797187, "y": -2868.289186559555}, {"x": 9004.050843660234, "y": -2867.966509367767}, {"x": 9004.428868297577, "y": -2867.6434277826547}, {"x": 9004.806542877892, "y": -2867.3199370356824}, {"x": 9005.183862547348, "y": -2866.9960323701343}, {"x": 9005.56082244285, "y": -2866.6717090466323}, {"x": 9005.937417680114, "y": -2866.346962340771}, {"x": 9006.313643357644, "y": -2866.02178754233}, {"x": 9006.689494560705, "y": -2865.6961799584274}, {"x": 9007.064966352056, "y": -2865.370134909576}, {"x": 9007.440053783861, "y": -2865.043647734416}, {"x": 9007.814751883127, "y": -2864.716713787348}, {"x": 9008.189055666271, "y": -2864.3893284401092}, {"x": 9008.562960127201, "y": -2864.061487079411}, {"x": 9008.936460243938, "y": -2863.7331851093018}, {"x": 9009.309550974642, "y": -2863.404417953531}, {"x": 9009.682227260259, "y": -2863.0751810492447}, {"x": 9010.054484023201, "y": -2862.7454698556558}, {"x": 9010.42631616867, "y": -2862.4152798453733}, {"x": 9010.796933316722, "y": -2862.0853098481584}, {"x": 9011.167127197792, "y": -2861.7548650289136}, {"x": 9011.536902476377, "y": -2861.4239518237055}, {"x": 9011.906263843453, "y": -2861.0925766496866}, {"x": 9012.275216007209, "y": -2860.760745906673}, {"x": 9012.643763704962, "y": -2860.4284659732025}, {"x": 9013.011911691243, "y": -2860.0957432104756}, {"x": 9013.37966474441, "y": -2859.76258396078}, {"x": 9013.747027664014, "y": -2859.428994548278}, {"x": 9014.114005270781, "y": -2859.0949812797935}, {"x": 9014.480602405303, "y": -2858.760550443239}, {"x": 9014.846823929352, "y": -2858.4257083091884}, {"x": 9015.212674725892, "y": -2858.0904611308783}, {"x": 9015.578159695087, "y": -2857.7548151434207}, {"x": 9015.943283758297, "y": -2857.418776566954}, {"x": 9016.308051856735, "y": -2857.0823516027026}, {"x": 9016.67246894883, "y": -2856.7455464369195}, {"x": 9017.036540012867, "y": -2856.4083672385186}, {"x": 9017.400270045671, "y": -2856.0708201598663}, {"x": 9017.763664058632, "y": -2855.7329113391424}, {"x": 9018.126727086965, "y": -2855.3946468971903}, {"x": 9018.489464176488, "y": -2855.0560329390923}, {"x": 9018.851880394193, "y": -2854.7170755565335}, {"x": 9019.213980822968, "y": -2854.377780825437}, {"x": 9019.575770562906, "y": -2854.038154805179}, {"x": 9019.937254727347, "y": -2853.6982035433125}, {"x": 9020.298438448162, "y": -2853.357933070054}, {"x": 9020.659326870466, "y": -2853.0173494053756}, {"x": 9021.019925157905, "y": -2852.676458551124}, {"x": 9021.380238486048, "y": -2852.3352664989006}, {"x": 9021.740272046347, "y": -2851.9937792245464}, {"x": 9022.100031044822, "y": -2851.652002691293}, {"x": 9022.459520699402, "y": -2851.309942851339}, {"x": 9022.818746243913, "y": -2850.9676056419107}, {"x": 9023.177712925415, "y": -2850.624996988413}, {"x": 9023.536426004212, "y": -2850.2821228036414}, {"x": 9023.894890751197, "y": -2849.9389889893596}, {"x": 9024.253112451828, "y": -2849.5956014355097}, {"x": 9024.611096404806, "y": -2849.2519660194253}, {"x": 9024.968847918097, "y": -2848.908088608195}, {"x": 9025.326372312906, "y": -2848.5639750578753}, {"x": 9025.683674922355, "y": -2848.2196312134884}, {"x": 9026.040761090164, "y": -2847.875062909025}, {"x": 9026.397636169311, "y": -2847.5302759690185}, {"x": 9026.754305524699, "y": -2847.1852762085455}, {"x": 9027.11077453314, "y": -2846.840069430863}, {"x": 9027.467048578072, "y": -2846.494661431346}, {"x": 9027.823133054846, "y": -2846.1490579967003}, {"x": 9028.179033366756, "y": -2845.8032649018132}, {"x": 9028.534754929016, "y": -2845.457287916842}, {"x": 9028.890303162132, "y": -2845.111132799335}, {"x": 9029.245683497205, "y": -2844.7648053013245}, {"x": 9029.600901373278, "y": -2844.4183111661746}, {"x": 9029.95596223734, "y": -2844.0716561293684}, {"x": 9030.310871542999, "y": -2843.7248459185075}, {"x": 9030.665634754454, "y": -2843.377886255679}, {"x": 9031.020257339878, "y": -2843.030782852724}, {"x": 9031.374744774064, "y": -2842.683541418331}, {"x": 9031.729102542397, "y": -2842.3361676533095}, {"x": 9032.083336132906, "y": -2841.988667251375}, {"x": 9032.43745104157, "y": -2841.6410459015146}, {"x": 9032.791452767013, "y": -2841.2933092864128}, {"x": 9033.145346818452, "y": -2840.9454630840237}, {"x": 9033.499138706427, "y": -2840.5975129659973}, {"x": 9033.8528339481, "y": -2840.2494646016207}, {"x": 9034.206438065925, "y": -2839.901323652299}, {"x": 9034.559956583686, "y": -2839.553095776286}, {"x": 9034.913395031783, "y": -2839.204786629471}, {"x": 9035.26675894591, "y": -2838.856401861439}, {"x": 9035.620053863091, "y": -2838.5079471201975}, {"x": 9035.973285322994, "y": -2838.1594280490276}, {"x": 9036.326108283953, "y": -2837.81119599631}, {"x": 9036.678877866018, "y": -2837.4629098670803}, {"x": 9037.03159849139, "y": -2837.114574153268}, {"x": 9037.384274582273, "y": -2836.766193347589}, {"x": 9037.736910562193, "y": -2836.4177719396075}, {"x": 9038.089510858648, "y": -2836.0693144180987}, {"x": 9038.442079897814, "y": -2835.7208252694754}, {"x": 9038.79462211116, "y": -2835.3723089801492}, {"x": 9039.147141924857, "y": -2835.0237700341672}, {"x": 9039.49964377303, "y": -2834.6752129155775}, {"x": 9039.852132084496, "y": -2834.3266421076396}, {"x": 9040.204611293375, "y": -2833.978062093613}, {"x": 9040.557085829812, "y": -2833.6294773559694}, {"x": 9040.90956012793, "y": -2833.2808923756043}, {"x": 9041.26203861787, "y": -2832.9323116365645}, {"x": 9041.614525733752, "y": -2832.583739618958}, {"x": 9041.967025908372, "y": -2832.235180807621}, {"x": 9042.31954357055, "y": -2831.886639685024}, {"x": 9042.672083151758, "y": -2831.538120734427}, {"x": 9043.024649083465, "y": -2831.189628440666}, {"x": 9043.377245794494, "y": -2830.8411672893644}, {"x": 9043.729877709697, "y": -2830.4927417685103}, {"x": 9044.082549259216, "y": -2830.1443563653033}, {"x": 9044.435264863932, "y": -2829.7960155693077}, {"x": 9044.78802895002, "y": -2829.447723872451}, {"x": 9045.140845938358, "y": -2829.099485767451}, {"x": 9045.493720247174, "y": -2828.751305750175}, {"x": 9045.846656293375, "y": -2828.4031883172797}, {"x": 9046.199658492545, "y": -2828.0551379693625}, {"x": 9046.55273125497, "y": -2827.7071592085954}, {"x": 9046.905878990932, "y": -2827.3592565395165}, {"x": 9047.259106108075, "y": -2827.0114344698145}, {"x": 9047.612417007413, "y": -2826.6636975119072}, {"x": 9047.965816091288, "y": -2826.3160501782127}, {"x": 9048.3193077541, "y": -2825.968496986665}, {"x": 9048.672896390246, "y": -2825.62104245835}, {"x": 9049.026586388829, "y": -2825.2736911182947}, {"x": 9049.380382134977, "y": -2824.92644749389}, {"x": 9049.73428800985, "y": -2824.5793161188312}, {"x": 9050.08830839063, "y": -2824.232301529177}, {"x": 9050.442447649211, "y": -2823.8854082665043}], "type": "road_edge"}, {"geometry": [{"x": 8967.603317380092, "y": -2891.764070277332}, {"x": 8968.006421725773, "y": -2891.4735019353084}, {"x": 8968.410579695561, "y": -2891.181505195577}, {"x": 8968.81441938595, "y": -2890.88906840528}, {"x": 8969.217940908155, "y": -2890.5961927244384}, {"x": 8969.621144376044, "y": -2890.3028793114972}, {"x": 8970.024029906126, "y": -2890.0091293233254}, {"x": 8970.426597620215, "y": -2889.7149439160025}, {"x": 8970.82884764012, "y": -2889.420324243245}, {"x": 8971.230780090293, "y": -2889.1252714579814}, {"x": 8971.632395103139, "y": -2888.829786711564}, {"x": 8972.033692807086, "y": -2888.5338711545564}, {"x": 8972.434673339834, "y": -2888.237525935947}, {"x": 8972.83533683643, "y": -2887.940752201571}, {"x": 8973.235683439867, "y": -2887.6435510980527}, {"x": 8973.635713293139, "y": -2887.3459237688635}, {"x": 8974.035426543212, "y": -2887.0478713582625}, {"x": 8974.434823339698, "y": -2886.7493950065696}, {"x": 8974.83390383486, "y": -2886.4504958541042}, {"x": 8975.232668184932, "y": -2886.1511750396094}, {"x": 8975.631116546143, "y": -2885.8514337002516}, {"x": 8976.029249082676, "y": -2885.551272971623}, {"x": 8976.427065956059, "y": -2885.250693987737}, {"x": 8976.82456733444, "y": -2884.949697881034}, {"x": 8977.221753388618, "y": -2884.6482857847395}, {"x": 8977.618624289391, "y": -2884.3464588265642}, {"x": 8978.01518021285, "y": -2884.0442181357953}, {"x": 8978.411421339064, "y": -2883.741564840142}, {"x": 8978.807347846774, "y": -2883.4385000641637}, {"x": 8979.202959922664, "y": -2883.1350249324173}, {"x": 8979.598257752097, "y": -2882.831140567098}, {"x": 8979.993241524407, "y": -2882.526848090399}, {"x": 8980.3879114329, "y": -2882.222148620575}, {"x": 8980.782267672204, "y": -2881.9170432766664}, {"x": 8981.176310442248, "y": -2881.6115331761393}, {"x": 8981.570039941633, "y": -2881.3056194333076}, {"x": 8981.963456375579, "y": -2880.9993031616964}, {"x": 8982.356559949309, "y": -2880.692585474831}, {"x": 8982.74935087334, "y": -2880.385467482297}, {"x": 8983.141829358194, "y": -2880.0779502952546}, {"x": 8983.533995618356, "y": -2879.770035020137}, {"x": 8983.925849872292, "y": -2879.4617227633776}, {"x": 8984.317392339784, "y": -2879.1530146314085}, {"x": 8984.708623244594, "y": -2878.843911725935}, {"x": 8985.099542809156, "y": -2878.534415150237}, {"x": 8985.49015126517, "y": -2878.224526005231}, {"x": 8985.880448840366, "y": -2877.9142453878935}, {"x": 8986.270435771745, "y": -2877.6035743983525}, {"x": 8986.660112292331, "y": -2877.292514130432}, {"x": 8987.049478643094, "y": -2876.981065680321}, {"x": 8987.438535063682, "y": -2876.669230141054}, {"x": 8987.82728180036, "y": -2876.3570086033037}, {"x": 8988.215719099395, "y": -2876.0444021577414}, {"x": 8988.603847209703, "y": -2875.7314118926743}, {"x": 8988.991666382843, "y": -2875.418038895622}, {"x": 8989.37917687435, "y": -2875.1042842525285}, {"x": 8989.766378941085, "y": -2874.790149046972}, {"x": 8990.153272843876, "y": -2874.4756343617446}, {"x": 8990.539858843556, "y": -2874.1607412780604}, {"x": 8990.92613720625, "y": -2873.845470875559}, {"x": 8991.312108199407, "y": -2873.529824232303}, {"x": 8991.697772094452, "y": -2873.2138024247784}, {"x": 8992.083129161483, "y": -2872.8974065286848}, {"x": 8992.468179678543, "y": -2872.580637617356}, {"x": 8992.852923921026, "y": -2872.2634967633385}, {"x": 8993.237362170947, "y": -2871.9459850368144}, {"x": 8993.621494711642, "y": -2871.628103507178}, {"x": 8994.005321826455, "y": -2871.309853241459}, {"x": 8994.38884380534, "y": -2870.991235306688}, {"x": 8994.77206093826, "y": -2870.672250766742}, {"x": 8995.154973516494, "y": -2870.352900685499}, {"x": 8995.537581837945, "y": -2870.0331861236846}, {"x": 8995.919886199195, "y": -2869.7131081420243}, {"x": 8996.29946824613, "y": -2869.3946982733682}, {"x": 8996.678749735576, "y": -2869.0759304327075}, {"x": 8997.057729938, "y": -2868.756804437214}, {"x": 8997.436408119898, "y": -2868.437320101694}, {"x": 8997.814783546448, "y": -2868.117477246469}, {"x": 8998.192855482817, "y": -2867.797275691076}, {"x": 8998.570623194182, "y": -2867.476715256624}, {"x": 8998.948085943066, "y": -2867.1557957658015}, {"x": 8999.325242991994, "y": -2866.834517042871}, {"x": 8999.702093600845, "y": -2866.5128789136716}, {"x": 9000.07863702817, "y": -2866.190881206407}, {"x": 9000.454872535169, "y": -2865.8685237477043}, {"x": 9000.830799379073, "y": -2865.54580636892}, {"x": 9001.206416815787, "y": -2865.2227289021966}, {"x": 9001.581724101216, "y": -2864.8992911796786}, {"x": 9001.956720489938, "y": -2864.5754930358735}, {"x": 9002.331405236535, "y": -2864.251334306866}, {"x": 9002.705777591618, "y": -2863.9268148311035}, {"x": 9003.07983680712, "y": -2863.6019344470346}, {"x": 9003.453582133645, "y": -2863.276692994684}, {"x": 9003.827012820484, "y": -2862.951090316439}, {"x": 9004.200128115594, "y": -2862.6251262562655}, {"x": 9004.572927266936, "y": -2862.2988006589158}, {"x": 9004.94540952115, "y": -2861.972113370718}, {"x": 9005.31757412222, "y": -2861.6450642395776}, {"x": 9005.689420314138, "y": -2861.3176531157637}, {"x": 9006.060947340891, "y": -2860.989879850333}, {"x": 9006.432154443823, "y": -2860.661744295131}, {"x": 9006.80304086427, "y": -2860.333246304367}, {"x": 9007.173605842252, "y": -2860.0043857346145}, {"x": 9007.543848616462, "y": -2859.6751624424473}, {"x": 9007.913768425591, "y": -2859.3455762868025}, {"x": 9008.283364505685, "y": -2859.015627128194}, {"x": 9008.652636091463, "y": -2858.6853148279242}, {"x": 9009.021582420295, "y": -2858.3546392496587}, {"x": 9009.39020272293, "y": -2858.02360025864}, {"x": 9009.758496235412, "y": -2857.6921977216857}, {"x": 9010.126462187165, "y": -2857.360431506403}, {"x": 9010.49409980894, "y": -2857.0283014819734}, {"x": 9010.861408331482, "y": -2856.6958075207326}, {"x": 9011.228386981573, "y": -2856.3629494950146}, {"x": 9011.595034989956, "y": -2856.02972727873}, {"x": 9011.961351579437, "y": -2855.6961407489425}, {"x": 9012.32733597812, "y": -2855.3621897819266}, {"x": 9012.69298741013, "y": -2855.0278742578976}, {"x": 9013.058305098271, "y": -2854.693194057071}, {"x": 9013.423288266677, "y": -2854.358149062026}, {"x": 9013.787936134175, "y": -2854.022739156918}, {"x": 9014.152247922246, "y": -2853.6869642266906}, {"x": 9014.51622285105, "y": -2853.35082415944}, {"x": 9014.879860139417, "y": -2853.014318843262}, {"x": 9015.243159003532, "y": -2852.677448168616}, {"x": 9015.604643677718, "y": -2852.3415859436745}, {"x": 9015.96579737787, "y": -2852.0053678295653}, {"x": 9016.326625599966, "y": -2851.6688004207545}, {"x": 9016.687133858519, "y": -2851.331890295158}, {"x": 9017.047327686576, "y": -2850.9946440125677}, {"x": 9017.407212633078, "y": -2850.657068120166}, {"x": 9017.766794269464, "y": -2850.3191691454335}, {"x": 9018.126078176452, "y": -2849.9809536024545}, {"x": 9018.485069958586, "y": -2849.6424279903395}, {"x": 9018.843775233652, "y": -2849.3035987924386}, {"x": 9019.202199635325, "y": -2848.9644724763402}, {"x": 9019.56034881184, "y": -2848.6250554986}, {"x": 9019.918228431297, "y": -2848.2853542968605}, {"x": 9020.275844172385, "y": -2847.945375299307}, {"x": 9020.633201729686, "y": -2847.6051249183647}, {"x": 9020.990306812339, "y": -2847.2646095522728}, {"x": 9021.34716514405, "y": -2846.923835588238}, {"x": 9021.70378245912, "y": -2846.58280940007}, {"x": 9022.060164510383, "y": -2846.241537349757}, {"x": 9022.416317058618, "y": -2845.9000257843163}, {"x": 9022.772245880495, "y": -2845.5582810428814}, {"x": 9023.127956763268, "y": -2845.2163094504035}, {"x": 9023.483455506115, "y": -2844.8741173208}, {"x": 9023.838747920128, "y": -2844.5317109585308}, {"x": 9024.19383982699, "y": -2844.189096656236}, {"x": 9024.548737061627, "y": -2843.8462806955226}, {"x": 9024.903445466902, "y": -2843.5032693493295}, {"x": 9025.257970896278, "y": -2843.160068880349}, {"x": 9025.612319215132, "y": -2842.8166855418194}, {"x": 9025.966496295458, "y": -2842.473125576732}, {"x": 9026.320508021168, "y": -2842.129395220199}, {"x": 9026.674360282797, "y": -2841.7855006994505}, {"x": 9027.02805898279, "y": -2841.441448232262}, {"x": 9027.381610027569, "y": -2841.097244028526}, {"x": 9027.735019334146, "y": -2840.7528942902563}, {"x": 9028.088292827479, "y": -2840.4084052147377}, {"x": 9028.441436439143, "y": -2840.0637829874345}, {"x": 9028.794456106012, "y": -2839.719033791446}, {"x": 9029.147357772901, "y": -2839.374163801203}, {"x": 9029.500147392573, "y": -2839.029179184833}, {"x": 9029.85283092176, "y": -2838.684086106522}, {"x": 9030.20541432249, "y": -2838.338890722576}, {"x": 9030.557903564737, "y": -2837.99359918536}, {"x": 9030.910304621122, "y": -2837.6482176425116}, {"x": 9031.262623468238, "y": -2837.30275223694}, {"x": 9031.614866090622, "y": -2836.957209106825}, {"x": 9031.96703847281, "y": -2836.611594386407}, {"x": 9032.319146605962, "y": -2836.265914206774}, {"x": 9032.671196483881, "y": -2835.920174695862}, {"x": 9033.023194103022, "y": -2835.5743819768786}, {"x": 9033.37514546116, "y": -2835.2285421730307}, {"x": 9033.727056562693, "y": -2834.882661402009}, {"x": 9034.078933410696, "y": -2834.5367457822936}, {"x": 9034.430782009564, "y": -2834.1908014284227}, {"x": 9034.782608368992, "y": -2833.844834455723}, {"x": 9035.134418496025, "y": -2833.4988509747927}, {"x": 9035.486218400358, "y": -2833.1528571001713}, {"x": 9035.838014091682, "y": -2832.806858940881}, {"x": 9036.189811581015, "y": -2832.460862609884}, {"x": 9036.541616876726, "y": -2832.1148742169908}, {"x": 9036.896741131864, "y": -2831.7656475370986}, {"x": 9037.251878825733, "y": -2831.4164345237004}, {"x": 9037.607029318831, "y": -2831.067234528226}, {"x": 9037.962191971661, "y": -2830.718046900527}, {"x": 9038.317366144725, "y": -2830.368870991244}, {"x": 9038.672551199848, "y": -2830.019706151806}, {"x": 9039.027746496211, "y": -2829.6705517320656}, {"x": 9039.38295139696, "y": -2829.321407081875}, {"x": 9039.738165262599, "y": -2828.9722715526627}, {"x": 9040.09338745363, "y": -2828.6231444950695}, {"x": 9040.448617330554, "y": -2828.2740252581593}, {"x": 9040.803854255197, "y": -2827.9249131925735}, {"x": 9041.159097589387, "y": -2827.575807648952}, {"x": 9041.514346693622, "y": -2827.226707977936}, {"x": 9041.869600928407, "y": -2826.8776135278013}, {"x": 9042.22485965689, "y": -2826.5285236507643}, {"x": 9042.58012223825, "y": -2826.17943769589}, {"x": 9042.935388035638, "y": -2825.8303550138194}, {"x": 9043.290656409554, "y": -2825.481274953616}, {"x": 9043.645926721823, "y": -2825.132196865921}, {"x": 9044.00119833295, "y": -2824.783120100586}, {"x": 9044.356470606082, "y": -2824.434044008253}, {"x": 9044.711742900401, "y": -2824.084967938773}, {"x": 9045.067014577728, "y": -2823.735891241211}, {"x": 9045.422285001216, "y": -2823.3868132669963}, {"x": 9045.777553531363, "y": -2823.0377333651923}, {"x": 9046.132819528677, "y": -2822.6886508856524}, {"x": 9046.48808235498, "y": -2822.3395651798046}, {"x": 9046.843341370773, "y": -2821.990475596713}, {"x": 9047.19859593921, "y": -2821.6413814862312}, {"x": 9047.553845420789, "y": -2821.292282198999}, {"x": 9047.909089177338, "y": -2820.943177084869}, {"x": 9048.264326568034, "y": -2820.594065493694}, {"x": 9048.619556956026, "y": -2820.244946776902}, {"x": 9048.974779701819, "y": -2819.895820284346}, {"x": 9049.329994167236, "y": -2819.54668536509}, {"x": 9049.68519971278, "y": -2819.1975413713512}, {"x": 9050.040395698952, "y": -2818.848387651406}, {"x": 9050.395581486255, "y": -2818.4992235574705}, {"x": 9050.750756437837, "y": -2818.1500484393973}, {"x": 9051.10591991288, "y": -2817.800861647828}, {"x": 9051.461071271882, "y": -2817.4516625334013}, {"x": 9051.816209876672, "y": -2817.102450446759}, {"x": 9052.171335086423, "y": -2816.7532247385416}, {"x": 9052.52644626429, "y": -2816.4039847601775}, {"x": 9052.881542768124, "y": -2816.0547298615193}, {"x": 9053.236623959752, "y": -2815.7054593939956}, {"x": 9053.591689198352, "y": -2815.3561727090346}, {"x": 9053.94673784575, "y": -2815.0068691580655}, {"x": 9054.301769261123, "y": -2814.6575480909405}, {"x": 9054.656782804972, "y": -2814.3082088606643}, {"x": 9055.011777836478, "y": -2813.9588508170896}, {"x": 9055.366753714816, "y": -2813.6094733132213}, {"x": 9055.721709801814, "y": -2813.260075700487}, {"x": 9056.076645456647, "y": -2812.9106573295285}, {"x": 9056.431560037172, "y": -2812.5612175533497}, {"x": 9056.786452905215, "y": -2812.2117557233796}, {"x": 9057.141323417301, "y": -2811.8622711918347}, {"x": 9057.496170935263, "y": -2811.512763310932}, {"x": 9057.850994815626, "y": -2811.1632314336757}, {"x": 9058.205794420217, "y": -2810.8136749114947}, {"x": 9058.560569104242, "y": -2810.4640930973937}, {"x": 9058.915318229527, "y": -2810.1144853451656}, {"x": 9059.270041152602, "y": -2809.764851005451}, {"x": 9059.624737232643, "y": -2809.4151894336183}, {"x": 9059.979405826183, "y": -2809.0654999818844}, {"x": 9060.334046293723, "y": -2808.7157820032544}, {"x": 9060.688657993114, "y": -2808.366034851521}, {"x": 9061.043240279567, "y": -2808.016257879688}, {"x": 9061.397792512254, "y": -2807.666450443126}, {"x": 9061.752314049034, "y": -2807.316611894838}, {"x": 9062.106804245112, "y": -2806.966741588618}, {"x": 9062.461262459661, "y": -2806.616838879834}, {"x": 9062.815555091867, "y": -2806.267035826448}, {"x": 9063.16981874011, "y": -2805.917203418705}, {"x": 9063.524057022922, "y": -2805.567345324225}, {"x": 9063.8782735575, "y": -2805.21746520984}, {"x": 9064.232471963698, "y": -2804.8675667431703}, {"x": 9064.58665586269, "y": -2804.5176535894716}, {"x": 9064.940828871675, "y": -2804.167729414787}, {"x": 9065.294994614482, "y": -2803.8177978835856}, {"x": 9065.649156710957, "y": -2803.46786266191}, {"x": 9066.003318780951, "y": -2803.117927415017}, {"x": 9066.357484446964, "y": -2802.7679958065855}, {"x": 9066.711657328846, "y": -2802.418071501872}, {"x": 9067.06584104777, "y": -2802.06815816692}, {"x": 9067.420039224913, "y": -2801.7182594669853}, {"x": 9067.774255477478, "y": -2801.3683790681116}, {"x": 9068.128493427961, "y": -2801.018520636343}, {"x": 9068.482756692241, "y": -2800.6686878400874}, {"x": 9068.837048890171, "y": -2800.318884346177}, {"x": 9069.191373636304, "y": -2799.969113825384}, {"x": 9069.545734549165, "y": -2799.619379945328}, {"x": 9069.900135241985, "y": -2799.2696863791457}, {"x": 9070.254579329321, "y": -2798.920036798397}, {"x": 9070.609070421755, "y": -2798.570434876219}, {"x": 9070.96361213119, "y": -2798.220884288112}, {"x": 9071.318208066888, "y": -2797.8713887119397}, {"x": 9071.672861834135, "y": -2797.5219518239924}, {"x": 9072.027577040864, "y": -2797.172577306862}, {"x": 9072.38235728839, "y": -2796.8232688399894}, {"x": 9072.737206180676, "y": -2796.4740301099087}, {"x": 9073.092127315063, "y": -2796.124864801576}, {"x": 9073.447124290218, "y": -2795.7757766038903}, {"x": 9073.802200699512, "y": -2795.4267692073245}, {"x": 9074.157360134992, "y": -2795.077846304716}, {"x": 9074.51260618738, "y": -2794.7290115936316}, {"x": 9074.867942443423, "y": -2794.380268770849}, {"x": 9075.223372485903, "y": -2794.031621539451}, {"x": 9075.578899896273, "y": -2793.6830736017323}, {"x": 9075.934528252013, "y": -2793.3346286662913}, {"x": 9076.290261129287, "y": -2792.986290442516}, {"x": 9076.646102097626, "y": -2792.6380626453088}, {"x": 9077.002054726572, "y": -2792.2899489911492}, {"x": 9077.358122579042, "y": -2791.94195319967}, {"x": 9077.714309216632, "y": -2791.594078996019}, {"x": 9078.070618195638, "y": -2791.24633010692}, {"x": 9078.427053069709, "y": -2790.8987102646142}, {"x": 9078.783617387202, "y": -2790.5512232037063}, {"x": 9079.140314692495, "y": -2790.2038726643177}, {"x": 9079.497148527325, "y": -2789.8566623889337}, {"x": 9079.854122428129, "y": -2789.509596126344}, {"x": 9080.211239924723, "y": -2789.1626776277035}, {"x": 9080.568504545603, "y": -2788.815910648894}, {"x": 9080.925919812642, "y": -2788.469298952102}, {"x": 9081.28348924374, "y": -2788.1228463026673}, {"x": 9081.641216350181, "y": -2787.776556470657}, {"x": 9081.999104641922, "y": -2787.430433231655}, {"x": 9082.35715761965, "y": -2787.084480365186}, {"x": 9082.715378778761, "y": -2786.7387016570783}, {"x": 9083.073771613323, "y": -2786.3931008978884}, {"x": 9083.432339608138, "y": -2786.0476818821144}, {"x": 9083.791086244035, "y": -2785.702448412921}, {"x": 9084.1500149939, "y": -2785.3574042950513}, {"x": 9084.50912932797, "y": -2785.012553341916}, {"x": 9084.868432707211, "y": -2784.6678993708647}, {"x": 9085.22429804665, "y": -2784.326920691536}, {"x": 9085.580348804795, "y": -2783.9861356379547}, {"x": 9085.93658176429, "y": -2783.645541059467}, {"x": 9086.292993719704, "y": -2783.3051338006903}, {"x": 9086.649581464275, "y": -2782.9649107007253}, {"x": 9087.006341800516, "y": -2782.624868593945}, {"x": 9087.363271534905, "y": -2782.2850043092053}, {"x": 9087.720367477898, "y": -2781.9453146714227}, {"x": 9088.07762644392, "y": -2781.6057965007844}, {"x": 9088.435045254017, "y": -2781.2664466135384}, {"x": 9088.792620733204, "y": -2780.9272618212035}, {"x": 9089.150349710475, "y": -2780.5882389289936}, {"x": 9089.508229020114, "y": -2780.2493747421245}, {"x": 9089.866255500378, "y": -2779.910666057141}, {"x": 9090.224425992172, "y": -2779.5721096705893}, {"x": 9090.5827373417, "y": -2779.233702371135}, {"x": 9090.941186401784, "y": -2778.8954409458674}, {"x": 9091.299770025244, "y": -2778.5573221779355}, {"x": 9091.6584850702, "y": -2778.2193428473356}, {"x": 9092.01732839874, "y": -2777.8814997285485}, {"x": 9092.376296876928, "y": -2777.5437895936902}, {"x": 9092.735387374796, "y": -2777.2062092117244}, {"x": 9093.09459676503, "y": -2776.868755347675}, {"x": 9093.45392192428, "y": -2776.531424764201}, {"x": 9093.813359731848, "y": -2776.1942142184457}, {"x": 9094.17290706969, "y": -2775.8571204675522}, {"x": 9094.532560826368, "y": -2775.5201402631474}, {"x": 9094.892317889136, "y": -2775.18327035607}, {"x": 9095.252175151856, "y": -2774.8465074924293}, {"x": 9095.612129509718, "y": -2774.5098484167606}, {"x": 9095.972177860564, "y": -2774.173289870445}, {"x": 9096.332317104876, "y": -2773.8368285917127}, {"x": 9096.692544147114, "y": -2773.5004613180045}, {"x": 9097.052855891738, "y": -2773.1641847820347}, {"x": 9097.413249248502, "y": -2772.827995717304}, {"x": 9097.77372112716, "y": -2772.4918908517975}, {"x": 9098.134268444084, "y": -2772.155866912712}, {"x": 9098.494888110357, "y": -2771.8199206256686}, {"x": 9098.855577047647, "y": -2771.484048713923}, {"x": 9099.21633217233, "y": -2771.1482478991566}, {"x": 9099.577150408722, "y": -2770.812514900685}, {"x": 9099.938028678496, "y": -2770.476846435461}, {"x": 9100.298963907295, "y": -2770.1412392196485}, {"x": 9100.659953022085, "y": -2769.805689969411}, {"x": 9101.020992951155, "y": -2769.4701953961844}, {"x": 9101.38208062412, "y": -2769.1347522121932}, {"x": 9101.743212973244, "y": -2768.799357128084}, {"x": 9102.10438693079, "y": -2768.464006852141}, {"x": 9102.465599430345, "y": -2768.1286980934356}, {"x": 9102.826847406817, "y": -2767.793427558675}, {"x": 9103.188127796444, "y": -2767.4581919529905}, {"x": 9103.549437536783, "y": -2767.1229879823018}, {"x": 9103.910773566717, "y": -2766.7878123509513}, {"x": 9104.272132822482, "y": -2766.4526617624947}, {"x": 9104.633512244282, "y": -2766.1175329196994}, {"x": 9104.994908772325, "y": -2765.7824225245436}, {"x": 9105.356319348142, "y": -2765.447327279007}, {"x": 9105.719240515142, "y": -2765.110854347267}, {"x": 9106.082171895576, "y": -2764.774392434148}, {"x": 9106.445112626187, "y": -2764.43794060659}, {"x": 9106.808061843718, "y": -2764.101497933897}, {"x": 9107.171018680943, "y": -2763.765063483797}, {"x": 9107.533982277253, "y": -2763.428636324805}, {"x": 9107.896951765419, "y": -2763.0922155230746}, {"x": 9108.259926283507, "y": -2762.755800148696}, {"x": 9108.62290496694, "y": -2762.4193892678218}, {"x": 9108.985886949813, "y": -2762.082981948968}, {"x": 9109.348871371518, "y": -2761.7465772590745}, {"x": 9109.711857364824, "y": -2761.4101742674447}, {"x": 9110.074844067802, "y": -2761.073772041019}, {"x": 9110.43783061587, "y": -2760.737369646737}, {"x": 9110.800816145773, "y": -2760.4009661539026}, {"x": 9111.163799791606, "y": -2760.064560628668}, {"x": 9111.526780691436, "y": -2759.7281521403365}, {"x": 9111.889757980683, "y": -2759.391739755849}, {"x": 9112.25273079477, "y": -2759.055322542932}, {"x": 9112.615698270436, "y": -2758.718899569314}, {"x": 9112.978659543103, "y": -2758.3824699035117}, {"x": 9113.34161374819, "y": -2758.046032613252}, {"x": 9113.704560022441, "y": -2757.709586766263}, {"x": 9114.067497501277, "y": -2757.3731314302727}, {"x": 9114.430425320117, "y": -2757.036665674585}, {"x": 9114.793342614379, "y": -2756.70018856614}, {"x": 9115.156248519486, "y": -2756.3636991734534}, {"x": 9115.519142170855, "y": -2756.027196565829}, {"x": 9115.882022705231, "y": -2755.690679810207}, {"x": 9116.244889255386, "y": -2755.354147976679}, {"x": 9116.607740958063, "y": -2755.0176001329737}, {"x": 9116.970576947357, "y": -2754.6810353483943}, {"x": 9117.333396358688, "y": -2754.344452691457}, {"x": 9117.696198326155, "y": -2754.0078512306777}, {"x": 9118.05898198385, "y": -2753.671230036937}, {"x": 9118.421746467193, "y": -2753.334588177174}, {"x": 9118.78449091028, "y": -2752.997924723057}, {"x": 9119.14721444721, "y": -2752.6612387423143}, {"x": 9119.50991621075, "y": -2752.324529306614}, {"x": 9119.872595334999, "y": -2751.9877954844715}, {"x": 9120.235250955375, "y": -2751.6510363459793}, {"x": 9120.597882202002, "y": -2751.314250962805}, {"x": 9120.9604882103, "y": -2750.977438403466}, {"x": 9121.323068111717, "y": -2750.640597740417}, {"x": 9121.685621040348, "y": -2750.3037280429626}, {"x": 9122.048146127641, "y": -2749.966828383559}, {"x": 9122.41064250637, "y": -2749.629897833086}, {"x": 9122.773109307978, "y": -2749.2929354624243}, {"x": 9123.13554566524, "y": -2748.95594034403}, {"x": 9123.497950708279, "y": -2748.618911549571}, {"x": 9123.860323568542, "y": -2748.2818481515033}, {"x": 9124.222663378801, "y": -2747.944749222284}, {"x": 9124.584969266534, "y": -2747.6076138343683}, {"x": 9124.94724036451, "y": -2747.270441061001}, {"x": 9125.309475802853, "y": -2746.9332299754265}, {"x": 9125.671674710364, "y": -2746.5959796501006}, {"x": 9126.033836217164, "y": -2746.2586891606325}, {"x": 9126.395959452057, "y": -2745.9213575802655}, {"x": 9126.758043543838, "y": -2745.583983983033}, {"x": 9127.120087622634, "y": -2745.2465674445425}, {"x": 9127.482090814596, "y": -2744.909107038827}, {"x": 9127.844052248522, "y": -2744.5716018422827}, {"x": 9128.20597105189, "y": -2744.23405092973}, {"x": 9128.567846352173, "y": -2743.8964533767776}, {"x": 9128.92967727685, "y": -2743.5588082606096}, {"x": 9129.291462950745, "y": -2743.2211146576233}, {"x": 9129.655757745115, "y": -2742.880985870025}, {"x": 9130.020005754175, "y": -2742.5408069785144}, {"x": 9130.384206971303, "y": -2742.2005779893952}, {"x": 9130.748361391205, "y": -2741.860298908972}, {"x": 9131.11246900461, "y": -2741.519969744337}, {"x": 9131.47652980755, "y": -2741.179590501007}, {"x": 9131.84054378943, "y": -2740.8391611860748}, {"x": 9132.204510947604, "y": -2740.498681805844}, {"x": 9132.568431271478, "y": -2740.1581523674076}, {"x": 9132.932304755757, "y": -2739.817572875494}, {"x": 9133.29613139382, "y": -2739.4769433379843}, {"x": 9133.659911177723, "y": -2739.136263761182}, {"x": 9134.023644102172, "y": -2738.7955341506035}, {"x": 9134.387330159221, "y": -2738.4547545133423}, {"x": 9134.750969342249, "y": -2738.11392485649}, {"x": 9135.114561643315, "y": -2737.773045185563}, {"x": 9135.47810705712, "y": -2737.432115507655}, {"x": 9135.841605577047, "y": -2737.091135828281}, {"x": 9136.205057195148, "y": -2736.750106154534}, {"x": 9136.568461903482, "y": -2736.409026492719}, {"x": 9136.93181969675, "y": -2736.067896849928}, {"x": 9137.295130568336, "y": -2735.726717231677}, {"x": 9137.658394511618, "y": -2735.385487645059}, {"x": 9138.021611517328, "y": -2735.0442080963785}, {"x": 9138.384781581493, "y": -2734.702878591152}, {"x": 9138.747904694845, "y": -2734.3614991372597}, {"x": 9139.110980852089, "y": -2734.0200697410064}, {"x": 9139.474010045282, "y": -2733.6785904079084}, {"x": 9139.836992269124, "y": -2733.337061145058}, {"x": 9140.199927515674, "y": -2732.99548195876}, {"x": 9140.562815776988, "y": -2732.653852855319}, {"x": 9140.925657049092, "y": -2732.312173841039}, {"x": 9141.288451321398, "y": -2731.9704449238006}, {"x": 9141.651198589929, "y": -2731.6286661083323}, {"x": 9142.013898848067, "y": -2731.2868374017266}, {"x": 9142.376552086544, "y": -2730.944958811076}, {"x": 9142.739158300064, "y": -2730.603030341109}, {"x": 9143.101717482006, "y": -2730.261052000494}, {"x": 9143.46422962443, "y": -2729.919023794748}, {"x": 9143.826694720708, "y": -2729.576945729386}, {"x": 9144.189112764228, "y": -2729.23481781229}, {"x": 9144.55148374969, "y": -2728.892640048976}, {"x": 9144.913807666502, "y": -2728.550412447324}, {"x": 9145.276084512017, "y": -2728.2081350120634}, {"x": 9145.638314276966, "y": -2727.865807750286}, {"x": 9146.00049695473, "y": -2727.523430669084}, {"x": 9146.362632538687, "y": -2727.1810037739747}, {"x": 9146.72472102222, "y": -2726.83852707205}, {"x": 9147.08676239738, "y": -2726.496000569615}], "type": "road_line"}, {"geometry": [{"x": 9151.912922145044, "y": -2726.0634545160765}, {"x": 9152.371561933642, "y": -2726.0024174027576}, {"x": 9152.833283209407, "y": -2725.9724912951788}, {"x": 9153.295979639022, "y": -2725.9726370227863}, {"x": 9153.757769815082, "y": -2726.001680367965}, {"x": 9154.21699604595, "y": -2726.058340765515}, {"x": 9154.672220344008, "y": -2726.1412575560053}, {"x": 9155.122218080965, "y": -2726.2490137078817}, {"x": 9155.565969781654, "y": -2726.3801569421394}, {"x": 9156.002651454746, "y": -2726.533218292653}, {"x": 9156.431623836488, "y": -2726.706728134482}, {"x": 9156.84259869854, "y": -2726.895740768768}, {"x": 9157.242372074676, "y": -2727.1073673583924}, {"x": 9157.627398343768, "y": -2727.3447316422457}, {"x": 9157.9946767106, "y": -2727.608717673567}, {"x": 9158.342903092887, "y": -2727.8973946576943}, {"x": 9158.67386468924, "y": -2728.205765161366}, {"x": 9158.993774280705, "y": -2728.5256397461526}, {"x": 9159.340903488139, "y": -2728.8774617400163}, {"x": 9159.688003307789, "y": -2729.229312728095}, {"x": 9160.035073737006, "y": -2729.5811927064474}, {"x": 9160.382114774467, "y": -2729.933101673498}, {"x": 9160.7291264162, "y": -2730.2850396268827}, {"x": 9161.076108660878, "y": -2730.637006563449}, {"x": 9161.423061504533, "y": -2730.9890024816214}, {"x": 9161.769984947161, "y": -2731.3410273782465}, {"x": 9162.116878984794, "y": -2731.6930812509613}, {"x": 9162.463743616107, "y": -2732.0451640981887}, {"x": 9162.810578837125, "y": -2732.397275915989}, {"x": 9163.157384645203, "y": -2732.749416702786}, {"x": 9163.50416104034, "y": -2733.101586456216}, {"x": 9163.850908018565, "y": -2733.4537851731257}, {"x": 9164.197625577228, "y": -2733.8060128519396}, {"x": 9164.544313713683, "y": -2734.1582694902936}, {"x": 9164.890972426605, "y": -2734.5105550842472}, {"x": 9165.237601713345, "y": -2734.862869633013}, {"x": 9165.584201571257, "y": -2735.2152131334374}, {"x": 9165.930771996367, "y": -2735.5675855823692}, {"x": 9166.27731299, "y": -2735.9199869790205}, {"x": 9166.623824545535, "y": -2736.27241731945}, {"x": 9166.970306664298, "y": -2736.6248766012945}, {"x": 9167.316759340993, "y": -2736.977364822978}, {"x": 9167.663182574293, "y": -2737.3298819821352}, {"x": 9168.009576361552, "y": -2737.682428074827}, {"x": 9168.355940701445, "y": -2738.0350031002645}, {"x": 9168.702275590003, "y": -2738.3876070545075}, {"x": 9169.048581025898, "y": -2738.7402399367684}, {"x": 9169.394857006486, "y": -2739.0929017431067}, {"x": 9169.741103529113, "y": -2739.4455924711583}, {"x": 9170.087320591138, "y": -2739.798312119347}, {"x": 9170.433508189908, "y": -2740.151060684521}, {"x": 9170.7796663241, "y": -2740.503838165103}], "type": "road_edge"}, {"geometry": [{"x": 9170.7796663241, "y": -2740.503838165103}, {"x": 9171.125427332618, "y": -2740.856270304668}, {"x": 9171.471158936136, "y": -2741.208731290293}, {"x": 9171.81686113466, "y": -2741.561221118038}, {"x": 9172.162533926861, "y": -2741.913739782385}, {"x": 9172.508177312742, "y": -2742.2662872801834}, {"x": 9172.853791292302, "y": -2742.618863605916}, {"x": 9173.19937586554, "y": -2742.9714687556425}, {"x": 9173.544931029812, "y": -2743.324102726999}, {"x": 9173.890456785113, "y": -2743.676765513681}, {"x": 9174.235953130123, "y": -2744.029457114112}, {"x": 9174.581420063514, "y": -2744.3821775227766}, {"x": 9174.92685758529, "y": -2744.7349267373097}, {"x": 9175.272265691476, "y": -2745.087704753771}, {"x": 9175.617644383397, "y": -2745.440511569797}, {"x": 9175.962993658404, "y": -2745.7933471798706}, {"x": 9176.308313513851, "y": -2746.1462115832037}, {"x": 9176.653603949739, "y": -2746.499104775069}, {"x": 9176.998864963416, "y": -2746.852026753101}, {"x": 9177.344096553561, "y": -2747.2049775141486}], "type": "road_edge"}, {"geometry": [{"x": 9180.664908582508, "y": -2738.5740173083095}, {"x": 9181.01184920685, "y": -2738.926214149642}, {"x": 9181.358833755312, "y": -2739.278367717945}, {"x": 9181.705862221272, "y": -2739.630478007702}, {"x": 9182.052934599436, "y": -2739.982545012608}, {"x": 9182.400050884507, "y": -2740.334568727935}, {"x": 9182.74721107119, "y": -2740.6865491481667}, {"x": 9183.094415154188, "y": -2741.0384862677865}, {"x": 9183.441663128204, "y": -2741.3903800812777}, {"x": 9183.78895498662, "y": -2741.7422305831246}, {"x": 9184.136290725462, "y": -2742.094037768599}, {"x": 9181.571219102882, "y": -2744.040122062847}, {"x": 9181.222638132795, "y": -2743.68502125691}, {"x": 9180.874057164032, "y": -2743.329920451762}, {"x": 9180.525476193945, "y": -2742.9748196458254}, {"x": 9180.176895225182, "y": -2742.619718839889}, {"x": 9179.828314255095, "y": -2742.2646180347406}, {"x": 9179.47973328633, "y": -2741.9095172288044}, {"x": 9179.131152316244, "y": -2741.554416423656}, {"x": 9178.782571347481, "y": -2741.1993156177195}, {"x": 9178.433990377394, "y": -2740.8442148117833}, {"x": 9178.085409408632, "y": -2740.4891140066347}, {"x": 9177.736828438545, "y": -2740.1340132006985}, {"x": 9177.388247468458, "y": -2739.77891239555}, {"x": 9177.039666499695, "y": -2739.4238115896137}, {"x": 9176.691085529608, "y": -2739.068710784465}, {"x": 9176.342504560846, "y": -2738.713609978529}, {"x": 9175.993923590759, "y": -2738.358509172592}, {"x": 9175.645342621996, "y": -2738.003408367444}, {"x": 9175.296761651907, "y": -2737.648307561508}, {"x": 9174.948180683145, "y": -2737.2932067563593}, {"x": 9174.599599713058, "y": -2736.938105950423}, {"x": 9174.25101874297, "y": -2736.5830051444864}, {"x": 9173.902437774208, "y": -2736.2279043393382}, {"x": 9173.553856804121, "y": -2735.8728035334016}, {"x": 9173.205275835358, "y": -2735.5177027282534}, {"x": 9172.856694865271, "y": -2735.1626019223168}, {"x": 9172.508113896509, "y": -2734.8075011163805}, {"x": 9172.159532926422, "y": -2734.452400311232}, {"x": 9171.81095195766, "y": -2734.0972995052957}, {"x": 9171.462370987572, "y": -2733.7421987001476}, {"x": 9171.113790017485, "y": -2733.387097894211}, {"x": 9170.76520904872, "y": -2733.0319970890628}, {"x": 9170.416628078634, "y": -2732.676896283126}, {"x": 9170.068047109871, "y": -2732.32179547719}, {"x": 9169.719466139784, "y": -2731.9666946720413}, {"x": 9169.370885171022, "y": -2731.611593866105}, {"x": 9169.022304200935, "y": -2731.2564930609565}, {"x": 9168.673723232172, "y": -2730.9013922550203}, {"x": 9168.325142262085, "y": -2730.5462914490836}, {"x": 9167.976561293322, "y": -2730.1911906439354}, {"x": 9167.627980323236, "y": -2729.836089837999}, {"x": 9167.279399353149, "y": -2729.4809890328506}, {"x": 9166.930818384386, "y": -2729.1258882269144}, {"x": 9166.582237414299, "y": -2728.770787421766}, {"x": 9166.233656445535, "y": -2728.4156866158296}, {"x": 9165.885075475448, "y": -2728.060585809893}, {"x": 9165.536494506685, "y": -2727.705485004745}, {"x": 9165.187913536598, "y": -2727.350384198808}, {"x": 9164.839332567835, "y": -2726.99528339366}, {"x": 9164.490751597748, "y": -2726.6401825877233}, {"x": 9164.17184514579, "y": -2726.29204642664}, {"x": 9163.920417024729, "y": -2725.8935945495364}, {"x": 9163.791930390364, "y": -2725.441142033051}, {"x": 9163.817193065335, "y": -2724.971704285352}, {"x": 9163.992107075597, "y": -2724.535037458234}, {"x": 9164.285779562475, "y": -2724.1669064330563}, {"x": 9164.677185187968, "y": -2723.878640457996}, {"x": 9165.135027699842, "y": -2723.716760137135}, {"x": 9165.620359306631, "y": -2723.709670600129}, {"x": 9166.082754581625, "y": -2723.858128019748}, {"x": 9166.486822905164, "y": -2724.1289929505288}, {"x": 9166.838613095217, "y": -2724.466361393077}, {"x": 9167.183413010898, "y": -2724.819891840612}, {"x": 9167.528256967213, "y": -2725.1733793295525}, {"x": 9167.873144958863, "y": -2725.5268238543817}, {"x": 9168.218076980555, "y": -2725.880225409583}, {"x": 9168.56305302699, "y": -2726.2335839888524}, {"x": 9168.908073092874, "y": -2726.5868995882497}, {"x": 9169.253137172911, "y": -2726.9401722006814}, {"x": 9169.598245261805, "y": -2727.2934018222086}, {"x": 9169.943397354258, "y": -2727.6465884457375}, {"x": 9170.28859344365, "y": -2727.9997320673288}, {"x": 9170.633833526012, "y": -2728.3528326806772}, {"x": 9170.979117596045, "y": -2728.705890280267}, {"x": 9171.324445647131, "y": -2729.058904860581}, {"x": 9171.669817675296, "y": -2729.411876416104}, {"x": 9172.015233673923, "y": -2729.764804942107}, {"x": 9172.360693639035, "y": -2730.117690432285}, {"x": 9172.706197564017, "y": -2730.4705328811224}, {"x": 9173.051745444895, "y": -2730.8233322838905}, {"x": 9173.397337275046, "y": -2731.176088635073}, {"x": 9173.742973049179, "y": -2731.5288019283653}, {"x": 9174.08865276332, "y": -2731.8814721590393}, {"x": 9174.434376409523, "y": -2732.23409932079}, {"x": 9174.780143985141, "y": -2732.5866834088897}, {"x": 9175.125955483556, "y": -2732.939224417822}, {"x": 9175.47181089947, "y": -2733.29172234207}, {"x": 9175.817710227588, "y": -2733.6441771761174}, {"x": 9176.163653461288, "y": -2733.99658891366}, {"x": 9176.509640597924, "y": -2734.3489575507574}, {"x": 9176.85567162955, "y": -2734.701283081105}, {"x": 9177.201746552197, "y": -2735.053565499187}, {"x": 9177.547865360566, "y": -2735.405804799486}, {"x": 9177.894028048038, "y": -2735.758000976486}, {"x": 9178.240234610641, "y": -2736.1101540254595}, {"x": 9178.586485041757, "y": -2736.4622639401005}, {"x": 9178.932779337409, "y": -2736.814330715682}, {"x": 9179.279117490982, "y": -2737.1663543458985}, {"x": 9179.625499497177, "y": -2737.5183348260225}, {"x": 9179.971925352022, "y": -2737.8702721497493}, {"x": 9180.318395048898, "y": -2738.2221663123505}, {"x": 9180.664908582508, "y": -2738.5740173083095}], "type": "road_edge"}, {"geometry": [{"x": 9188.403848236978, "y": -2738.9352917998895}, {"x": 9188.065803217994, "y": -2738.586982332335}, {"x": 9187.727679805545, "y": -2738.238748967501}, {"x": 9187.389478015519, "y": -2737.8905917219367}, {"x": 9187.051197865128, "y": -2737.5425106137677}, {"x": 9186.712839368938, "y": -2737.1945056634836}, {"x": 9186.374402544161, "y": -2736.8465768876326}, {"x": 9186.035887406682, "y": -2736.498724305129}, {"x": 9185.697293972393, "y": -2736.1509479356746}, {"x": 9185.35862225718, "y": -2735.803247798182}, {"x": 9185.01987227693, "y": -2735.4556239115645}, {"x": 9184.68104404621, "y": -2735.108076295524}, {"x": 9184.342137580907, "y": -2734.760604968186}, {"x": 9184.003152896908, "y": -2734.413209950827}, {"x": 9183.664090007454, "y": -2734.0658912631498}, {"x": 9183.324948927111, "y": -2733.718648924067}, {"x": 9182.98572967044, "y": -2733.3714829556443}, {"x": 9182.646432253332, "y": -2733.024393376795}, {"x": 9182.3070566877, "y": -2732.6773802087973}, {"x": 9181.967602989434, "y": -2732.3304434729275}, {"x": 9181.628071169127, "y": -2731.9835831904647}, {"x": 9181.288461242666, "y": -2731.6367993826852}, {"x": 9180.948773221966, "y": -2731.290092071655}, {"x": 9180.609007118945, "y": -2730.943461278652}], "type": "road_edge"}, {"geometry": [{"x": 9180.609007118945, "y": -2730.943461278652}, {"x": 9180.264312389449, "y": -2730.591962314319}, {"x": 9179.919537362555, "y": -2730.2405421116127}, {"x": 9179.574682054157, "y": -2729.889200691023}, {"x": 9179.229746478815, "y": -2729.537938073827}, {"x": 9178.88473065242, "y": -2729.1867542797263}, {"x": 9178.539634593506, "y": -2728.8356493284223}, {"x": 9178.194458315314, "y": -2728.4846232404047}, {"x": 9177.84920183638, "y": -2728.1336760361633}, {"x": 9177.503865172592, "y": -2727.7828077346107}, {"x": 9177.158448339838, "y": -2727.4320183562368}, {"x": 9176.812951356655, "y": -2727.081307920743}, {"x": 9176.467374236283, "y": -2726.7306764470427}, {"x": 9176.121716999905, "y": -2726.380123954837}, {"x": 9175.775979662089, "y": -2726.029650463828}, {"x": 9175.43016224004, "y": -2725.679255992141}, {"x": 9175.084264750976, "y": -2725.3289405602645}, {"x": 9174.738287212109, "y": -2724.978704186325}, {"x": 9174.392229641973, "y": -2724.6285468892356}, {"x": 9174.046092057779, "y": -2724.278468688697}, {"x": 9173.699874476742, "y": -2723.9284696036234}, {"x": 9173.353576914751, "y": -2723.5785496513518}, {"x": 9173.007199391663, "y": -2723.2287088523717}, {"x": 9172.660741924692, "y": -2722.87894722402}, {"x": 9172.314204532373, "y": -2722.529264785211}, {"x": 9171.967587230594, "y": -2722.179661554857}, {"x": 9171.620890037893, "y": -2721.830137551084}, {"x": 9171.274112972806, "y": -2721.4806927920176}, {"x": 9170.927256052544, "y": -2721.1313272973584}, {"x": 9170.580319296967, "y": -2720.7820410836557}, {"x": 9170.233302721965, "y": -2720.4328341714}, {"x": 9169.886206346071, "y": -2720.0837065763512}, {"x": 9169.539030187823, "y": -2719.7346583189997}, {"x": 9169.191774265759, "y": -2719.385689415894}, {"x": 9168.844438597089, "y": -2719.0367998867364}, {"x": 9168.497023200349, "y": -2718.6879897488634}, {"x": 9168.153467150854, "y": -2718.33804804305}, {"x": 9167.824017440567, "y": -2717.9748659942625}, {"x": 9167.519475057468, "y": -2717.590629258203}, {"x": 9167.247304886798, "y": -2717.1828600431386}, {"x": 9167.011520937687, "y": -2716.753028094584}, {"x": 9166.812636269009, "y": -2716.304904112815}, {"x": 9166.647997448206, "y": -2715.8430624458338}, {"x": 9166.512521220016, "y": -2715.371803334726}], "type": "road_edge"}, {"geometry": [{"x": 9167.192655700874, "y": -2706.8317914996273}, {"x": 9167.503315759863, "y": -2706.523723655774}, {"x": 9167.814059246215, "y": -2706.21573996465}, {"x": 9168.124886137417, "y": -2705.907840447532}, {"x": 9168.435796410964, "y": -2705.600025127274}, {"x": 9168.746790041701, "y": -2705.2922940267295}, {"x": 9169.05786700844, "y": -2704.984647168753}, {"x": 9169.369027288674, "y": -2704.6770845754086}, {"x": 9169.680270859897, "y": -2704.3696062695512}, {"x": 9170.029059141236, "y": -2704.025245736469}, {"x": 9170.377983237144, "y": -2703.681022821882}, {"x": 9170.727074424773, "y": -2703.336969364105}, {"x": 9171.076363929633, "y": -2702.993117247947}, {"x": 9171.425882926931, "y": -2702.6494984118062}, {"x": 9171.775662525664, "y": -2702.3061448563367}, {"x": 9172.125733762015, "y": -2701.963088654694}, {"x": 9172.476127592723, "y": -2701.6203619580506}, {"x": 9172.82687488317, "y": -2701.277997005843}, {"x": 9173.178006398115, "y": -2700.93602613365}, {"x": 9173.52955279507, "y": -2700.5944817818613}, {"x": 9173.881544616359, "y": -2700.2533965035595}, {"x": 9174.234012274552, "y": -2699.912802971612}], "type": "road_line"}, {"geometry": [{"x": 9130.545955206377, "y": -2642.079383881275}, {"x": 9130.182932712689, "y": -2642.4106357597448}, {"x": 9129.82024142606, "y": -2642.742250239269}, {"x": 9129.457881363702, "y": -2643.074226617688}, {"x": 9129.09585254018, "y": -2643.406564182598}, {"x": 9128.73415496079, "y": -2643.7392622168654}, {"x": 9128.37278861891, "y": -2644.0723199986314}, {"x": 9128.011753509247, "y": -2644.4057368005174}, {"x": 9127.65104961591, "y": -2644.7395118919944}, {"x": 9127.290676920364, "y": -2645.0736445401694}, {"x": 9126.930635398776, "y": -2645.4081340097837}, {"x": 9126.570925024667, "y": -2645.7429795655808}, {"x": 9126.220783095308, "y": -2646.069557290921}, {"x": 9125.870958407324, "y": -2646.396474813293}, {"x": 9125.52145390267, "y": -2646.723734611138}, {"x": 9125.172272527272, "y": -2647.0513391558047}, {"x": 9124.823417237654, "y": -2647.379290909973}, {"x": 9124.474890996953, "y": -2647.70759232923}, {"x": 9124.126696777581, "y": -2648.036245859707}, {"x": 9123.778837557238, "y": -2648.3652539404416}, {"x": 9123.431316325548, "y": -2648.6946190010153}, {"x": 9123.084136077425, "y": -2649.024343463918}, {"x": 9122.737299817056, "y": -2649.354429740605}, {"x": 9122.390810557894, "y": -2649.6848802362283}, {"x": 9122.044671318685, "y": -2650.0156973472713}, {"x": 9121.69888513142, "y": -2650.3468834591836}, {"x": 9121.353455030736, "y": -2650.678440951112}], "type": "road_edge"}, {"geometry": [{"x": 9165.897629375406, "y": -2688.6331799510435}, {"x": 9165.547655517537, "y": -2688.9620638031693}, {"x": 9165.198038518149, "y": -2689.291326982871}, {"x": 9164.848766717983, "y": -2689.6209563106745}, {"x": 9164.49982841542, "y": -2689.950938647295}, {"x": 9164.151211869113, "y": -2690.2812608896993}, {"x": 9163.80290530197, "y": -2690.611909967164}, {"x": 9163.454896899828, "y": -2690.942872846006}, {"x": 9163.107174814095, "y": -2691.274136522486}, {"x": 9162.759727160435, "y": -2691.6056880259644}, {"x": 9162.41254202803, "y": -2691.9375144141723}, {"x": 9162.065607470315, "y": -2692.2696027755733}, {"x": 9161.718911512919, "y": -2692.6019402230622}, {"x": 9161.372442157637, "y": -2692.934513898692}, {"x": 9161.026187377141, "y": -2693.2673109665798}, {"x": 9160.680135118944, "y": -2693.6003186168505}, {"x": 9160.32227184045, "y": -2693.9450958188295}, {"x": 9159.964607817916, "y": -2694.2900797188554}, {"x": 9159.607138400084, "y": -2694.6352652575983}, {"x": 9159.24985892643, "y": -2694.9806473907015}, {"x": 9158.892764732458, "y": -2695.3262210785374}, {"x": 9158.535851145727, "y": -2695.67198129645}, {"x": 9158.179113493796, "y": -2696.017923027666}, {"x": 9157.822547097603, "y": -2696.3640412688064}, {"x": 9157.466147274119, "y": -2696.710331027527}, {"x": 9157.109909344279, "y": -2697.05678732488}, {"x": 9156.753828625055, "y": -2697.403405195315}, {"x": 9156.397900433409, "y": -2697.7501796866777}, {"x": 9156.042120087635, "y": -2698.0971058602113}, {"x": 9155.686482909998, "y": -2698.4441787929204}, {"x": 9155.330984225408, "y": -2698.791393576782}, {"x": 9154.975619361421, "y": -2699.1387453203224}, {"x": 9154.620383653546, "y": -2699.486229147042}, {"x": 9154.26527243993, "y": -2699.8338401985657}, {"x": 9153.910281066674, "y": -2700.1815736330673}, {"x": 9153.55540489046, "y": -2700.5294246260582}, {"x": 9153.200639271949, "y": -2700.8773883735403}, {"x": 9152.845979585041, "y": -2701.225460088851}, {"x": 9152.491421212906, "y": -2701.5736350050306}, {"x": 9152.136959550628, "y": -2701.9219083756075}, {"x": 9151.782590005203, "y": -2702.270275473025}, {"x": 9151.428307996875, "y": -2702.618731593367}, {"x": 9151.074108961771, "y": -2702.9672720516314}, {"x": 9150.719988350585, "y": -2703.3158921872455}, {"x": 9150.365941627248, "y": -2703.6645873609145}, {"x": 9150.011964276877, "y": -2704.0133529561967}, {"x": 9149.658051799155, "y": -2704.362184381869}, {"x": 9149.304199716269, "y": -2704.7110770687736}, {"x": 9148.950403566296, "y": -2705.0600264745467}, {"x": 9148.596658909824, "y": -2705.409028081254}, {"x": 9148.242961328622, "y": -2705.7580773953905}, {"x": 9147.889306428291, "y": -2706.107169952611}, {"x": 9147.535689835617, "y": -2706.4563013129987}, {"x": 9147.18210720387, "y": -2706.8054670665833}, {"x": 9146.828554207495, "y": -2707.154662828613}, {"x": 9146.4750265514, "y": -2707.5038842442805}, {"x": 9146.12151996564, "y": -2707.8531269879386}, {"x": 9145.768030208083, "y": -2708.2023867646735}, {"x": 9145.414553063069, "y": -2708.551659307153}, {"x": 9145.061084349369, "y": -2708.9009403803557}, {"x": 9144.707619912228, "y": -2709.2502257815704}, {"x": 9144.354155628673, "y": -2709.5995113380327}, {"x": 9144.000687408829, "y": -2709.948792911652}, {"x": 9143.647211194597, "y": -2710.2980663950725}, {"x": 9143.293722963625, "y": -2710.647327717188}, {"x": 9142.94021872534, "y": -2710.996572837628}, {"x": 9142.586694528889, "y": -2711.3457977554235}], "type": "road_edge"}, {"geometry": [{"x": 9166.818692584859, "y": -2690.0031508041816}, {"x": 9166.46131782731, "y": -2690.34138040138}, {"x": 9166.10431582169, "y": -2690.6800034142593}, {"x": 9165.747671073079, "y": -2691.019002676562}, {"x": 9165.391368036242, "y": -2691.3583610732544}, {"x": 9165.035391111664, "y": -2691.6980615365837}, {"x": 9164.679724653486, "y": -2692.0380870445074}, {"x": 9164.324352970836, "y": -2692.3784206191126}, {"x": 9163.9692603265, "y": -2692.7190453211015}, {"x": 9163.614430942216, "y": -2693.0599442545195}, {"x": 9163.25984900398, "y": -2693.4011005572984}, {"x": 9162.905498659387, "y": -2693.7424974036217}, {"x": 9162.551364020286, "y": -2694.084117997617}, {"x": 9162.197429169397, "y": -2694.4259455780884}, {"x": 9161.843678160312, "y": -2694.7679634082688}, {"x": 9161.490095017494, "y": -2695.110154778185}, {"x": 9161.1366637429, "y": -2695.452503002294}, {"x": 9160.779277671663, "y": -2695.798963003518}, {"x": 9160.422027828088, "y": -2696.1455634704894}, {"x": 9160.064911417185, "y": -2696.4923014164697}, {"x": 9159.707925645283, "y": -2696.8391738602377}, {"x": 9159.3510677121, "y": -2697.1861778205707}, {"x": 9158.994334816021, "y": -2697.533310320976}, {"x": 9158.637724150143, "y": -2697.8805683873243}, {"x": 9158.281232907557, "y": -2698.2279490502137}, {"x": 9157.924858277385, "y": -2698.575449340244}, {"x": 9157.568597442127, "y": -2698.923066294319}, {"x": 9157.212447585609, "y": -2699.2707969493417}, {"x": 9156.856405887684, "y": -2699.618638346156}, {"x": 9156.500469524233, "y": -2699.9665875279693}, {"x": 9156.144635671137, "y": -2700.314641540355}, {"x": 9155.788901500304, "y": -2700.662797432036}, {"x": 9155.43326417835, "y": -2701.01105225489}, {"x": 9155.077720874533, "y": -2701.3594030600048}, {"x": 9154.722268751493, "y": -2701.7078469047738}, {"x": 9154.366904971876, "y": -2702.056380845802}, {"x": 9154.011626695668, "y": -2702.4050019444226}, {"x": 9153.65643108022, "y": -2702.7537072603923}, {"x": 9153.30131528155, "y": -2703.1024938605615}, {"x": 9152.946276453029, "y": -2703.4513588086274}, {"x": 9152.591311745386, "y": -2703.8002991738035}, {"x": 9152.236418310667, "y": -2704.1493120253044}, {"x": 9151.881593294302, "y": -2704.4983944347073}, {"x": 9151.526833843041, "y": -2704.8475434751667}, {"x": 9151.17213710364, "y": -2705.196756222201}, {"x": 9150.817500216232, "y": -2705.5460297513287}, {"x": 9150.462920324919, "y": -2705.8953611412203}, {"x": 9150.108394567187, "y": -2706.2447474697574}, {"x": 9149.753920084493, "y": -2706.594185818764}, {"x": 9149.399494012998, "y": -2706.943673269274}, {"x": 9149.04511348886, "y": -2707.293206904687}, {"x": 9148.690775646919, "y": -2707.642783808401}, {"x": 9148.336477622011, "y": -2707.992401066968}, {"x": 9147.982216547647, "y": -2708.342055765362}, {"x": 9147.627989554692, "y": -2708.6917449917114}, {"x": 9147.273793774011, "y": -2709.0414658325667}, {"x": 9146.919626339119, "y": -2709.391215377631}, {"x": 9146.56548437558, "y": -2709.7409907158203}, {"x": 9146.211365016909, "y": -2710.0907889376253}, {"x": 9145.857265388675, "y": -2710.440607133538}, {"x": 9145.503182620418, "y": -2710.7904423940495}, {"x": 9145.14911383903, "y": -2711.1402918112276}, {"x": 9144.795056172728, "y": -2711.4901524763513}, {"x": 9144.441006747082, "y": -2711.8400214814883}, {"x": 9144.086962690306, "y": -2712.189895919494}, {"x": 9143.732921129294, "y": -2712.539772882437}, {"x": 9143.37887919094, "y": -2712.8896494623837}, {"x": 9143.024833999485, "y": -2713.239522752978}, {"x": 9142.670782684472, "y": -2713.589389845499}, {"x": 9142.31672237147, "y": -2713.939247832015}, {"x": 9141.962650188694, "y": -2714.2890938061696}, {"x": 9141.608563261712, "y": -2714.638924857665}, {"x": 9141.254458720068, "y": -2714.9887380793584}, {"x": 9140.900333690652, "y": -2715.3385305617403}, {"x": 9140.548290144161, "y": -2715.686221772117}, {"x": 9140.196223811412, "y": -2716.0338899105313}, {"x": 9139.844134988985, "y": -2716.381535273294}, {"x": 9139.492023974783, "y": -2716.72915815829}, {"x": 9139.13989106141, "y": -2717.0767588618296}, {"x": 9138.787736546772, "y": -2717.424337681798}, {"x": 9138.435560727447, "y": -2717.771894913717}, {"x": 9138.083363897364, "y": -2718.1194308554727}, {"x": 9137.731146354427, "y": -2718.466945804162}, {"x": 9137.378908392568, "y": -2718.8144400576716}, {"x": 9137.02665030704, "y": -2719.1619139123104}, {"x": 9136.674372394424, "y": -2719.509367665965}, {"x": 9136.322074951297, "y": -2719.856801615732}, {"x": 9135.969758270265, "y": -2720.204216059498}, {"x": 9135.617422649233, "y": -2720.5516112935725}, {"x": 9135.265068383456, "y": -2720.898987616629}, {"x": 9134.912695766863, "y": -2721.2463453265536}, {"x": 9134.560305096033, "y": -2721.593684719656}, {"x": 9134.207896666221, "y": -2721.9410060938217}, {"x": 9133.85547077136, "y": -2722.2883097477247}, {"x": 9133.503027706702, "y": -2722.6355959784623}, {"x": 9133.150567768826, "y": -2722.982865083921}, {"x": 9132.798091251665, "y": -2723.330117361986}, {"x": 9132.445598450471, "y": -2723.677353110543}, {"x": 9132.093089660502, "y": -2724.0245726266908}, {"x": 9131.740565175687, "y": -2724.3717762098895}, {"x": 9131.388025292605, "y": -2724.718964157238}, {"x": 9131.035470305185, "y": -2725.06613676741}, {"x": 9130.682900507361, "y": -2725.4132943375034}, {"x": 9130.33031619571, "y": -2725.760437166191}, {"x": 9129.977717664164, "y": -2726.1075655513596}, {"x": 9129.625105206651, "y": -2726.4546797908947}, {"x": 9129.272479119754, "y": -2726.801780184258}, {"x": 9128.919839696076, "y": -2727.1488670293356}, {"x": 9128.567187230874, "y": -2727.4959406232247}, {"x": 9128.214522019403, "y": -2727.8430012653876}, {"x": 9127.861844355593, "y": -2728.190049254498}, {"x": 9127.509154533374, "y": -2728.5370848876532}, {"x": 9127.156452848003, "y": -2728.884108463528}, {"x": 9126.803739594732, "y": -2729.231120281583}, {"x": 9126.45101506617, "y": -2729.578120639705}, {"x": 9126.098279557571, "y": -2729.9251098365676}, {"x": 9125.745533362866, "y": -2730.2720881700566}, {"x": 9125.39277677731, "y": -2730.619055939633}, {"x": 9125.040010094834, "y": -2730.9660134431842}, {"x": 9124.687233609367, "y": -2731.312960980171}, {"x": 9124.334447616167, "y": -2731.659898848479}, {"x": 9123.981652407838, "y": -2732.0068273467823}, {"x": 9123.628848279635, "y": -2732.353746773755}, {"x": 9123.27603552549, "y": -2732.700657428071}, {"x": 9122.923214439335, "y": -2733.047559609191}, {"x": 9122.570385315097, "y": -2733.3944536157906}, {"x": 9122.217548448036, "y": -2733.7413397457544}, {"x": 9121.864704130754, "y": -2734.088218297756}, {"x": 9121.511852658507, "y": -2734.4350895720468}, {"x": 9121.158994325227, "y": -2734.781953866511}, {"x": 9120.806129423521, "y": -2735.128811479823}, {"x": 9120.453258249967, "y": -2735.475662711445}, {"x": 9120.100381095846, "y": -2735.8225078600503}, {"x": 9119.74749825774, "y": -2736.169347224313}, {"x": 9119.394610026931, "y": -2736.516181102907}, {"x": 9119.041716698674, "y": -2736.8630097952937}, {"x": 9118.688818568222, "y": -2737.2098336001477}, {"x": 9118.333369940576, "y": -2737.5591547862696}, {"x": 9117.977916743763, "y": -2737.9084713236393}, {"x": 9117.622458985727, "y": -2738.257783218562}, {"x": 9117.266996671764, "y": -2738.6070904773424}, {"x": 9116.911529807168, "y": -2738.956393106284}, {"x": 9116.556058399885, "y": -2739.305691111692}, {"x": 9116.200582456535, "y": -2739.654984500659}, {"x": 9115.845101981091, "y": -2740.0042732779125}, {"x": 9115.489616981493, "y": -2740.3535574513335}, {"x": 9115.134127464366, "y": -2740.7028370256508}, {"x": 9114.778633436326, "y": -2741.0521120087446}, {"x": 9114.42313490135, "y": -2741.401382405343}, {"x": 9114.067631867376, "y": -2741.7506482233275}, {"x": 9113.71212434103, "y": -2742.0999094674253}, {"x": 9113.356612327603, "y": -2742.4491661455177}, {"x": 9113.001095835041, "y": -2742.7984182623327}, {"x": 9112.645574867318, "y": -2743.147665825751}, {"x": 9112.290049432375, "y": -2743.496908840501}, {"x": 9111.934519536833, "y": -2743.846147314463}, {"x": 9111.578985184666, "y": -2744.1953812523657}, {"x": 9111.22344638514, "y": -2744.54461066209}, {"x": 9110.867903142227, "y": -2744.893835548363}, {"x": 9110.512355463872, "y": -2745.2430559182785}, {"x": 9110.15680335537, "y": -2745.59227177814}, {"x": 9109.801246824667, "y": -2745.941483134253}, {"x": 9109.445685874409, "y": -2746.290689992921}, {"x": 9109.09012051519, "y": -2746.6398923604493}, {"x": 9108.734550749654, "y": -2746.989090243141}, {"x": 9108.378976587075, "y": -2747.3382836473024}, {"x": 9108.02339803142, "y": -2747.687472579237}, {"x": 9107.667815090637, "y": -2748.0366570444608}, {"x": 9107.312227771343, "y": -2748.3858370508547}, {"x": 9106.956636077512, "y": -2748.7350126031474}, {"x": 9106.601040017087, "y": -2749.0841837084313}, {"x": 9106.245439596689, "y": -2749.4333503730104}, {"x": 9105.889834821612, "y": -2749.78251260319}, {"x": 9105.534225698479, "y": -2750.1316704052733}, {"x": 9105.178612233907, "y": -2750.480823785566}, {"x": 9104.822994434518, "y": -2750.8299727503722}, {"x": 9104.467372305608, "y": -2751.179117305208}, {"x": 9104.111745853796, "y": -2751.528257457954}, {"x": 9103.756115085704, "y": -2751.877393213339}, {"x": 9103.400480006625, "y": -2752.226524578455}, {"x": 9103.044840624507, "y": -2752.5756515596067}, {"x": 9102.689196944642, "y": -2752.9247741630984}, {"x": 9102.333548973655, "y": -2753.273892395235}, {"x": 9101.977896716837, "y": -2753.623006262321}, {"x": 9101.622240182134, "y": -2753.9721157706595}, {"x": 9101.266579374842, "y": -2754.3212209257686}, {"x": 9100.910914301581, "y": -2754.67032173474}, {"x": 9100.555244968973, "y": -2755.0194182046666}, {"x": 9100.199571382313, "y": -2755.3685103402763}, {"x": 9099.843893548217, "y": -2755.7175981486616}, {"x": 9099.488211473312, "y": -2756.066681636127}, {"x": 9099.132525164212, "y": -2756.415760808978}, {"x": 9098.776834626216, "y": -2756.7648356735176}, {"x": 9098.421139867269, "y": -2757.113906235263}, {"x": 9098.065440891341, "y": -2757.4629725020945}, {"x": 9097.709737706376, "y": -2757.812034479529}, {"x": 9097.354030317672, "y": -2758.1610921730817}, {"x": 9096.998318733173, "y": -2758.5101455898466}, {"x": 9096.642602956848, "y": -2758.859194736915}, {"x": 9096.286882996643, "y": -2759.2082396190162}, {"x": 9095.931158859179, "y": -2759.557280243242}, {"x": 9095.57543054975, "y": -2759.906316615897}, {"x": 9095.21969807498, "y": -2760.2553487440746}, {"x": 9094.86396144016, "y": -2760.6043766325015}, {"x": 9094.508220653237, "y": -2760.953400288272}, {"x": 9094.152475719506, "y": -2761.302419717689}, {"x": 9093.796726645587, "y": -2761.651434927058}, {"x": 9093.4409734381, "y": -2762.000445922683}, {"x": 9093.085216102343, "y": -2762.3494527108687}, {"x": 9092.729454644936, "y": -2762.6984552979193}, {"x": 9092.373689073818, "y": -2763.0474536901393}, {"x": 9092.017919392967, "y": -2763.396447894622}, {"x": 9091.662145609002, "y": -2763.745437916094}, {"x": 9091.306367729863, "y": -2764.0944237616495}, {"x": 9090.950585759527, "y": -2764.4434054375924}, {"x": 9090.594799705936, "y": -2764.792382951015}, {"x": 9090.23900957571, "y": -2765.141356306646}, {"x": 9089.883215374144, "y": -2765.4903255123654}, {"x": 9089.52741710786, "y": -2765.83929057369}, {"x": 9089.171614782153, "y": -2766.188251496136}, {"x": 9088.815808404966, "y": -2766.5372082875847}, {"x": 9088.4599979816, "y": -2766.886160953552}, {"x": 9088.104183518668, "y": -2767.23510950113}, {"x": 9087.748365022795, "y": -2767.5840539350475}, {"x": 9087.392542499274, "y": -2767.9329942631853}, {"x": 9087.036715956052, "y": -2768.2819304902714}, {"x": 9086.6808853971, "y": -2768.630862624186}, {"x": 9086.32505083036, "y": -2768.9797906712342}, {"x": 9085.969212261132, "y": -2769.3287146361445}, {"x": 9085.613369696033, "y": -2769.6776345267967}, {"x": 9085.257523143007, "y": -2770.0265503487076}, {"x": 9084.901672606027, "y": -2770.3754621081816}, {"x": 9084.545818091714, "y": -2770.7243698123116}, {"x": 9084.189959608011, "y": -2771.0732734666135}, {"x": 9083.83409715889, "y": -2771.422173077392}, {"x": 9083.478230752295, "y": -2771.7710686509513}, {"x": 9083.122360394847, "y": -2772.1199601943845}, {"x": 9082.766486090517, "y": -2772.4688477132077}, {"x": 9082.410607848573, "y": -2772.817731214513}, {"x": 9082.054725672986, "y": -2773.1666107038172}, {"x": 9081.70093378104, "y": -2773.513433346286}, {"x": 9081.347138290426, "y": -2773.860252317195}, {"x": 9080.993339480512, "y": -2774.2070679033964}, {"x": 9080.639537634637, "y": -2774.553880390955}, {"x": 9080.285733033494, "y": -2774.9006900683007}, {"x": 9079.93192595777, "y": -2775.2474972214977}, {"x": 9079.57811668948, "y": -2775.5943021366115}, {"x": 9079.224305507993, "y": -2775.9411051012826}, {"x": 9078.870492696646, "y": -2776.287906402364}, {"x": 9078.516678536129, "y": -2776.6347063267094}, {"x": 9078.162863305812, "y": -2776.9815051611704}, {"x": 9077.809047289029, "y": -2777.328303191813}, {"x": 9077.455230766474, "y": -2777.675100707066}, {"x": 9077.101414018838, "y": -2778.021897992206}, {"x": 9076.74759732681, "y": -2778.368695335663}, {"x": 9076.393780973729, "y": -2778.715493022712}, {"x": 9076.039965238962, "y": -2779.0622913409957}, {"x": 9075.6861504032, "y": -2779.4090905773664}, {"x": 9075.332336748457, "y": -2779.7558910194653}, {"x": 9074.978524556747, "y": -2780.102692952569}, {"x": 9074.624714107438, "y": -2780.4494966643188}, {"x": 9074.27090568387, "y": -2780.7963024415676}, {"x": 9073.917099565406, "y": -2781.143110571168}, {"x": 9073.563296034064, "y": -2781.489921339973}, {"x": 9073.209495371857, "y": -2781.8367350348362}, {"x": 9072.855697858153, "y": -2782.1835519426104}, {"x": 9072.501903774964, "y": -2782.53037234936}, {"x": 9072.148113404306, "y": -2782.8771965435144}, {"x": 9071.794327026872, "y": -2783.22402481035}, {"x": 9071.44054492335, "y": -2783.5708574375085}, {"x": 9071.086767375757, "y": -2783.9176947110545}, {"x": 9070.73299466478, "y": -2784.264536918629}, {"x": 9070.379227072437, "y": -2784.611384347085}, {"x": 9070.025464878094, "y": -2784.9582372816994}, {"x": 9069.671708366412, "y": -2785.305096010901}, {"x": 9069.317957816758, "y": -2785.651960819967}, {"x": 9068.964213509826, "y": -2785.998831996538}, {"x": 9068.610475727628, "y": -2786.3457098274675}, {"x": 9068.256744752178, "y": -2786.69259459882}, {"x": 9067.903020864169, "y": -2787.0394865974486}, {"x": 9067.549304345614, "y": -2787.386386109418}, {"x": 9067.195595477202, "y": -2787.7332934223696}, {"x": 9066.841894540952, "y": -2788.0802088231558}, {"x": 9066.488201817552, "y": -2788.4271325970544}, {"x": 9066.134517589016, "y": -2788.7740650309174}, {"x": 9065.780842137361, "y": -2789.121006412386}, {"x": 9065.427175743276, "y": -2789.4679570267376}, {"x": 9065.073518688776, "y": -2789.8149171608247}, {"x": 9064.719871255877, "y": -2790.1618871015003}, {"x": 9064.366233725268, "y": -2790.508867134829}, {"x": 9064.01260637764, "y": -2790.8558575476645}, {"x": 9063.658989497655, "y": -2791.2028586260712}, {"x": 9063.305383363358, "y": -2791.549870656114}, {"x": 9062.95178825941, "y": -2791.896893924646}, {"x": 9062.598204466503, "y": -2792.2439287185202}, {"x": 9062.24463226665, "y": -2792.5909753230135}, {"x": 9061.891071940541, "y": -2792.9380340241905}, {"x": 9061.537523771518, "y": -2793.2851051096923}, {"x": 9061.18398804027, "y": -2793.632188864796}, {"x": 9060.83046502881, "y": -2793.979285575566}, {"x": 9060.476955019154, "y": -2794.3263955280677}, {"x": 9060.123458294642, "y": -2794.673519009154}, {"x": 9059.769975134639, "y": -2795.0206563048896}, {"x": 9059.416505822484, "y": -2795.3678077005516}, {"x": 9059.063050641516, "y": -2795.7149734822046}, {"x": 9058.709609871103, "y": -2796.0621539367016}, {"x": 9058.356183795904, "y": -2796.4093493493197}, {"x": 9058.002772696613, "y": -2796.756560006124}, {"x": 9057.649376855245, "y": -2797.103786193178}, {"x": 9057.295996555136, "y": -2797.4510281957605}, {"x": 9056.942632078302, "y": -2797.798286299935}, {"x": 9056.589283705434, "y": -2798.1455607917674}, {"x": 9056.235951721195, "y": -2798.492851957322}, {"x": 9055.882636406275, "y": -2798.8401600810876}, {"x": 9055.529338044014, "y": -2799.187485449917}, {"x": 9055.176056916423, "y": -2799.5348283482995}, {"x": 9054.822793305522, "y": -2799.8821890630875}, {"x": 9054.46954749597, "y": -2800.2295678787705}, {"x": 9054.116319767134, "y": -2800.5769650806246}, {"x": 9053.763110403677, "y": -2800.9243809555032}, {"x": 9053.40991968894, "y": -2801.271815787107}, {"x": 9053.056747904935, "y": -2801.6192698622885}, {"x": 9052.703595332352, "y": -2801.966743465537}, {"x": 9052.350462257182, "y": -2802.3142368821295}, {"x": 9051.997348961435, "y": -2802.661750396554}, {"x": 9051.644255725803, "y": -2803.009284295664}, {"x": 9051.291182836274, "y": -2803.3568388631606}, {"x": 9050.938130574863, "y": -2803.704414385108}, {"x": 9050.585099223583, "y": -2804.0520111459955}, {"x": 9050.232089067096, "y": -2804.3996294303115}, {"x": 9049.87910038742, "y": -2804.747269523333}, {"x": 9049.52613346789, "y": -2805.094931710337}, {"x": 9049.173188591849, "y": -2805.442616275812}, {"x": 9048.820266043957, "y": -2805.7903235042468}, {"x": 9048.467366106226, "y": -2806.1380536809183}, {"x": 9048.114489062, "y": -2806.4858070895275}, {"x": 9047.761635194614, "y": -2806.833584015351}, {"x": 9047.408804788734, "y": -2807.1813847428775}, {"x": 9047.055998127697, "y": -2807.5292095565956}, {"x": 9046.70321549484, "y": -2807.877058740995}, {"x": 9046.350457174825, "y": -2808.2249325797757}, {"x": 9045.997723448349, "y": -2808.5728313574264}, {"x": 9045.645014602716, "y": -2808.920755359224}, {"x": 9045.292330921267, "y": -2809.2687048680814}, {"x": 9044.939672687344, "y": -2809.6166801684876}, {"x": 9044.58704018428, "y": -2809.964681544931}, {"x": 9044.234433696742, "y": -2810.3127092803243}, {"x": 9043.88185350939, "y": -2810.660763659944}, {"x": 9043.529299905564, "y": -2811.0088449667037}, {"x": 9043.179432106404, "y": -2811.3543269396105}, {"x": 9042.829588857086, "y": -2811.699833771005}, {"x": 9042.479768243089, "y": -2812.0453635199024}, {"x": 9042.129968345916, "y": -2812.390914242164}, {"x": 9041.780187252372, "y": -2812.736483997592}, {"x": 9041.430423043963, "y": -2813.0820708436254}, {"x": 9041.080673804838, "y": -2813.4276728392774}, {"x": 9040.730937619155, "y": -2813.7732880427748}, {"x": 9040.381212567094, "y": -2814.1189145147073}, {"x": 9040.031496734133, "y": -2814.464550313301}, {"x": 9039.681788201779, "y": -2814.810193498359}, {"x": 9039.332085052858, "y": -2815.155842128894}, {"x": 9038.982385367555, "y": -2815.501494265498}, {"x": 9038.632687231348, "y": -2815.847147967972}, {"x": 9038.282988723093, "y": -2816.192801296119}, {"x": 9037.933287928267, "y": -2816.5384523089524}, {"x": 9037.583582927053, "y": -2816.884099066275}, {"x": 9037.233871800958, "y": -2817.229739627889}, {"x": 9036.884152635457, "y": -2817.575372054385}, {"x": 9036.534423510733, "y": -2817.920994403988}, {"x": 9036.184682510939, "y": -2818.2666047365014}, {"x": 9035.834927717582, "y": -2818.6122011109387}, {"x": 9035.485157214816, "y": -2818.9577815863145}, {"x": 9035.135369085468, "y": -2819.3033442208543}, {"x": 9034.785561413693, "y": -2819.648887072785}, {"x": 9034.435732283648, "y": -2819.994408200332}, {"x": 9034.08587977948, "y": -2820.339905660934}, {"x": 9033.736001986674, "y": -2820.6853775120294}, {"x": 9033.386096989378, "y": -2821.030821810267}, {"x": 9033.036162874396, "y": -2821.3762366115093}, {"x": 9032.686197725883, "y": -2821.7216199731943}, {"x": 9032.336199633286, "y": -2822.0669699488203}, {"x": 9031.986166682085, "y": -2822.4122845942484}, {"x": 9031.636096961729, "y": -2822.757561963765}, {"x": 9031.285988559019, "y": -2823.10280011008}, {"x": 9030.935839563404, "y": -2823.4479970866905}, {"x": 9030.585648065662, "y": -2823.7931509463065}, {"x": 9030.235412155238, "y": -2824.138259740062}, {"x": 9029.885129924232, "y": -2824.483321518302}, {"x": 9029.534799463418, "y": -2824.8283343321605}, {"x": 9029.184418867539, "y": -2825.173296230407}, {"x": 9028.833986230022, "y": -2825.518205261022}, {"x": 9028.483499644284, "y": -2825.863059471988}, {"x": 9028.132957206397, "y": -2826.2078569104974}, {"x": 9027.78235701243, "y": -2826.55259562138}, {"x": 9027.431697161102, "y": -2826.897273650253}, {"x": 9027.080975749805, "y": -2827.2418890403687}, {"x": 9026.730190878583, "y": -2827.586439834193}, {"x": 9026.379340647476, "y": -2827.93092407419}, {"x": 9026.028423159176, "y": -2828.2753398004606}, {"x": 9025.677436516371, "y": -2828.619685053107}, {"x": 9025.326378821752, "y": -2828.963957869864}, {"x": 9024.97524818198, "y": -2829.308156288469}, {"x": 9024.624042702391, "y": -2829.6522783450823}, {"x": 9024.272760490976, "y": -2829.9963220727127}, {"x": 9023.921399658366, "y": -2830.3402855067325}, {"x": 9023.569958312546, "y": -2830.684166679361}, {"x": 9023.2184345668, "y": -2831.0279636196674}, {"x": 9022.866854861659, "y": -2831.371647309795}, {"x": 9022.515190902974, "y": -2831.7152447919398}, {"x": 9022.16344271325, "y": -2832.058756044036}, {"x": 9021.811610313676, "y": -2832.4021810463814}, {"x": 9021.459693725435, "y": -2832.745519778488}, {"x": 9021.10769296706, "y": -2833.0887722190773}, {"x": 9020.755608063711, "y": -2833.4319383476604}, {"x": 9020.403439033922, "y": -2833.7750181437473}, {"x": 9020.051185898878, "y": -2834.118011587637}, {"x": 9019.69884868241, "y": -2834.460918656475}, {"x": 9019.346427401733, "y": -2834.8037393321365}, {"x": 9018.993922080675, "y": -2835.146473592556}, {"x": 9018.641332740426, "y": -2835.4891214172444}, {"x": 9018.28865940084, "y": -2835.831682785711}, {"x": 9017.935902083105, "y": -2836.1741576774675}, {"x": 9017.583060811052, "y": -2836.516546072024}, {"x": 9017.230135601894, "y": -2836.858847948891}, {"x": 9016.877126480786, "y": -2837.2010632867905}, {"x": 9016.524033466265, "y": -2837.543192066021}, {"x": 9016.170856579514, "y": -2837.8852342653063}, {"x": 9015.817595843044, "y": -2838.2271898649437}, {"x": 9015.464251278037, "y": -2838.569058843656}, {"x": 9015.110822905677, "y": -2838.9108411809534}, {"x": 9014.757310747149, "y": -2839.252536856347}, {"x": 9014.403714822314, "y": -2839.5941458493467}, {"x": 9014.050035153678, "y": -2839.9356681394634}, {"x": 9013.69627176375, "y": -2840.2771037069956}, {"x": 9013.342424671067, "y": -2840.6184525298777}, {"x": 9012.988493899462, "y": -2840.959714588408}, {"x": 9012.63447946747, "y": -2841.3008898613098}, {"x": 9012.280381398923, "y": -2841.6419783296683}], "type": "road_line"}, {"geometry": [{"x": 9166.512521220016, "y": -2715.371803334726}, {"x": 9166.401601061107, "y": -2714.896428454991}, {"x": 9166.314883901003, "y": -2714.4160551427367}, {"x": 9166.254074395387, "y": -2713.93172665617}, {"x": 9166.220829429572, "y": -2713.4447360874537}, {"x": 9166.216733025809, "y": -2712.9566366169092}, {"x": 9166.243267728714, "y": -2712.4692494132955}, {"x": 9166.301782533732, "y": -2711.984668597784}, {"x": 9166.393457475073, "y": -2711.50526261833}, {"x": 9166.519265083716, "y": -2711.033671337011}, {"x": 9166.679929082185, "y": -2710.572798105323}, {"x": 9166.875880738475, "y": -2710.1257960645826}, {"x": 9167.084430477022, "y": -2709.733991521735}, {"x": 9167.319886276218, "y": -2709.3577300702445}, {"x": 9167.579571767637, "y": -2708.997749131052}, {"x": 9167.860294440352, "y": -2708.653900721917}, {"x": 9168.158190166112, "y": -2708.324792298599}, {"x": 9168.468592122077, "y": -2708.0074234658273}, {"x": 9168.785847432291, "y": -2707.696883607492}, {"x": 9169.130424720543, "y": -2707.3622966441217}, {"x": 9169.475026750619, "y": -2707.0277351633817}, {"x": 9169.819653519871, "y": -2706.6931991660595}, {"x": 9170.164305026976, "y": -2706.3586886545195}, {"x": 9170.508981270608, "y": -2706.0242036311256}, {"x": 9170.853682248122, "y": -2705.6897440974544}, {"x": 9171.198407956867, "y": -2705.3553100542936}, {"x": 9171.543158396844, "y": -2705.0209015047953}, {"x": 9171.887933564081, "y": -2704.6865184505364}, {"x": 9172.232733458579, "y": -2704.3521608930923}, {"x": 9172.577558077688, "y": -2704.017828834039}, {"x": 9172.922407420087, "y": -2703.6835222749532}, {"x": 9173.267281481802, "y": -2703.3492412189867}, {"x": 9173.61417552473, "y": -2703.0130661879857}, {"x": 9173.961136745413, "y": -2702.6769604910783}, {"x": 9174.308207289818, "y": -2702.340967688148}, {"x": 9174.6554292642, "y": -2702.005131380844}, {"x": 9175.00284471125, "y": -2701.669495227557}, {"x": 9175.3504956035, "y": -2701.3341029583894}], "type": "road_edge"}, {"geometry": [{"x": 9163.139799544862, "y": -2702.1957850749045}, {"x": 9163.488428106582, "y": -2701.8506058650523}, {"x": 9163.837478885345, "y": -2701.5058536129764}, {"x": 9164.186951356838, "y": -2701.1615288348544}, {"x": 9164.5368449994, "y": -2700.8176320460766}, {"x": 9164.8871592874, "y": -2700.4741637628204}, {"x": 9165.237893697853, "y": -2700.1311244981107}, {"x": 9165.589047703801, "y": -2699.78851476655}, {"x": 9165.940620779611, "y": -2699.4463350819515}, {"x": 9166.292612398325, "y": -2699.1045859557644}, {"x": 9166.645022032988, "y": -2698.763267901015}, {"x": 9166.997849155317, "y": -2698.422381428363}, {"x": 9167.351093238358, "y": -2698.0819270484712}, {"x": 9167.704753749855, "y": -2697.741905272}, {"x": 9168.05883016285, "y": -2697.4023166080356}, {"x": 9168.413321946418, "y": -2697.063161564086}, {"x": 9168.768228568302, "y": -2696.724440650025}, {"x": 9169.1235494989, "y": -2696.3861543717853}, {"x": 9169.47928420331, "y": -2696.0483032376646}, {"x": 9169.835432150601, "y": -2695.710887752019}, {"x": 9170.191992805874, "y": -2695.3739084215704}, {"x": 9170.548965636875, "y": -2695.037365750675}], "type": "road_line"}, {"geometry": [{"x": 9133.418854394598, "y": -2653.3402628214644}, {"x": 9133.778951410852, "y": -2653.0017919809275}, {"x": 9134.13945259388, "y": -2652.663751642062}, {"x": 9134.500356664688, "y": -2652.3261414675794}, {"x": 9134.861662345606, "y": -2651.988961121767}, {"x": 9135.223368362927, "y": -2651.6522102610315}, {"x": 9135.585473444282, "y": -2651.3158885425682}, {"x": 9135.94797631994, "y": -2650.9799956172674}, {"x": 9136.310875721496, "y": -2650.6445311344437}, {"x": 9136.674170385842, "y": -2650.309494738683}], "type": "road_edge"}, {"geometry": [{"x": 9143.229561365166, "y": -2721.6936302783893}, {"x": 9142.875272024456, "y": -2722.0453929724963}, {"x": 9142.520946791086, "y": -2722.3971195128856}, {"x": 9142.166585667706, "y": -2722.7488098940407}, {"x": 9141.812188659613, "y": -2723.100464114386}, {"x": 9141.457755769452, "y": -2723.4520821684046}, {"x": 9141.103287001197, "y": -2723.8036640545206}, {"x": 9140.748782357494, "y": -2724.1552097672175}, {"x": 9140.394241844966, "y": -2724.5067193033433}, {"x": 9140.039665464934, "y": -2724.8581926597453}, {"x": 9139.68505322005, "y": -2725.209629831695}, {"x": 9139.330405116929, "y": -2725.5610308168293}, {"x": 9138.975721158222, "y": -2725.912395611207}, {"x": 9138.621001346577, "y": -2726.263724210888}, {"x": 9138.266245685965, "y": -2726.6150166111443}, {"x": 9137.911454181685, "y": -2726.9662728103995}, {"x": 9137.556626835056, "y": -2727.317492803925}, {"x": 9137.201763651377, "y": -2727.6686765877807}, {"x": 9136.846864633299, "y": -2728.0198241588146}, {"x": 9136.49192978611, "y": -2728.3709355130864}, {"x": 9136.136959112468, "y": -2728.7220106466557}, {"x": 9135.781952616337, "y": -2729.073049557158}, {"x": 9135.426910300366, "y": -2729.4240522390774}, {"x": 9135.071832169857, "y": -2729.7750186908374}, {"x": 9134.716718227452, "y": -2730.125948906922}, {"x": 9134.361568477125, "y": -2730.4768428841785}, {"x": 9134.006382921523, "y": -2730.827700619455}, {"x": 9133.65116156727, "y": -2731.1785221095993}, {"x": 9133.29590441436, "y": -2731.529307349095}, {"x": 9132.940611469417, "y": -2731.880056336365}, {"x": 9132.58528273509, "y": -2732.230769065895}, {"x": 9132.229918215347, "y": -2732.581445535319}, {"x": 9131.87451791284, "y": -2732.932085740697}, {"x": 9131.519081832863, "y": -2733.2826896780894}, {"x": 9131.163609978064, "y": -2733.6332573443433}, {"x": 9130.808102352416, "y": -2733.9837887355193}, {"x": 9130.452558958565, "y": -2734.334283847676}, {"x": 9130.096979801809, "y": -2734.6847426768736}, {"x": 9129.74136488612, "y": -2735.035165220748}, {"x": 9129.385714212822, "y": -2735.385551474571}, {"x": 9129.030027788534, "y": -2735.73590143519}, {"x": 9128.67430561458, "y": -2736.086215099453}, {"x": 9128.318547696257, "y": -2736.4364924618435}, {"x": 9127.962754036213, "y": -2736.786733520785}, {"x": 9127.60692463842, "y": -2737.13693827155}, {"x": 9127.251059506849, "y": -2737.487106710986}, {"x": 9126.897613772711, "y": -2737.8348240360147}, {"x": 9126.544133669853, "y": -2738.1825064225104}, {"x": 9126.190620068151, "y": -2738.5301547491576}, {"x": 9125.837073838806, "y": -2738.877769893064}, {"x": 9125.483495849046, "y": -2739.225352732914}, {"x": 9125.129886971394, "y": -2739.5729041481804}, {"x": 9124.776248071756, "y": -2739.92042501597}, {"x": 9124.422580020007, "y": -2740.2679162165446}, {"x": 9124.068883686024, "y": -2740.6153786293758}, {"x": 9123.71515993836, "y": -2740.9628131331474}, {"x": 9123.36140964292, "y": -2741.3102206081203}, {"x": 9123.007633669575, "y": -2741.6576019337663}, {"x": 9122.653832886883, "y": -2742.0049579911342}, {"x": 9122.300008160746, "y": -2742.352289659696}, {"x": 9121.946160358393, "y": -2742.6995978197124}, {"x": 9121.5922903497, "y": -2743.046883352231}, {"x": 9121.238398999247, "y": -2743.394147137513}, {"x": 9120.884487175586, "y": -2743.7413900573943}, {"x": 9120.53055574462, "y": -2744.088612992135}, {"x": 9120.176605573582, "y": -2744.4358168243602}, {"x": 9119.822637528374, "y": -2744.783002433542}, {"x": 9119.468652474898, "y": -2745.130170702305}, {"x": 9119.114651281707, "y": -2745.477322512485}, {"x": 9118.760634813383, "y": -2745.8244587459194}, {"x": 9118.406603934505, "y": -2746.1715802836557}, {"x": 9118.05255951495, "y": -2746.5186880083183}, {"x": 9117.69850241665, "y": -2746.8657828017444}, {"x": 9117.344433506834, "y": -2747.2128655465585}, {"x": 9116.990353651405, "y": -2747.559937123808}, {"x": 9116.636263714943, "y": -2747.9069984176945}, {"x": 9116.282164564676, "y": -2748.254050309266}, {"x": 9115.928057063864, "y": -2748.6010936819353}, {"x": 9115.57394207973, "y": -2748.948129417538}, {"x": 9115.219820475535, "y": -2749.2951583994877}, {"x": 9114.865693118503, "y": -2749.64218150962}, {"x": 9114.511560871893, "y": -2749.989199631348}, {"x": 9114.157424602934, "y": -2750.336213647296}, {"x": 9113.80328517488, "y": -2750.6832244393004}, {"x": 9113.44914345496, "y": -2751.030232891562}, {"x": 9113.095000305106, "y": -2751.377239885917}, {"x": 9112.740856593871, "y": -2751.724246305778}, {"x": 9112.386713183187, "y": -2752.071253033769}, {"x": 9112.03257094028, "y": -2752.4182609533036}, {"x": 9111.678430729735, "y": -2752.7652709462177}, {"x": 9111.32429341613, "y": -2753.112283895924}, {"x": 9110.970159864042, "y": -2753.4593006842583}, {"x": 9110.616030939382, "y": -2753.80632219621}, {"x": 9110.261907508047, "y": -2754.153349312039}, {"x": 9109.907790434623, "y": -2754.5003829159464}, {"x": 9109.553680583687, "y": -2754.8474238897684}, {"x": 9109.199578821144, "y": -2755.194473116917}, {"x": 9108.845486011576, "y": -2755.541531479229}, {"x": 9108.491403022208, "y": -2755.888599860117}, {"x": 9108.1373307163, "y": -2756.23567914063}, {"x": 9107.783269961075, "y": -2756.5827702033916}, {"x": 9107.429221622444, "y": -2756.9298739318147}, {"x": 9107.075186564982, "y": -2757.2769912069475}, {"x": 9106.72116565592, "y": -2757.6241229106263}, {"x": 9106.367159759837, "y": -2757.9712699254765}, {"x": 9106.013169742637, "y": -2758.318433133333}, {"x": 9105.659196472874, "y": -2758.665613415246}, {"x": 9105.305240813803, "y": -2759.0128116530504}, {"x": 9104.951303633976, "y": -2759.360028728583}, {"x": 9104.597385800622, "y": -2759.707265522105}, {"x": 9104.243488178321, "y": -2760.05452291624}, {"x": 9103.889611635625, "y": -2760.401801791248}, {"x": 9103.535757038439, "y": -2760.7491030273904}, {"x": 9103.18192525399, "y": -2761.096427506503}, {"x": 9102.828117152156, "y": -2761.443776108058}, {"x": 9102.474333597516, "y": -2761.791149713104}, {"x": 9102.120575459947, "y": -2762.1385492019012}, {"x": 9101.766843605354, "y": -2762.485975453134}, {"x": 9101.413138904934, "y": -2762.8334293478506}, {"x": 9101.059462224595, "y": -2763.1809117655234}, {"x": 9100.70581443289, "y": -2763.5284235856243}, {"x": 9100.35219639969, "y": -2763.8759656860498}, {"x": 9099.998608994876, "y": -2764.2235389470598}, {"x": 9099.645053085675, "y": -2764.5711442465513}, {"x": 9099.29526928982, "y": -2764.9151036488684}, {"x": 9098.945515083, "y": -2765.2590931368595}, {"x": 9098.595788364008, "y": -2765.6031105725247}, {"x": 9098.246087036929, "y": -2765.94715381944}, {"x": 9097.896409000557, "y": -2766.291220739605}, {"x": 9097.546752157656, "y": -2766.6353091965952}, {"x": 9097.197114407016, "y": -2766.979417053987}, {"x": 9096.847493650079, "y": -2767.3235421761447}, {"x": 9096.497887784313, "y": -2767.66768242822}, {"x": 9096.148294711156, "y": -2768.0118356745766}, {"x": 9095.798712326754, "y": -2768.3559997795783}, {"x": 9095.449138532545, "y": -2768.700172609954}, {"x": 9095.099571226, "y": -2769.044352029279}, {"x": 9094.75000830723, "y": -2769.388535903493}, {"x": 9094.400447672384, "y": -2769.732722098537}, {"x": 9094.05088722025, "y": -2770.0769084795625}, {"x": 9093.701324850947, "y": -2770.421092913298}, {"x": 9093.351758461942, "y": -2770.765273264107}, {"x": 9093.002185952026, "y": -2771.1094473971416}, {"x": 9092.652605218667, "y": -2771.4536131791297}, {"x": 9092.303014161982, "y": -2771.797768474436}, {"x": 9091.95341068076, "y": -2772.141911148212}, {"x": 9091.603792673799, "y": -2772.48603906561}, {"x": 9091.254158041209, "y": -2772.8301500902053}, {"x": 9090.904504681785, "y": -2773.1742420879386}, {"x": 9090.554830495641, "y": -2773.5183129208094}, {"x": 9090.205133385543, "y": -2773.8623604531817}, {"x": 9089.855411248958, "y": -2774.2063825478435}, {"x": 9089.505661991298, "y": -2774.5503770683704}, {"x": 9089.155883511356, "y": -2774.894341875974}, {"x": 9088.806073711892, "y": -2775.238274831867}, {"x": 9088.456230498323, "y": -2775.582173798836}, {"x": 9088.106351772087, "y": -2775.926036634941}, {"x": 9087.756435438596, "y": -2776.269861202182}, {"x": 9087.406479401936, "y": -2776.61364535783}, {"x": 9087.056481567522, "y": -2776.957386961521}, {"x": 9086.706439844736, "y": -2777.3010838697387}, {"x": 9086.35635213767, "y": -2777.6447339405413}, {"x": 9086.006216357026, "y": -2777.9883350288374}, {"x": 9085.656030410866, "y": -2778.331884989534}, {"x": 9085.305792208577, "y": -2778.6753816775376}, {"x": 9084.955499663512, "y": -2779.01882294618}, {"x": 9084.605150685058, "y": -2779.3622066464286}, {"x": 9084.25474318789, "y": -2779.7055306308253}, {"x": 9083.90427508537, "y": -2780.048792748762}, {"x": 9083.553744293498, "y": -2780.391990848841}, {"x": 9083.20314872828, "y": -2780.735122779665}, {"x": 9082.852486308368, "y": -2781.078186387473}, {"x": 9082.501754952411, "y": -2781.4211795177157}, {"x": 9082.15095258039, "y": -2781.7641000142667}, {"x": 9081.800077114927, "y": -2782.1069457210015}, {"x": 9081.449126477322, "y": -2782.449714478642}, {"x": 9081.09541791211, "y": -2782.795023059179}, {"x": 9080.741636387182, "y": -2783.140256888514}, {"x": 9080.387787369385, "y": -2783.485421542155}, {"x": 9080.033876325568, "y": -2783.830522596397}, {"x": 9079.679908715958, "y": -2784.1755656322634}, {"x": 9079.325890000784, "y": -2784.520556232355}, {"x": 9078.971825637627, "y": -2784.865499983211}, {"x": 9078.61772107877, "y": -2785.2104024721602}, {"x": 9078.263581777821, "y": -2785.5552692881074}, {"x": 9077.909413187064, "y": -2785.900106023108}, {"x": 9077.555220753487, "y": -2786.244918270008}, {"x": 9077.201009928052, "y": -2786.5897116216506}, {"x": 9076.846786155096, "y": -2786.934491674034}, {"x": 9076.492554884257, "y": -2787.2792640215785}, {"x": 9076.138321559874, "y": -2787.6240342594924}, {"x": 9075.78409163026, "y": -2787.9688079845614}, {"x": 9075.429870539752, "y": -2788.313590791994}, {"x": 9075.075663736667, "y": -2788.6583882769987}, {"x": 9074.72147666799, "y": -2789.003206033209}, {"x": 9074.367314782034, "y": -2789.348049655833}, {"x": 9074.013183529756, "y": -2789.692924735352}, {"x": 9073.659088360797, "y": -2790.0378368646097}, {"x": 9073.305034730087, "y": -2790.3827916309347}, {"x": 9072.951028091233, "y": -2790.727794623231}, {"x": 9072.597073901816, "y": -2791.0728514248876}, {"x": 9072.24317762074, "y": -2791.41796762008}, {"x": 9071.889344713529, "y": -2791.7631487866793}, {"x": 9071.535580643058, "y": -2792.108400503346}, {"x": 9071.18189088015, "y": -2792.453728342434}, {"x": 9070.82644052864, "y": -2792.8009336664522}, {"x": 9070.471069351763, "y": -2793.1482200264318}, {"x": 9070.115775910315, "y": -2793.4955859148176}, {"x": 9069.760558767746, "y": -2793.843029825633}, {"x": 9069.405416482203, "y": -2794.190550252111}, {"x": 9069.05034761316, "y": -2794.5381456898494}, {"x": 9068.695350717444, "y": -2794.885814633659}, {"x": 9068.34042435453, "y": -2795.2335555822897}, {"x": 9067.985567078596, "y": -2795.5813670321277}, {"x": 9067.63077744647, "y": -2795.929247481923}, {"x": 9067.276054012325, "y": -2796.277195432003}, {"x": 9066.92139532902, "y": -2796.625209381905}, {"x": 9066.566799950731, "y": -2796.9732878335317}, {"x": 9066.212266427667, "y": -2797.321429287998}, {"x": 9065.857793311354, "y": -2797.6696322479947}, {"x": 9065.503379153324, "y": -2798.0178952177876}, {"x": 9065.149022502459, "y": -2798.366216700856}, {"x": 9064.794721907641, "y": -2798.7145952022547}, {"x": 9064.440475917752, "y": -2799.0630292278265}, {"x": 9064.086283079028, "y": -2799.411517284202}, {"x": 9063.732141939026, "y": -2799.760057877224}, {"x": 9063.37805104398, "y": -2800.108649515888}, {"x": 9063.024008940123, "y": -2800.4572907076126}, {"x": 9062.670014171043, "y": -2800.805979961393}, {"x": 9062.316065281648, "y": -2801.1547157870123}, {"x": 9061.9621608142, "y": -2801.5034966942535}, {"x": 9061.608299314938, "y": -2801.8523211936877}, {"x": 9061.254479323468, "y": -2802.2011877966747}, {"x": 9060.900699383385, "y": -2802.550095014573}, {"x": 9060.546958035618, "y": -2802.89904135953}, {"x": 9060.193253821113, "y": -2803.2480253444814}, {"x": 9059.839585280804, "y": -2803.597045483151}, {"x": 9059.48595095563, "y": -2803.9461002876847}, {"x": 9059.132349382555, "y": -2804.295188272595}, {"x": 9058.778779103844, "y": -2804.6443079531814}, {"x": 9058.425238656462, "y": -2804.993457843167}, {"x": 9058.071726580023, "y": -2805.3426364578513}, {"x": 9057.718241412818, "y": -2805.6918423133225}, {"x": 9057.364781690487, "y": -2806.041073925667}, {"x": 9057.011345952644, "y": -2806.3903298101854}, {"x": 9056.657932736258, "y": -2806.739608483753}, {"x": 9056.304540576968, "y": -2807.088908463245}, {"x": 9055.951168013065, "y": -2807.4382282655374}, {"x": 9055.597813578868, "y": -2807.7875664075063}, {"x": 9055.244475811342, "y": -2808.1369214076026}, {"x": 9054.891153247452, "y": -2808.4862917834903}, {"x": 9054.537844421518, "y": -2808.835676052833}, {"x": 9054.184547869181, "y": -2809.1850727325073}, {"x": 9053.831262126083, "y": -2809.5344803425396}, {"x": 9053.47798572919, "y": -2809.8838974013825}, {"x": 9053.124717210174, "y": -2810.2333224259114}, {"x": 9052.771455105998, "y": -2810.582753935366}, {"x": 9052.418197952305, "y": -2810.932190448986}, {"x": 9052.064944283415, "y": -2811.281630485224}, {"x": 9051.711692632318, "y": -2811.631072563319}, {"x": 9051.358441535984, "y": -2811.9805152009344}, {"x": 9051.005189528729, "y": -2812.329956917311}, {"x": 9050.651935146194, "y": -2812.679396231688}, {"x": 9050.298676921375, "y": -2813.028831663305}, {"x": 9049.945413389914, "y": -2813.3782617298266}, {"x": 9049.592143086127, "y": -2813.7276849497034}, {"x": 9049.238864546984, "y": -2814.077099842964}, {"x": 9048.885576305474, "y": -2814.4265049264836}, {"x": 9048.532276898566, "y": -2814.7758987202906}, {"x": 9048.178964860577, "y": -2815.1252797404723}, {"x": 9047.825638727149, "y": -2815.474646507056}, {"x": 9047.47229703525, "y": -2815.823997536919}, {"x": 9047.118938319196, "y": -2816.1733313485106}, {"x": 9046.765561115952, "y": -2816.5226464579205}, {"x": 9046.412163961162, "y": -2816.8719413835993}, {"x": 9046.058745393117, "y": -2817.221214641635}, {"x": 9045.705303946132, "y": -2817.5704647496914}, {"x": 9045.351838161147, "y": -2817.9196902238555}, {"x": 9044.99834657248, "y": -2818.2688895794277}, {"x": 9044.644827718419, "y": -2818.6180613332826}, {"x": 9044.291280138581, "y": -2818.967204000721}, {"x": 9043.937702371255, "y": -2819.3163160962526}, {"x": 9043.584092953406, "y": -2819.6653961351785}, {"x": 9043.230450427298, "y": -2820.0144426312213}, {"x": 9042.876773329894, "y": -2820.363454098893}, {"x": 9042.523060204783, "y": -2820.7124290511283}, {"x": 9042.16930958893, "y": -2821.061366000863}, {"x": 9041.81552002592, "y": -2821.4102634618207}, {"x": 9041.461690056694, "y": -2821.759119944572}, {"x": 9041.107818223512, "y": -2822.1079339612643}, {"x": 9040.753903068635, "y": -2822.456704023257}, {"x": 9040.399943136976, "y": -2822.8054286403335}, {"x": 9040.045936969469, "y": -2823.154106322276}, {"x": 9039.691883112353, "y": -2823.502735579657}, {"x": 9039.337780111859, "y": -2823.8513149198943}, {"x": 9038.983626511572, "y": -2824.1998428519832}, {"x": 9038.62942085773, "y": -2824.548317882555}, {"x": 9038.275161699212, "y": -2824.8967385190285}, {"x": 9037.92084758093, "y": -2825.245103268034}, {"x": 9037.566477054412, "y": -2825.593410633839}, {"x": 9037.212523121852, "y": -2825.941193503193}, {"x": 9036.858511491471, "y": -2826.288917643343}, {"x": 9036.504442176507, "y": -2826.636583043258}, {"x": 9036.150315183579, "y": -2826.984189694268}, {"x": 9035.79613052328, "y": -2827.3317375861284}, {"x": 9035.441888206204, "y": -2827.6792267101714}, {"x": 9035.087588241617, "y": -2828.0266570569393}, {"x": 9034.733230638787, "y": -2828.374028616188}, {"x": 9034.378815408307, "y": -2828.721341377672}, {"x": 9034.024342559444, "y": -2829.068595333512}, {"x": 9033.669812102791, "y": -2829.415790472674}, {"x": 9033.315224046293, "y": -2829.762926787278}, {"x": 9032.960578401864, "y": -2830.110004265503}, {"x": 9032.605875177449, "y": -2830.457022899468}, {"x": 9032.251114382318, "y": -2830.803982679717}, {"x": 9031.896296029707, "y": -2831.1508835960053}, {"x": 9031.54142012624, "y": -2831.497725638088}, {"x": 9031.186486681183, "y": -2831.844508798084}, {"x": 9030.831495707776, "y": -2832.1912330657487}, {"x": 9030.47644721264, "y": -2832.537898430838}, {"x": 9030.121341206366, "y": -2832.884504884683}, {"x": 9029.766177699548, "y": -2833.2310524178265}, {"x": 9029.410956701453, "y": -2833.577541019236}, {"x": 9029.05567822135, "y": -2833.923970681819}, {"x": 9028.700342269829, "y": -2834.2703413937547}, {"x": 9028.344948857482, "y": -2834.6166531471627}, {"x": 9027.989497990931, "y": -2834.96290593101}, {"x": 9027.633989683416, "y": -2835.3090997374156}, {"x": 9027.278423941558, "y": -2835.6552345553473}, {"x": 9026.922800778593, "y": -2836.001310376136}, {"x": 9026.56712020247, "y": -2836.347327190326}, {"x": 9026.211382222453, "y": -2836.693284987671}, {"x": 9025.855586847812, "y": -2837.039183759504}, {"x": 9025.499734091787, "y": -2837.385023495579}, {"x": 9025.143823959676, "y": -2837.730804187228}, {"x": 9024.787856464714, "y": -2838.076525824206}, {"x": 9024.431831616175, "y": -2838.422188397056}, {"x": 9024.075749421998, "y": -2838.767791896322}, {"x": 9023.71960989278, "y": -2839.113336312547}, {"x": 9023.36341303911, "y": -2839.458821636274}, {"x": 9023.007158871578, "y": -2839.804247858047}, {"x": 9022.65084739681, "y": -2840.1496149676204}, {"x": 9022.29447862804, "y": -2840.494922957115}, {"x": 9021.938052573218, "y": -2840.840171815496}, {"x": 9021.581569241607, "y": -2841.1853615340965}, {"x": 9021.225028645125, "y": -2841.530492102671}, {"x": 9020.868430791717, "y": -2841.8755635125503}, {"x": 9020.511775693298, "y": -2842.2205757542793}, {"x": 9020.15506335649, "y": -2842.5655288168236}, {"x": 9019.798293794529, "y": -2842.9104226930917}, {"x": 9019.441467014038, "y": -2843.2552573712624}, {"x": 9019.084583026934, "y": -2843.6000328434548}, {"x": 9018.727641842483, "y": -2843.944749099425}, {"x": 9018.370643471277, "y": -2844.289406129715}, {"x": 9018.013587922585, "y": -2844.6340039256575}, {"x": 9017.656475204352, "y": -2844.978542476219}, {"x": 9017.299305329818, "y": -2845.323021773519}, {"x": 9016.942078306924, "y": -2845.667441806525}, {"x": 9016.584794144941, "y": -2846.0118025673555}], "type": "road_line"}, {"geometry": [{"x": 9142.586694528889, "y": -2711.3457977554235}, {"x": 9142.235829264944, "y": -2711.6923530911254}, {"x": 9141.884940483886, "y": -2712.038884614879}, {"x": 9141.534028188362, "y": -2712.3853923266847}, {"x": 9141.18309237705, "y": -2712.731876223391}, {"x": 9140.832133055246, "y": -2713.0783363042083}, {"x": 9140.481150221625, "y": -2713.424772567562}, {"x": 9140.130143878836, "y": -2713.771185011875}, {"x": 9139.779114029527, "y": -2714.117573634783}, {"x": 9139.428060673696, "y": -2714.463938435499}, {"x": 9139.076983812669, "y": -2714.810279412446}, {"x": 9138.725883450417, "y": -2715.1565965632603}, {"x": 9138.374759586943, "y": -2715.502889887942}, {"x": 9138.023612223567, "y": -2715.84915938255}, {"x": 9137.672441362938, "y": -2716.195405047873}, {"x": 9137.32124700638, "y": -2716.5416268807585}, {"x": 9136.97002915522, "y": -2716.887824879631}, {"x": 9136.61878781078, "y": -2717.2339990437013}, {"x": 9136.267522975704, "y": -2717.5801493713943}, {"x": 9135.916234649998, "y": -2717.9262758603454}, {"x": 9135.564922837631, "y": -2718.272378508979}, {"x": 9135.21358753728, "y": -2718.618457316506}, {"x": 9134.862228752918, "y": -2718.9645122813513}, {"x": 9134.510846484543, "y": -2719.310543400362}, {"x": 9134.159440736126, "y": -2719.6565506735383}, {"x": 9133.808011506348, "y": -2720.0025340993043}, {"x": 9133.456558799175, "y": -2720.3484936752957}, {"x": 9133.105082614611, "y": -2720.6944293999363}, {"x": 9132.753582955302, "y": -2721.04034127165}, {"x": 9132.402059822574, "y": -2721.386229289649}, {"x": 9132.05051321775, "y": -2721.7320934515687}, {"x": 9131.698943142152, "y": -2722.0779337558333}, {"x": 9131.34734959843, "y": -2722.4237502008664}, {"x": 9130.99573258791, "y": -2722.7695427858803}, {"x": 9130.644092111912, "y": -2723.1153115077227}, {"x": 9130.292428173087, "y": -2723.461056366393}, {"x": 9129.94074077011, "y": -2723.806777359528}, {"x": 9129.589029908277, "y": -2724.152474485551}, {"x": 9129.237295586263, "y": -2724.498147742886}, {"x": 9128.88553780804, "y": -2724.843797129957}, {"x": 9128.533756573612, "y": -2725.1894226459754}, {"x": 9128.181951885623, "y": -2725.53502428779}, {"x": 9127.830123744072, "y": -2725.8806020546112}, {"x": 9127.478272152935, "y": -2726.226155944865}, {"x": 9127.12639711221, "y": -2726.571685956973}, {"x": 9126.774498623221, "y": -2726.917192089361}, {"x": 9126.422576688616, "y": -2727.2626743404517}, {"x": 9126.070631311042, "y": -2727.608132708669}, {"x": 9125.718662489176, "y": -2727.9535671924377}, {"x": 9125.366670226993, "y": -2728.2989777901807}, {"x": 9125.014654524488, "y": -2728.6443644995347}, {"x": 9124.662615384312, "y": -2728.989727320499}, {"x": 9124.310552809111, "y": -2729.3350662499215}, {"x": 9123.958466797563, "y": -2729.6803812870144}, {"x": 9123.606357354964, "y": -2730.0256724294136}, {"x": 9123.254224479988, "y": -2730.3709396771187}, {"x": 9122.902068175285, "y": -2730.7161830269774}, {"x": 9122.549888442176, "y": -2731.0614024782026}, {"x": 9122.19768528199, "y": -2731.4065980292166}, {"x": 9121.845458698695, "y": -2731.7517696776567}, {"x": 9121.493208690968, "y": -2732.0969174227344}, {"x": 9121.140868234643, "y": -2732.442107492808}, {"x": 9120.788506053917, "y": -2732.7872753845777}, {"x": 9120.436123847501, "y": -2733.1324228349213}, {"x": 9120.083723318072, "y": -2733.477551574414}, {"x": 9119.73130615375, "y": -2733.82266332969}, {"x": 9119.378874040001, "y": -2734.1677598187143}, {"x": 9119.0264286517, "y": -2734.512842749996}, {"x": 9118.67397165181, "y": -2734.857913820223}, {"x": 9118.321504686075, "y": -2735.2029747134743}, {"x": 9117.969029390977, "y": -2735.548027095704}, {"x": 9117.616547379163, "y": -2735.8930726186804}, {"x": 9117.264060247393, "y": -2736.2381129105306}, {"x": 9116.911569571239, "y": -2736.583149581256}, {"x": 9116.5590768998, "y": -2736.9281842140645}, {"x": 9116.206583760984, "y": -2737.2732183685225}, {"x": 9115.854091652249, "y": -2737.618253576613}, {"x": 9115.501602044575, "y": -2737.963291338798}, {"x": 9115.149116375838, "y": -2738.308333124806}, {"x": 9114.79663605214, "y": -2738.653380371264}, {"x": 9114.444162443835, "y": -2738.9984344785516}, {"x": 9114.091696885525, "y": -2739.343496808432}, {"x": 9113.739240674746, "y": -2739.688568684842}, {"x": 9113.386795062688, "y": -2740.033651388375}, {"x": 9113.034361264794, "y": -2740.3787461562815}, {"x": 9112.68194044752, "y": -2740.7238541816805}, {"x": 9112.32953373363, "y": -2741.068976607256}, {"x": 9111.977142195572, "y": -2741.4141145284075}, {"x": 9111.624766855484, "y": -2741.7592689885237}, {"x": 9111.272408686518, "y": -2742.1044409758283}, {"x": 9110.92006860224, "y": -2742.449631424958}, {"x": 9110.567747464582, "y": -2742.7948412122328}, {"x": 9110.215446075896, "y": -2743.14007115408}, {"x": 9109.86316517763, "y": -2743.485322004671}, {"x": 9109.510905451652, "y": -2743.8305944574963}, {"x": 9109.158667514948, "y": -2744.175889137486}, {"x": 9108.806451915663, "y": -2744.5212066049485}, {"x": 9108.454259138383, "y": -2744.8665473476917}, {"x": 9108.102089596201, "y": -2745.211911784962}, {"x": 9107.749943630713, "y": -2745.557300261141}, {"x": 9107.397821508044, "y": -2745.902713046532}, {"x": 9107.045723422825, "y": -2746.248150333421}, {"x": 9106.693649487595, "y": -2746.593612234501}, {"x": 9106.341599736783, "y": -2746.9390987820816}, {"x": 9105.98957412669, "y": -2747.2846099249396}, {"x": 9105.637572523598, "y": -2747.6301455283165}, {"x": 9105.285594714334, "y": -2747.9757053676162}, {"x": 9104.933640395704, "y": -2748.321289132344}, {"x": 9104.58170917315, "y": -2748.666896419015}, {"x": 9104.229800566056, "y": -2749.0125267311523}, {"x": 9103.877913995828, "y": -2749.3581794792885}, {"x": 9103.526048788544, "y": -2749.703853976238}, {"x": 9103.174204177601, "y": -2750.049549435519}, {"x": 9102.8223792918, "y": -2750.3952649705675}, {"x": 9102.470573163284, "y": -2750.740999591582}, {"x": 9102.118784715634, "y": -2751.0867522055273}, {"x": 9101.76701277445, "y": -2751.4325216114034}, {"x": 9101.415256051465, "y": -2751.778306500247}, {"x": 9101.063513155146, "y": -2752.124105452766}, {"x": 9100.71178257744, "y": -2752.469916936189}, {"x": 9100.360062703054, "y": -2752.8157393050506}, {"x": 9100.008351797527, "y": -2753.1615707956794}, {"x": 9099.656648011218, "y": -2753.507409526981}, {"x": 9099.304949376641, "y": -2753.853253497289}, {"x": 9098.953253805828, "y": -2754.1991005820014}, {"x": 9098.601559085035, "y": -2754.5449485327886}], "type": "road_edge"}, {"geometry": [{"x": 9064.604151920532, "y": -2714.8505298852465}, {"x": 9064.998660345824, "y": -2714.5561629843223}, {"x": 9065.393197945732, "y": -2714.2618351876035}, {"x": 9065.787764716288, "y": -2713.9675464958777}, {"x": 9066.18236065087, "y": -2713.6732969099335}, {"x": 9066.576985744183, "y": -2713.379086431347}, {"x": 9066.97163999093, "y": -2713.0849150609056}, {"x": 9067.366323385815, "y": -2712.7907827993977}, {"x": 9067.761035924867, "y": -2712.4966896483998}, {"x": 9068.15577760279, "y": -2712.2026356086994}, {"x": 9068.55054841296, "y": -2711.908620682661}, {"x": 9068.945348351412, "y": -2711.614644870285}, {"x": 9069.340177414168, "y": -2711.3207081739342}, {"x": 9069.735035594611, "y": -2711.0268105959744}, {"x": 9070.129922890092, "y": -2710.7329521364045}, {"x": 9070.52483929399, "y": -2710.439132797589}, {"x": 9070.919784801012, "y": -2710.145352581104}, {"x": 9071.31475940983, "y": -2709.8516114901017}, {"x": 9071.709763112502, "y": -2709.5579095245826}, {"x": 9072.10479590638, "y": -2709.2642466876982}, {"x": 9072.499857786168, "y": -2708.970622981813}, {"x": 9072.89494874657, "y": -2708.6770384077154}, {"x": 9073.290068784938, "y": -2708.3834929685568}, {"x": 9073.685217895974, "y": -2708.089986665914}, {"x": 9074.08039607571, "y": -2707.7965195029387}, {"x": 9074.475603318846, "y": -2707.5030914804197}, {"x": 9074.870839622736, "y": -2707.2097026022966}, {"x": 9075.266104982082, "y": -2706.916352870146}, {"x": 9075.66139939159, "y": -2706.623042286332}, {"x": 9076.056722849937, "y": -2706.329770853218}, {"x": 9076.4520753505, "y": -2706.0365385739574}, {"x": 9076.847456889309, "y": -2705.743345450125}, {"x": 9077.242867463716, "y": -2705.450191485663}, {"x": 9077.638307069747, "y": -2705.1570766821455}, {"x": 9078.033775700784, "y": -2704.8640010419376}, {"x": 9078.429273355501, "y": -2704.57096456898}, {"x": 9078.824800028604, "y": -2704.277967264848}, {"x": 9079.22035571612, "y": -2703.9850091319063}, {"x": 9079.615940414076, "y": -2703.692090174095}, {"x": 9080.011554119827, "y": -2703.399210394566}, {"x": 9080.407196826749, "y": -2703.106369794108}, {"x": 9080.802868533521, "y": -2702.813568377449}, {"x": 9081.198569234846, "y": -2702.520806146165}, {"x": 9081.594298926751, "y": -2702.2280831034086}, {"x": 9081.99005760659, "y": -2701.9353992523315}, {"x": 9082.385845269066, "y": -2701.6427545952984}, {"x": 9082.78166191153, "y": -2701.3501491354614}, {"x": 9083.177507528686, "y": -2701.0575828759725}, {"x": 9083.573382117887, "y": -2700.7650558191963}, {"x": 9083.97519606231, "y": -2700.4679584358764}, {"x": 9084.376384539188, "y": -2700.1700172761525}, {"x": 9084.776404651699, "y": -2699.870509715652}, {"x": 9085.174824779666, "y": -2699.5688774833534}, {"x": 9085.571314101317, "y": -2699.26471208882}, {"x": 9085.965633567495, "y": -2698.957739189507}, {"x": 9086.357627553753, "y": -2698.647802385931}, {"x": 9086.747215691199, "y": -2698.334846845833}, {"x": 9087.134384429888, "y": -2698.018903026851}, {"x": 9087.519178125565, "y": -2697.700070730173}, {"x": 9087.901689468388, "y": -2697.37850360181}, {"x": 9088.282049235055, "y": -2697.0543941524065}, {"x": 9088.660415364386, "y": -2696.727959314515}, {"x": 9089.032103410938, "y": -2696.4036620875395}, {"x": 9089.40211634185, "y": -2696.0774547965457}, {"x": 9089.770554130664, "y": -2695.7494693868025}, {"x": 9090.137517747913, "y": -2695.4198353535076}, {"x": 9090.503108608993, "y": -2695.0886793895256}, {"x": 9090.867427991601, "y": -2694.756125052041}, {"x": 9091.230576479657, "y": -2694.4222924268443}, {"x": 9091.592653384698, "y": -2694.0872977989234}, {"x": 9091.95375618848, "y": -2693.7512533277854}, {"x": 9092.313979974973, "y": -2693.4142667164724}, {"x": 9092.673416878242, "y": -2693.0764408868804}, {"x": 9093.03215553299, "y": -2692.7378736416836}, {"x": 9093.39028052774, "y": -2692.3986573286215}, {"x": 9093.747871885811, "y": -2692.0588784945417}, {"x": 9094.105004527788, "y": -2691.718617531562}, {"x": 9094.461747771024, "y": -2691.3779483161406}, {"x": 9094.81816482521, "y": -2691.0369378371124}, {"x": 9095.174312299829, "y": -2690.6956458142686}, {"x": 9095.530239728841, "y": -2690.3541243114214}, {"x": 9095.885989098015, "y": -2690.012417330554}, {"x": 9096.241594386809, "y": -2689.6705604075464}, {"x": 9096.597081112917, "y": -2689.328580196083}, {"x": 9096.952465890054, "y": -2688.9864940413104}, {"x": 9097.305034076555, "y": -2688.6469317623014}, {"x": 9097.657509807252, "y": -2688.307273512064}, {"x": 9098.009893055667, "y": -2687.9675193158164}, {"x": 9098.362183793994, "y": -2687.627669197988}, {"x": 9098.714381999725, "y": -2687.287723184585}, {"x": 9099.066487643733, "y": -2686.947681300037}, {"x": 9099.418500699536, "y": -2686.6075435695616}, {"x": 9099.770421144627, "y": -2686.267310019165}, {"x": 9100.122248949878, "y": -2685.926980674065}, {"x": 9100.473984088807, "y": -2685.586555558691}, {"x": 9100.825626537584, "y": -2685.2460346982616}, {"x": 9101.177176269726, "y": -2684.9054181187826}, {"x": 9101.52863325743, "y": -2684.564705844683}, {"x": 9101.879997476866, "y": -2684.2238979019694}, {"x": 9102.231268900226, "y": -2683.8829943158594}, {"x": 9102.582447502356, "y": -2683.541995110783}, {"x": 9102.933533256777, "y": -2683.2009003127455}, {"x": 9103.28452613833, "y": -2682.8597099469653}, {"x": 9103.635426119212, "y": -2682.518424037872}, {"x": 9103.986233175588, "y": -2682.17704261226}, {"x": 9104.33694727966, "y": -2681.8355656945587}, {"x": 9104.68756840759, "y": -2681.4939933099854}, {"x": 9105.038096531576, "y": -2681.152325484547}, {"x": 9105.388531625138, "y": -2680.8105622418843}, {"x": 9105.738873664443, "y": -2680.46870360958}, {"x": 9106.089122621688, "y": -2680.126749611276}, {"x": 9106.439278471715, "y": -2679.7847002737653}, {"x": 9106.789341188045, "y": -2679.4425556206907}, {"x": 9107.13931074552, "y": -2679.100315678845}, {"x": 9107.489187117662, "y": -2678.7579804726593}, {"x": 9107.83897027799, "y": -2678.4155500281386}, {"x": 9108.188660202672, "y": -2678.0730243705007}], "type": "road_edge"}, {"geometry": [{"x": 9059.349414283342, "y": -2705.911244769595}, {"x": 9058.950245316333, "y": -2706.2089700259717}, {"x": 9058.551076218244, "y": -2706.5066951058234}, {"x": 9058.151906983783, "y": -2706.804420003634}, {"x": 9057.752737608977, "y": -2707.1021447130984}, {"x": 9057.353568091177, "y": -2707.3998692318532}, {"x": 9056.954398427735, "y": -2707.6975935535934}, {"x": 9056.555228614681, "y": -2707.995317675167}, {"x": 9056.156058649363, "y": -2708.293041592634}, {"x": 9055.756888529138, "y": -2708.5907653036297}, {"x": 9055.357718252679, "y": -2708.888488803426}, {"x": 9054.958547816015, "y": -2709.1862120896585}, {"x": 9054.559377219144, "y": -2709.4839351599635}, {"x": 9054.16020645942, "y": -2709.781658011976}, {"x": 9053.761035534195, "y": -2710.079380644121}, {"x": 9053.361864443468, "y": -2710.3771030524576}, {"x": 9052.962693185915, "y": -2710.6748252369857}, {"x": 9052.563521760214, "y": -2710.9725471961297}, {"x": 9052.164350163714, "y": -2711.2702689275243}, {"x": 9051.76517839774, "y": -2711.567990431171}, {"x": 9051.366006460968, "y": -2711.8657117047046}, {"x": 9050.966834350753, "y": -2712.163432748125}, {"x": 9050.567662069738, "y": -2712.461153560645}, {"x": 9050.168489615278, "y": -2712.758874140688}, {"x": 9049.769316987371, "y": -2713.056594489042}, {"x": 9049.370144187345, "y": -2713.354314604919}, {"x": 9048.970971212548, "y": -2713.652034487531}, {"x": 9048.571798062982, "y": -2713.949754136878}, {"x": 9048.17262473997, "y": -2714.24747355296}, {"x": 9047.77345124351, "y": -2714.5451927357767}, {"x": 9047.374277572282, "y": -2714.8429116845405}, {"x": 9046.975103726285, "y": -2715.140630400039}, {"x": 9046.575929706843, "y": -2715.4383488814847}, {"x": 9046.18099423319, "y": -2715.7290619691958}, {"x": 9045.776274496753, "y": -2716.0059162337343}, {"x": 9045.355437059216, "y": -2716.2574866873842}, {"x": 9044.915892378252, "y": -2716.474612697434}, {"x": 9044.45826808617, "y": -2716.6503668192895}, {"x": 9043.98556150265, "y": -2716.7801413803586}, {"x": 9043.502184756839, "y": -2716.8616187868297}, {"x": 9043.013084950484, "y": -2716.8945244376746}, {"x": 9042.523073549506, "y": -2716.8801690617843}], "type": "road_edge"}, {"geometry": [{"x": 9095.620147661444, "y": -2675.943566874219}, {"x": 9095.278139397295, "y": -2676.2799915831392}, {"x": 9094.93613113447, "y": -2676.6164162912714}, {"x": 9094.59412287032, "y": -2676.952841000192}, {"x": 9094.25211460617, "y": -2677.2892657091124}, {"x": 9093.91010634202, "y": -2677.625690417245}, {"x": 9093.568098079195, "y": -2677.9621151261654}, {"x": 9093.226089815045, "y": -2678.298539835086}, {"x": 9092.884081550896, "y": -2678.6349645432183}, {"x": 9092.542073286746, "y": -2678.9713892521386}, {"x": 9092.20006502392, "y": -2679.3078139610593}, {"x": 9091.858056759771, "y": -2679.6442386691915}, {"x": 9091.516048495621, "y": -2679.9806633781122}, {"x": 9091.174040231472, "y": -2680.3170880870325}, {"x": 9090.832031968646, "y": -2680.653512795165}, {"x": 9090.490023704497, "y": -2680.9899375040854}, {"x": 9090.148015440347, "y": -2681.3263622130057}, {"x": 9089.806007176197, "y": -2681.6627869211384}, {"x": 9089.463998913372, "y": -2681.9992116300587}, {"x": 9089.121990649222, "y": -2682.3356363389794}, {"x": 9088.779982385073, "y": -2682.6720610471116}, {"x": 9088.437974120923, "y": -2683.0084857560323}, {"x": 9088.095965858098, "y": -2683.3449104649526}, {"x": 9087.753957593948, "y": -2683.681335173085}, {"x": 9087.411949329799, "y": -2684.0177598820055}, {"x": 9087.061070122674, "y": -2684.3630020978494}, {"x": 9086.710370801205, "y": -2684.7084270343003}, {"x": 9086.359792167461, "y": -2685.0539744672096}, {"x": 9086.00905513414, "y": -2685.3993610906655}, {"x": 9085.657706772405, "y": -2685.744125656141}, {"x": 9085.305167994871, "y": -2686.087672504798}, {"x": 9084.950782753278, "y": -2686.4293136867977}, {"x": 9084.593867974936, "y": -2686.7683104903613}, {"x": 9084.233763135091, "y": -2687.103915554777}, {"x": 9083.869878102774, "y": -2687.4354169204557}, {"x": 9083.501737883153, "y": -2687.762185240674}, {"x": 9083.129022997271, "y": -2688.0837250738755}, {"x": 9082.751604690195, "y": -2688.399730614315}, {"x": 9082.36957471865, "y": -2688.710145577345}, {"x": 9081.983270521821, "y": -2689.015226145511}, {"x": 9081.59329780372, "y": -2689.3156050612783}, {"x": 9081.200554209167, "y": -2689.612354050646}, {"x": 9080.806259638399, "y": -2689.9070407713425}, {"x": 9080.408914007596, "y": -2690.203419420143}, {"x": 9080.011568249689, "y": -2690.4997978995107}, {"x": 9079.614222366, "y": -2690.796176208658}, {"x": 9079.216876353883, "y": -2691.0925543475846}, {"x": 9078.81953021731, "y": -2691.3889323178673}, {"x": 9078.422183952305, "y": -2691.6853101171414}, {"x": 9078.02483756152, "y": -2691.9816877469834}, {"x": 9077.62749104363, "y": -2692.2780652073925}, {"x": 9077.230144398634, "y": -2692.5744424975815}, {"x": 9076.832797627858, "y": -2692.87081961755}, {"x": 9076.435450729976, "y": -2693.167196568086}, {"x": 9076.038103706313, "y": -2693.46357334919}, {"x": 9075.64075655422, "y": -2693.759949959285}, {"x": 9075.243409276347, "y": -2694.056326400736}, {"x": 9074.846061872691, "y": -2694.3527026719667}, {"x": 9074.448714340608, "y": -2694.6490787729767}, {"x": 9074.051366682743, "y": -2694.9454547045543}, {"x": 9073.654018899097, "y": -2695.2418304659113}, {"x": 9073.25667098702, "y": -2695.5382060578363}, {"x": 9072.859322949163, "y": -2695.8345814795407}, {"x": 9072.4619747842, "y": -2696.1309567318126}, {"x": 9072.064626493458, "y": -2696.4273318138644}, {"x": 9071.667278075609, "y": -2696.7237067264837}, {"x": 9071.269929530656, "y": -2697.0200814688824}, {"x": 9070.872580859921, "y": -2697.3164560418486}, {"x": 9070.475232060757, "y": -2697.6128304445947}, {"x": 9070.077883137135, "y": -2697.9092046779083}, {"x": 9069.680534085086, "y": -2698.2055787410013}, {"x": 9069.283184907254, "y": -2698.501952634662}, {"x": 9068.885835602317, "y": -2698.7983263581023}, {"x": 9068.488486170274, "y": -2699.094699911322}, {"x": 9068.091136612451, "y": -2699.39107329511}, {"x": 9067.693786927523, "y": -2699.6874465094647}, {"x": 9067.296437116813, "y": -2699.9838195535995}, {"x": 9066.899087177673, "y": -2700.2801924283017}, {"x": 9066.501737112754, "y": -2700.5765651319957}, {"x": 9066.104386922052, "y": -2700.8729376670453}, {"x": 9065.707036604246, "y": -2701.1693100318744}, {"x": 9065.309686159333, "y": -2701.465682226483}, {"x": 9064.912335587316, "y": -2701.762054251659}, {"x": 9064.514984889518, "y": -2702.0584261074027}, {"x": 9064.117634063292, "y": -2702.354797792138}, {"x": 9063.720283112607, "y": -2702.6511693082293}, {"x": 9063.322932033492, "y": -2702.9475406541}, {"x": 9062.925580828598, "y": -2703.2439118297502}, {"x": 9062.52822949792, "y": -2703.540282835968}, {"x": 9062.130878038815, "y": -2703.836653671965}, {"x": 9061.733526453929, "y": -2704.13302433853}, {"x": 9061.336174741937, "y": -2704.4293948348745}, {"x": 9060.938822904163, "y": -2704.725765160999}, {"x": 9060.541470939286, "y": -2705.0221353184784}, {"x": 9060.144118847302, "y": -2705.3185053049497}, {"x": 9059.746766628214, "y": -2705.6148751219885}, {"x": 9059.349414283342, "y": -2705.911244769595}], "type": "road_edge"}, {"geometry": [{"x": 9108.188660202672, "y": -2678.0730243705007}, {"x": 9108.537119883933, "y": -2677.7315208243335}, {"x": 9108.885490999339, "y": -2677.3899269336694}, {"x": 9109.233777456053, "y": -2677.048246723906}, {"x": 9109.581982959988, "y": -2676.7064840171224}, {"x": 9109.930111027717, "y": -2676.3646424336557}, {"x": 9110.278164991783, "y": -2676.0227253991925}, {"x": 9110.626148002011, "y": -2675.6807361542246}, {"x": 9110.974063038755, "y": -2675.338677757204}, {"x": 9111.321912910244, "y": -2674.99655309321}, {"x": 9111.669700268476, "y": -2674.6543648810402}, {"x": 9112.017427606566, "y": -2674.3121156779425}, {"x": 9112.365097269341, "y": -2673.9698078867036}, {"x": 9112.712711458636, "y": -2673.6274437627444}, {"x": 9113.060272241233, "y": -2673.285025421212}, {"x": 9113.40778155019, "y": -2672.9425548409185}, {"x": 9113.755241195431, "y": -2672.6000338738}, {"x": 9114.102652867723, "y": -2672.2574642504296}, {"x": 9114.450018147936, "y": -2671.91484758475}, {"x": 9114.797338507049, "y": -2671.57218538274}, {"x": 9115.144615320709, "y": -2671.2294790479286}, {"x": 9115.49184986659, "y": -2670.886729887704}, {"x": 9115.839043337626, "y": -2670.5439391204036}, {"x": 9116.186196844665, "y": -2670.201107880042}, {"x": 9116.533311423083, "y": -2669.8582372265564}, {"x": 9116.880388040736, "y": -2669.5153281458074}, {"x": 9117.227427601922, "y": -2669.172381563762}, {"x": 9117.57443095666, "y": -2668.829398345708}, {"x": 9117.921398902, "y": -2668.4863793072846}, {"x": 9118.268332192638, "y": -2668.14332522}, {"x": 9118.61523154618, "y": -2667.800236815172}, {"x": 9118.962097649795, "y": -2667.457114793384}, {"x": 9119.308931162837, "y": -2667.113959830001}, {"x": 9119.65573272878, "y": -2666.7707725798987}, {"x": 9120.00250297785, "y": -2666.4275536861323}, {"x": 9120.344795067942, "y": -2666.088710012402}, {"x": 9120.687067264744, "y": -2665.7498462432027}, {"x": 9121.02932958706, "y": -2665.4109725011353}, {"x": 9121.371592053692, "y": -2665.07209890407}, {"x": 9121.713864683446, "y": -2664.7332355730314}, {"x": 9122.05615749645, "y": -2664.3943926290417}, {"x": 9122.398480507534, "y": -2664.0555801939136}, {"x": 9122.740843732852, "y": -2663.7168083933984}, {"x": 9123.083257181945, "y": -2663.3780873564006}, {"x": 9123.425730859046, "y": -2663.039427216552}, {"x": 9123.7682747684, "y": -2662.700838112214}, {"x": 9124.110898899678, "y": -2662.3623301880516}, {"x": 9124.453613243883, "y": -2662.0239135958227}, {"x": 9124.796427777448, "y": -2661.685598496741}, {"x": 9125.139352471515, "y": -2661.3473950583266}, {"x": 9125.482397285303, "y": -2661.0093134599183}, {"x": 9125.82557216877, "y": -2660.671363891101}], "type": "road_edge"}, {"geometry": [{"x": 9125.82557216877, "y": -2660.671363891101}, {"x": 9126.167557584433, "y": -2660.334870031704}, {"x": 9126.509707560304, "y": -2659.998543498997}, {"x": 9126.852047528017, "y": -2659.6624103579843}, {"x": 9127.194602529948, "y": -2659.3264963623883}, {"x": 9127.53739703385, "y": -2658.9908267781225}, {"x": 9127.88045475279, "y": -2658.6554262083446}, {"x": 9128.223798465082, "y": -2658.320318409839}, {"x": 9128.567449831571, "y": -2657.985526117278}, {"x": 9128.911429219545, "y": -2657.6510708564547}, {"x": 9129.255755526636, "y": -2657.316972763817}, {"x": 9129.600446006052, "y": -2656.9832504012725}, {"x": 9129.945516090485, "y": -2656.6499205654804}, {"x": 9130.29097922661, "y": -2656.316998103446}, {"x": 9130.636846700307, "y": -2655.984495720234}, {"x": 9130.983127476467, "y": -2655.6524237827407}, {"x": 9131.32982802554, "y": -2655.32079013214}, {"x": 9131.676952165977, "y": -2654.989599881349}, {"x": 9132.024500902708, "y": -2654.658855221168}, {"x": 9132.372472262949, "y": -2654.328555220113}, {"x": 9132.720861139984, "y": -2653.9986956242483}, {"x": 9133.069659132956, "y": -2653.6692686578112}, {"x": 9133.418854394598, "y": -2653.3402628214644}], "type": "road_edge"}, {"geometry": [{"x": 9121.353455030736, "y": -2650.678440951112}, {"x": 9121.015974999724, "y": -2651.0030623077464}, {"x": 9120.678838829359, "y": -2651.3280407616408}, {"x": 9120.34204688242, "y": -2651.6533759345275}, {"x": 9120.005599524338, "y": -2651.9790674497153}, {"x": 9119.66949712186, "y": -2652.305114932088}, {"x": 9119.333740045715, "y": -2652.6315180073193}, {"x": 9118.998328665297, "y": -2652.958276303445}, {"x": 9118.663263350008, "y": -2653.285389450867}, {"x": 9118.328544474545, "y": -2653.6128570791975}, {"x": 9117.994172410954, "y": -2653.94067881805}, {"x": 9117.660147531282, "y": -2654.268854300189}, {"x": 9117.3264702089, "y": -2654.5973831568044}, {"x": 9116.99314081983, "y": -2654.926265019873}, {"x": 9116.658399298454, "y": -2655.2544654180288}, {"x": 9116.316322445153, "y": -2655.57498542355}, {"x": 9115.9610229437, "y": -2655.880738834491}, {"x": 9115.588684053577, "y": -2656.1654462622555}, {"x": 9115.197501721495, "y": -2656.423605196445}, {"x": 9114.787474150768, "y": -2656.6506039493133}, {"x": 9114.360077175923, "y": -2656.842884663903}, {"x": 9113.917866071191, "y": -2656.9980816394286}, {"x": 9113.46404893245, "y": -2657.1150877787127}, {"x": 9113.0020770436, "y": -2657.1940289684385}, {"x": 9112.535291260589, "y": -2657.236149270189}, {"x": 9112.066651843987, "y": -2657.2436257820823}, {"x": 9111.598564778978, "y": -2657.2193398719587}, {"x": 9111.132803985653, "y": -2657.1666317604904}, {"x": 9110.648319316651, "y": -2657.08275952032}, {"x": 9110.171131603069, "y": -2656.964403458101}, {"x": 9109.70590780941, "y": -2656.80554061287}, {"x": 9109.258417477005, "y": -2656.6021109206395}, {"x": 9108.834844167266, "y": -2656.3527249988547}, {"x": 9108.440665210606, "y": -2656.0590730883887}, {"x": 9108.079232999096, "y": -2655.7258982690396}, {"x": 9107.750297120905, "y": -2655.360524872477}, {"x": 9107.448744914444, "y": -2654.972149209931}, {"x": 9107.163800024986, "y": -2654.5713554368963}, {"x": 9106.881949466942, "y": -2654.167566485534}, {"x": 9106.600558841763, "y": -2653.763456888514}, {"x": 9106.319628513553, "y": -2653.3590271691087}, {"x": 9106.039158846414, "y": -2652.9542778513746}, {"x": 9105.759150203125, "y": -2652.5492094601595}, {"x": 9105.479602949114, "y": -2652.1438225210964}, {"x": 9105.200517444513, "y": -2651.7381175598207}, {"x": 9104.921894052102, "y": -2651.3320951011788}, {"x": 9104.643733133335, "y": -2650.9257556723805}, {"x": 9104.366035048344, "y": -2650.519099799849}, {"x": 9104.08880015726, "y": -2650.112128010794}, {"x": 9103.812028818893, "y": -2649.704840833215}, {"x": 9103.535721392047, "y": -2649.2972387951095}, {"x": 9103.259878236853, "y": -2648.889322424477}, {"x": 9102.98449970815, "y": -2648.481092250104}, {"x": 9102.709586164745, "y": -2648.072548800777}, {"x": 9102.435137962793, "y": -2647.6636926076467}, {"x": 9102.161155457135, "y": -2647.254524198712}, {"x": 9101.88763900525, "y": -2646.8450441066993}, {"x": 9101.614588958004, "y": -2646.4352528603954}, {"x": 9101.34200567288, "y": -2646.0251509917393}, {"x": 9101.069889502065, "y": -2645.61473903267}, {"x": 9100.798240797745, "y": -2645.2040175151265}, {"x": 9100.52705991211, "y": -2644.792986971835}, {"x": 9100.256347196022, "y": -2644.381647934735}, {"x": 9099.986103002992, "y": -2643.97000093813}, {"x": 9099.716327681235, "y": -2643.5580465147455}, {"x": 9099.447021581615, "y": -2643.1457851996734}, {"x": 9099.178185052348, "y": -2642.733217525641}, {"x": 9098.909818441649, "y": -2642.320344029315}, {"x": 9098.641922099057, "y": -2641.9071652449984}, {"x": 9098.37449637014, "y": -2641.4936817085704}, {"x": 9098.107541601787, "y": -2641.0798939566985}, {"x": 9097.841058142216, "y": -2640.6658025244737}, {"x": 9097.575046334345, "y": -2640.2514079493512}, {"x": 9097.309506523741, "y": -2639.8367107679983}, {"x": 9097.044439054649, "y": -2639.421711519446}, {"x": 9096.779844271312, "y": -2639.0064107403623}, {"x": 9096.515722516646, "y": -2638.5908089697778}, {"x": 9096.25207413225, "y": -2638.174906745936}, {"x": 9095.988899459719, "y": -2637.7587046086564}, {"x": 9095.726198841969, "y": -2637.3422030969705}, {"x": 9095.46397261795, "y": -2636.9254027506977}, {"x": 9095.202221127935, "y": -2636.508304111234}, {"x": 9094.94094471219, "y": -2636.0909077176098}, {"x": 9094.680143707019, "y": -2635.6732141120096}, {"x": 9094.419818454015, "y": -2635.2552238366166}, {"x": 9094.159969288154, "y": -2634.836937432038}, {"x": 9093.900596547057, "y": -2634.418355440458}, {"x": 9093.641700565702, "y": -2633.999478404848}, {"x": 9093.383281683036, "y": -2633.580306868968}, {"x": 9093.12534023006, "y": -2633.1608413757895}, {"x": 9092.867876543078, "y": -2632.741082468284}, {"x": 9092.61089095706, "y": -2632.321030690999}, {"x": 9092.35438380301, "y": -2631.9006865892716}, {"x": 9092.09835541458, "y": -2631.4800507076484}, {"x": 9091.845610498069, "y": -2631.06375664818}, {"x": 9091.593313296433, "y": -2630.6471910957835}, {"x": 9091.34144287306, "y": -2630.2303673607494}, {"x": 9091.08997824897, "y": -2629.813298687963}, {"x": 9090.838898406788, "y": -2629.395998259263}, {"x": 9090.588182293388, "y": -2628.978479199748}, {"x": 9090.337808823868, "y": -2628.5607545785656}, {"x": 9090.087756880224, "y": -2628.1428374112743}, {"x": 9089.838005314008, "y": -2627.7247406653614}, {"x": 9089.588532951604, "y": -2627.306477264184}, {"x": 9089.339318591601, "y": -2626.8880600853904}, {"x": 9089.090341011399, "y": -2626.469501969591}, {"x": 9088.841578963244, "y": -2626.050815721145}, {"x": 9088.593011183491, "y": -2625.6320141089504}, {"x": 9088.344616387316, "y": -2625.2131098758973}, {"x": 9088.096373276649, "y": -2624.794115736507}, {"x": 9087.848260540182, "y": -2624.375044381659}, {"x": 9087.600256850721, "y": -2623.9559084833186}, {"x": 9087.352340877096, "y": -2623.536720696903}, {"x": 9087.104491276228, "y": -2623.117493663644}, {"x": 9086.850386662283, "y": -2622.6875552689994}, {"x": 9086.596372022941, "y": -2622.257563711202}, {"x": 9086.342490000678, "y": -2621.8274938409704}, {"x": 9086.088783259152, "y": -2621.3973205484267}, {"x": 9085.835294496448, "y": -2620.967018775703}, {"x": 9085.582066446399, "y": -2620.5365635303415}, {"x": 9085.32914188785, "y": -2620.105929895538}, {"x": 9085.076563655262, "y": -2619.6750930474777}, {"x": 9084.824374640024, "y": -2619.244028263219}, {"x": 9084.572617802372, "y": -2618.8127109364523}, {"x": 9084.321336179339, "y": -2618.381116591684}, {"x": 9084.070572884748, "y": -2617.9492208913334}, {"x": 9083.820371127751, "y": -2617.5169996554287}, {"x": 9083.570774207534, "y": -2617.084428870279}, {"x": 9083.321825529205, "y": -2616.65148470266}, {"x": 9083.075683000345, "y": -2616.2218587484163}, {"x": 9082.830217880048, "y": -2615.791845404767}, {"x": 9082.585427608994, "y": -2615.3614475410304}, {"x": 9082.341309623898, "y": -2614.9306680115506}, {"x": 9082.09786134558, "y": -2614.499509657275}, {"x": 9081.85508018957, "y": -2614.0679753057548}, {"x": 9081.61296355683, "y": -2613.636067770355}, {"x": 9081.371508843029, "y": -2613.203789849468}, {"x": 9081.13071343059, "y": -2612.7711443296666}, {"x": 9080.890574695324, "y": -2612.338133983336}, {"x": 9080.651089999796, "y": -2611.9047615678896}, {"x": 9080.412256701275, "y": -2611.471029829709}, {"x": 9080.174072145119, "y": -2611.0369414978377}, {"x": 9079.936533666089, "y": -2610.6024992918615}, {"x": 9079.69963859365, "y": -2610.1677059156063}, {"x": 9079.463384245357, "y": -2609.732564059501}, {"x": 9079.227767929486, "y": -2609.297076401365}, {"x": 9078.99278694638, "y": -2608.8612456040446}, {"x": 9078.758438587107, "y": -2608.425074320142}, {"x": 9078.524720134794, "y": -2607.988565186498}, {"x": 9078.29162886065, "y": -2607.551720827344}, {"x": 9078.059162031916, "y": -2607.114543853515}, {"x": 9077.827316903908, "y": -2606.6770368640246}, {"x": 9077.596090722684, "y": -2606.2392024437017}, {"x": 9077.365480730325, "y": -2605.8010431639786}, {"x": 9077.135484155671, "y": -2605.362561584466}, {"x": 9076.906098220947, "y": -2604.92376025059}, {"x": 9076.677320140427, "y": -2604.484641696744}, {"x": 9076.449147121768, "y": -2604.0452084431354}, {"x": 9076.221576362037, "y": -2603.605462997364}, {"x": 9075.994605050357, "y": -2603.16540785442}, {"x": 9075.768230369224, "y": -2602.725045496685}, {"x": 9075.5424494932, "y": -2602.284378394719}, {"x": 9075.31725958757, "y": -2601.843409004898}, {"x": 9075.092657812329, "y": -2601.4021397717765}, {"x": 9074.868641316878, "y": -2600.960573128876}, {"x": 9074.645207246644, "y": -2600.5187114947457}, {"x": 9074.422352735142, "y": -2600.0765572784767}, {"x": 9074.200074910586, "y": -2599.634112873401}, {"x": 9073.9783708959, "y": -2599.191380664968}, {"x": 9073.757237804733, "y": -2598.748363021292}, {"x": 9073.536672741471, "y": -2598.305062303392}, {"x": 9073.316672806526, "y": -2597.861480857316}, {"x": 9073.097235091042, "y": -2597.417621017291}, {"x": 9072.878356682191, "y": -2596.97348510651}, {"x": 9072.660034655231, "y": -2596.5290754355583}, {"x": 9072.442266084092, "y": -2596.0843943032}, {"x": 9072.225048030788, "y": -2595.639443996378}, {"x": 9072.008377554692, "y": -2595.194226791002}, {"x": 9071.792251705901, "y": -2594.7487449511623}, {"x": 9071.576667527894, "y": -2594.303000728339}, {"x": 9071.361622057533, "y": -2593.8569963637683}, {"x": 9071.147112329027, "y": -2593.4107340852884}, {"x": 9070.93313536335, "y": -2592.9642161112815}, {"x": 9070.71968818147, "y": -2592.5174446483093}, {"x": 9070.506767793771, "y": -2592.0704218903234}, {"x": 9070.294371205335, "y": -2591.62315002182}, {"x": 9070.082495417271, "y": -2591.1756312146854}, {"x": 9069.87256490036, "y": -2590.730896979067}, {"x": 9069.663140540244, "y": -2590.285924173989}, {"x": 9069.454217671102, "y": -2589.840715691623}, {"x": 9069.24579162314, "y": -2589.395274406802}, {"x": 9069.037857712001, "y": -2588.9496031793883}, {"x": 9068.830411250681, "y": -2588.5037048534814}, {"x": 9068.623447541584, "y": -2588.0575822550554}, {"x": 9068.416961877845, "y": -2587.611238196688}, {"x": 9068.210949547301, "y": -2587.16467547362}, {"x": 9068.005405828526, "y": -2586.7178968669054}, {"x": 9067.800325992144, "y": -2586.270905141051}, {"x": 9067.595705303487, "y": -2585.823703046378}, {"x": 9067.39153901597, "y": -2585.3762933174453}, {"x": 9067.187822381682, "y": -2584.9286786738403}, {"x": 9066.98455063815, "y": -2584.4808618217526}, {"x": 9066.781719022903, "y": -2584.0328454508226}, {"x": 9066.579322761549, "y": -2583.584632238082}, {"x": 9066.377357074403, "y": -2583.1362248440137}, {"x": 9066.175817176483, "y": -2582.6876259180663}, {"x": 9065.974698272217, "y": -2582.2388380923526}, {"x": 9065.773995562056, "y": -2581.789863987952}, {"x": 9065.57370424116, "y": -2581.340706210971}], "type": "road_edge"}, {"geometry": [{"x": 9090.775354092151, "y": -2648.748620094318}, {"x": 9091.045495920469, "y": -2649.1631392061804}, {"x": 9091.316178160434, "y": -2649.577305633905}, {"x": 9091.587400359236, "y": -2649.9911186682402}, {"x": 9091.85916206671, "y": -2650.404577599146}, {"x": 9092.131462827396, "y": -2650.8176817165827}, {"x": 9092.404302185834, "y": -2651.230430314451}, {"x": 9092.67767968524, "y": -2651.642822684287}, {"x": 9092.951594867503, "y": -2652.054858120778}, {"x": 9093.22604727187, "y": -2652.466535918614}, {"x": 9093.501036438907, "y": -2652.8778553732714}, {"x": 9093.776561903886, "y": -2653.2888157810144}, {"x": 9094.052623204725, "y": -2653.6994164404714}, {"x": 9094.329219876698, "y": -2654.1096566479073}, {"x": 9094.606351452427, "y": -2654.519535703527}, {"x": 9094.884017464534, "y": -2654.929052907535}, {"x": 9095.162217443, "y": -2655.3382075601367}, {"x": 9095.440950920442, "y": -2655.746998963113}, {"x": 9095.720217422866, "y": -2656.155426418245}, {"x": 9096.000016478925, "y": -2656.5634892296775}, {"x": 9096.280347614622, "y": -2656.9711867007672}, {"x": 9096.561210354635, "y": -2657.3785181364483}, {"x": 9096.842604223646, "y": -2657.7854828424415}, {"x": 9097.124528743683, "y": -2658.1920801252563}, {"x": 9097.406983436778, "y": -2658.598309291402}, {"x": 9097.689967822318, "y": -2659.0041696489643}, {"x": 9097.973481422332, "y": -2659.409660506028}, {"x": 9098.25752375223, "y": -2659.814781173831}, {"x": 9098.542094331397, "y": -2660.219530960459}, {"x": 9098.827192675244, "y": -2660.6239091771495}, {"x": 9099.112818299183, "y": -2661.0279151367167}, {"x": 9099.398970718625, "y": -2661.4315481496096}, {"x": 9099.685649443685, "y": -2661.8348075302183}, {"x": 9099.972853989775, "y": -2662.237692591357}, {"x": 9100.26058386701, "y": -2662.6402026474143}, {"x": 9100.548838586828, "y": -2663.04233701357}, {"x": 9100.837617656698, "y": -2663.4440950057888}, {"x": 9101.114561548338, "y": -2663.832917029665}, {"x": 9101.379726851374, "y": -2664.229825423495}, {"x": 9101.622708211335, "y": -2664.640634465078}, {"x": 9101.83481677009, "y": -2665.0681503809637}, {"x": 9102.009068550271, "y": -2665.512403804527}, {"x": 9102.140329650485, "y": -2665.971177116517}, {"x": 9102.22543715943, "y": -2666.440698243072}, {"x": 9102.26318589195, "y": -2666.9163778701895}, {"x": 9102.254143897135, "y": -2667.3934795353907}, {"x": 9102.20031720243, "y": -2667.8676396921373}, {"x": 9102.104717511593, "y": -2668.335192693744}, {"x": 9101.978855190773, "y": -2668.7677568032573}, {"x": 9101.819259434833, "y": -2669.1890406817756}, {"x": 9101.62678639801, "y": -2669.5963561545623}, {"x": 9101.40308625552, "y": -2669.9874005528286}, {"x": 9101.15076570492, "y": -2670.3606347804175}, {"x": 9100.873455934303, "y": -2670.715722581828}, {"x": 9100.57580732756, "y": -2671.053978720805}, {"x": 9100.263473402796, "y": -2671.378762432274}, {"x": 9099.943194229092, "y": -2671.695742805458}, {"x": 9099.610407955304, "y": -2672.022249824696}, {"x": 9099.277667281836, "y": -2672.348803314113}, {"x": 9098.94497205775, "y": -2672.6754031066416}, {"x": 9098.612321885843, "y": -2673.002048785399}, {"x": 9098.279715991566, "y": -2673.3287395489306}, {"x": 9097.947153103867, "y": -2673.655474091425}, {"x": 9097.614631326762, "y": -2673.9822504726844}, {"x": 9097.282148014872, "y": -2674.309065989671}, {"x": 9096.949699647648, "y": -2674.635917054359}, {"x": 9096.617281708881, "y": -2674.9627990644926}, {"x": 9096.284888555632, "y": -2675.2897062767074}, {"x": 9095.952513293767, "y": -2675.6166316812314}, {"x": 9095.620147661444, "y": -2675.943566874219}], "type": "road_edge"}, {"geometry": [{"x": 9031.948379898764, "y": -2724.200179206042}, {"x": 9032.036935835715, "y": -2724.6349658459803}, {"x": 9032.090881465152, "y": -2725.075374327938}, {"x": 9032.107855978527, "y": -2725.518735433114}, {"x": 9032.085709997544, "y": -2725.9618533145626}, {"x": 9032.02259656164, "y": -2726.400996287949}, {"x": 9031.917072416261, "y": -2726.831901990964}, {"x": 9031.768207968165, "y": -2727.2498002149273}, {"x": 9031.575703470155, "y": -2727.649456713697}, {"x": 9031.326911156393, "y": -2728.047762653569}, {"x": 9031.042535523524, "y": -2728.421610328033}, {"x": 9030.733666611348, "y": -2728.7755747202627}, {"x": 9030.409325778617, "y": -2729.1154699914264}, {"x": 9030.076553842564, "y": -2729.4471399565086}, {"x": 9029.740509637062, "y": -2729.7755014123563}, {"x": 9029.404437084451, "y": -2730.1038340907053}, {"x": 9029.069454490826, "y": -2730.4332787537637}, {"x": 9028.71531476222, "y": -2730.7822191741043}, {"x": 9028.361152629997, "y": -2731.131136856619}, {"x": 9028.00696809548, "y": -2731.4800317981562}, {"x": 9027.652761161316, "y": -2731.828903997928}, {"x": 9027.298531827508, "y": -2732.177753455146}, {"x": 9026.9442800967, "y": -2732.526580167446}, {"x": 9026.590005968896, "y": -2732.8753841340404}, {"x": 9026.235709446742, "y": -2733.224165352564}, {"x": 9025.881390531562, "y": -2733.572923823018}, {"x": 9025.527049224678, "y": -2733.9216595430375}, {"x": 9025.17268552742, "y": -2734.2703725110464}, {"x": 9024.818299441105, "y": -2734.619062726257}, {"x": 9024.463890968385, "y": -2734.9677301870934}, {"x": 9024.10946010926, "y": -2735.31637489119}, {"x": 9023.755006865053, "y": -2735.664996838549}, {"x": 9023.400531238412, "y": -2736.0135960268044}, {"x": 9023.046033229337, "y": -2736.362172454381}, {"x": 9022.6915128418, "y": -2736.7107261204906}, {"x": 9022.336970074479, "y": -2737.0592570227686}, {"x": 9021.982404930019, "y": -2737.4077651612156}, {"x": 9021.627817411068, "y": -2737.7562505334668}, {"x": 9021.273207516306, "y": -2738.1047131379464}, {"x": 9020.918575249701, "y": -2738.453152973079}, {"x": 9020.563920612578, "y": -2738.8015700388632}, {"x": 9020.209243604939, "y": -2739.1499643321476}, {"x": 9019.854544228105, "y": -2739.498335852144}, {"x": 9019.499822484726, "y": -2739.8466845972766}, {"x": 9019.145078376125, "y": -2740.195010566757}, {"x": 9018.790311903625, "y": -2740.543313758221}, {"x": 9018.435523069877, "y": -2740.8915941708806}, {"x": 9018.080711873556, "y": -2741.2398518031596}, {"x": 9017.72587831731, "y": -2741.588086653482}, {"x": 9017.371022403784, "y": -2741.936298720272}, {"x": 9017.016144132982, "y": -2742.284488002741}, {"x": 9016.66124350755, "y": -2742.6326544985254}, {"x": 9016.306320528813, "y": -2742.9807982076245}, {"x": 9015.95137519677, "y": -2743.3289191268864}, {"x": 9015.59640751407, "y": -2743.677017255523}, {"x": 9015.241417482037, "y": -2744.025092592746}, {"x": 9014.886405103318, "y": -2744.3731451361923}, {"x": 9014.53137037659, "y": -2744.7211748850727}, {"x": 9014.176313305823, "y": -2745.0691818378114}, {"x": 9013.82123389102, "y": -2745.4171659928325}, {"x": 9013.466132134827, "y": -2745.76512734856}, {"x": 9013.111008037245, "y": -2746.113065903417}, {"x": 9012.755861600923, "y": -2746.460981657404}, {"x": 9012.400692827181, "y": -2746.808874606581}, {"x": 9012.045501717348, "y": -2747.1567447517355}, {"x": 9011.690288272745, "y": -2747.504592090504}, {"x": 9011.335052494696, "y": -2747.8524166220977}, {"x": 9010.979794384526, "y": -2748.2002183441527}, {"x": 9010.624513944884, "y": -2748.5479972550934}, {"x": 9010.269211175768, "y": -2748.895753354919}, {"x": 9009.913886079827, "y": -2749.243486640478}, {"x": 9009.566496368932, "y": -2749.583411615896}, {"x": 9009.219087433374, "y": -2749.9233169426743}, {"x": 9008.871661375684, "y": -2750.2632047682696}, {"x": 9008.52422028383, "y": -2750.603077225954}, {"x": 9008.176766223274, "y": -2750.9429364253583}, {"x": 9007.829301226373, "y": -2751.2827844453773}, {"x": 9007.481827292386, "y": -2751.6226233255047}, {"x": 9007.134346367613, "y": -2751.9624550587378}, {"x": 9006.786860349363, "y": -2752.302281583698}, {"x": 9006.439371071392, "y": -2752.642104775963}, {"x": 9006.091880301261, "y": -2752.9819264417606}, {"x": 9005.744389728408, "y": -2753.3217483085127}, {"x": 9005.396900957536, "y": -2753.6615720177438}, {"x": 9005.049415500667, "y": -2754.0013991179862}, {"x": 9004.70193477582, "y": -2754.341231054538}, {"x": 9004.354460088469, "y": -2754.681069164733}, {"x": 9004.006992631552, "y": -2755.020914667696}, {"x": 9003.65953347487, "y": -2755.3607686588275}, {"x": 9003.312083562445, "y": -2755.7006320987693}, {"x": 9002.964643695304, "y": -2756.0405058078895}, {"x": 9002.617214531481, "y": -2756.380390459189}, {"x": 9002.269796576747, "y": -2756.720286568846}, {"x": 9001.922390177999, "y": -2757.0601944875457}, {"x": 9001.574995508678, "y": -2757.4001143965415}, {"x": 9001.227612572755, "y": -2757.7400462950454}, {"x": 9000.880241186196, "y": -2758.0799899954995}, {"x": 9000.532880975627, "y": -2758.419945116484}, {"x": 9000.185531369076, "y": -2758.7599110724723}, {"x": 8999.838191586698, "y": -2759.099887065162}, {"x": 8999.490860636808, "y": -2759.439872081899}, {"x": 8999.143537303964, "y": -2759.7798648791286}], "type": "road_edge"}, {"geometry": [{"x": 9042.523073549506, "y": -2716.8801690617843}, {"x": 9042.035420411004, "y": -2716.820613410031}, {"x": 9041.554903306098, "y": -2716.718291002649}, {"x": 9041.08468148784, "y": -2716.5759104030003}, {"x": 9040.627297746345, "y": -2716.396479009822}, {"x": 9040.184629388552, "y": -2716.1832756407034}, {"x": 9039.757832702504, "y": -2715.93981767954}, {"x": 9039.34728680201, "y": -2715.669824752598}, {"x": 9038.95254284414, "y": -2715.377184039793}, {"x": 9038.57228443064, "y": -2715.0659255218034}, {"x": 9038.204304975281, "y": -2714.740218492126}, {"x": 9037.845508432052, "y": -2714.4044033039777}, {"x": 9037.491941767896, "y": -2714.063074248732}, {"x": 9037.137570229832, "y": -2713.7182051269283}, {"x": 9036.783757520434, "y": -2713.372762706632}, {"x": 9036.430504569158, "y": -2713.0267478933206}, {"x": 9036.07781229884, "y": -2712.6801615940485}, {"x": 9035.725681637614, "y": -2712.3330047174463}, {"x": 9035.374113505668, "y": -2711.98527817372}, {"x": 9035.023108825837, "y": -2711.6369828730767}, {"x": 9034.672668518315, "y": -2711.288119730451}, {"x": 9034.32279350196, "y": -2710.9386896584133}, {"x": 9033.973484692995, "y": -2710.588693574263}, {"x": 9033.624743006309, "y": -2710.2381323952986}, {"x": 9033.276569359445, "y": -2709.887007040396}, {"x": 9032.928964661996, "y": -2709.535318430006}, {"x": 9032.581929826212, "y": -2709.183067485368}, {"x": 9032.245041797, "y": -2708.8400417681564}, {"x": 9031.908634833218, "y": -2708.4965442392954}, {"x": 9031.572650180484, "y": -2708.1526336145903}, {"x": 9031.237028864622, "y": -2707.808368389192}, {"x": 9030.901711734045, "y": -2707.463806870692}, {"x": 9030.566639475634, "y": -2707.1190072098602}, {"x": 9030.23175266108, "y": -2706.7740274305875}, {"x": 9029.896991760132, "y": -2706.4289254598348}, {"x": 9029.56229718692, "y": -2706.0837591615177}, {"x": 9029.227609317184, "y": -2705.7385863625136}, {"x": 9028.892868524015, "y": -2705.393464887336}, {"x": 9028.558015209632, "y": -2705.048452588867}, {"x": 9028.222989830536, "y": -2704.703607377519}, {"x": 9027.887732930618, "y": -2704.358987251965}, {"x": 9027.552185168955, "y": -2704.01465033224}, {"x": 9027.21628735556, "y": -2703.6706548881098}, {"x": 9026.879980473896, "y": -2703.3270593698044}, {"x": 9026.53557492597, "y": -2702.976112085969}, {"x": 9026.190758693157, "y": -2702.625568288403}, {"x": 9025.845610237768, "y": -2702.2753515820164}, {"x": 9025.500207806299, "y": -2701.925385351063}, {"x": 9025.154629475779, "y": -2701.575592806425}, {"x": 9024.80895320672, "y": -2701.225897043926}, {"x": 9024.463256894758, "y": -2700.876221093195}, {"x": 9024.117618424936, "y": -2700.5264879712504}, {"x": 9023.77211571937, "y": -2700.1766207321502}, {"x": 9023.426826786239, "y": -2699.826542521367}, {"x": 9023.081829780682, "y": -2699.476176628588}, {"x": 9022.737203045854, "y": -2699.1254465373618}, {"x": 9022.3930251672, "y": -2698.7742759794764}, {"x": 9022.049375026747, "y": -2698.4225889869685}, {"x": 9021.706331848114, "y": -2698.0703099465018}, {"x": 9021.363975250802, "y": -2697.7173636513767}, {"x": 9021.02238529256, "y": -2697.363675355908}, {"x": 9020.681642530288, "y": -2697.0091708321643}, {"x": 9020.341828054465, "y": -2696.653776420403}, {"x": 9020.003023548727, "y": -2696.297419088176}, {"x": 9019.665311329589, "y": -2695.940026487069}, {"x": 9019.328774394107, "y": -2695.5815270062903}, {"x": 9018.993496468867, "y": -2695.221849833349}, {"x": 9018.659562049712, "y": -2694.860925011586}, {"x": 9018.327056446744, "y": -2694.4986834984884}, {"x": 9017.994664589703, "y": -2694.1335372823773}, {"x": 9017.663810254262, "y": -2693.766997361217}, {"x": 9017.334503301667, "y": -2693.3990666129926}, {"x": 9017.006753613023, "y": -2693.0297479889805}, {"x": 9016.680571087973, "y": -2692.659044517686}, {"x": 9016.355965640723, "y": -2692.2869593032683}, {"x": 9016.032947205344, "y": -2691.913495526327}, {"x": 9015.711525729137, "y": -2691.5386564446926}, {"x": 9015.391711179274, "y": -2691.1624453934246}, {"x": 9015.073513533513, "y": -2690.7848657863888}, {"x": 9014.75694278947, "y": -2690.4059211138915}, {"x": 9014.442008956687, "y": -2690.025614946622}, {"x": 9014.128722060583, "y": -2689.6439509324996}, {"x": 9013.817092138499, "y": -2689.2609327990353}, {"x": 9013.507129241014, "y": -2688.8765643557003}, {"x": 9013.198843433274, "y": -2688.490849488406}, {"x": 9012.892244791015, "y": -2688.1037921665993}, {"x": 9012.587343404537, "y": -2687.7153964401073}, {"x": 9012.284149370758, "y": -2687.3256664383516}, {"x": 9011.982672802491, "y": -2686.9346063742887}, {"x": 9011.682923817838, "y": -2686.542220541256}, {"x": 9011.384912550793, "y": -2686.1485133169135}, {"x": 9011.08864913932, "y": -2685.753489160091}, {"x": 9010.794143731973, "y": -2685.357152613152}, {"x": 9010.501406486583, "y": -2684.959508301995}, {"x": 9010.210447568914, "y": -2684.5605609368395}, {"x": 9009.921277148711, "y": -2684.160315313017}, {"x": 9009.633905407629, "y": -2683.7587763070264}, {"x": 9009.348342528649, "y": -2683.3559488844194}, {"x": 9009.06459870402, "y": -2682.951838093493}, {"x": 9008.782684128642, "y": -2682.5464490692298}, {"x": 9008.502609002708, "y": -2682.1397870325113}, {"x": 9008.22438353038, "y": -2681.731857290906}, {"x": 9007.948017919798, "y": -2681.3226652378794}, {"x": 9007.67058404153, "y": -2680.907808796394}, {"x": 9007.395048567016, "y": -2680.491689059991}, {"x": 9007.121399300775, "y": -2680.074326481918}, {"x": 9006.84962385005, "y": -2679.655741297917}, {"x": 9006.579709627451, "y": -2679.235953525438}, {"x": 9006.311643853609, "y": -2678.8149829675813}, {"x": 9006.045413558495, "y": -2678.392849209941}, {"x": 9005.781005590694, "y": -2677.96957162376}, {"x": 9005.518406614747, "y": -2677.5451693675077}, {"x": 9005.257603117783, "y": -2677.1196613860875}, {"x": 9004.998581413485, "y": -2676.693066413204}, {"x": 9004.741327642085, "y": -2676.265402969787}, {"x": 9004.485827778319, "y": -2675.836689369506}, {"x": 9004.232067628773, "y": -2675.4069437156204}, {"x": 9003.980032841146, "y": -2674.976183904917}, {"x": 9003.729708904262, "y": -2674.5444276277135}, {"x": 9003.481081148062, "y": -2674.1116923694303}, {"x": 9003.234134755518, "y": -2673.677995410595}, {"x": 9002.988854754696, "y": -2673.2433538315677}, {"x": 9002.745226033316, "y": -2672.8077845086004}, {"x": 9002.503233329484, "y": -2672.3713041225087}, {"x": 9002.262861244932, "y": -2671.9339291515766}, {"x": 9002.02409424105, "y": -2671.495675880226}, {"x": 9001.78691664682, "y": -2671.056560396652}, {"x": 9001.551312658834, "y": -2670.616598595188}, {"x": 9001.317266339945, "y": -2670.175806177882}, {"x": 9001.084761633856, "y": -2669.7341986568586}, {"x": 9000.85378235451, "y": -2669.2917913551096}, {"x": 9000.624312195368, "y": -2668.8485994088574}, {"x": 9000.396334733377, "y": -2668.404637767554}, {"x": 9000.169833427648, "y": -2667.959921197822}, {"x": 8999.944791624748, "y": -2667.5144642834557}, {"x": 8999.730370900346, "y": -2667.0866599227343}, {"x": 8999.517278658454, "y": -2666.658192287045}, {"x": 8999.30551694732, "y": -2666.22906550187}, {"x": 8999.095087809896, "y": -2665.799283699783}, {"x": 8998.885993269272, "y": -2665.3688510172983}, {"x": 8998.678235339275, "y": -2664.9377715995984}, {"x": 8998.471816020485, "y": -2664.506049597383}, {"x": 8998.266737301568, "y": -2664.0736891668676}, {"x": 8998.063001155308, "y": -2663.6406944705723}, {"x": 8997.860609543886, "y": -2663.2070696788983}, {"x": 8997.659564414927, "y": -2662.7728189653976}, {"x": 8997.459867706786, "y": -2662.337946512293}, {"x": 8997.261521340604, "y": -2661.9024565057452}, {"x": 8997.05713402374, "y": -2661.4479186990625}, {"x": 8996.85849247556, "y": -2660.9908456149988}, {"x": 8996.669339617581, "y": -2660.5297716532236}, {"x": 8996.492882266684, "y": -2660.0636987443268}, {"x": 8996.331824762388, "y": -2659.592089739593}, {"x": 8996.188387933329, "y": -2659.114832237581}, {"x": 8996.064320866411, "y": -2658.6321815311208}, {"x": 8995.960911800781, "y": -2658.1446901896384}, {"x": 8995.879002876007, "y": -2657.6531309162006}, {"x": 8995.819011706859, "y": -2657.1584184951407}, {"x": 8995.780961157712, "y": -2656.661535778476}, {"x": 8995.764517275504, "y": -2656.1634676466842}, {"x": 8995.769034320734, "y": -2655.665145819456}, {"x": 8995.793605193803, "y": -2655.1674062745774}, {"x": 8995.837115249507, "y": -2654.67095999681}, {"x": 8995.89829752029, "y": -2654.17637683059}, {"x": 8995.975787664083, "y": -2653.6840814798497}, {"x": 8996.064366693137, "y": -2653.2149565673685}, {"x": 8996.167464139151, "y": -2652.748809482552}, {"x": 8996.285777551564, "y": -2652.286292198046}, {"x": 8996.41973475726, "y": -2651.8280623006176}, {"x": 8996.569381822612, "y": -2651.3747137027704}, {"x": 8996.734281054192, "y": -2650.926685868755}, {"x": 8996.913420194025, "y": -2650.48415565997}, {"x": 8997.105131431044, "y": -2650.046919796174}, {"x": 8997.30701493143, "y": -2649.614280353872}, {"x": 8997.515856675669, "y": -2649.1849506273206}, {"x": 8997.727525257078, "y": -2648.7570044745507}, {"x": 8997.936828509757, "y": -2648.3278999346653}, {"x": 8998.137310947906, "y": -2647.8946189110447}, {"x": 8998.329489215823, "y": -2647.4369891596552}, {"x": 8998.503362575979, "y": -2646.972096118748}, {"x": 8998.658657312591, "y": -2646.500671640849}, {"x": 8998.795128952026, "y": -2646.02345786106}, {"x": 8998.912562657339, "y": -2645.5412060260037}, {"x": 8999.010773559294, "y": -2645.0546753172557}, {"x": 8999.089607050286, "y": -2644.5646316479783}, {"x": 8999.148939027962, "y": -2644.071846464288}, {"x": 8999.188676088528, "y": -2643.577095527701}, {"x": 8999.208755679005, "y": -2643.08115769444}, {"x": 8999.20985040576, "y": -2642.6230905372067}, {"x": 8999.194374637626, "y": -2642.165282965352}, {"x": 8999.162548685012, "y": -2641.7083202456006}, {"x": 8999.11461264437, "y": -2641.2527650959837}, {"x": 8999.050824841159, "y": -2640.799157330428}, {"x": 8998.971460325767, "y": -2640.348013575054}, {"x": 8998.876809377374, "y": -2639.899827086922}, {"x": 8998.76717605813, "y": -2639.4550676287326}, {"x": 8998.642876801765, "y": -2639.0141814325743}, {"x": 8998.504239044545, "y": -2638.5775912235663}, {"x": 8998.35159989333, "y": -2638.1456963096966}, {"x": 8998.170695626182, "y": -2637.683444461897}, {"x": 8997.97367184536, "y": -2637.227830813978}, {"x": 8997.760476370202, "y": -2636.779557594593}, {"x": 8997.531092226865, "y": -2636.3393495645378}, {"x": 8997.28553987267, "y": -2635.907952736946}, {"x": 8997.023879421762, "y": -2635.4861329193805}, {"x": 8996.746212872105, "y": -2635.07467406837}, {"x": 8996.452686302013, "y": -2634.674376449296}, {"x": 8996.143492056097, "y": -2634.2860545968974}], "type": "road_edge"}, {"geometry": [{"x": 9032.73100039792, "y": -2741.3467484237854}, {"x": 9033.072756268188, "y": -2741.0086124163054}, {"x": 9033.414487494607, "y": -2740.6704515038423}, {"x": 9033.756194055995, "y": -2740.332265667482}, {"x": 9034.09787593514, "y": -2739.994054893039}, {"x": 9034.439533117476, "y": -2739.655819168693}, {"x": 9034.781165588442, "y": -2739.317558486564}, {"x": 9035.12277334009, "y": -2738.9792728395587}, {"x": 9035.464356365803, "y": -2738.6409622253127}, {"x": 9035.80591465896, "y": -2738.3026266414627}, {"x": 9036.147448215588, "y": -2737.96426608722}, {"x": 9036.48895703304, "y": -2737.625880563373}, {"x": 9036.830441108666, "y": -2737.28747007071}, {"x": 9037.18539706591, "y": -2736.9355866359365}, {"x": 9037.540149053712, "y": -2736.5834975811795}, {"x": 9037.894604681142, "y": -2736.231110181219}, {"x": 9038.2487559035, "y": -2735.878416846273}, {"x": 9038.602670057424, "y": -2735.5254856117162}, {"x": 9038.956480813902, "y": -2735.1724507129134}, {"x": 9039.310378911525, "y": -2734.8195033783404}, {"x": 9039.664602627547, "y": -2734.4668828835565}, {"x": 9040.019427973592, "y": -2734.1148678754776}, {"x": 9040.375158660947, "y": -2733.763767933068}, {"x": 9040.732115885812, "y": -2733.4139152690927}, {"x": 9041.090628061578, "y": -2733.065656481521}, {"x": 9041.451020574945, "y": -2732.719344231637}, {"x": 9041.813605739311, "y": -2732.375328703071}, {"x": 9042.178673028859, "y": -2732.0339487251204}, {"x": 9042.54647976412, "y": -2731.6955224429353}, {"x": 9042.917242354963, "y": -2731.3603374321237}, {"x": 9043.291128192332, "y": -2731.0286402026136}, {"x": 9043.668248297334, "y": -2730.700625052365}, {"x": 9044.048650722365, "y": -2730.376422301673}, {"x": 9044.432314720143, "y": -2730.056085958487}, {"x": 9044.819145581396, "y": -2729.739580937696}, {"x": 9045.208969988898, "y": -2729.426769996707}, {"x": 9045.601531619097, "y": -2729.117400604834}, {"x": 9045.996486653714, "y": -2728.811092023877}, {"x": 9046.393398694207, "y": -2728.507322940349}, {"x": 9046.791732501844, "y": -2728.2054200323364}, {"x": 9047.19084581266, "y": -2727.904547976929}, {"x": 9047.585966836094, "y": -2727.6070186750103}, {"x": 9047.981117493577, "y": -2727.309528731051}, {"x": 9048.376297779816, "y": -2727.012078147416}, {"x": 9048.771507692161, "y": -2726.714666926469}, {"x": 9049.166747225318, "y": -2726.4172950721504}, {"x": 9049.562016375314, "y": -2726.1199625876125}, {"x": 9049.9573151395, "y": -2725.822669474431}, {"x": 9050.352643513905, "y": -2725.525415737335}, {"x": 9050.748001493232, "y": -2725.2282013779}, {"x": 9051.143389074836, "y": -2724.9310263992784}, {"x": 9051.53880625474, "y": -2724.6338908046228}, {"x": 9051.934253027652, "y": -2724.3367945970845}, {"x": 9052.329729392246, "y": -2724.0397377798167}, {"x": 9052.725235341903, "y": -2723.7427203551833}, {"x": 9053.120770873975, "y": -2723.445742326336}, {"x": 9053.516335983164, "y": -2723.14880369564}, {"x": 9053.911930668148, "y": -2722.8519044670347}, {"x": 9054.307554923631, "y": -2722.5550446436723}, {"x": 9054.703208745641, "y": -2722.2582242271296}, {"x": 9055.098892128879, "y": -2721.9614432213466}, {"x": 9055.494605072025, "y": -2721.664701628687}, {"x": 9055.89034756978, "y": -2721.3679994530917}, {"x": 9056.286119618175, "y": -2721.0713366961368}, {"x": 9056.681921213236, "y": -2720.774713361762}, {"x": 9057.077752352314, "y": -2720.4781294531203}, {"x": 9057.473613028791, "y": -2720.1815849717873}, {"x": 9057.869503241342, "y": -2719.8850799217034}, {"x": 9058.265422985995, "y": -2719.5886143060206}, {"x": 9058.661372256129, "y": -2719.2921881278917}, {"x": 9059.057351050422, "y": -2718.9958013888922}, {"x": 9059.4533593649, "y": -2718.699454092963}, {"x": 9059.849397194268, "y": -2718.4031462424678}, {"x": 9060.245464534553, "y": -2718.106877841347}, {"x": 9060.64156138311, "y": -2717.810648891965}, {"x": 9061.037687734639, "y": -2717.5144593966857}, {"x": 9061.433843586496, "y": -2717.2183093594494}, {"x": 9061.830028934704, "y": -2716.9221987826204}, {"x": 9062.226243773972, "y": -2716.626127669351}, {"x": 9062.622488101648, "y": -2716.330096022005}, {"x": 9063.018761912437, "y": -2716.034103844523}, {"x": 9063.415065205018, "y": -2715.738151138481}, {"x": 9063.811397972766, "y": -2715.4422379086077}, {"x": 9064.207760211713, "y": -2715.1463641564787}, {"x": 9064.604151920532, "y": -2714.8505298852465}], "type": "road_edge"}, {"geometry": [{"x": 8921.53367112554, "y": -2759.9351378218284}, {"x": 8921.778086238935, "y": -2760.360378583956}, {"x": 8922.023207877253, "y": -2760.7852124758947}, {"x": 8922.269017013108, "y": -2761.2096489503956}, {"x": 8922.515495098407, "y": -2761.633697301809}, {"x": 8922.762624052435, "y": -2762.0573666668756}, {"x": 8923.010386239343, "y": -2762.480666027875}, {"x": 8923.258764456232, "y": -2762.9036042149924}, {"x": 8923.507741923893, "y": -2763.3261899086824}, {"x": 8923.757302265612, "y": -2763.7484316443965}, {"x": 8924.007429495261, "y": -2764.1703378125835}, {"x": 8924.258108006703, "y": -2764.5919166657827}, {"x": 8924.509322552607, "y": -2765.0131763194113}, {"x": 8924.761058236509, "y": -2765.434124758068}, {"x": 8925.01330049824, "y": -2765.8547698386874}, {"x": 8925.266035096722, "y": -2766.275119292902}, {"x": 8925.519248099368, "y": -2766.695180735713}, {"x": 8925.7729258662, "y": -2767.114961666276}, {"x": 8926.027055039256, "y": -2767.534469474206}, {"x": 8926.281622529346, "y": -2767.953711445885}, {"x": 8926.536615496194, "y": -2768.3726947660325}, {"x": 8926.792021343146, "y": -2768.791426527168}, {"x": 8927.0478277026, "y": -2769.20991373197}, {"x": 8927.304022416145, "y": -2769.6281633003728}, {"x": 8927.560593530598, "y": -2770.046182074292}, {"x": 8927.817529279455, "y": -2770.4639768223547}, {"x": 8928.074818070989, "y": -2770.8815542501425}, {"x": 8928.332448476322, "y": -2771.2989209994043}, {"x": 8928.59040921354, "y": -2771.7160836606663}, {"x": 8928.84868914108, "y": -2772.133048775594}, {"x": 8929.107277236535, "y": -2772.5498228417227}, {"x": 8929.366162594011, "y": -2772.9664123250645}, {"x": 8929.625334401624, "y": -2773.382823658533}, {"x": 8929.88478193487, "y": -2773.7990632553415}, {"x": 8930.144494540744, "y": -2774.215137509789}, {"x": 8930.40446162979, "y": -2774.631052807506}, {"x": 8930.664672657576, "y": -2775.046815531759}, {"x": 8930.925117116734, "y": -2775.46243206739}, {"x": 8931.185344233922, "y": -2775.8771998405773}, {"x": 8931.445803654424, "y": -2776.291821772676}, {"x": 8931.706505485752, "y": -2776.706291325173}, {"x": 8931.967459820857, "y": -2777.120601943005}, {"x": 8932.228676742092, "y": -2777.53474705062}, {"x": 8932.49016632387, "y": -2777.9487200543394}, {"x": 8932.751938620746, "y": -2778.3625143392087}, {"x": 8933.014003679325, "y": -2778.776123272147}, {"x": 8933.276371529006, "y": -2779.189540196431}, {"x": 8933.539052187263, "y": -2779.6027584324866}, {"x": 8933.802055655693, "y": -2780.0157712802466}, {"x": 8934.065391919996, "y": -2780.428572014428}, {"x": 8934.329070951313, "y": -2780.84115388453}, {"x": 8934.59310270357, "y": -2781.253510117197}, {"x": 8934.857497114806, "y": -2781.665633910705}, {"x": 8935.122264103202, "y": -2782.077518438898}, {"x": 8935.387413572369, "y": -2782.489156847252}, {"x": 8935.65295540474, "y": -2782.90054225366}, {"x": 8935.918899464208, "y": -2783.311667746069}, {"x": 8936.185255594806, "y": -2783.7225263856317}, {"x": 8936.452033624682, "y": -2784.1331112011912}, {"x": 8936.719243354177, "y": -2784.543415190067}, {"x": 8936.986894567744, "y": -2784.9534313212107}, {"x": 8937.254997027328, "y": -2785.363152528897}, {"x": 8937.523560471045, "y": -2785.7725717150915}, {"x": 8937.792594614495, "y": -2786.181681747873}, {"x": 8938.062109149452, "y": -2786.590475462222}, {"x": 8938.332113746506, "y": -2786.9989456560807}, {"x": 8938.60261804844, "y": -2787.407085092716}, {"x": 8938.873631675531, "y": -2787.814886499932}, {"x": 8939.145164218924, "y": -2788.222342567708}, {"x": 8939.417225245938, "y": -2788.6294459481937}, {"x": 8939.689824297404, "y": -2789.036189255714}, {"x": 8939.962970886356, "y": -2789.4425650636144}, {"x": 8940.236674495372, "y": -2789.8485659089893}, {"x": 8940.51094458055, "y": -2790.2541842855903}, {"x": 8940.78579056886, "y": -2790.6594126477667}, {"x": 8941.061221856819, "y": -2791.064243407311}, {"x": 8941.337247809168, "y": -2791.468668933462}, {"x": 8941.613877761522, "y": -2791.872681553692}, {"x": 8941.891121017718, "y": -2792.2762735513397}], "type": "road_edge"}, {"geometry": [{"x": 8903.977910633797, "y": -2722.7437144697583}, {"x": 8904.146063769444, "y": -2723.193245314774}, {"x": 8904.314967438871, "y": -2723.642494693992}, {"x": 8904.484640329194, "y": -2724.0914541153033}, {"x": 8904.655101087803, "y": -2724.540114988093}, {"x": 8904.826368322374, "y": -2724.98846862245}, {"x": 8904.998460595565, "y": -2725.436506224439}, {"x": 8905.17139643031, "y": -2725.8842188968906}, {"x": 8905.34519430321, "y": -2726.331597637035}, {"x": 8905.519872645842, "y": -2726.77863332941}, {"x": 8905.695449843446, "y": -2727.2253167513772}, {"x": 8905.8719442283, "y": -2727.6716385628793}, {"x": 8906.053709033495, "y": -2728.1284610682737}, {"x": 8906.236452844092, "y": -2728.5848928224095}, {"x": 8906.420173008093, "y": -2729.040932457218}, {"x": 8906.604866868205, "y": -2729.496578618817}, {"x": 8906.79053177508, "y": -2729.951829967508}, {"x": 8906.977165074068, "y": -2730.406685175414}, {"x": 8907.164764113177, "y": -2730.861142928056}, {"x": 8907.353326240405, "y": -2731.3152019259255}, {"x": 8907.542848802435, "y": -2731.7688608813373}, {"x": 8907.733329149916, "y": -2732.2221185207904}, {"x": 8907.924764632175, "y": -2732.6749735826043}, {"x": 8908.117152597213, "y": -2733.127424819284}, {"x": 8908.310490397007, "y": -2733.5794709967313}, {"x": 8908.504775382205, "y": -2734.031110893457}, {"x": 8908.700004903461, "y": -2734.4823433021566}, {"x": 8908.896176315397, "y": -2734.933167025771}, {"x": 8909.093286969985, "y": -2735.38358088379}, {"x": 8909.291334221849, "y": -2735.8335837059476}, {"x": 8909.49031542429, "y": -2736.283174336164}, {"x": 8909.690227934576, "y": -2736.7323516317547}, {"x": 8909.891069109977, "y": -2737.181114461858}, {"x": 8910.092836306445, "y": -2737.6294617082203}, {"x": 8910.295526885217, "y": -2738.0773922675603}, {"x": 8910.499138203566, "y": -2738.524905046842}, {"x": 8910.703667622736, "y": -2738.9719989672153}, {"x": 8910.909112505293, "y": -2739.4186729616504}, {"x": 8911.115470215125, "y": -2739.864925977301}, {"x": 8911.322738114804, "y": -2740.3107569715685}, {"x": 8911.530913570865, "y": -2740.756164917613}, {"x": 8911.739993951172, "y": -2741.201148798052}, {"x": 8911.949976622265, "y": -2741.6457076096895}, {"x": 8912.160858954652, "y": -2742.0898403627234}, {"x": 8912.37268042642, "y": -2742.5336347506263}, {"x": 8912.585395069176, "y": -2742.9770017276196}, {"x": 8912.798998668584, "y": -2743.41994111245}, {"x": 8913.013487015609, "y": -2743.8624527459297}, {"x": 8913.228855911808, "y": -2744.3045364901495}, {"x": 8913.445101158735, "y": -2744.7461922284756}, {"x": 8913.662218568541, "y": -2745.1874198671303}, {"x": 8913.880203958666, "y": -2745.6282193336115}, {"x": 8914.099053151855, "y": -2746.068590576696}, {"x": 8914.318761978788, "y": -2746.508533564073}, {"x": 8914.539326275446, "y": -2746.94804828865}, {"x": 8914.760741885755, "y": -2747.3871347614604}, {"x": 8914.983004656286, "y": -2747.825793015602}, {"x": 8915.206110446852, "y": -2748.264023104663}, {"x": 8915.430055117266, "y": -2748.7018251027207}, {"x": 8915.654834536606, "y": -2749.13919910513}, {"x": 8915.8804445819, "y": -2749.5761452269476}, {"x": 8916.106881136791, "y": -2750.012663604507}, {"x": 8916.334140088895, "y": -2750.448754393844}, {"x": 8916.562217333774, "y": -2750.884417771483}, {"x": 8916.791108776259, "y": -2751.3196539336514}, {"x": 8917.020810323822, "y": -2751.754463097064}, {"x": 8917.251317895858, "y": -2752.1888454973505}, {"x": 8917.48262741441, "y": -2752.6228013914174}, {"x": 8917.714734810786, "y": -2753.056331054297}, {"x": 8917.94763602159, "y": -2753.4894347815107}, {"x": 8918.181326991373, "y": -2753.9221128882814}, {"x": 8918.415803671303, "y": -2754.354365707958}, {"x": 8918.651062021818, "y": -2754.7861935943783}, {"x": 8918.887098007328, "y": -2755.217596918717}, {"x": 8919.123907600186, "y": -2755.648576074215}, {"x": 8919.361486782012, "y": -2756.0791314706617}, {"x": 8919.599831538402, "y": -2756.5092635367614}, {"x": 8919.838937864217, "y": -2756.9389727209186}, {"x": 8920.07880176094, "y": -2757.368259489663}, {"x": 8920.31941923667, "y": -2757.7971243276506}, {"x": 8920.560786308779, "y": -2758.2255677392377}, {"x": 8920.80289899861, "y": -2758.65359024533}, {"x": 8921.045753338094, "y": -2759.081192385748}, {"x": 8921.289345365789, "y": -2759.5083747192243}, {"x": 8921.53367112554, "y": -2759.9351378218284}], "type": "road_edge"}, {"geometry": [{"x": 8975.445512030135, "y": -2651.000815825099}, {"x": 8975.752130625266, "y": -2651.3768186502766}, {"x": 8976.073097201179, "y": -2651.740649848099}, {"x": 8976.408057114468, "y": -2652.091640065312}, {"x": 8976.756620230244, "y": -2652.42912431765}, {"x": 8977.118360395178, "y": -2652.7524438252262}, {"x": 8977.476170582087, "y": -2653.0478003026637}, {"x": 8977.84507943077, "y": -2653.3291718968735}, {"x": 8978.247155422452, "y": -2653.612452183881}, {"x": 8978.657611982542, "y": -2653.883470253163}, {"x": 8979.07353859363, "y": -2654.1460310658}, {"x": 8979.492504968273, "y": -2654.4037213973097}, {"x": 8979.912432201401, "y": -2654.65984522402}, {"x": 8980.331491442292, "y": -2654.9173850065863}, {"x": 8980.748027828726, "y": -2655.1789810129353}, {"x": 8981.160506503016, "y": -2655.446923336034}, {"x": 8981.567477103317, "y": -2655.7231530728204}, {"x": 8981.967553115643, "y": -2656.0092703781525}, {"x": 8982.3594026124, "y": -2656.3065479153756}, {"x": 8982.741747195829, "y": -2656.6159486861256}, {"x": 8983.11336630634, "y": -2656.9381474560373}, {"x": 8983.473104463528, "y": -2657.2735550805064}, {"x": 8983.819879386365, "y": -2657.622345021252}, {"x": 8984.152689348062, "y": -2657.9844813215695}, {"x": 8984.470618559528, "y": -2658.3597472506526}, {"x": 8984.772839659827, "y": -2658.7477738241796}, {"x": 8985.05861281717, "y": -2659.148067421008}, {"x": 8985.327281172998, "y": -2659.560035733907}, {"x": 8985.578262614561, "y": -2659.983011387646}, {"x": 8985.811038083886, "y": -2660.416272627869}, {"x": 8986.019031762278, "y": -2660.8439285989243}, {"x": 8986.213300819605, "y": -2661.2780041256483}, {"x": 8986.397611403214, "y": -2661.716409341593}, {"x": 8986.575563004328, "y": -2662.1574388917297}, {"x": 8986.750386162166, "y": -2662.5997199356216}, {"x": 8986.924756759243, "y": -2663.042179855975}, {"x": 8987.100626388872, "y": -2663.4840456108586}, {"x": 8987.279067588679, "y": -2663.9248788440314}, {"x": 8987.460131278865, "y": -2664.3646417366094}, {"x": 8987.645595987084, "y": -2664.809709337922}, {"x": 8987.832726885774, "y": -2665.2540789645154}, {"x": 8988.021521349418, "y": -2665.6977443789146}, {"x": 8988.211976724695, "y": -2666.1406993531}, {"x": 8988.404090341075, "y": -2666.582937670086}, {"x": 8988.597859500216, "y": -2667.024453120766}, {"x": 8988.79328148392, "y": -2667.4652395094317}, {"x": 8988.990353547513, "y": -2667.9052906474667}, {"x": 8989.189072925128, "y": -2668.344600358076}, {"x": 8989.389436827072, "y": -2668.7831624754976}, {"x": 8989.591442442468, "y": -2669.2209708434248}, {"x": 8989.795086933955, "y": -2669.6580193157965}, {"x": 8990.00036744299, "y": -2670.094301758373}, {"x": 8990.207281089844, "y": -2670.529812047159}, {"x": 8990.415824968311, "y": -2670.9645440684026}, {"x": 8990.625996152325, "y": -2671.3984917209636}, {"x": 8990.837791691982, "y": -2671.8316489123677}, {"x": 8991.051208612227, "y": -2672.2640095635393}, {"x": 8991.266243919466, "y": -2672.6955676048583}, {"x": 8991.482894593631, "y": -2673.126316977739}, {"x": 8991.701157594784, "y": -2673.5562516377786}, {"x": 8991.921029859162, "y": -2673.985365548457}, {"x": 8992.14250830049, "y": -2674.4136526874377}, {"x": 8992.36558980999, "y": -2674.8411070418415}, {"x": 8992.590271255043, "y": -2675.267722612186}, {"x": 8992.816549483177, "y": -2675.6934934108094}, {"x": 8993.044421316763, "y": -2676.1184134595073}, {"x": 8993.273883559634, "y": -2676.542476795048}, {"x": 8993.508830951214, "y": -2676.9727848517427}, {"x": 8993.745416129224, "y": -2677.4021946402163}, {"x": 8993.983635853805, "y": -2677.8306998197563}, {"x": 8994.223486858617, "y": -2678.2582940606853}, {"x": 8994.464965852163, "y": -2678.6849710435686}, {"x": 8994.70806952044, "y": -2679.110724460006}, {"x": 8994.952794520317, "y": -2679.5355480142057}, {"x": 8995.199137490128, "y": -2679.9594354206197}, {"x": 8995.447095036423, "y": -2680.382380404734}, {"x": 8995.696663747227, "y": -2680.8043767046424}, {"x": 8995.947840181429, "y": -2681.225418068685}, {"x": 8996.200620874086, "y": -2681.645498259386}, {"x": 8996.45500233775, "y": -2682.0646110471494}, {"x": 8996.710981058493, "y": -2682.48275021893}, {"x": 8996.968553498551, "y": -2682.899909569562}, {"x": 8997.227716095009, "y": -2683.3160829080653}, {"x": 8997.488465259788, "y": -2683.731264056068}, {"x": 8997.750797383635, "y": -2684.14544684702}, {"x": 8998.01470882816, "y": -2684.558625125404}, {"x": 8998.280195935115, "y": -2684.970792749886}, {"x": 8998.547255018451, "y": -2685.381943590955}, {"x": 8998.813411015271, "y": -2685.78831300298}, {"x": 8999.08110550684, "y": -2686.193670604235}, {"x": 8999.350337325377, "y": -2686.5980087883886}, {"x": 8999.621105259414, "y": -2687.0013199309838}, {"x": 8999.893408056432, "y": -2687.4035963925894}, {"x": 9000.167244420223, "y": -2687.804830518015}, {"x": 9000.442613012212, "y": -2688.205014637096}, {"x": 9000.719512448803, "y": -2688.604141065483}, {"x": 9000.997941306685, "y": -2689.002202101489}, {"x": 9001.277898113554, "y": -2689.3991900316064}, {"x": 9001.559381357389, "y": -2689.7950971257787}, {"x": 9001.842389479827, "y": -2690.1899156405516}, {"x": 9002.126920880137, "y": -2690.583637817499}, {"x": 9002.41297391257, "y": -2690.976255885584}, {"x": 9002.700546883712, "y": -2691.3677620587987}, {"x": 9002.989638059113, "y": -2691.758148538525}, {"x": 9003.280245656644, "y": -2692.147407512748}, {"x": 9003.573950902244, "y": -2692.537623503309}, {"x": 9003.869192121672, "y": -2692.9266786724443}, {"x": 9004.165974183323, "y": -2693.31455973902}, {"x": 9004.464301844375, "y": -2693.701253328122}, {"x": 9004.76417975211, "y": -2694.086745970271}, {"x": 9005.065612439952, "y": -2694.471024102207}, {"x": 9005.368604328774, "y": -2694.854074066893}, {"x": 9005.67315972162, "y": -2695.2358821143}, {"x": 9005.979282805018, "y": -2695.6164343990445}, {"x": 9006.286977650307, "y": -2695.9957169835398}, {"x": 9006.596248204367, "y": -2696.3737158364206}, {"x": 9006.90709829492, "y": -2696.750416833331}, {"x": 9007.2195316292, "y": -2697.125805758501}, {"x": 9007.533551786015, "y": -2697.4998683023805}, {"x": 9007.849162223685, "y": -2697.872590062429}, {"x": 9008.166366268131, "y": -2698.2439565454793}, {"x": 9008.485167122137, "y": -2698.6139531661624}, {"x": 9008.80556785609, "y": -2698.9825652476934}, {"x": 9009.127571407975, "y": -2699.3497780226617}, {"x": 9009.451180586022, "y": -2699.7155766322408}, {"x": 9009.776398060763, "y": -2700.0799461277675}, {"x": 9010.103226371655, "y": -2700.4428714715264}, {"x": 9010.431667915163, "y": -2700.804337534388}, {"x": 9010.761724954022, "y": -2701.164329099749}, {"x": 9011.073787433685, "y": -2701.50177055268}, {"x": 9011.387141033547, "y": -2701.838013493755}, {"x": 9011.701645560526, "y": -2702.173180253153}, {"x": 9012.017162121729, "y": -2702.507394567735}, {"x": 9012.333552965552, "y": -2702.8407814139764}, {"x": 9012.650681338702, "y": -2703.1734668338067}, {"x": 9012.968411337903, "y": -2703.5055777699054}, {"x": 9013.28660775498, "y": -2703.837241894693}, {"x": 9013.619742707499, "y": -2704.1837259253684}, {"x": 9013.953220399224, "y": -2704.5298801027225}, {"x": 9014.287020846838, "y": -2704.875723062741}, {"x": 9014.621124116002, "y": -2705.2212734965738}, {"x": 9014.95551032402, "y": -2705.566550147382}, {"x": 9015.29015963586, "y": -2705.9115718048224}, {"x": 9015.625052257532, "y": -2706.256357306624}, {"x": 9015.960168437414, "y": -2706.600925530706}, {"x": 9016.29548845831, "y": -2706.9452953920254}, {"x": 9016.630992638773, "y": -2707.2894858425802}, {"x": 9016.966661327808, "y": -2707.6335158643133}, {"x": 9017.302474899574, "y": -2707.9774044675373}, {"x": 9017.638413754714, "y": -2708.321170688571}, {"x": 9017.97445831505, "y": -2708.6648335826467}, {"x": 9018.310589016972, "y": -2709.008412224699}, {"x": 9018.646786315407, "y": -2709.3519257038456}, {"x": 9018.9830306719, "y": -2709.695393121815}, {"x": 9019.319302558586, "y": -2710.0388335866387}, {"x": 9019.655582452902, "y": -2710.3822662118655}, {"x": 9019.991850830955, "y": -2710.725710111832}, {"x": 9020.328088170181, "y": -2711.0691843992995}, {"x": 9020.664274938743, "y": -2711.412708182299}, {"x": 9021.000391600835, "y": -2711.7563005601946}, {"x": 9021.336418604764, "y": -2712.099980618953}, {"x": 9021.673564813793, "y": -2712.4450184938305}, {"x": 9022.010600969566, "y": -2712.7901638676426}, {"x": 9022.347527038986, "y": -2713.1354167057148}, {"x": 9022.6843429863, "y": -2713.4807769741606}, {"x": 9023.021048778412, "y": -2713.8262446359413}, {"x": 9023.357644380894, "y": -2714.1718196571705}, {"x": 9023.694129759324, "y": -2714.517502001597}, {"x": 9024.030504879276, "y": -2714.8632916361234}, {"x": 9024.366769706328, "y": -2715.2091885229224}, {"x": 9024.702924207379, "y": -2715.5551926288954}, {"x": 9025.038968348003, "y": -2715.901303917792}, {"x": 9025.374902092453, "y": -2716.2475223549377}, {"x": 9025.710725408951, "y": -2716.5938479048696}, {"x": 9026.046438261752, "y": -2716.940280532913}, {"x": 9026.382040616429, "y": -2717.286820202818}, {"x": 9026.717532439883, "y": -2717.63346687991}, {"x": 9027.05291369769, "y": -2717.9802205287256}, {"x": 9027.388184355423, "y": -2718.3270811145912}, {"x": 9027.723344379983, "y": -2718.6740486012554}, {"x": 9028.058393735622, "y": -2719.0211229540437}, {"x": 9028.393332389242, "y": -2719.3683041374943}, {"x": 9028.728160307739, "y": -2719.715592116932}, {"x": 9029.062877454042, "y": -2720.062986856106}, {"x": 9029.397483797698, "y": -2720.4104883203427}, {"x": 9029.731979302962, "y": -2720.75809647339}, {"x": 9030.066363935406, "y": -2721.105811281363}, {"x": 9030.382523470247, "y": -2721.4385638634003}, {"x": 9030.688044509208, "y": -2721.781067139415}, {"x": 9030.974424860075, "y": -2722.139677977458}, {"x": 9031.235024108228, "y": -2722.5174000519078}, {"x": 9031.464989233607, "y": -2722.914495003397}, {"x": 9031.661249870755, "y": -2723.3292775881264}, {"x": 9031.822397347007, "y": -2723.75892636767}, {"x": 9031.948379898764, "y": -2724.200179206042}], "type": "road_edge"}, {"geometry": [{"x": 9057.375242792506, "y": -2588.007697994257}, {"x": 9057.58306803928, "y": -2588.4571024277443}, {"x": 9057.791508706989, "y": -2588.906221760124}, {"x": 9058.000554269736, "y": -2589.3550598686397}, {"x": 9058.210194220155, "y": -2589.8036206715137}, {"x": 9058.420418069418, "y": -2590.251908127947}, {"x": 9058.631215344585, "y": -2590.699926237332}, {"x": 9058.842575591254, "y": -2591.1476790392517}, {"x": 9059.054488369582, "y": -2591.595170611116}, {"x": 9059.266943259592, "y": -2592.04240506895}, {"x": 9059.479929854544, "y": -2592.4893865642407}, {"x": 9059.693437766235, "y": -2592.9361192870906}, {"x": 9059.907456621024, "y": -2593.3826074630642}, {"x": 9060.121976061162, "y": -2593.8288553508246}, {"x": 9060.336985746111, "y": -2594.274867245286}, {"x": 9060.552475347245, "y": -2594.72064747446}, {"x": 9060.768434553158, "y": -2595.1662003986694}, {"x": 9060.984853068325, "y": -2595.6115304105474}, {"x": 9061.201720610463, "y": -2596.056641935825}, {"x": 9061.419026907884, "y": -2596.5015394270285}, {"x": 9061.63676171008, "y": -2596.9462273713566}, {"x": 9061.854914774492, "y": -2597.390710282016}, {"x": 9062.073475874444, "y": -2597.8349927021573}, {"x": 9062.29243479518, "y": -2598.279079201728}, {"x": 9062.51178133518, "y": -2598.722974379043}, {"x": 9062.731505307494, "y": -2599.166682859213}, {"x": 9062.951596534436, "y": -2599.610209290989}, {"x": 9063.172044852883, "y": -2600.0535583499172}, {"x": 9063.39284010766, "y": -2600.4967347351844}, {"x": 9063.6139721608, "y": -2600.9397431704083}, {"x": 9063.835430880961, "y": -2601.382588400483}, {"x": 9064.057206148713, "y": -2601.8252751947334}, {"x": 9064.279287855217, "y": -2602.2678083429737}, {"x": 9064.501665903557, "y": -2602.7101926547184}, {"x": 9064.726118199094, "y": -2603.1559675187964}, {"x": 9064.95088433859, "y": -2603.6015842228703}, {"x": 9065.17598728969, "y": -2604.0470308846075}, {"x": 9065.401449998855, "y": -2604.4922955657244}, {"x": 9065.627295378128, "y": -2604.937366275924}, {"x": 9065.85354631439, "y": -2605.382230962654}, {"x": 9066.080225657452, "y": -2605.8268775111055}, {"x": 9066.307356227995, "y": -2606.2712937418487}, {"x": 9066.534960804333, "y": -2606.7154674037397}, {"x": 9066.763062131678, "y": -2607.1593861715587}, {"x": 9066.991682912876, "y": -2607.603037646007}, {"x": 9067.220845809727, "y": -2608.0464093458295}, {"x": 9067.450573436368, "y": -2608.4894887038713}, {"x": 9067.680888364564, "y": -2608.9322630694446}, {"x": 9067.911813115774, "y": -2609.3747196988697}, {"x": 9068.143370161139, "y": -2609.8168457546885}, {"x": 9068.375581917515, "y": -2610.2586283017245}, {"x": 9068.608470751447, "y": -2610.700054304717}, {"x": 9068.842058967257, "y": -2611.1411106220175}, {"x": 9069.07636881365, "y": -2611.58178400559}, {"x": 9069.311422474459, "y": -2612.0220610962833}, {"x": 9069.547242075258, "y": -2612.4619284206756}, {"x": 9069.783849668802, "y": -2612.901372386351}, {"x": 9070.021267244294, "y": -2613.340379281107}, {"x": 9070.259516719438, "y": -2613.77893526744}, {"x": 9070.493401384327, "y": -2614.2074952209223}, {"x": 9070.728102178553, "y": -2614.6356087783997}, {"x": 9070.963618249452, "y": -2615.063274385035}, {"x": 9071.199948741714, "y": -2615.4904904891428}, {"x": 9071.437092798702, "y": -2615.9172555382493}, {"x": 9071.675049559808, "y": -2616.3435679846093}, {"x": 9071.913818159126, "y": -2616.769426280478}, {"x": 9072.153397730752, "y": -2617.194828878898}, {"x": 9072.393787406136, "y": -2617.6197742368536}, {"x": 9072.634986311426, "y": -2618.0442608105386}, {"x": 9072.876993571454, "y": -2618.4682870593015}, {"x": 9073.119808307072, "y": -2618.891851444065}, {"x": 9073.325488825483, "y": -2619.263897592893}, {"x": 9073.505913082441, "y": -2619.648763551164}, {"x": 9073.664070174185, "y": -2620.0433839183147}, {"x": 9073.821092249473, "y": -2620.4384639941272}, {"x": 9073.998543945781, "y": -2620.8247201600484}, {"x": 9074.200569948323, "y": -2621.1987637322295}, {"x": 9074.43588071385, "y": -2621.6170515009358}, {"x": 9074.671529477298, "y": -2622.0351489513714}, {"x": 9074.907516083756, "y": -2622.453055811658}, {"x": 9075.143840379638, "y": -2622.87077180755}, {"x": 9075.380502210037, "y": -2623.2882966671687}, {"x": 9075.61750142269, "y": -2623.705630117058}, {"x": 9075.854837858715, "y": -2624.122771885337}, {"x": 9076.092511367175, "y": -2624.5397216993388}, {"x": 9076.330521789187, "y": -2624.9564792863953}, {"x": 9076.568868972492, "y": -2625.3730443738386}, {"x": 9076.807552759532, "y": -2625.789416690576}, {"x": 9077.046572994073, "y": -2626.205595964729}, {"x": 9077.285929521207, "y": -2626.6215819228414}, {"x": 9077.525622184698, "y": -2627.0373742946085}, {"x": 9077.765650826988, "y": -2627.452972808151}, {"x": 9078.006015291847, "y": -2627.868377191589}, {"x": 9078.246715421716, "y": -2628.2835871738307}, {"x": 9078.487751059036, "y": -2628.6986024837843}, {"x": 9078.729122047574, "y": -2629.1134228503583}, {"x": 9078.970828229774, "y": -2629.5280480024603}, {"x": 9079.21815168126, "y": -2629.9515118444738}, {"x": 9079.465829065157, "y": -2630.3747687796053}, {"x": 9079.713864500469, "y": -2630.797815994489}, {"x": 9079.962262102228, "y": -2631.2206506663033}, {"x": 9080.21102597752, "y": -2631.643269959616}, {"x": 9080.46016022549, "y": -2632.06567102954}, {"x": 9080.709668939984, "y": -2632.4878510185786}, {"x": 9080.959556206906, "y": -2632.9098070597774}, {"x": 9081.209826105538, "y": -2633.331536272787}, {"x": 9081.460482708542, "y": -2633.753035767012}, {"x": 9081.711530079314, "y": -2634.174302640824}, {"x": 9081.962972274629, "y": -2634.595333979198}, {"x": 9082.21481334464, "y": -2635.0161268568645}, {"x": 9082.467057331562, "y": -2635.4366783359446}, {"x": 9082.719708270979, "y": -2635.856985467527}, {"x": 9082.97277018657, "y": -2636.2770452877276}, {"x": 9083.226247098037, "y": -2636.6968548232044}, {"x": 9083.480143017137, "y": -2637.116411088007}, {"x": 9083.734461943714, "y": -2637.5357110820014}, {"x": 9083.989207874958, "y": -2637.9547517940186}, {"x": 9084.244384793505, "y": -2638.373530199494}, {"x": 9084.499996679331, "y": -2638.792043260465}, {"x": 9084.756047499182, "y": -2639.210287926362}, {"x": 9085.012541214504, "y": -2639.62826113558}, {"x": 9085.269481777472, "y": -2640.045959809967}, {"x": 9085.52687312835, "y": -2640.4633808603367}, {"x": 9085.784719202102, "y": -2640.88052118253}, {"x": 9086.043023923103, "y": -2641.297377661356}, {"x": 9086.301791206455, "y": -2641.713947165074}, {"x": 9086.561024958, "y": -2642.1302265501217}, {"x": 9086.82072907298, "y": -2642.5462126587527}, {"x": 9087.080907441346, "y": -2642.961902319035}, {"x": 9087.34156393848, "y": -2643.377292344064}, {"x": 9087.602702431828, "y": -2643.792379535114}, {"x": 9087.864326780882, "y": -2644.2071606769096}, {"x": 9088.126440831902, "y": -2644.6216325407795}, {"x": 9088.389048421874, "y": -2645.0357918838663}, {"x": 9088.652153379844, "y": -2645.44963544834}, {"x": 9088.915759521617, "y": -2645.8631599606097}, {"x": 9089.179870655053, "y": -2646.2763621352633}, {"x": 9089.444490574771, "y": -2646.689238668763}, {"x": 9089.709623067449, "y": -2647.1017862449635}, {"x": 9089.975271907844, "y": -2647.51400153038}, {"x": 9090.241440858805, "y": -2647.925881178133}, {"x": 9090.508133672578, "y": -2648.33742182558}, {"x": 9090.775354092151, "y": -2648.748620094318}], "type": "road_edge"}, {"geometry": [{"x": 8962.37900765865, "y": -2886.7044044170684}, {"x": 8961.974761687037, "y": -2886.987894537016}], "type": "lane"}, {"geometry": [{"x": 8962.37900765865, "y": -2886.7044044170684}, {"x": 8961.973301163393, "y": -2886.988811752506}], "type": "lane"}, {"geometry": [{"x": 8989.053323008959, "y": -2861.150914457744}, {"x": 8988.673040352789, "y": -2861.471897499106}, {"x": 8988.292460193627, "y": -2861.7925277302415}, {"x": 8987.911575808133, "y": -2862.1127964919733}, {"x": 8987.530380870177, "y": -2862.4326955491}, {"x": 8987.148869440241, "y": -2862.752217077786}, {"x": 8986.767035953497, "y": -2863.071353660833}, {"x": 8986.384875217167, "y": -2863.390098280589}, {"x": 8986.00238239331, "y": -2863.708444307913}, {"x": 8985.619552998818, "y": -2864.026385495872}, {"x": 8985.236382892179, "y": -2864.3439159734385}, {"x": 8984.852868261563, "y": -2864.661030235241}, {"x": 8984.469005623492, "y": -2864.977723133688}, {"x": 8984.084791806956, "y": -2865.2939898750246}, {"x": 8983.700223948113, "y": -2865.6098260051504}, {"x": 8983.315299479706, "y": -2865.9252274072514}, {"x": 8982.930016125756, "y": -2866.2401902915594}, {"x": 8982.544371885679, "y": -2866.5547111858928}, {"x": 8982.15836503561, "y": -2866.8687869317164}, {"x": 8981.77199410722, "y": -2867.1824146731096}, {"x": 8981.385257890362, "y": -2867.495591848886}, {"x": 8980.998155417183, "y": -2867.8083161862864}, {"x": 8980.610685956826, "y": -2868.120585692314}, {"x": 8980.222849004844, "y": -2868.432398642698}, {"x": 8979.834644276574, "y": -2868.743753580321}, {"x": 8979.4460716939, "y": -2869.054649298666}, {"x": 8979.057131385249, "y": -2869.365084841819}, {"x": 8978.66782366706, "y": -2869.6750594894966}, {"x": 8978.278149043785, "y": -2869.984572753102}, {"x": 8977.888108193316, "y": -2870.293624365484}, {"x": 8977.497701964345, "y": -2870.6022142730544}, {"x": 8977.106931361799, "y": -2870.9103426263327}, {"x": 8976.715797544188, "y": -2871.2180097736405}, {"x": 8976.324301811692, "y": -2871.525216250068}, {"x": 8975.932445599543, "y": -2871.83196277196}, {"x": 8975.540230468749, "y": -2872.1382502227298}, {"x": 8975.147658103457, "y": -2872.444079652069}, {"x": 8974.754730292405, "y": -2872.7494522594016}, {"x": 8974.361448932905, "y": -2873.054369391518}, {"x": 8973.967816013623, "y": -2873.3588325283904}, {"x": 8973.57383361326, "y": -2873.662843278444}, {"x": 8973.179503887308, "y": -2873.9664033667377}, {"x": 8972.784829065404, "y": -2874.269514628657}, {"x": 8972.389811442063, "y": -2874.572178998095}, {"x": 8971.994453366082, "y": -2874.8743985003603}, {"x": 8971.59875723922, "y": -2875.176175241142}, {"x": 8971.20272550031, "y": -2875.477511401784}, {"x": 8970.806360627903, "y": -2875.778409222734}, {"x": 8970.409665123057, "y": -2876.07887100118}, {"x": 8970.012641511992, "y": -2876.378899079228}, {"x": 8969.615292328865, "y": -2876.678495832873}, {"x": 8969.217620117102, "y": -2876.9776636641145}, {"x": 8968.823490908895, "y": -2877.2735076631293}, {"x": 8968.429048408841, "y": -2877.5689338135253}, {"x": 8968.034293617899, "y": -2877.863942532973}, {"x": 8967.639227539667, "y": -2878.1585342430835}, {"x": 8967.243851173775, "y": -2878.452709366255}, {"x": 8966.848165517205, "y": -2878.7464683272506}, {"x": 8966.452171565616, "y": -2879.039811554774}, {"x": 8966.05587031334, "y": -2879.3327394767407}, {"x": 8965.659262749416, "y": -2879.6252525273694}, {"x": 8965.262349865527, "y": -2879.917351138517}, {"x": 8964.865132649385, "y": -2880.209035746766}, {"x": 8964.467612084738, "y": -2880.5003067918537}, {"x": 8964.06978915532, "y": -2880.7911647135156}, {"x": 8963.671664842232, "y": -2881.0816099538524}, {"x": 8963.273240125236, "y": -2881.371642958904}, {"x": 8962.874515982781, "y": -2881.6612641755}, {"x": 8962.475493388018, "y": -2881.9504740520442}, {"x": 8962.076173315416, "y": -2882.2392730408824}, {"x": 8961.676556736802, "y": -2882.5276615959356}, {"x": 8961.276644618705, "y": -2882.815640171125}, {"x": 8960.876437930305, "y": -2883.1032092258874}, {"x": 8960.475937636804, "y": -2883.3903692188733}, {"x": 8960.075144699436, "y": -2883.6771206126723}, {"x": 8959.674060082083, "y": -2883.9634638714497}, {"x": 8959.272684740681, "y": -2884.249399460948}], "type": "lane"}, {"geometry": [{"x": 8966.120303701144, "y": -2890.478014193467}, {"x": 8966.524672378275, "y": -2890.1857929077605}, {"x": 8966.92870540761, "y": -2889.89310769886}, {"x": 8967.332402342954, "y": -2889.599959075064}, {"x": 8967.735762743414, "y": -2889.3063475438803}, {"x": 8968.13878616809, "y": -2889.012273615183}, {"x": 8968.541472174766, "y": -2888.7177377972685}, {"x": 8968.943820325188, "y": -2888.4227405992224}, {"x": 8969.345830178467, "y": -2888.1272825309184}, {"x": 8969.747501298996, "y": -2887.831364101441}, {"x": 8970.148833247207, "y": -2887.53498582224}, {"x": 8970.549825588823, "y": -2887.238148203188}, {"x": 8970.950477885597, "y": -2886.940851754159}, {"x": 8971.350789705897, "y": -2886.6430969873904}, {"x": 8971.750760614126, "y": -2886.344884413543}, {"x": 8972.150390177332, "y": -2886.0462145448546}, {"x": 8972.549677963885, "y": -2885.747087891986}, {"x": 8972.948623543483, "y": -2885.4475049687517}, {"x": 8973.347226484497, "y": -2885.1474662858122}, {"x": 8973.745486357944, "y": -2884.8469723569815}, {"x": 8974.14340273485, "y": -2884.5460236952845}, {"x": 8974.540975187554, "y": -2884.2446208129595}, {"x": 8974.938203289725, "y": -2883.9427642253954}, {"x": 8975.331552360556, "y": -2883.6431503110084}, {"x": 8975.72456418683, "y": -2883.343094140283}, {"x": 8976.117240193184, "y": -2883.0425986022387}, {"x": 8976.509581810878, "y": -2882.7416665827423}, {"x": 8976.901590483083, "y": -2882.4403009589914}, {"x": 8977.293267659596, "y": -2882.1385046050323}, {"x": 8977.684614799477, "y": -2881.8362803870305}, {"x": 8978.07563336973, "y": -2881.533631166423}, {"x": 8978.466324847957, "y": -2881.2305597991312}, {"x": 8978.856690718374, "y": -2880.927069133194}, {"x": 8979.246732474468, "y": -2880.6231620127123}, {"x": 8979.636451616345, "y": -2880.3188412770564}, {"x": 8980.025849656027, "y": -2880.0141097569303}, {"x": 8980.414928108185, "y": -2879.7089702798835}, {"x": 8980.803688502054, "y": -2879.403425667163}, {"x": 8981.19213237084, "y": -2879.0974787329224}, {"x": 8981.580261258341, "y": -2878.791132286586}, {"x": 8981.96807671233, "y": -2878.4843891336404}, {"x": 8982.355580291169, "y": -2878.1772520716886}, {"x": 8982.742773563812, "y": -2877.869723892819}, {"x": 8983.129658101861, "y": -2877.5618073851797}, {"x": 8983.516235488838, "y": -2877.2535053306133}, {"x": 8983.902507312234, "y": -2876.9448205054473}, {"x": 8984.28847517013, "y": -2876.635755678916}, {"x": 8984.67414066723, "y": -2876.326313618677}, {"x": 8985.059505416182, "y": -2876.0164970821447}, {"x": 8985.444571036254, "y": -2875.7063088251557}, {"x": 8985.829339154656, "y": -2875.395751597243}, {"x": 8986.213811405221, "y": -2875.084828140059}, {"x": 8986.597989429725, "y": -2874.77354119368}, {"x": 8986.981874877885, "y": -2874.46189349109}, {"x": 8987.36546940472, "y": -2874.149887758968}, {"x": 8987.748774674512, "y": -2873.8375267200527}, {"x": 8988.131792358166, "y": -2873.5248130923546}, {"x": 8988.514524130558, "y": -2873.211749586792}, {"x": 8988.89697167848, "y": -2872.8983389103428}, {"x": 8989.27913669137, "y": -2872.5845837652564}, {"x": 8989.661020869262, "y": -2872.270486847478}, {"x": 8990.042625914837, "y": -2871.9560508490117}, {"x": 8990.423953541367, "y": -2871.64127845477}, {"x": 8990.805005464772, "y": -2871.326172347301}, {"x": 8991.185783411565, "y": -2871.010735202848}, {"x": 8991.566289113553, "y": -2870.6949696913507}, {"x": 8991.946524306519, "y": -2870.378878479595}, {"x": 8992.326490736832, "y": -2870.06246422964}, {"x": 8992.706190153516, "y": -2869.7457295964523}, {"x": 8993.085624314861, "y": -2869.4286772326323}, {"x": 8993.464794984448, "y": -2869.111309784478}, {"x": 8993.843703929835, "y": -2868.7936298927707}, {"x": 8994.222352929171, "y": -2868.475640195927}, {"x": 8994.60074376193, "y": -2868.157343324483}, {"x": 8994.978878218177, "y": -2867.8387419073983}], "type": "lane"}, {"geometry": [{"x": 8991.708642558673, "y": -2863.9901911191905}, {"x": 8991.3280357617, "y": -2864.3107865292136}, {"x": 8990.947131918518, "y": -2864.631028946181}, {"x": 8990.565928438033, "y": -2864.9509146173614}, {"x": 8990.18442276755, "y": -2865.2704398136675}, {"x": 8989.802612390124, "y": -2865.589600832016}, {"x": 8989.420494821901, "y": -2865.908393989026}, {"x": 8989.038067620082, "y": -2866.2268156265345}, {"x": 8988.65532837099, "y": -2866.544862106867}, {"x": 8988.272274696703, "y": -2866.8625298128404}, {"x": 8987.888904253712, "y": -2867.179815148547}, {"x": 8987.50521473294, "y": -2867.4967145385694}, {"x": 8987.12120385312, "y": -2867.813224424828}, {"x": 8986.736869370041, "y": -2868.1293412713085}, {"x": 8986.352209067312, "y": -2868.4450615553933}, {"x": 8985.967220758987, "y": -2868.760381776531}, {"x": 8985.581902293545, "y": -2869.0752984483547}, {"x": 8985.196251544621, "y": -2869.3898081010466}, {"x": 8984.810266416303, "y": -2869.7039072805505}, {"x": 8984.423944844459, "y": -2870.017592547783}, {"x": 8984.037284787455, "y": -2870.3308604778463}, {"x": 8983.650284234122, "y": -2870.6437076600264}, {"x": 8983.262941202409, "y": -2870.95613069622}, {"x": 8982.875253732778, "y": -2871.268126200143}, {"x": 8982.487219892171, "y": -2871.579690799697}, {"x": 8982.098837776659, "y": -2871.8908211306643}, {"x": 8981.710105502172, "y": -2872.2015138422244}, {"x": 8981.321021211117, "y": -2872.5117655914364}, {"x": 8980.931583071064, "y": -2872.8215730463935}, {"x": 8980.541789270763, "y": -2873.1309328814923}, {"x": 8980.151638022795, "y": -2873.439841782163}, {"x": 8979.761127560929, "y": -2873.748296439351}, {"x": 8979.37025614144, "y": -2874.05629354952}, {"x": 8978.979022041787, "y": -2874.363829818589}, {"x": 8978.587423559291, "y": -2874.6709019548402}, {"x": 8978.195459013778, "y": -2874.9775066728635}, {"x": 8977.803126740966, "y": -2875.283640690398}, {"x": 8977.410425100403, "y": -2875.5893007299123}, {"x": 8977.017352464876, "y": -2875.8944835162392}, {"x": 8976.623907229683, "y": -2876.1991857749995}, {"x": 8976.230087806009, "y": -2876.503404234966}, {"x": 8975.835892622248, "y": -2876.807135624912}, {"x": 8975.44132012534, "y": -2877.1103766751867}, {"x": 8975.04636877545, "y": -2877.413124112986}, {"x": 8974.65103704997, "y": -2877.715374666296}, {"x": 8974.255323442168, "y": -2878.017125061525}, {"x": 8973.859226458564, "y": -2878.3183720203533}, {"x": 8973.462744622879, "y": -2878.6191122636737}, {"x": 8973.065876470757, "y": -2878.91934250765}, {"x": 8972.668620549755, "y": -2879.2190594621416}, {"x": 8972.270975424646, "y": -2879.518259835432}, {"x": 8971.872939668141, "y": -2879.816940326349}, {"x": 8971.481645018743, "y": -2880.1097675345563}, {"x": 8971.089972880098, "y": -2880.402089623861}, {"x": 8970.697923906271, "y": -2880.6939061072417}, {"x": 8970.305498748676, "y": -2880.985216498468}, {"x": 8969.912698061375, "y": -2881.2760203128846}, {"x": 8969.519522497105, "y": -2881.566317066624}, {"x": 8969.12597270993, "y": -2881.856106276606}, {"x": 8968.732049357883, "y": -2882.145387459753}, {"x": 8968.337753093703, "y": -2882.4341601353485}, {"x": 8967.943084576747, "y": -2882.7224238218896}, {"x": 8967.548044461078, "y": -2883.01017803945}, {"x": 8967.152633406056, "y": -2883.2974223096776}, {"x": 8966.756852068389, "y": -2883.584156153434}, {"x": 8966.36070110876, "y": -2883.8703790939444}, {"x": 8965.964181186528, "y": -2884.1560906552218}, {"x": 8965.56729296105, "y": -2884.4412903604916}, {"x": 8965.17003709301, "y": -2884.725977736131}, {"x": 8964.772414243089, "y": -2885.0101523077296}, {"x": 8964.374425075941, "y": -2885.2938136016646}, {"x": 8963.976070250925, "y": -2885.5769611466776}, {"x": 8963.577350432695, "y": -2885.8595944707217}, {"x": 8963.178266284584, "y": -2886.141713103327}, {"x": 8962.77881847124, "y": -2886.4233165748115}, {"x": 8962.37900765865, "y": -2886.7044044170684}], "type": "lane"}, {"geometry": [{"x": 9000.028643820095, "y": -2842.8176163221447}, {"x": 8999.70081372681, "y": -2842.4401306823065}, {"x": 8999.372862495637, "y": -2842.06275028283}, {"x": 8999.044790162325, "y": -2841.685475159966}, {"x": 8998.716596758646, "y": -2841.3083053554806}, {"x": 8998.388282320353, "y": -2840.9312409056256}, {"x": 8998.05984687922, "y": -2840.554281851379}, {"x": 8997.731290470996, "y": -2840.1774282297806}, {"x": 8997.402613128781, "y": -2839.800680081021}, {"x": 8997.073814886999, "y": -2839.424037442926}, {"x": 8996.744895778751, "y": -2839.0475003548995}, {"x": 8996.415855837136, "y": -2838.671068856344}, {"x": 8996.086695097905, "y": -2838.2947429842984}, {"x": 8995.757413592832, "y": -2837.918522778954}, {"x": 8995.428011357666, "y": -2837.5424082781365}, {"x": 8995.098488426833, "y": -2837.1663995212493}, {"x": 8994.768844832106, "y": -2836.790496546908}, {"x": 8994.43908060791, "y": -2836.414699394514}, {"x": 8994.109195789995, "y": -2836.0390081011074}, {"x": 8993.779190411462, "y": -2835.66342270609}, {"x": 8993.449064505408, "y": -2835.2879432488653}, {"x": 8993.11881810626, "y": -2834.912569768048}, {"x": 8992.788451248443, "y": -2834.537302301465}, {"x": 8992.457963965055, "y": -2834.1621408877304}, {"x": 8992.127356291845, "y": -2833.787085566248}, {"x": 8991.796628261915, "y": -2833.412136375632}, {"x": 8991.465779908362, "y": -2833.037293354498}, {"x": 8991.134811266937, "y": -2832.662556540672}, {"x": 8990.80372237074, "y": -2832.287925972769}, {"x": 8990.472513254193, "y": -2831.91340169098}, {"x": 8990.141183951724, "y": -2831.5389837323437}, {"x": 8989.809734496432, "y": -2831.164672135475}, {"x": 8989.478164922739, "y": -2830.7904669397767}, {"x": 8989.146475266396, "y": -2830.4163681830755}, {"x": 8988.814665559179, "y": -2830.042375903986}, {"x": 8988.482735838159, "y": -2829.6684901419117}, {"x": 8988.150686133791, "y": -2829.294710933891}, {"x": 8987.818516483143, "y": -2828.921038320115}, {"x": 8987.486226920644, "y": -2828.5474723376215}, {"x": 8987.153817478067, "y": -2828.1740130250264}, {"x": 8986.821288191162, "y": -2827.8006604217326}, {"x": 8986.488639095676, "y": -2827.427414565566}, {"x": 8986.155870222063, "y": -2827.054275495142}, {"x": 8985.822981608719, "y": -2826.6812432490756}, {"x": 8985.489973286094, "y": -2826.308317865981}, {"x": 8985.156845292588, "y": -2825.9354993828974}, {"x": 8984.82359765865, "y": -2825.5627878400155}, {"x": 8984.490230421354, "y": -2825.1901832743742}, {"x": 8984.156743613801, "y": -2824.817685724588}, {"x": 8983.823137270414, "y": -2824.4452952300603}, {"x": 8983.489411425617, "y": -2824.0730118278293}, {"x": 8983.155566113835, "y": -2823.700835557298}, {"x": 8982.821601369493, "y": -2823.3287664562936}, {"x": 8982.487517227015, "y": -2822.95680456343}, {"x": 8982.153313720826, "y": -2822.584949915747}, {"x": 8981.818990885347, "y": -2822.2132025534347}, {"x": 8981.484548755006, "y": -2821.8415625143202}, {"x": 8981.149987364226, "y": -2821.4700298354423}, {"x": 8980.815306747432, "y": -2821.098604556204}, {"x": 8980.480506939048, "y": -2820.7272867152196}, {"x": 8980.145587973497, "y": -2820.356076349528}, {"x": 8979.810549886528, "y": -2819.9849734977442}, {"x": 8979.475392711243, "y": -2819.613978198483}, {"x": 8979.140116482064, "y": -2819.243090490359}, {"x": 8978.804721233417, "y": -2818.872310410411}, {"x": 8978.469971029166, "y": -2818.5024899938867}, {"x": 8978.135078014264, "y": -2818.1327989015517}, {"x": 8977.800017838792, "y": -2817.763259308558}, {"x": 8977.46476618726, "y": -2817.3938934247335}, {"x": 8977.129298774627, "y": -2817.0247234961544}, {"x": 8976.793591359547, "y": -2816.6557718114536}, {"x": 8976.457619737743, "y": -2816.287060708123}, {"x": 8976.121359759227, "y": -2815.9186125748793}, {"x": 8975.784787321669, "y": -2815.5504498579658}, {"x": 8975.447878379679, "y": -2815.1825950650955}, {"x": 8975.11060895406, "y": -2814.81507076939}, {"x": 8974.772955123879, "y": -2814.4478996164707}, {"x": 8974.434893044992, "y": -2814.0811043268272}, {"x": 8974.096398946074, "y": -2813.7147077021164}, {"x": 8973.757449132598, "y": -2813.3487326291074}, {"x": 8973.418019998739, "y": -2812.9832020820427}, {"x": 8973.078088024738, "y": -2812.618139132095}, {"x": 8972.737629784839, "y": -2812.253566947371}, {"x": 8972.39662195391, "y": -2811.8895087999977}, {"x": 8972.055041304802, "y": -2811.525988070068}, {"x": 8971.712864722896, "y": -2811.1630282480014}, {"x": 8971.3700692048, "y": -2810.8006529432164}, {"x": 8971.026631863631, "y": -2810.4388858841257}, {"x": 8970.682529936963, "y": -2810.0777509260206}, {"x": 8970.337740788153, "y": -2809.7172720510694}, {"x": 8969.992241914279, "y": -2809.3574733777746}, {"x": 8969.6460109488, "y": -2808.99837916176}, {"x": 8969.299025668159, "y": -2808.640013800501}, {"x": 8968.951263995772, "y": -2808.282401837262}, {"x": 8968.602704009962, "y": -2807.925567966616}], "type": "lane"}, {"geometry": [{"x": 8964.018783943478, "y": -2814.8130320573355}, {"x": 8964.335321122475, "y": -2815.1875959626595}, {"x": 8964.652381719417, "y": -2815.5617169031816}, {"x": 8964.969946920088, "y": -2815.935409609274}, {"x": 8965.287997963225, "y": -2816.308688896419}, {"x": 8965.606516133912, "y": -2816.6815696581175}, {"x": 8965.925482767541, "y": -2817.0540668674626}, {"x": 8966.2448792432, "y": -2817.42619557005}, {"x": 8966.564686986316, "y": -2817.7979708839766}, {"x": 8966.884887464681, "y": -2818.1694079951117}, {"x": 8967.205462184487, "y": -2818.5405221539454}, {"x": 8967.526392694297, "y": -2818.9113286732254}, {"x": 8967.847660578414, "y": -2819.281842924802}, {"x": 8968.1692474569, "y": -2819.6520803356907}, {"x": 8968.491134985557, "y": -2820.0220563857065}, {"x": 8968.813304847994, "y": -2820.3917866058887}, {"x": 8969.135738763567, "y": -2820.7612865706187}, {"x": 8969.458418474145, "y": -2821.130571901562}, {"x": 8969.781325753369, "y": -2821.499658258999}, {"x": 8970.104442396063, "y": -2821.86856133946}, {"x": 8970.42775022221, "y": -2822.2372968765158}, {"x": 8970.751231069007, "y": -2822.605880633681}, {"x": 8971.074866798803, "y": -2822.974328402054}, {"x": 8971.398639284542, "y": -2823.342656000315}, {"x": 8971.722530419023, "y": -2823.7108792676327}, {"x": 8972.046522105647, "y": -2824.0790140620898}, {"x": 8972.370596259721, "y": -2824.4470762598944}, {"x": 8972.694734808476, "y": -2824.815081749076}, {"x": 8973.018919684431, "y": -2825.183046428695}, {"x": 8973.349236796446, "y": -2825.557906690165}, {"x": 8973.679583243285, "y": -2825.932741098618}, {"x": 8974.009959026273, "y": -2826.307549652478}, {"x": 8974.340364140113, "y": -2826.6823323478043}, {"x": 8974.670798584804, "y": -2827.0570891838092}, {"x": 8975.001262357699, "y": -2827.4318201573406}, {"x": 8975.33175545615, "y": -2827.806525266822}, {"x": 8975.66227788016, "y": -2828.181204509102}, {"x": 8975.992829624427, "y": -2828.555857883391}, {"x": 8976.323410690278, "y": -2828.930485384962}, {"x": 8976.654021073742, "y": -2829.3050870138145}, {"x": 8976.984660773494, "y": -2829.6796627667964}, {"x": 8977.315329786885, "y": -2830.0542126407554}, {"x": 8977.646028111269, "y": -2830.4287366349035}, {"x": 8977.976755746644, "y": -2830.803234746088}, {"x": 8978.307512690364, "y": -2831.1777069719456}, {"x": 8978.638298939779, "y": -2831.5521533108995}, {"x": 8978.969114492242, "y": -2831.926573759798}, {"x": 8979.299959347753, "y": -2832.3009683162763}, {"x": 8979.63083350234, "y": -2832.6753369795465}, {"x": 8979.961736954678, "y": -2833.049679745669}, {"x": 8980.292669703445, "y": -2833.4239966122786}, {"x": 8980.623631744667, "y": -2833.798287578588}, {"x": 8980.954623078344, "y": -2834.172552641445}, {"x": 8981.285643703153, "y": -2834.5467917984847}, {"x": 8981.6166936138, "y": -2834.9210050473434}, {"x": 8981.94777281028, "y": -2835.295192385657}, {"x": 8982.278881291273, "y": -2835.6693538118493}, {"x": 8982.610019052805, "y": -2836.043489322768}, {"x": 8982.941186094877, "y": -2836.417598916837}, {"x": 8983.272382413516, "y": -2836.791682590904}, {"x": 8983.603608008723, "y": -2837.1657403441814}, {"x": 8983.934862876526, "y": -2837.5397721727286}, {"x": 8984.2661470156, "y": -2837.9137780749693}, {"x": 8984.597460424622, "y": -2838.287758048539}, {"x": 8984.928803100942, "y": -2838.6617120910746}, {"x": 8985.260175043239, "y": -2839.035640200211}, {"x": 8985.59157624754, "y": -2839.4095423743724}, {"x": 8985.923006713843, "y": -2839.783418610407}, {"x": 8986.2544664395, "y": -2840.15726890595}, {"x": 8986.585955423192, "y": -2840.5310932594252}, {"x": 8986.917473660942, "y": -2840.904891668469}, {"x": 8987.249021151427, "y": -2841.278664130717}, {"x": 8987.580597894646, "y": -2841.652410643017}, {"x": 8987.912203885307, "y": -2842.0261312045805}, {"x": 8988.24383912473, "y": -2842.399825811468}, {"x": 8988.57550360762, "y": -2842.7734944628905}, {"x": 8988.907197333978, "y": -2843.147137155697}, {"x": 8989.23892030248, "y": -2843.5207538875216}, {"x": 8989.570672509151, "y": -2843.894344656002}, {"x": 8989.90245395267, "y": -2844.267909460349}, {"x": 8990.23426463039, "y": -2844.6414482966225}, {"x": 8990.566104542308, "y": -2845.0149611624583}, {"x": 8990.897973683128, "y": -2845.3884480570687}, {"x": 8991.229872054175, "y": -2845.761908976513}, {"x": 8991.561799652804, "y": -2846.1353439192158}, {"x": 8991.893756475038, "y": -2846.5087528835998}, {"x": 8992.225742519555, "y": -2846.8821358665136}, {"x": 8992.55775778503, "y": -2847.255492865593}, {"x": 8992.889802270141, "y": -2847.6288238784737}, {"x": 8993.221875970916, "y": -2848.0021289035794}, {"x": 8993.55397888603, "y": -2848.3754079385462}, {"x": 8993.886111014159, "y": -2848.7486609802218}, {"x": 8994.218272352653, "y": -2849.12188802703}, {"x": 8994.550462898867, "y": -2849.4950890766063}, {"x": 8994.882682652802, "y": -2849.868264126587}, {"x": 8995.21493161048, "y": -2850.2414131753962}, {"x": 8995.547209770584, "y": -2850.614536219093}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.2525193428, "y": -2807.570003299743}, {"x": 8967.897810201372, "y": -2807.2189597412766}, {"x": 8967.535354251371, "y": -2806.8759328908386}, {"x": 8967.162508396807, "y": -2806.544244207813}, {"x": 8966.777245656409, "y": -2806.2270805962685}, {"x": 8966.378170526146, "y": -2805.927501361143}, {"x": 8965.964514853602, "y": -2805.64841956359}, {"x": 8965.536115405233, "y": -2805.3925651312115}, {"x": 8965.093374151274, "y": -2805.1624369945966}, {"x": 8964.63720271945, "y": -2804.9602510944337}, {"x": 8964.168953088198, "y": -2804.7878903461574}, {"x": 8963.690337330327, "y": -2804.64686164668}, {"x": 8963.203339791247, "y": -2804.5382637791695}, {"x": 8962.710125566611, "y": -2804.46276877943}, {"x": 8962.212949202361, "y": -2804.420617946753}, {"x": 8961.714067446273, "y": -2804.4116324629917}, {"x": 8961.21565944839, "y": -2804.4352374787563}, {"x": 8960.719757140461, "y": -2804.4904976571725}, {"x": 8960.228187828092, "y": -2804.5761616116615}, {"x": 8959.74253013685, "y": -2804.690712328228}, {"x": 8959.264083697686, "y": -2804.8324206532916}, {"x": 8958.793852212812, "y": -2804.9993990904395}, {"x": 8958.332538952725, "y": -2805.1896535301}, {"x": 8957.88055329552, "y": -2805.401130990072}, {"x": 8957.43802663091, "y": -2805.631762016963}, {"x": 8957.004835844258, "y": -2805.879496932898}, {"x": 8956.58063253223, "y": -2806.1423356343394}, {"x": 8956.16487629509, "y": -2806.4183511171827}, {"x": 8955.756870504913, "y": -2806.705707279766}, {"x": 8955.355799256115, "y": -2807.002671826524}, {"x": 8954.960764350437, "y": -2807.307625303068}, {"x": 8954.570821421294, "y": -2807.6190673738533}, {"x": 8954.18501448919, "y": -2807.9356214851155}, {"x": 8953.802408403995, "y": -2808.256038994292}, {"x": 8953.422118771603, "y": -2808.5792037179026}, {"x": 8953.043339110754, "y": -2808.904137708012}, {"x": 8952.665365095712, "y": -2809.2300088372835}, {"x": 8952.287615842408, "y": -2809.5561405606477}, {"x": 8951.909652385042, "y": -2809.8820239647043}, {"x": 8951.53119362646, "y": -2810.2073319598494}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.257233840683, "y": -2807.571421372321}, {"x": 8967.917162242928, "y": -2807.2121019783094}, {"x": 8967.588606848898, "y": -2806.842250312938}, {"x": 8967.277743794937, "y": -2806.4574447514}, {"x": 8966.990879549225, "y": -2806.054471735155}, {"x": 8966.734406661948, "y": -2805.6315478536467}, {"x": 8966.514644867888, "y": -2805.1884765385207}, {"x": 8966.337582459102, "y": -2804.72671570497}, {"x": 8966.208546654745, "y": -2804.249332111381}, {"x": 8966.13184415151, "y": -2803.760824546794}, {"x": 8966.110421321078, "y": -2803.2668107639975}, {"x": 8966.145595092625, "y": -2802.7735903999373}, {"x": 8966.236898541174, "y": -2802.28761481077}, {"x": 8966.38206949447, "y": -2801.8149104879567}, {"x": 8966.577187745701, "y": -2801.3605118877053}, {"x": 8966.816940357838, "y": -2800.927959304322}, {"x": 8967.094969547938, "y": -2800.518907855741}, {"x": 8967.404238031242, "y": -2800.1328769844495}, {"x": 8967.737335449325, "y": -2799.767151202423}, {"x": 8968.086647544491, "y": -2799.4168285204173}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.052384631239, "y": -2811.5339971410294}, {"x": 8955.420956157248, "y": -2811.2045052536205}, {"x": 8955.788969543079, "y": -2810.8743900725576}, {"x": 8956.156440437237, "y": -2810.5436710999015}, {"x": 8956.523384583556, "y": -2810.212367760483}, {"x": 8956.889817815903, "y": -2809.8804994034813}, {"x": 8957.255756056857, "y": -2809.5480853032072}, {"x": 8957.6212153177, "y": -2809.215144663049}, {"x": 8957.986211687834, "y": -2808.8816966154677}, {"x": 8958.35076133875, "y": -2808.547760225153}, {"x": 8958.714880516083, "y": -2808.2133544929607}, {"x": 8959.07858554226, "y": -2807.8784983543387}, {"x": 8959.441892804587, "y": -2807.5432106864187}, {"x": 8959.804818760542, "y": -2807.2075103056504}, {"x": 8960.167379931152, "y": -2806.8714159725337}, {"x": 8960.529592898352, "y": -2806.5349463931907}, {"x": 8960.891474299686, "y": -2806.1981202225206}, {"x": 8961.253040830954, "y": -2805.8609560665627}, {"x": 8961.614309236942, "y": -2805.5234724817096}, {"x": 8961.975296311426, "y": -2805.1856879817974}, {"x": 8962.336018897175, "y": -2804.84762103732}, {"x": 8962.696493876669, "y": -2804.509290079368}, {"x": 8963.056738173442, "y": -2804.170713500417}, {"x": 8963.416768746767, "y": -2803.8319096582686}, {"x": 8963.776602591675, "y": -2803.492896876838}, {"x": 8964.13625673232, "y": -2803.1536934508813}, {"x": 8964.49574822463, "y": -2802.8143176475737}, {"x": 8964.855094145723, "y": -2802.4747877065074}, {"x": 8965.214311596545, "y": -2802.1351218444224}, {"x": 8965.573417699226, "y": -2801.795338259931}, {"x": 8965.93242958914, "y": -2801.455455129583}, {"x": 8966.291364417546, "y": -2801.115490617316}, {"x": 8966.650239344974, "y": -2800.775462872097}, {"x": 8967.009071543864, "y": -2800.435390031859}, {"x": 8967.367878185338, "y": -2800.0952902266545}, {"x": 8967.72667644581, "y": -2799.7551815802326}, {"x": 8968.085483503026, "y": -2799.4150822139763}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.904218200314, "y": -2797.1456332044404}, {"x": 8965.543902920575, "y": -2797.4895041496584}, {"x": 8965.183208884513, "y": -2797.8329777798854}, {"x": 8964.822131415713, "y": -2798.176048295018}, {"x": 8964.460665861594, "y": -2798.5187098831316}, {"x": 8964.098807593407, "y": -2798.860956722845}, {"x": 8963.736552008888, "y": -2799.2027829801677}, {"x": 8963.373894522978, "y": -2799.5441828077123}, {"x": 8963.0108305824, "y": -2799.8851503454835}, {"x": 8962.647355649759, "y": -2800.2256797200866}, {"x": 8962.283465218119, "y": -2800.565765044733}, {"x": 8961.919154797752, "y": -2800.9054004176587}, {"x": 8961.554419925411, "y": -2801.244579921339}, {"x": 8961.189256163005, "y": -2801.583297624066}, {"x": 8960.823659092306, "y": -2801.9215475791552}, {"x": 8960.457624321563, "y": -2802.259323820224}, {"x": 8960.091147478886, "y": -2802.5966203674907}, {"x": 8959.72422422019, "y": -2802.9334312214737}, {"x": 8959.356850221251, "y": -2803.269750367717}, {"x": 8958.989021181673, "y": -2803.605571768912}, {"x": 8958.620732826219, "y": -2803.9408893743516}, {"x": 8958.251980900839, "y": -2804.2756971096887}, {"x": 8957.882761176637, "y": -2804.609988883238}, {"x": 8957.513069444574, "y": -2804.9437585820374}, {"x": 8957.142901524743, "y": -2805.277000073422}, {"x": 8956.772253255773, "y": -2805.6097072018747}, {"x": 8956.401120500124, "y": -2805.941873792964}, {"x": 8956.029499145414, "y": -2806.2734936470406}, {"x": 8955.65738510309, "y": -2806.6045605439667}, {"x": 8955.284774304462, "y": -2806.9350682391732}, {"x": 8954.911662708644, "y": -2807.265010465239}, {"x": 8954.538046294607, "y": -2807.5943809311}, {"x": 8954.16392106781, "y": -2807.9231733196866}, {"x": 8953.789283054884, "y": -2808.251381290288}, {"x": 8953.41412830763, "y": -2808.5789984753983}, {"x": 8953.038452900348, "y": -2808.906018483083}, {"x": 8952.662252932494, "y": -2809.232434893036}, {"x": 8952.28552452604, "y": -2809.5582412589474}, {"x": 8951.908263826781, "y": -2809.8834311077117}, {"x": 8951.530467006998, "y": -2810.207997936278}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.102733241556, "y": -2801.180665368647}, {"x": 8953.40482631248, "y": -2801.577875181105}, {"x": 8953.707502256138, "y": -2801.9746410137423}, {"x": 8954.010760623689, "y": -2802.3709618539056}, {"x": 8954.31460093187, "y": -2802.7668367149467}, {"x": 8954.619022666964, "y": -2803.1622646338587}, {"x": 8954.924025282155, "y": -2803.557244672066}, {"x": 8955.229608205465, "y": -2803.9517759075407}, {"x": 8955.535770835797, "y": -2804.345857441897}, {"x": 8955.84251255351, "y": -2804.7394883917223}, {"x": 8956.149832713812, "y": -2805.1326678901532}, {"x": 8956.457730654696, "y": -2805.5253950860883}, {"x": 8956.766205698266, "y": -2805.9176691386697}, {"x": 8957.07525715339, "y": -2806.309489221225}, {"x": 8957.384884313045, "y": -2806.7008545157496}, {"x": 8957.695086466234, "y": -2807.0917642113336}, {"x": 8958.005862888724, "y": -2807.4822175033696}, {"x": 8958.317212854954, "y": -2807.872213594343}, {"x": 8958.62913563407, "y": -2808.2617516859523}, {"x": 8958.94163049522, "y": -2808.6508309846226}, {"x": 8959.254696707543, "y": -2809.0394506936286}, {"x": 8959.568333545485, "y": -2809.427610014667}, {"x": 8959.882540288783, "y": -2809.8153081470723}, {"x": 8960.197316221143, "y": -2810.2025442815084}, {"x": 8960.512660640841, "y": -2810.5893176031245}, {"x": 8960.828572854092, "y": -2810.975627286036}, {"x": 8961.145052183005, "y": -2811.3614724949016}, {"x": 8961.462097966894, "y": -2811.7468523801954}, {"x": 8961.779709559643, "y": -2812.1317660774184}, {"x": 8962.097886336318, "y": -2812.5162127055223}, {"x": 8962.416627695817, "y": -2812.900191363757}, {"x": 8962.735933059546, "y": -2813.2837011316715}, {"x": 8963.05580187539, "y": -2813.6667410659607}, {"x": 8963.376233619045, "y": -2814.0493101996776}, {"x": 8963.697227795326, "y": -2814.4314075375064}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.047176981014, "y": -2811.542745626718}, {"x": 8955.421722448102, "y": -2811.2351948101063}, {"x": 8955.814990198076, "y": -2810.9520930614835}, {"x": 8956.231324777178, "y": -2810.7042999175505}, {"x": 8956.671263042084, "y": -2810.5015000220246}, {"x": 8957.131908637017, "y": -2810.351727239736}, {"x": 8957.607652403594, "y": -2810.260811034354}, {"x": 8958.091136280564, "y": -2810.231959615083}, {"x": 8958.574319148556, "y": -2810.2656132326556}, {"x": 8959.04949012343, "y": -2810.3596077367397}, {"x": 8959.51009654083, "y": -2810.509605721455}, {"x": 8959.951302579619, "y": -2810.7096980583915}, {"x": 8960.3702531151, "y": -2810.9530595565784}, {"x": 8960.766068923436, "y": -2811.232555075693}, {"x": 8961.139632832426, "y": -2811.5412252477167}, {"x": 8961.493238948187, "y": -2811.872620852128}, {"x": 8961.83017257507, "y": -2812.220990843293}, {"x": 8962.154273907152, "y": -2812.5813547729535}, {"x": 8962.469521349543, "y": -2812.9495039534017}, {"x": 8962.779655294897, "y": -2813.321978186928}, {"x": 8963.087852572531, "y": -2813.6960586220785}, {"x": 8963.396454795462, "y": -2814.0698048372806}, {"x": 8963.706748083088, "y": -2814.442147830062}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8954.683239415846, "y": -2811.8628461499775}, {"x": 8955.05017679911, "y": -2811.535417517888}, {"x": 8955.414918359038, "y": -2811.205546499917}, {"x": 8955.7758735513, "y": -2810.871539650162}, {"x": 8956.131458834261, "y": -2810.531825700015}, {"x": 8956.480082687794, "y": -2810.1849762872303}, {"x": 8956.820135346872, "y": -2809.829725031645}, {"x": 8957.149983407548, "y": -2809.4649849859275}, {"x": 8957.467969333095, "y": -2809.0898643462924}, {"x": 8957.772415790154, "y": -2808.7036801725835}, {"x": 8958.061634620231, "y": -2808.3059697741296}, {"x": 8958.33394011691, "y": -2807.896499327942}, {"x": 8958.587666170484, "y": -2807.4752692847887}, {"x": 8958.821186692176, "y": -2807.042516087163}, {"x": 8959.032938641365, "y": -2806.5987097901343}, {"x": 8959.221446849504, "y": -2806.1445472099763}, {"x": 8959.385349756274, "y": -2805.680940379124}, {"x": 8959.52342511529, "y": -2805.20900016955}, {"x": 8959.634614694884, "y": -2804.730015147602}, {"x": 8959.718047024635, "y": -2804.2454258636235}, {"x": 8959.773057255567, "y": -2803.7567949837867}, {"x": 8959.799203340903, "y": -2803.265773808674}, {"x": 8959.796277842284, "y": -2802.7740659264905}, {"x": 8959.764314839796, "y": -2802.2833888385953}, {"x": 8959.703591645242, "y": -2801.795434508556}, {"x": 8959.614625231272, "y": -2801.3118298528775}, {"x": 8959.498163495557, "y": -2800.834098190804}, {"x": 8959.35517175983, "y": -2800.363622637468}, {"x": 8959.186815104902, "y": -2799.9016123521706}, {"x": 8958.99443733476, "y": -2799.4490724377356}, {"x": 8958.779537566694, "y": -2799.0067781347752}, {"x": 8958.543745564939, "y": -2798.5752537884337}, {"x": 8958.288797033278, "y": -2798.1547568902215}, {"x": 8958.016510148243, "y": -2797.745267328909}, {"x": 8957.728764611913, "y": -2797.3464818323573}, {"x": 8957.427484492697, "y": -2796.957813477345}, {"x": 8957.114626027223, "y": -2796.5783960632903}, {"x": 8956.792171500745, "y": -2796.207093163089}, {"x": 8956.462130167323, "y": -2795.842511716324}, {"x": 8956.12654701083, "y": -2795.483020183743}, {"x": 8955.78751997961, "y": -2795.1267715215045}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8924.738688407357, "y": -2830.6619631128883}, {"x": 8924.326853478606, "y": -2830.9394473585376}, {"x": 8923.912311265733, "y": -2831.2128648212197}, {"x": 8923.493161561679, "y": -2831.4791561227075}, {"x": 8923.067907670773, "y": -2831.7355756341385}, {"x": 8922.635469848788, "y": -2831.9796728510623}, {"x": 8922.19517869744, "y": -2832.2092899142103}, {"x": 8921.746751750547, "y": -2832.4225705484346}, {"x": 8921.290256184539, "y": -2832.617975734808}, {"x": 8920.826060427118, "y": -2832.7943017973334}, {"x": 8920.354777607356, "y": -2832.950697252404}, {"x": 8919.87720387921, "y": -2833.0866755721822}, {"x": 8919.394254731225, "y": -2833.2021219256458}, {"x": 8918.906902367351, "y": -2833.2972928877944}, {"x": 8918.416117043911, "y": -2833.372808982259}, {"x": 8917.922814982952, "y": -2833.429640659396}, {"x": 8917.427814989644, "y": -2833.4690889045514}, {"x": 8916.931805487005, "y": -2833.4927620415892}, {"x": 8916.435323131787, "y": -2833.502550469339}, {"x": 8915.938743657593, "y": -2833.5006010402685}, {"x": 8915.442285235227, "y": -2833.48929254874}, {"x": 8914.94602419137, "y": -2833.4712134345}, {"x": 8914.449922741349, "y": -2833.449142295587}, {"x": 8913.953868124305, "y": -2833.426031205944}, {"x": 8913.457722466825, "y": -2833.4049912112177}, {"x": 8912.961382514462, "y": -2833.3892787126983}, {"x": 8912.464848281781, "y": -2833.382280801571}, {"x": 8911.968299414788, "y": -2833.387497046114}, {"x": 8911.47217778549, "y": -2833.4085146852226}, {"x": 8910.977274307406, "y": -2833.4489738679804}, {"x": 8910.48481734121, "y": -2833.5125193276003}, {"x": 8909.996559205721, "y": -2833.6027349805277}, {"x": 8909.51485631509, "y": -2833.7230582637935}, {"x": 8909.049694818876, "y": -2833.873448358379}, {"x": 8908.59590931212, "y": -2834.055305661519}, {"x": 8908.155570755824, "y": -2834.2676646103905}, {"x": 8907.730663998524, "y": -2834.5094282304176}, {"x": 8907.323079936825, "y": -2834.7793758022817}, {"x": 8906.934608345862, "y": -2835.0761709426656}, {"x": 8906.566931374433, "y": -2835.39837004829}, {"x": 8906.221617749788, "y": -2835.7444310346827}, {"x": 8905.900117661657, "y": -2836.1127223357994}, {"x": 8905.603758357243, "y": -2836.501532089619}, {"x": 8905.333740437974, "y": -2836.9090774719007}, {"x": 8905.091134843393, "y": -2837.3335141237144}, {"x": 8904.876880536785, "y": -2837.772945616802}, {"x": 8904.691782854143, "y": -2838.225432917361}, {"x": 8904.536512527025, "y": -2838.68900379545}, {"x": 8904.41160534628, "y": -2839.1616621390435}, {"x": 8904.317462459936, "y": -2839.6413971325383}, {"x": 8904.25435126161, "y": -2840.126192252428}, {"x": 8904.222406876066, "y": -2840.6140340509974}, {"x": 8904.221634186259, "y": -2841.1029206941344}, {"x": 8904.251910390016, "y": -2841.590870208354}, {"x": 8904.312988059828, "y": -2842.07592842836}, {"x": 8904.40449865545, "y": -2842.556176595494}, {"x": 8904.525956478734, "y": -2843.0297386015636}, {"x": 8904.676763029622, "y": -2843.4947878504568}, {"x": 8904.85621172361, "y": -2843.949553713911}, {"x": 8905.063492945505, "y": -2844.3923275696106}, {"x": 8905.297699398425, "y": -2844.8214684176733}, {"x": 8905.5578317269, "y": -2845.235408041638}, {"x": 8905.842804359718, "y": -2845.6326557368116}, {"x": 8906.15145155009, "y": -2846.0118025673555}, {"x": 8906.478525915492, "y": -2846.367377674416}, {"x": 8906.826380750705, "y": -2846.7026501115474}, {"x": 8907.193805332225, "y": -2847.016352308621}, {"x": 8907.579508096309, "y": -2847.307286270747}, {"x": 8907.982120470668, "y": -2847.574328926034}, {"x": 8908.400201055696, "y": -2847.8164372818496}, {"x": 8908.832240159218, "y": -2848.0326533549096}, {"x": 8909.276664687382, "y": -2848.222108857854}, {"x": 8909.731843350695, "y": -2848.384029617101}, {"x": 8910.196092201022, "y": -2848.5177396991144}, {"x": 8910.667680458586, "y": -2848.6226652159335}, {"x": 8911.14483663551, "y": -2848.698337797356}, {"x": 8911.625754912277, "y": -2848.744397699825}, {"x": 8912.108601774988, "y": -2848.760596536259}, {"x": 8912.591522861849, "y": -2848.746799603977}, {"x": 8913.0726500122, "y": -2848.702987797309}, {"x": 8913.550108502257, "y": -2848.6292590820585}, {"x": 8914.02202441058, "y": -2848.5258295215485}, {"x": 8914.48653211862, "y": -2848.3930338353553}, {"x": 8914.941781898624, "y": -2848.2313254867845}, {"x": 8915.38594755319, "y": -2848.041276274655}, {"x": 8915.81723410646, "y": -2847.8235754372804}, {"x": 8916.233885470152, "y": -2847.5790282489347}, {"x": 8916.634192088406, "y": -2847.308554108028}, {"x": 8917.016498513793, "y": -2847.0131841224957}, {"x": 8917.379210870758, "y": -2846.6940581782255}, {"x": 8917.720804199937, "y": -2846.352421500763}, {"x": 8918.03982961046, "y": -2845.9896207173856}, {"x": 8918.336551291839, "y": -2845.6058554777524}, {"x": 8918.61083059082, "y": -2845.2057219440876}, {"x": 8918.864733846274, "y": -2844.792341466678}, {"x": 8919.100638778364, "y": -2844.36841779149}, {"x": 8919.321142677538, "y": -2843.9362714651866}, {"x": 8919.52898313854, "y": -2843.4978850121047}, {"x": 8919.726970440435, "y": -2843.0549546505335}, {"x": 8919.917930202302, "y": -2842.608944874371}, {"x": 8920.104654585419, "y": -2842.161142782602}, {"x": 8920.28986034589, "y": -2841.712709570191}, {"x": 8920.476152084042, "y": -2841.26472701954}, {"x": 8920.665989377118, "y": -2840.818237277696}, {"x": 8920.861656786426, "y": -2840.374274510258}, {"x": 8921.065236176211, "y": -2839.9338874083032}, {"x": 8921.278581172119, "y": -2839.498151801246}, {"x": 8921.503294026723, "y": -2839.0681730091937}, {"x": 8921.74070547998, "y": -2838.64507790011}, {"x": 8921.991858443409, "y": -2838.229997013521}, {"x": 8922.257496493103, "y": -2837.824037510435}, {"x": 8922.5380581063, "y": -2837.428248103206}, {"x": 8922.83367743726, "y": -2837.043577502045}, {"x": 8923.144192073321, "y": -2836.6708282064765}, {"x": 8923.469157775142, "y": -2836.310607716693}, {"x": 8923.807869564245, "y": -2835.9632793232986}, {"x": 8924.159387918613, "y": -2835.6289146441777}, {"x": 8924.522568049246, "y": -2835.3072498865126}, {"x": 8924.89608959248, "y": -2834.9976476054994}, {"x": 8925.278483325907, "y": -2834.699065383787}, {"x": 8925.668151015328, "y": -2834.410032601118}, {"x": 8926.063373990382, "y": -2834.1286362634764}, {"x": 8926.46230578436, "y": -2833.852516931981}, {"x": 8926.862944047924, "y": -2833.5788762456846}], "type": "lane"}, {"geometry": [{"x": 8926.862944047924, "y": -2833.5788762456846}, {"x": 8927.27358165218, "y": -2833.2981639617246}, {"x": 8927.683712084125, "y": -2833.0167111833994}, {"x": 8928.093334010477, "y": -2832.734518824855}, {"x": 8928.502446096632, "y": -2832.451587806543}, {"x": 8928.911047010633, "y": -2832.167919048915}, {"x": 8929.319135421849, "y": -2831.8835134763617}, {"x": 8929.726710002295, "y": -2831.5983720132754}, {"x": 8930.133769423983, "y": -2831.312495589564}, {"x": 8930.540312362902, "y": -2831.025885134347}, {"x": 8930.946337495043, "y": -2830.7385415830495}, {"x": 8931.351843497712, "y": -2830.4504658687306}, {"x": 8931.756829052194, "y": -2830.1616589307555}, {"x": 8932.161292838451, "y": -2829.872121709277}, {"x": 8932.565233540412, "y": -2829.581855146812}, {"x": 8932.968649843333, "y": -2829.290860188241}, {"x": 8933.371540432468, "y": -2828.9991377815977}, {"x": 8933.773903995723, "y": -2828.7066888757035}, {"x": 8934.175739226297, "y": -2828.413514422532}, {"x": 8934.577044812093, "y": -2828.1196153779965}, {"x": 8934.977819450281, "y": -2827.8249926980116}, {"x": 8935.37806183274, "y": -2827.529647342431}, {"x": 8935.777770657962, "y": -2827.2335802718967}, {"x": 8936.176944624445, "y": -2826.9367924502035}, {"x": 8936.575582432006, "y": -2826.639284845086}, {"x": 8936.973682783117, "y": -2826.341058423491}, {"x": 8937.371244381564, "y": -2826.0421141578813}, {"x": 8937.768265933792, "y": -2825.74245302072}, {"x": 8938.16474614756, "y": -2825.442075987622}, {"x": 8938.56068372931, "y": -2825.1409840365677}, {"x": 8938.956077392104, "y": -2824.8391781479004}, {"x": 8939.350925848998, "y": -2824.5366593043273}, {"x": 8939.745227813053, "y": -2824.2334284909207}, {"x": 8940.138982001301, "y": -2823.929486694329}, {"x": 8940.532187132096, "y": -2823.6248349051402}, {"x": 8940.924841923796, "y": -2823.319474113943}, {"x": 8941.316945100052, "y": -2823.013405316054}, {"x": 8941.708495383193, "y": -2822.706629507578}, {"x": 8942.099491498193, "y": -2822.3991476861956}, {"x": 8942.489932171353, "y": -2822.0909608551046}, {"x": 8942.879816134267, "y": -2821.782070015926}, {"x": 8943.269142114561, "y": -2821.472476175009}, {"x": 8943.657908846479, "y": -2821.1621803410676}, {"x": 8944.04611506294, "y": -2820.8511835228155}, {"x": 8944.433759500835, "y": -2820.5394867336945}, {"x": 8944.820840898381, "y": -2820.2270909879353}, {"x": 8945.207357995117, "y": -2819.9139973037077}, {"x": 8945.593309533235, "y": -2819.6002066999704}, {"x": 8945.978694253594, "y": -2819.2857201972583}, {"x": 8946.363510905003, "y": -2818.9705388208336}, {"x": 8946.7477582323, "y": -2818.6546635959594}, {"x": 8947.131434985617, "y": -2818.3380955518396}, {"x": 8947.51453991376, "y": -2818.0208357184642}, {"x": 8947.897071772157, "y": -2817.702885128978}, {"x": 8948.279029314916, "y": -2817.384244818888}, {"x": 8948.660411296136, "y": -2817.0649158244896}, {"x": 8949.041216476544, "y": -2816.7448991868077}, {"x": 8949.42144361554, "y": -2816.424195947654}, {"x": 8949.801091475172, "y": -2816.1028071496285}, {"x": 8950.180158818812, "y": -2815.780733840848}, {"x": 8950.55864441248, "y": -2815.4579770694286}, {"x": 8950.93654702617, "y": -2815.1345378850638}, {"x": 8951.3138654259, "y": -2814.8104173429624}, {"x": 8951.690598385634, "y": -2814.485616495969}, {"x": 8952.066744678013, "y": -2814.1601364032335}, {"x": 8952.442303078327, "y": -2813.833978123905}, {"x": 8952.817272364511, "y": -2813.507142720285}, {"x": 8953.191651315825, "y": -2813.1796312554634}, {"x": 8953.56543871153, "y": -2812.85144479647}, {"x": 8953.938633337506, "y": -2812.522584411911}, {"x": 8954.31123397566, "y": -2812.193051171969}, {"x": 8954.683239415846, "y": -2811.8628461499775}], "type": "lane"}, {"geometry": [{"x": 8951.152130258832, "y": -2810.531935214801}, {"x": 8950.774881785506, "y": -2810.8538482413383}, {"x": 8950.39709532215, "y": -2811.175129716954}, {"x": 8950.018771922678, "y": -2811.495778738534}, {"x": 8949.639912644978, "y": -2811.815794407694}, {"x": 8949.260518544284, "y": -2812.13517582447}, {"x": 8948.880590681134, "y": -2812.4539220936304}, {"x": 8948.500130117385, "y": -2812.772032318365}, {"x": 8948.119137914895, "y": -2813.0895056081686}, {"x": 8947.737615138169, "y": -2813.406341070172}, {"x": 8947.35556285304, "y": -2813.7225378162343}, {"x": 8946.972982126657, "y": -2814.038094958215}, {"x": 8946.589874027504, "y": -2814.353011611913}, {"x": 8946.206239626705, "y": -2814.66728689234}, {"x": 8945.82207999671, "y": -2814.980919919236}, {"x": 8945.437396208645, "y": -2815.2939098115517}, {"x": 8945.052189340257, "y": -2815.6062556913917}, {"x": 8944.666460467966, "y": -2815.9179566832236}, {"x": 8944.280210668197, "y": -2816.229011913091}, {"x": 8943.893441021344, "y": -2816.5394205070397}, {"x": 8943.506152609125, "y": -2816.849181596629}, {"x": 8943.118346513258, "y": -2817.1582943118437}, {"x": 8942.730023818109, "y": -2817.466757786608}, {"x": 8942.341185610694, "y": -2817.7745711548478}, {"x": 8941.951832978026, "y": -2818.0817335552147}, {"x": 8941.561967007117, "y": -2818.3882441263627}, {"x": 8941.171588788959, "y": -2818.694102007733}, {"x": 8940.780699415858, "y": -2818.9993063434945}, {"x": 8940.389299980126, "y": -2819.303856277029}, {"x": 8939.997391578047, "y": -2819.6077509556576}, {"x": 8939.604975303251, "y": -2819.910989526703}, {"x": 8939.212052255998, "y": -2820.2135711414267}, {"x": 8938.818623532567, "y": -2820.51549495109}, {"x": 8938.42469023586, "y": -2820.8167601101086}, {"x": 8938.030253466135, "y": -2821.117365774471}, {"x": 8937.635314328938, "y": -2821.417311101746}, {"x": 8937.239873927176, "y": -2821.7165952510736}, {"x": 8936.843933366396, "y": -2822.01521738475}, {"x": 8936.447493757447, "y": -2822.3131766658585}, {"x": 8936.050556207203, "y": -2822.610472260633}, {"x": 8935.653121826508, "y": -2822.907103334521}, {"x": 8935.255191728862, "y": -2823.203069058486}, {"x": 8934.856767026431, "y": -2823.4983686019154}, {"x": 8934.457848834034, "y": -2823.793001138925}, {"x": 8934.058438267817, "y": -2824.0869658444176}, {"x": 8933.658536446566, "y": -2824.380261894086}, {"x": 8933.258144489077, "y": -2824.6728884675617}, {"x": 8932.857263514135, "y": -2824.964844745265}, {"x": 8932.455894645833, "y": -2825.256129909192}, {"x": 8932.054039006927, "y": -2825.5467431444918}, {"x": 8931.651697721509, "y": -2825.836683636312}, {"x": 8931.248871914988, "y": -2826.1259505737416}, {"x": 8930.845562716746, "y": -2826.4145431466577}, {"x": 8930.441771254842, "y": -2826.702460547301}, {"x": 8930.03749865866, "y": -2826.9897019687005}, {"x": 8929.632746058905, "y": -2827.2762666078256}, {"x": 8929.227514591583, "y": -2827.562153661646}, {"x": 8928.821805387395, "y": -2827.8473623294944}, {"x": 8928.415619585, "y": -2828.1318918146453}, {"x": 8928.008958319067, "y": -2828.4157413187963}, {"x": 8927.60182272958, "y": -2828.698910047585}, {"x": 8927.19421395386, "y": -2828.981397209802}, {"x": 8926.786133134534, "y": -2829.263202013449}, {"x": 8926.377581414223, "y": -2829.54432366968}, {"x": 8925.968559935547, "y": -2829.8247613912267}, {"x": 8925.559069843783, "y": -2830.104514394759}, {"x": 8925.14911228552, "y": -2830.383581895372}, {"x": 8924.738688407357, "y": -2830.6619631128883}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.103060472606, "y": -2801.1792387283067}, {"x": 8953.410612689955, "y": -2801.5710357058015}, {"x": 8953.728343797355, "y": -2801.9546085049255}, {"x": 8954.05991428329, "y": -2802.326263281505}, {"x": 8954.408130099959, "y": -2802.6823472751717}, {"x": 8954.77491823125, "y": -2803.019245235523}, {"x": 8955.16132812533, "y": -2803.3334198849375}, {"x": 8955.567559406238, "y": -2803.6214833709664}, {"x": 8955.993016121316, "y": -2803.8802867652485}, {"x": 8956.43638656462, "y": -2804.10701539168}, {"x": 8956.89574601367, "y": -2804.2992790928947}, {"x": 8957.368677915014, "y": -2804.4551884535595}, {"x": 8957.852407585664, "y": -2804.5734103245454}, {"x": 8958.343941509824, "y": -2804.65319858712}, {"x": 8958.840205079898, "y": -2804.6943986976753}, {"x": 8959.338171957814, "y": -2804.697426952356}, {"x": 8959.834979213818, "y": -2804.663227408683}, {"x": 8960.328023796686, "y": -2804.5932108694014}, {"x": 8960.815037471506, "y": -2804.4891811896464}, {"x": 8961.294139014914, "y": -2804.353254437204}, {"x": 8961.763863961678, "y": -2804.187776195327}, {"x": 8962.223173483535, "y": -2803.9952416119277}, {"x": 8962.671444849675, "y": -2803.7782218856273}, {"x": 8963.108446551189, "y": -2803.5392997719123}, {"x": 8963.53430139025, "y": -2803.281015594884}, {"x": 8963.949440799026, "y": -2803.0058242327123}, {"x": 8964.35455343092, "y": -2802.7160626449363}, {"x": 8964.750530660229, "y": -2802.413926828082}, {"x": 8965.138411230482, "y": -2802.101456580147}, {"x": 8965.519326767346, "y": -2801.7805261794547}, {"x": 8965.894449523807, "y": -2801.452838936814}, {"x": 8966.264943312277, "y": -2801.1199236760494}, {"x": 8966.631918284258, "y": -2800.783131329599}, {"x": 8966.996389954802, "y": -2800.4436301668197}, {"x": 8967.359242670349, "y": -2800.1023985099746}, {"x": 8967.72119747362, "y": -2799.760214238881}, {"x": 8968.082784095455, "y": -2799.4176408415033}, {"x": 8968.4443165281, "y": -2799.075010246118}], "type": "lane"}, {"geometry": [{"x": 8952.801223453813, "y": -2800.7830126134527}, {"x": 8953.099744087058, "y": -2801.179935119818}, {"x": 8953.389897531042, "y": -2801.582992546487}, {"x": 8953.663533328103, "y": -2801.9974057962095}, {"x": 8953.913165493535, "y": -2802.426665548764}, {"x": 8954.131930460982, "y": -2802.872408604474}, {"x": 8954.313692529444, "y": -2803.3344427032953}, {"x": 8954.453234229815, "y": -2803.8109032552848}, {"x": 8954.546469357203, "y": -2804.298524477325}, {"x": 8954.590624507618, "y": -2804.7930000539836}, {"x": 8954.584348884962, "y": -2805.2893998986106}, {"x": 8954.527729671496, "y": -2805.782604019228}, {"x": 8954.42220857797, "y": -2806.2677140918468}, {"x": 8954.270411404792, "y": -2806.7404085111402}, {"x": 8954.075914266426, "y": -2807.1972162790703}, {"x": 8953.842976437405, "y": -2807.635696933403}, {"x": 8953.576270476186, "y": -2808.054525590158}, {"x": 8953.280636309664, "y": -2808.453491934104}, {"x": 8952.960878998192, "y": -2808.8334286450063}, {"x": 8952.621621510656, "y": -2809.196087720658}, {"x": 8952.26721566875, "y": -2809.5439830182463}, {"x": 8951.901707314842, "y": -2809.880214809095}, {"x": 8951.52884653733, "y": -2810.2082884387323}, {"x": 8951.152130258832, "y": -2810.531935214801}], "type": "lane"}, {"geometry": [{"x": 8968.602704009962, "y": -2807.925567966616}, {"x": 8968.259815799065, "y": -2807.5761155271402}, {"x": 8967.916186084154, "y": -2807.227392210359}, {"x": 8967.571863075178, "y": -2806.879353419306}, {"x": 8967.226894708016, "y": -2806.5319542819825}, {"x": 8966.881328659038, "y": -2806.1851496647546}, {"x": 8966.535212364968, "y": -2805.8388941983594}, {"x": 8966.188593040099, "y": -2805.4931422913014}, {"x": 8965.841517694824, "y": -2805.147848152708}, {"x": 8965.494033150198, "y": -2804.8029658096625}, {"x": 8965.146186064432, "y": -2804.4584491269106}, {"x": 8964.798022946115, "y": -2804.114251824983}, {"x": 8964.449590172764, "y": -2803.770327499109}, {"x": 8964.100934009351, "y": -2803.426629636554}, {"x": 8963.752100632142, "y": -2803.083111637897}, {"x": 8963.403136139284, "y": -2802.7397268335803}, {"x": 8963.054086579938, "y": -2802.3964285004577}, {"x": 8962.704997960895, "y": -2802.053169884649}, {"x": 8962.355916278355, "y": -2801.709904214937}, {"x": 8962.006887528516, "y": -2801.3665847240445}, {"x": 8961.657957727437, "y": -2801.023164668336}, {"x": 8961.30917293487, "y": -2800.6795973404264}, {"x": 8960.960579266179, "y": -2800.335836093612}, {"x": 8960.61222291881, "y": -2799.991834356054}, {"x": 8960.26415018554, "y": -2799.647545651268}, {"x": 8959.916407474338, "y": -2799.3029236178268}, {"x": 8959.56904133087, "y": -2798.957922023544}, {"x": 8959.222098449087, "y": -2798.612494787541}, {"x": 8958.875625699036, "y": -2798.266595999947}, {"x": 8958.529670141426, "y": -2797.920179936874}, {"x": 8958.184279043506, "y": -2797.573201083267}, {"x": 8957.83949990026, "y": -2797.2256141486696}, {"x": 8957.495380450284, "y": -2796.8773740892866}, {"x": 8957.151968698307, "y": -2796.528436127686}, {"x": 8956.809312925774, "y": -2796.1787557677726}, {"x": 8956.46746171468, "y": -2795.8282888215817}, {"x": 8956.126463962137, "y": -2795.4769914226763}, {"x": 8955.786368894935, "y": -2795.124820052941}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.903797088824, "y": -2797.146407092746}, {"x": 8965.544178054375, "y": -2797.4922176959085}, {"x": 8965.186430927539, "y": -2797.8399634524785}, {"x": 8964.83170645537, "y": -2798.1907903873125}, {"x": 8964.481183901506, "y": -2798.5458134560968}, {"x": 8964.136076678516, "y": -2798.9061001316845}, {"x": 8963.797636834988, "y": -2799.2726538343964}, {"x": 8963.467158019987, "y": -2799.6463973252835}, {"x": 8963.1459765171, "y": -2800.0281562302075}, {"x": 8962.835470051521, "y": -2800.4186429043625}, {"x": 8962.537054072205, "y": -2800.8184409264527}, {"x": 8962.252175298643, "y": -2801.227990552726}, {"x": 8961.982302403776, "y": -2801.6475755319834}, {"x": 8961.728913789388, "y": -2802.077311715781}, {"x": 8961.493482513553, "y": -2802.517137954792}, {"x": 8961.277458581959, "y": -2802.966809773852}, {"x": 8961.082248874553, "y": -2803.4258963119364}, {"x": 8960.909195182821, "y": -2803.8937809943695}, {"x": 8960.759550880684, "y": -2804.3696663447067}, {"x": 8960.634456904265, "y": -2804.852583239681}, {"x": 8960.534917807108, "y": -2805.3414048081745}, {"x": 8960.461778687953, "y": -2805.834865038049}, {"x": 8960.41570385293, "y": -2806.3315819726167}, {"x": 8960.397158033125, "y": -2806.8300852177927}, {"x": 8960.406390953212, "y": -2807.328847303633}, {"x": 8960.44342591846, "y": -2807.8263182556343}, {"x": 8960.508052951058, "y": -2808.320962597976}, {"x": 8960.59982682527, "y": -2808.811297857227}, {"x": 8960.71807009944, "y": -2809.295933560161}, {"x": 8960.861881038862, "y": -2809.773609666539}, {"x": 8961.030145992674, "y": -2810.2432333753372}, {"x": 8961.221555583865, "y": -2810.7039132886207}, {"x": 8961.434623761828, "y": -2811.1549900133928}, {"x": 8961.667708558902, "y": -2811.5960623968235}, {"x": 8961.919033183218, "y": -2812.027008760457}, {"x": 8962.186705913315, "y": -2812.4480026109322}, {"x": 8962.46873715539, "y": -2812.859522489122}, {"x": 8962.76305198568, "y": -2813.2623556716417}, {"x": 8963.067496451422, "y": -2813.6575954969703}, {"x": 8963.379836045608, "y": -2814.0466320182995}, {"x": 8963.697744831532, "y": -2814.4311355134264}, {"x": 8964.018783943478, "y": -2814.8130320573355}], "type": "lane"}, {"geometry": [{"x": 8966.264159422646, "y": -2796.8013707317273}, {"x": 8965.904148530768, "y": -2797.142690264873}, {"x": 8965.535391008787, "y": -2797.4745035902383}, {"x": 8965.151360091357, "y": -2797.788453792973}, {"x": 8964.747785037996, "y": -2798.0767755089223}, {"x": 8964.322722681407, "y": -2798.3322822022246}, {"x": 8963.876452421358, "y": -2798.548545691133}, {"x": 8963.41121438662, "y": -2798.7201688301225}, {"x": 8962.930816604381, "y": -2798.843061360779}, {"x": 8962.440150124316, "y": -2798.914648082725}, {"x": 8961.94466234886, "y": -2798.9339644394863}, {"x": 8961.449842769485, "y": -2798.901622739196}, {"x": 8960.96077034636, "y": -2798.8196578450334}, {"x": 8960.481759226395, "y": -2798.691280180647}, {"x": 8960.01612285451, "y": -2798.520574276061}, {"x": 8959.56605954053, "y": -2798.3121826155225}, {"x": 8959.132648419638, "y": -2798.0710090536095}, {"x": 8958.71593541389, "y": -2797.8019660552154}, {"x": 8958.315084564209, "y": -2797.509778443997}, {"x": 8957.928570228038, "y": -2797.1988454371317}, {"x": 8957.554388804845, "y": -2796.873154108714}, {"x": 8957.190273247363, "y": -2796.536231771377}, {"x": 8956.833898390785, "y": -2796.1911221359765}, {"x": 8956.483069455098, "y": -2795.840370194278}, {"x": 8956.135889465158, "y": -2795.4860030344867}, {"x": 8955.79090420889, "y": -2795.129497620724}, {"x": 8955.447226093374, "y": -2794.7717315551895}], "type": "lane"}, {"geometry": [{"x": 8968.4443165281, "y": -2799.075010246118}, {"x": 8968.796631691812, "y": -2798.7411029540413}, {"x": 8969.148718914832, "y": -2798.4069553469576}, {"x": 8969.5003282196, "y": -2798.0723049323433}, {"x": 8969.851248726649, "y": -2797.7369323535827}, {"x": 8970.20132861145, "y": -2797.400682416132}, {"x": 8970.550495602774, "y": -2797.063484606964}, {"x": 8970.898777973585, "y": -2796.7253731175315}, {"x": 8971.246325840439, "y": -2796.386506576734}, {"x": 8971.593432346352, "y": -2796.047187868198}, {"x": 8971.949888370202, "y": -2795.698558688047}, {"x": 8972.306344392728, "y": -2795.349929508684}, {"x": 8972.662800416578, "y": -2795.001300328533}, {"x": 8973.019256440428, "y": -2794.65267114917}, {"x": 8973.375712462954, "y": -2794.304041969019}, {"x": 8973.732168486804, "y": -2793.9554127896563}, {"x": 8974.088624510652, "y": -2793.6067836095053}, {"x": 8974.445080534502, "y": -2793.2581544301424}, {"x": 8974.801536557028, "y": -2792.9095252499915}, {"x": 8975.157992580878, "y": -2792.5608960706286}, {"x": 8975.514448604728, "y": -2792.2122668904776}, {"x": 8975.870904627254, "y": -2791.8636377111147}, {"x": 8976.227360651104, "y": -2791.5150085309638}, {"x": 8976.583816674953, "y": -2791.166379351601}, {"x": 8976.940272697479, "y": -2790.81775017145}, {"x": 8977.296728721329, "y": -2790.4691209920866}, {"x": 8977.653184745179, "y": -2790.1204918119356}, {"x": 8978.009640769029, "y": -2789.7718626325727}, {"x": 8978.366096791555, "y": -2789.4232334524218}, {"x": 8978.722552815405, "y": -2789.074604273059}, {"x": 8979.079008839253, "y": -2788.725975092908}, {"x": 8979.43546486178, "y": -2788.377345913545}, {"x": 8979.79192088563, "y": -2788.028716733394}, {"x": 8980.14837690948, "y": -2787.680087554031}, {"x": 8980.504832932005, "y": -2787.33145837388}, {"x": 8980.861288955855, "y": -2786.9828291945173}, {"x": 8981.217744979705, "y": -2786.6342000143663}, {"x": 8981.574201003554, "y": -2786.2855708350035}, {"x": 8981.93065702608, "y": -2785.9369416548525}, {"x": 8982.28711304993, "y": -2785.5883124754896}, {"x": 8982.64356907378, "y": -2785.2396832953386}, {"x": 8983.000025096306, "y": -2784.8910541159757}, {"x": 8983.356481120156, "y": -2784.542424935825}, {"x": 8983.712937144004, "y": -2784.193795756462}, {"x": 8984.06939316653, "y": -2783.845166576311}, {"x": 8984.42584919038, "y": -2783.496537396948}, {"x": 8984.78230521423, "y": -2783.147908216797}, {"x": 8985.13876123808, "y": -2782.7992790374337}, {"x": 8985.495217260606, "y": -2782.4506498572828}, {"x": 8985.851673284456, "y": -2782.10202067792}, {"x": 8986.208129308305, "y": -2781.753391497769}, {"x": 8986.56458533083, "y": -2781.404762318406}, {"x": 8986.92104135468, "y": -2781.056133138255}, {"x": 8987.27749737853, "y": -2780.707503958892}, {"x": 8987.633953401057, "y": -2780.358874778741}, {"x": 8987.990409424907, "y": -2780.0102455993783}, {"x": 8988.346865448757, "y": -2779.6616164192274}, {"x": 8988.703321472605, "y": -2779.3129872398645}, {"x": 8989.059777495131, "y": -2778.9643580597135}, {"x": 8989.416233518981, "y": -2778.6157288803506}, {"x": 8989.772689542831, "y": -2778.2670997001997}, {"x": 8990.129145565357, "y": -2777.9184705208368}, {"x": 8990.485601589207, "y": -2777.569841340686}, {"x": 8990.842057613057, "y": -2777.221212161323}, {"x": 8991.198513635583, "y": -2776.872582981172}, {"x": 8991.554969659432, "y": -2776.523953801809}, {"x": 8991.911425683282, "y": -2776.175324621658}, {"x": 8992.267881707132, "y": -2775.8266954422947}, {"x": 8992.624337729658, "y": -2775.478066262144}, {"x": 8992.980793753508, "y": -2775.129437082781}, {"x": 8993.337249777358, "y": -2774.78080790263}, {"x": 8993.693705799884, "y": -2774.432178723267}, {"x": 8994.050161823732, "y": -2774.083549543116}, {"x": 8994.406617847582, "y": -2773.734920363753}, {"x": 8994.763073870108, "y": -2773.386291183602}, {"x": 8995.119529893958, "y": -2773.0376620042393}, {"x": 8995.475985917808, "y": -2772.6890328240884}, {"x": 8995.832441941659, "y": -2772.3404036447255}, {"x": 8996.188897964183, "y": -2771.9917744645745}, {"x": 8996.545353988033, "y": -2771.6431452852116}, {"x": 8996.901810011883, "y": -2771.2945161050607}, {"x": 8997.258266034409, "y": -2770.945886925698}, {"x": 8997.614722058259, "y": -2770.597257745547}, {"x": 8997.971178082109, "y": -2770.248628566184}, {"x": 8998.327634104635, "y": -2769.899999386033}, {"x": 8998.684090128483, "y": -2769.55137020667}, {"x": 8999.040546152333, "y": -2769.202741026519}, {"x": 8999.397002176183, "y": -2768.854111847156}, {"x": 8999.75345819871, "y": -2768.505482667005}, {"x": 9000.10991422256, "y": -2768.156853487642}, {"x": 9000.46637024641, "y": -2767.808224307491}, {"x": 9000.822826268935, "y": -2767.459595128128}, {"x": 9001.179282292784, "y": -2767.110965947977}, {"x": 9001.535738316634, "y": -2766.762336767826}, {"x": 9001.89219433916, "y": -2766.4137075884632}, {"x": 9002.24865036301, "y": -2766.0650784083123}, {"x": 9002.60510638686, "y": -2765.7164492289494}, {"x": 9002.961562409386, "y": -2765.3678200487984}, {"x": 9003.318018433236, "y": -2765.0191908694355}, {"x": 9003.674474457084, "y": -2764.6705616892846}, {"x": 9004.030930480934, "y": -2764.3219325099217}, {"x": 9004.38738650346, "y": -2763.9733033297707}, {"x": 9004.74384252731, "y": -2763.624674150408}, {"x": 9005.10029855116, "y": -2763.276044970257}, {"x": 9005.456754573686, "y": -2762.927415790894}, {"x": 9005.813210597536, "y": -2762.578786610743}, {"x": 9006.169666621385, "y": -2762.23015743138}, {"x": 9006.52612264391, "y": -2761.881528251229}, {"x": 9006.88257866776, "y": -2761.5328990718663}, {"x": 9007.23903469161, "y": -2761.1842698917153}, {"x": 9007.595490715461, "y": -2760.835640712352}, {"x": 9007.951946737987, "y": -2760.487011532201}, {"x": 9008.308402761837, "y": -2760.138382352838}, {"x": 9008.664858785685, "y": -2759.789753172687}, {"x": 9009.021314808211, "y": -2759.4411239933243}, {"x": 9009.377770832061, "y": -2759.0924948131733}, {"x": 9009.734226855911, "y": -2758.7438656338104}, {"x": 9010.090682878437, "y": -2758.3952364536594}, {"x": 9010.447138902287, "y": -2758.0466072742965}, {"x": 9010.803594926136, "y": -2757.6979780941456}, {"x": 9011.160050949986, "y": -2757.3493489147827}, {"x": 9011.516506972512, "y": -2757.0007197346317}, {"x": 9011.872962996362, "y": -2756.652090555269}, {"x": 9012.229419020212, "y": -2756.303461375118}, {"x": 9012.585875042738, "y": -2755.954832195755}, {"x": 9012.942331066588, "y": -2755.606203015604}, {"x": 9013.298787090436, "y": -2755.257573836241}, {"x": 9013.655243112962, "y": -2754.90894465609}, {"x": 9014.011699136812, "y": -2754.5603154767273}, {"x": 9014.368155160662, "y": -2754.2116862965763}, {"x": 9014.724611184512, "y": -2753.863057117213}, {"x": 9015.081067207038, "y": -2753.514427937062}, {"x": 9015.437523230888, "y": -2753.165798757699}, {"x": 9015.793979254737, "y": -2752.817169577548}, {"x": 9016.150435277263, "y": -2752.4685403981853}, {"x": 9016.506891301113, "y": -2752.1199112180343}, {"x": 9016.863347324963, "y": -2751.7712820386714}, {"x": 9017.219803347489, "y": -2751.4226528585205}, {"x": 9017.576259371339, "y": -2751.0740236791576}, {"x": 9017.932715395189, "y": -2750.7253944990066}, {"x": 9018.289171419037, "y": -2750.3767653196437}, {"x": 9018.645627441563, "y": -2750.0281361394927}, {"x": 9019.002083465413, "y": -2749.67950696013}, {"x": 9019.358539489263, "y": -2749.330877779979}, {"x": 9019.71499551179, "y": -2748.982248600616}, {"x": 9020.07145153564, "y": -2748.633619420465}, {"x": 9020.42790755949, "y": -2748.284990241102}, {"x": 9020.784363582014, "y": -2747.936361060951}, {"x": 9021.140819605864, "y": -2747.5877318815883}, {"x": 9021.497275629714, "y": -2747.2391027014373}, {"x": 9021.853731653564, "y": -2746.8904735220744}, {"x": 9022.21018767609, "y": -2746.541844341923}, {"x": 9022.56664369994, "y": -2746.19321516256}, {"x": 9022.92309972379, "y": -2745.844585982409}, {"x": 9023.279555746314, "y": -2745.4959568030463}, {"x": 9023.636011770164, "y": -2745.1473276228953}, {"x": 9023.992467794014, "y": -2744.7986984435324}, {"x": 9024.34892381654, "y": -2744.4500692633815}, {"x": 9024.70537984039, "y": -2744.1014400840186}, {"x": 9025.06183586424, "y": -2743.7528109038676}, {"x": 9025.418291888089, "y": -2743.4041817245047}, {"x": 9025.774747910615, "y": -2743.0555525443538}, {"x": 9026.131203934465, "y": -2742.706923364991}, {"x": 9026.487659958315, "y": -2742.35829418484}, {"x": 9026.84411598084, "y": -2742.009665005477}, {"x": 9027.200572004691, "y": -2741.661035825326}, {"x": 9027.557028028541, "y": -2741.312406645963}, {"x": 9027.913484051067, "y": -2740.963777465812}, {"x": 9028.269940074915, "y": -2740.6151482864493}, {"x": 9028.626396098765, "y": -2740.2665191062983}, {"x": 9028.982852122615, "y": -2739.9178899269355}, {"x": 9029.339308145141, "y": -2739.5692607467845}, {"x": 9029.695764168991, "y": -2739.220631567421}, {"x": 9030.052220192842, "y": -2738.87200238727}, {"x": 9030.408676215367, "y": -2738.5233732079073}, {"x": 9030.765132239216, "y": -2738.1747440277563}, {"x": 9031.116388736982, "y": -2737.831220890176}, {"x": 9031.467705727562, "y": -2737.487759619056}, {"x": 9031.819139563582, "y": -2737.1444179128202}, {"x": 9032.170742323755, "y": -2736.801249205713}, {"x": 9032.522562073713, "y": -2736.458302969625}, {"x": 9032.87464313213, "y": -2736.1156250182835}, {"x": 9033.227026347444, "y": -2735.773257801987}, {"x": 9033.579749373252, "y": -2735.4312406976073}, {"x": 9033.932846946349, "y": -2735.0896103017517}, {"x": 9034.28635116742, "y": -2734.7484007183994}, {"x": 9034.640291781736, "y": -2734.4076438473335}, {"x": 9034.994696461159, "y": -2734.067369668628}, {"x": 9035.34959108749, "y": -2733.7276065342317}, {"x": 9035.705000027856, "y": -2733.3883814524524}, {"x": 9036.060946422027, "y": -2733.0497203763916}, {"x": 9036.417452457807, "y": -2732.7116484978856}, {"x": 9036.77453964378, "y": -2732.3741905343604}], "type": "lane"}, {"geometry": [{"x": 9034.883206770268, "y": -2730.089460095379}, {"x": 9034.53732938369, "y": -2730.4149074758443}, {"x": 9034.192024591533, "y": -2730.7409623368003}, {"x": 9033.847263006017, "y": -2731.067591527029}, {"x": 9033.503015031487, "y": -2731.394761999335}, {"x": 9033.159250856472, "y": -2731.72244078139}, {"x": 9032.815940429859, "y": -2732.050594937115}, {"x": 9032.47305345559, "y": -2732.3791915398883}, {"x": 9032.130559370156, "y": -2732.708197635506}, {"x": 9031.788427328036, "y": -2733.0375802106596}, {"x": 9031.446626193749, "y": -2733.367306162991}, {"x": 9031.105124515374, "y": -2733.697342263264}, {"x": 9030.763890519254, "y": -2734.0276551246307}, {"x": 9030.422892086168, "y": -2734.3582111711103}, {"x": 9030.08209674603, "y": -2734.6889766005493}, {"x": 9029.741471654057, "y": -2735.0199173546744}, {"x": 9029.400983581507, "y": -2735.3509990812677}, {"x": 9029.060598898453, "y": -2735.68218710422}, {"x": 9028.720283560564, "y": -2736.0134463849145}, {"x": 9028.380003098491, "y": -2736.344741491495}, {"x": 9028.022177261751, "y": -2736.693130954775}, {"x": 9027.664351423688, "y": -2737.0415204188425}, {"x": 9027.306525586948, "y": -2737.389909882122}, {"x": 9026.948699750208, "y": -2737.7382993454016}, {"x": 9026.590873912146, "y": -2738.0866888094693}, {"x": 9026.233048075406, "y": -2738.435078272749}, {"x": 9025.875222237342, "y": -2738.7834677360283}, {"x": 9025.517396400603, "y": -2739.1318572000964}, {"x": 9025.159570563863, "y": -2739.480246663376}, {"x": 9024.801744725799, "y": -2739.8286361266555}, {"x": 9024.44391888906, "y": -2740.177025590723}, {"x": 9024.086093052321, "y": -2740.5254150540027}, {"x": 9023.728267214257, "y": -2740.873804517282}, {"x": 9023.370441377518, "y": -2741.22219398135}, {"x": 9023.012615539454, "y": -2741.57058344463}, {"x": 9022.654789702714, "y": -2741.9189729079094}, {"x": 9022.296963865974, "y": -2742.267362371977}, {"x": 9021.939138027912, "y": -2742.6157518352566}, {"x": 9021.581312191172, "y": -2742.964141298536}, {"x": 9021.223486354433, "y": -2743.3125307626037}, {"x": 9020.865660516369, "y": -2743.6609202258833}, {"x": 9020.507834679629, "y": -2744.0093096891633}, {"x": 9020.150008841565, "y": -2744.357699153231}, {"x": 9019.792183004827, "y": -2744.7060886165104}, {"x": 9019.434357168087, "y": -2745.05447807979}, {"x": 9019.076531330023, "y": -2745.4028675438576}, {"x": 9018.718705493284, "y": -2745.751257007137}, {"x": 9018.360879656544, "y": -2746.0996464704167}, {"x": 9018.00305381848, "y": -2746.4480359344843}, {"x": 9017.64522798174, "y": -2746.7964253977643}, {"x": 9017.287402145002, "y": -2747.144814861044}, {"x": 9016.929576306939, "y": -2747.4932043251115}, {"x": 9016.571750470199, "y": -2747.841593788391}, {"x": 9016.213924632135, "y": -2748.1899832516706}, {"x": 9015.856098795395, "y": -2748.538372715738}, {"x": 9015.498272958655, "y": -2748.8867621790178}, {"x": 9015.140447120593, "y": -2749.2351516422978}, {"x": 9014.782621283854, "y": -2749.5835411063654}, {"x": 9014.424795447114, "y": -2749.931930569645}, {"x": 9014.06696960905, "y": -2750.2803200329245}, {"x": 9013.70914377231, "y": -2750.628709496992}, {"x": 9013.351317934246, "y": -2750.9770989602716}, {"x": 9012.993492097508, "y": -2751.325488423551}, {"x": 9012.635666260769, "y": -2751.6738778876193}, {"x": 9012.277840422705, "y": -2752.022267350899}, {"x": 9011.920014585965, "y": -2752.3706568141783}, {"x": 9011.562188749225, "y": -2752.719046278246}, {"x": 9011.204362911161, "y": -2753.0674357415255}, {"x": 9010.846537074422, "y": -2753.415825204805}, {"x": 9010.488711237684, "y": -2753.7642146688727}, {"x": 9010.13088539962, "y": -2754.1126041321527}, {"x": 9009.77305956288, "y": -2754.4609935954322}, {"x": 9009.415233724816, "y": -2754.8093830595}, {"x": 9009.057407888076, "y": -2755.1577725227794}, {"x": 9008.699582051337, "y": -2755.506161986059}, {"x": 9008.341756213274, "y": -2755.8545514501266}, {"x": 9007.983930376535, "y": -2756.202940913406}, {"x": 9007.626104539795, "y": -2756.551330376686}, {"x": 9007.268278701731, "y": -2756.8997198407537}, {"x": 9006.910452864991, "y": -2757.2481093040333}, {"x": 9006.552627026927, "y": -2757.596498767313}, {"x": 9006.19480119019, "y": -2757.9448882313804}, {"x": 9005.83697535345, "y": -2758.29327769466}, {"x": 9005.479149515386, "y": -2758.6416671579395}, {"x": 9005.121323678646, "y": -2758.9900566220076}, {"x": 9004.763497841906, "y": -2759.338446085287}, {"x": 9004.405672003842, "y": -2759.6868355485667}, {"x": 9004.047846167103, "y": -2760.0352250126343}, {"x": 9003.69002032904, "y": -2760.383614475914}, {"x": 9003.332194492301, "y": -2760.7320039391934}, {"x": 9002.974368655561, "y": -2761.080393403261}, {"x": 9002.616542817497, "y": -2761.428782866541}, {"x": 9002.258716980758, "y": -2761.7771723298206}, {"x": 9001.900891144018, "y": -2762.125561793888}, {"x": 9001.543065305956, "y": -2762.4739512571678}, {"x": 9001.185239469216, "y": -2762.8223407204473}, {"x": 9000.827413632476, "y": -2763.170730184515}, {"x": 9000.469587794412, "y": -2763.5191196477945}, {"x": 9000.111761957673, "y": -2763.8675091110745}, {"x": 8999.753936119609, "y": -2764.215898575142}, {"x": 8999.39611028287, "y": -2764.5642880384216}, {"x": 8999.038284446131, "y": -2764.912677501701}, {"x": 8998.680458608067, "y": -2765.261066965769}, {"x": 8998.322632771327, "y": -2765.6094564290484}, {"x": 8997.964806934588, "y": -2765.957845892328}, {"x": 8997.606981096524, "y": -2766.3062353563955}, {"x": 8997.249155259784, "y": -2766.6546248196755}, {"x": 8996.891329421722, "y": -2767.003014282955}, {"x": 8996.533503584982, "y": -2767.3514037470227}, {"x": 8996.175677748242, "y": -2767.6997932103022}, {"x": 8995.817851910178, "y": -2768.048182673582}, {"x": 8995.460026073439, "y": -2768.3965721376494}, {"x": 8995.102200236699, "y": -2768.744961600929}, {"x": 8994.744374398637, "y": -2769.093351064209}, {"x": 8994.386548561897, "y": -2769.4417405282766}, {"x": 8994.028722725157, "y": -2769.790129991556}, {"x": 8993.670896887093, "y": -2770.1385194548357}, {"x": 8993.313071050354, "y": -2770.4869089189033}, {"x": 8992.95524521229, "y": -2770.835298382183}, {"x": 8992.597419375552, "y": -2771.1836878454624}, {"x": 8992.239593538812, "y": -2771.5320773095305}, {"x": 8991.881767700748, "y": -2771.88046677281}, {"x": 8991.523941864009, "y": -2772.2288562360895}, {"x": 8991.166116027269, "y": -2772.577245700157}, {"x": 8990.808290189205, "y": -2772.9256351634367}, {"x": 8990.450464352467, "y": -2773.2740246267163}, {"x": 8990.092638514403, "y": -2773.622414090784}, {"x": 8989.734812677663, "y": -2773.970803554064}, {"x": 8989.376986840924, "y": -2774.3191930173434}, {"x": 8989.01916100286, "y": -2774.667582481411}, {"x": 8988.66133516612, "y": -2775.0159719446906}, {"x": 8988.30350932938, "y": -2775.36436140797}, {"x": 8987.945683491318, "y": -2775.7127508720378}, {"x": 8987.587857654578, "y": -2776.0611403353173}, {"x": 8987.230031816514, "y": -2776.4095297985973}, {"x": 8986.872205979775, "y": -2776.757919262665}, {"x": 8986.514380143035, "y": -2777.1063087259445}, {"x": 8986.156554304971, "y": -2777.454698189224}, {"x": 8985.798728468233, "y": -2777.8030876532916}, {"x": 8985.440902631493, "y": -2778.151477116571}, {"x": 8985.08307679343, "y": -2778.4998665798507}, {"x": 8984.72525095669, "y": -2778.8482560439184}, {"x": 8984.36742511995, "y": -2779.1966455071984}, {"x": 8984.009599281886, "y": -2779.545034970478}, {"x": 8983.651773445148, "y": -2779.8934244345455}, {"x": 8983.293947607084, "y": -2780.241813897825}, {"x": 8982.936121770344, "y": -2780.5902033611046}, {"x": 8982.578295933605, "y": -2780.9385928251722}, {"x": 8982.22047009554, "y": -2781.286982288452}, {"x": 8981.862644258801, "y": -2781.635371751732}, {"x": 8981.504818422061, "y": -2781.9837612157994}, {"x": 8981.146992584, "y": -2782.332150679079}, {"x": 8980.78916674726, "y": -2782.6805401423585}, {"x": 8980.431340909196, "y": -2783.028929606426}, {"x": 8980.073515072456, "y": -2783.3773190697057}, {"x": 8979.715689235716, "y": -2783.725708532985}, {"x": 8979.357863397652, "y": -2784.0740979970533}, {"x": 8979.000037560914, "y": -2784.422487460333}, {"x": 8978.642211724175, "y": -2784.7708769236124}, {"x": 8978.28438588611, "y": -2785.11926638768}, {"x": 8977.92656004937, "y": -2785.4676558509595}, {"x": 8977.568734212631, "y": -2785.816045314239}, {"x": 8977.210908374567, "y": -2786.1644347783067}, {"x": 8976.85308253783, "y": -2786.5128242415867}, {"x": 8976.495256699765, "y": -2786.8612137048663}, {"x": 8976.137430863026, "y": -2787.209603168934}, {"x": 8975.779605026286, "y": -2787.5579926322134}, {"x": 8975.421779188222, "y": -2787.906382095493}, {"x": 8975.063953351482, "y": -2788.2547715595606}, {"x": 8974.706127514743, "y": -2788.60316102284}, {"x": 8974.34830167668, "y": -2788.95155048612}, {"x": 8973.99047583994, "y": -2789.2999399501878}, {"x": 8973.632650001877, "y": -2789.6483294134673}, {"x": 8973.274824165137, "y": -2789.996718876747}, {"x": 8972.916998328397, "y": -2790.3451083408145}, {"x": 8972.559172490335, "y": -2790.693497804094}, {"x": 8972.201346653595, "y": -2791.0418872673736}, {"x": 8971.843520816856, "y": -2791.3902767314416}, {"x": 8971.485694978792, "y": -2791.738666194721}, {"x": 8971.127869142052, "y": -2792.0870556580007}, {"x": 8970.770043303988, "y": -2792.4354451220684}, {"x": 8970.412217467248, "y": -2792.783834585348}, {"x": 8970.05439163051, "y": -2793.1322240486274}, {"x": 8969.696565792447, "y": -2793.480613512695}, {"x": 8969.338739955707, "y": -2793.8290029759746}, {"x": 8968.99826500412, "y": -2794.1604488426988}, {"x": 8968.657652083797, "y": -2794.4917529150107}, {"x": 8968.31679642429, "y": -2794.822807232961}, {"x": 8967.975625342604, "y": -2795.1535364692795}, {"x": 8967.634093642242, "y": -2795.48389328771}, {"x": 8967.292178979165, "y": -2795.8138537249984}, {"x": 8966.949877231726, "y": -2796.1434125807527}, {"x": 8966.60719787985, "y": -2796.4725787828766}, {"x": 8966.264159422646, "y": -2796.8013707317273}], "type": "lane"}, {"geometry": [{"x": 9141.142573369181, "y": -2719.3423542918604}, {"x": 9140.789370586068, "y": -2719.692081413534}, {"x": 9140.43614667701, "y": -2720.0417871977616}, {"x": 9140.08290182207, "y": -2720.3914718242186}, {"x": 9139.72963620264, "y": -2720.741135473371}, {"x": 9139.376349998787, "y": -2721.090778324896}, {"x": 9139.023043391899, "y": -2721.4404005592583}, {"x": 9138.66971656204, "y": -2721.790002356135}, {"x": 9138.316369690603, "y": -2722.139583897568}, {"x": 9137.9630029603, "y": -2722.4891453640225}, {"x": 9137.609616549873, "y": -2722.838686935963}, {"x": 9137.256210642036, "y": -2723.1882087946433}, {"x": 9136.902785418179, "y": -2723.537711122104}, {"x": 9136.549341061014, "y": -2723.8871940988115}, {"x": 9136.195877750608, "y": -2724.2366579075942}, {"x": 9135.842395669675, "y": -2724.5861027297055}, {"x": 9135.488894999606, "y": -2724.935528747187}, {"x": 9135.135375923111, "y": -2725.2849361420795}, {"x": 9134.781838622908, "y": -2725.634325096425}, {"x": 9134.42828327906, "y": -2725.98369579384}, {"x": 9134.074710074281, "y": -2726.333048415579}, {"x": 9133.721119192609, "y": -2726.682383145258}, {"x": 9133.367510815435, "y": -2727.0317001657077}, {"x": 9133.01388512547, "y": -2727.380999659756}, {"x": 9132.66024230543, "y": -2727.7302818102335}, {"x": 9132.306582539353, "y": -2728.0795468015453}, {"x": 9131.952906007304, "y": -2728.4287948165206}, {"x": 9131.599212894644, "y": -2728.778026038777}, {"x": 9131.245503382763, "y": -2729.1272406527196}, {"x": 9130.8917776557, "y": -2729.4764388411786}, {"x": 9130.538035896167, "y": -2729.8256207893464}, {"x": 9130.184278288203, "y": -2730.1747866800533}, {"x": 9129.83050501452, "y": -2730.52393669928}, {"x": 9129.47671625916, "y": -2730.873071029857}, {"x": 9129.122912204832, "y": -2731.222189856977}, {"x": 9128.769093034252, "y": -2731.5712933658338}, {"x": 9128.415258934107, "y": -2731.9203817408325}, {"x": 9128.06141008446, "y": -2732.269455167167}, {"x": 9127.707546671996, "y": -2732.618513829243}, {"x": 9127.35366887811, "y": -2732.9675579130417}, {"x": 9126.999776889481, "y": -2733.316587603757}, {"x": 9126.64587088883, "y": -2733.6656030857935}, {"x": 9126.291951058864, "y": -2734.014604545922}, {"x": 9125.938017584947, "y": -2734.3635921685473}, {"x": 9125.584070652445, "y": -2734.712566140439}, {"x": 9125.230110444065, "y": -2735.061526647579}, {"x": 9124.87613714385, "y": -2735.4104738751607}, {"x": 9124.522150937159, "y": -2735.759408009166}, {"x": 9124.168152008031, "y": -2736.1083292363637}, {"x": 9123.814140541826, "y": -2736.457237742736}, {"x": 9123.46011672126, "y": -2736.8061337150525}, {"x": 9123.106080733018, "y": -2737.1550173392952}, {"x": 9122.752032759812, "y": -2737.503888802233}, {"x": 9122.39797298833, "y": -2737.8527482898476}, {"x": 9122.04390160261, "y": -2738.201595989697}, {"x": 9121.689818785364, "y": -2738.550432088551}, {"x": 9121.335724724604, "y": -2738.899256773179}, {"x": 9120.981619604365, "y": -2739.2480702303505}, {"x": 9120.627503608686, "y": -2739.5968726468354}, {"x": 9120.27337692293, "y": -2739.9456642109794}, {"x": 9119.919239732457, "y": -2740.2944451087637}, {"x": 9119.56509222263, "y": -2740.6432155285347}, {"x": 9119.210934578809, "y": -2740.9919756570616}, {"x": 9118.856766985034, "y": -2741.3407256819023}, {"x": 9118.502589626665, "y": -2741.6894657906146}, {"x": 9118.148402690389, "y": -2742.038196170756}, {"x": 9117.79420635892, "y": -2742.386917009884}, {"x": 9117.440000820267, "y": -2742.735628496345}, {"x": 9117.085786259791, "y": -2743.084330817696}, {"x": 9116.731562860206, "y": -2743.4330241614953}, {"x": 9116.377330809524, "y": -2743.7817087153003}, {"x": 9116.023090293103, "y": -2744.130384668245}, {"x": 9115.668841494986, "y": -2744.4790522078865}, {"x": 9115.314584600528, "y": -2744.8277115225715}, {"x": 9114.960319797745, "y": -2745.176362799857}, {"x": 9114.606047269348, "y": -2745.525006228877}, {"x": 9114.251767203346, "y": -2745.873641996401}, {"x": 9113.897479783778, "y": -2746.222270292352}, {"x": 9113.543185197332, "y": -2746.570891304286}, {"x": 9113.188883629364, "y": -2746.9195052205496}, {"x": 9112.834575263916, "y": -2747.2681122302765}, {"x": 9112.480260290322, "y": -2747.616712521025}, {"x": 9112.125938889969, "y": -2747.965306281928}, {"x": 9111.771611252194, "y": -2748.3138937021195}, {"x": 9111.417277562357, "y": -2748.6624749691578}, {"x": 9111.062938004496, "y": -2749.011050271388}, {"x": 9110.708592763971, "y": -2749.359619798732}, {"x": 9110.354242030118, "y": -2749.7081837395363}, {"x": 9109.999885984327, "y": -2750.056742282146}, {"x": 9109.645524815933, "y": -2750.405295615695}, {"x": 9109.291158710294, "y": -2750.7538439293176}, {"x": 9108.93678785145, "y": -2751.102387410571}, {"x": 9108.582412426085, "y": -2751.4509262493766}, {"x": 9108.228032620887, "y": -2751.7994606340812}, {"x": 9107.873648619892, "y": -2752.1479907538182}, {"x": 9107.519260611112, "y": -2752.496516797721}, {"x": 9107.164868779908, "y": -2752.8450389541363}, {"x": 9106.810473310316, "y": -2753.1935574129852}, {"x": 9106.456074390348, "y": -2753.5420723610378}, {"x": 9106.101672205365, "y": -2753.8905839897916}, {"x": 9105.747947375981, "y": -2754.23842325097}, {"x": 9105.394219281583, "y": -2754.5862591920613}, {"x": 9105.040487726215, "y": -2754.9340916128995}, {"x": 9104.686752511278, "y": -2755.28192031253}, {"x": 9104.333013439491, "y": -2755.6297450899974}, {"x": 9103.979270314901, "y": -2755.977565745924}, {"x": 9103.625522940232, "y": -2756.325382078567}, {"x": 9103.271771118203, "y": -2756.673193886971}, {"x": 9102.918014650213, "y": -2757.021000972546}, {"x": 9102.564253341634, "y": -2757.3688031327615}, {"x": 9102.210486993863, "y": -2757.716600168238}, {"x": 9101.856715409622, "y": -2758.064391877234}, {"x": 9101.502938392956, "y": -2758.4121780595815}, {"x": 9101.14915574659, "y": -2758.7599585151147}, {"x": 9100.79536727192, "y": -2759.1077330428793}, {"x": 9100.441572774314, "y": -2759.4555014427074}, {"x": 9100.087772055176, "y": -2759.8032635128575}, {"x": 9099.733964917223, "y": -2760.1510190531626}, {"x": 9099.380151164502, "y": -2760.4987678626676}, {"x": 9099.026330599738, "y": -2760.846509741206}, {"x": 9098.672503024325, "y": -2761.1942444878237}, {"x": 9098.31866824496, "y": -2761.5419719015654}, {"x": 9097.964826060392, "y": -2761.8896917822644}, {"x": 9097.610976277316, "y": -2762.237403928967}, {"x": 9097.257118695807, "y": -2762.5851081407172}, {"x": 9096.90325312123, "y": -2762.932804216561}, {"x": 9096.54937935499, "y": -2763.2804919563323}, {"x": 9096.195497201128, "y": -2763.6281711582874}, {"x": 9095.841606462369, "y": -2763.97584162226}, {"x": 9095.487706942758, "y": -2764.323503147295}, {"x": 9095.133798445017, "y": -2764.6711555332267}, {"x": 9094.779880770544, "y": -2765.0187985783123}, {"x": 9094.425953726035, "y": -2765.366432081596}, {"x": 9094.07201711156, "y": -2765.7140558421243}, {"x": 9093.71807073117, "y": -2766.06166965973}, {"x": 9093.364114387585, "y": -2766.4092733334583}, {"x": 9093.010147886174, "y": -2766.7568666615666}, {"x": 9092.656171028337, "y": -2767.104449443889}, {"x": 9092.302183618118, "y": -2767.452021478681}, {"x": 9091.948185458241, "y": -2767.799582565778}, {"x": 9091.59417635275, "y": -2768.1471325034363}, {"x": 9091.24015610437, "y": -2768.494671090701}, {"x": 9090.886124517147, "y": -2768.842198127406}, {"x": 9090.5320813938, "y": -2769.18971341102}, {"x": 9090.178026537053, "y": -2769.5372167421647}, {"x": 9089.823959750953, "y": -2769.8847079183092}, {"x": 9089.469880840868, "y": -2770.232186739287}, {"x": 9089.115789606874, "y": -2770.5796530025673}, {"x": 9088.761685855665, "y": -2770.9271065087714}, {"x": 9088.407569387313, "y": -2771.2745470553687}, {"x": 9088.053440008514, "y": -2771.6219744421924}, {"x": 9087.699297521991, "y": -2771.9693884667117}, {"x": 9087.345141729142, "y": -2772.31678892876}, {"x": 9086.990972436657, "y": -2772.664175626595}, {"x": 9086.63678944594, "y": -2773.0115483592613}, {"x": 9086.282592562357, "y": -2773.358906925016}, {"x": 9085.928381587306, "y": -2773.7062511229055}, {"x": 9085.574156327484, "y": -2774.0535807503984}, {"x": 9085.219916584289, "y": -2774.4008956081157}, {"x": 9084.865662161765, "y": -2774.7481954927393}, {"x": 9084.511392863957, "y": -2775.0954802041024}, {"x": 9084.157108494916, "y": -2775.4427495396735}, {"x": 9083.80280885736, "y": -2775.790003298499}, {"x": 9083.448493757982, "y": -2776.137241279623}, {"x": 9083.094162996862, "y": -2776.484463280516}, {"x": 9082.739816380688, "y": -2776.8316691002224}, {"x": 9082.385453712186, "y": -2777.178858537}, {"x": 9082.0310747954, "y": -2777.526031389106}, {"x": 9081.676679435703, "y": -2777.8731874547966}, {"x": 9081.322267434489, "y": -2778.2203265323305}, {"x": 9080.967838597131, "y": -2778.5674484199644}, {"x": 9080.613392727673, "y": -2778.9145529167436}, {"x": 9080.258929631489, "y": -2779.261639820137}, {"x": 9079.904449109972, "y": -2779.6087089284024}, {"x": 9079.54995096982, "y": -2779.955760039797}, {"x": 9079.195435013755, "y": -2780.302792952578}, {"x": 9078.840901047144, "y": -2780.649807464214}, {"x": 9078.486348872713, "y": -2780.996803373751}, {"x": 9078.130687023424, "y": -2781.3448486828283}, {"x": 9077.775007538285, "y": -2781.6928759690286}, {"x": 9077.419311299092, "y": -2782.040886130738}, {"x": 9077.063599183663, "y": -2782.3888800663417}, {"x": 9076.707872075114, "y": -2782.7368586742255}, {"x": 9076.352130851266, "y": -2783.084822852775}, {"x": 9075.996376393912, "y": -2783.4327735011634}, {"x": 9075.640609580872, "y": -2783.7807115169894}, {"x": 9075.284831293939, "y": -2784.1286377994256}, {"x": 9074.929042410933, "y": -2784.4765532476467}, {"x": 9074.573243813646, "y": -2784.8244587600375}, {"x": 9074.217436379897, "y": -2785.17235523656}, {"x": 9073.861620990157, "y": -2785.520243574812}, {"x": 9073.50579852357, "y": -2785.868124675543}, {"x": 9073.14996985928, "y": -2786.215999437139}, {"x": 9072.794135877755, "y": -2786.5638687579853}, {"x": 9072.438297456814, "y": -2786.9117335388323}, {"x": 9072.082455475605, "y": -2787.259594678853}, {"x": 9071.726610814594, "y": -2787.607453076433}, {"x": 9071.3707643516, "y": -2787.955309631535}, {"x": 9071.014916967097, "y": -2788.303165243332}, {"x": 9070.659069540223, "y": -2788.651020810997}, {"x": 9070.3032229488, "y": -2788.998877234493}, {"x": 9069.947378073299, "y": -2789.3467354129934}, {"x": 9069.591535792862, "y": -2789.694596245672}, {"x": 9069.235696985312, "y": -2790.0424606324896}, {"x": 9068.879862532438, "y": -2790.390329471045}, {"x": 9068.524033310738, "y": -2790.738203662875}, {"x": 9068.168210202004, "y": -2791.0860841055783}, {"x": 9067.812394082734, "y": -2791.433971699116}, {"x": 9067.456585836042, "y": -2791.781867342662}, {"x": 9067.100786338426, "y": -2792.129771934601}, {"x": 9066.744996470354, "y": -2792.4776863748966}, {"x": 9066.389217110971, "y": -2792.825611561933}, {"x": 9066.033449142067, "y": -2793.173548394884}, {"x": 9065.677693440142, "y": -2793.521497771348}, {"x": 9065.32195088831, "y": -2793.869460592074}, {"x": 9064.966222364392, "y": -2794.217437753872}, {"x": 9064.610508748856, "y": -2794.5654301559157}, {"x": 9064.254810923496, "y": -2794.9134386965907}, {"x": 9063.899129766129, "y": -2795.2614642742824}, {"x": 9063.543466159876, "y": -2795.6095077865884}, {"x": 9063.187820982554, "y": -2795.9575701318945}, {"x": 9062.832195117278, "y": -2796.3056522085863}, {"x": 9062.476589444523, "y": -2796.653754912685}, {"x": 9062.121004843426, "y": -2797.0018791433654}, {"x": 9061.76544219711, "y": -2797.3500257974356}, {"x": 9061.40990238736, "y": -2797.698195772494}, {"x": 9061.054386293326, "y": -2798.0463899645615}, {"x": 9060.698894799449, "y": -2798.3946092712363}, {"x": 9060.343428786193, "y": -2798.7428545893276}, {"x": 9059.987989135354, "y": -2799.091126814857}, {"x": 9059.63257673137, "y": -2799.439426844634}, {"x": 9059.277192454712, "y": -2799.7877555738924}, {"x": 9058.921837188494, "y": -2800.136113900229}, {"x": 9058.566511815834, "y": -2800.484502717301}, {"x": 9058.211217219849, "y": -2800.832922921131}, {"x": 9057.855954284976, "y": -2801.1813754077393}, {"x": 9057.500723894336, "y": -2801.529861070784}, {"x": 9057.145526931043, "y": -2801.8783808062863}, {"x": 9056.790364279535, "y": -2802.2269355079034}, {"x": 9056.435236825582, "y": -2802.5755260692927}, {"x": 9056.080145453621, "y": -2802.924153385687}, {"x": 9055.725091046768, "y": -2803.272818349957}, {"x": 9055.370074493438, "y": -2803.6215218557586}, {"x": 9055.015096676745, "y": -2803.9702647951735}, {"x": 9054.660158482455, "y": -2804.319048062647}, {"x": 9054.305260798978, "y": -2804.6678725494726}, {"x": 9053.950404510759, "y": -2805.0167391485193}, {"x": 9053.595590506206, "y": -2805.36564875108}, {"x": 9053.240819671086, "y": -2805.7146022484476}, {"x": 9052.88609289381, "y": -2806.0636005327037}, {"x": 9052.531411061467, "y": -2806.4126444943536}, {"x": 9052.176775063796, "y": -2806.761735023114}, {"x": 9051.822185787882, "y": -2807.110873010278}, {"x": 9051.467644122136, "y": -2807.4600593455625}, {"x": 9051.113150957624, "y": -2807.8092949186844}, {"x": 9050.758707182757, "y": -2808.1585806169974}, {"x": 9050.404313687268, "y": -2808.5079173317936}, {"x": 9050.04997136222, "y": -2808.8573059488504}, {"x": 9049.695681098672, "y": -2809.206747357884}, {"x": 9049.341443787687, "y": -2809.5562424462482}, {"x": 9048.987260320324, "y": -2809.9057921005074}, {"x": 9048.633131587645, "y": -2810.2553972072265}, {"x": 9048.279058484679, "y": -2810.6050586537576}, {"x": 9047.92504190249, "y": -2810.9547773250906}, {"x": 9047.571082734787, "y": -2811.304554107001}, {"x": 9047.217181875274, "y": -2811.6543898844784}, {"x": 9046.863340217664, "y": -2812.0042855417228}, {"x": 9046.509558656986, "y": -2812.3542419637233}, {"x": 9046.155838088276, "y": -2812.7042600338923}, {"x": 9045.802179407889, "y": -2813.054340635642}, {"x": 9045.448583510857, "y": -2813.404484650809}, {"x": 9045.096576348235, "y": -2813.7531803895154}, {"x": 9044.744628457685, "y": -2814.1019359544007}, {"x": 9044.392735979714, "y": -2814.4507474296074}, {"x": 9044.040895052174, "y": -2814.799610903218}, {"x": 9043.689101810274, "y": -2815.1485224625253}, {"x": 9043.33735238922, "y": -2815.4974781995525}, {"x": 9042.985642920248, "y": -2815.8464742055344}, {"x": 9042.633969538565, "y": -2816.195506573281}, {"x": 9042.282328371433, "y": -2816.544571397967}, {"x": 9041.930715548764, "y": -2816.893664774768}, {"x": 9041.579127201792, "y": -2817.242782800433}, {"x": 9041.227559455134, "y": -2817.591921572502}, {"x": 9040.876008438698, "y": -2817.9410771900903}, {"x": 9040.524470278426, "y": -2818.290245750736}, {"x": 9040.17294110158, "y": -2818.639423355919}, {"x": 9039.821417032774, "y": -2818.988606103965}, {"x": 9039.469894200596, "y": -2819.3377900963546}, {"x": 9039.118368729662, "y": -2819.686971433778}, {"x": 9038.766836748557, "y": -2820.0361462161386}, {"x": 9038.41529438322, "y": -2820.385310543339}, {"x": 9038.063737762239, "y": -2820.7344605176468}, {"x": 9037.712163012879, "y": -2821.083592237389}, {"x": 9037.360566265046, "y": -2821.432701804044}, {"x": 9037.00894364998, "y": -2821.7817853151514}, {"x": 9036.657291296266, "y": -2822.130838869826}, {"x": 9036.305605336462, "y": -2822.4798585663953}, {"x": 9035.9538819071, "y": -2822.8288405008207}, {"x": 9035.60211714074, "y": -2823.177780769854}, {"x": 9035.25030717656, "y": -2823.5266754678814}, {"x": 9034.89844815109, "y": -2823.875520687714}, {"x": 9034.546536206162, "y": -2824.2243125229497}, {"x": 9034.194567483597, "y": -2824.573047063247}, {"x": 9033.842538129198, "y": -2824.921720398264}, {"x": 9033.490444288764, "y": -2825.2703286145074}, {"x": 9033.138282113388, "y": -2825.6188677992704}, {"x": 9032.786047754167, "y": -2825.9673340343315}, {"x": 9032.433737367492, "y": -2826.3157234014684}, {"x": 9032.081347109755, "y": -2826.66403198167}, {"x": 9031.728873143966, "y": -2827.01225585041}, {"x": 9031.376311631813, "y": -2827.360391082374}, {"x": 9031.023658741602, "y": -2827.7084337506703}, {"x": 9030.670910645615, "y": -2828.05637992368}, {"x": 9030.31806351613, "y": -2828.404225668208}, {"x": 9029.965113532047, "y": -2828.751967049482}, {"x": 9029.612056876238, "y": -2829.099600126427}, {"x": 9029.258889735545, "y": -2829.4471209571784}, {"x": 9028.905608298137, "y": -2829.794525597508}, {"x": 9028.5522087588, "y": -2830.1418100968835}, {"x": 9028.19868731762, "y": -2830.4889705031956}, {"x": 9027.84504017865, "y": -2830.8360028611837}, {"x": 9027.491263548598, "y": -2831.1829032116466}, {"x": 9027.137353642107, "y": -2831.529667589078}, {"x": 9026.783306676476, "y": -2831.8762920279732}, {"x": 9026.429118874295, "y": -2832.222772556521}, {"x": 9026.074786466103, "y": -2832.569105198971}, {"x": 9025.720305683755, "y": -2832.9152859756327}, {"x": 9025.365672768385, "y": -2833.261310902087}, {"x": 9025.01088396509, "y": -2833.6071759899746}, {"x": 9024.655935525589, "y": -2833.952877245419}, {"x": 9024.300823705576, "y": -2834.298410671393}, {"x": 9023.945544768687, "y": -2834.6437722645637}, {"x": 9023.590094986503, "y": -2834.988958017658}, {"x": 9023.234470633251, "y": -2835.3339639170995}, {"x": 9022.878667991106, "y": -2835.67878594537}, {"x": 9022.522683350182, "y": -2836.0234200794353}, {"x": 9022.166513007216, "y": -2836.3678622915336}, {"x": 9021.810153265566, "y": -2836.7121085460217}, {"x": 9021.453600433884, "y": -2837.056154804105}, {"x": 9021.096850832739, "y": -2837.399997021472}, {"x": 9020.739900784023, "y": -2837.7436311451415}, {"x": 9020.382746622869, "y": -2838.08705311977}, {"x": 9020.025384688384, "y": -2838.430258881345}, {"x": 9019.66781132894, "y": -2838.7732443611244}, {"x": 9019.310022900854, "y": -2839.116005484063}, {"x": 9018.952015771034, "y": -2839.4585381680217}, {"x": 9018.59378630904, "y": -2839.8008383245588}, {"x": 9018.235330897669, "y": -2840.142901860503}, {"x": 9017.876645926337, "y": -2840.484724673226}, {"x": 9017.517727795053, "y": -2840.826302655372}, {"x": 9017.15857291045, "y": -2841.167631691704}, {"x": 9016.799177688423, "y": -2841.5087076606815}, {"x": 9016.439538556786, "y": -2841.8495264328826}, {"x": 9016.079651949975, "y": -2842.190083873369}, {"x": 9015.71951431169, "y": -2842.5303758385335}, {"x": 9015.359122097549, "y": -2842.8703981768895}, {"x": 9014.998471771114, "y": -2843.210146732221}, {"x": 9014.637559806542, "y": -2843.54961733728}], "type": "lane"}, {"geometry": [{"x": 9018.168668964883, "y": -2847.2539861073788}, {"x": 9018.530901252076, "y": -2846.9150951754114}, {"x": 9018.892854158037, "y": -2846.5759058580497}, {"x": 9019.254531155651, "y": -2846.236422344608}, {"x": 9019.615935725747, "y": -2845.896648819672}, {"x": 9019.977071365043, "y": -2845.556589460735}, {"x": 9020.337941580849, "y": -2845.2162484389855}, {"x": 9020.698549889741, "y": -2844.8756299185206}, {"x": 9021.058899822861, "y": -2844.534738057919}, {"x": 9021.418994920621, "y": -2844.1935770086693}, {"x": 9021.77883873402, "y": -2843.8521509167413}, {"x": 9022.138434824654, "y": -2843.510463921802}, {"x": 9022.497786766031, "y": -2843.1685201564255}, {"x": 9022.85689814358, "y": -2842.826323749245}, {"x": 9023.215772548021, "y": -2842.483878821014}, {"x": 9023.574413584642, "y": -2842.141189487757}, {"x": 9023.932824867996, "y": -2841.7982598607705}, {"x": 9024.291010019258, "y": -2841.4550940426825}, {"x": 9024.648972675493, "y": -2841.111696132968}, {"x": 9025.00671647641, "y": -2840.7680702255866}, {"x": 9025.364245076282, "y": -2840.4242204081925}, {"x": 9025.721562134682, "y": -2840.0801507637125}, {"x": 9026.0786713231, "y": -2839.7358653687684}, {"x": 9026.43557632096, "y": -2839.3913682968296}, {"x": 9026.792280815642, "y": -2839.0466636158494}, {"x": 9027.148788505114, "y": -2838.701755385901}, {"x": 9027.505103091313, "y": -2838.3566476670558}, {"x": 9027.86122828942, "y": -2838.011344510719}, {"x": 9028.217167821233, "y": -2837.665849965142}, {"x": 9028.572925413848, "y": -2837.3201680738484}, {"x": 9028.928504804955, "y": -2836.974302876421}, {"x": 9029.283909740183, "y": -2836.6282584069268}, {"x": 9029.639143969136, "y": -2836.28203869628}, {"x": 9029.994211253335, "y": -2835.9356477698793}, {"x": 9030.349115356948, "y": -2835.58908964997}, {"x": 9030.70386005341, "y": -2835.2423683548586}, {"x": 9031.058449122778, "y": -2834.8954878981212}, {"x": 9031.412886353053, "y": -2834.5484522901834}, {"x": 9031.767175536206, "y": -2834.20126553753}, {"x": 9032.12132047083, "y": -2833.853931642706}, {"x": 9032.475324963458, "y": -2833.506454605102}, {"x": 9032.829192825928, "y": -2833.1588384209595}, {"x": 9033.182927875363, "y": -2832.8110870825776}, {"x": 9033.536533932867, "y": -2832.463204578316}, {"x": 9033.890014830133, "y": -2832.115194895746}, {"x": 9034.243374398851, "y": -2831.767062016922}, {"x": 9034.596616479985, "y": -2831.4188099223234}, {"x": 9034.949744915815, "y": -2831.0704425884887}, {"x": 9035.302763556574, "y": -2830.7219639911686}, {"x": 9035.655676255137, "y": -2830.373378101385}, {"x": 9036.008486871002, "y": -2830.024688887795}, {"x": 9036.361199266312, "y": -2829.67590031827}, {"x": 9036.71381730851, "y": -2829.327016356739}, {"x": 9037.066344869007, "y": -2828.9780409663435}, {"x": 9037.418785823187, "y": -2828.628978105497}, {"x": 9037.771144047763, "y": -2828.2798317341885}, {"x": 9038.123423427387, "y": -2827.930605806891}, {"x": 9038.475627848033, "y": -2827.5813042788654}, {"x": 9038.827761198329, "y": -2827.231931103009}, {"x": 9039.179827370872, "y": -2826.882490229066}, {"x": 9039.531830260907, "y": -2826.5329856075696}, {"x": 9039.883773766325, "y": -2826.1834211851115}, {"x": 9040.235661790319, "y": -2825.8338009106483}, {"x": 9040.587498234752, "y": -2825.4841287276204}, {"x": 9040.939287005462, "y": -2825.134408581832}, {"x": 9041.291032010933, "y": -2824.784644415147}, {"x": 9041.6427371623, "y": -2824.434840171794}, {"x": 9041.994406369371, "y": -2824.0849997928485}, {"x": 9042.346043547253, "y": -2823.7351272185983}, {"x": 9042.697652612374, "y": -2823.385226390908}, {"x": 9043.049237479841, "y": -2823.0353012484893}, {"x": 9043.400802068729, "y": -2822.68535573163}, {"x": 9043.752350298117, "y": -2822.3353937806173}, {"x": 9044.103886088407, "y": -2821.9854193325878}, {"x": 9044.45541336, "y": -2821.6354363294054}, {"x": 9044.80693603462, "y": -2821.2854487082054}, {"x": 9045.158458033993, "y": -2820.935460409276}, {"x": 9045.50998328117, "y": -2820.5854753721164}, {"x": 9045.8615156992, "y": -2820.2354975378034}, {"x": 9046.213059209807, "y": -2819.885530845837}, {"x": 9046.564617734717, "y": -2819.535579237292}, {"x": 9046.916195198304, "y": -2819.1856466556096}, {"x": 9047.267795519647, "y": -2818.8357370418653}, {"x": 9047.619422621792, "y": -2818.4858543410755}, {"x": 9047.971080423818, "y": -2818.1360024966802}, {"x": 9048.322772846128, "y": -2817.78618545606}, {"x": 9048.674503806473, "y": -2817.4364071642312}, {"x": 9049.026277221285, "y": -2817.086671571726}, {"x": 9049.378475258867, "y": -2816.73660538749}, {"x": 9049.730719703091, "y": -2816.3865858988174}, {"x": 9050.083010487759, "y": -2816.0366130529087}, {"x": 9050.435347547993, "y": -2815.6866867969648}, {"x": 9050.78773082024, "y": -2815.336807078973}, {"x": 9051.1401602383, "y": -2814.9869738445573}, {"x": 9051.492635739944, "y": -2814.6371870409184}, {"x": 9051.845157257647, "y": -2814.2874466168323}, {"x": 9052.197724726533, "y": -2813.937752517135}, {"x": 9052.550338085697, "y": -2813.588104689815}, {"x": 9052.90299726629, "y": -2813.2385030820715}, {"x": 9053.255702206086, "y": -2812.8889476403174}, {"x": 9053.608452840204, "y": -2812.5394383117527}, {"x": 9053.961249103771, "y": -2812.1899750435778}, {"x": 9054.31409093191, "y": -2811.840557781416}, {"x": 9054.666978259744, "y": -2811.491186474044}, {"x": 9055.019911025041, "y": -2811.1418610662977}, {"x": 9055.372889161605, "y": -2810.7925815053777}, {"x": 9055.725912604557, "y": -2810.4433477392713}, {"x": 9056.078981290348, "y": -2810.0941597136034}, {"x": 9056.432095154096, "y": -2809.745017376362}, {"x": 9056.78525413225, "y": -2809.395920672382}, {"x": 9057.138458159936, "y": -2809.0468695496534}, {"x": 9057.491707172274, "y": -2808.697863953799}, {"x": 9057.845001105714, "y": -2808.348903832807}, {"x": 9058.198339895378, "y": -2807.999989132302}, {"x": 9058.55172347639, "y": -2807.6511197986956}, {"x": 9058.905151786521, "y": -2807.302295779188}, {"x": 9059.258624760894, "y": -2806.95351702098}, {"x": 9059.612142334634, "y": -2806.604783468907}, {"x": 9059.965704442862, "y": -2806.256095070169}, {"x": 9060.319311023353, "y": -2805.9074517711783}, {"x": 9060.672962009903, "y": -2805.5588535191355}, {"x": 9061.026657340284, "y": -2805.2103002596637}, {"x": 9061.38039694962, "y": -2804.8617919391754}, {"x": 9061.734180774358, "y": -2804.513328504083}, {"x": 9062.088008748298, "y": -2804.164909900798}, {"x": 9062.441880810535, "y": -2803.8165360757334}, {"x": 9062.795796894869, "y": -2803.4682069753003}, {"x": 9063.149756937744, "y": -2803.119922545123}, {"x": 9063.503760875614, "y": -2802.771682732402}, {"x": 9063.857808643595, "y": -2802.4234874827607}, {"x": 9064.211900179465, "y": -2802.075336742612}, {"x": 9064.566035418344, "y": -2801.7272304583676}, {"x": 9064.920214295355, "y": -2801.379168575651}, {"x": 9065.27443674827, "y": -2801.031151040875}, {"x": 9065.628702713537, "y": -2800.6831777996636}, {"x": 9065.983012126278, "y": -2800.3352487992165}, {"x": 9066.337364921617, "y": -2799.987363985158}, {"x": 9066.691761038652, "y": -2799.639523303112}, {"x": 9067.046200411178, "y": -2799.291726699491}, {"x": 9067.400682975645, "y": -2798.9439741199185}, {"x": 9067.755208669825, "y": -2798.5962655108065}, {"x": 9068.109777430163, "y": -2798.24860081778}, {"x": 9068.46438919046, "y": -2797.9009799872497}, {"x": 9068.819043889811, "y": -2797.5534029648406}, {"x": 9069.173741463339, "y": -2797.2058696961763}, {"x": 9069.528481847494, "y": -2796.858380127669}, {"x": 9069.883264978718, "y": -2796.510934204943}, {"x": 9070.238090793464, "y": -2796.16353187441}, {"x": 9070.592959228177, "y": -2795.8161730801185}, {"x": 9070.947870220627, "y": -2795.468857770056}, {"x": 9071.302823704616, "y": -2795.1215858882706}, {"x": 9071.657819619237, "y": -2794.7743573811745}, {"x": 9072.012857899615, "y": -2794.4271721943915}, {"x": 9072.367938482199, "y": -2794.0800302743337}, {"x": 9072.723061304756, "y": -2793.7329315658376}, {"x": 9073.078226303736, "y": -2793.3858760145267}, {"x": 9073.433433414262, "y": -2793.038863566025}, {"x": 9073.78868257543, "y": -2792.6918941667454}, {"x": 9074.14397372104, "y": -2792.3449677615226}, {"x": 9074.499306790185, "y": -2791.9980842959817}, {"x": 9074.85468171799, "y": -2791.651243715746}, {"x": 9075.210098442227, "y": -2791.30444596644}, {"x": 9075.565556899342, "y": -2790.957690994476}, {"x": 9075.921057025784, "y": -2790.610978743113}, {"x": 9076.276598759321, "y": -2790.2643091595514}, {"x": 9076.632182036405, "y": -2789.9176821886276}, {"x": 9076.987806792156, "y": -2789.571097776753}, {"x": 9077.343472965671, "y": -2789.2245558671884}, {"x": 9077.699180493397, "y": -2788.8780564071335}, {"x": 9078.05492931178, "y": -2788.5315993422123}, {"x": 9078.41071935727, "y": -2788.1851846156846}, {"x": 9078.766550567638, "y": -2787.8388121747503}, {"x": 9079.122422879329, "y": -2787.492481963458}, {"x": 9079.478336230115, "y": -2787.146193928219}, {"x": 9079.834290556446, "y": -2786.7999480138697}, {"x": 9080.190285796092, "y": -2786.4537441652465}, {"x": 9080.546321884174, "y": -2786.1075823279725}, {"x": 9080.902398759792, "y": -2785.761462446884}, {"x": 9081.25851635939, "y": -2785.415384466817}, {"x": 9081.614674619415, "y": -2785.0693483341843}, {"x": 9081.970873477641, "y": -2784.7233539930326}, {"x": 9082.326174552021, "y": -2784.378312585293}, {"x": 9082.681516122653, "y": -2784.033312884713}, {"x": 9083.03689836298, "y": -2783.6883550796374}, {"x": 9083.392321449097, "y": -2783.3434393592015}, {"x": 9083.747785553125, "y": -2782.9985659141144}, {"x": 9084.10329085116, "y": -2782.653734932722}, {"x": 9084.458837513997, "y": -2782.308946604158}, {"x": 9084.814425717732, "y": -2781.964201119132}, {"x": 9085.170055637132, "y": -2781.619498666779}, {"x": 9085.525727442997, "y": -2781.2748394370196}, {"x": 9085.881441311418, "y": -2780.9302236189887}, {"x": 9086.23719741452, "y": -2780.5856514033953}, {"x": 9086.59299592707, "y": -2780.241122979374}, {"x": 9086.948837021191, "y": -2779.896638536846}, {"x": 9087.30472087033, "y": -2779.5521982665214}, {"x": 9087.660647649252, "y": -2779.207802358322}, {"x": 9088.016617531408, "y": -2778.8634510029588}, {"x": 9088.372630687592, "y": -2778.519144388776}, {"x": 9088.728687292576, "y": -2778.1748827080605}, {"x": 9089.084787518479, "y": -2777.830666150734}, {"x": 9089.440931540074, "y": -2777.4864949059306}, {"x": 9089.797119528155, "y": -2777.1423691659356}, {"x": 9090.153351656172, "y": -2776.798289119884}, {"x": 9090.509628098891, "y": -2776.4542549600606}, {"x": 9090.865949025785, "y": -2776.110266874812}, {"x": 9091.222314610304, "y": -2775.766325057212}, {"x": 9091.578725027215, "y": -2775.4224296971825}, {"x": 9091.935180447314, "y": -2775.0785809854333}, {"x": 9092.291681041403, "y": -2774.7347791126745}, {"x": 9092.648226984245, "y": -2774.391024270404}, {"x": 9093.00481844797, "y": -2774.04731665012}, {"x": 9093.36145560337, "y": -2773.7036564425325}, {"x": 9093.71813862389, "y": -2773.360043839139}, {"x": 9094.074867680332, "y": -2773.016479031438}, {"x": 9094.431642944815, "y": -2772.672962210139}, {"x": 9094.788464590783, "y": -2772.3294935667404}, {"x": 9095.145332787713, "y": -2771.9860732935276}, {"x": 9095.50224770905, "y": -2771.6427015812114}, {"x": 9095.85920952559, "y": -2771.2993786228653}, {"x": 9096.216218408132, "y": -2770.9561046092}, {"x": 9096.573274530121, "y": -2770.6128797317124}, {"x": 9096.930378062354, "y": -2770.269704183477}, {"x": 9097.28752917563, "y": -2769.9265781552044}, {"x": 9097.644728040746, "y": -2769.5835018399675}, {"x": 9098.001974829824, "y": -2769.2404754292656}, {"x": 9098.359269713661, "y": -2768.8974991153837}, {"x": 9098.716612863054, "y": -2768.554573091397}, {"x": 9099.074004448803, "y": -2768.211697548014}, {"x": 9099.431444641703, "y": -2767.868872679886}, {"x": 9099.788933613878, "y": -2767.5260986769345}, {"x": 9100.1464715348, "y": -2767.1833757338095}, {"x": 9100.504058575267, "y": -2766.840704042798}, {"x": 9100.861694906076, "y": -2766.4980837953967}, {"x": 9101.219380696703, "y": -2766.1555151854686}, {"x": 9101.577116119266, "y": -2765.8129984052994}, {"x": 9101.934901341918, "y": -2765.470533648752}, {"x": 9102.29273653678, "y": -2765.128121108111}, {"x": 9102.650621873323, "y": -2764.785760976452}, {"x": 9103.008557521023, "y": -2764.4434534476363}, {"x": 9103.366543650678, "y": -2764.10119871395}, {"x": 9103.724580431759, "y": -2763.758996970044}, {"x": 9104.082668033743, "y": -2763.4168484074153}, {"x": 9104.4408066261, "y": -2763.0747532215028}, {"x": 9104.798996379632, "y": -2762.732711604592}, {"x": 9105.157237463809, "y": -2762.3907237505464}, {"x": 9105.515530046781, "y": -2762.0487898532265}, {"x": 9105.873874299348, "y": -2761.706910106496}, {"x": 9106.232270389657, "y": -2761.3650847050035}, {"x": 9106.590718487185, "y": -2761.0233138410363}, {"x": 9106.9492187614, "y": -2760.6815977100323}, {"x": 9107.30777138178, "y": -2760.3399365058535}, {"x": 9107.666376516474, "y": -2759.998330422362}, {"x": 9108.025034333632, "y": -2759.6567796534205}, {"x": 9108.383745004048, "y": -2759.3152843944667}, {"x": 9108.742508694553, "y": -2758.973844839363}, {"x": 9109.101325574617, "y": -2758.63246118276}, {"x": 9109.460195812391, "y": -2758.2911336185193}, {"x": 9109.819119576023, "y": -2757.949862342867}, {"x": 9110.178575109474, "y": -2757.60819240307}, {"x": 9110.538082255587, "y": -2757.2665767722615}, {"x": 9110.897638788694, "y": -2756.9250131240947}, {"x": 9111.25724248578, "y": -2756.583499133012}, {"x": 9111.616891125152, "y": -2756.24203247188}, {"x": 9111.97658248379, "y": -2755.900610811988}, {"x": 9112.336314342652, "y": -2755.559231824626}, {"x": 9112.696084480045, "y": -2755.2178931802955}, {"x": 9113.055890678244, "y": -2754.876592548711}, {"x": 9113.415730716884, "y": -2754.535327597221}, {"x": 9113.775602379565, "y": -2754.19409599554}, {"x": 9114.13550344989, "y": -2753.852895410229}, {"x": 9114.49543171014, "y": -2753.511723508638}, {"x": 9114.85538494524, "y": -2753.1705779573285}, {"x": 9115.215360938793, "y": -2752.8294564220737}, {"x": 9115.575357475727, "y": -2752.488356567859}, {"x": 9115.935372343616, "y": -2752.14727605967}, {"x": 9116.295403326063, "y": -2751.8062125640677}, {"x": 9116.655448209318, "y": -2751.4651637428856}, {"x": 9117.015504782283, "y": -2751.1241272618977}, {"x": 9117.375570828555, "y": -2750.7831007845125}, {"x": 9117.735644137038, "y": -2750.442081974927}, {"x": 9118.095722493981, "y": -2750.1010684965518}, {"x": 9118.45580368696, "y": -2749.760058012007}, {"x": 9118.815885502223, "y": -2749.4190481854903}, {"x": 9119.175965728673, "y": -2749.078036680411}, {"x": 9119.536042152557, "y": -2748.7370211601783}, {"x": 9119.896112561453, "y": -2748.3959992882014}, {"x": 9120.25617474161, "y": -2748.054968728678}, {"x": 9120.616226479278, "y": -2747.713927144229}, {"x": 9120.976265563359, "y": -2747.3728721998395}, {"x": 9121.336289777451, "y": -2747.0318015597077}, {"x": 9121.696296910459, "y": -2746.6907128872417}, {"x": 9122.056284744658, "y": -2746.3496038490043}, {"x": 9122.416251068948, "y": -2746.0084721091916}, {"x": 9122.776193665606, "y": -2745.667315333578}, {"x": 9123.136110320884, "y": -2745.3261311887245}, {"x": 9123.495998817061, "y": -2744.9849173411926}, {"x": 9123.855856937742, "y": -2744.643671457544}, {"x": 9124.215682466527, "y": -2744.302391205916}, {"x": 9124.57547318437, "y": -2743.961074254447}, {"x": 9124.935226872229, "y": -2743.6197182728497}, {"x": 9125.294941311056, "y": -2743.2783209308386}, {"x": 9125.654614281808, "y": -2742.936879898915}, {"x": 9126.014243561467, "y": -2742.595392847581}, {"x": 9126.373826928339, "y": -2742.2538574504906}, {"x": 9126.73336216073, "y": -2741.9122713797215}, {"x": 9127.092847032978, "y": -2741.570632309716}, {"x": 9127.45227932074, "y": -2741.228937915704}, {"x": 9127.811656798349, "y": -2740.8871858737043}, {"x": 9128.170977238819, "y": -2740.5453738605224}, {"x": 9128.53023841251, "y": -2740.203499554541}, {"x": 9128.889438089785, "y": -2739.8615606349304}, {"x": 9129.248574042333, "y": -2739.519554782437}, {"x": 9129.607644035217, "y": -2739.177479679384}, {"x": 9129.966645834831, "y": -2738.8353330088817}, {"x": 9130.325577208889, "y": -2738.493112454829}, {"x": 9130.684435918483, "y": -2738.1508157034887}, {"x": 9131.043219728685, "y": -2737.808440441912}, {"x": 9131.401926396611, "y": -2737.465984358726}, {"x": 9131.760553684686, "y": -2737.1234451441337}, {"x": 9132.11909934738, "y": -2736.780820490703}, {"x": 9132.47756114314, "y": -2736.438108090212}, {"x": 9132.835936823794, "y": -2736.09530563917}, {"x": 9133.194224143817, "y": -2735.752410834084}, {"x": 9133.55242085371, "y": -2735.4094213722497}, {"x": 9133.910524700004, "y": -2735.0663349556908}, {"x": 9134.26853343188, "y": -2734.7231492848564}, {"x": 9134.626444793215, "y": -2734.3798620633456}, {"x": 9134.984256527896, "y": -2734.0364709986993}, {"x": 9135.341966374508, "y": -2733.6929737968817}, {"x": 9135.69957207561, "y": -2733.349368168586}, {"x": 9136.05707136449, "y": -2733.005651826081}, {"x": 9136.414461978413, "y": -2732.6618224816348}, {"x": 9136.771741649345, "y": -2732.317877851457}, {"x": 9137.12890810528, "y": -2731.9738156549092}, {"x": 9137.485959078183, "y": -2731.629633611353}, {"x": 9137.842892289429, "y": -2731.285329444089}, {"x": 9138.19970546569, "y": -2730.9409008772077}, {"x": 9138.55639632569, "y": -2730.596345637951}, {"x": 9138.912962589482, "y": -2730.2516614575006}, {"x": 9139.269401971816, "y": -2729.906846065463}, {"x": 9139.625712186125, "y": -2729.5618971985373}, {"x": 9139.981890944515, "y": -2729.2168125934213}, {"x": 9140.337935953796, "y": -2728.871589989178}, {"x": 9140.693844919453, "y": -2728.5262271280226}, {"x": 9141.04961554565, "y": -2728.1807217553223}, {"x": 9141.40524553125, "y": -2727.835071619597}, {"x": 9141.760732573799, "y": -2727.4892744701538}, {"x": 9142.116074368188, "y": -2727.1433280610286}, {"x": 9142.471268605339, "y": -2726.797230147045}, {"x": 9142.826312973528, "y": -2726.450978489332}, {"x": 9143.181205159703, "y": -2726.10457084823}, {"x": 9143.535942846842, "y": -2725.7580049888074}, {"x": 9143.89052371263, "y": -2725.4112786800733}, {"x": 9144.244945434742, "y": -2725.064389692613}, {"x": 9144.59920568557, "y": -2724.7173358001633}, {"x": 9144.9533021375, "y": -2724.3701147811903}, {"x": 9145.307232454968, "y": -2724.0227244149473}], "type": "lane"}, {"geometry": [{"x": 8994.978878218177, "y": -2867.8387419073983}, {"x": 8995.355064719497, "y": -2867.5212699832987}, {"x": 8995.730998494608, "y": -2867.203498824279}, {"x": 8996.106679123797, "y": -2866.8854284177296}, {"x": 8996.482106188676, "y": -2866.5670587518307}, {"x": 8996.857279270858, "y": -2866.2483898179134}, {"x": 8997.232197954603, "y": -2865.9294216088847}, {"x": 8997.606861822846, "y": -2865.6101541200164}, {"x": 8997.981270459846, "y": -2865.2905873473687}, {"x": 8998.355423452515, "y": -2864.970721290153}, {"x": 8998.729320386434, "y": -2864.6505559499456}, {"x": 8999.102960849834, "y": -2864.330091328323}, {"x": 8999.47634442698, "y": -2864.009327429225}, {"x": 8999.849470708745, "y": -2863.6882642589558}, {"x": 9000.222339283368, "y": -2863.366901825397}, {"x": 9000.594949739076, "y": -2863.0452401356397}, {"x": 9000.967301665427, "y": -2862.723279202294}, {"x": 9001.339394653303, "y": -2862.4010190363924}, {"x": 9001.711228293581, "y": -2862.0784596505437}, {"x": 9002.082802175819, "y": -2861.7556010605094}, {"x": 9002.454115892218, "y": -2861.43244328205}, {"x": 9002.82516903234, "y": -2861.108986332503}, {"x": 9003.195961191032, "y": -2860.785230229994}, {"x": 9003.566491956528, "y": -2860.461174993436}, {"x": 9003.936760922355, "y": -2860.136820644107}, {"x": 9004.306767679394, "y": -2859.8121672040725}, {"x": 9004.676511822498, "y": -2859.4872146953976}, {"x": 9005.045992939897, "y": -2859.1619631417248}, {"x": 9005.415210626445, "y": -2858.836412567483}, {"x": 9005.784164473022, "y": -2858.5105629986792}, {"x": 9006.15285407183, "y": -2858.18441446053}, {"x": 9006.52127901375, "y": -2857.8579669798305}, {"x": 9006.889438890988, "y": -2857.5312205841624}, {"x": 9007.257333293099, "y": -2857.2041753018952}, {"x": 9007.62496181361, "y": -2856.8768311621875}, {"x": 9007.992324040753, "y": -2856.549188193409}, {"x": 9008.359419565411, "y": -2856.2212464255067}, {"x": 9008.726247977138, "y": -2855.893005888426}, {"x": 9009.09280886549, "y": -2855.5644666129015}, {"x": 9009.459101818697, "y": -2855.2356286304553}, {"x": 9009.825126424996, "y": -2854.906491971034}, {"x": 9010.19088227129, "y": -2854.5770566669476}, {"x": 9010.556368947138, "y": -2854.24732274893}, {"x": 9010.921586034152, "y": -2853.9172902492924}, {"x": 9011.286533121887, "y": -2853.5869591995565}, {"x": 9011.651209791957, "y": -2853.2563296312446}, {"x": 9012.015615629944, "y": -2852.925401577456}, {"x": 9012.379750218784, "y": -2852.5941750681354}, {"x": 9012.743613137442, "y": -2852.2626501363825}, {"x": 9013.107203970178, "y": -2851.930826813719}, {"x": 9013.47052229463, "y": -2851.598705130091}, {"x": 9013.833567691088, "y": -2851.266285118597}, {"x": 9014.196339735869, "y": -2850.9335668083954}, {"x": 9014.55883800661, "y": -2850.6005502302205}, {"x": 9014.921062076979, "y": -2850.2672354148062}, {"x": 9015.283011521971, "y": -2849.933622391311}, {"x": 9015.644685913929, "y": -2849.5997111896804}, {"x": 9016.006084823872, "y": -2849.265501837497}, {"x": 9016.367207821495, "y": -2848.930994363919}, {"x": 9016.728054476494, "y": -2848.59618879574}, {"x": 9017.088624353271, "y": -2848.2610851605427}, {"x": 9017.44891701755, "y": -2847.9256834835437}, {"x": 9017.808932035052, "y": -2847.58998379075}, {"x": 9018.168668964883, "y": -2847.2539861073788}], "type": "lane"}, {"geometry": [{"x": 9020.544481194132, "y": -2848.7623518336495}, {"x": 9020.896429778464, "y": -2848.4281618085784}, {"x": 9021.248084912604, "y": -2848.093662998905}, {"x": 9021.599464501178, "y": -2847.758874738835}, {"x": 9021.950585369737, "y": -2847.4238151363547}, {"x": 9022.301463287273, "y": -2847.0885011142127}, {"x": 9022.652113009904, "y": -2846.752948458778}, {"x": 9023.00254830604, "y": -2846.417171863385}, {"x": 9023.352781993446, "y": -2846.0811849779793}, {"x": 9023.702825976321, "y": -2845.74500044852}, {"x": 9024.052691281042, "y": -2845.4086299674177}, {"x": 9024.402388086617, "y": -2845.0720843089957}, {"x": 9024.75192576838, "y": -2844.7353733807145}, {"x": 9025.101312927118, "y": -2844.3985062617844}, {"x": 9025.450557436734, "y": -2844.0614912473}, {"x": 9025.79966646808, "y": -2843.7243358923697}, {"x": 9026.148646536622, "y": -2843.387047049154}, {"x": 9026.497503538189, "y": -2843.0496309149366}, {"x": 9026.846242784719, "y": -2842.712093072319}, {"x": 9027.194869043984, "y": -2842.3744385262544}, {"x": 9027.543386574005, "y": -2842.0366717536976}, {"x": 9027.891799172052, "y": -2841.6987967367036}, {"x": 9028.240110199793, "y": -2841.360817011287}, {"x": 9028.58832263096, "y": -2841.022735702884}, {"x": 9028.936439088422, "y": -2840.684555568908}, {"x": 9029.284461882584, "y": -2840.346279042093}, {"x": 9029.6323930458, "y": -2840.0079082691077}, {"x": 9029.980234381379, "y": -2839.669445152323}, {"x": 9030.327987494025, "y": -2839.3308913876394}, {"x": 9030.675653832204, "y": -2838.992248511768}, {"x": 9031.023234727878, "y": -2838.6535179361213}, {"x": 9031.370731434881, "y": -2838.31470099094}, {"x": 9031.725072897998, "y": -2837.9690394212867}, {"x": 9032.07932970904, "y": -2837.6232910927984}, {"x": 9032.43350353097, "y": -2837.2774577510227}, {"x": 9032.787596030721, "y": -2836.931541142295}, {"x": 9033.141608875223, "y": -2836.5855430121624}, {"x": 9033.495543731407, "y": -2836.239465103809}, {"x": 9033.84940227018, "y": -2835.8933091588415}, {"x": 9034.203186161118, "y": -2835.5470769196554}, {"x": 9034.556897075128, "y": -2835.200770125494}, {"x": 9034.91053668576, "y": -2834.8543905163883}, {"x": 9035.26410666657, "y": -2834.507939830793}, {"x": 9035.617608692428, "y": -2834.161419804799}, {"x": 9035.971044439539, "y": -2833.814832174498}, {"x": 9036.324415582776, "y": -2833.4681786751917}, {"x": 9036.677723800987, "y": -2833.1214610421835}, {"x": 9037.030970774347, "y": -2832.7746810068356}, {"x": 9037.384158180377, "y": -2832.4278403036633}, {"x": 9037.73728769925, "y": -2832.080940662452}, {"x": 9038.090361013788, "y": -2831.7339838145654}, {"x": 9038.443379805483, "y": -2831.3869714897887}, {"x": 9038.79634575716, "y": -2831.039905417121}, {"x": 9039.149260554283, "y": -2830.692787325561}, {"x": 9039.502125878349, "y": -2830.3456189417416}, {"x": 9039.854943417475, "y": -2829.998401992298}, {"x": 9040.207714854481, "y": -2829.651138204652}, {"x": 9040.560441880132, "y": -2829.3038293030736}, {"x": 9040.913126177245, "y": -2828.956477012621}, {"x": 9041.26576943791, "y": -2828.609083057564}, {"x": 9041.618373347597, "y": -2828.261649161385}, {"x": 9041.970939597068, "y": -2827.914177047565}, {"x": 9042.323469877087, "y": -2827.566668438799}, {"x": 9042.675965874445, "y": -2827.2191250554156}, {"x": 9043.028429282558, "y": -2826.871548620109}, {"x": 9043.380861792188, "y": -2826.523940853998}, {"x": 9043.733265095421, "y": -2826.1763034766227}, {"x": 9044.085640883026, "y": -2825.828638208314}, {"x": 9044.43799084841, "y": -2825.4809467694004}, {"x": 9044.790316683664, "y": -2825.133230878637}, {"x": 9045.14262008485, "y": -2824.785492255564}, {"x": 9045.494902741402, "y": -2824.437732618148}, {"x": 9045.847166350712, "y": -2824.0899536843535}, {"x": 9046.199412604861, "y": -2823.742157173723}, {"x": 9046.551643199915, "y": -2823.394344801858}, {"x": 9046.903859829283, "y": -2823.0465182882995}, {"x": 9047.2560641877, "y": -2822.6986793494366}, {"x": 9047.608145901504, "y": -2822.3509403890753}, {"x": 9047.96021872721, "y": -2822.0031924290965}, {"x": 9048.312284346315, "y": -2821.6554371724924}, {"x": 9048.664344437668, "y": -2821.307676321467}, {"x": 9049.016400685412, "y": -2820.959911577438}, {"x": 9049.368454767071, "y": -2820.6121446418206}, {"x": 9049.720508366789, "y": -2820.2643772168194}, {"x": 9050.072563163416, "y": -2819.916611004639}, {"x": 9050.424620839769, "y": -2819.568847706695}, {"x": 9050.776683074699, "y": -2819.2210890251927}, {"x": 9051.128751551023, "y": -2818.873336662336}, {"x": 9051.480827948915, "y": -2818.5255923187533}, {"x": 9051.832913948547, "y": -2818.177857698225}, {"x": 9052.185011231415, "y": -2817.8301345021673}, {"x": 9052.53712147769, "y": -2817.482424433573}, {"x": 9052.889246366221, "y": -2817.134729193858}, {"x": 9053.241387579828, "y": -2816.7870504875914}, {"x": 9053.593546794713, "y": -2816.439390016189}, {"x": 9053.945725693691, "y": -2816.0917494842192}, {"x": 9054.297925952966, "y": -2815.744130595463}, {"x": 9054.650149254034, "y": -2815.396535052913}, {"x": 9055.002397274417, "y": -2815.048964561137}, {"x": 9055.35467169164, "y": -2814.7014208247037}, {"x": 9055.706974184552, "y": -2814.3539055489705}, {"x": 9056.059306430676, "y": -2814.0064204392934}, {"x": 9056.411670104888, "y": -2813.6589672018167}, {"x": 9056.764066886035, "y": -2813.3115475418977}, {"x": 9057.116498448995, "y": -2812.9641631672566}, {"x": 9057.468966469967, "y": -2812.6168157848265}, {"x": 9057.82147262383, "y": -2812.269507102328}, {"x": 9058.17401858413, "y": -2811.9222388282706}, {"x": 9058.526606024421, "y": -2811.575012671162}, {"x": 9058.879236619583, "y": -2811.2278303418757}, {"x": 9059.231912040515, "y": -2810.880693548921}, {"x": 9059.584633959448, "y": -2810.5336040039583}, {"x": 9059.937404048611, "y": -2810.186563418649}, {"x": 9060.29022397758, "y": -2809.839573505442}, {"x": 9060.64309541726, "y": -2809.492635976787}, {"x": 9060.996020034585, "y": -2809.14575254592}, {"x": 9061.348999499134, "y": -2808.7989249276557}, {"x": 9061.702035477838, "y": -2808.4521548375947}, {"x": 9062.05512963763, "y": -2808.1054439913382}, {"x": 9062.408283645442, "y": -2807.758794106064}, {"x": 9062.761499162909, "y": -2807.412206899738}, {"x": 9063.114777856963, "y": -2807.0656840895367}, {"x": 9063.46812138924, "y": -2806.7192273973665}, {"x": 9063.821531421376, "y": -2806.3728385419813}, {"x": 9064.17476852025, "y": -2806.026752880717}, {"x": 9064.52806775636, "y": -2805.680730654148}, {"x": 9064.881423203427, "y": -2805.3347658304815}, {"x": 9065.23482893517, "y": -2804.98885237556}, {"x": 9065.588279030606, "y": -2804.6429842504986}, {"x": 9065.941767567425, "y": -2804.2971554164124}, {"x": 9066.295288628613, "y": -2803.951359830475}, {"x": 9066.64883629716, "y": -2803.6055914498615}, {"x": 9067.002404660025, "y": -2803.2598442301705}, {"x": 9067.355987801518, "y": -2802.9141121246357}, {"x": 9067.709579808601, "y": -2802.5683890864916}, {"x": 9068.063174768231, "y": -2802.2226690689718}, {"x": 9068.416766770019, "y": -2801.876946025311}, {"x": 9068.770349899596, "y": -2801.5312139071675}, {"x": 9069.1239182426, "y": -2801.185466668563}, {"x": 9069.477465888638, "y": -2800.83969826352}, {"x": 9069.830986919374, "y": -2800.493902647637}, {"x": 9070.184475420445, "y": -2800.1480737765114}, {"x": 9070.537925473513, "y": -2799.8022056081068}, {"x": 9070.89133115759, "y": -2799.456292103538}, {"x": 9071.244686550373, "y": -2799.110327225495}, {"x": 9071.597985726903, "y": -2798.7643049374574}, {"x": 9071.951222759575, "y": -2798.4182192084204}, {"x": 9072.304391716814, "y": -2798.072064009744}, {"x": 9072.657486663069, "y": -2797.725833315151}, {"x": 9073.010501661469, "y": -2797.3795211030933}, {"x": 9073.36343076852, "y": -2797.033121355964}, {"x": 9073.716268035436, "y": -2796.6866280616714}, {"x": 9074.0690075121, "y": -2796.3400352104886}, {"x": 9074.421643239135, "y": -2795.993336800569}, {"x": 9074.774169254508, "y": -2795.64652683243}, {"x": 9075.126579590898, "y": -2795.2995993136824}, {"x": 9075.478868274358, "y": -2794.952548259028}, {"x": 9075.831029321675, "y": -2794.6053676878983}, {"x": 9076.182443207472, "y": -2794.258665857021}, {"x": 9076.533743970953, "y": -2793.9118493976516}, {"x": 9076.884951657668, "y": -2793.564938681079}, {"x": 9077.236086333032, "y": -2793.217954061255}, {"x": 9077.58716807437, "y": -2792.8709158795214}, {"x": 9077.938216964305, "y": -2792.523844466976}, {"x": 9078.289253098703, "y": -2792.176760151563}, {"x": 9078.640296569454, "y": -2791.829683256501}, {"x": 9078.991367468452, "y": -2791.48263410737}, {"x": 9079.342485886264, "y": -2791.135633035268}, {"x": 9079.693671900217, "y": -2790.7887003775963}, {"x": 9080.044945578371, "y": -2790.4418564851544}, {"x": 9080.396326974222, "y": -2790.095121723715}, {"x": 9080.747836120081, "y": -2789.7485164771742}, {"x": 9081.099493027075, "y": -2789.402061151496}, {"x": 9081.451317678528, "y": -2789.055776178649}, {"x": 9081.80333003128, "y": -2788.7096820205484}, {"x": 9082.155550007752, "y": -2788.363799169843}, {"x": 9082.50799749064, "y": -2788.0181481570094}, {"x": 9082.860692326894, "y": -2787.672749551138}, {"x": 9083.2136543158, "y": -2787.3276239630877}, {"x": 9083.566903210301, "y": -2786.9827920509993}, {"x": 9083.920458714356, "y": -2786.63827452345}, {"x": 9084.274340473661, "y": -2786.2940921410286}, {"x": 9084.62856807831, "y": -2785.950265720276}, {"x": 9084.98316105219, "y": -2785.606816138414}, {"x": 9085.338138858293, "y": -2785.263764334921}, {"x": 9085.693520885454, "y": -2784.9211313162587}, {"x": 9086.049326453667, "y": -2784.5789381582395}, {"x": 9086.405574803486, "y": -2784.237206009177}, {"x": 9086.762285092047, "y": -2783.8959560946137}, {"x": 9087.11947639705, "y": -2783.5552097181107}, {"x": 9087.477167704837, "y": -2783.214988265974}, {"x": 9087.838884355308, "y": -2782.8719826134966}, {"x": 9088.201117019844, "y": -2782.5295219580003}, {"x": 9088.563852643683, "y": -2782.1875940964137}, {"x": 9088.927078228995, "y": -2781.8461867697133}, {"x": 9089.290780829582, "y": -2781.505287667651}, {"x": 9089.65494755618, "y": -2781.1648844256033}, {"x": 9090.019565571165, "y": -2780.8249646292998}, {"x": 9090.384622085898, "y": -2780.485515814821}, {"x": 9090.7501043647, "y": -2780.14652546939}, {"x": 9091.115999718237, "y": -2779.807981035308}, {"x": 9091.482295504831, "y": -2779.469869909958}, {"x": 9091.848979129156, "y": -2779.132179446593}, {"x": 9092.216038040891, "y": -2778.7948969551207}, {"x": 9092.58345973209, "y": -2778.458009706048}, {"x": 9092.9512317385, "y": -2778.1215049304774}, {"x": 9093.319341632936, "y": -2777.785369821685}, {"x": 9093.687777030585, "y": -2777.4495915343327}, {"x": 9094.056525585029, "y": -2777.114157190771}, {"x": 9094.425574985597, "y": -2776.779053877889}, {"x": 9094.794912954721, "y": -2776.444268648688}, {"x": 9095.16452725323, "y": -2776.1097885278004}, {"x": 9095.534405671075, "y": -2775.775600507548}, {"x": 9095.904536028667, "y": -2775.441691553458}, {"x": 9096.274906180837, "y": -2775.1080486026876}, {"x": 9096.645504006248, "y": -2774.7746585663895}, {"x": 9097.016317412696, "y": -2774.4415083328604}, {"x": 9097.387334333127, "y": -2774.1085847651816}, {"x": 9097.758542724321, "y": -2773.775874705943}, {"x": 9098.129930568219, "y": -2773.4433649756697}, {"x": 9098.501485863966, "y": -2773.1110423767614}, {"x": 9098.87319663587, "y": -2772.778893693493}, {"x": 9099.245050921478, "y": -2772.4469056928006}, {"x": 9099.61703678084, "y": -2772.1150651266494}, {"x": 9099.989142284609, "y": -2771.7833587320292}, {"x": 9100.361355523284, "y": -2771.451773234899}, {"x": 9100.733664595318, "y": -2771.120295347819}, {"x": 9101.10605761505, "y": -2770.7889117738946}, {"x": 9101.478522702115, "y": -2770.457609206773}, {"x": 9101.851047989387, "y": -2770.1263743330096}, {"x": 9102.223621615036, "y": -2769.795193832067}, {"x": 9102.596231723852, "y": -2769.4640543786795}, {"x": 9102.968866461953, "y": -2769.1329426428533}, {"x": 9103.341513982072, "y": -2768.8018452938068}, {"x": 9103.714162438268, "y": -2768.4707489976045}, {"x": 9104.086799983275, "y": -2768.1396404203133}, {"x": 9104.459414767181, "y": -2767.8085062295745}, {"x": 9104.831994941396, "y": -2767.477333095394}, {"x": 9105.204528649389, "y": -2767.1461076925066}, {"x": 9105.577004031975, "y": -2766.8148166995866}, {"x": 9105.949409219384, "y": -2766.4834468008253}, {"x": 9106.321732336544, "y": -2766.1519846898705}, {"x": 9106.693961497796, "y": -2765.820417066674}, {"x": 9107.066084804235, "y": -2765.4887306445853}, {"x": 9107.438090346372, "y": -2765.156912144834}, {"x": 9107.809966201468, "y": -2764.8249483044115}, {"x": 9108.181700426934, "y": -2764.492825872129}, {"x": 9108.553281068256, "y": -2764.160531612559}, {"x": 9108.924696148417, "y": -2763.8280523076132}, {"x": 9109.295572407067, "y": -2763.495702774473}, {"x": 9109.666271696866, "y": -2763.1631558565505}, {"x": 9110.036794253483, "y": -2762.8304120290445}, {"x": 9110.407140315241, "y": -2762.497471767942}, {"x": 9110.77731012179, "y": -2762.164335546865}, {"x": 9111.147303910126, "y": -2761.8310038394366}, {"x": 9111.517121922543, "y": -2761.497477120067}, {"x": 9111.886764397363, "y": -2761.163755860803}, {"x": 9112.256231576883, "y": -2760.8298405344794}, {"x": 9112.625523703393, "y": -2760.495731612354}, {"x": 9112.994641017865, "y": -2760.161429567262}, {"x": 9113.363583765244, "y": -2759.8269348688855}, {"x": 9113.732352186496, "y": -2759.4922479884826}, {"x": 9114.100946529215, "y": -2759.157369395736}, {"x": 9114.469367035696, "y": -2758.822299560328}, {"x": 9114.837613952199, "y": -2758.4870389511525}, {"x": 9115.20568752632, "y": -2758.1515880363163}, {"x": 9115.573588003, "y": -2757.815947283925}, {"x": 9115.941315631155, "y": -2757.480117161297}, {"x": 9116.308870658373, "y": -2757.1440981365386}, {"x": 9116.676253333568, "y": -2756.8078906753917}, {"x": 9117.043463904332, "y": -2756.471495243599}, {"x": 9117.41050262355, "y": -2756.134912307689}, {"x": 9117.777369740139, "y": -2755.7981423310407}, {"x": 9118.144065504333, "y": -2755.461185780184}, {"x": 9118.510590169022, "y": -2755.1240431177093}, {"x": 9118.876943987092, "y": -2754.7867148069936}, {"x": 9119.243127210106, "y": -2754.449201312991}, {"x": 9119.60914009227, "y": -2754.111503095927}, {"x": 9119.974982889125, "y": -2753.7736206191803}, {"x": 9120.340655853552, "y": -2753.4355543445517}, {"x": 9120.706159241088, "y": -2753.0973047322673}, {"x": 9121.071493308591, "y": -2752.7588722433406}, {"x": 9121.436658311597, "y": -2752.420257337997}, {"x": 9121.80165450696, "y": -2752.081460474887}, {"x": 9122.16648215419, "y": -2751.7424821150234}, {"x": 9122.531141510148, "y": -2751.4033227146915}, {"x": 9122.895632834334, "y": -2751.063982734117}, {"x": 9123.259956386259, "y": -2750.724462628798}, {"x": 9123.624112424104, "y": -2750.3847628573826}, {"x": 9123.988101211347, "y": -2750.0448838761577}, {"x": 9124.351923006172, "y": -2749.704826141407}, {"x": 9124.715578073381, "y": -2749.364590107841}, {"x": 9125.07906667248, "y": -2749.0241762317446}, {"x": 9125.442389068272, "y": -2748.683584967039}, {"x": 9125.805545522911, "y": -2748.3428167684333}, {"x": 9126.1685363012, "y": -2748.0018720882726}, {"x": 9126.531361666617, "y": -2747.6607513812664}, {"x": 9126.894021886612, "y": -2747.3194550989715}, {"x": 9127.256517223343, "y": -2746.9779836937328}, {"x": 9127.61884794558, "y": -2746.636337617895}, {"x": 9127.98101431945, "y": -2746.294517322228}, {"x": 9128.343016612407, "y": -2745.952523256712}, {"x": 9128.704855090577, "y": -2745.6103558721165}, {"x": 9129.066530024054, "y": -2745.2680156184215}, {"x": 9129.42804168294, "y": -2744.9255029440324}, {"x": 9129.789390333364, "y": -2744.5828182981422}, {"x": 9130.150576248068, "y": -2744.2399621283666}, {"x": 9130.511599695828, "y": -2743.8969348831115}, {"x": 9130.872460948069, "y": -2743.553737009205}, {"x": 9131.233160277534, "y": -2743.210368953476}, {"x": 9131.593697954324, "y": -2742.866831161965}, {"x": 9131.954074253832, "y": -2742.5231240799244}, {"x": 9132.314289446158, "y": -2742.179248153395}, {"x": 9132.674343806695, "y": -2741.835203826841}, {"x": 9133.034237608192, "y": -2741.4909915447265}, {"x": 9133.393971127367, "y": -2741.1466117491527}, {"x": 9133.753544638288, "y": -2740.802064885372}, {"x": 9134.112958417676, "y": -2740.457351394696}, {"x": 9134.472212739602, "y": -2740.1124717208018}, {"x": 9134.831307882107, "y": -2739.767426303425}, {"x": 9135.190244121912, "y": -2739.4222155854545}, {"x": 9135.54902173838, "y": -2739.076840007414}, {"x": 9135.907641008233, "y": -2738.7313000082518}, {"x": 9136.266102209513, "y": -2738.3855960292804}, {"x": 9136.624405622908, "y": -2738.039728508659}, {"x": 9136.982551527788, "y": -2737.6936978861245}, {"x": 9137.340540203519, "y": -2737.3475045982605}, {"x": 9137.698371930792, "y": -2737.0011490848033}, {"x": 9138.056046992942, "y": -2736.6546317823368}, {"x": 9138.413565669342, "y": -2736.3079531266562}, {"x": 9138.770928243324, "y": -2735.9611135559226}, {"x": 9139.128134995584, "y": -2735.614113503567}, {"x": 9139.485186212105, "y": -2735.2669534069614}, {"x": 9139.84208217358, "y": -2734.9196336995374}, {"x": 9140.198823165996, "y": -2734.572154816303}, {"x": 9140.555409474015, "y": -2734.224517191478}, {"x": 9140.911841380974, "y": -2733.8767212569173}, {"x": 9141.268119174185, "y": -2733.528767446842}, {"x": 9141.624243138313, "y": -2733.180656192318}, {"x": 9141.98021355934, "y": -2732.8323879267778}, {"x": 9142.33603072458, "y": -2732.483963079713}, {"x": 9142.691694922669, "y": -2732.1353820837667}, {"x": 9143.047206438267, "y": -2731.7866453676424}, {"x": 9143.402565562657, "y": -2731.4377533624074}, {"x": 9143.75777258315, "y": -2731.0887064967656}, {"x": 9144.112827789706, "y": -2730.739505200208}, {"x": 9144.467731469635, "y": -2730.3901498998616}, {"x": 9144.822483915545, "y": -2730.040641025218}, {"x": 9145.177085416068, "y": -2729.6909790026166}, {"x": 9145.531536262488, "y": -2729.341164259184}, {"x": 9145.885836746087, "y": -2728.991197222048}, {"x": 9146.239987159475, "y": -2728.6410783159713}, {"x": 9146.59398779393, "y": -2728.2908079665053}, {"x": 9146.947838942066, "y": -2727.940386599989}, {"x": 9147.301540896482, "y": -2727.5898146388213}, {"x": 9147.655093952435, "y": -2727.239092508553}], "type": "lane"}, {"geometry": [{"x": 9014.637559806542, "y": -2843.54961733728}, {"x": 9014.278322989388, "y": -2843.886143456602}, {"x": 9013.916351520771, "y": -2844.2197227599013}, {"x": 9013.54936348608, "y": -2844.5477685206706}, {"x": 9013.175329214977, "y": -2844.867747997497}, {"x": 9012.792512703129, "y": -2845.1771557118227}, {"x": 9012.399506243079, "y": -2845.473499794053}, {"x": 9011.995258420497, "y": -2845.7543010158274}, {"x": 9011.57909517525, "y": -2846.017103692004}, {"x": 9011.150733254693, "y": -2846.2594971899066}, {"x": 9010.710285271402, "y": -2846.479146430301}, {"x": 9010.258255557674, "y": -2846.6738293894837}, {"x": 9009.7955261191, "y": -2846.841479355714}, {"x": 9009.323332330974, "y": -2846.9802294710184}, {"x": 9008.84322834052, "y": -2847.0884569758955}, {"x": 9008.357042621119, "y": -2847.1648246122836}, {"x": 9007.866824607969, "y": -2847.2083167575784}, {"x": 9007.374783778947, "y": -2847.2182681611525}, {"x": 9006.883223040883, "y": -2847.194383532313}, {"x": 9006.394468530405, "y": -2847.136746764519}, {"x": 9005.910798213918, "y": -2847.045819152791}, {"x": 9005.434371738758, "y": -2846.9224265988114}, {"x": 9004.967163889643, "y": -2846.7677364420297}, {"x": 9004.510903839004, "y": -2846.5832251556076}, {"x": 9004.06702201965, "y": -2846.3706386795393}, {"x": 9003.636606002045, "y": -2846.13194761091}, {"x": 9003.220366334788, "y": -2845.869299747069}, {"x": 9002.818612703115, "y": -2845.5849727028776}, {"x": 9002.431240390863, "y": -2845.28132931611}, {"x": 9002.05772652955, "y": -2844.960778527483}, {"x": 9001.697135387805, "y": -2844.625744197221}, {"x": 9001.348131786262, "y": -2844.2786440962273}, {"x": 9001.009001709788, "y": -2843.9218809490208}, {"x": 9000.677679455037, "y": -2843.557847088794}, {"x": 9000.351780982337, "y": -2843.18894383496}, {"x": 9000.028643820095, "y": -2842.8176163221447}], "type": "lane"}, {"geometry": [{"x": 8995.547209770584, "y": -2850.614536219093}, {"x": 8995.878013343381, "y": -2850.988308433891}, {"x": 8996.202026281731, "y": -2851.367965893437}, {"x": 8996.512961218987, "y": -2851.7583799945814}, {"x": 8996.804949674322, "y": -2852.1631292752763}, {"x": 8997.072482449663, "y": -2852.584413112816}, {"x": 8997.310451325482, "y": -2853.0230481578737}, {"x": 8997.51425750804, "y": -2853.4785391335977}, {"x": 8997.679952092554, "y": -2853.9492168922643}, {"x": 8997.80437684281, "y": -2854.4324339820123}, {"x": 8997.88527915652, "y": -2854.92480385857}, {"x": 8997.92138269741, "y": -2855.422466090272}, {"x": 8997.912403593196, "y": -2855.9213578107965}, {"x": 8997.859010523223, "y": -2856.4174718718577}, {"x": 8997.762734304293, "y": -2856.9070845989395}, {"x": 8997.625837957352, "y": -2857.3869402976375}, {"x": 8997.451161367713, "y": -2857.854384855428}, {"x": 8997.241955461739, "y": -2858.3074461597917}, {"x": 8997.0017196684, "y": -2858.7448637449374}, {"x": 8996.734053824493, "y": -2859.1660737265083}, {"x": 8996.44253227692, "y": -2859.571157302017}, {"x": 8996.130604310323, "y": -2859.9607620522647}, {"x": 8995.801521625608, "y": -2860.336005051236}, {"x": 8995.458290825116, "y": -2860.69836583212}, {"x": 8995.103646819814, "y": -2861.0495758015536}, {"x": 8994.740041771156, "y": -2861.391509140928}, {"x": 8994.36964373528, "y": -2861.726078754423}, {"x": 8993.994339219686, "y": -2862.055139590884}, {"x": 8993.615734582718, "y": -2862.3804007257613}, {"x": 8993.235152176705, "y": -2862.70334682959}, {"x": 8992.85361857088, "y": -2863.0251691073568}, {"x": 8992.471843633299, "y": -2863.3467051444845}, {"x": 8992.090191056992, "y": -2863.668386404075}, {"x": 8991.708642558673, "y": -2863.9901911191905}], "type": "lane"}, {"geometry": [{"x": 8995.547209770584, "y": -2850.614536219093}, {"x": 8995.874290579957, "y": -2850.9809533206917}, {"x": 8996.203753045782, "y": -2851.3452281634104}, {"x": 8996.537747019027, "y": -2851.7053486021914}, {"x": 8996.878177563229, "y": -2852.059385039434}, {"x": 8997.226686304453, "y": -2852.4054656366397}, {"x": 8997.584638642658, "y": -2852.7417619039957}, {"x": 8997.953116173037, "y": -2853.0664834511185}, {"x": 8998.332913942677, "y": -2853.377880494658}, {"x": 8998.72454235183, "y": -2853.6742526853263}, {"x": 8999.128233615105, "y": -2853.953962772819}, {"x": 8999.543952699127, "y": -2854.2154536286453}, {"x": 8999.971412546034, "y": -2854.4572672201916}, {"x": 9000.410093361708, "y": -2854.6780642026197}, {"x": 9000.859265556923, "y": -2854.8766429126326}, {"x": 9001.318015851586, "y": -2855.0519567159836}, {"x": 9001.785275917113, "y": -2855.20312882296}, {"x": 9002.259852836642, "y": -2855.329463888592}, {"x": 9002.740460617877, "y": -2855.4304559286884}, {"x": 9003.225751954822, "y": -2855.5057922656424}, {"x": 9003.7143494374, "y": -2855.555353448051}, {"x": 9004.204875472822, "y": -2855.579209240287}, {"x": 9004.695980234173, "y": -2855.5776109712506}, {"x": 9005.186367054963, "y": -2855.5509806244986}, {"x": 9005.674814828782, "y": -2855.4998971867235}, {"x": 9006.160197051251, "y": -2855.42508081883}, {"x": 9006.641497318904, "y": -2855.327375446952}, {"x": 9007.117821200298, "y": -2855.2077303849537}, {"x": 9007.58840449784, "y": -2855.067181561319}, {"x": 9008.052618059259, "y": -2854.9068328886838}, {"x": 9008.509969334638, "y": -2854.7278382417453}, {"x": 9008.960100984883, "y": -2854.5313844367965}, {"x": 9009.402786858042, "y": -2854.3186755170696}, {"x": 9009.837925688327, "y": -2854.0909185692744}, {"x": 9010.26553290976, "y": -2853.8493112053043}, {"x": 9010.685730918038, "y": -2853.5950307642725}, {"x": 9011.098738167304, "y": -2853.329225226994}, {"x": 9011.50485739305, "y": -2853.05300575781}, {"x": 9011.904463288205, "y": -2852.7674407492364}, {"x": 9012.297989866764, "y": -2852.4735512031593}, {"x": 9012.685917775767, "y": -2852.172307245254}, {"x": 9013.06876171189, "y": -2851.864625555132}, {"x": 9013.447058129306, "y": -2851.5513674986423}, {"x": 9013.82135335933, "y": -2851.2333377172495}, {"x": 9014.192192241104, "y": -2850.911282980622}, {"x": 9014.560107349447, "y": -2850.585891083351}, {"x": 9014.92560887807, "y": -2850.2577896234598}, {"x": 9015.28917520333, "y": -2849.927544495642}, {"x": 9015.651244161649, "y": -2849.595657993614}, {"x": 9016.012205048488, "y": -2849.262566427032}, {"x": 9016.372391292602, "y": -2848.928637205677}, {"x": 9016.732073800216, "y": -2848.5941653759432}, {"x": 9017.091454877816, "y": -2848.259369652968}, {"x": 9017.450662660696, "y": -2847.92438799017}, {"x": 9017.809745899005, "y": -2847.5892728217495}, {"x": 9018.168668964883, "y": -2847.2539861073788}], "type": "lane"}, {"geometry": [{"x": 9011.982240255504, "y": -2840.6548860528774}, {"x": 9011.621602561476, "y": -2840.9955564251673}, {"x": 9011.260657868635, "y": -2841.335901503837}, {"x": 9010.899406436489, "y": -2841.675920975239}, {"x": 9010.53784852984, "y": -2842.015614530456}, {"x": 9010.175984414815, "y": -2842.354981865297}, {"x": 9009.813814362837, "y": -2842.694022677148}, {"x": 9009.451338646651, "y": -2843.0327366704873}, {"x": 9009.088557545625, "y": -2843.3711235490055}, {"x": 9008.725471339125, "y": -2843.709183023485}, {"x": 9008.362080313138, "y": -2844.0469148062853}, {"x": 9007.998384752325, "y": -2844.3843186137055}, {"x": 9007.634384949297, "y": -2844.7213941636205}, {"x": 9007.270081195333, "y": -2845.058141178635}, {"x": 9006.90547378569, "y": -2845.394559382928}, {"x": 9006.540563018269, "y": -2845.7306485038325}, {"x": 9006.175349193622, "y": -2846.0664082710437}, {"x": 9005.8098326123, "y": -2846.4018384174105}, {"x": 9005.444013581473, "y": -2846.7369386765695}, {"x": 9005.077892405665, "y": -2847.0717087853095}, {"x": 9004.71146939337, "y": -2847.4061484827835}, {"x": 9004.344744853084, "y": -2847.7402575097203}, {"x": 9003.977719098597, "y": -2848.074035607637}, {"x": 9003.610392441053, "y": -2848.4074825212033}, {"x": 9003.242765195566, "y": -2848.7405979958767}, {"x": 9002.874837675927, "y": -2849.073381777902}, {"x": 9002.506610198576, "y": -2849.4058336166772}, {"x": 9002.1380830826, "y": -2849.737953260024}, {"x": 9001.769256644437, "y": -2850.069740459704}, {"x": 9001.40013120185, "y": -2850.4011949659034}, {"x": 9001.03070707525, "y": -2850.7323165303837}, {"x": 9000.660984585049, "y": -2851.063104905695}, {"x": 9000.290964050335, "y": -2851.393559845175}, {"x": 8999.920645790193, "y": -2851.723681101374}, {"x": 8999.550030125034, "y": -2852.0534684276295}, {"x": 8999.179117376594, "y": -2852.382921578068}, {"x": 8998.807907862636, "y": -2852.7120403060276}, {"x": 8998.436401904895, "y": -2853.0408243640572}, {"x": 8998.064599821135, "y": -2853.369273504708}, {"x": 8997.692501929117, "y": -2853.6973874797413}, {"x": 8997.320108549253, "y": -2854.0251660424947}, {"x": 8996.947419996659, "y": -2854.3526089423667}, {"x": 8996.574436587773, "y": -2854.6797159287544}, {"x": 8996.201158639033, "y": -2855.0064867518436}, {"x": 8995.827586464231, "y": -2855.332921158668}, {"x": 8995.453720375835, "y": -2855.659018894685}, {"x": 8995.079560684988, "y": -2855.9847797053517}, {"x": 8994.705107701508, "y": -2856.3102033337614}, {"x": 8994.330361736536, "y": -2856.6352895206437}, {"x": 8993.955323093274, "y": -2856.960038005939}, {"x": 8993.579992078892, "y": -2857.2844485272244}, {"x": 8993.204368996589, "y": -2857.608520818136}, {"x": 8992.828454146915, "y": -2857.9322546130993}, {"x": 8992.452247827774, "y": -2858.255649641022}, {"x": 8992.075750338392, "y": -2858.5787056300237}, {"x": 8991.698961970053, "y": -2858.901422305073}, {"x": 8991.321883016684, "y": -2859.2237993879858}, {"x": 8990.944513766926, "y": -2859.5458365974246}, {"x": 8990.566854508084, "y": -2859.8675336481133}, {"x": 8990.1889055235, "y": -2860.188890253198}, {"x": 8989.810667093865, "y": -2860.509906120311}, {"x": 8989.43213949722, "y": -2860.8305809547173}, {"x": 8989.053323008959, "y": -2861.150914457744}], "type": "lane"}, {"geometry": [{"x": 9014.637559806542, "y": -2843.54961733728}, {"x": 9014.276367846396, "y": -2843.8888248177927}, {"x": 9013.91490926188, "y": -2844.2277481625683}, {"x": 9013.553182654836, "y": -2844.5663854282575}, {"x": 9013.19118667742, "y": -2844.9047347180053}, {"x": 9012.828920028127, "y": -2845.242794179088}, {"x": 9012.46638145444, "y": -2845.5805620021256}, {"x": 9012.103569752835, "y": -2845.918036419505}, {"x": 9011.740483763473, "y": -2846.255215706956}, {"x": 9011.377122370212, "y": -2846.5920981803997}, {"x": 9011.013484507224, "y": -2846.928682196736}, {"x": 9010.649569144425, "y": -2847.2649661538444}, {"x": 9010.2853752994, "y": -2847.6009484874303}, {"x": 9009.92090202945, "y": -2847.9366276718133}, {"x": 9009.556148434245, "y": -2848.272002220718}, {"x": 9009.191113651856, "y": -2848.607070684118}, {"x": 9008.82579686007, "y": -2848.9418316482374}, {"x": 9008.460197273747, "y": -2849.2762837355526}, {"x": 9008.094314147469, "y": -2849.610425603213}, {"x": 9007.728146768915, "y": -2849.944255943043}, {"x": 9007.361694465488, "y": -2850.2777734807537}, {"x": 9006.994956597691, "y": -2850.610976974366}, {"x": 9006.6279325578, "y": -2850.943865215}, {"x": 9006.260621773843, "y": -2851.276437024509}, {"x": 9005.893023705623, "y": -2851.60869125627}, {"x": 9005.525137843395, "y": -2851.9406267943928}, {"x": 9005.156963709189, "y": -2852.272242549782}, {"x": 9004.788500852841, "y": -2852.6035374648645}, {"x": 9004.419748855966, "y": -2852.934510508861}, {"x": 9004.050707326653, "y": -2853.265160677786}, {"x": 9003.681375899474, "y": -2853.5954869952357}, {"x": 9003.311754236807, "y": -2853.9254885084492}, {"x": 9002.941842024864, "y": -2854.2551642930353}, {"x": 9002.571638977653, "y": -2854.584513445091}, {"x": 9002.201144829052, "y": -2854.9135350867205}, {"x": 9001.830359340735, "y": -2855.242228362881}, {"x": 9001.459282291595, "y": -2855.5705924390204}, {"x": 9001.087913485675, "y": -2855.8986265026506}, {"x": 9000.716252748209, "y": -2856.226329761774}, {"x": 9000.344299920313, "y": -2856.5537014440943}, {"x": 8999.972054865613, "y": -2856.880740796228}, {"x": 8999.599517466275, "y": -2857.207447082918}, {"x": 8999.226687619022, "y": -2857.5338195870313}, {"x": 8998.853565240444, "y": -2857.859857607197}, {"x": 8998.480150260368, "y": -2858.1855604578045}, {"x": 8998.106442627159, "y": -2858.510927469794}, {"x": 8997.732442299768, "y": -2858.8359579875005}, {"x": 8997.358149254367, "y": -2859.1606513670813}, {"x": 8996.98356347639, "y": -2859.485006981243}, {"x": 8996.608684964513, "y": -2859.80902421136}, {"x": 8996.233513731977, "y": -2860.1327024514158}, {"x": 8995.858049797316, "y": -2860.456041104851}, {"x": 8995.48229319231, "y": -2860.779039586139}, {"x": 8995.106243956678, "y": -2861.1016973176334}, {"x": 8994.729902139406, "y": -2861.4240137295687}, {"x": 8994.353267796105, "y": -2861.745988258484}, {"x": 8993.97634098768, "y": -2862.067620348798}, {"x": 8993.599121782976, "y": -2862.388909450447}, {"x": 8993.221610257468, "y": -2862.7098550157307}, {"x": 8992.843806489265, "y": -2863.0304565040424}, {"x": 8992.465710557815, "y": -2863.3507133747735}, {"x": 8992.087322553147, "y": -2863.670625092045}, {"x": 8991.708642558673, "y": -2863.9901911191905}], "type": "lane"}, {"geometry": [{"x": 8994.978878218177, "y": -2867.8387419073983}, {"x": 8995.36041768673, "y": -2867.516673771428}, {"x": 8995.741464009561, "y": -2867.1940223916777}, {"x": 8996.121753272555, "y": -2866.870479157706}, {"x": 8996.500989354987, "y": -2866.545702250326}, {"x": 8996.878844694804, "y": -2866.2193202036233}, {"x": 8997.254960799695, "y": -2865.8909357167927}, {"x": 8997.628948534402, "y": -2865.560129722878}, {"x": 8998.000388200153, "y": -2865.2264657120572}, {"x": 8998.368829448615, "y": -2864.889494300011}, {"x": 8998.733791095192, "y": -2864.5487580532}, {"x": 8999.094760855565, "y": -2864.2037965411023}, {"x": 8999.451195095435, "y": -2863.8541516154096}, {"x": 8999.802518646497, "y": -2863.4993728980635}, {"x": 9000.14812476407, "y": -2863.1390234473847}, {"x": 9000.487375305835, "y": -2862.772685584188}, {"x": 9000.819601196567, "y": -2862.3999668313672}, {"x": 9001.144103271528, "y": -2862.020505929143}, {"x": 9001.460153558115, "y": -2861.633978875521}, {"x": 9001.766997084458, "y": -2861.24010492026}, {"x": 9002.063854256021, "y": -2860.8386524524485}, {"x": 9002.349923875685, "y": -2860.429444688706}, {"x": 9002.624386846996, "y": -2860.0123650784685}, {"x": 9002.886410588437, "y": -2859.5873623223392}, {"x": 9003.135154173237, "y": -2859.1544548955408}, {"x": 9003.36977420534, "y": -2858.7137349606182}, {"x": 9003.589431398426, "y": -2858.265371554348}, {"x": 9003.793297810322, "y": -2857.809612923535}, {"x": 9003.980564690404, "y": -2857.346787898603}, {"x": 9004.150450823556, "y": -2856.877306188324}, {"x": 9004.30221128186, "y": -2856.4016574877382}, {"x": 9004.435146438504, "y": -2855.9204093267576}, {"x": 9004.548611099477, "y": -2855.4342035680365}, {"x": 9004.642023577035, "y": -2854.9437515186523}, {"x": 9004.714874523514, "y": -2854.449827629584}, {"x": 9004.766735346753, "y": -2853.9532617869318}, {"x": 9004.797265989993, "y": -2853.454930231921}, {"x": 9004.806221906774, "y": -2852.95574518612}, {"x": 9004.793460034882, "y": -2852.4566432835463}, {"x": 9004.758943615754, "y": -2851.958572949134}, {"x": 9004.702745713703, "y": -2851.4624808937924}, {"x": 9004.62505132375, "y": -2850.9692979277925}, {"x": 9004.526158011113, "y": -2850.479924310778}, {"x": 9004.40647502678, "y": -2849.9952148874218}, {"x": 9004.266520958698, "y": -2849.51596425303}, {"x": 9004.10691995437, "y": -2849.042892217033}, {"x": 9003.928396655188, "y": -2848.5766298125986}, {"x": 9003.73177002917, "y": -2848.1177061013955}, {"x": 9003.51794631928, "y": -2847.6665360122893}, {"x": 9003.2879113946, "y": -2847.223409405467}, {"x": 9003.042722836712, "y": -2846.7884815613706}, {"x": 9002.783502114777, "y": -2846.361765242593}, {"x": 9002.511427259775, "y": -2845.9431244500965}, {"x": 9002.227726458937, "y": -2845.532269995908}, {"x": 9001.933673007281, "y": -2845.128756959265}, {"x": 9001.63058207437, "y": -2844.7319841223716}, {"x": 9001.319809717923, "y": -2844.3411954629755}, {"x": 9001.002754601068, "y": -2843.9554838180493}, {"x": 9000.680862793202, "y": -2843.573796879331}, {"x": 9000.355636042428, "y": -2843.1949457406004}, {"x": 9000.028643820095, "y": -2842.8176163221447}], "type": "lane"}, {"geometry": [{"x": 8996.572069948272, "y": -2870.1345632709717}, {"x": 8996.952654589217, "y": -2869.815130717139}, {"x": 8997.332987167285, "y": -2869.4953980764953}, {"x": 8997.713061840928, "y": -2869.175358892486}, {"x": 8998.092873038704, "y": -2868.8550070584524}, {"x": 8998.472415449996, "y": -2868.534336810541}, {"x": 8998.851684025023, "y": -2868.2133427245517}, {"x": 8999.230673970857, "y": -2867.8920197033285}, {"x": 8999.609380740836, "y": -2867.570362974394}, {"x": 8999.987800034573, "y": -2867.2483680773425}, {"x": 9000.365927795287, "y": -2866.9260308622634}, {"x": 9000.74376019526, "y": -2866.6033474779183}, {"x": 9001.121293645096, "y": -2866.28031436544}, {"x": 9001.498524776505, "y": -2865.9569282528128}, {"x": 9001.875450444955, "y": -2865.633186145418}, {"x": 9002.252067723057, "y": -2865.3090853205176}, {"x": 9002.628373896585, "y": -2864.9846233185826}, {"x": 9003.004366453884, "y": -2864.6597979338408}, {"x": 9003.380043093823, "y": -2864.3346072134846}, {"x": 9003.755401705925, "y": -2864.0090494442775}, {"x": 9004.130440378314, "y": -2863.683123146247}, {"x": 9004.505157384481, "y": -2863.3568270679575}, {"x": 9004.87955118195, "y": -2863.0301601770543}, {"x": 9005.25362040831, "y": -2862.7031216547452}, {"x": 9005.627363873275, "y": -2862.375710886345}, {"x": 9006.000780557355, "y": -2862.047927454184}, {"x": 9006.373869601266, "y": -2861.7197711352405}, {"x": 9006.7466303099, "y": -2861.391241886173}, {"x": 9007.119062139092, "y": -2861.062339842526}, {"x": 9007.491164694282, "y": -2860.7330653092786}, {"x": 9007.862937725233, "y": -2860.4034187529605}, {"x": 9008.234381118082, "y": -2860.0734007961373}, {"x": 9008.605494895332, "y": -2859.7430122103174}, {"x": 9008.97627920925, "y": -2859.4122539057075}, {"x": 9009.346734331255, "y": -2859.0811269312117}, {"x": 9009.716860651932, "y": -2858.7496324594604}, {"x": 9010.086658678378, "y": -2858.4177717852317}, {"x": 9010.456129020962, "y": -2858.0855463167845}, {"x": 9010.825272392005, "y": -2857.7529575703416}, {"x": 9011.194089604447, "y": -2857.420007159845}, {"x": 9011.56258155862, "y": -2857.0866967953802}, {"x": 9011.930749242238, "y": -2856.7530282705657}, {"x": 9012.298593723775, "y": -2856.41900346019}, {"x": 9012.666116144532, "y": -2856.0846243131205}, {"x": 9013.033317718631, "y": -2855.7498928436316}, {"x": 9013.400199718444, "y": -2855.4148111251034}, {"x": 9013.76676347858, "y": -2855.0793812852908}, {"x": 9014.1330103866, "y": -2854.743605498445}, {"x": 9014.498941871116, "y": -2854.40748597822}, {"x": 9014.864559408403, "y": -2854.071024972943}, {"x": 9015.22986450651, "y": -2853.734224757738}, {"x": 9015.59485870129, "y": -2853.397087626639}, {"x": 9015.959543553758, "y": -2853.0596158902313}, {"x": 9016.323920644782, "y": -2852.7218118661926}, {"x": 9016.677288376039, "y": -2852.393625675927}, {"x": 9017.030364342572, "y": -2852.0651256046913}, {"x": 9017.383145274074, "y": -2851.736308700421}, {"x": 9017.735628033954, "y": -2851.407172174181}, {"x": 9018.087809690853, "y": -2851.077713472665}, {"x": 9018.439687594093, "y": -2850.747930356213}, {"x": 9018.791259442543, "y": -2850.417820973678}, {"x": 9019.142523361399, "y": -2850.0873839357137}, {"x": 9019.493477972366, "y": -2849.7566183920067}, {"x": 9019.844122467797, "y": -2849.4255241029873}, {"x": 9020.194456688807, "y": -2849.0941015146964}, {"x": 9020.544481194132, "y": -2848.7623518336495}], "type": "lane"}, {"geometry": [{"x": 8968.224518011226, "y": -2892.3028347105264}, {"x": 8968.625718363173, "y": -2892.014509568891}, {"x": 8969.026596132679, "y": -2891.7257360689873}, {"x": 8969.4271483619, "y": -2891.436511167337}, {"x": 8969.827372078427, "y": -2891.1468318275543}, {"x": 8970.227264303234, "y": -2890.856695024286}, {"x": 8970.626822040076, "y": -2890.5660977416364}, {"x": 8971.026042288746, "y": -2890.2750369715886}, {"x": 8971.42492203049, "y": -2889.9835097147966}, {"x": 8971.823458241266, "y": -2889.6915129829454}, {"x": 8972.221647881139, "y": -2889.3990437956013}, {"x": 8972.619487899587, "y": -2889.1060991833633}, {"x": 8973.01697523549, "y": -2888.812676185499}, {"x": 8973.41410681714, "y": -2888.5187718499456}, {"x": 8973.810879558263, "y": -2888.224383236459}, {"x": 8974.20729036067, "y": -2887.9295074142537}, {"x": 8974.603336118225, "y": -2887.634141460424}, {"x": 8974.999013710232, "y": -2887.3382824646733}, {"x": 8975.394320001431, "y": -2887.0419275261615}, {"x": 8975.789251849938, "y": -2886.7450737535055}, {"x": 8976.183806096657, "y": -2886.4477182663545}, {"x": 8976.577979574553, "y": -2886.1498581938154}, {"x": 8976.970222473863, "y": -2885.8526663058424}, {"x": 8977.362087661495, "y": -2885.554976537275}, {"x": 8977.753578381278, "y": -2885.2567944549514}, {"x": 8978.144697896905, "y": -2884.958125614678}, {"x": 8978.535449490602, "y": -2884.6589755572877}, {"x": 8978.925836464456, "y": -2884.35934980864}, {"x": 8979.315862140416, "y": -2884.059253883562}, {"x": 8979.705529857643, "y": -2883.7586932826957}, {"x": 8980.094842975153, "y": -2883.45767349171}, {"x": 8980.483804870506, "y": -2883.156199984452}, {"x": 8980.87241893847, "y": -2882.85427822295}, {"x": 8981.260688592349, "y": -2882.5519136534695}, {"x": 8981.648617262657, "y": -2882.249111712031}, {"x": 8982.036208398453, "y": -2881.945877819684}, {"x": 8982.423465464673, "y": -2881.6422173872306}, {"x": 8982.810391944795, "y": -2881.3381358105016}, {"x": 8983.196991338187, "y": -2881.0336384750826}, {"x": 8983.583267158776, "y": -2880.7287307523734}, {"x": 8983.969222943, "y": -2880.4234180027424}, {"x": 8984.354862236567, "y": -2880.1177055755243}, {"x": 8984.740188603717, "y": -2879.811598805081}, {"x": 8985.125205625904, "y": -2879.505103017105}, {"x": 8985.509916899147, "y": -2879.198223523893}, {"x": 8985.89432603403, "y": -2878.890965627496}, {"x": 8986.278436655697, "y": -2878.583334616569}, {"x": 8986.662252406508, "y": -2878.2753357703095}, {"x": 8987.045776940739, "y": -2877.966974356094}, {"x": 8987.429013928551, "y": -2877.658255630267}, {"x": 8987.811967053349, "y": -2877.3491848381395}, {"x": 8988.194640014422, "y": -2877.0397672147783}, {"x": 8988.57703652298, "y": -2876.730007983429}, {"x": 8988.95916030347, "y": -2876.419912358668}, {"x": 8989.341015096225, "y": -2876.1094855424644}, {"x": 8989.722604652176, "y": -2875.798732728117}, {"x": 8990.103932734166, "y": -2875.4876590994686}, {"x": 8990.485003122252, "y": -2875.176269828541}, {"x": 8990.865819605757, "y": -2874.8645700778998}, {"x": 8991.246385984596, "y": -2874.5525650014415}, {"x": 8991.6267060759, "y": -2874.240259742818}, {"x": 8992.006783703417, "y": -2873.927659437012}, {"x": 8992.388555410407, "y": -2873.6131745214475}, {"x": 8992.770085829334, "y": -2873.2983969086886}, {"x": 8993.151374737761, "y": -2872.983326783929}, {"x": 8993.532421910608, "y": -2872.6679643331495}, {"x": 8993.913227124118, "y": -2872.3523097415446}, {"x": 8994.293790153206, "y": -2872.0363631943073}, {"x": 8994.674110775439, "y": -2871.7201248782076}, {"x": 8995.054188765735, "y": -2871.4035949784384}, {"x": 8995.434023901658, "y": -2871.08677368177}, {"x": 8995.813615959454, "y": -2870.7696611733954}, {"x": 8996.192964716685, "y": -2870.4522576408726}, {"x": 8996.572069948272, "y": -2870.1345632709717}], "type": "lane"}, {"geometry": [{"x": 9145.307232454968, "y": -2724.0227244149473}, {"x": 9145.653100998468, "y": -2723.6831048339077}, {"x": 9145.999498299656, "y": -2723.3440248303773}, {"x": 9146.347508366083, "y": -2723.006601352252}, {"x": 9146.698578236323, "y": -2722.6723652076867}, {"x": 9147.054431459725, "y": -2722.343231394729}, {"x": 9147.416966726027, "y": -2722.02148065683}, {"x": 9147.788141860672, "y": -2721.7097486407474}, {"x": 9148.16984464486, "y": -2721.411016683366}, {"x": 9148.563753321552, "y": -2721.1285964650647}, {"x": 9148.971191367164, "y": -2720.8660997908587}, {"x": 9149.39298326688, "y": -2720.6273847644907}, {"x": 9149.82932046101, "y": -2720.416470935121}, {"x": 9150.279649050193, "y": -2720.2374186662005}, {"x": 9150.742592772269, "y": -2720.094172147306}, {"x": 9151.215925407223, "y": -2719.990370771772}, {"x": 9151.696605715224, "y": -2719.9291396418294}, {"x": 9152.18088452409, "y": -2719.9128757496655}, {"x": 9152.66448771711, "y": -2719.943050902353}, {"x": 9153.142870987629, "y": -2720.020054371968}, {"x": 9153.611533273901, "y": -2720.1430965720965}, {"x": 9154.06636728613, "y": -2720.3101891712054}, {"x": 9154.504019243353, "y": -2720.5182070710066}, {"x": 9154.922227153382, "y": -2720.7630246206304}, {"x": 9155.320108650498, "y": -2721.0397039300815}, {"x": 9155.698374922795, "y": -2721.34269931365}, {"x": 9156.059454814538, "y": -2721.666030651547}, {"x": 9156.407519517672, "y": -2722.0033713733815}, {"x": 9156.748398800211, "y": -2722.3479948213862}], "type": "lane"}, {"geometry": [{"x": 9156.748398800211, "y": -2722.3479948213862}, {"x": 9157.09762231496, "y": -2722.703669295415}, {"x": 9157.44684583103, "y": -2723.0593437694433}, {"x": 9157.796069345777, "y": -2723.415018243472}, {"x": 9158.145292860525, "y": -2723.7706927175004}, {"x": 9158.49451637527, "y": -2724.126367192317}, {"x": 9158.843739891343, "y": -2724.4820416663456}, {"x": 9159.19296340609, "y": -2724.837716140374}, {"x": 9159.542186920837, "y": -2725.1933906144027}, {"x": 9159.891410435584, "y": -2725.5490650884312}, {"x": 9160.240633951656, "y": -2725.90473956246}, {"x": 9160.589857466402, "y": -2726.2604140364883}, {"x": 9160.93908098115, "y": -2726.616088510517}, {"x": 9161.288304495898, "y": -2726.9717629845454}, {"x": 9161.637528011968, "y": -2727.327437458574}, {"x": 9161.986751526716, "y": -2727.6831119333906}, {"x": 9162.335975041464, "y": -2728.038786407419}, {"x": 9162.685198556212, "y": -2728.3944608814477}, {"x": 9163.034422072282, "y": -2728.7501353554762}, {"x": 9163.38364558703, "y": -2729.105809829505}, {"x": 9163.732869101777, "y": -2729.4614843035333}, {"x": 9164.082092616523, "y": -2729.817158777562}, {"x": 9164.431316132595, "y": -2730.1728332515904}, {"x": 9164.780539647343, "y": -2730.528507725619}, {"x": 9165.12976316209, "y": -2730.8841821996475}, {"x": 9165.478986676837, "y": -2731.239856674464}, {"x": 9165.828210192909, "y": -2731.5955311484927}, {"x": 9166.177433707655, "y": -2731.9512056225212}, {"x": 9166.526657222403, "y": -2732.30688009655}, {"x": 9166.87588073715, "y": -2732.6625545705783}, {"x": 9167.22510425322, "y": -2733.018229044607}, {"x": 9167.574327767968, "y": -2733.3739035186354}, {"x": 9167.923551282716, "y": -2733.729577992664}, {"x": 9168.272774797464, "y": -2734.0852524666925}, {"x": 9168.621998313534, "y": -2734.440926941509}, {"x": 9168.971221828282, "y": -2734.7966014155377}, {"x": 9169.32044534303, "y": -2735.152275889566}, {"x": 9169.669668857776, "y": -2735.507950363595}, {"x": 9170.018892373848, "y": -2735.8636248376233}, {"x": 9170.368115888596, "y": -2736.219299311652}, {"x": 9170.717339403342, "y": -2736.5749737856804}, {"x": 9171.06656291809, "y": -2736.930648259709}, {"x": 9171.415786434161, "y": -2737.2863227337375}, {"x": 9171.765009948907, "y": -2737.641997207766}, {"x": 9172.114233463655, "y": -2737.9976716825827}, {"x": 9172.463456978403, "y": -2738.353346156611}, {"x": 9172.812680494473, "y": -2738.7090206306398}, {"x": 9173.161904009221, "y": -2739.0646951046683}, {"x": 9173.511127523969, "y": -2739.420369578697}, {"x": 9173.860351038715, "y": -2739.7760440527254}, {"x": 9174.209574554787, "y": -2740.131718526754}, {"x": 9174.558798069535, "y": -2740.4873930007825}, {"x": 9174.908021584282, "y": -2740.843067474811}, {"x": 9175.257245099028, "y": -2741.1987419488396}, {"x": 9175.6064686151, "y": -2741.554416423656}, {"x": 9175.955692129848, "y": -2741.9100908976848}, {"x": 9176.304915644594, "y": -2742.2657653717133}, {"x": 9176.654139159342, "y": -2742.621439845742}, {"x": 9177.003362675414, "y": -2742.9771143197704}, {"x": 9177.35258619016, "y": -2743.332788793799}, {"x": 9177.701809704908, "y": -2743.6884632678275}, {"x": 9178.051033219655, "y": -2744.044137741856}, {"x": 9178.400256735726, "y": -2744.3998122158846}, {"x": 9178.749480250473, "y": -2744.755486690701}, {"x": 9179.098703765221, "y": -2745.1111611647298}, {"x": 9179.447927279967, "y": -2745.4668356387583}], "type": "lane"}, {"geometry": [{"x": 9186.632550525896, "y": -2740.36756002409}, {"x": 9186.282684465164, "y": -2740.0148176333473}, {"x": 9185.932818404432, "y": -2739.662075242605}, {"x": 9185.582952345025, "y": -2739.3093328518626}, {"x": 9185.233086284294, "y": -2738.95659046112}, {"x": 9184.88322022356, "y": -2738.603848070378}, {"x": 9184.53335416283, "y": -2738.251105679635}, {"x": 9184.183488102099, "y": -2737.898363289681}, {"x": 9183.833622041368, "y": -2737.5456208989385}, {"x": 9183.483755980635, "y": -2737.1928785081964}, {"x": 9183.133889919904, "y": -2736.8401361174538}, {"x": 9182.784023859173, "y": -2736.4873937267116}, {"x": 9182.43415779844, "y": -2736.134651335969}, {"x": 9182.084291737709, "y": -2735.781908945227}, {"x": 9181.734425676977, "y": -2735.4291665552723}, {"x": 9181.384559616246, "y": -2735.0764241645297}, {"x": 9181.034693555514, "y": -2734.7236817737876}, {"x": 9180.684827494782, "y": -2734.370939383045}, {"x": 9180.334961435376, "y": -2734.018196992303}, {"x": 9179.985095374643, "y": -2733.66545460156}, {"x": 9179.635229313912, "y": -2733.312712210818}, {"x": 9179.28536325318, "y": -2732.9599698208635}, {"x": 9178.93549719245, "y": -2732.607227430121}, {"x": 9178.585631131717, "y": -2732.254485039379}, {"x": 9178.235765070986, "y": -2731.901742648636}, {"x": 9177.885899010254, "y": -2731.549000257894}, {"x": 9177.536032949522, "y": -2731.1962578671514}, {"x": 9177.18616688879, "y": -2730.8435154764093}, {"x": 9176.83630082806, "y": -2730.4907730856667}, {"x": 9176.486434767328, "y": -2730.1380306957126}, {"x": 9176.136568706595, "y": -2729.78528830497}, {"x": 9175.786702645864, "y": -2729.4325459142274}, {"x": 9175.436836586458, "y": -2729.079803523485}, {"x": 9175.086970525725, "y": -2728.7270611327426}, {"x": 9174.737104464994, "y": -2728.3743187420005}, {"x": 9174.387238404262, "y": -2728.021576351258}, {"x": 9174.03737234353, "y": -2727.668833961304}, {"x": 9173.687506282798, "y": -2727.316091570561}, {"x": 9173.337640222067, "y": -2726.963349179819}, {"x": 9172.987774161336, "y": -2726.6106067890764}, {"x": 9172.637908100603, "y": -2726.2578643983343}, {"x": 9172.288042039872, "y": -2725.9051220075917}, {"x": 9171.938175979141, "y": -2725.552379616849}, {"x": 9171.58830991841, "y": -2725.199637226895}, {"x": 9171.238443857677, "y": -2724.8468948361524}, {"x": 9170.888577796946, "y": -2724.4941524454102}, {"x": 9170.538711736215, "y": -2724.1414100546676}, {"x": 9170.188845676807, "y": -2723.7886676639255}, {"x": 9169.838979616075, "y": -2723.435925273183}, {"x": 9169.489113555344, "y": -2723.0831828824407}, {"x": 9169.139247494611, "y": -2722.730440492486}, {"x": 9168.78938143388, "y": -2722.3776981017436}, {"x": 9168.43951537315, "y": -2722.0249557110014}, {"x": 9168.089649312418, "y": -2721.672213320259}, {"x": 9167.739783251685, "y": -2721.3194709295167}, {"x": 9167.389917190954, "y": -2720.966728538774}, {"x": 9167.040051130223, "y": -2720.613986148032}, {"x": 9166.69018506949, "y": -2720.2612437572893}, {"x": 9166.34031900876, "y": -2719.908501367335}, {"x": 9165.990452948028, "y": -2719.5557589765926}, {"x": 9165.640586887297, "y": -2719.20301658585}, {"x": 9165.290720827888, "y": -2718.850274195108}, {"x": 9164.940854767157, "y": -2718.4975318043653}, {"x": 9164.590988706426, "y": -2718.144789413623}, {"x": 9164.241122645693, "y": -2717.7920470228805}, {"x": 9163.891256584962, "y": -2717.4393046329265}, {"x": 9163.541390524231, "y": -2717.086562242184}, {"x": 9163.191524463498, "y": -2716.7338198514412}, {"x": 9162.841658402767, "y": -2716.381077460699}], "type": "lane"}, {"geometry": [{"x": 9132.730123283678, "y": -2645.1841943309523}, {"x": 9132.364616204795, "y": -2645.5244270428557}, {"x": 9131.99939344836, "y": -2645.864964935574}, {"x": 9131.634448377094, "y": -2646.20580039647}, {"x": 9131.26977434181, "y": -2646.546925829458}, {"x": 9130.905364673456, "y": -2646.8883336534227}, {"x": 9130.541212683116, "y": -2647.230016305377}, {"x": 9130.177311668644, "y": -2647.571966235728}, {"x": 9129.813654909347, "y": -2647.9141759106456}, {"x": 9129.45023566865, "y": -2648.256637812061}, {"x": 9129.087047198062, "y": -2648.599344435301}, {"x": 9128.724082727904, "y": -2648.942288288303}, {"x": 9128.361335480557, "y": -2649.2854618947645}, {"x": 9127.998798659863, "y": -2649.6288577894156}, {"x": 9127.636465456426, "y": -2649.9724685219603}, {"x": 9127.274329051581, "y": -2650.3162866515586}, {"x": 9126.91238260945, "y": -2650.6603047523445}, {"x": 9126.550619284888, "y": -2651.00451540712}, {"x": 9126.189032218184, "y": -2651.348911211295}, {"x": 9125.82761454301, "y": -2651.6934847705265}, {"x": 9125.46635937715, "y": -2652.0382287007146}, {"x": 9125.105259830438, "y": -2652.3831356272162}, {"x": 9124.744309003447, "y": -2652.728198186421}, {"x": 9124.383499986154, "y": -2653.0734090202363}, {"x": 9124.022825860593, "y": -2653.418760783177}, {"x": 9123.662279698206, "y": -2653.764246136062}, {"x": 9123.301854563815, "y": -2654.1098577460166}, {"x": 9122.941543514298, "y": -2654.4555882904097}, {"x": 9122.581339599912, "y": -2654.8014304505496}, {"x": 9122.221235864294, "y": -2655.147376917203}, {"x": 9121.861225341814, "y": -2655.493420385076}, {"x": 9121.501301064194, "y": -2655.8395535543914}, {"x": 9121.141456056537, "y": -2656.185769133252}, {"x": 9120.781683339968, "y": -2656.5320598305493}, {"x": 9120.421975930323, "y": -2656.8784183630555}, {"x": 9120.062326836816, "y": -2657.224837449906}, {"x": 9119.702729069983, "y": -2657.571309813389}, {"x": 9119.343175632417, "y": -2657.917828179733}, {"x": 9118.983659528036, "y": -2658.26438527832}, {"x": 9118.62417375546, "y": -2658.610973839317}, {"x": 9118.264711311986, "y": -2658.9575865952584}, {"x": 9117.905265193589, "y": -2659.3042162818283}, {"x": 9117.54582839624, "y": -2659.650855632349}, {"x": 9117.186393913267, "y": -2659.9974973832927}, {"x": 9116.82695474064, "y": -2660.344134271133}, {"x": 9116.467503871685, "y": -2660.6907590307674}, {"x": 9116.108034302375, "y": -2661.0373643978805}], "type": "lane"}, {"geometry": [{"x": 9117.868930425808, "y": -2663.3220948360745}, {"x": 9118.22245670493, "y": -2662.972077693449}, {"x": 9118.576042234943, "y": -2662.6221204037975}, {"x": 9118.929694094017, "y": -2662.2722301447475}, {"x": 9119.283419357676, "y": -2661.922414094716}, {"x": 9119.63722510012, "y": -2661.5726794399993}, {"x": 9119.991118386279, "y": -2661.2230333700472}, {"x": 9120.345106277115, "y": -2660.8734830790377}, {"x": 9120.699195828287, "y": -2660.524035769028}, {"x": 9121.053394090168, "y": -2660.174698646806}, {"x": 9121.407708103854, "y": -2659.8254789262505}, {"x": 9121.762144907796, "y": -2659.476383827544}, {"x": 9122.116711527206, "y": -2659.127420581116}, {"x": 9122.471414983322, "y": -2658.7785964221225}, {"x": 9122.826262288118, "y": -2658.4299185951772}, {"x": 9123.181260444293, "y": -2658.081394355138}, {"x": 9123.536416446606, "y": -2657.733030963955}, {"x": 9123.891737277903, "y": -2657.384835694613}, {"x": 9124.247229911756, "y": -2657.0368158295505}, {"x": 9124.602901312473, "y": -2656.6889786622414}, {"x": 9124.95875843112, "y": -2656.341331495615}, {"x": 9125.314808209494, "y": -2655.993881645998}, {"x": 9125.671057573505, "y": -2655.6466364399616}, {"x": 9126.027513442446, "y": -2655.299603216686}, {"x": 9126.384182717069, "y": -2654.952789327961}, {"x": 9126.741072287536, "y": -2654.606202138184}, {"x": 9127.098189030767, "y": -2654.259849025938}, {"x": 9127.455539809122, "y": -2653.9137373824155}, {"x": 9127.813131467745, "y": -2653.567874613782}, {"x": 9128.170970839865, "y": -2653.2222681403864}, {"x": 9128.529064740176, "y": -2652.876925398341}, {"x": 9128.887419971456, "y": -2652.5318538387305}, {"x": 9129.246043313971, "y": -2652.1870609276116}, {"x": 9129.6049415374, "y": -2651.8425541475913}, {"x": 9129.964121387588, "y": -2651.498340999402}, {"x": 9130.323589597136, "y": -2651.154428999537}, {"x": 9130.683352878788, "y": -2650.810825681038}, {"x": 9131.043417925433, "y": -2650.467538595861}, {"x": 9131.403791411414, "y": -2650.1245753132994}, {"x": 9131.764479989897, "y": -2649.7819434231355}, {"x": 9132.125490296832, "y": -2649.4396505317013}, {"x": 9132.48682894434, "y": -2649.0977042658183}, {"x": 9132.848502523353, "y": -2648.756112272008}, {"x": 9133.210517603624, "y": -2648.414882216496}, {"x": 9133.572880735042, "y": -2648.0740217859952}, {"x": 9133.935598438371, "y": -2647.733538688497}, {"x": 9134.298677218485, "y": -2647.3934406524822}], "type": "lane"}, {"geometry": [{"x": 9162.841658402767, "y": -2716.381077460699}, {"x": 9162.49355651474, "y": -2716.0308448749524}, {"x": 9162.143327975095, "y": -2715.6827410068922}, {"x": 9161.789027543131, "y": -2715.3387861682168}, {"x": 9161.42893002905, "y": -2715.0009103946877}, {"x": 9161.061548609017, "y": -2714.6709754479098}, {"x": 9160.685647449634, "y": -2714.35078796092}, {"x": 9160.300249320999, "y": -2714.0421047512723}, {"x": 9159.904638585009, "y": -2713.7466314167164}, {"x": 9159.498359814415, "y": -2713.4660154570347}, {"x": 9159.081212176361, "y": -2713.2018351372094}, {"x": 9158.653239747226, "y": -2712.9555853685856}, {"x": 9158.21471792561, "y": -2712.72866178853}, {"x": 9157.766136216203, "y": -2712.5223441954613}, {"x": 9157.308177719497, "y": -2712.3377803645117}, {"x": 9156.841695790767, "y": -2712.1759711753048}, {"x": 9156.367688393952, "y": -2712.0377578060184}, {"x": 9155.88727077668, "y": -2711.9238116170914}, {"x": 9155.401647103294, "y": -2711.8346271509054}, {"x": 9154.912081774093, "y": -2711.770518528789}, {"x": 9154.419871082193, "y": -2711.731619324138}, {"x": 9153.926315875313, "y": -2711.7178858722577}, {"x": 9153.43269582359, "y": -2711.7291038049366}, {"x": 9152.940245796544, "y": -2711.764897513443}, {"x": 9152.45013479804, "y": -2711.824742108084}, {"x": 9151.963447755816, "y": -2711.9079774377533}, {"x": 9151.481170401255, "y": -2712.0138236312114}, {"x": 9151.004177336068, "y": -2712.141397658118}, {"x": 9150.533223296448, "y": -2712.289730395995}, {"x": 9150.068937528677, "y": -2712.457783727134}, {"x": 9149.611821129167, "y": -2712.6444672328093}, {"x": 9149.162247114651, "y": -2712.848654118346}, {"x": 9148.720462957657, "y": -2713.069196070368}, {"x": 9148.28659529867, "y": -2713.304936810602}, {"x": 9147.860656506615, "y": -2713.554724191772}, {"x": 9147.442552772549, "y": -2713.8174207457514}, {"x": 9147.032093437329, "y": -2714.091912668993}, {"x": 9146.62900124211, "y": -2714.3771172665242}, {"x": 9146.232923240874, "y": -2714.671988949851}, {"x": 9145.843442128667, "y": -2714.9755239077763}, {"x": 9145.460087771105, "y": -2715.2867636116794}, {"x": 9145.082348740503, "y": -2715.6047973302075}, {"x": 9144.709683726205, "y": -2715.9287638519713}, {"x": 9144.341532658947, "y": -2716.257852611677}, {"x": 9143.977327471106, "y": -2716.5913044277495}, {"x": 9143.616502394863, "y": -2716.9284120232383}, {"x": 9143.25850374005, "y": -2717.268520541207}, {"x": 9142.902799099995, "y": -2717.611028176756}, {"x": 9142.54888595497, "y": -2717.955387097473}, {"x": 9142.196299658624, "y": -2718.3011047389987}, {"x": 9141.844620776992, "y": -2718.647745580524}, {"x": 9141.49348182242, "y": -2718.9949334348817}, {"x": 9141.142573369181, "y": -2719.3423542918604}], "type": "lane"}, {"geometry": [{"x": 9162.841658402767, "y": -2716.381077460699}, {"x": 9162.501317504813, "y": -2716.0355258116815}, {"x": 9162.16799498472, "y": -2715.6832201860925}, {"x": 9161.848179956889, "y": -2715.318641332037}, {"x": 9161.547975489379, "y": -2714.937788771348}, {"x": 9161.273156005154, "y": -2714.5382676671757}, {"x": 9161.02909721931, "y": -2714.119278612333}, {"x": 9160.82062603708, "y": -2713.681518373446}, {"x": 9160.651837025824, "y": -2713.2269993572086}, {"x": 9160.52591693039, "y": -2712.7588004084446}, {"x": 9160.44501002368, "y": -2712.28076796213}, {"x": 9160.41014591486, "y": -2711.7971917545424}, {"x": 9160.421239345458, "y": -2711.312481513182}, {"x": 9160.477160106506, "y": -2710.8308697069706}, {"x": 9160.575862003987, "y": -2710.3561609226617}, {"x": 9160.714553663085, "y": -2709.891541683692}, {"x": 9160.88989138917, "y": -2709.439457035638}, {"x": 9161.09817482111, "y": -2709.001553070022}, {"x": 9161.335529160433, "y": -2708.5786789054905}, {"x": 9161.598062306472, "y": -2708.1709378319624}, {"x": 9161.881990281398, "y": -2707.777775551013}, {"x": 9162.183729246462, "y": -2707.398093406351}, {"x": 9162.499956415842, "y": -2707.030375663787}, {"x": 9162.827645180045, "y": -2706.6728218347675}, {"x": 9163.164081531611, "y": -2706.3234771590137}, {"x": 9163.506869574332, "y": -2705.9803563484697}, {"x": 9163.853933654907, "y": -2705.641557372577}, {"x": 9164.203523652383, "y": -2705.3053633415075}, {"x": 9164.554228324188, "y": -2704.9703315275137}, {"x": 9164.904999674593, "y": -2704.6353694818335}, {"x": 9165.255189044648, "y": -2704.2997991660286}, {"x": 9165.604593227541, "y": -2703.9634113563284}, {"x": 9165.953506576438, "y": -2703.626514330613}], "type": "lane"}, {"geometry": [{"x": 9162.878926046025, "y": -2697.9923247037204}, {"x": 9162.52264661501, "y": -2698.335434772251}, {"x": 9162.166245029264, "y": -2698.6784179367173}, {"x": 9161.80950524832, "y": -2699.0210492996707}, {"x": 9161.452298019418, "y": -2699.3631932813205}, {"x": 9161.09457650693, "y": -2699.7047995287276}, {"x": 9160.736371720559, "y": -2700.0458990046745}, {"x": 9160.37778794881, "y": -2700.3866000733833}, {"x": 9160.018998368563, "y": -2700.727084422317}, {"x": 9159.660240968442, "y": -2701.0676026726996}, {"x": 9159.301814897191, "y": -2701.4084696030995}, {"x": 9158.94407731119, "y": -2701.750058882839}, {"x": 9158.587440756892, "y": -2702.0927972900176}, {"x": 9158.232371127866, "y": -2702.4371583510983}, {"x": 9157.879386151453, "y": -2702.7836554020614}, {"x": 9157.529054377219, "y": -2703.1328340514206}, {"x": 9157.1819945785, "y": -2703.485264053774}, {"x": 9156.838875482305, "y": -2703.841530604919}, {"x": 9156.50041568061, "y": -2704.202225087696}, {"x": 9156.16738358931, "y": -2704.5679352992806}, {"x": 9155.840597280072, "y": -2704.9392352135314}, {"x": 9155.520924005006, "y": -2705.3166743485153}, {"x": 9155.2092792275, "y": -2705.7007668101455}, {"x": 9154.906624956604, "y": -2706.091980136435}, {"x": 9154.613967206256, "y": -2706.490724056645}, {"x": 9154.332352380721, "y": -2706.8973393402707}, {"x": 9154.062862439298, "y": -2707.312086901357}, {"x": 9153.806608690677, "y": -2707.735137391408}, {"x": 9153.564724113661, "y": -2708.1665615173147}, {"x": 9153.338354142043, "y": -2708.606321342773}, {"x": 9153.128645906994, "y": -2709.0542628773906}, {"x": 9152.936735970101, "y": -2709.510110245851}, {"x": 9152.763736674106, "y": -2709.97346173265}, {"x": 9152.610721261006, "y": -2710.4437880239398}, {"x": 9152.478708036875, "y": -2710.920432897869}, {"x": 9152.368643849493, "y": -2711.4026166289887}, {"x": 9152.28138731047, "y": -2711.889442286412}, {"x": 9152.217692125916, "y": -2712.3799050722923}, {"x": 9152.17819105604, "y": -2712.872904743191}, {"x": 9152.163380965716, "y": -2713.367261086738}, {"x": 9152.173609475785, "y": -2713.8617323314443}, {"x": 9152.209063691746, "y": -2714.355036241429}, {"x": 9152.269761444073, "y": -2714.8458735800446}, {"x": 9152.355545416236, "y": -2715.332953510551}, {"x": 9152.46608043443, "y": -2715.815020408194}, {"x": 9152.600854076634, "y": -2716.290881519456}, {"x": 9152.759180634055, "y": -2716.759434823039}, {"x": 9152.940208309774, "y": -2717.219696441663}, {"x": 9153.142929352754, "y": -2717.670826946637}, {"x": 9153.36619270612, "y": -2718.112155936589}, {"x": 9153.608718548801, "y": -2718.5432043024557}, {"x": 9153.869113999632, "y": -2718.963703688566}, {"x": 9154.145889077012, "y": -2719.3736127313528}, {"x": 9154.437471942258, "y": -2719.773129745506}, {"x": 9154.742222318475, "y": -2720.1627016306006}, {"x": 9155.058441968786, "y": -2720.5430288114253}, {"x": 9155.38438104366, "y": -2720.915066082784}, {"x": 9155.718239130838, "y": -2721.2800191995702}, {"x": 9156.058159882508, "y": -2721.639336974911}, {"x": 9156.402218164423, "y": -2721.9946984986655}, {"x": 9156.748398800211, "y": -2722.3479948213862}], "type": "lane"}, {"geometry": [{"x": 9168.663358106505, "y": -2692.47520611423}, {"x": 9168.300138362738, "y": -2692.818245542067}, {"x": 9167.937164575504, "y": -2693.1615452062188}, {"x": 9167.574432433816, "y": -2693.5051001836896}, {"x": 9167.211937618747, "y": -2693.8489055593645}, {"x": 9166.849675802101, "y": -2694.1929564307366}, {"x": 9166.487642642438, "y": -2694.537247900817}, {"x": 9166.1258337917, "y": -2694.8817750844355}, {"x": 9165.764244893888, "y": -2695.2265331019407}, {"x": 9165.402871578433, "y": -2695.571517085501}, {"x": 9165.041709470801, "y": -2695.916722174376}, {"x": 9164.680754187182, "y": -2696.2621435141323}, {"x": 9164.320001331858, "y": -2696.6077762621553}, {"x": 9163.959446503808, "y": -2696.953615579772}, {"x": 9163.599085294072, "y": -2697.299656639341}, {"x": 9163.238913283094, "y": -2697.645894618738}, {"x": 9162.878926046025, "y": -2697.9923247037204}], "type": "lane"}, {"geometry": [{"x": 9165.953506576438, "y": -2703.626514330613}, {"x": 9166.310820004395, "y": -2703.2817995372784}, {"x": 9166.668451207304, "y": -2702.937414436501}, {"x": 9167.02640033875, "y": -2702.5933597982134}, {"x": 9167.38466755364, "y": -2702.2496363955}, {"x": 9167.74325301483, "y": -2701.9062450116903}, {"x": 9168.10215688385, "y": -2701.5631864316897}, {"x": 9168.461379327522, "y": -2701.2204614522243}, {"x": 9168.820920519294, "y": -2700.8780708739605}, {"x": 9169.180780636587, "y": -2700.536015509386}, {"x": 9169.540959863432, "y": -2700.1942961780796}, {"x": 9169.901458390492, "y": -2699.8529137106552}, {"x": 9170.262276416368, "y": -2699.511868948758}, {"x": 9170.62341414628, "y": -2699.17116274349}, {"x": 9170.984871793395, "y": -2698.8307959601384}, {"x": 9171.346649581472, "y": -2698.4907694758117}, {"x": 9171.708747742212, "y": -2698.1510841802265}, {"x": 9172.071166519234, "y": -2697.8117409780725}, {"x": 9172.433906166749, "y": -2697.472740789802}], "type": "lane"}, {"geometry": [{"x": 9167.82620562832, "y": -2707.219973855589}, {"x": 9168.184954213164, "y": -2706.872693876512}, {"x": 9168.543998521527, "y": -2706.525719645651}, {"x": 9168.903339923765, "y": -2706.1790531087204}, {"x": 9169.262979791552, "y": -2705.8326962169504}, {"x": 9169.622919491272, "y": -2705.486650925512}, {"x": 9169.983160384007, "y": -2705.1409191927282}, {"x": 9170.343703826871, "y": -2704.795502984803}, {"x": 9170.70455117433, "y": -2704.450404269516}, {"x": 9171.065703776876, "y": -2704.105625022528}, {"x": 9171.427162978383, "y": -2703.7611672218627}, {"x": 9171.788930124047, "y": -2703.4170328526375}, {"x": 9172.151006549795, "y": -2703.0732239054855}, {"x": 9172.513393594205, "y": -2702.7297423749815}, {"x": 9172.876092586588, "y": -2702.3865902627904}, {"x": 9173.23910485625, "y": -2702.043769576884}, {"x": 9173.602431728528, "y": -2701.701282328385}, {"x": 9173.966074524787, "y": -2701.3591305378723}, {"x": 9174.330034562421, "y": -2701.017316229867}, {"x": 9174.694313160144, "y": -2700.6758414359806}], "type": "lane"}, {"geometry": [{"x": 9166.421502749301, "y": -2689.290435629855}, {"x": 9166.05674473322, "y": -2689.630167047298}, {"x": 9165.69228904086, "y": -2689.970222765409}, {"x": 9165.32813442368, "y": -2690.310600873148}, {"x": 9164.964279631813, "y": -2690.6512994649916}, {"x": 9164.600723410093, "y": -2690.992316636205}, {"x": 9164.23746449806, "y": -2691.3336504875692}, {"x": 9163.87450163128, "y": -2691.6752991245935}, {"x": 9163.511833541354, "y": -2692.0172606551523}, {"x": 9163.149458954576, "y": -2692.359533191059}, {"x": 9162.78737659328, "y": -2692.7021148472804}, {"x": 9162.425585175817, "y": -2693.045003745087}, {"x": 9162.06408341525, "y": -2693.3881980065376}, {"x": 9161.702870020661, "y": -2693.731695759207}, {"x": 9161.341943695848, "y": -2694.0754951322474}, {"x": 9160.981303144601, "y": -2694.4195942619017}, {"x": 9160.620947060117, "y": -2694.7639912852023}, {"x": 9160.260874136922, "y": -2695.108684343909}], "type": "lane"}, {"geometry": [{"x": 9160.260874136922, "y": -2695.108684343909}, {"x": 9159.90218345777, "y": -2695.4526153170486}, {"x": 9159.543767385463, "y": -2695.7968324528097}, {"x": 9159.185620392243, "y": -2696.141329547602}, {"x": 9158.827736941095, "y": -2696.48610041675}, {"x": 9158.47011148705, "y": -2696.8311388952798}, {"x": 9158.112738477197, "y": -2697.1764388355537}, {"x": 9157.755612349365, "y": -2697.521994107272}, {"x": 9157.398727536076, "y": -2697.8677985982595}, {"x": 9157.042078457942, "y": -2698.2138462136795}, {"x": 9156.685659532926, "y": -2698.560130875244}, {"x": 9156.329465171048, "y": -2698.9066465212136}, {"x": 9155.973489771732, "y": -2699.2533871040346}, {"x": 9155.617727733083, "y": -2699.6003465942786}, {"x": 9155.262173442608, "y": -2699.947518976702}, {"x": 9154.906821285173, "y": -2700.294898250246}, {"x": 9154.551665635045, "y": -2700.642478429614}, {"x": 9154.196700866496, "y": -2700.990253542117}, {"x": 9153.841921343204, "y": -2701.3382176300397}, {"x": 9153.487321427525, "y": -2701.686364747488}, {"x": 9153.132895473867, "y": -2702.0346889643283}, {"x": 9152.778637833992, "y": -2702.383184359096}, {"x": 9152.424542853041, "y": -2702.7318450260873}, {"x": 9152.070604873512, "y": -2703.080665069056}, {"x": 9151.716818232599, "y": -2703.429638603576}, {"x": 9151.363177263527, "y": -2703.778759758618}, {"x": 9151.009676295555, "y": -2704.1280226702456}, {"x": 9150.65630965661, "y": -2704.47742148792}, {"x": 9150.303071666674, "y": -2704.826950368981}, {"x": 9149.949956648388, "y": -2705.1766034810157}, {"x": 9149.596958915114, "y": -2705.526375001066}, {"x": 9149.244072782863, "y": -2705.876259114843}, {"x": 9148.891292562357, "y": -2706.2262500159386}, {"x": 9148.538612561666, "y": -2706.576341908189}, {"x": 9148.186027087531, "y": -2706.926528999372}, {"x": 9147.833530445378, "y": -2707.276805508296}, {"x": 9147.481116936653, "y": -2707.6271656577114}, {"x": 9147.128780864134, "y": -2707.977603679825}, {"x": 9146.77651652662, "y": -2708.328113810783}, {"x": 9146.42431822291, "y": -2708.6786902930376}, {"x": 9146.072180250485, "y": -2709.0293273753437}, {"x": 9145.720096906824, "y": -2709.3800193111856}, {"x": 9145.368062486752, "y": -2709.730760358776}, {"x": 9145.016071286425, "y": -2710.08154477948}, {"x": 9144.664117600672, "y": -2710.4323668401776}, {"x": 9144.312195725648, "y": -2710.783220810903}, {"x": 9143.960299954857, "y": -2711.1341009648418}, {"x": 9143.6084245871, "y": -2711.4850015775432}, {"x": 9143.256563915884, "y": -2711.835916928497}, {"x": 9142.904712238686, "y": -2712.186841297195}, {"x": 9142.552863854307, "y": -2712.537768967065}, {"x": 9142.201013060225, "y": -2712.888694220751}, {"x": 9141.849154156565, "y": -2713.2396113432587}, {"x": 9141.49728144478, "y": -2713.5905146203827}, {"x": 9141.145389227637, "y": -2713.9413983371296}, {"x": 9140.793471810563, "y": -2714.292256779294}, {"x": 9140.441523498977, "y": -2714.643084231882}, {"x": 9140.089538602275, "y": -2714.9938749783237}, {"x": 9139.737511433821, "y": -2715.344623302838}, {"x": 9139.385436304334, "y": -2715.6953234857024}, {"x": 9139.033307531148, "y": -2716.045969806408}, {"x": 9138.681119434254, "y": -2716.396556542867}, {"x": 9138.328866334958, "y": -2716.7470779682667}], "type": "lane"}, {"geometry": [{"x": 9162.878926046025, "y": -2697.9923247037204}, {"x": 9162.519210784987, "y": -2698.3388553062346}, {"x": 9162.159672560325, "y": -2698.685569586058}, {"x": 9161.800308153368, "y": -2699.032464022937}, {"x": 9161.441114341469, "y": -2699.37953509977}, {"x": 9161.082087898008, "y": -2699.7267793073374}, {"x": 9160.723225592394, "y": -2700.0741931419348}, {"x": 9160.36452418874, "y": -2700.421773103799}, {"x": 9160.005980448514, "y": -2700.7695156994696}, {"x": 9159.647591129204, "y": -2701.117417441793}, {"x": 9159.28935298301, "y": -2701.465474845978}, {"x": 9158.931262758158, "y": -2701.813684433539}, {"x": 9158.573317200224, "y": -2702.162042731505}, {"x": 9158.21551305081, "y": -2702.51054627006}, {"x": 9157.857847047555, "y": -2702.85919158569}, {"x": 9157.500315924113, "y": -2703.2079752172463}, {"x": 9157.142916411502, "y": -2703.556893709096}, {"x": 9156.78564523676, "y": -2703.905943610336}, {"x": 9156.428499122954, "y": -2704.2551214716373}, {"x": 9156.071474791834, "y": -2704.6044238507648}, {"x": 9155.71456895852, "y": -2704.953847306271}, {"x": 9155.357778336815, "y": -2705.303388403013}, {"x": 9155.001099639194, "y": -2705.653043706636}, {"x": 9154.644529571517, "y": -2706.0028097890886}, {"x": 9154.288064839635, "y": -2706.352683222321}, {"x": 9153.931702142789, "y": -2706.7026605845876}, {"x": 9153.575438182861, "y": -2707.052738454142}, {"x": 9153.219269652469, "y": -2707.402913414754}, {"x": 9152.863193246876, "y": -2707.753182051771}, {"x": 9152.507205654729, "y": -2708.103540952115}, {"x": 9152.151303564668, "y": -2708.4539867074377}, {"x": 9151.795483662694, "y": -2708.8045159093895}, {"x": 9151.439742629504, "y": -2709.1551251527735}, {"x": 9151.084077145799, "y": -2709.5058110355453}, {"x": 9150.728483889634, "y": -2709.856570156448}, {"x": 9150.37295953641, "y": -2710.207399115802}, {"x": 9150.017500760207, "y": -2710.558294515503}, {"x": 9149.662104229812, "y": -2710.909252961386}, {"x": 9149.306766615331, "y": -2711.2602710577116}, {"x": 9148.9514845829, "y": -2711.6113454111037}, {"x": 9148.596254797332, "y": -2711.9624726297625}, {"x": 9148.241073922118, "y": -2712.313649322676}, {"x": 9147.885938616768, "y": -2712.6648720996213}, {"x": 9147.530845542125, "y": -2713.01613757195}, {"x": 9147.175791353737, "y": -2713.367442350226}, {"x": 9146.82077270714, "y": -2713.7187830465914}, {"x": 9146.465786256562, "y": -2714.070156273185}, {"x": 9146.110828654893, "y": -2714.4215586421483}, {"x": 9145.75589655371, "y": -2714.7729867664093}, {"x": 9145.400986599285, "y": -2715.1244372588967}, {"x": 9145.046095443191, "y": -2715.475906732539}, {"x": 9144.691219729059, "y": -2715.827391797901}, {"x": 9144.33635610316, "y": -2716.17888906791}, {"x": 9143.981501209124, "y": -2716.5303951539195}, {"x": 9143.626651691904, "y": -2716.8819066664937}, {"x": 9143.271804191156, "y": -2717.2334202154084}, {"x": 9142.916955347859, "y": -2717.584932409652}, {"x": 9142.562101802992, "y": -2717.936439856637}, {"x": 9142.20724019489, "y": -2718.2879391637753}, {"x": 9141.852367161882, "y": -2718.6394269369025}, {"x": 9141.497479340976, "y": -2718.990899778703}, {"x": 9141.142573369181, "y": -2719.3423542918604}], "type": "lane"}, {"geometry": [{"x": 9145.307232454968, "y": -2724.0227244149473}, {"x": 9145.658124320977, "y": -2723.6779899036237}, {"x": 9146.008854060312, "y": -2723.33309044712}, {"x": 9146.3594255616, "y": -2722.988030150428}, {"x": 9146.709842995482, "y": -2722.6428133951486}, {"x": 9147.06011081461, "y": -2722.297444835549}, {"x": 9147.410233744387, "y": -2721.951929392261}, {"x": 9147.76021677634, "y": -2721.6062722420347}, {"x": 9148.110065160177, "y": -2721.260478811435}, {"x": 9148.459784399824, "y": -2720.914554770536}, {"x": 9148.809380244138, "y": -2720.5685060250416}, {"x": 9149.158858681632, "y": -2720.222338706827}, {"x": 9149.508225929869, "y": -2719.8760591715773}, {"x": 9149.857488431491, "y": -2719.5296739885403}, {"x": 9150.206652848934, "y": -2719.1831899326467}, {"x": 9150.555726052498, "y": -2718.8366139805707}, {"x": 9150.904715113735, "y": -2718.4899533012717}, {"x": 9151.25362730412, "y": -2718.143215249692}, {"x": 9151.602470077849, "y": -2717.796407362025}, {"x": 9151.951251075794, "y": -2717.4495373454747}, {"x": 9152.299978106983, "y": -2717.102613072736}, {"x": 9152.648659149918, "y": -2716.755642578844}, {"x": 9152.997302338006, "y": -2716.4086340477766}, {"x": 9153.34591595957, "y": -2716.061595811667}, {"x": 9153.694508440623, "y": -2715.7145363421337}, {"x": 9154.043088348852, "y": -2715.3674642431897}, {"x": 9154.391664373752, "y": -2715.020388245725}, {"x": 9154.740245330599, "y": -2714.673317199626}, {"x": 9155.088840141912, "y": -2714.326260070624}, {"x": 9155.437457838787, "y": -2713.9792259284736}, {"x": 9155.786107544991, "y": -2713.6322239469528}, {"x": 9156.134798476975, "y": -2713.285263391255}, {"x": 9156.483539931958, "y": -2712.9383536179876}, {"x": 9156.83234127733, "y": -2712.591504062564}, {"x": 9157.181211949328, "y": -2712.244724238416}, {"x": 9157.530161439798, "y": -2711.898023725959}, {"x": 9157.879199289577, "y": -2711.5514121702295}, {"x": 9158.22833508319, "y": -2711.2048992714285}, {"x": 9158.577578436943, "y": -2710.8584947825566}, {"x": 9158.926938994942, "y": -2710.51220849917}, {"x": 9159.27642641851, "y": -2710.166050253862}, {"x": 9159.62605037691, "y": -2709.820029913115}, {"x": 9159.975820543377, "y": -2709.474157367051}, {"x": 9160.325746585855, "y": -2709.128442525493}, {"x": 9160.675838156392, "y": -2708.782895310876}, {"x": 9161.026104888506, "y": -2708.437525651936}, {"x": 9161.376556383935, "y": -2708.092343477411}, {"x": 9161.727202208674, "y": -2707.747358710522}, {"x": 9162.078051879724, "y": -2707.4025812610926}, {"x": 9162.429114867746, "y": -2707.058021020034}, {"x": 9162.780400577203, "y": -2706.7136878530396}, {"x": 9163.131918345032, "y": -2706.3695915919147}, {"x": 9163.483677436674, "y": -2706.025742032216}, {"x": 9163.835687026212, "y": -2705.682148923791}, {"x": 9164.187956202994, "y": -2705.3388219636886}, {"x": 9164.540493954417, "y": -2704.995770790641}, {"x": 9164.893309160632, "y": -2704.65300497876}, {"x": 9165.246410590578, "y": -2704.3105340304437}, {"x": 9165.599806890055, "y": -2703.9683673684967}, {"x": 9165.953506576438, "y": -2703.626514330613}], "type": "lane"}, {"geometry": [{"x": 9147.655093952435, "y": -2727.239092508553}, {"x": 9148.008914616501, "y": -2726.8878141609393}, {"x": 9148.362594077267, "y": -2726.5363936445865}, {"x": 9148.716140097418, "y": -2726.184838879472}, {"x": 9149.069560446262, "y": -2725.8331577761187}, {"x": 9149.422862902371, "y": -2725.4813582363795}, {"x": 9149.77605525756, "y": -2725.129448158167}, {"x": 9150.129145306293, "y": -2724.777435429151}, {"x": 9150.482140852298, "y": -2724.4253279346344}, {"x": 9150.835049708578, "y": -2724.0731335520413}, {"x": 9151.187879693423, "y": -2723.720860154067}, {"x": 9151.540638629102, "y": -2723.3685156094657}, {"x": 9151.893334347149, "y": -2723.016107783053}, {"x": 9152.245974680422, "y": -2722.6636445364907}, {"x": 9152.598567469726, "y": -2722.3111337267133}, {"x": 9152.951120557187, "y": -2721.9585832106545}, {"x": 9153.303641788903, "y": -2721.6060008413083}, {"x": 9153.656139014947, "y": -2721.2533944708807}, {"x": 9154.008620084063, "y": -2720.9007719500005}, {"x": 9154.361092851621, "y": -2720.5481411308742}, {"x": 9154.713565170337, "y": -2720.1955098641315}, {"x": 9155.066044896907, "y": -2719.8428859996134}, {"x": 9155.418539884044, "y": -2719.4902773918902}, {"x": 9155.771057987118, "y": -2719.1376918947435}, {"x": 9156.123607060174, "y": -2718.7851373635312}, {"x": 9156.476194953279, "y": -2718.4326216575523}, {"x": 9156.828829519152, "y": -2718.080152639256}, {"x": 9157.181518602572, "y": -2717.7277381734584}, {"x": 9157.534270048312, "y": -2717.3753861297014}, {"x": 9157.887091697174, "y": -2717.0231043838326}, {"x": 9158.239991385988, "y": -2716.670900814064}, {"x": 9158.592976943642, "y": -2716.318783306488}, {"x": 9158.946056199024, "y": -2715.966759751137}, {"x": 9159.299236970428, "y": -2715.6148380474997}, {"x": 9159.652527070852, "y": -2715.2630260997935}, {"x": 9160.005934310644, "y": -2714.9113318216937}, {"x": 9160.359466485595, "y": -2714.559763133966}, {"x": 9160.713131387518, "y": -2714.2083279660465}, {"x": 9161.066936800282, "y": -2713.8570342576145}, {"x": 9161.420890495843, "y": -2713.5058899562314}, {"x": 9161.775000238209, "y": -2713.1549030220667}, {"x": 9162.129273782126, "y": -2712.804081423171}, {"x": 9162.483718867767, "y": -2712.453433141778}, {"x": 9162.838343228692, "y": -2712.1029661703697}, {"x": 9163.19315458257, "y": -2711.7526885116695}, {"x": 9163.548160636481, "y": -2711.402608184952}, {"x": 9163.903369082936, "y": -2711.0527332205234}, {"x": 9164.258787605182, "y": -2710.7030716612994}, {"x": 9164.614423866604, "y": -2710.3536315659576}, {"x": 9164.97028551867, "y": -2710.0044210081473}, {"x": 9165.326380198285, "y": -2709.655448075703}, {"x": 9165.682715523817, "y": -2709.306720872222}, {"x": 9166.039299099073, "y": -2708.9582475178486}, {"x": 9166.396138510645, "y": -2708.61003614849}, {"x": 9166.753241329236, "y": -2708.2620949173893}, {"x": 9167.110615103042, "y": -2707.914431995916}, {"x": 9167.468267365695, "y": -2707.5670555727756}, {"x": 9167.82620562832, "y": -2707.219973855589}], "type": "lane"}, {"geometry": [{"x": 9138.328866334958, "y": -2716.7470779682667}, {"x": 9137.975137631514, "y": -2717.098928501636}, {"x": 9137.621338530318, "y": -2717.4507082469445}, {"x": 9137.267469872117, "y": -2717.802418022197}, {"x": 9136.913532500308, "y": -2718.154058648549}, {"x": 9136.559527254316, "y": -2718.5056309447923}, {"x": 9136.205454978859, "y": -2718.857135732871}, {"x": 9135.851316510714, "y": -2719.208573833941}, {"x": 9135.497112691952, "y": -2719.5599460699464}, {"x": 9135.142844361999, "y": -2719.9112532628315}, {"x": 9134.788512361602, "y": -2720.262496235328}, {"x": 9134.434117526213, "y": -2720.6136758109565}, {"x": 9134.079660697904, "y": -2720.9647928132367}, {"x": 9133.725142712125, "y": -2721.3158480664774}, {"x": 9133.37056440698, "y": -2721.6668423949864}, {"x": 9133.01592662189, "y": -2722.017776624648}, {"x": 9132.661230190984, "y": -2722.368651580559}, {"x": 9132.306475951038, "y": -2722.7194680886028}, {"x": 9131.951664738828, "y": -2723.070226975453}, {"x": 9131.596797391132, "y": -2723.420929067781}, {"x": 9131.241874740748, "y": -2723.77157519226}, {"x": 9130.886897623135, "y": -2724.122166177926}, {"x": 9130.53186687374, "y": -2724.4727028514512}, {"x": 9130.176783326693, "y": -2724.8231860426613}, {"x": 9129.821647816123, "y": -2725.1736165790157}, {"x": 9129.466461173508, "y": -2725.5239952911274}, {"x": 9129.1112242343, "y": -2725.874323008033}, {"x": 9128.755937828657, "y": -2726.2246005595575}, {"x": 9128.400602792028, "y": -2726.574828775525}, {"x": 9128.04521995457, "y": -2726.9250084881246}, {"x": 9127.689790147766, "y": -2727.2751405279687}, {"x": 9127.334314204416, "y": -2727.6252257256706}, {"x": 9126.978792954676, "y": -2727.975264914206}, {"x": 9126.62322723003, "y": -2728.3252589249773}, {"x": 9126.267617860629, "y": -2728.6752085909598}, {"x": 9125.911965676632, "y": -2729.025114744343}, {"x": 9125.556271508194, "y": -2729.3749782181044}, {"x": 9125.200536184147, "y": -2729.7247998467956}, {"x": 9124.84476053597, "y": -2730.0745804633943}, {"x": 9124.488945391173, "y": -2730.424320902454}, {"x": 9124.133091577263, "y": -2730.774021997738}, {"x": 9123.777199925718, "y": -2731.1236845838007}, {"x": 9123.42127126405, "y": -2731.473309495983}, {"x": 9123.065306418439, "y": -2731.822897569625}, {"x": 9122.709306219042, "y": -2732.172449639281}, {"x": 9122.353271492044, "y": -2732.5219665418667}, {"x": 9121.997203064951, "y": -2732.8714491127243}, {"x": 9121.641101765274, "y": -2733.2208981879826}, {"x": 9121.284968419193, "y": -2733.5703146045585}, {"x": 9120.928803855542, "y": -2733.9196991985814}, {"x": 9120.572608897857, "y": -2734.269052807756}, {"x": 9120.216384373647, "y": -2734.618376269}, {"x": 9119.860131110418, "y": -2734.96767041923}, {"x": 9119.503849931705, "y": -2735.31693609694}, {"x": 9119.147541663695, "y": -2735.6661741390467}, {"x": 9118.791207132568, "y": -2736.0153853840434}, {"x": 9118.43484716319, "y": -2736.3645706704233}, {"x": 9118.078462581738, "y": -2736.7137308366796}, {"x": 9117.72205421175, "y": -2737.062866720518}, {"x": 9117.365622879412, "y": -2737.4119791612193}, {"x": 9117.009169406934, "y": -2737.761068998853}, {"x": 9116.652694621826, "y": -2738.1101370703364}, {"x": 9116.296199346298, "y": -2738.459184217315}, {"x": 9115.939684406532, "y": -2738.8082112774937}, {"x": 9115.583150624745, "y": -2739.1572190909424}, {"x": 9115.226598825791, "y": -2739.506208498518}, {"x": 9114.870029833211, "y": -2739.855180337926}, {"x": 9114.513444470538, "y": -2740.204135450812}, {"x": 9114.156843562632, "y": -2740.5530746772447}, {"x": 9113.800227930384, "y": -2740.9019988572945}, {"x": 9113.443598399972, "y": -2741.250908830242}, {"x": 9113.086955793613, "y": -2741.5998054385213}, {"x": 9112.73030093484, "y": -2741.948689520625}, {"x": 9112.37363464719, "y": -2742.2975619189874}, {"x": 9112.016957751552, "y": -2742.6464234736773}, {"x": 9111.660271074106, "y": -2742.995275024764}, {"x": 9111.30357543442, "y": -2743.3441174146815}, {"x": 9110.946871658676, "y": -2743.692951482711}, {"x": 9110.590160566438, "y": -2744.041778071286}, {"x": 9110.233442983892, "y": -2744.390598021264}, {"x": 9109.876719731921, "y": -2744.7394121727143}, {"x": 9109.519991632742, "y": -2745.0882213688583}, {"x": 9109.163259509887, "y": -2745.43702644819}, {"x": 9108.80652418557, "y": -2745.785828254718}, {"x": 9108.449786482002, "y": -2746.1346276277245}, {"x": 9108.093047224043, "y": -2746.4834254096427}, {"x": 9107.736307231258, "y": -2746.832222442118}, {"x": 9107.379567328504, "y": -2747.18101956522}, {"x": 9107.022828336672, "y": -2747.5298176205943}, {"x": 9106.66609108062, "y": -2747.878617449886}, {"x": 9106.309356381238, "y": -2748.227419894741}, {"x": 9105.952625060734, "y": -2748.5762257968045}, {"x": 9105.595897943973, "y": -2748.925035996146}, {"x": 9105.239175850513, "y": -2749.273851334411}, {"x": 9104.882459606542, "y": -2749.622672653245}, {"x": 9104.525750032948, "y": -2749.971500793505}, {"x": 9104.169047953264, "y": -2750.3203365960494}, {"x": 9103.81235418838, "y": -2750.669180903311}, {"x": 9103.455669564479, "y": -2751.0180345545714}, {"x": 9103.100840544299, "y": -2751.3650928199527}, {"x": 9102.746021313867, "y": -2751.712161093665}, {"x": 9102.391211804339, "y": -2752.0592393039956}, {"x": 9102.036411942889, "y": -2752.406327379231}, {"x": 9101.68162166332, "y": -2752.7534252468695}, {"x": 9101.326840892809, "y": -2753.1005328351985}, {"x": 9100.972069561183, "y": -2753.4476500717165}, {"x": 9100.61730760092, "y": -2753.7947768847102}, {"x": 9100.262554940522, "y": -2754.1419132024666}, {"x": 9099.907811511139, "y": -2754.489058952484}, {"x": 9099.553077241275, "y": -2754.8362140630493}, {"x": 9099.198352062083, "y": -2755.183378462449}, {"x": 9098.84363590339, "y": -2755.5305520781826}, {"x": 9098.48892869502, "y": -2755.8777348385365}, {"x": 9098.134230366804, "y": -2756.2249266717968}, {"x": 9097.779540848569, "y": -2756.572127505463}, {"x": 9097.424860071465, "y": -2756.9193372686095}, {"x": 9097.07018796532, "y": -2757.2665558879476}, {"x": 9096.715524458637, "y": -2757.613783292551}, {"x": 9096.360869483891, "y": -2757.961019409919}, {"x": 9096.006222968263, "y": -2758.3082641683386}, {"x": 9095.651584844225, "y": -2758.6555174960968}, {"x": 9095.296955038959, "y": -2759.002779320691}, {"x": 9094.942333484942, "y": -2759.3500495711974}, {"x": 9094.587720111997, "y": -2759.697328174326}, {"x": 9094.23311484863, "y": -2760.0446150591515}, {"x": 9093.878517625992, "y": -2760.3919101539614}, {"x": 9093.52392837391, "y": -2760.739213386253}, {"x": 9093.169347020887, "y": -2761.0865246843146}, {"x": 9092.814773499398, "y": -2761.4338439756443}, {"x": 9092.46020773795, "y": -2761.7811711901045}, {"x": 9092.10564966504, "y": -2762.1285062536185}, {"x": 9091.751099213148, "y": -2762.475849096049}, {"x": 9091.396556312102, "y": -2762.8231996448944}, {"x": 9091.042020889077, "y": -2763.1705578284414}, {"x": 9090.687492876552, "y": -2763.5179235749774}, {"x": 9090.332972204353, "y": -2763.8652968120005}, {"x": 9089.978458800984, "y": -2764.2126774677977}, {"x": 9089.623952597594, "y": -2764.560065470656}, {"x": 9089.269453524013, "y": -2764.9074607496495}, {"x": 9088.914961508744, "y": -2765.2548632314893}, {"x": 9088.560476482937, "y": -2765.6022728452504}, {"x": 9088.205998376421, "y": -2765.949689519219}, {"x": 9087.85152711902, "y": -2766.297113180895}, {"x": 9087.497062639242, "y": -2766.644543758564}, {"x": 9087.142604869561, "y": -2766.9919811805125}, {"x": 9086.788153738478, "y": -2767.3394253758165}, {"x": 9086.433709174496, "y": -2767.686876271186}, {"x": 9086.079271110095, "y": -2768.0343337956956}, {"x": 9085.724839473774, "y": -2768.3817978776324}, {"x": 9085.370414195362, "y": -2768.729268444495}, {"x": 9085.015995204685, "y": -2769.0767454253587}, {"x": 9084.661582431572, "y": -2769.4242287485094}, {"x": 9084.30717580585, "y": -2769.7717183414466}, {"x": 9083.952775257347, "y": -2770.1192141324564}, {"x": 9083.598380717212, "y": -2770.4667160498257}, {"x": 9083.243992112626, "y": -2770.8142240218413}, {"x": 9082.889609376065, "y": -2771.1617379767904}, {"x": 9082.53523243603, "y": -2771.5092578437475}, {"x": 9082.18086122235, "y": -2771.8567835494227}, {"x": 9081.826495664853, "y": -2772.204315022892}, {"x": 9081.472135693364, "y": -2772.551852192441}, {"x": 9081.117781239036, "y": -2772.899394985569}, {"x": 9080.763432229049, "y": -2773.246943332139}, {"x": 9080.409088595876, "y": -2773.594497158861}, {"x": 9080.054750266698, "y": -2773.9420563948106}, {"x": 9079.70041717399, "y": -2774.2896209674864}, {"x": 9079.346089246255, "y": -2774.6371908059623}, {"x": 9078.991766411998, "y": -2774.984765838526}, {"x": 9078.637448603693, "y": -2775.332345992676}, {"x": 9078.283135748517, "y": -2775.679931197487}, {"x": 9077.92882777895, "y": -2776.0275213804575}, {"x": 9077.574524622169, "y": -2776.3751164706628}, {"x": 9077.220226209323, "y": -2776.7227163956013}, {"x": 9076.865932470244, "y": -2777.070321084348}, {"x": 9076.511643333431, "y": -2777.4179304644013}, {"x": 9076.157358730039, "y": -2777.7655444648362}, {"x": 9075.803078589892, "y": -2778.11316301394}, {"x": 9075.453180236493, "y": -2778.4564907423983}, {"x": 9075.10328595046, "y": -2778.79982261604}, {"x": 9074.753395514655, "y": -2779.1431584134198}, {"x": 9074.403508711941, "y": -2779.4864979138824}, {"x": 9074.053625326504, "y": -2779.829840895195}, {"x": 9073.703745138559, "y": -2780.1731871359143}, {"x": 9073.353867932288, "y": -2780.5165364153836}, {"x": 9073.00399349188, "y": -2780.8598885113706}, {"x": 9072.654121597549, "y": -2781.2032432040073}, {"x": 9072.30425203348, "y": -2781.5466002702733}, {"x": 9071.954384582536, "y": -2781.889959489513}, {"x": 9071.604519027576, "y": -2782.2333206410694}, {"x": 9071.254655150142, "y": -2782.576683501923}, {"x": 9070.904792734416, "y": -2782.9200478522052}, {"x": 9070.554931563263, "y": -2783.263413470472}, {"x": 9070.205071419545, "y": -2783.6067801344916}, {"x": 9069.855212084798, "y": -2783.9501476243954}, {"x": 9069.505353341883, "y": -2784.2935157171632}, {"x": 9069.15549497499, "y": -2784.636884192139}, {"x": 9068.805636765654, "y": -2784.9802528286664}, {"x": 9068.45577849806, "y": -2785.3236214045132}, {"x": 9068.105919952424, "y": -2785.666989699024}, {"x": 9067.756060914255, "y": -2786.010357490754}, {"x": 9067.406201165093, "y": -2786.3537245574707}, {"x": 9067.056340487796, "y": -2786.6970906793063}, {"x": 9066.706478665228, "y": -2787.040455634029}, {"x": 9066.356615481576, "y": -2787.383819200194}, {"x": 9066.00675071573, "y": -2787.7271811571454}, {"x": 9065.656884154521, "y": -2788.070541282651}, {"x": 9065.30701557949, "y": -2788.4138993560546}, {"x": 9064.957144772172, "y": -2788.7572551567005}, {"x": 9064.607271516756, "y": -2789.100608461568}, {"x": 9064.257395596103, "y": -2789.4439590500006}, {"x": 9063.907516791749, "y": -2789.7873067005544}, {"x": 9063.557634887882, "y": -2790.130651192574}, {"x": 9063.207749667365, "y": -2790.4739923046145}, {"x": 9062.857860911732, "y": -2790.8173298144434}, {"x": 9062.507968403848, "y": -2791.1606635006174}, {"x": 9062.158071929221, "y": -2791.5039931424794}, {"x": 9061.808171266743, "y": -2791.8473185185862}, {"x": 9061.458266203248, "y": -2792.190639407493}, {"x": 9061.108356517623, "y": -2792.533955587756}, {"x": 9060.758441996704, "y": -2792.877266837142}, {"x": 9060.408522420707, "y": -2793.220572934996}, {"x": 9060.05859757249, "y": -2793.5638736606616}, {"x": 9059.70866723624, "y": -2793.9071687911182}, {"x": 9059.35873119482, "y": -2794.25045810571}, {"x": 9059.005740433795, "y": -2794.5967324374155}, {"x": 9058.652744397905, "y": -2794.943001391416}, {"x": 9058.299743836538, "y": -2795.2892657313396}, {"x": 9057.946739497764, "y": -2795.635526221602}, {"x": 9057.593732136269, "y": -2795.981783628983}, {"x": 9057.240722497472, "y": -2796.328038715534}, {"x": 9056.887711334737, "y": -2796.6742922488243}, {"x": 9056.534699397454, "y": -2797.0205449916925}, {"x": 9056.18168743634, "y": -2797.366797709343}, {"x": 9055.828676199459, "y": -2797.713051166979}, {"x": 9055.475666438853, "y": -2798.0593061290174}, {"x": 9055.122658905237, "y": -2798.4055633614494}, {"x": 9054.769654346677, "y": -2798.7518236271153}, {"x": 9054.416653515213, "y": -2799.0980876920066}, {"x": 9054.063657160234, "y": -2799.4443563205396}, {"x": 9053.710666032457, "y": -2799.790630277918}, {"x": 9053.357680881274, "y": -2800.1369103285574}, {"x": 9053.004702458724, "y": -2800.483197236874}, {"x": 9052.651731512873, "y": -2800.8294917672833}, {"x": 9052.298768797084, "y": -2801.1757946842013}, {"x": 9051.945815059426, "y": -2801.5221067536204}, {"x": 9051.59287105061, "y": -2801.86842873838}, {"x": 9051.239937522681, "y": -2802.2147614028954}, {"x": 9050.88701522635, "y": -2802.5611055123713}, {"x": 9050.53410491101, "y": -2802.907461831224}, {"x": 9050.181207327376, "y": -2803.2538311222916}, {"x": 9049.82832322881, "y": -2803.600214149991}, {"x": 9049.47545336338, "y": -2803.9466116795265}, {"x": 9049.122598483125, "y": -2804.293024473737}, {"x": 9048.769759340084, "y": -2804.639453296251}, {"x": 9048.416936686297, "y": -2804.9858989114837}, {"x": 9048.064131269832, "y": -2805.332362082275}, {"x": 9047.711343845373, "y": -2805.678843573041}, {"x": 9047.358575163636, "y": -2806.0253441458335}, {"x": 9047.005825976663, "y": -2806.371864565068}, {"x": 9046.653097036491, "y": -2806.718405593584}, {"x": 9046.300389093836, "y": -2807.0649679942217}, {"x": 9045.94770290206, "y": -2807.411552529821}, {"x": 9045.595039213204, "y": -2807.758159962433}, {"x": 9045.242398779304, "y": -2808.1047910556863}, {"x": 9044.889782353726, "y": -2808.451446571632}, {"x": 9044.537190689833, "y": -2808.7981272723214}, {"x": 9044.18462453834, "y": -2809.144833919807}, {"x": 9043.832084655258, "y": -2809.49156727614}, {"x": 9043.4795717913, "y": -2809.8383281033725}, {"x": 9043.127086701157, "y": -2810.1851171619796}, {"x": 9042.77463013819, "y": -2810.531935214801}, {"x": 9042.41951847706, "y": -2810.8814244683867}, {"x": 9042.06443532192, "y": -2811.230942683877}, {"x": 9041.709379449387, "y": -2811.580488614564}, {"x": 9041.354349637393, "y": -2811.9300610153173}, {"x": 9040.999344661228, "y": -2812.279658637065}, {"x": 9040.64436329883, "y": -2812.629280236253}, {"x": 9040.289404324161, "y": -2812.9789245653856}, {"x": 9039.934466513834, "y": -2813.328590379332}, {"x": 9039.579548644462, "y": -2813.678276432174}, {"x": 9039.224649488684, "y": -2814.0279814795667}, {"x": 9038.869767823113, "y": -2814.377704275593}, {"x": 9038.514902423038, "y": -2814.727443575909}, {"x": 9038.160052062422, "y": -2815.077198136172}, {"x": 9037.805215516555, "y": -2815.4269667112508}, {"x": 9037.4503915594, "y": -2815.776748056803}, {"x": 9037.095578963595, "y": -2816.126540928485}, {"x": 9036.740776507082, "y": -2816.476344082743}, {"x": 9036.385982959848, "y": -2816.8261562752327}, {"x": 9036.03119709851, "y": -2817.1759762616125}, {"x": 9035.676417695702, "y": -2817.5258027991144}, {"x": 9035.321643525394, "y": -2817.8756346433966}, {"x": 9034.966873362873, "y": -2818.225470550115}, {"x": 9034.612105979453, "y": -2818.575309276504}, {"x": 9034.2573401491, "y": -2818.9251495782196}, {"x": 9033.902574647103, "y": -2819.2749902117075}, {"x": 9033.547808246101, "y": -2819.6248299342014}, {"x": 9033.19303972006, "y": -2819.974667501357}, {"x": 9032.838267841618, "y": -2820.324501669621}, {"x": 9032.483491386063, "y": -2820.6743311954374}, {"x": 9032.128709126038, "y": -2821.024154834464}, {"x": 9031.773919835507, "y": -2821.373971343933}, {"x": 9031.419122288431, "y": -2821.723779479503}, {"x": 9031.0643152601, "y": -2822.0735779968295}, {"x": 9030.709497521833, "y": -2822.4233656515707}, {"x": 9030.354667850239, "y": -2822.7731412009593}, {"x": 9029.999825019282, "y": -2823.1229033998643}, {"x": 9029.64496780293, "y": -2823.472651003155}, {"x": 9029.290094975144, "y": -2823.8223827672764}, {"x": 9028.935205311212, "y": -2824.1720974470973}, {"x": 9028.580297587749, "y": -2824.521793797487}, {"x": 9028.225370577393, "y": -2824.8714705741027}, {"x": 9027.870423056758, "y": -2825.221126530237}, {"x": 9027.51545380113, "y": -2825.5707604223353}, {"x": 9027.1604615858, "y": -2825.920371002902}, {"x": 9026.805445188702, "y": -2826.2699570260183}, {"x": 9026.454988286005, "y": -2826.615001607266}, {"x": 9026.104499877101, "y": -2826.960014183919}, {"x": 9025.753973209528, "y": -2827.304987891996}, {"x": 9025.403401537442, "y": -2827.649915862787}, {"x": 9025.052778112351, "y": -2827.994791226795}, {"x": 9024.702096193703, "y": -2828.339607112156}, {"x": 9024.351349042277, "y": -2828.684356641493}, {"x": 9024.00052992282, "y": -2829.0290329350632}, {"x": 9023.64963210405, "y": -2829.373629109183}, {"x": 9023.29864886131, "y": -2829.7181382746535}, {"x": 9022.947573472586, "y": -2830.0625535367585}, {"x": 9022.596399223808, "y": -2830.4068679984184}, {"x": 9022.245119406209, "y": -2830.751074753097}, {"x": 9021.893727316306, "y": -2831.0951668911043}, {"x": 9021.542216258573, "y": -2831.439137494872}, {"x": 9021.190579544096, "y": -2831.782979639737}, {"x": 9020.838810491907, "y": -2832.1266863947335}, {"x": 9020.486902430306, "y": -2832.4702508202267}, {"x": 9020.134848694215, "y": -2832.813665970277}, {"x": 9019.782642627819, "y": -2833.156924887912}, {"x": 9019.430277585903, "y": -2833.5000206106424}, {"x": 9019.077746932513, "y": -2833.842946164159}, {"x": 9018.725044042289, "y": -2834.185694565484}, {"x": 9018.372162297817, "y": -2834.52825882297}, {"x": 9018.019095096248, "y": -2834.8706319323614}, {"x": 9017.665835843995, "y": -2835.212806880734}, {"x": 9017.312377960718, "y": -2835.5547766425543}, {"x": 9016.958714876664, "y": -2835.89653418362}, {"x": 9016.604840037973, "y": -2836.2380724539685}, {"x": 9016.250746900048, "y": -2836.579384395756}, {"x": 9015.896428934186, "y": -2836.920462934589}, {"x": 9015.541879624916, "y": -2837.2613009874067}, {"x": 9015.187092472665, "y": -2837.60189145381}, {"x": 9014.832060991092, "y": -2837.9422272231554}, {"x": 9014.476778709746, "y": -2838.28230116825}, {"x": 9014.121239174068, "y": -2838.6221061500805}, {"x": 9013.765435945385, "y": -2838.9616350130837}, {"x": 9013.409362602233, "y": -2839.300880586724}, {"x": 9013.053012740365, "y": -2839.639835687068}, {"x": 9012.696379971421, "y": -2839.9784931120585}, {"x": 9012.339457926897, "y": -2840.316845645451}, {"x": 9011.982240255504, "y": -2840.6548860528774}], "type": "lane"}, {"geometry": [{"x": 9105.663777401713, "y": -2671.130105657614}, {"x": 9105.308364952714, "y": -2671.476000659379}, {"x": 9104.953084015242, "y": -2671.822030738154}, {"x": 9104.597934634316, "y": -2672.1681958379863}, {"x": 9104.242916853624, "y": -2672.514495902136}, {"x": 9103.88803071951, "y": -2672.8609308730747}, {"x": 9103.53327627699, "y": -2673.207500697215}, {"x": 9103.178653572406, "y": -2673.5542053170284}, {"x": 9102.824162652094, "y": -2673.901044678927}, {"x": 9102.469803562399, "y": -2674.248018727747}, {"x": 9102.115576350981, "y": -2674.5951274083236}, {"x": 9101.761481062862, "y": -2674.9423706662815}, {"x": 9101.407517748348, "y": -2675.289748449609}, {"x": 9101.053686452462, "y": -2675.6372607023536}, {"x": 9100.699987224187, "y": -2675.9849073725036}, {"x": 9100.346420112513, "y": -2676.3326884056833}, {"x": 9099.992985163784, "y": -2676.6806037498804}, {"x": 9099.639682428307, "y": -2677.0286533522954}, {"x": 9099.286511955075, "y": -2677.376837160128}, {"x": 9098.93347379175, "y": -2677.7251551213676}, {"x": 9098.580567987321, "y": -2678.073607184001}, {"x": 9098.2277945921, "y": -2678.422193295229}, {"x": 9097.875153655077, "y": -2678.770913403828}, {"x": 9097.522645225237, "y": -2679.1197674585737}, {"x": 9097.170269352899, "y": -2679.468755406667}, {"x": 9096.818026089692, "y": -2679.8178771984594}, {"x": 9096.465915483284, "y": -2680.16713278194}, {"x": 9096.113937583988, "y": -2680.516522105096}, {"x": 9095.762092442117, "y": -2680.8660451182805}, {"x": 9095.410380109306, "y": -2681.21570177027}, {"x": 9095.058800634542, "y": -2681.5654920098395}, {"x": 9094.707354069466, "y": -2681.9154157857665}, {"x": 9094.356040463063, "y": -2682.2654730484032}, {"x": 9094.004859865645, "y": -2682.6156637473136}, {"x": 9093.653812330174, "y": -2682.9659878296975}, {"x": 9093.302897905638, "y": -2683.3164452474844}, {"x": 9092.952116642351, "y": -2683.6670359478735}, {"x": 9092.601468591947, "y": -2684.0177598820055}, {"x": 9092.25396321266, "y": -2684.365551617795}, {"x": 9091.906433001515, "y": -2684.7133185400153}, {"x": 9091.558722112959, "y": -2685.0609048008237}, {"x": 9091.210675502458, "y": -2685.4081548731156}, {"x": 9090.862139877157, "y": -2685.7549140856177}, {"x": 9090.512964631938, "y": -2686.1010291721636}, {"x": 9090.163002772271, "y": -2686.4463488304264}, {"x": 9089.81211181586, "y": -2686.7907243066566}, {"x": 9089.460154690323, "y": -2687.1340100016996}, {"x": 9089.10700057659, "y": -2687.4760641085345}, {"x": 9088.752525750977, "y": -2687.8167492844864}, {"x": 9088.396614375617, "y": -2688.1559333533846}, {"x": 9088.039159257121, "y": -2688.493490055796}, {"x": 9087.680062565521, "y": -2688.829299832353}, {"x": 9087.319236513482, "y": -2689.1632506559426}, {"x": 9086.956603981238, "y": -2689.495238902509}, {"x": 9086.592099103134, "y": -2689.825170266777}, {"x": 9086.225667801196, "y": -2690.1529607173793}, {"x": 9085.857268269727, "y": -2690.4785374984754}, {"x": 9085.486871418841, "y": -2690.8018401621093}, {"x": 9085.11446126109, "y": -2691.122821636025}, {"x": 9084.740035258337, "y": -2691.4414493269487}, {"x": 9084.36360463292, "y": -2691.757706241996}, {"x": 9083.985194637724, "y": -2692.0715921345036}, {"x": 9083.604844798505, "y": -2692.38312466169}, {"x": 9083.222609137623, "y": -2692.6923405462508}, {"x": 9082.838556380604, "y": -2692.999296740319}, {"x": 9082.452770177242, "y": -2693.3040715736665}, {"x": 9082.065349314771, "y": -2693.6067658885045}, {"x": 9081.676407977362, "y": -2693.907504136463}, {"x": 9081.286076042712, "y": -2694.206435446406}, {"x": 9080.894499440848, "y": -2694.5037346260547}, {"x": 9080.501840598994, "y": -2694.799603112383}, {"x": 9080.108278997654, "y": -2695.094269832966}, {"x": 9079.714011852484, "y": -2695.3879919774877}, {"x": 9079.319254948416, "y": -2695.681055661286}, {"x": 9078.924243676363, "y": -2695.9737764517736}, {"x": 9078.527077082523, "y": -2696.2680028333625}, {"x": 9078.129910488684, "y": -2696.562229215739}, {"x": 9077.732743896167, "y": -2696.856455597328}, {"x": 9077.335577302327, "y": -2697.150681978917}, {"x": 9076.938410708488, "y": -2697.4449083605055}, {"x": 9076.541244114647, "y": -2697.7391347428825}, {"x": 9076.14407752213, "y": -2698.033361124471}, {"x": 9075.746910928292, "y": -2698.32758750606}, {"x": 9075.349744334451, "y": -2698.621813887649}, {"x": 9074.95257774061, "y": -2698.9160402700254}, {"x": 9074.555411148094, "y": -2699.2102666516143}, {"x": 9074.158244554255, "y": -2699.504493033203}, {"x": 9073.761077960415, "y": -2699.798719414792}, {"x": 9073.363911366574, "y": -2700.092945797169}, {"x": 9072.96674477406, "y": -2700.3871721787573}, {"x": 9072.569578180219, "y": -2700.681398560346}, {"x": 9072.172411586378, "y": -2700.9756249419347}, {"x": 9071.77524499254, "y": -2701.2698513243117}, {"x": 9071.378078400023, "y": -2701.5640777059007}, {"x": 9070.980911806182, "y": -2701.858304087489}, {"x": 9070.583745212343, "y": -2702.152530469078}, {"x": 9070.186578618503, "y": -2702.4467568514547}, {"x": 9069.789412025986, "y": -2702.7409832330436}, {"x": 9069.392245432147, "y": -2703.0352096146325}, {"x": 9068.995078838307, "y": -2703.329435996221}, {"x": 9068.597912244466, "y": -2703.623662378598}, {"x": 9068.20074565195, "y": -2703.9178887601865}, {"x": 9067.80357905811, "y": -2704.2121151417755}, {"x": 9067.40641246427, "y": -2704.5063415233644}, {"x": 9067.00924587043, "y": -2704.800567905741}, {"x": 9066.612079277915, "y": -2705.09479428733}, {"x": 9066.214912684074, "y": -2705.389020668919}, {"x": 9065.817746090233, "y": -2705.6832470505074}, {"x": 9065.420579496395, "y": -2705.9774734328844}, {"x": 9065.023412902554, "y": -2706.271699814473}, {"x": 9064.626246310037, "y": -2706.565926196062}, {"x": 9064.229079716199, "y": -2706.860152578439}, {"x": 9063.831913122358, "y": -2707.1543789600273}, {"x": 9063.434746528517, "y": -2707.4486053416163}, {"x": 9063.037579936, "y": -2707.7428317232047}, {"x": 9062.640413342162, "y": -2708.0370581055818}, {"x": 9062.243246748321, "y": -2708.3312844871707}, {"x": 9061.846080154482, "y": -2708.625510868759}, {"x": 9061.448913561966, "y": -2708.919737250348}, {"x": 9061.051746968125, "y": -2709.2139636327247}, {"x": 9060.654580374285, "y": -2709.5081900143136}, {"x": 9060.257413780446, "y": -2709.8024163959026}, {"x": 9059.86024718793, "y": -2710.096642777491}, {"x": 9059.463080594089, "y": -2710.390869159868}, {"x": 9059.06591400025, "y": -2710.6850955414566}, {"x": 9058.66874740641, "y": -2710.9793219230455}, {"x": 9058.271580813893, "y": -2711.2735483046345}, {"x": 9057.874414220054, "y": -2711.567774687011}, {"x": 9057.477247626213, "y": -2711.8620010686}, {"x": 9057.080081032373, "y": -2712.1562274501885}, {"x": 9056.682914439856, "y": -2712.4504538317774}, {"x": 9056.285747846017, "y": -2712.7446802141544}, {"x": 9055.888581252177, "y": -2713.038906595743}, {"x": 9055.491414658338, "y": -2713.333132977332}, {"x": 9055.094248065821, "y": -2713.627359358921}, {"x": 9054.69708147198, "y": -2713.9215857412973}, {"x": 9054.29991487814, "y": -2714.2158121228863}, {"x": 9053.902748284301, "y": -2714.510038504475}, {"x": 9053.505581691785, "y": -2714.8042648860637}, {"x": 9053.108415097944, "y": -2715.0984912684407}, {"x": 9052.711248504105, "y": -2715.392717650029}, {"x": 9052.314081910265, "y": -2715.686944031618}, {"x": 9051.916915317748, "y": -2715.9811704132067}, {"x": 9051.51974872391, "y": -2716.2753967955837}, {"x": 9051.122582130069, "y": -2716.5696231771726}, {"x": 9050.746824137497, "y": -2716.848020015566}, {"x": 9050.371152524835, "y": -2717.1265333990073}, {"x": 9049.995652655147, "y": -2717.4052782719987}, {"x": 9049.62040896337, "y": -2717.684367894176}, {"x": 9049.245505162853, "y": -2717.9639139017754}, {"x": 9048.871024439983, "y": -2718.2440263793496}, {"x": 9048.497049654121, "y": -2718.524813929113}, {"x": 9048.123663518985, "y": -2718.8063837379295}, {"x": 9047.750948799929, "y": -2719.088841652965}, {"x": 9047.378988503277, "y": -2719.372292247885}, {"x": 9047.007866055066, "y": -2719.656838896142}, {"x": 9046.637665494352, "y": -2719.9425838387506}, {"x": 9046.268471653271, "y": -2720.229628248907}], "type": "lane"}, {"geometry": [{"x": 9048.215705990347, "y": -2722.425631292736}, {"x": 9048.584939702743, "y": -2722.137801503606}, {"x": 9048.955166220725, "y": -2721.8512497957176}, {"x": 9049.326303050362, "y": -2721.565878040141}, {"x": 9049.698268439166, "y": -2721.2815870574645}, {"x": 9050.070981135132, "y": -2720.9982764783113}, {"x": 9050.444360158996, "y": -2720.715844600698}, {"x": 9050.818324565922, "y": -2720.434188243458}, {"x": 9051.192793216445, "y": -2720.1532026051764}, {"x": 9051.56768453682, "y": -2719.872781114464}, {"x": 9051.94291628203, "y": -2719.592815289677}, {"x": 9052.318405297461, "y": -2719.313194590768}, {"x": 9052.694067268663, "y": -2719.033806282947}, {"x": 9053.069816468467, "y": -2718.754535295622}, {"x": 9053.46658376525, "y": -2718.459675147094}, {"x": 9053.863351063357, "y": -2718.1648149977777}, {"x": 9054.26011836014, "y": -2717.8699548492496}, {"x": 9054.656885658247, "y": -2717.5750946999333}, {"x": 9055.05365295503, "y": -2717.280234551405}, {"x": 9055.450420251813, "y": -2716.9853744020893}, {"x": 9055.847187549918, "y": -2716.690514253561}, {"x": 9056.243954846701, "y": -2716.395654104245}, {"x": 9056.640722144808, "y": -2716.1007939557167}, {"x": 9057.03748944159, "y": -2715.8059338064004}, {"x": 9057.434256739698, "y": -2715.511073657872}, {"x": 9057.83102403648, "y": -2715.216213508556}, {"x": 9058.227791333264, "y": -2714.921353360028}, {"x": 9058.62455863137, "y": -2714.626493210712}, {"x": 9059.021325928154, "y": -2714.3316330621838}, {"x": 9059.418093226259, "y": -2714.0367729128675}, {"x": 9059.814860523042, "y": -2713.7419127643393}, {"x": 9060.211627819825, "y": -2713.447052615811}, {"x": 9060.608395117932, "y": -2713.152192466495}, {"x": 9061.005162414715, "y": -2712.8573323179667}, {"x": 9061.401929712822, "y": -2712.562472168651}, {"x": 9061.798697009604, "y": -2712.2676120201227}, {"x": 9062.195464307712, "y": -2711.9727518708064}, {"x": 9062.592231604494, "y": -2711.677891722278}, {"x": 9062.988998901277, "y": -2711.383031572962}, {"x": 9063.385766199382, "y": -2711.0881714244338}, {"x": 9063.782533496165, "y": -2710.7933112751175}, {"x": 9064.179300794272, "y": -2710.4984511265898}, {"x": 9064.576068091055, "y": -2710.2035909772735}, {"x": 9064.972835387838, "y": -2709.9087308287453}, {"x": 9065.369602685945, "y": -2709.613870679429}, {"x": 9065.766369982728, "y": -2709.319010530901}, {"x": 9066.163137280835, "y": -2709.0241503815846}, {"x": 9066.559904577618, "y": -2708.7292902330564}, {"x": 9066.956671875723, "y": -2708.4344300837406}, {"x": 9067.353439172506, "y": -2708.1395699352124}, {"x": 9067.750206469289, "y": -2707.8447097866842}, {"x": 9068.146973767396, "y": -2707.549849637368}, {"x": 9068.543741064179, "y": -2707.25498948884}, {"x": 9068.940508362286, "y": -2706.9601293395235}, {"x": 9069.337275659069, "y": -2706.6652691909953}, {"x": 9069.734042955852, "y": -2706.370409041679}, {"x": 9070.130810253959, "y": -2706.0755488931513}, {"x": 9070.527577550742, "y": -2705.780688743835}, {"x": 9070.924344848847, "y": -2705.485828595307}, {"x": 9071.32111214563, "y": -2705.1909684459906}, {"x": 9071.717879442413, "y": -2704.8961082974624}, {"x": 9072.11464674052, "y": -2704.601248148146}, {"x": 9072.511414037303, "y": -2704.306387999618}, {"x": 9072.90818133541, "y": -2704.011527850302}, {"x": 9073.304948632192, "y": -2703.716667701774}, {"x": 9073.7017159303, "y": -2703.4218075524577}, {"x": 9074.098483227082, "y": -2703.1269474039295}, {"x": 9074.495250523865, "y": -2702.8320872554013}, {"x": 9074.89201782197, "y": -2702.537227106085}, {"x": 9075.288785118753, "y": -2702.242366957557}, {"x": 9075.68555241686, "y": -2701.947506808241}, {"x": 9076.082319713643, "y": -2701.652646659713}, {"x": 9076.479087010426, "y": -2701.3577865103966}, {"x": 9076.875854308533, "y": -2701.0629263618684}, {"x": 9077.272621605316, "y": -2700.768066212552}, {"x": 9077.669388903423, "y": -2700.473206064024}, {"x": 9078.066156200206, "y": -2700.1783459147077}, {"x": 9078.462923498311, "y": -2699.8834857661795}, {"x": 9078.859690795094, "y": -2699.5886256168637}, {"x": 9079.256458091877, "y": -2699.2937654683356}, {"x": 9079.653225389984, "y": -2698.9989053190193}, {"x": 9080.049992686767, "y": -2698.704045170491}, {"x": 9080.446759984874, "y": -2698.409185021175}, {"x": 9080.843527281657, "y": -2698.1143248726466}, {"x": 9081.241030418327, "y": -2697.8188046723067}, {"x": 9081.638219756056, "y": -2697.5228629242056}, {"x": 9082.034811908474, "y": -2697.2261214867935}, {"x": 9082.430554637933, "y": -2696.928248326982}, {"x": 9082.825224971433, "y": -2696.628955900685}, {"x": 9083.218627639619, "y": -2696.327999307977}, {"x": 9083.610593755411, "y": -2696.025174270935}, {"x": 9084.000979674027, "y": -2695.7203149712127}, {"x": 9084.389665993362, "y": -2695.4132917875213}, {"x": 9084.776556632462, "y": -2695.104008954317}, {"x": 9085.161577960338, "y": -2694.7924021826493}, {"x": 9085.544677923433, "y": -2694.478436255802}, {"x": 9085.925825165157, "y": -2694.162102628866}, {"x": 9086.305008095102, "y": -2693.8434170432915}, {"x": 9086.682233902655, "y": -2693.522417176112}, {"x": 9087.057527497791, "y": -2693.199160340391}, {"x": 9087.430930367123, "y": -2692.873721236894}, {"x": 9087.802499349189, "y": -2692.546189770383}, {"x": 9088.172305314416, "y": -2692.2166689368314}, {"x": 9088.540431768279, "y": -2691.8852727823555}, {"x": 9088.906973360468, "y": -2691.552124429132}, {"x": 9089.272034321237, "y": -2691.2173541746015}, {"x": 9089.635726831522, "y": -2690.8810976505656}, {"x": 9089.998169322935, "y": -2690.5434940508476}, {"x": 9090.359484734021, "y": -2690.204684400715}, {"x": 9090.719798709606, "y": -2689.864809877531}, {"x": 9091.07923778558, "y": -2689.524010163715}, {"x": 9091.437927533949, "y": -2689.1824218264924}, {"x": 9091.795990710547, "y": -2688.840176711837}, {"x": 9092.153545382876, "y": -2688.497400350229}, {"x": 9092.510703076496, "y": -2688.15421035217}, {"x": 9092.86756693199, "y": -2687.8107148021213}, {"x": 9093.224229869886, "y": -2687.467010627225}, {"x": 9093.580772793983, "y": -2687.123181954204}, {"x": 9093.937262815829, "y": -2686.779298428435}, {"x": 9094.29375150307, "y": -2686.4354135180492}, {"x": 9094.65027315558, "y": -2686.0915627857207}, {"x": 9095.00684311204, "y": -2685.747762144696}, {"x": 9095.363456056544, "y": -2685.404006093545}, {"x": 9095.720084339735, "y": -2685.060265955641}, {"x": 9096.0766762854, "y": -2684.716488122579}, {"x": 9096.435354543988, "y": -2684.370501995352}, {"x": 9096.793919923877, "y": -2684.0243988872808}, {"x": 9097.152372387998, "y": -2683.678178835405}, {"x": 9097.510711896626, "y": -2683.331841875188}, {"x": 9097.868938412692, "y": -2682.985388044455}, {"x": 9098.2270518978, "y": -2682.6388173802447}, {"x": 9098.585052314875, "y": -2682.292129918809}, {"x": 9098.942939624196, "y": -2681.9453256979746}, {"x": 9099.300713790019, "y": -2681.598404753203}, {"x": 9099.658374771296, "y": -2681.2513671223214}, {"x": 9100.015922530956, "y": -2680.904212842369}, {"x": 9100.373357031925, "y": -2680.5569419503836}, {"x": 9100.73067823581, "y": -2680.2095544826166}, {"x": 9101.087886104213, "y": -2679.8620504761066}, {"x": 9101.444980598735, "y": -2679.5144299686804}, {"x": 9101.801961683632, "y": -2679.166692996588}, {"x": 9102.158829317856, "y": -2678.818839596869}, {"x": 9102.515583464337, "y": -2678.4708698065615}, {"x": 9102.872224087325, "y": -2678.1227836627045}, {"x": 9103.228751145778, "y": -2677.774581203125}, {"x": 9103.585164603945, "y": -2677.4262624632847}, {"x": 9103.941464422107, "y": -2677.077827481799}, {"x": 9104.297650563192, "y": -2676.7292762949187}, {"x": 9104.653722990126, "y": -2676.3806089404707}, {"x": 9105.009681664515, "y": -2676.031825453917}, {"x": 9105.36552654796, "y": -2675.6829258746607}, {"x": 9105.72125760339, "y": -2675.3339102373766}, {"x": 9106.076874792408, "y": -2674.9847785814673}, {"x": 9106.432378076619, "y": -2674.6355309423952}, {"x": 9106.787767418951, "y": -2674.286167357988}, {"x": 9107.143042782329, "y": -2673.936687866071}, {"x": 9107.498204127034, "y": -2673.587092502896}, {"x": 9107.853251417318, "y": -2673.2373813055015}], "type": "lane"}, {"geometry": [{"x": 9105.300417884579, "y": -2663.466276854971}, {"x": 9105.588574875053, "y": -2663.8633442756686}, {"x": 9105.883030535271, "y": -2664.2557520931437}, {"x": 9106.188856596293, "y": -2664.639345369944}, {"x": 9106.51018209482, "y": -2665.0100275132477}, {"x": 9106.850122443202, "y": -2665.3636888043475}, {"x": 9107.21074087417, "y": -2665.696210242792}, {"x": 9107.593042633735, "y": -2666.003526229277}, {"x": 9107.99700416109, "y": -2666.2817284883736}, {"x": 9108.42163902445, "y": -2666.5271933737126}, {"x": 9108.865100162619, "y": -2666.736715383066}, {"x": 9109.3248150283, "y": -2666.9076314153253}, {"x": 9109.797647255322, "y": -2667.03792297763}, {"x": 9110.280075932613, "y": -2667.126287042776}, {"x": 9110.768382047672, "y": -2667.172170193386}, {"x": 9111.258831291685, "y": -2667.1757647162985}, {"x": 9111.747843073708, "y": -2667.137968975878}, {"x": 9112.232137333802, "y": -2667.0603174313505}, {"x": 9112.708853056736, "y": -2666.9448877256036}, {"x": 9113.175635037183, "y": -2666.794193372231}, {"x": 9113.630688060965, "y": -2666.6110706897616}, {"x": 9114.07279995478, "y": -2666.3985679117127}, {"x": 9114.501336777406, "y": -2666.1598430669355}, {"x": 9114.916214563931, "y": -2665.8980755508865}, {"x": 9115.31785263843, "y": -2665.616394450214}, {"x": 9115.70711353556, "y": -2665.3178249146526}, {"x": 9116.085234204862, "y": -2665.0052522909455}, {"x": 9116.453752491, "y": -2664.681402446623}, {"x": 9116.814432139017, "y": -2664.3488357516076}, {"x": 9117.169188756889, "y": -2664.009951544135}, {"x": 9117.520018463152, "y": -2663.6669995717757}, {"x": 9117.868930425808, "y": -2663.3220948360745}], "type": "lane"}, {"geometry": [{"x": 9105.300417884579, "y": -2663.466276854971}, {"x": 9105.58444731065, "y": -2663.860413965512}, {"x": 9105.866547993219, "y": -2664.2559318380454}, {"x": 9106.142915838733, "y": -2664.6554684354296}, {"x": 9106.408385914914, "y": -2665.062309241434}, {"x": 9106.656606763634, "y": -2665.4798668495737}, {"x": 9106.880208140077, "y": -2665.911065783298}, {"x": 9107.0710380878, "y": -2666.3576810902964}, {"x": 9107.220549937036, "y": -2666.81971034414}, {"x": 9107.320395496778, "y": -2667.294891238773}, {"x": 9107.36322480741, "y": -2667.778500121592}, {"x": 9107.343612919103, "y": -2668.263562816189}, {"x": 9107.258952236622, "y": -2668.7415608566976}, {"x": 9107.110099404088, "y": -2669.203619990532}, {"x": 9106.90158523514, "y": -2669.642042932256}, {"x": 9106.64130473906, "y": -2670.051937483452}, {"x": 9106.339789255411, "y": -2670.4326421525266}, {"x": 9106.009376934971, "y": -2670.7886863461335}, {"x": 9105.663777401713, "y": -2671.130105657614}], "type": "lane"}, {"geometry": [{"x": 9107.853251417318, "y": -2673.2373813055015}, {"x": 9108.201125882342, "y": -2672.892560873836}, {"x": 9108.54319772558, "y": -2672.5419979114977}, {"x": 9108.87418328259, "y": -2672.180972442961}, {"x": 9109.189103609122, "y": -2671.8058778974882}, {"x": 9109.483226187478, "y": -2671.4142893423104}, {"x": 9109.752091136677, "y": -2671.004971348226}, {"x": 9109.99159585525, "y": -2670.5778305225303}, {"x": 9110.198111736929, "y": -2670.133816476974}, {"x": 9110.368608316701, "y": -2669.6747766785847}, {"x": 9110.500763820555, "y": -2669.20327376295}, {"x": 9110.593046057367, "y": -2668.7223770551614}, {"x": 9110.644753484474, "y": -2668.2354422675244}, {"x": 9110.656012436513, "y": -2667.745894096544}, {"x": 9110.62773213018, "y": -2667.2570255377523}, {"x": 9110.561523741897, "y": -2666.7718253562657}, {"x": 9110.459592940357, "y": -2666.292841823746}, {"x": 9110.324616871183, "y": -2665.822087014326}, {"x": 9110.159616593604, "y": -2665.360982264717}, {"x": 9109.967834762878, "y": -2664.910342282244}, {"x": 9109.752626221823, "y": -2664.470393058179}, {"x": 9109.517366651893, "y": -2664.0408173859496}, {"x": 9109.26538174247, "y": -2663.6208212541987}, {"x": 9108.99989691414, "y": -2663.2092146140217}, {"x": 9108.72400563506, "y": -2662.8045006784973}, {"x": 9108.440652780775, "y": -2662.404968860682}, {"x": 9108.152628598038, "y": -2662.0087873845614}, {"x": 9107.862568328796, "y": -2661.6140924703154}], "type": "lane"}, {"geometry": [{"x": 9107.853251417318, "y": -2673.2373813055015}, {"x": 9108.199377106583, "y": -2672.896241420326}, {"x": 9108.545399664528, "y": -2672.554996928387}, {"x": 9108.891324470622, "y": -2672.2136533453}, {"x": 9109.237156924184, "y": -2671.872216195348}, {"x": 9109.58290243778, "y": -2671.53069100912}, {"x": 9109.928566437215, "y": -2671.1890833211432}, {"x": 9110.274154361528, "y": -2670.8473986722515}, {"x": 9110.619671659038, "y": -2670.5056426056412}, {"x": 9110.965123791293, "y": -2670.1638206692382}, {"x": 9111.310516225141, "y": -2669.821938412544}, {"x": 9111.65585444067, "y": -2669.480001388212}, {"x": 9112.001143919297, "y": -2669.1380151488956}, {"x": 9112.346390150373, "y": -2668.7959852511894}, {"x": 9112.691598625905, "y": -2668.4539172469595}, {"x": 9113.036774844517, "y": -2668.1118166927986}, {"x": 9113.381924302184, "y": -2667.769689140573}, {"x": 9113.72705250018, "y": -2667.4275401413606}, {"x": 9114.072164937132, "y": -2667.085375244663}, {"x": 9114.417267110335, "y": -2666.7431999960404}, {"x": 9114.762364515771, "y": -2666.4010199379027}, {"x": 9115.107462641468, "y": -2666.058840608718}, {"x": 9115.452566976786, "y": -2665.7166675406506}, {"x": 9115.797683000486, "y": -2665.374506261925}, {"x": 9116.142816186039, "y": -2665.0323622928845}, {"x": 9116.48797199632, "y": -2664.6902411491433}, {"x": 9116.833155888908, "y": -2664.34814833686}, {"x": 9117.178373304174, "y": -2664.006089355889}, {"x": 9117.523629677187, "y": -2663.664069695051}, {"x": 9117.868930425808, "y": -2663.3220948360745}], "type": "lane"}, {"geometry": [{"x": 9116.108034302375, "y": -2661.0373643978805}, {"x": 9115.759499475453, "y": -2661.3733826913217}, {"x": 9115.41094540533, "y": -2661.709381022476}, {"x": 9115.062377016013, "y": -2662.045364500321}, {"x": 9114.713799242092, "y": -2662.3813382409267}, {"x": 9114.365217023462, "y": -2662.7173073713952}, {"x": 9114.016635311928, "y": -2663.0532770267105}, {"x": 9113.668059059297, "y": -2663.3892523473714}, {"x": 9113.319493231942, "y": -2663.725238480971}, {"x": 9112.970942794911, "y": -2664.0612405829806}, {"x": 9112.622412723842, "y": -2664.397263808874}, {"x": 9112.273907997023, "y": -2664.73331331964}, {"x": 9111.925433599363, "y": -2665.0693942802077}, {"x": 9111.57699451709, "y": -2665.405511854719}, {"x": 9111.228595741735, "y": -2665.7416712088907}, {"x": 9110.880242268797, "y": -2666.0778775068643}, {"x": 9110.531939095099, "y": -2666.4141359143578}, {"x": 9110.18369122276, "y": -2666.7504515915716}, {"x": 9109.83550364993, "y": -2667.0868296979193}, {"x": 9109.487381382702, "y": -2667.4232753872966}, {"x": 9109.13932942319, "y": -2667.7597938088725}, {"x": 9108.791352776167, "y": -2668.0963901062983}, {"x": 9108.443456447721, "y": -2668.4330694153455}, {"x": 9108.095645439977, "y": -2668.769836865481}, {"x": 9107.747924757698, "y": -2669.106697575927}, {"x": 9107.400299400357, "y": -2669.443656656448}, {"x": 9107.052774368749, "y": -2669.7807192057776}, {"x": 9106.705354661024, "y": -2670.117890313191}, {"x": 9106.358045270033, "y": -2670.455175051415}, {"x": 9106.010851187302, "y": -2670.792578484508}, {"x": 9105.663777401713, "y": -2671.130105657614}], "type": "lane"}, {"geometry": [{"x": 9116.108034302375, "y": -2661.0373643978805}, {"x": 9115.74862012181, "y": -2661.3832432736235}, {"x": 9115.38692864612, "y": -2661.7267367865434}, {"x": 9115.019811273929, "y": -2662.0644144928324}, {"x": 9114.643473271139, "y": -2662.391761850179}, {"x": 9114.253919046952, "y": -2662.703225172513}, {"x": 9113.847477150057, "y": -2662.99224287176}, {"x": 9113.421382528335, "y": -2663.2513246198}, {"x": 9112.974372959485, "y": -2663.4722487135523}, {"x": 9112.507230107476, "y": -2663.646439329167}, {"x": 9112.023168448599, "y": -2663.765555134846}, {"x": 9111.527958533085, "y": -2663.822268728647}, {"x": 9111.02967872743, "y": -2663.8111498918447}, {"x": 9110.538032949356, "y": -2663.7295017298447}, {"x": 9110.06325151886, "y": -2663.577962255642}, {"x": 9109.614691757612, "y": -2663.360699577494}, {"x": 9109.19934282251, "y": -2663.0851096055535}, {"x": 9108.820478962401, "y": -2662.7610617357577}, {"x": 9108.476674906802, "y": -2662.3998983374427}, {"x": 9108.16130715403, "y": -2662.013534667859}, {"x": 9107.862568328796, "y": -2661.6140924703154}], "type": "lane"}, {"geometry": [{"x": 9107.862568328796, "y": -2661.6140924703154}, {"x": 9107.567422485943, "y": -2661.212361171971}, {"x": 9107.272751031524, "y": -2660.810281783077}, {"x": 9106.978554377309, "y": -2660.407854861577}, {"x": 9106.68483293109, "y": -2660.0050809701456}, {"x": 9106.391587103313, "y": -2659.601960669091}, {"x": 9106.098817301776, "y": -2659.1984945195104}, {"x": 9105.806523934272, "y": -2658.7946830848646}, {"x": 9105.514707409922, "y": -2658.3905269262514}, {"x": 9105.223368133873, "y": -2657.986026607919}, {"x": 9104.932506511275, "y": -2657.5811826925415}, {"x": 9104.642122948597, "y": -2657.1759957451554}, {"x": 9104.35221785099, "y": -2656.77046633001}, {"x": 9104.062791619626, "y": -2656.3645950105674}, {"x": 9103.773844660982, "y": -2655.958382354228}, {"x": 9103.485377374904, "y": -2655.5518289268175}, {"x": 9103.19739016522, "y": -2655.1449352933732}, {"x": 9102.909883433105, "y": -2654.7377020220847}, {"x": 9102.622857577086, "y": -2654.330129678777}, {"x": 9102.336312999663, "y": -2653.922218833217}, {"x": 9102.05025009804, "y": -2653.5139700528043}, {"x": 9101.764669272068, "y": -2653.1053839057295}, {"x": 9101.479570918953, "y": -2652.6964609625456}, {"x": 9101.194955435898, "y": -2652.2872017914433}, {"x": 9100.910823218781, "y": -2651.877606963763}, {"x": 9100.627174664807, "y": -2651.4676770492715}, {"x": 9100.344010168532, "y": -2651.0574126200977}, {"x": 9100.061330125835, "y": -2650.6468142475837}, {"x": 9099.779134927301, "y": -2650.2358825030715}, {"x": 9099.497424968808, "y": -2649.8246179602666}, {"x": 9099.216200642266, "y": -2649.413021190511}, {"x": 9098.935462339581, "y": -2649.0010927682983}, {"x": 9098.655210450013, "y": -2648.588833267335}, {"x": 9098.375445366793, "y": -2648.176243262903}, {"x": 9098.096167479183, "y": -2647.7633233279194}, {"x": 9097.817377173795, "y": -2647.3500740392437}, {"x": 9097.539074842533, "y": -2646.9364959713685}, {"x": 9097.261260870688, "y": -2646.522589701941}, {"x": 9096.98393564487, "y": -2646.108355807031}, {"x": 9096.707099554338, "y": -2645.6937948627083}, {"x": 9096.430752981734, "y": -2645.2789074481957}, {"x": 9096.15489631367, "y": -2644.8636941403506}, {"x": 9095.87952993543, "y": -2644.448155518396}, {"x": 9095.604654228333, "y": -2644.032292159978}, {"x": 9095.330269576341, "y": -2643.616104646683}, {"x": 9095.056376362096, "y": -2643.1995935561577}, {"x": 9094.78297496691, "y": -2642.782759469988}, {"x": 9094.510065770777, "y": -2642.365602968972}, {"x": 9094.237649156335, "y": -2641.9481246331206}, {"x": 9093.965725500932, "y": -2641.5303250455963}, {"x": 9093.69429518323, "y": -2641.112204787198}, {"x": 9093.423358583223, "y": -2640.6937644402997}, {"x": 9093.152916076931, "y": -2640.27500458964}, {"x": 9092.882968041697, "y": -2639.8559258168057}, {"x": 9092.613514854866, "y": -2639.4365287073238}, {"x": 9092.344556888482, "y": -2639.0168138435683}, {"x": 9092.076094519893, "y": -2638.5967818118543}, {"x": 9091.808128122468, "y": -2638.1764331961326}, {"x": 9091.540658070902, "y": -2637.7557685835063}, {"x": 9091.273684734597, "y": -2637.3347885587136}, {"x": 9091.007208488247, "y": -2636.9134937088575}, {"x": 9090.741229702575, "y": -2636.491884621041}, {"x": 9090.475748746981, "y": -2636.0699618823674}, {"x": 9090.210765993515, "y": -2635.647726080727}, {"x": 9089.946281808925, "y": -2635.225177804799}, {"x": 9089.682296563937, "y": -2634.8023176424745}, {"x": 9089.418810623974, "y": -2634.37914618322}, {"x": 9089.155824358442, "y": -2633.955664017292}, {"x": 9088.89333813144, "y": -2633.5318717333685}, {"x": 9088.633978642387, "y": -2633.1120266675275}, {"x": 9088.375110761877, "y": -2632.691878309846}, {"x": 9088.116735686817, "y": -2632.2714267210044}, {"x": 9087.85885461279, "y": -2631.850671960895}, {"x": 9087.601468739354, "y": -2631.429614095715}, {"x": 9087.344579266062, "y": -2631.008253194813}, {"x": 9087.08818739247, "y": -2630.586589329114}, {"x": 9086.83229432078, "y": -2630.1646225758477}, {"x": 9086.576901253198, "y": -2629.7423530130327}, {"x": 9086.32200939325, "y": -2629.319780723414}, {"x": 9086.067619947115, "y": -2628.8969057928907}, {"x": 9085.813734120962, "y": -2628.4737283105123}, {"x": 9085.560353120973, "y": -2628.050248369271}, {"x": 9085.307478154642, "y": -2627.6264660660963}, {"x": 9085.055110433444, "y": -2627.2023814994964}, {"x": 9084.803251166202, "y": -2626.777994773495}, {"x": 9084.551901565712, "y": -2626.353305994479}, {"x": 9084.301062843444, "y": -2625.928315272777}, {"x": 9084.050736212195, "y": -2625.5030227218695}, {"x": 9083.800922890056, "y": -2625.0774284591766}, {"x": 9083.551624089821, "y": -2624.6515326052718}, {"x": 9083.302841029586, "y": -2624.2253352838798}, {"x": 9083.054574927439, "y": -2623.7988366242416}, {"x": 9082.806827001472, "y": -2623.372036756387}, {"x": 9082.559598472426, "y": -2622.944935815862}, {"x": 9082.31289056104, "y": -2622.517533940577}, {"x": 9082.066704489376, "y": -2622.0898312723816}, {"x": 9081.821041480825, "y": -2621.661827957855}, {"x": 9081.575902758772, "y": -2621.23352414594}, {"x": 9081.331289550579, "y": -2620.804919988732}, {"x": 9081.08720307963, "y": -2620.376015643054}, {"x": 9080.843644574612, "y": -2619.946811268882}, {"x": 9080.600615262885, "y": -2619.517307029343}, {"x": 9080.358116375779, "y": -2619.087503093083}, {"x": 9080.116149140655, "y": -2618.6573996295333}, {"x": 9079.874714790167, "y": -2618.2269968136425}, {"x": 9079.633814555647, "y": -2617.7962948243003}, {"x": 9079.393449671077, "y": -2617.3652938427595}, {"x": 9079.15362136911, "y": -2616.933994055002}, {"x": 9078.914330887701, "y": -2616.5023956493733}, {"x": 9078.675579459503, "y": -2616.070498819736}, {"x": 9078.437368323792, "y": -2615.638303762316}, {"x": 9078.199698717197, "y": -2615.205810678068}, {"x": 9077.962571878994, "y": -2614.7730197695228}, {"x": 9077.725989048458, "y": -2614.339931246304}, {"x": 9077.489951467514, "y": -2613.9065453188227}, {"x": 9077.25446037676, "y": -2613.472862202219}, {"x": 9077.019517019446, "y": -2613.0388821163606}, {"x": 9076.785122637493, "y": -2612.6046052826914}, {"x": 9076.5512784768, "y": -2612.170031929749}, {"x": 9076.317985781936, "y": -2611.735162286069}, {"x": 9076.0852457988, "y": -2611.2999965864938}, {"x": 9075.853059775933, "y": -2610.8645350682273}, {"x": 9075.621428959234, "y": -2610.4287779747806}, {"x": 9075.390354597243, "y": -2609.9927255496627}, {"x": 9075.15983794248, "y": -2609.5563780434763}, {"x": 9074.929880242162, "y": -2609.1197357083993}, {"x": 9074.70048275013, "y": -2608.6827988029154}, {"x": 9074.471646717577, "y": -2608.245567586295}, {"x": 9074.243373397016, "y": -2607.8080423241136}, {"x": 9074.01566404229, "y": -2607.3702232850987}, {"x": 9073.788519909886, "y": -2606.9321107411306}, {"x": 9073.561942253644, "y": -2606.493704968817}, {"x": 9073.335932328726, "y": -2606.0550062479183}, {"x": 9073.110491395597, "y": -2605.616014863712}, {"x": 9072.885508197469, "y": -2605.176513389535}, {"x": 9072.661091159065, "y": -2604.7367225563753}, {"x": 9072.437235615886, "y": -2604.296645656738}, {"x": 9072.21393689417, "y": -2603.8562859626372}, {"x": 9071.991190308234, "y": -2603.4156467271755}, {"x": 9071.768991160483, "y": -2602.974731186117}, {"x": 9071.547334745374, "y": -2602.5335425555245}, {"x": 9071.326216346775, "y": -2602.092084034124}, {"x": 9071.105631237962, "y": -2601.6503588033042}, {"x": 9070.885574681617, "y": -2601.2083700247517}, {"x": 9070.666041931152, "y": -2600.7661208436043}, {"x": 9070.447028232042, "y": -2600.3236143868744}, {"x": 9070.228528816515, "y": -2599.8808537642376}, {"x": 9070.010538911505, "y": -2599.43784206882}, {"x": 9069.793053732034, "y": -2598.9945823748335}, {"x": 9069.576068483846, "y": -2598.55107774073}, {"x": 9069.359578366075, "y": -2598.107331208412}, {"x": 9069.143578564612, "y": -2597.663345802444}, {"x": 9068.928064261372, "y": -2597.219124530842}, {"x": 9068.713030627683, "y": -2596.7746703858606}, {"x": 9068.49847282428, "y": -2596.3299863424177}, {"x": 9068.284386005273, "y": -2595.8850753596685}, {"x": 9068.070765318158, "y": -2595.439940381797}, {"x": 9067.85760589851, "y": -2594.9945843364367}, {"x": 9067.644902876615, "y": -2594.5490101354603}, {"x": 9067.432651374807, "y": -2594.1032206765562}, {"x": 9067.220846506158, "y": -2593.6572188400737}, {"x": 9067.00948337579, "y": -2593.2110074921793}, {"x": 9066.798557082211, "y": -2592.764589485641}, {"x": 9066.58806271598, "y": -2592.317967656678}, {"x": 9066.377995362363, "y": -2591.8711448265362}, {"x": 9066.16835009471, "y": -2591.424123802277}, {"x": 9065.959121983718, "y": -2590.976907379141}, {"x": 9065.750306089501, "y": -2590.5294983334543}, {"x": 9065.541897468194, "y": -2590.0818994320875}, {"x": 9065.333891167988, "y": -2589.6341134261497}, {"x": 9065.126282230456, "y": -2589.1861430517765}, {"x": 9064.919065687905, "y": -2588.7379910348595}, {"x": 9064.712236569989, "y": -2588.2896600847403}, {"x": 9064.505789898421, "y": -2587.841152899728}, {"x": 9064.299720688296, "y": -2587.392472163159}, {"x": 9064.094023949407, "y": -2586.9436205481243}, {"x": 9063.888694682282, "y": -2586.4946007135304}, {"x": 9063.683727886128, "y": -2586.045415304887}, {"x": 9063.479118552203, "y": -2585.5960669566693}, {"x": 9063.274861663824, "y": -2585.1465582915343}, {"x": 9063.070952200334, "y": -2584.6968919187398}, {"x": 9062.867385138432, "y": -2584.2470704373}, {"x": 9062.664155442895, "y": -2583.79709643362}], "type": "lane"}, {"geometry": [{"x": 8992.099952810238, "y": -2657.576995965634}, {"x": 8991.939576143695, "y": -2657.1108099996327}, {"x": 8991.784917652089, "y": -2656.6426997223202}, {"x": 8991.639152529584, "y": -2656.1717493902975}, {"x": 8991.505076593054, "y": -2655.697344543248}, {"x": 8991.385116426673, "y": -2655.219180894803}, {"x": 8991.281330965432, "y": -2654.737252999484}, {"x": 8991.195407975916, "y": -2654.251826498893}, {"x": 8991.128658785401, "y": -2653.7633975075873}, {"x": 8991.082014230384, "y": -2653.2726425706364}, {"x": 8991.056024152134, "y": -2652.7803625720458}, {"x": 8991.050862012196, "y": -2652.2874238692216}, {"x": 8991.066335412996, "y": -2651.7946997765425}, {"x": 8991.101902527515, "y": -2651.30301523426}, {"x": 8991.156693737626, "y": -2650.813097140382}, {"x": 8991.229537300087, "y": -2650.3255323669064}, {"x": 8991.318987418244, "y": -2649.840734983715}, {"x": 8991.423352985032, "y": -2649.358923703581}, {"x": 8991.540725199226, "y": -2648.880110092825}, {"x": 8991.66900248071, "y": -2648.4040977044538}, {"x": 8991.805911358108, "y": -2647.930491944639}, {"x": 8991.94902248138, "y": -2647.4587203242236}, {"x": 8992.095761351633, "y": -2646.9880625822193}, {"x": 8992.243413941549, "y": -2646.5176901974414}, {"x": 8992.389127958491, "y": -2646.0467147768177}, {"x": 8992.529911078274, "y": -2645.574244906651}, {"x": 8992.66262803896, "y": -2645.0994510231562}, {"x": 8992.783999046733, "y": -2644.6216378554395}, {"x": 8992.890602437184, "y": -2644.1403237931436}, {"x": 8992.978884944338, "y": -2643.6553262401744}, {"x": 8993.04518324632, "y": -2643.1668514910934}, {"x": 8993.085760590186, "y": -2642.6755869787735}, {"x": 8993.096862254819, "y": -2642.18279281359}, {"x": 8993.07575356095, "y": -2641.694727113677}, {"x": 8993.022236293296, "y": -2641.2091449118216}, {"x": 8992.936627645564, "y": -2640.728181479985}, {"x": 8992.819383851329, "y": -2640.2539356929015}, {"x": 8992.671096423832, "y": -2639.7884611577024}, {"x": 8992.492487852938, "y": -2639.3337577060443}, {"x": 8992.284406787063, "y": -2638.891763267662}, {"x": 8992.047822731814, "y": -2638.464346172621}, {"x": 8991.783820306438, "y": -2638.053297886213}, {"x": 8991.493593092442, "y": -2637.6603262174795}, {"x": 8991.178437106224, "y": -2637.2870490139585}, {"x": 8990.839743938033, "y": -2636.9349883592204}, {"x": 8990.478993593037, "y": -2636.60556529288}, {"x": 8990.097747080817, "y": -2636.3000950633386}, {"x": 8989.697638777148, "y": -2636.019782916403}, {"x": 8989.280368608343, "y": -2635.765720438701}, {"x": 8988.847694097914, "y": -2635.5388824487914}, {"x": 8988.401422302011, "y": -2635.34012443913}, {"x": 8987.943401685277, "y": -2635.1701805759794}, {"x": 8987.475513959644, "y": -2635.0296622422925}, {"x": 8986.999665940311, "y": -2634.919057121987}, {"x": 8986.517781434866, "y": -2634.838728820889}, {"x": 8986.031793205191, "y": -2634.788917010952}, {"x": 8985.543635048543, "y": -2634.7697380803997}, {"x": 8985.055234008398, "y": -2634.781186282716}, {"x": 8984.56850276004, "y": -2634.8231353695005}, {"x": 8984.085332185505, "y": -2634.8953406772443}, {"x": 8983.607584181547, "y": -2634.9974416617238}, {"x": 8983.137084711218, "y": -2635.12896485558}, {"x": 8982.66842779779, "y": -2635.2921251450794}, {"x": 8982.211006524509, "y": -2635.484545010149}, {"x": 8981.766717261446, "y": -2635.705600887618}, {"x": 8981.337431278042, "y": -2635.9545410438436}, {"x": 8980.924985849708, "y": -2636.230485629875}, {"x": 8980.531175220127, "y": -2636.5324273615443}, {"x": 8980.157741466875, "y": -2636.8592328363134}, {"x": 8979.806365306169, "y": -2637.2096445049933}, {"x": 8979.478656896268, "y": -2637.5822833274974}, {"x": 8979.176146656764, "y": -2637.975652110267}, {"x": 8978.900276201755, "y": -2638.388139548217}, {"x": 8978.65238939878, "y": -2638.818024975148}, {"x": 8978.433723623712, "y": -2639.26348382656}, {"x": 8978.245401273847, "y": -2639.722593805417}, {"x": 8978.088421586826, "y": -2640.193341764253}, {"x": 8977.963652824983, "y": -2640.6736312791923}, {"x": 8977.871824888685, "y": -2641.1612909017026}, {"x": 8977.813522406308, "y": -2641.654083081769}, {"x": 8977.789178382947, "y": -2642.149713724669}, {"x": 8977.799068429045, "y": -2642.6458423663717}, {"x": 8977.843305669567, "y": -2643.14009291634}, {"x": 8977.921836350924, "y": -2643.6300649464547}, {"x": 8978.034436225093, "y": -2644.113345472474}, {"x": 8978.180707749336, "y": -2644.587521178385}, {"x": 8978.3600781624, "y": -2645.050191030051}, {"x": 8978.571798465038, "y": -2645.4989792269394}, {"x": 8978.81054409671, "y": -2645.92537445402}, {"x": 8979.076013038211, "y": -2646.3356851933977}, {"x": 8979.364630198548, "y": -2646.7300751135986}, {"x": 8979.67306066129, "y": -2647.109188334275}, {"x": 8979.99822750314, "y": -2647.4740635460525}, {"x": 8980.337314490947, "y": -2647.8260535230584}, {"x": 8980.68775689703, "y": -2648.1667512590716}, {"x": 8981.047223554835, "y": -2648.4979232340193}, {"x": 8981.41359295521, "y": -2648.8214498194866}, {"x": 8981.784925958504, "y": -2649.139272459156}, {"x": 8982.159437292545, "y": -2649.453347048899}, {"x": 8982.53546775368, "y": -2649.7656028403603}, {"x": 8982.911458673176, "y": -2650.077906211586}, {"x": 8983.285929933327, "y": -2650.3920287136543}, {"x": 8983.657462550062, "y": -2650.709618971692}, {"x": 8984.024686537046, "y": -2651.0321781510697}, {"x": 8984.38627456763, "y": -2651.3610389178366}, {"x": 8984.740941635908, "y": -2651.6973479564535}, {"x": 8985.087450711568, "y": -2652.0420522835957}, {"x": 8985.42462413303, "y": -2652.3958896614336}, {"x": 8985.751360234386, "y": -2652.759383465012}, {"x": 8986.066654487244, "y": -2653.1328423449636}, {"x": 8986.369624290212, "y": -2653.5163649038404}, {"x": 8986.659536333591, "y": -2653.909849453845}, {"x": 8986.935835431073, "y": -2654.313008698341}, {"x": 8987.198173648025, "y": -2654.725388876926}, {"x": 8987.446438628733, "y": -2655.14639262304}, {"x": 8987.680780104463, "y": -2655.5753044205903}, {"x": 8987.901633777326, "y": -2656.0113172158685}, {"x": 8988.10974195898, "y": -2656.453558405324}, {"x": 8988.306170593472, "y": -2656.9011131384277}, {"x": 8988.492322543692, "y": -2657.3530425974545}, {"x": 8988.669947122953, "y": -2657.8083946922147}, {"x": 8988.84114595241, "y": -2658.26620446275}, {"x": 8989.008375070227, "y": -2658.7254812946744}, {"x": 8989.174442848887, "y": -2659.185180013225}], "type": "lane"}, {"geometry": [{"x": 8989.174442848887, "y": -2659.185180013225}, {"x": 8989.344310925153, "y": -2659.650832751885}, {"x": 8989.516195953292, "y": -2660.1157447644905}, {"x": 8989.690094706686, "y": -2660.5799073162116}, {"x": 8989.866003915024, "y": -2661.043311684826}, {"x": 8990.04392027357, "y": -2661.5059491615107}, {"x": 8990.223840439194, "y": -2661.9678110539894}, {"x": 8990.405761030364, "y": -2662.4288886825966}, {"x": 8990.589678629807, "y": -2662.889173382639}, {"x": 8990.775589780524, "y": -2663.3486565067606}, {"x": 8990.96349098977, "y": -2663.8073294186383}, {"x": 8991.153378726403, "y": -2664.2651835008633}, {"x": 8991.345249420887, "y": -2664.722210149422}, {"x": 8991.53909947058, "y": -2665.178400776063}, {"x": 8991.734925230478, "y": -2665.6337468082966}, {"x": 8991.932723021147, "y": -2666.0882396893926}, {"x": 8992.132489126088, "y": -2666.541870880748}, {"x": 8992.33421979172, "y": -2666.9946318555794}, {"x": 8992.5379112274, "y": -2667.446514108381}, {"x": 8992.743559605404, "y": -2667.897509146257}, {"x": 8992.951161060939, "y": -2668.3476084952235}, {"x": 8993.160711693465, "y": -2668.7968036970587}, {"x": 8993.372207564043, "y": -2669.2450863108784}, {"x": 8993.585644700639, "y": -2669.6924479131344}, {"x": 8993.80101909149, "y": -2670.138880097617}, {"x": 8994.01832668909, "y": -2670.5843744746644}, {"x": 8994.237563410188, "y": -2671.028922674318}, {"x": 8994.458725134451, "y": -2671.472516341591}, {"x": 8994.681807707131, "y": -2671.915147141198}, {"x": 8994.906806936404, "y": -2672.3568067567676}, {"x": 8995.133718593372, "y": -2672.7974868876895}, {"x": 8995.362538414716, "y": -2673.2371792530544}, {"x": 8995.593262100041, "y": -2673.675875591655}, {"x": 8995.82588531453, "y": -2674.11356765962}, {"x": 8996.060403686293, "y": -2674.5502472312055}, {"x": 8996.29681280902, "y": -2674.985906101944}, {"x": 8996.535108240641, "y": -2675.420536085492}, {"x": 8996.77528550203, "y": -2675.854129012846}, {"x": 8997.017340080944, "y": -2676.2866767386427}, {"x": 8997.26126742808, "y": -2676.7181711332796}, {"x": 8997.507062962353, "y": -2677.1486040884324}, {"x": 8997.754722061636, "y": -2677.577967517054}, {"x": 8998.004240073347, "y": -2678.0062533502232}, {"x": 8998.255612309158, "y": -2678.433453539508}, {"x": 8998.508834044991, "y": -2678.8595600577537}, {"x": 8998.76390052367, "y": -2679.284564898295}, {"x": 8999.020806950944, "y": -2679.7084600749567}, {"x": 8999.279548500788, "y": -2680.1312376220526}, {"x": 8999.540120308779, "y": -2680.5528895943867}, {"x": 8999.802517481367, "y": -2680.973408068827}, {"x": 9000.066735085278, "y": -2681.3927851450976}, {"x": 9000.332768156792, "y": -2681.8110129402576}, {"x": 9000.600611696436, "y": -2682.228083596585}, {"x": 9000.870260671638, "y": -2682.6439892776352}, {"x": 9001.141710015401, "y": -2683.0587221666656}, {"x": 9001.414954626305, "y": -2683.4722744705737}, {"x": 9001.689989369828, "y": -2683.884638419113}, {"x": 9001.96680907835, "y": -2684.2958062625244}, {"x": 9002.245408549827, "y": -2684.7057702754796}, {"x": 9002.525782549108, "y": -2685.1145227531397}, {"x": 9002.80792580795, "y": -2685.5220560158837}, {"x": 9003.091833023682, "y": -2685.928362405368}, {"x": 9003.377498861857, "y": -2686.333434286102}, {"x": 9003.664917956252, "y": -2686.7372640462386}, {"x": 9003.954084902247, "y": -2687.139844098359}, {"x": 9004.244994268742, "y": -2687.5411668771103}, {"x": 9004.537640588887, "y": -2687.9412248407816}, {"x": 9004.832018364063, "y": -2688.3400104728794}, {"x": 9005.128122061215, "y": -2688.737516278188}, {"x": 9005.425946116844, "y": -2689.133734788287}, {"x": 9005.725484934352, "y": -2689.5286585576064}, {"x": 9006.026732884031, "y": -2689.9222801650094}, {"x": 9006.329684308379, "y": -2690.314592213787}, {"x": 9006.634333511494, "y": -2690.7055873324484}, {"x": 9006.937129795984, "y": -2691.090780965061}, {"x": 9007.241538223427, "y": -2691.474701867344}, {"x": 9007.547517945384, "y": -2691.857371680145}, {"x": 9007.85502843118, "y": -2692.2388125029643}, {"x": 9008.164029471875, "y": -2692.61904688134}, {"x": 9008.474481165698, "y": -2692.998097794244}, {"x": 9008.786343924674, "y": -2693.3759886398934}, {"x": 9009.099578461373, "y": -2693.7527432286597}, {"x": 9009.414145784951, "y": -2694.128385765732}, {"x": 9009.730007202457, "y": -2694.5029408400833}, {"x": 9010.04712430164, "y": -2694.876433416589}, {"x": 9010.36545895623, "y": -2695.2488888194794}, {"x": 9010.684973315356, "y": -2695.620332723671}, {"x": 9011.00562979559, "y": -2695.9907911429436}, {"x": 9011.327391078317, "y": -2696.3602904173354}, {"x": 9011.650220103098, "y": -2696.728857204469}, {"x": 9011.974080058406, "y": -2697.0965184653705}, {"x": 9012.29893437634, "y": -2697.4633014557994}, {"x": 9012.624746727315, "y": -2697.829233714428}, {"x": 9012.951481012125, "y": -2698.1943430533847}, {"x": 9013.279101354003, "y": -2698.5586575456446}, {"x": 9013.607572091989, "y": -2698.9222055147848}, {"x": 9013.93685777432, "y": -2699.2850155278925}, {"x": 9014.266923150488, "y": -2699.6471163805927}, {"x": 9014.597733163282, "y": -2700.0085370883767}, {"x": 9014.929252942182, "y": -2700.3693068779357}, {"x": 9015.261447794086, "y": -2700.7294551753407}, {"x": 9015.594283199334, "y": -2701.089011598947}, {"x": 9015.927724795829, "y": -2701.448005943636}, {"x": 9016.261738381672, "y": -2701.8064681768738}, {"x": 9016.596289899291, "y": -2702.1644284268887}, {"x": 9016.931345427478, "y": -2702.5219169716415}, {"x": 9017.266871177431, "y": -2702.8789642301554}, {"x": 9017.602833484805, "y": -2703.2356007554217}, {"x": 9017.939198793825, "y": -2703.5918572202186}, {"x": 9018.275933657282, "y": -2703.9477644100148}, {"x": 9018.61300472462, "y": -2704.303353214304}, {"x": 9018.95037873135, "y": -2704.658654617145}, {"x": 9019.288022495062, "y": -2705.0136996853453}, {"x": 9019.62590290485, "y": -2705.368519562939}, {"x": 9019.963986909386, "y": -2705.723145457795}, {"x": 9020.302241515601, "y": -2706.077608636098}, {"x": 9020.640440081655, "y": -2706.431726716106}, {"x": 9020.978776081547, "y": -2706.7857134907476}, {"x": 9021.317249466287, "y": -2707.139568906435}, {"x": 9021.65586018159, "y": -2707.493292910369}, {"x": 9021.994608178467, "y": -2707.846885448961}, {"x": 9022.333493405284, "y": -2708.200346468623}, {"x": 9022.672515811726, "y": -2708.553675916556}, {"x": 9023.011675346159, "y": -2708.90687373996}, {"x": 9023.350971956945, "y": -2709.2599398844577}, {"x": 9023.69040559377, "y": -2709.6128742972505}, {"x": 9024.029976205, "y": -2709.9656769255384}, {"x": 9024.369683740322, "y": -2710.318347715733}, {"x": 9024.709528146774, "y": -2710.670886615035}, {"x": 9025.04950937537, "y": -2711.023293570644}, {"x": 9025.389627373148, "y": -2711.375568528185}, {"x": 9025.729882089794, "y": -2711.727711436433}, {"x": 9026.070273475, "y": -2712.0797222402243}, {"x": 9026.410801474476, "y": -2712.4316008883357}, {"x": 9026.751466039237, "y": -2712.7833473271794}, {"x": 9027.092267117647, "y": -2713.1349615031663}, {"x": 9027.433204658066, "y": -2713.486443363498}, {"x": 9027.774278608862, "y": -2713.8377928553737}, {"x": 9028.115488918394, "y": -2714.1890099267816}, {"x": 9028.456835536354, "y": -2714.540094523346}, {"x": 9028.798318411102, "y": -2714.8910465930553}, {"x": 9029.139937489677, "y": -2715.2418660823214}, {"x": 9029.481692723095, "y": -2715.5925529391325}, {"x": 9029.823584058391, "y": -2715.9431071099}, {"x": 9030.165611442608, "y": -2716.293528542614}, {"x": 9030.50777482808, "y": -2716.6438171828963}, {"x": 9030.850074159196, "y": -2716.9939729803123}, {"x": 9031.192509386972, "y": -2717.343995880486}, {"x": 9031.535080458443, "y": -2717.6938858306175}, {"x": 9031.877787323301, "y": -2718.043642778695}, {"x": 9032.220629928583, "y": -2718.3932666719184}, {"x": 9032.563608222652, "y": -2718.7427574567005}, {"x": 9032.906722155196, "y": -2719.0921150818162}, {"x": 9033.249971673256, "y": -2719.441339493679}, {"x": 9033.593356725194, "y": -2719.7904306394885}, {"x": 9033.936877260698, "y": -2720.1393884680206}, {"x": 9034.280533225483, "y": -2720.4882129249}, {"x": 9034.624324570561, "y": -2720.8369039589024}, {"x": 9034.968251241648, "y": -2721.1854615164402}, {"x": 9035.31231318843, "y": -2721.5338855455016}, {"x": 9035.656510359271, "y": -2721.8821759940743}], "type": "lane"}, {"geometry": [{"x": 9035.656510359271, "y": -2721.8821759940743}, {"x": 9035.995725336734, "y": -2722.2289507068813}, {"x": 9036.324073077916, "y": -2722.585983911964}, {"x": 9036.631398281383, "y": -2722.9611940095315}, {"x": 9036.90813877158, "y": -2723.3594233880335}, {"x": 9037.145384518035, "y": -2723.782306909961}, {"x": 9037.335243636135, "y": -2724.228427419246}, {"x": 9037.471338752852, "y": -2724.6937399510844}, {"x": 9037.549271304877, "y": -2725.172224122249}, {"x": 9037.566928994213, "y": -2725.6566898356464}, {"x": 9037.524565591713, "y": -2726.1396353497194}, {"x": 9037.424641202906, "y": -2726.6140508647045}, {"x": 9037.271462476821, "y": -2727.0740770219677}, {"x": 9037.0706961174, "y": -2727.5154603138153}, {"x": 9036.828841661672, "y": -2727.9357861649178}, {"x": 9036.552742186901, "y": -2728.3345053188423}, {"x": 9036.24919089479, "y": -2728.7127931217037}, {"x": 9035.92466461688, "y": -2729.073291824972}, {"x": 9035.585189097561, "y": -2729.4197846487937}, {"x": 9035.23631969132, "y": -2729.756841034725}, {"x": 9034.883206770268, "y": -2730.089460095379}], "type": "lane"}, {"geometry": [{"x": 9035.656510359271, "y": -2721.8821759940743}, {"x": 9036.005912256918, "y": -2722.234165148348}, {"x": 9036.359200874447, "y": -2722.5822463258664}, {"x": 9036.719729730665, "y": -2722.9228107343574}, {"x": 9037.09034376464, "y": -2723.2523554673317}, {"x": 9037.473312238715, "y": -2723.567438559579}, {"x": 9037.870280397485, "y": -2723.8646680765137}, {"x": 9038.282239662938, "y": -2724.140721405822}, {"x": 9038.709517350864, "y": -2724.3923896519013}, {"x": 9039.151787292069, "y": -2724.616641004354}, {"x": 9039.608102515638, "y": -2724.810696262276}, {"x": 9040.076950327859, "y": -2724.9721092973014}, {"x": 9040.556328940773, "y": -2725.0988453045647}, {"x": 9041.043843419404, "y": -2725.1893501809286}, {"x": 9041.536817382084, "y": -2725.2426053131103}, {"x": 9042.032415664933, "y": -2725.2581634437583}, {"x": 9042.527772376377, "y": -2725.2361629250495}, {"x": 9043.020118328084, "y": -2725.177319548108}, {"x": 9043.506901934523, "y": -2725.0828969924232}, {"x": 9043.985898234814, "y": -2724.954658677107}, {"x": 9044.455301630544, "y": -2724.7948052671386}, {"x": 9044.91379913015, "y": -2724.6059031366512}, {"x": 9045.360622247566, "y": -2724.3908097682483}, {"x": 9045.795576977867, "y": -2724.152602200527}, {"x": 9046.219052359662, "y": -2723.8945144334534}, {"x": 9046.632008916455, "y": -2723.619889076302}, {"x": 9047.03594860025, "y": -2723.3321476331557}, {"x": 9047.432867732156, "y": -2723.0347827531464}, {"x": 9047.825193813884, "y": -2722.731374497543}, {"x": 9048.215705990347, "y": -2722.425631292736}], "type": "lane"}, {"geometry": [{"x": 9037.01677932231, "y": -2718.1334435256103}, {"x": 9036.673118953859, "y": -2717.7846345516987}, {"x": 9036.329525482472, "y": -2717.4357596819877}, {"x": 9035.985998918737, "y": -2717.0868189298753}, {"x": 9035.6425392759, "y": -2716.7378123079698}, {"x": 9035.299146565872, "y": -2716.388739828092}, {"x": 9034.955820803221, "y": -2716.03960150364}, {"x": 9034.61256199986, "y": -2715.690397347221}, {"x": 9034.269370167707, "y": -2715.341127371445}, {"x": 9033.926245320003, "y": -2714.991791589709}, {"x": 9033.583187469985, "y": -2714.6423900146215}, {"x": 9033.240196629573, "y": -2714.2929226587917}, {"x": 9032.897272812004, "y": -2713.9433895348284}, {"x": 9032.554416029194, "y": -2713.5937906561285}, {"x": 9032.211626294385, "y": -2713.244126035301}, {"x": 9031.868903619494, "y": -2712.8943956849553}, {"x": 9031.526248017759, "y": -2712.5445996184876}, {"x": 9031.183659501095, "y": -2712.194737848507}, {"x": 9030.841138082746, "y": -2711.8448103876226}, {"x": 9030.498683775948, "y": -2711.4948172484433}, {"x": 9030.156296591294, "y": -2711.1447584443663}, {"x": 9029.813976543352, "y": -2710.794633988788}, {"x": 9029.47172364271, "y": -2710.44444389353}, {"x": 9029.129537903935, "y": -2710.0941881719887}, {"x": 9028.78741933894, "y": -2709.7438668375617}, {"x": 9028.44536795964, "y": -2709.393479902857}, {"x": 9028.103383779282, "y": -2709.043027379696}, {"x": 9027.761466809776, "y": -2708.6925092830515}, {"x": 9027.41961706304, "y": -2708.341925623957}, {"x": 9027.077834553638, "y": -2707.991276416597}, {"x": 9026.736119292163, "y": -2707.6405616735806}, {"x": 9026.394471291855, "y": -2707.2897814075163}, {"x": 9026.052890565952, "y": -2706.9389356318015}, {"x": 9025.711377126372, "y": -2706.5880243590454}, {"x": 9025.36993098503, "y": -2706.2370476026445}, {"x": 9025.028552153844, "y": -2705.886005375208}, {"x": 9024.687240647376, "y": -2705.534897690132}, {"x": 9024.345996477545, "y": -2705.1837245600263}, {"x": 9024.00481965494, "y": -2704.8324859975}, {"x": 9023.663710194125, "y": -2704.481182016738}, {"x": 9023.32266810702, "y": -2704.1298126295605}, {"x": 9022.981693405536, "y": -2703.7783778493654}, {"x": 9022.640786102917, "y": -2703.4268776895487}, {"x": 9022.29489164187, "y": -2703.07008439914}, {"x": 9021.949105973617, "y": -2702.713185673719}, {"x": 9021.603468496805, "y": -2702.356143432768}, {"x": 9021.258018656416, "y": -2701.998919648568}, {"x": 9020.912795957016, "y": -2701.6414763525054}, {"x": 9020.567839977317, "y": -2701.2837756516187}, {"x": 9020.223190379438, "y": -2700.9257797427863}, {"x": 9019.87888692613, "y": -2700.567450923757}, {"x": 9019.534969483411, "y": -2700.2087516065485}, {"x": 9019.191478047058, "y": -2699.849644331632}, {"x": 9018.848452741271, "y": -2699.4900917805408}, {"x": 9018.505933841192, "y": -2699.130056791631}, {"x": 9018.163961776872, "y": -2698.7695023687515}, {"x": 9017.822577150484, "y": -2698.4083917009457}, {"x": 9017.481820746909, "y": -2698.0466881695406}, {"x": 9017.141733544342, "y": -2697.684355369429}, {"x": 9016.802356728842, "y": -2697.3213571161587}, {"x": 9016.463731702286, "y": -2696.9576574640596}, {"x": 9016.125900092957, "y": -2696.593220718063}, {"x": 9015.7889037754, "y": -2696.2280114502532}, {"x": 9015.45278486778, "y": -2695.8619945132614}, {"x": 9015.117585757042, "y": -2695.495135053665}, {"x": 9014.783349097575, "y": -2695.127398527748}, {"x": 9014.450117832406, "y": -2694.7587507164744}, {"x": 9014.11793519452, "y": -2694.389157739672}, {"x": 9013.786844721424, "y": -2694.018586072584}, {"x": 9013.456890267063, "y": -2693.64700256084}, {"x": 9013.128116008447, "y": -2693.2743744322775}, {"x": 9012.800566454905, "y": -2692.9006693190063}, {"x": 9012.474286460018, "y": -2692.525855268445}, {"x": 9012.149321229545, "y": -2692.1499007606535}, {"x": 9011.825716329384, "y": -2691.772774724887}, {"x": 9011.503517697476, "y": -2691.3944465553514}, {"x": 9011.182771646461, "y": -2691.014886128547}, {"x": 9010.863524878236, "y": -2690.634063819025}, {"x": 9010.545824486608, "y": -2690.251950517514}, {"x": 9010.229717967879, "y": -2689.8685176482586}, {"x": 9009.915253228803, "y": -2689.4837371832023}, {"x": 9009.602478589219, "y": -2689.0975816640553}, {"x": 9009.291442791327, "y": -2688.7100242172655}, {"x": 9008.98219500896, "y": -2688.321038572934}, {"x": 9008.675161417956, "y": -2687.9310944756353}, {"x": 9008.36996761799, "y": -2687.539708768055}, {"x": 9008.066620377413, "y": -2687.146890132223}, {"x": 9007.765126426182, "y": -2686.7526472785394}, {"x": 9007.465492447916, "y": -2686.356988951292}, {"x": 9007.167725089155, "y": -2685.9599239255012}, {"x": 9006.871830954076, "y": -2685.561461007711}, {"x": 9006.577816604486, "y": -2685.1616090351986}, {"x": 9006.285688562468, "y": -2684.7603768744007}, {"x": 9005.995453305095, "y": -2684.357773426427}, {"x": 9005.707117269716, "y": -2683.9538076183935}, {"x": 9005.42068685131, "y": -2683.548488410516}, {"x": 9005.136168403817, "y": -2683.141824791378}, {"x": 9004.853568233508, "y": -2682.7338257802994}, {"x": 9004.57289261223, "y": -2682.324500426545}, {"x": 9004.294147761519, "y": -2681.91385780775}, {"x": 9004.017339865837, "y": -2681.5019070314966}, {"x": 9003.742475063307, "y": -2681.088657233735}, {"x": 9003.46955944836, "y": -2680.674117580364}, {"x": 9003.198599077032, "y": -2680.2582972640753}, {"x": 9002.92959995504, "y": -2679.841205507506}, {"x": 9002.66256805236, "y": -2679.4228515616646}, {"x": 9002.397509287326, "y": -2679.003244703565}, {"x": 9002.13442953988, "y": -2678.5823942409547}, {"x": 9001.87333464627, "y": -2678.1603095068003}, {"x": 9001.614230395078, "y": -2677.7369998616496}, {"x": 9001.35712253252, "y": -2677.3124746944204}, {"x": 9001.102016762443, "y": -2676.886743420037}, {"x": 9000.84891874235, "y": -2676.4598154802165}, {"x": 9000.59783408341, "y": -2676.0317003442597}, {"x": 9000.348768357066, "y": -2675.6024075066834}, {"x": 9000.101727085776, "y": -2675.1719464888006}, {"x": 8999.856715748303, "y": -2674.7403268363514}, {"x": 8999.613739778397, "y": -2674.30755812266}, {"x": 8999.372804564788, "y": -2673.87364994548}, {"x": 8999.133915451192, "y": -2673.4386119285696}, {"x": 8998.897077736305, "y": -2673.0024537193303}, {"x": 8998.662296672488, "y": -2672.565184992745}, {"x": 8998.429577465758, "y": -2672.1268154450745}, {"x": 8998.198925279763, "y": -2671.6873547985842}, {"x": 8997.970345226518, "y": -2671.2468128007595}, {"x": 8997.743842378315, "y": -2670.8051992211495}, {"x": 8997.519421757132, "y": -2670.362523854522}, {"x": 8997.297088341258, "y": -2669.9187965184983}, {"x": 8997.076847061317, "y": -2669.474027054342}, {"x": 8996.858702801588, "y": -2669.028225325381}, {"x": 8996.642660398695, "y": -2668.581401219374}, {"x": 8996.428724646883, "y": -2668.133564645357}, {"x": 8996.216900288766, "y": -2667.6847255367966}, {"x": 8996.007192023266, "y": -2667.234893847647}, {"x": 8995.79960450164, "y": -2666.7840795531415}, {"x": 8995.594142326154, "y": -2666.3322926537307}, {"x": 8995.390810055385, "y": -2665.879543167203}, {"x": 8995.189612197597, "y": -2665.425841136564}, {"x": 8994.990553216034, "y": -2664.971196622156}, {"x": 8994.793637524956, "y": -2664.515619708753}, {"x": 8994.598869490956, "y": -2664.059120499253}, {"x": 8994.40625343561, "y": -2663.601709117831}, {"x": 8994.215793627538, "y": -2663.1433957099407}, {"x": 8994.02749429431, "y": -2662.684190439949}, {"x": 8993.841359610538, "y": -2662.2241034919234}, {"x": 8993.657393704494, "y": -2661.7631450696344}, {"x": 8993.475600655462, "y": -2661.3013253973404}, {"x": 8993.29598449638, "y": -2660.838654715062}, {"x": 8993.118549211209, "y": -2660.3751432864606}, {"x": 8992.943298733586, "y": -2659.910801390172}, {"x": 8992.770236952136, "y": -2659.4456393245314}, {"x": 8992.59936770385, "y": -2658.979667406002}, {"x": 8992.43069477805, "y": -2658.512895968382}, {"x": 8992.264221916397, "y": -2658.0453353651724}, {"x": 8992.099952810238, "y": -2657.576995965634}], "type": "lane"}, {"geometry": [{"x": 9046.268471653271, "y": -2720.229628248907}, {"x": 9045.876600114352, "y": -2720.5329320230485}, {"x": 9045.475817929291, "y": -2720.824294718445}, {"x": 9045.058796795347, "y": -2721.0917877620363}, {"x": 9044.621673740132, "y": -2721.324852363537}, {"x": 9044.164046657028, "y": -2721.5143708086407}, {"x": 9043.688574693037, "y": -2721.6530244491482}, {"x": 9043.200272945895, "y": -2721.7357054709355}, {"x": 9042.705612936523, "y": -2721.759800336988}, {"x": 9042.211563101027, "y": -2721.725239226192}, {"x": 9041.724704409831, "y": -2721.634287901811}, {"x": 9041.250529749175, "y": -2721.4911268012656}, {"x": 9040.792990279962, "y": -2721.301303660003}, {"x": 9040.354301820764, "y": -2721.0711568810984}, {"x": 9039.934982655006, "y": -2720.807292255564}, {"x": 9039.534068645951, "y": -2720.51616588918}, {"x": 9039.149443191234, "y": -2720.203792422596}, {"x": 9038.778224401245, "y": -2719.8755684946173}, {"x": 9038.417164025448, "y": -2719.5361816443183}, {"x": 9038.06302650662, "y": -2719.1895657440273}, {"x": 9037.712928825764, "y": -2718.838864648592}, {"x": 9037.364631469778, "y": -2718.4863738720264}, {"x": 9037.01677932231, "y": -2718.1334435256103}], "type": "lane"}, {"geometry": [{"x": 9046.268471653271, "y": -2720.229628248907}, {"x": 9045.885921234865, "y": -2720.529407079316}, {"x": 9045.504538689614, "y": -2720.830670311533}, {"x": 9045.124311529435, "y": -2721.1333904754483}, {"x": 9044.745226793564, "y": -2721.437540052878}, {"x": 9044.367271064459, "y": -2721.743091488601}, {"x": 9043.990430470441, "y": -2722.050017196662}, {"x": 9043.614690696284, "y": -2722.358289571403}, {"x": 9043.240036996458, "y": -2722.6678809961354}, {"x": 9042.866454199102, "y": -2722.9787638502285}, {"x": 9042.49392672059, "y": -2723.2909105193567}, {"x": 9042.122438573468, "y": -2723.6042934018033}, {"x": 9041.751973375727, "y": -2723.9188849187044}, {"x": 9041.382514364042, "y": -2724.2346575179918}, {"x": 9041.014044404366, "y": -2724.551583682271}, {"x": 9040.646546002523, "y": -2724.8696359390656}, {"x": 9040.280001310817, "y": -2725.1887868631848}, {"x": 9039.914392146587, "y": -2725.5090090853882}, {"x": 9039.54969999881, "y": -2725.830275297905}, {"x": 9039.185906044, "y": -2726.152558260736}, {"x": 9038.822991150171, "y": -2726.475830807173}, {"x": 9038.460935898032, "y": -2726.800065848525}, {"x": 9038.0997205876, "y": -2727.125236380422}, {"x": 9037.73932524879, "y": -2727.4513154867577}, {"x": 9037.379729659957, "y": -2727.7782763459923}, {"x": 9037.020913351866, "y": -2728.106092233517}, {"x": 9036.662855628876, "y": -2728.434736529535}, {"x": 9036.305535572912, "y": -2728.764182718273}, {"x": 9035.94893206332, "y": -2729.0944043974373}, {"x": 9035.593023784826, "y": -2729.4253752797918}, {"x": 9035.23778924208, "y": -2729.757069194732}, {"x": 9034.883206770268, "y": -2730.089460095379}], "type": "lane"}, {"geometry": [{"x": 9036.77453964378, "y": -2732.3741905343604}, {"x": 9037.130736734449, "y": -2732.0387784211152}, {"x": 9037.487558748493, "y": -2731.7040312101763}, {"x": 9037.84503316977, "y": -2731.369980804479}, {"x": 9038.20318723851, "y": -2731.0366592031005}, {"x": 9038.562047903673, "y": -2730.704098471317}, {"x": 9038.921641776586, "y": -2730.3723307004084}, {"x": 9039.281995087262, "y": -2730.0413879737753}, {"x": 9039.643133639387, "y": -2729.7113023298984}, {"x": 9040.005082767939, "y": -2729.382105726089}, {"x": 9040.367867292862, "y": -2729.053829996721}, {"x": 9040.73151147404, "y": -2728.7265068201327}, {"x": 9041.09603897952, "y": -2728.4001676721327}, {"x": 9041.461472833884, "y": -2728.074843788959}, {"x": 9041.82783538117, "y": -2727.7505661270893}, {"x": 9042.195148249122, "y": -2727.4273653175337}, {"x": 9042.56343230683, "y": -2727.1052716240674}, {"x": 9042.932707627648, "y": -2726.7843148983125}, {"x": 9043.302993453452, "y": -2726.4645245356032}, {"x": 9043.674308164187, "y": -2726.145929426132}, {"x": 9044.046669234169, "y": -2725.828557910813}, {"x": 9044.420093208264, "y": -2725.512437730061}, {"x": 9044.7945956648, "y": -2725.197595974931}, {"x": 9045.17019119043, "y": -2724.8840590382606}, {"x": 9045.546893343037, "y": -2724.57185256029}, {"x": 9045.924714634546, "y": -2724.2610013774433}, {"x": 9046.30366649383, "y": -2723.9515294687358}, {"x": 9046.683759252164, "y": -2723.6434599014005}, {"x": 9047.065002111432, "y": -2723.336814773361}, {"x": 9047.447403128253, "y": -2723.0316151596403}, {"x": 9047.830969187491, "y": -2722.72788104932}, {"x": 9048.215705990347, "y": -2722.425631292736}], "type": "lane"}, {"geometry": [{"x": 9036.77453964378, "y": -2732.3741905343604}, {"x": 9037.132486262248, "y": -2732.036151326358}, {"x": 9037.488169524795, "y": -2731.695734653445}, {"x": 9037.838832727199, "y": -2731.3501555737193}, {"x": 9038.181789172411, "y": -2730.996935910876}, {"x": 9038.514382435607, "y": -2730.633952033352}, {"x": 9038.833964965495, "y": -2730.259473764669}, {"x": 9039.137894081825, "y": -2729.8721949104197}, {"x": 9039.423543859726, "y": -2729.471255158387}, {"x": 9039.68833083012, "y": -2729.056252599205}, {"x": 9039.929751024265, "y": -2728.627245913217}, {"x": 9040.145425453593, "y": -2728.1847452770808}, {"x": 9040.33315086044, "y": -2727.7296913037153}, {"x": 9040.490952389915, "y": -2727.2634217248046}, {"x": 9040.61713483713, "y": -2726.787626083002}, {"x": 9040.710329244508, "y": -2726.304289310949}, {"x": 9040.769531986636, "y": -2725.815625677863}, {"x": 9040.794133936928, "y": -2725.324005169199}, {"x": 9040.783937964468, "y": -2724.8318747983135}, {"x": 9040.739163741491, "y": -2724.3416776942254}, {"x": 9040.660439628507, "y": -2723.855772900211}, {"x": 9040.548782226257, "y": -2723.376358799035}, {"x": 9040.405564915847, "y": -2722.9054028142755}, {"x": 9040.232477377056, "y": -2722.4445796667983}, {"x": 9040.031478593835, "y": -2721.9952199114477}, {"x": 9039.804746224068, "y": -2721.5582699352403}, {"x": 9039.554625401317, "y": -2721.134263943498}, {"x": 9039.283580031022, "y": -2720.7233079212956}, {"x": 9038.994149568116, "y": -2720.325075061155}, {"x": 9038.68891393994, "y": -2719.938811792471}, {"x": 9038.370468961997, "y": -2719.563353366927}, {"x": 9038.041414149073, "y": -2719.1971479620242}, {"x": 9037.704354353053, "y": -2718.838288449259}, {"x": 9037.361916144926, "y": -2718.4845514061244}, {"x": 9037.01677932231, "y": -2718.1334435256103}], "type": "lane"}, {"geometry": [{"x": 8955.447226093374, "y": -2794.7717315551895}, {"x": 8955.104614741465, "y": -2794.4130060524035}, {"x": 8954.76303239497, "y": -2794.0533005629777}, {"x": 8954.422479194236, "y": -2793.692620553666}, {"x": 8954.08295524651, "y": -2793.330971478616}, {"x": 8953.744460631226, "y": -2792.9683587746367}, {"x": 8953.406995394731, "y": -2792.604787866717}, {"x": 8953.070559558206, "y": -2792.2402641617186}, {"x": 8952.735153109736, "y": -2791.8747930523205}, {"x": 8952.400776012248, "y": -2791.5083799162276}, {"x": 8952.067428194247, "y": -2791.1410301169594}, {"x": 8951.7351095604, "y": -2790.772748999911}, {"x": 8951.403819983607, "y": -2790.40354189708}, {"x": 8951.073559308954, "y": -2790.0334141239136}, {"x": 8950.74432735373, "y": -2789.6623709816768}, {"x": 8950.416123906092, "y": -2789.2904177535065}, {"x": 8950.08894872772, "y": -2788.9175597083563}, {"x": 8949.762801548512, "y": -2788.5438020994175}, {"x": 8949.437682075863, "y": -2788.169150163333}, {"x": 8949.113589986711, "y": -2787.793609121773}, {"x": 8948.790524928874, "y": -2787.4171841774923}, {"x": 8948.468486526328, "y": -2787.039880520639}, {"x": 8948.147474372605, "y": -2786.661703324023}, {"x": 8947.82748803872, "y": -2786.282657742329}, {"x": 8947.508527065245, "y": -2785.902748916056}, {"x": 8947.190590966264, "y": -2785.521981968367}, {"x": 8946.873679229388, "y": -2785.140362006663}, {"x": 8946.557791318386, "y": -2784.7578941202196}, {"x": 8946.242926669234, "y": -2784.3745833841276}, {"x": 8945.929084690099, "y": -2783.990434854565}, {"x": 8945.616264766633, "y": -2783.6054535727358}, {"x": 8945.304466255371, "y": -2783.219644561719}, {"x": 8944.993688490333, "y": -2782.8330128288326}, {"x": 8944.683930777735, "y": -2782.445563364057}, {"x": 8944.375192399966, "y": -2782.057301140035}, {"x": 8944.067472615576, "y": -2781.6682311128625}, {"x": 8943.76077065399, "y": -2781.2783582228703}, {"x": 8943.455085724772, "y": -2780.8876873906916}, {"x": 8943.150417008359, "y": -2780.496223521196}, {"x": 8942.846763664003, "y": -2780.1039715034926}, {"x": 8942.544124827125, "y": -2779.710936207778}, {"x": 8942.242499604014, "y": -2779.317122486122}, {"x": 8941.941887082427, "y": -2778.9225351764103}, {"x": 8941.642286323637, "y": -2778.527179096039}, {"x": 8941.343696366412, "y": -2778.131059046643}, {"x": 8941.046116224363, "y": -2777.7341798125194}, {"x": 8940.749544888593, "y": -2777.336546159053}, {"x": 8940.453981327693, "y": -2776.9381628374426}, {"x": 8940.15942448643, "y": -2776.539034576822}, {"x": 8939.865873284405, "y": -2776.1391660921395}, {"x": 8939.573326624015, "y": -2775.738562080218}, {"x": 8939.281783378523, "y": -2775.337227218968}, {"x": 8938.991242403981, "y": -2774.9351661697497}, {"x": 8938.701702529966, "y": -2774.532383575798}, {"x": 8938.413162566187, "y": -2774.1288840622237}, {"x": 8938.125621301175, "y": -2773.7246722383748}, {"x": 8937.839077498298, "y": -2773.319752692323}, {"x": 8937.553529902396, "y": -2772.914129997954}, {"x": 8937.268977234473, "y": -2772.5078087094535}, {"x": 8936.985418194345, "y": -2772.1007933628803}, {"x": 8936.702851461974, "y": -2771.6930884777444}, {"x": 8936.421275694813, "y": -2771.284698553855}, {"x": 8936.140689529124, "y": -2770.8756280752596}, {"x": 8935.861091581317, "y": -2770.465881506304}, {"x": 8935.582480445291, "y": -2770.055463293998}, {"x": 8935.304854697732, "y": -2769.6443778672246}, {"x": 8935.028212890167, "y": -2769.23262963753}, {"x": 8934.752553556918, "y": -2768.8202229975477}, {"x": 8934.477875211118, "y": -2768.407162321785}, {"x": 8934.204176347364, "y": -2767.9934519682006}, {"x": 8933.931455437745, "y": -2767.579096275051}, {"x": 8933.659710935815, "y": -2767.164099562468}, {"x": 8933.388941276591, "y": -2766.7484661348226}, {"x": 8933.11914487258, "y": -2766.332200275207}, {"x": 8932.850320120408, "y": -2765.9153062501655}, {"x": 8932.582465395504, "y": -2765.4977883089045}, {"x": 8932.315579054773, "y": -2765.079650680929}, {"x": 8932.04965943658, "y": -2764.660897579194}, {"x": 8931.784704856776, "y": -2764.2415331961674}, {"x": 8931.520713619306, "y": -2763.8215617093415}, {"x": 8931.257684004275, "y": -2763.400987274144}, {"x": 8930.99561427458, "y": -2762.979814032605}, {"x": 8930.734502675901, "y": -2762.558046103903}, {"x": 8930.474347435389, "y": -2762.1356875922406}, {"x": 8930.215146760329, "y": -2761.7127425821204}, {"x": 8929.956898843444, "y": -2761.2892151407077}, {"x": 8929.699601856271, "y": -2760.865109316255}, {"x": 8929.443253954463, "y": -2760.4404291388873}, {"x": 8929.187853277781, "y": -2760.015178621395}, {"x": 8928.933397946126, "y": -2759.589361758442}, {"x": 8928.679886060865, "y": -2759.1629825242017}, {"x": 8928.427315711448, "y": -2758.7360448778763}, {"x": 8928.175684964817, "y": -2758.308552758177}, {"x": 8927.924991874672, "y": -2757.880510088055}, {"x": 8927.675234476179, "y": -2757.4519207683948}, {"x": 8927.426410788614, "y": -2757.022788686685}, {"x": 8927.178518815368, "y": -2756.5931177083476}, {"x": 8926.931556542617, "y": -2756.1629116830436}, {"x": 8926.685521939324, "y": -2755.7321744407336}, {"x": 8926.440412959892, "y": -2755.300909795616}, {"x": 8926.19622754283, "y": -2754.8691215406116}, {"x": 8925.952963610767, "y": -2754.436813453669}, {"x": 8925.710619067786, "y": -2754.003989292246}, {"x": 8925.46919180871, "y": -2753.570652796465}, {"x": 8925.228679704525, "y": -2753.1368076898966}, {"x": 8924.9890806196, "y": -2752.702457675625}, {"x": 8924.75039239447, "y": -2752.267606440182}, {"x": 8924.512612861727, "y": -2751.832257652765}, {"x": 8924.275739834098, "y": -2751.3964149620797}, {"x": 8924.039771113728, "y": -2750.96008200186}, {"x": 8923.80470448289, "y": -2750.52326238535}, {"x": 8923.570537713276, "y": -2750.085959710032}, {"x": 8923.337268560683, "y": -2749.648177554476}, {"x": 8923.10489476502, "y": -2749.20991947755}, {"x": 8922.873414055604, "y": -2748.771189024725}, {"x": 8922.642824144545, "y": -2748.331989718619}, {"x": 8922.413122730706, "y": -2747.892325066875}, {"x": 8922.184307497067, "y": -2747.4521985598003}, {"x": 8921.956376117338, "y": -2747.0116136680017}, {"x": 8921.729326248013, "y": -2746.570573845534}, {"x": 8921.502185148922, "y": -2746.127182532535}, {"x": 8921.275931091963, "y": -2745.6833379146296}, {"x": 8921.050564381656, "y": -2745.2390420722913}, {"x": 8920.826085315908, "y": -2744.794297082051}, {"x": 8920.602494188646, "y": -2744.349105019652}, {"x": 8920.379791287183, "y": -2743.9034679600513}, {"x": 8920.157976896182, "y": -2743.457387974263}, {"x": 8919.937051291037, "y": -2743.0108671317266}, {"x": 8919.717014743172, "y": -2742.5639075026693}, {"x": 8919.497867521357, "y": -2742.1165111525906}, {"x": 8919.279609885103, "y": -2741.6686801454125}, {"x": 8919.062242091268, "y": -2741.2204165450585}, {"x": 8918.845764391412, "y": -2740.7717224115104}, {"x": 8918.630177030478, "y": -2740.3225998031753}, {"x": 8918.415480249438, "y": -2739.873050778459}, {"x": 8918.201674282642, "y": -2739.423077391828}, {"x": 8917.988759359143, "y": -2738.9726816953844}, {"x": 8917.776735705347, "y": -2738.5218657412297}, {"x": 8917.565603541041, "y": -2738.0706315783136}, {"x": 8917.35536307939, "y": -2737.61898125401}, {"x": 8917.146014529591, "y": -2737.1669168125404}, {"x": 8916.937558095538, "y": -2736.7144402973377}, {"x": 8916.72999397716, "y": -2736.2615537510474}, {"x": 8916.52332236776, "y": -2735.808259210798}, {"x": 8916.317543456673, "y": -2735.3545587145068}, {"x": 8916.11265742529, "y": -2734.9004542969383}, {"x": 8915.908664453676, "y": -2734.4459479920693}, {"x": 8915.705564715276, "y": -2733.991041829936}, {"x": 8915.50335837824, "y": -2733.5357378389986}, {"x": 8915.302045605422, "y": -2733.080038046141}, {"x": 8915.101626555703, "y": -2732.6239444774596}, {"x": 8914.902101381344, "y": -2732.167459153534}, {"x": 8914.703470230634, "y": -2731.710584095731}, {"x": 8914.505733246568, "y": -2731.2533213222678}, {"x": 8914.308890568167, "y": -2730.795672848994}, {"x": 8914.112942329155, "y": -2730.3376406901857}, {"x": 8913.917888655316, "y": -2729.879226856966}, {"x": 8913.723729671105, "y": -2729.420433360457}, {"x": 8913.530465495682, "y": -2728.9612622062664}, {"x": 8913.33809624159, "y": -2728.5017154007874}, {"x": 8913.146622017397, "y": -2728.0417949472635}, {"x": 8912.956042926378, "y": -2727.5815028457846}, {"x": 8912.766359066507, "y": -2727.1208410956524}, {"x": 8912.577570533116, "y": -2726.6598116930168}, {"x": 8912.38967741491, "y": -2726.198416631664}, {"x": 8912.202679795306, "y": -2725.736657903803}, {"x": 8912.016577752418, "y": -2725.274537499279}, {"x": 8911.83137136304, "y": -2724.8120574047866}, {"x": 8911.647060694695, "y": -2724.3492196054412}, {"x": 8911.463645812262, "y": -2723.8860260855727}, {"x": 8911.281126776643, "y": -2723.422478823205}, {"x": 8911.099503642125, "y": -2722.958579798727}, {"x": 8910.918776460343, "y": -2722.4943309862238}, {"x": 8910.73894527499, "y": -2722.029734360566}, {"x": 8910.560010128434, "y": -2721.5647918926875}, {"x": 8910.381971056424, "y": -2721.0995055503668}, {"x": 8910.20482808941, "y": -2720.633877301384}, {"x": 8910.028581256523, "y": -2720.167909109579}, {"x": 8909.8532305763, "y": -2719.701602935638}, {"x": 8909.678776068598, "y": -2719.23496074025}, {"x": 8909.505217746659, "y": -2718.76798448016}, {"x": 8909.332555615778, "y": -2718.300676108964}, {"x": 8909.160789681251, "y": -2717.833037579468}, {"x": 8908.989919940432, "y": -2717.3650708413275}], "type": "lane"}, {"geometry": [{"x": 9060.208667789633, "y": -2585.5372302135966}, {"x": 9060.414874511713, "y": -2585.9868995345146}, {"x": 9060.621596573937, "y": -2586.4363321844035}, {"x": 9060.828831534829, "y": -2586.8855285730538}, {"x": 9061.03657695688, "y": -2587.3344891197116}, {"x": 9061.244830399934, "y": -2587.78321424914}, {"x": 9061.453589434428, "y": -2588.2317043971357}, {"x": 9061.662851625504, "y": -2588.6799600034337}, {"x": 9061.872614548893, "y": -2589.1279815180155}, {"x": 9062.082875775033, "y": -2589.575769397166}, {"x": 9062.29363288363, "y": -2590.023324105052}, {"x": 9062.504883455711, "y": -2590.470646112931}, {"x": 9062.71662507098, "y": -2590.917735899154}, {"x": 9062.928855318412, "y": -2591.364593951529}, {"x": 9063.141571784332, "y": -2591.8112207633803}, {"x": 9063.35477206036, "y": -2592.2576168351243}, {"x": 9063.568453740767, "y": -2592.7037826758456}, {"x": 9063.782614422467, "y": -2593.1497188009344}, {"x": 9063.997251703702, "y": -2593.595425732873}, {"x": 9064.212363188011, "y": -2594.0409040012355}, {"x": 9064.427946480253, "y": -2594.486154144266}, {"x": 9064.643999189262, "y": -2594.931176705724}, {"x": 9064.860518923871, "y": -2595.3759722364607}, {"x": 9065.07750329821, "y": -2595.82054129521}, {"x": 9065.294949927731, "y": -2596.2648844470095}, {"x": 9065.512856433183, "y": -2596.7090022632005}, {"x": 9065.731220433994, "y": -2597.152895324581}, {"x": 9065.95003955753, "y": -2597.5965642166784}, {"x": 9066.169311428514, "y": -2598.0400095313234}, {"x": 9066.389033678286, "y": -2598.4832318682284}, {"x": 9066.609203939515, "y": -2598.926231834985}, {"x": 9066.829819846187, "y": -2599.3690100439153}, {"x": 9067.050879040235, "y": -2599.811567114431}, {"x": 9067.2723791583, "y": -2600.253903673827}, {"x": 9067.494317847608, "y": -2600.696020354125}, {"x": 9067.716692754066, "y": -2601.1379177952276}, {"x": 9067.939501526227, "y": -2601.579596644131}, {"x": 9068.162741816617, "y": -2602.0210575525575}, {"x": 9068.386411279087, "y": -2602.462301179324}, {"x": 9068.61050757278, "y": -2602.9033281911275}, {"x": 9068.835028358168, "y": -2603.3441392586046}, {"x": 9069.059971297042, "y": -2603.784735061061}, {"x": 9069.285334056494, "y": -2604.22511628253}, {"x": 9069.511114303614, "y": -2604.6652836141393}, {"x": 9069.737309710785, "y": -2605.105237752531}, {"x": 9069.96391795172, "y": -2605.544979401441}, {"x": 9070.190936702775, "y": -2605.9845092701207}, {"x": 9070.41836364428, "y": -2606.423828074127}, {"x": 9070.646196456564, "y": -2606.86293653532}, {"x": 9070.87443282658, "y": -2607.3018353818647}, {"x": 9071.105312857937, "y": -2607.7448215418526}, {"x": 9071.336603428545, "y": -2608.1875934975455}, {"x": 9071.568305935232, "y": -2608.6301500337586}, {"x": 9071.800421765569, "y": -2609.0724899337306}, {"x": 9072.032952309766, "y": -2609.51461197282}, {"x": 9072.265898954063, "y": -2609.9565149248097}, {"x": 9072.49926307941, "y": -2610.398197558753}, {"x": 9072.73304606807, "y": -2610.8396586381887}, {"x": 9072.96724929702, "y": -2611.280896924289}, {"x": 9073.201874140586, "y": -2611.7219111711356}, {"x": 9073.436921970442, "y": -2612.162700131233}, {"x": 9073.67239415562, "y": -2612.6032625523585}, {"x": 9073.908292063823, "y": -2613.043597175195}, {"x": 9074.144617056136, "y": -2613.483702738851}, {"x": 9074.381370493646, "y": -2613.923577977706}, {"x": 9074.618553734786, "y": -2614.363221620623}, {"x": 9074.856168134027, "y": -2614.8026323925246}, {"x": 9075.09421504318, "y": -2615.2418090143938}, {"x": 9075.332695810093, "y": -2615.6807502024844}, {"x": 9075.571611781286, "y": -2616.1194546683228}, {"x": 9075.81096429931, "y": -2616.5579211187055}, {"x": 9076.050754705386, "y": -2616.996148256491}, {"x": 9076.29098433412, "y": -2617.4341347805953}, {"x": 9076.531654520119, "y": -2617.8718793844196}, {"x": 9076.772766595337, "y": -2618.3093807574232}, {"x": 9077.014321886436, "y": -2618.746637583551}, {"x": 9077.256321717428, "y": -2619.1836485435942}, {"x": 9077.498767409677, "y": -2619.620412313616}, {"x": 9077.741660283227, "y": -2620.056927564163}, {"x": 9077.985001651496, "y": -2620.493192961842}, {"x": 9078.228792827902, "y": -2620.9292071685313}, {"x": 9078.47303511925, "y": -2621.3649688421688}, {"x": 9078.717729833663, "y": -2621.800476634388}, {"x": 9078.96287827132, "y": -2622.235729194458}, {"x": 9079.208481732403, "y": -2622.6707251653443}, {"x": 9079.454541511795, "y": -2623.1054631860707}, {"x": 9079.70105890306, "y": -2623.5399418909337}, {"x": 9079.94803519578, "y": -2623.974159910289}, {"x": 9080.195471674253, "y": -2624.4081158674007}, {"x": 9080.443369622768, "y": -2624.8418083839556}, {"x": 9080.691730320323, "y": -2625.275236074548}, {"x": 9080.940555040617, "y": -2625.7083975514097}, {"x": 9081.189845058674, "y": -2626.1412914196776}, {"x": 9081.4396016429, "y": -2626.57391628055}, {"x": 9081.689826057725, "y": -2627.0062707320726}, {"x": 9081.940519564934, "y": -2627.438353365198}, {"x": 9082.191683424986, "y": -2627.8701627669393}, {"x": 9082.443318893047, "y": -2628.301697521157}, {"x": 9082.695427218983, "y": -2628.7329562046193}, {"x": 9082.948009650016, "y": -2629.1639373909416}, {"x": 9083.201067433363, "y": -2629.5946396474355}, {"x": 9083.454601809626, "y": -2630.0250615382597}, {"x": 9083.708614012785, "y": -2630.4552016220573}, {"x": 9083.96310528079, "y": -2630.8850584519546}, {"x": 9084.21807683968, "y": -2631.314630577137}, {"x": 9084.473529918134, "y": -2631.743916542851}, {"x": 9084.729465738219, "y": -2632.172914886461}, {"x": 9084.985885518026, "y": -2632.6016241445445}, {"x": 9085.242790474322, "y": -2633.03004284501}, {"x": 9085.500181817255, "y": -2633.4581695134016}, {"x": 9085.758060754326, "y": -2633.8860026697475}, {"x": 9086.016428490384, "y": -2634.3135408277703}, {"x": 9086.275286223661, "y": -2634.740782499618}, {"x": 9086.534597521302, "y": -2635.167664898379}, {"x": 9086.794399529805, "y": -2635.59424883688}, {"x": 9087.054691904927, "y": -2636.0205337516604}, {"x": 9087.315474302424, "y": -2636.4465190776828}, {"x": 9087.576746378056, "y": -2636.872204252274}, {"x": 9087.838507784927, "y": -2637.2975887135494}, {"x": 9088.100758178796, "y": -2637.722671898047}, {"x": 9088.363497212771, "y": -2638.1474532430943}, {"x": 9088.626724537315, "y": -2638.571932188382}, {"x": 9088.890439806857, "y": -2638.9961081720257}, {"x": 9089.154642671861, "y": -2639.4199806329275}, {"x": 9089.419332781461, "y": -2639.8435490107795}, {"x": 9089.684509787445, "y": -2640.2668127460597}, {"x": 9089.950173338944, "y": -2640.6897712776718}, {"x": 9090.216323083778, "y": -2641.1124240476706}, {"x": 9090.4829586724, "y": -2641.5347704973237}, {"x": 9090.750079748657, "y": -2641.95681006711}, {"x": 9091.017685961682, "y": -2642.378542199085}, {"x": 9091.285776956642, "y": -2642.7999663368796}, {"x": 9091.554352381347, "y": -2643.221081921761}, {"x": 9091.823411876992, "y": -2643.6418883973615}, {"x": 9092.092955090064, "y": -2644.0623852080994}, {"x": 9092.362981664402, "y": -2644.482571796818}, {"x": 9092.633491241204, "y": -2644.902447608725}, {"x": 9092.904483464306, "y": -2645.3220120874525}, {"x": 9093.175957976226, "y": -2645.7412646797834}, {"x": 9093.447914415507, "y": -2646.1602048301365}, {"x": 9093.720352423345, "y": -2646.578831985297}, {"x": 9093.99327164093, "y": -2646.9971455912587}, {"x": 9094.266671705482, "y": -2647.4151450955937}, {"x": 9094.54055225687, "y": -2647.8328299450864}, {"x": 9094.814912932317, "y": -2648.25019958652}, {"x": 9095.089753369042, "y": -2648.6672534698296}, {"x": 9095.365073204264, "y": -2649.083991042588}, {"x": 9095.640872073882, "y": -2649.5004117531535}, {"x": 9095.917149611143, "y": -2649.9165150522513}, {"x": 9096.193905453267, "y": -2650.3323003882406}, {"x": 9096.471139233503, "y": -2650.747767212633}, {"x": 9096.748850585102, "y": -2651.1629149753644}, {"x": 9097.027039141309, "y": -2651.577743127947}, {"x": 9097.305704532724, "y": -2651.992251121105}, {"x": 9097.584846393924, "y": -2652.4064384079256}, {"x": 9097.864464352857, "y": -2652.820304439133}, {"x": 9098.144558040127, "y": -2653.2338486686035}, {"x": 9098.425127086331, "y": -2653.647070549425}, {"x": 9098.706171120748, "y": -2654.059969535473}, {"x": 9098.98768977133, "y": -2654.472545079837}, {"x": 9099.269682666027, "y": -2654.88479663718}, {"x": 9099.55214943147, "y": -2655.2967236637423}, {"x": 9099.835089694288, "y": -2655.7083256126125}, {"x": 9100.118503079784, "y": -2656.1196019416066}, {"x": 9100.402389214587, "y": -2656.530552106177}, {"x": 9100.686747722677, "y": -2656.9411755617753}, {"x": 9100.971578228035, "y": -2657.351471767007}, {"x": 9101.256880353316, "y": -2657.7614401788996}, {"x": 9101.542653722503, "y": -2658.1710802552698}, {"x": 9101.828897956924, "y": -2658.580391454722}, {"x": 9102.115612677917, "y": -2658.9893732350724}, {"x": 9102.402797508134, "y": -2659.398025056502}, {"x": 9102.690452064937, "y": -2659.806346378403}, {"x": 9102.978575970983, "y": -2660.2143366609557}, {"x": 9103.267168842307, "y": -2660.6219953643413}, {"x": 9103.556230300243, "y": -2661.029321950316}, {"x": 9103.8457599595, "y": -2661.4363158790607}, {"x": 9104.135757440092, "y": -2661.8429766131194}, {"x": 9104.42622235805, "y": -2662.2493036150377}, {"x": 9104.717154326763, "y": -2662.65529634736}, {"x": 9105.008552964919, "y": -2663.0609542726306}, {"x": 9105.300417884579, "y": -2663.466276854971}], "type": "lane"}, {"geometry": [{"x": 8906.709950315973, "y": -2719.36417988858}, {"x": 8906.881684532453, "y": -2719.831085134437}, {"x": 8907.054300461912, "y": -2720.297665140262}, {"x": 8907.227798757089, "y": -2720.763917767266}, {"x": 8907.402180065428, "y": -2721.2298408735087}, {"x": 8907.577445029074, "y": -2721.695432308382}, {"x": 8907.753594283553, "y": -2722.160689917335}, {"x": 8907.93062845777, "y": -2722.6256115379388}, {"x": 8908.108548177985, "y": -2723.0901950038224}, {"x": 8908.287354059863, "y": -2723.5544381415234}, {"x": 8908.467046715097, "y": -2724.018338770486}, {"x": 8908.64762675141, "y": -2724.4818947070034}, {"x": 8908.829094768578, "y": -2724.945103758699}, {"x": 8909.011451358438, "y": -2725.4079637276805}, {"x": 8909.194697110172, "y": -2725.870472412114}, {"x": 8909.3788326037, "y": -2726.332627601499}, {"x": 8909.56385841629, "y": -2726.7944270806056}, {"x": 8909.749775115943, "y": -2727.2558686286875}, {"x": 8909.936583264043, "y": -2727.7169500186933}, {"x": 8910.124283420644, "y": -2728.1776690172687}, {"x": 8910.312876132566, "y": -2728.638023385541}, {"x": 8910.5023619453, "y": -2729.0980108783356}, {"x": 8910.692741395074, "y": -2729.557629244959}, {"x": 8910.884015015463, "y": -2730.0168762284147}, {"x": 8911.076183329453, "y": -2730.4757495669774}, {"x": 8911.269246856054, "y": -2730.934246990253}, {"x": 8911.463206106338, "y": -2731.3923662262714}, {"x": 8911.658061586078, "y": -2731.8501049928186}, {"x": 8911.853813793101, "y": -2732.307461004527}, {"x": 8912.050463221265, "y": -2732.7644319689366}, {"x": 8912.248010355157, "y": -2733.2210155888606}, {"x": 8912.446455674071, "y": -2733.677209560806}, {"x": 8912.645799649355, "y": -2734.133011574189}, {"x": 8912.846042748388, "y": -2734.588419314483}, {"x": 8913.04718542795, "y": -2735.0434304600712}, {"x": 8913.249228142178, "y": -2735.4980426846073}, {"x": 8913.45217133462, "y": -2735.9522536554414}, {"x": 8913.656015444845, "y": -2736.40606103283}, {"x": 8913.860760904481, "y": -2736.859462473878}, {"x": 8914.066408138538, "y": -2737.312455628598}, {"x": 8914.272957564079, "y": -2737.76503813991}, {"x": 8914.48040959287, "y": -2738.2172076475804}, {"x": 8914.68876462874, "y": -2738.668961783497}, {"x": 8914.898023067562, "y": -2739.1202981756064}, {"x": 8915.10818530125, "y": -2739.571214444763}, {"x": 8915.319251711117, "y": -2740.021708206304}, {"x": 8915.531222674505, "y": -2740.4717770708394}, {"x": 8915.744098559491, "y": -2740.9214186418853}, {"x": 8915.957879726206, "y": -2741.3706305190194}, {"x": 8916.172566530811, "y": -2741.8194102947245}, {"x": 8916.388159320195, "y": -2742.26775555597}, {"x": 8916.604658433307, "y": -2742.7156638849933}, {"x": 8916.8220642038, "y": -2743.1631328577305}, {"x": 8917.040376957375, "y": -2743.6101600446}, {"x": 8917.259597010476, "y": -2744.0567430112915}, {"x": 8917.47972467557, "y": -2744.502879315615}, {"x": 8917.700760254529, "y": -2744.948566513015}, {"x": 8917.92270404261, "y": -2745.3938021502695}, {"x": 8918.145556329771, "y": -2745.8385837710025}, {"x": 8918.369317396702, "y": -2746.282908911746}, {"x": 8918.593987514829, "y": -2746.726775104303}, {"x": 8918.819566952921, "y": -2747.170179874962}, {"x": 8919.046055966517, "y": -2747.613120744493}, {"x": 8919.272934825045, "y": -2748.05458997796}, {"x": 8919.500709885222, "y": -2748.4955975034636}, {"x": 8919.729371676387, "y": -2748.9361459302622}, {"x": 8919.958910753036, "y": -2749.3762379204145}, {"x": 8920.189317690843, "y": -2749.8158761864142}, {"x": 8920.420583089322, "y": -2750.2550634967083}, {"x": 8920.65269756784, "y": -2750.6938026686025}, {"x": 8920.885651774899, "y": -2751.132096570626}, {"x": 8921.119436377532, "y": -2751.5699481241086}, {"x": 8921.354042063958, "y": -2752.007360296087}, {"x": 8921.589459548877, "y": -2752.444336107186}, {"x": 8921.825679568172, "y": -2752.880878623737}, {"x": 8922.062692878912, "y": -2753.3169909617204}, {"x": 8922.300490261994, "y": -2753.752676282823}, {"x": 8922.53906252083, "y": -2754.1879377975915}, {"x": 8922.778400478684, "y": -2754.6227787622797}, {"x": 8923.01849498266, "y": -2755.057202478849}, {"x": 8923.259336903691, "y": -2755.4912122941796}, {"x": 8923.500917131243, "y": -2755.9248116000717}, {"x": 8923.743226575973, "y": -2756.3580038324562}, {"x": 8923.986256175012, "y": -2756.7907924698197}, {"x": 8924.22999688138, "y": -2757.2231810363546}, {"x": 8924.47443967326, "y": -2757.6551730948704}, {"x": 8924.71957554736, "y": -2758.086772253094}, {"x": 8924.965395522908, "y": -2758.517982158156}, {"x": 8925.21189064163, "y": -2758.948806498954}, {"x": 8925.459051961147, "y": -2759.3792490037886}, {"x": 8925.706870564232, "y": -2759.809313441151}, {"x": 8925.955337553522, "y": -2760.2390036189354}, {"x": 8926.204444048863, "y": -2760.6683233820745}, {"x": 8926.45418119261, "y": -2761.0972766141167}, {"x": 8926.70454014698, "y": -2761.525867238012}, {"x": 8926.955512095372, "y": -2761.9540992105976}, {"x": 8927.207088235751, "y": -2762.381976526538}, {"x": 8927.459259791234, "y": -2762.809503215959}, {"x": 8927.712018000833, "y": -2763.23668334445}, {"x": 8927.965354122092, "y": -2763.6635210130626}, {"x": 8928.219259435062, "y": -2764.0900203551582}, {"x": 8928.473725235684, "y": -2764.5161855395627}, {"x": 8928.728742837111, "y": -2764.9420207674098}, {"x": 8928.984303575007, "y": -2765.3675302721454}, {"x": 8929.240398796946, "y": -2765.7927183203133}, {"x": 8929.49701987434, "y": -2766.2175892099795}, {"x": 8929.75415819316, "y": -2766.6421472675797}, {"x": 8930.01180515792, "y": -2767.066396854225}, {"x": 8930.26995218769, "y": -2767.490342358608}, {"x": 8930.52859072273, "y": -2767.91398819858}, {"x": 8930.787712216537, "y": -2768.3373388219366}, {"x": 8931.04730814115, "y": -2768.760398704058}, {"x": 8931.307369984484, "y": -2769.183172349481}, {"x": 8931.567889249034, "y": -2769.6056642895364}, {"x": 8931.828857454495, "y": -2770.027879081562}, {"x": 8932.090353452439, "y": -2770.449958172436}, {"x": 8932.352292265088, "y": -2770.871762607906}, {"x": 8932.614675940691, "y": -2771.293290469051}, {"x": 8932.87750652352, "y": -2771.7145398298594}, {"x": 8933.140786048587, "y": -2772.135508758013}, {"x": 8933.404516549572, "y": -2772.556195313315}, {"x": 8933.668700052214, "y": -2772.9765975484747}, {"x": 8933.933338579605, "y": -2773.396713509897}, {"x": 8934.198434146894, "y": -2773.8165412345306}, {"x": 8934.463988766578, "y": -2774.2360787553844}, {"x": 8934.730004444538, "y": -2774.655324095221}, {"x": 8934.99648317871, "y": -2775.0742752705}, {"x": 8935.263426967023, "y": -2775.492930290588}, {"x": 8935.530837796827, "y": -2775.911287157759}, {"x": 8935.79871765149, "y": -2776.329343865618}, {"x": 8936.067068511735, "y": -2776.7470984030424}, {"x": 8936.335892349016, "y": -2777.1645487470882}, {"x": 8936.605191129494, "y": -2777.58169287166}, {"x": 8936.87496681403, "y": -2777.998528741204}, {"x": 8937.145221360839, "y": -2778.415054312288}, {"x": 8937.415956717543, "y": -2778.8312675351735}, {"x": 8937.687174827795, "y": -2779.2471663506662}, {"x": 8937.95887763127, "y": -2779.662748694055}, {"x": 8938.231067058381, "y": -2780.078012491961}, {"x": 8938.503745035567, "y": -2780.4929556639117}, {"x": 8938.776913483967, "y": -2780.907576119979}, {"x": 8939.050574316783, "y": -2781.321871764717}, {"x": 8939.324729443239, "y": -2781.7358404948004}, {"x": 8939.599380763291, "y": -2782.149480197447}, {"x": 8939.87453017293, "y": -2782.5627887535693}, {"x": 8940.150179562845, "y": -2782.9757640354123}, {"x": 8940.426330815779, "y": -2783.388403908128}, {"x": 8940.70298580786, "y": -2783.8007062282004}, {"x": 8940.980146408594, "y": -2784.2126688458075}, {"x": 8941.25781448484, "y": -2784.6242896016715}, {"x": 8941.535991892859, "y": -2785.0355663286346}, {"x": 8941.8146804823, "y": -2785.4464968524458}, {"x": 8942.093882100164, "y": -2785.8570789909736}, {"x": 8942.37359858285, "y": -2786.2673105526296}, {"x": 8942.65383176147, "y": -2786.6771893395216}, {"x": 8942.93458346184, "y": -2787.086713145088}, {"x": 8943.215855501827, "y": -2787.4958797541}, {"x": 8943.49764969003, "y": -2787.9046869442336}, {"x": 8943.779967835055, "y": -2788.313132485287}, {"x": 8944.062811729613, "y": -2788.721214136812}, {"x": 8944.34618316774, "y": -2789.1289296528444}, {"x": 8944.630083931559, "y": -2789.536276777964}, {"x": 8944.914515797893, "y": -2789.9432532480805}, {"x": 8945.199480535624, "y": -2790.349856792013}, {"x": 8945.484979908337, "y": -2790.756085130698}, {"x": 8945.771015669025, "y": -2791.1619359748292}, {"x": 8946.057589568032, "y": -2791.5674070287937}, {"x": 8946.344703343788, "y": -2791.9724959875243}, {"x": 8946.632358730747, "y": -2792.377200538859}, {"x": 8946.920557455422, "y": -2792.7815183611806}, {"x": 8947.20930123506, "y": -2793.185447124203}, {"x": 8947.49859178293, "y": -2793.5889844913354}, {"x": 8947.788430800392, "y": -2793.992128114954}, {"x": 8948.078819984827, "y": -2794.3948756419195}, {"x": 8948.369761023028, "y": -2794.7972247080584}, {"x": 8948.66125559914, "y": -2795.1991729413176}, {"x": 8948.95330538274, "y": -2795.6007179633393}, {"x": 8949.24591203944, "y": -2796.0018573847333}, {"x": 8949.53907722955, "y": -2796.4025888090164}, {"x": 8949.832802600142, "y": -2796.802909830248}, {"x": 8950.127089792992, "y": -2797.2028180353973}, {"x": 8950.421940443253, "y": -2797.6023110011856}, {"x": 8950.717356175492, "y": -2798.0013862972446}, {"x": 8951.01333860765, "y": -2798.400041484535}, {"x": 8951.309889349728, "y": -2798.798274113775}, {"x": 8951.607010001133, "y": -2799.196081728588}, {"x": 8951.904702157299, "y": -2799.593461864719}, {"x": 8952.202967401747, "y": -2799.990412046878}, {"x": 8952.501807311373, "y": -2800.386929793473}, {"x": 8952.801223453813, "y": -2800.7830126134527}], "type": "lane"}, {"geometry": [{"x": 8973.633835791574, "y": -2808.3581140201545}, {"x": 8957.70191848402, "y": -2790.3686345437286}, {"x": 8956.956565628121, "y": -2791.0340900113165}, {"x": 8972.888482934351, "y": -2809.0235694885305}], "type": "speed_bump"}, {"geometry": [{"x": 8962.63988115881, "y": -2809.811025125045}, {"x": 8973.904026201886, "y": -2799.574101847203}, {"x": 8973.223891719705, "y": -2798.831009908265}, {"x": 8961.969063588105, "y": -2809.067933186107}, {"x": 8953.984471113361, "y": -2816.099579294935}, {"x": 8954.655288684065, "y": -2816.853762157676}], "type": "speed_bump"}, {"geometry": [{"x": 8964.344875817353, "y": -2818.251218640399}, {"x": 8957.068368556573, "y": -2810.687208157501}, {"x": 8952.176990436517, "y": -2805.4190190381755}, {"x": 8948.701782743066, "y": -2801.093558498065}, {"x": 8947.844626957392, "y": -2801.781195814835}, {"x": 8951.338468472475, "y": -2806.117747279537}, {"x": 8956.276431147264, "y": -2811.44139102103}, {"x": 8963.571572229674, "y": -2819.0054015039286}], "type": "speed_bump"}, {"geometry": [{"x": 9011.143718292786, "y": -2841.0985230310066}, {"x": 9010.472900722081, "y": -2840.3443401674776}, {"x": 8989.202393580668, "y": -2859.287639147709}, {"x": 8989.873211151373, "y": -2860.030731086647}], "type": "speed_bump"}, {"geometry": [{"x": 9168.925601093848, "y": -2708.007429492892}, {"x": 9168.217515879884, "y": -2707.297610326939}, {"x": 9148.325911523141, "y": -2727.250183433144}, {"x": 9149.033996737104, "y": -2727.9600025990967}], "type": "speed_bump"}, {"geometry": [{"x": 9117.3005988734, "y": -2655.336629225017}, {"x": 9116.545929106027, "y": -2654.5602645123054}, {"x": 9098.11707973062, "y": -2672.738289705205}, {"x": 9098.862432586518, "y": -2673.503563492537}], "type": "speed_bump"}, {"geometry": [{"x": 9053.805852414212, "y": -2724.6992708071266}, {"x": 9040.482670104286, "y": -2714.905984507414}, {"x": 9039.168985694658, "y": -2716.713805194493}, {"x": 9052.482851093107, "y": -2726.496000569615}], "type": "speed_bump"}, {"geometry": [{"x": 9038.349097553568, "y": -2722.5365405370712}, {"x": 9046.99519068754, "y": -2715.6934401447165}, {"x": 9046.417542223657, "y": -2714.9503482057785}, {"x": 9037.724864536274, "y": -2721.826721371907}, {"x": 9029.02286993609, "y": -2729.7456414369935}, {"x": 9029.665736775014, "y": -2730.444369678355}], "type": "speed_bump"}, {"geometry": [{"x": 8955.08386657624, "y": -2818.6615828455433}], "type": "stop_sign"}, {"geometry": [{"x": 8964.941158102865, "y": -2790.1911797526345}], "type": "stop_sign"}, {"geometry": [{"x": 8989.724140579665, "y": -2851.335446308849}], "type": "stop_sign"}, {"geometry": [{"x": 9169.456665002996, "y": -2716.7470779682667}], "type": "stop_sign"}, {"geometry": [{"x": 9098.042544444104, "y": -2663.100276347404}], "type": "stop_sign"}, {"geometry": [{"x": 9027.466945849255, "y": -2721.205629601895}], "type": "stop_sign"}], "tl_states": {}} \ No newline at end of file diff --git a/examples/imitation_learning/filters.py b/examples/imitation_learning/filters.py deleted file mode 100644 index fdab3118..00000000 --- a/examples/imitation_learning/filters.py +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""A streaming mean-std filter used to whiten inputs.""" -import torch -from torch import nn - - -class MeanStdFilter(nn.Module): - """adapted from https://www.johndcook.com/blog/standard_deviation/.""" - - def __init__(self, input_shape, eps=1e-05): - super().__init__() - self.input_shape = input_shape - self.eps = eps - self.track_running_states = True - self.counter = 0 - self._M = nn.Parameter(torch.zeros(input_shape), requires_grad=False) - self._S = nn.Parameter(torch.zeros(input_shape), requires_grad=False) - self._n = 0 - - def train(self, mode): - """Turn on updates to mean and standard deviation.""" - self.track_running_states = True - - def eval(self): - """Turn off updates to mean and standard deviation.""" - self.track_running_states = False - - def forward(self, x): - """Whiten and optionally update.""" - if self.track_running_states: - for i in range(x.shape[0]): - self.push(x[i]) - x = x - self.mean - x = x / (self.std + self.eps) - return x - - def push(self, x): - """Unvectorized update of the running statistics.""" - if x.shape != self._M.shape: - raise ValueError( - "Unexpected input shape {}, expected {}, value = {}".format( - x.shape, self._M.shape, x)) - n1 = self._n - self._n += 1 - if self._n == 1: - self._M[...] = x - else: - delta = x - self._M - self._M[...] += delta / self._n - self._S[...] += delta * delta * n1 / self._n - - @property - def n(self): - """Return the number of samples.""" - return self._n - - @property - def mean(self): - """Return the mean.""" - return self._M - - @property - def var(self): - """Compute the variance.""" - return self._S / (self._n - 1) if self._n > 1 else torch.square( - self._M) - - @property - def std(self): - """Compute the standard deviation.""" - return torch.sqrt(self.var) - - @property - def shape(self): - """Get the means shape.""" - return self._M.shape diff --git a/examples/imitation_learning/model.py b/examples/imitation_learning/model.py deleted file mode 100644 index d3030f17..00000000 --- a/examples/imitation_learning/model.py +++ /dev/null @@ -1,157 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Model for an imitation learning agent.""" -import torch -from torch import nn -from torch.distributions.multivariate_normal import MultivariateNormal -from torch.distributions.categorical import Categorical - -from examples.imitation_learning.filters import MeanStdFilter - - -class ImitationAgent(nn.Module): - """Pytorch Module for imitation. Output is a Multivariable Gaussian.""" - - def __init__(self, cfg): - """Initialize.""" - super(ImitationAgent, self).__init__() - - self.n_states = cfg['n_inputs'] - self.hidden_layers = cfg.get('hidden_layers', [256, 256]) - - self.discrete = cfg['discrete'] - - if self.discrete: - self.actions_discretizations = cfg['actions_discretizations'] - self.actions_bounds = cfg['actions_bounds'] - self.actions_grids = [ - torch.linspace(a_min, a_max, a_count, - requires_grad=False).to(cfg['device']) - for (a_min, a_max), a_count in zip( - self.actions_bounds, self.actions_discretizations) - ] - else: - # neural network outputs between -1 and 1 (tanh filter) - # then output is sampled from a Gaussian distribution - # N(nn output * mean_scalings, std_devs) - self.mean_scalings = torch.tensor(cfg['mean_scalings']) - self.std_devs = torch.tensor(cfg['std_devs']) - self.covariance_matrix = torch.diag_embed(self.std_devs) - - self._build_model() - - def _build_model(self): - """Build agent MLP that outputs an action mean and variance from a state input.""" - if self.hidden_layers is None or len(self.hidden_layers) == 0: - self.nn = nn.Identity() - pre_head_size = self.n_states - else: - self.nn = nn.Sequential( - MeanStdFilter(self.n_states), - nn.Linear(self.n_states, self.hidden_layers[0]), - nn.Tanh(), - *[ - nn.Sequential( - nn.Linear(self.hidden_layers[i], - self.hidden_layers[i + 1]), - nn.Tanh(), - ) for i in range(len(self.hidden_layers) - 1) - ], - ) - pre_head_size = self.hidden_layers[-1] - - if self.discrete: - self.heads = nn.ModuleList([ - nn.Linear(pre_head_size, discretization) - for discretization in self.actions_discretizations - ]) - else: - self.head = nn.Sequential( - nn.Linear(pre_head_size, len(self.mean_scalings)), nn.Tanh()) - - def dist(self, state): - """Construct a distribution from tensor input.""" - x_out = self.nn(state) - if self.discrete: - return [Categorical(logits=head(x_out)) for head in self.heads] - else: - return MultivariateNormal( - self.head(x_out) * self.mean_scalings, self.covariance_matrix) - - def forward(self, state, deterministic=False, return_indexes=False): - """Generate an output from tensor input.""" - dists = self.dist(state) - if self.discrete: - actions_idx = [ - d.logits.argmax(axis=-1) if deterministic else d.sample() - for d in dists - ] - actions = [ - action_grid[action_idx] for action_grid, action_idx in zip( - self.actions_grids, actions_idx) - ] - return (actions, actions_idx) if return_indexes else actions - else: - return [dist.argmax(axis=-1) for dist in dists - ] if deterministic else [dist.sample() for dist in dists] - - def log_prob(self, state, ground_truth_action, return_indexes=False): - """Compute the log prob of the expert action for a given input tensor.""" - dist = self.dist(state) - if self.discrete: - # find indexes in actions grids whose values are the closest to the ground truth actions - actions_idx = self.action_to_grid_idx(ground_truth_action) - # sum log probs of actions indexes wrt. Categorial variables for each action dimension - log_prob = sum( - [d.log_prob(actions_idx[:, i]) for i, d in enumerate(dist)]) - return (log_prob, actions_idx) if return_indexes else log_prob - else: - return dist.log_prob(ground_truth_action) - - def action_to_grid_idx(self, action): - """Convert a batch of actions to a batch of action indexes (for discrete actions only).""" - # action is of shape (batch_size, n_actions) - # we want to transform it into an array of same shape, but with indexes instead of actions - # credits https://stackoverflow.com/a/46184652/16207351 - output = torch.zeros_like(action) - for i, action_grid in enumerate(self.actions_grids): - actions = action[:, i] - - # get indexes where actions would be inserted in action_grid to keep it sorted - idxs = torch.searchsorted(action_grid, actions) - - # if it would be inserted at the end, we're looking at the last action - idxs[idxs == len(action_grid)] -= 1 - - # find indexes where previous index is closer (simple grid has constant sampling intervals) - idxs[action_grid[idxs] - actions > torch.diff(action_grid).mean() * - 0.5] -= 1 - - # write indexes in output - output[:, i] = idxs - return output - - -if __name__ == '__main__': - model_cfg = { - 'n_inputs': 100, - 'hidden_layers': [256, 256], - 'discrete': False, - 'mean_scalings': [1, 10, 10000], - 'std_devs': [1.0, 1.0, 1.0], - } - if True: - model_cfg.update({ - 'discrete': True, - 'actions_discretizations': [5, 10], - 'actions_bounds': [[-3, 3], [0, 10]], - }) - - model = ImitationAgent(model_cfg) - - sample_states = torch.rand(3, model_cfg['n_inputs']) - actions = model(sample_states) - print(actions) - print(model.log_prob(sample_states, actions)) diff --git a/examples/imitation_learning/replay_video.py b/examples/imitation_learning/replay_video.py deleted file mode 100644 index 9221e431..00000000 --- a/examples/imitation_learning/replay_video.py +++ /dev/null @@ -1,186 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Replay a video of a trained controller.""" -from collections import defaultdict -import json -from pathlib import Path -import sys - -import imageio -import numpy as np -import subprocess -import torch - -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROJECT_PATH, set_display_window -from nocturne import Simulation, Vector2D - -OUTPUT_PATH = str(PROJECT_PATH / 'vids') - -MODEL_PATH = Path( - '/checkpoint/eugenevinitsky/nocturne/test/2022.06.05/test/14.23.17/\ - ++device=cuda,++file_limit=1000/train_logs/2022_06_05_14_23_23/model_220.pth' -) -CONFIG_PATH = MODEL_PATH.parent / 'configs.json' -GOAL_TOLERANCE = 1.0 - -if __name__ == '__main__': - set_display_window() - output_dir = Path(OUTPUT_PATH) - output_dir.mkdir(exist_ok=True) - - with open(CONFIG_PATH, 'r') as f: - configs = json.load(f) - - data_path = PROCESSED_TRAIN_NO_TL - files = [ - file for file in Path(data_path).iterdir() if 'tfrecord' in file.stem - ] - scenario_config = configs['scenario_cfg'] - dataloader_config = configs['dataloader_cfg'] - files = files[:600] - np.random.shuffle(files) - model = torch.load(MODEL_PATH).to('cpu') - model.eval() - for traj_path in files: - sim = Simulation(str(traj_path), scenario_config) - output_str = traj_path.stem.split('.')[0].split('/')[-1] - - def policy(state): - """Get model output.""" - state = torch.as_tensor(np.array([state]), dtype=torch.float32) - return model.forward(state, - deterministic=True, - return_indexes=False) - - with torch.no_grad(): - for expert_control_vehicles, mp4_name in [ - (False, f'{output_str}_policy_rollout.mp4'), - (True, f'{output_str}_true_rollout.mp4') - ]: - frames = [] - sim.reset() - scenario = sim.getScenario() - - objects_of_interest = [ - obj for obj in scenario.getVehicles() - if obj in scenario.getObjectsThatMoved() - ] - - for obj in objects_of_interest: - obj.expert_control = True - - relevant_obj_ids = [ - obj.getID() for obj in objects_of_interest[0:2] - ] - - view_dist = configs['dataloader_cfg']['view_dist'] - view_angle = configs['dataloader_cfg']['view_angle'] - state_normalization = configs['dataloader_cfg'][ - 'state_normalization'] - dt = configs['dataloader_cfg']['dt'] - - n_stacked_states = configs['dataloader_cfg'][ - 'n_stacked_states'] - state_size = configs['model_cfg'][ - 'n_inputs'] // n_stacked_states - state_dict = defaultdict( - lambda: np.zeros(state_size * n_stacked_states)) - for i in range(n_stacked_states): - for veh in objects_of_interest: - ego_state = scenario.ego_state(veh) - visible_state = scenario.flattened_visible_state( - veh, view_dist=view_dist, view_angle=view_angle) - state = np.concatenate( - (ego_state, visible_state)) / state_normalization - state_dict[veh.getID()] = np.roll( - state_dict[veh.getID()], len(state)) - state_dict[veh.getID()][:len(state)] = state - - sim.step(dt) - - for obj in scenario.getObjectsThatMoved(): - obj.expert_control = True - # we only actually want to take control once the vehicle - # has been placed into the network - for veh in objects_of_interest: - if np.isclose(veh.position.x, -10000.0): - veh.expert_control = True - else: - if veh.getID() in relevant_obj_ids: - veh.expert_control = expert_control_vehicles - veh.highlight = True - - for i in range(90 - n_stacked_states): - # we only actually want to take control once the vehicle - # has been placed into the network - # so vehicles that should be controlled by our agent - # are overriden to be expert controlled - # until they are actually spawned in the scene - for veh in objects_of_interest: - if np.isclose(veh.position.x, -10000.0): - veh.expert_control = True - else: - if veh.getID() in relevant_obj_ids: - veh.expert_control = expert_control_vehicles - veh.highlight = True - print( - f'...{i+1}/{90 - n_stacked_states} ({traj_path} ; {mp4_name})' - ) - img = scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - ) - frames.append(img) - for veh in objects_of_interest: - veh_state = np.concatenate( - (np.array(scenario.ego_state(veh), copy=False), - np.array(scenario.flattened_visible_state( - veh, - view_dist=view_dist, - view_angle=view_angle), - copy=False))) - ego_state = scenario.ego_state(veh) - visible_state = scenario.flattened_visible_state( - veh, view_dist=view_dist, view_angle=view_angle) - state = np.concatenate( - (ego_state, visible_state)) / state_normalization - state_dict[veh.getID()] = np.roll( - state_dict[veh.getID()], len(state)) - state_dict[veh.getID()][:len(state)] = state - action = policy(state_dict[veh.getID()]) - if dataloader_config['expert_position']: - if configs['model_cfg']['discrete']: - pos_diff = np.array([ - pos.cpu().numpy()[0] for pos in action[0:2] - ]) - heading = action[2:3][0].cpu().numpy()[0] - else: - pos_diff = action[0:2] - heading = action[2:3] - veh.position = Vector2D.from_numpy( - pos_diff + veh.position.numpy()) - veh.heading += heading - else: - veh.acceleration = action[0].cpu().numpy() - veh.steering = action[1].cpu().numpy() - sim.step(dt) - for veh in scenario.getObjectsThatMoved(): - if (veh.position - - veh.target_position).norm() < GOAL_TOLERANCE: - scenario.removeVehicle(veh) - imageio.mimsave(mp4_name, np.stack(frames, axis=0), fps=30) - print(f'> {mp4_name}') - - # stack the movies side by side - output_name = traj_path.stem.split('.')[0].split('/')[-1] - output_path = f'{output_name}_output.mp4' - ffmpeg_command = f'ffmpeg -y -i {output_str}_true_rollout.mp4 ' \ - f'-i {output_str}_policy_rollout.mp4 -filter_complex hstack {output_path}' - print(ffmpeg_command) - subprocess.call(ffmpeg_command.split(' ')) - print(f'> {output_path}') - sys.exit() diff --git a/examples/imitation_learning/train.py b/examples/imitation_learning/train.py deleted file mode 100644 index 7f072162..00000000 --- a/examples/imitation_learning/train.py +++ /dev/null @@ -1,260 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Imitation learning training script (behavioral cloning).""" -from datetime import datetime -from pathlib import Path -import pickle -import random -import json - -import hydra -import numpy as np -import torch -from torch.utils.tensorboard import SummaryWriter -from torch.optim import Adam -from torch.utils.data import DataLoader -from tqdm import tqdm -import wandb - -from examples.imitation_learning.model import ImitationAgent -from examples.imitation_learning.waymo_data_loader import WaymoDataset - - -def set_seed_everywhere(seed): - """Ensure determinism.""" - torch.manual_seed(seed) - if torch.cuda.is_available(): - torch.cuda.manual_seed_all(seed) - np.random.seed(seed) - random.seed(seed) - - -@hydra.main(config_path="../../cfgs/imitation", config_name="config") -def main(args): - """Train an IL model.""" - set_seed_everywhere(args.seed) - # create dataset and dataloader - if args.actions_are_positions: - expert_bounds = [[-0.5, 3], [-3, 3], [-0.07, 0.07]] - actions_discretizations = [21, 21, 21] - actions_bounds = [[-0.5, 3], [-3, 3], [-0.07, 0.07]] - mean_scalings = [3, 3, 0.07] - std_devs = [0.1, 0.1, 0.02] - else: - expert_bounds = [[-6, 6], [-0.7, 0.7]] - actions_bounds = expert_bounds - actions_discretizations = [15, 43] - mean_scalings = [3, 0.7] - std_devs = [0.1, 0.02] - - dataloader_cfg = { - 'tmin': 0, - 'tmax': 90, - 'view_dist': args.view_dist, - 'view_angle': args.view_angle, - 'dt': 0.1, - 'expert_action_bounds': expert_bounds, - 'expert_position': args.actions_are_positions, - 'state_normalization': 100, - 'n_stacked_states': args.n_stacked_states, - } - scenario_cfg = { - 'start_time': 0, - 'allow_non_vehicles': True, - 'spawn_invalid_objects': True, - 'max_visible_road_points': args.max_visible_road_points, - 'sample_every_n': 1, - 'road_edge_first': False, - } - dataset = WaymoDataset( - data_path=args.path, - file_limit=args.num_files, - dataloader_config=dataloader_cfg, - scenario_config=scenario_cfg, - ) - data_loader = iter( - DataLoader( - dataset, - batch_size=args.batch_size, - num_workers=args.n_cpus, - pin_memory=True, - )) - - # create model - sample_state, _ = next(data_loader) - n_states = sample_state.shape[-1] - - model_cfg = { - 'n_inputs': n_states, - 'hidden_layers': [1024, 256, 128], - 'discrete': args.discrete, - 'mean_scalings': mean_scalings, - 'std_devs': std_devs, - 'actions_discretizations': actions_discretizations, - 'actions_bounds': actions_bounds, - 'device': args.device - } - - model = ImitationAgent(model_cfg).to(args.device) - model.train() - print(model) - - # create optimizer - optimizer = Adam(model.parameters(), lr=args.lr) - - # create exp dir - time_str = datetime.now().strftime('%Y_%m_%d_%H_%M_%S') - exp_dir = Path.cwd() / Path('train_logs') / time_str - exp_dir.mkdir(parents=True, exist_ok=True) - - # save configs - configs_path = exp_dir / 'configs.json' - configs = { - 'scenario_cfg': scenario_cfg, - 'dataloader_cfg': dataloader_cfg, - 'model_cfg': model_cfg, - } - with open(configs_path, 'w') as fp: - json.dump(configs, fp, sort_keys=True, indent=4) - print('Wrote configs at', configs_path) - - # tensorboard writer - if args.write_to_tensorboard: - writer = SummaryWriter(log_dir=str(exp_dir)) - # wandb logging - if args.wandb: - wandb_mode = "online" - wandb.init(config=args, - project=args.wandb_project, - name=args.experiment, - group=args.experiment, - resume="allow", - settings=wandb.Settings(start_method="fork"), - mode=wandb_mode) - - # train loop - print('Exp dir created at', exp_dir) - print(f'`tensorboard --logdir={exp_dir}`\n') - for epoch in range(args.epochs): - print(f'\nepoch {epoch+1}/{args.epochs}') - n_samples = epoch * args.batch_size * (args.samples_per_epoch // - args.batch_size) - - for i in tqdm(range(args.samples_per_epoch // args.batch_size), - unit='batch'): - # get states and expert actions - states, expert_actions = next(data_loader) - states = states.to(args.device) - expert_actions = expert_actions.to(args.device) - - # compute loss - if args.discrete: - log_prob, expert_idxs = model.log_prob(states, - expert_actions, - return_indexes=True) - else: - dist = model.dist(states) - log_prob = dist.log_prob(expert_actions.float()) - loss = -log_prob.mean() - - metrics_dict = {} - - # optim step - optimizer.zero_grad() - loss.backward() - - # grad clipping - total_norm = 0 - for p in model.parameters(): - if p.grad is not None: - param_norm = p.grad.detach().data.norm(2) - total_norm += param_norm.item()**2 - total_norm = total_norm**0.5 - metrics_dict['train/grad_norm'] = total_norm - torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) - total_norm = 0 - for p in model.parameters(): - if p.grad is not None: - param_norm = p.grad.detach().data.norm(2) - total_norm += param_norm.item()**2 - total_norm = total_norm**0.5 - metrics_dict['train/post_clip_grad_norm'] = total_norm - optimizer.step() - - # tensorboard logging - metrics_dict['train/loss'] = loss.item() - - if args.actions_are_positions: - metrics_dict['train/x_logprob'] = log_prob[0] - metrics_dict['train/y_logprob'] = log_prob[1] - metrics_dict['train/steer_logprob'] = log_prob[2] - else: - metrics_dict['train/accel_logprob'] = log_prob[0] - metrics_dict['train/steer_logprob'] = log_prob[1] - - if not model_cfg['discrete']: - diff_actions = torch.mean(torch.abs(dist.mean - - expert_actions), - axis=0) - metrics_dict['train/accel_diff'] = diff_actions[0] - metrics_dict['train/steer_diff'] = diff_actions[1] - metrics_dict['train/l2_dist'] = torch.norm( - dist.mean - expert_actions.float()) - - if model_cfg['discrete']: - with torch.no_grad(): - model_actions, model_idxs = model(states, - deterministic=True, - return_indexes=True) - accuracy = [ - (model_idx == expert_idx).float().mean(axis=0) - for model_idx, expert_idx in zip(model_idxs, expert_idxs.T) - ] - if args.actions_are_positions: - metrics_dict['train/x_pos_acc'] = accuracy[0] - metrics_dict['train/y_pos_acc'] = accuracy[1] - metrics_dict['train/heading_acc'] = accuracy[2] - else: - metrics_dict['train/accel_acc'] = accuracy[0] - metrics_dict['train/steer_acc'] = accuracy[1] - - for key, val in metrics_dict.items(): - if args.write_to_tensorboard: - writer.add_scalar(key, val, n_samples) - if args.wandb: - wandb.log(metrics_dict, step=n_samples) - # save model checkpoint - if (epoch + 1) % 10 == 0 or epoch == args.epochs - 1: - model_path = exp_dir / f'model_{epoch+1}.pth' - torch.save(model, str(model_path)) - pickle.dump(filter, open(exp_dir / f"filter_{epoch+1}.pth", "wb")) - print(f'\nSaved model at {model_path}') - if args.discrete: - if args.actions_are_positions: - print('xpos') - print('model: ', model_idxs[0][0:10]) - print('expert: ', expert_idxs[0:10, 0]) - print('ypos') - print('model: ', model_idxs[1][0:10]) - print('expert: ', expert_idxs[0:10, 1]) - print('steer') - print('model: ', model_idxs[2][0:10]) - print('expert: ', expert_idxs[0:10, 2]) - else: - print('accel') - print('model: ', model_idxs[0][0:10]) - print('expert: ', expert_idxs[0:10, 0]) - print('steer') - print('model: ', model_idxs[1][0:10]) - print('expert: ', expert_idxs[0:10, 1]) - - print('Done, exp dir is', exp_dir) - - writer.flush() - writer.close() - - -if __name__ == '__main__': - main() diff --git a/examples/imitation_learning/waymo_data_loader.py b/examples/imitation_learning/waymo_data_loader.py deleted file mode 100644 index 8f1fc606..00000000 --- a/examples/imitation_learning/waymo_data_loader.py +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Dataloader for imitation learning in Nocturne.""" -from collections import defaultdict -import random - -import torch -from pathlib import Path -import numpy as np - -from cfgs.config import ERR_VAL -from nocturne import Simulation - - -def _get_waymo_iterator(paths, dataloader_config, scenario_config): - # if worker has no paths, return an empty iterator - if len(paths) == 0: - return - - # load dataloader config - tmin = dataloader_config.get('tmin', 0) - tmax = dataloader_config.get('tmax', 90) - view_dist = dataloader_config.get('view_dist', 80) - view_angle = dataloader_config.get('view_angle', np.radians(120)) - dt = dataloader_config.get('dt', 0.1) - expert_action_bounds = dataloader_config.get('expert_action_bounds', - [[-3, 3], [-0.7, 0.7]]) - expert_position = dataloader_config.get('expert_position', True) - state_normalization = dataloader_config.get('state_normalization', 100) - n_stacked_states = dataloader_config.get('n_stacked_states', 5) - - while True: - # select a random scenario path - scenario_path = np.random.choice(paths) - - # create simulation - sim = Simulation(str(scenario_path), scenario_config) - scenario = sim.getScenario() - - # set objects to be expert-controlled - for obj in scenario.getObjects(): - obj.expert_control = True - - # we are interested in imitating vehicles that moved - objects_that_moved = scenario.getObjectsThatMoved() - objects_of_interest = [ - obj for obj in scenario.getVehicles() if obj in objects_that_moved - ] - - # initialize values if stacking states - stacked_state = defaultdict(lambda: None) - initial_warmup = n_stacked_states - 1 - - state_list = [] - action_list = [] - - # iterate over timesteps and objects of interest - for time in range(tmin, tmax): - for obj in objects_of_interest: - # get state - ego_state = scenario.ego_state(obj) - visible_state = scenario.flattened_visible_state( - obj, view_dist=view_dist, view_angle=view_angle) - state = np.concatenate((ego_state, visible_state)) - - # normalize state - state /= state_normalization - - # stack state - if n_stacked_states > 1: - if stacked_state[obj.getID()] is None: - stacked_state[obj.getID()] = np.zeros( - len(state) * n_stacked_states, dtype=state.dtype) - stacked_state[obj.getID()] = np.roll( - stacked_state[obj.getID()], len(state)) - stacked_state[obj.getID()][:len(state)] = state - - if np.isclose(obj.position.x, ERR_VAL): - continue - - if not expert_position: - # get expert action - expert_action = scenario.expert_action(obj, time) - # check for invalid action (because no value available for taking derivative) - # or because the vehicle is at an invalid state - if expert_action is None: - continue - expert_action = expert_action.numpy() - # now find the corresponding expert actions in the grids - - # throw out actions containing NaN or out-of-bound values - if np.isnan(expert_action).any() \ - or expert_action[0] < expert_action_bounds[0][0] \ - or expert_action[0] > expert_action_bounds[0][1] \ - or expert_action[1] < expert_action_bounds[1][0] \ - or expert_action[1] > expert_action_bounds[1][1]: - continue - else: - expert_pos_shift = scenario.expert_pos_shift(obj, time) - if expert_pos_shift is None: - continue - expert_pos_shift = expert_pos_shift.numpy() - expert_heading_shift = scenario.expert_heading_shift( - obj, time) - if expert_heading_shift is None \ - or expert_pos_shift[0] < expert_action_bounds[0][0] \ - or expert_pos_shift[0] > expert_action_bounds[0][1] \ - or expert_pos_shift[1] < expert_action_bounds[1][0] \ - or expert_pos_shift[1] > expert_action_bounds[1][1] \ - or expert_heading_shift < expert_action_bounds[2][0] \ - or expert_heading_shift > expert_action_bounds[2][1]: - continue - expert_action = np.concatenate( - (expert_pos_shift, [expert_heading_shift])) - - # yield state and expert action - if stacked_state[obj.getID()] is not None: - if initial_warmup <= 0: # warmup to wait for stacked state to be filled up - state_list.append(stacked_state[obj.getID()]) - action_list.append(expert_action) - else: - state_list.append(state) - action_list.append(expert_action) - - # step the simulation - sim.step(dt) - if initial_warmup > 0: - initial_warmup -= 1 - - if len(state_list) > 0: - temp = list(zip(state_list, action_list)) - random.shuffle(temp) - state_list, action_list = zip(*temp) - for state_return, action_return in zip(state_list, action_list): - yield (state_return, action_return) - - -class WaymoDataset(torch.utils.data.IterableDataset): - """Waymo dataset loader.""" - - def __init__(self, - data_path, - dataloader_config={}, - scenario_config={}, - file_limit=None): - super(WaymoDataset).__init__() - - # save configs - self.dataloader_config = dataloader_config - self.scenario_config = scenario_config - - # get paths of dataset files (up to file_limit paths) - self.file_paths = list( - Path(data_path).glob('tfrecord*.json'))[:file_limit] - print(f'WaymoDataset: loading {len(self.file_paths)} files.') - - # sort the paths for reproducibility if testing on a small set of files - self.file_paths.sort() - - def __iter__(self): - """Partition files for each worker and return an (state, expert_action) iterable.""" - # get info on current worker process - worker_info = torch.utils.data.get_worker_info() - - if worker_info is None: - # single-process data loading, return the whole set of files - return _get_waymo_iterator(self.file_paths, self.dataloader_config, - self.scenario_config) - - # distribute a unique set of file paths to each worker process - worker_file_paths = np.array_split( - self.file_paths, worker_info.num_workers)[worker_info.id] - return _get_waymo_iterator(list(worker_file_paths), - self.dataloader_config, - self.scenario_config) - - -if __name__ == '__main__': - dataset = WaymoDataset(data_path='dataset/tf_records', - file_limit=20, - dataloader_config={ - 'view_dist': 80, - 'n_stacked_states': 3, - }, - scenario_config={ - 'start_time': 0, - 'allow_non_vehicles': True, - 'spawn_invalid_objects': True, - }) - - data_loader = torch.utils.data.DataLoader( - dataset, - batch_size=32, - num_workers=4, - pin_memory=True, - ) - - for i, x in zip(range(100), data_loader): - print(i, x[0].shape, x[1].shape) diff --git a/examples/nocturne_functions.py b/examples/nocturne_functions.py deleted file mode 100644 index 93f37c52..00000000 --- a/examples/nocturne_functions.py +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Example of how to make movies of Nocturne scenarios.""" -import os - -import hydra -import matplotlib.pyplot as plt -import numpy as np - -from cfgs.config import PROJECT_PATH, get_scenario_dict, set_display_window -from nocturne import Simulation, Action - - -def save_image(img, output_path='./img.png'): - """Make a single image from the scenario.""" - dpi = 100 - height, width, depth = img.shape - figsize = width / float(dpi), height / float(dpi) - plt.figure(figsize=figsize, dpi=dpi) - plt.axis('off') - plt.imshow(img) - plt.savefig(output_path) - print('>', output_path) - - -@hydra.main(config_path="../cfgs/", config_name="config") -def main(cfg): - """Initialize the scenario.""" - set_display_window() - if not os.path.exists(PROJECT_PATH / 'examples/rendering'): - os.makedirs(PROJECT_PATH / 'examples/rendering') - # load scenario. by default this won't have pedestrians or cyclists - sim = Simulation(scenario_path=str(PROJECT_PATH / 'examples' / - 'example_scenario.json'), - config=get_scenario_dict(cfg)) - scenario = sim.getScenario() - img = scenario.getImage( - img_width=2000, - img_height=2000, - padding=50.0, - draw_target_positions=True, - ) - save_image(img, - PROJECT_PATH / 'examples/rendering' / 'scene_with_no_peds.png') - # grab all the vehicles - vehs = scenario.getVehicles() - # grab all the vehicles that moved and show some things - # we can do with them - vehs = scenario.getObjectsThatMoved() - vehs[0].highlight = True # draw a circle around it on the rendered image - # setting a vehicle to expert_control will cause - # this agent will replay expert data starting frmo - # the current time in the simulation - vehs[0].expert_control = True - print(f'width is {vehs[0].width}, length is {vehs[0].length}') - print(f'speed is {vehs[0].speed}, heading is {vehs[0].heading}') - print(f'position is {vehs[0].width}, length is {vehs[0].length}') - # for efficiency, we return position as a custom Vector2D object - # this object can be converted to and from numpy and comes with - # support for a variety of algebraic operations - print(f'position is {vehs[0].position}') - print(f'position as numpy array is {vehs[0].position.numpy()}') - print(f'norm of position is {vehs[0].position.norm()}') - print(f'angle in a world-centered frame {vehs[0].position.angle()}') - print(f'rotated position is {vehs[0].position.rotate(np.pi).numpy()}') - # we can set vehicle accel, steering, head angle directly - vehs[0].acceleration = -1 - vehs[0].steering = 1 - vehs[0].head_angle = np.pi - # we can also set them all directly using an action object - vehs[0].apply_action(Action(acceleration=-1, steering=1, head_angle=np.pi)) - # we can grab the state for this vehicle in two way: - # 1) a flattened vector corresponding to the set of visible objects - # concatenated according to [visible objects, visible road points, - # visible stop signs, visible traffic lights] - # note that since we want to make a fixed length vector, for each of these - # types the config, under the scenario key has the following items - # max_visible_objects: 16 - # max_visible_road_points: 1000 - # max_visible_traffic_lights: 20 - # max_visible_stop_signs: 4 - # we grab all the visible items for each type, sort them by distance from - # the vehicle and return the closest. If we have fewer than the maximum - # we pad with 0s. - flattened_vector = scenario.flattened_visible_state(object=vehs[0], - view_dist=80, - view_angle=120 * - (np.pi / 180), - head_angle=0.0) - # we can also grab a dict of all of the objects - # if padding is true we will add extra objects to the dict - # to ensure we hit the maximum number of objects for each type - visible_dict = scenario.visible_state(object=vehs[0], - view_dist=80, - view_angle=120 * (np.pi / 180), - padding=False) - # step the scenario. By default we step at 0.1s. - # you can use any step you want, but, if you do so make sure - # not to make any vehicle an expert as the expert positions / speeds / headings - # are only available in increments of 0.1 seconds - sim.step(cfg['dt']) - - # load scenario, this time with pedestrians and cyclists - cfg['scenario']['allow_non_vehicles'] = True - sim = Simulation(scenario_path=str(PROJECT_PATH / 'examples' / - 'example_scenario.json'), - config=get_scenario_dict(cfg)) - scenario = sim.getScenario() - img = scenario.getImage( - img_width=2000, - img_height=2000, - padding=50.0, - draw_target_positions=True, - ) - save_image(img, - PROJECT_PATH / 'examples/rendering' / 'scene_with_peds.png') - # now we need to be slightly more careful about how we select objects - # since getMovingObjects will return pedestrians and cyclists - # and getVehicles will return vehicles that don't necessarily need to move - objects_that_moved = scenario.getObjectsThatMoved() - objects_of_interest = [ - obj for obj in scenario.getVehicles() if obj in objects_that_moved - ] # noqa: 841 - vehicles = scenario.getVehicles() - cyclists = scenario.getCyclists() - pedestrians = scenario.getPedestrians() - all_objects = scenario.getObjects() - - -if __name__ == '__main__': - main() diff --git a/examples/on_policy_files/nocturne_runner.py b/examples/on_policy_files/nocturne_runner.py deleted file mode 100644 index 8f988ad5..00000000 --- a/examples/on_policy_files/nocturne_runner.py +++ /dev/null @@ -1,562 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -# Code modified from https://github.com/marlbenchmark/on-policy -"""Runner for PPO from https://github.com/marlbenchmark/on-policy.""" -from pathlib import Path -import os -import time - -import hydra -from cfgs.config import set_display_window -import imageio -import numpy as np -import setproctitle -import torch -import wandb - -from algos.ppo.base_runner import Runner -from algos.ppo.env_wrappers import SubprocVecEnv, DummyVecEnv - -from nocturne.envs.wrappers import create_ppo_env - - -def _t2n(x): - """Convert torch tensor to a numpy array.""" - return x.detach().cpu().numpy() - - -def make_train_env(cfg): - """Construct a training environment.""" - - def get_env_fn(rank): - - def init_env(): - env = create_ppo_env(cfg, rank) - # TODO(eugenevinitsky) implement this - env.seed(cfg.seed + rank * 1000) - return env - - return init_env - - if cfg.algorithm.n_rollout_threads == 1: - return DummyVecEnv([get_env_fn(0)]) - else: - return SubprocVecEnv( - [get_env_fn(i) for i in range(cfg.algorithm.n_rollout_threads)]) - - -def make_eval_env(cfg): - """Construct an eval environment.""" - - def get_env_fn(rank): - - def init_env(): - env = create_ppo_env(cfg) - # TODO(eugenevinitsky) implement this - env.seed(cfg.seed + rank * 1000) - return env - - return init_env - - if cfg.algorithm.n_eval_rollout_threads == 1: - return DummyVecEnv([get_env_fn(0)]) - else: - return SubprocVecEnv( - [get_env_fn(i) for i in range(cfg.algorithm.n_eval_rollout_threads)]) - - -def make_render_env(cfg): - """Construct a rendering environment.""" - - def get_env_fn(rank): - - def init_env(): - env = create_ppo_env(cfg) - # TODO(eugenevinitsky) implement this - env.seed(cfg.seed + rank * 1000) - return env - - return init_env - - return DummyVecEnv([get_env_fn(0)]) - - -class NocturneSharedRunner(Runner): - """ - Runner class to perform training, evaluation and data collection for the Nocturne envs. - - WARNING: Assumes a shared policy. - """ - - def __init__(self, config): - """Initialize.""" - super(NocturneSharedRunner, self).__init__(config) - self.cfg = config['cfg.algo'] - self.render_envs = config['render_envs'] - - def run(self): - """Run the training code.""" - self.warmup() - - start = time.time() - episodes = int(self.num_env_steps - ) // self.episode_length // self.n_rollout_threads - - for episode in range(episodes): - if self.use_linear_lr_decay: - self.trainer.policy.lr_decay(episode, episodes) - - for step in range(self.episode_length): - # Sample actions - values, actions, action_log_probs, rnn_states, rnn_states_critic, actions_env = self.collect( - step) - - # Obser reward and next obs - obs, rewards, dones, infos = self.envs.step(actions_env) - - data = obs, rewards, dones, infos, values, actions, action_log_probs, rnn_states, rnn_states_critic - - # insert data into buffer - self.insert(data) - - # compute return and update network - self.compute() - train_infos = self.train() - - # post process - total_num_steps = ( - episode + 1) * self.episode_length * self.n_rollout_threads - - # save model - if (episode % self.save_interval == 0 or episode == episodes - 1): - self.save() - - # log information - if episode % self.log_interval == 0: - end = time.time() - print( - "\n Algo {} Exp {} updates {}/{} episodes, total num timesteps {}/{}, FPS {}.\n" - .format(self.algorithm_name, self.experiment_name, - episode * self.n_rollout_threads, - episodes * self.n_rollout_threads, total_num_steps, - self.num_env_steps, - int(total_num_steps / (end - start)))) - - if self.use_wandb: - wandb.log({'fps': int(total_num_steps / (end - start))}, - step=total_num_steps) - env_infos = {} - for agent_id in range(self.num_agents): - idv_rews = [] - for info in infos: - if 'individual_reward' in info[agent_id].keys(): - idv_rews.append( - info[agent_id]['individual_reward']) - agent_k = 'agent%i/individual_rewards' % agent_id - env_infos[agent_k] = idv_rews - - # TODO(eugenevinitsky) this does not correctly account for the fact that there could be - # two episodes in the buffer - train_infos["average_episode_rewards"] = np.mean( - self.buffer.rewards) * self.episode_length - print("average episode rewards is {}".format( - train_infos["average_episode_rewards"])) - print( - f"maximum per step reward is {np.max(self.buffer.rewards)}" - ) - self.log_train(train_infos, total_num_steps) - self.log_env(env_infos, total_num_steps) - - # eval - if episode % self.eval_interval == 0 and self.use_eval: - self.eval(total_num_steps) - - # save videos - if episode % self.cfg.render_interval == 0: - self.render(total_num_steps) - - def warmup(self): - """Initialize the buffers.""" - # reset env - obs = self.envs.reset() - - # replay buffer - if self.use_centralized_V: - share_obs = obs.reshape(self.n_rollout_threads, -1) - share_obs = np.expand_dims(share_obs, 1).repeat(self.num_agents, - axis=1) - else: - share_obs = obs - - self.buffer.share_obs[0] = share_obs.copy() - self.buffer.obs[0] = obs.copy() - - @torch.no_grad() - def collect(self, step): - """Collect rollout data.""" - self.trainer.prep_rollout() - value, action, action_log_prob, rnn_states, rnn_states_critic \ - = self.trainer.policy.get_actions(np.concatenate(self.buffer.share_obs[step]), - np.concatenate(self.buffer.obs[step]), - np.concatenate(self.buffer.rnn_states[step]), - np.concatenate(self.buffer.rnn_states_critic[step]), - np.concatenate(self.buffer.masks[step])) - # [self.envs, agents, dim] - values = np.array(np.split(_t2n(value), self.n_rollout_threads)) - actions = np.array(np.split(_t2n(action), self.n_rollout_threads)) - action_log_probs = np.array( - np.split(_t2n(action_log_prob), self.n_rollout_threads)) - rnn_states = np.array( - np.split(_t2n(rnn_states), self.n_rollout_threads)) - rnn_states_critic = np.array( - np.split(_t2n(rnn_states_critic), self.n_rollout_threads)) - # rearrange action - if self.envs.action_space[0].__class__.__name__ == 'MultiDiscrete': - for i in range(self.envs.action_space[0].shape): - uc_actions_env = np.eye(self.envs.action_space[0].high[i] + - 1)[actions[:, :, i]] - if i == 0: - actions_env = uc_actions_env - else: - actions_env = np.concatenate((actions_env, uc_actions_env), - axis=2) - elif self.envs.action_space[0].__class__.__name__ == 'Discrete': - actions_env = np.squeeze( - np.eye(self.envs.action_space[0].n)[actions], 2) - else: - raise NotImplementedError - - return values, actions, action_log_probs, rnn_states, rnn_states_critic, actions_env - - def insert(self, data): - """Store the data in the buffers.""" - obs, rewards, dones, _, values, actions, action_log_probs, rnn_states, rnn_states_critic = data - - dones_env = np.all(dones, axis=1) - - rnn_states[dones_env] = np.zeros(((dones_env).sum(), self.num_agents, - self.recurrent_N, self.hidden_size), - dtype=np.float32) - rnn_states_critic[dones_env] = np.zeros( - ((dones_env).sum(), self.num_agents, - *self.buffer.rnn_states_critic.shape[3:]), - dtype=np.float32) - - masks = np.ones((self.n_rollout_threads, self.num_agents, 1), - dtype=np.float32) - masks[dones_env] = np.zeros(((dones_env).sum(), self.num_agents, 1), - dtype=np.float32) - - active_masks = np.ones((self.n_rollout_threads, self.num_agents, 1), - dtype=np.float32) - active_masks[dones] = np.zeros(((dones).sum(), 1), dtype=np.float32) - active_masks[dones_env] = np.ones( - ((dones_env).sum(), self.num_agents, 1), dtype=np.float32) - - if self.use_centralized_V: - share_obs = obs.reshape(self.n_rollout_threads, -1) - share_obs = np.expand_dims(share_obs, 1).repeat(self.num_agents, - axis=1) - else: - share_obs = obs - - self.buffer.insert(share_obs, - obs, - rnn_states, - rnn_states_critic, - actions, - action_log_probs, - values, - rewards, - masks, - active_masks=active_masks) - - @torch.no_grad() - def eval(self, total_num_steps): - """Get the policy returns in deterministic mode.""" - eval_episode = 0 - - eval_episode_rewards = [] - one_episode_rewards = [[] for _ in range(self.n_eval_rollout_threads)] - num_achieved_goals = 0 - num_collisions = 0 - - i = 0 - eval_obs = self.eval_envs.reset() - - eval_rnn_states = np.zeros( - (self.n_eval_rollout_threads, self.num_agents, self.recurrent_N, - self.hidden_size), - dtype=np.float32) - eval_masks = np.ones((self.n_eval_rollout_threads, self.num_agents, 1), - dtype=np.float32) - - while eval_episode < self.cfg.eval_episodes: - i += 1 - self.trainer.prep_rollout() - eval_actions, eval_rnn_states = \ - self.trainer.policy.act(np.concatenate(eval_obs), - np.concatenate(eval_rnn_states), - np.concatenate(eval_masks), - deterministic=True) - eval_actions = np.array( - np.split(_t2n(eval_actions), self.n_eval_rollout_threads)) - eval_rnn_states = np.array( - np.split(_t2n(eval_rnn_states), self.n_eval_rollout_threads)) - - # Observed reward and next obs - eval_obs, eval_rewards, eval_dones, eval_infos = self.eval_envs.step( - eval_actions) - for info_arr in eval_infos: - for agent_info_arr in info_arr: - if 'goal_achieved' in agent_info_arr and agent_info_arr[ - 'goal_achieved']: - num_achieved_goals += 1 - if 'collided' in agent_info_arr and agent_info_arr[ - 'collided']: - num_collisions += 1 - - for i in range(self.n_eval_rollout_threads): - one_episode_rewards[i].append(eval_rewards[i]) - - eval_dones_env = np.all(eval_dones, axis=1) - - eval_rnn_states[eval_dones_env] = np.zeros( - ((eval_dones_env).sum(), self.num_agents, self.recurrent_N, - self.hidden_size), - dtype=np.float32) - - eval_masks = np.ones( - (self.n_eval_rollout_threads, self.num_agents, 1), - dtype=np.float32) - eval_masks[eval_dones_env] = np.zeros( - ((eval_dones_env).sum(), self.num_agents, 1), dtype=np.float32) - - for eval_i in range(self.n_eval_rollout_threads): - if eval_dones_env[eval_i]: - eval_episode += 1 - eval_episode_rewards.append( - np.sum(one_episode_rewards[eval_i], axis=0).mean()) - one_episode_rewards[eval_i] = [] - - eval_episode_rewards = np.array(eval_episode_rewards) - eval_episode_rewards = np.mean(eval_episode_rewards) - if self.use_wandb: - wandb.log({'eval_episode_rewards': eval_episode_rewards}, - step=total_num_steps) - wandb.log( - { - 'avg_eval_goals_achieved': - num_achieved_goals / self.num_agents / - self.cfg.eval_episodes - }, - step=total_num_steps) - wandb.log( - { - 'avg_eval_num_collisions': - num_collisions / self.num_agents / self.cfg.eval_episodes - }, - step=total_num_steps) - - @torch.no_grad() - def render(self, total_num_steps): - """Visualize the env.""" - envs = self.render_envs - - all_frames = [] - for episode in range(self.cfg.render_episodes): - obs = envs.reset() - if self.cfg.save_gifs: - image = envs.envs[0].render('rgb_array') - all_frames.append(image) - else: - envs.render('human') - - rnn_states = np.zeros( - (1, self.num_agents, self.recurrent_N, self.hidden_size), - dtype=np.float32) - masks = np.ones((1, self.num_agents, 1), dtype=np.float32) - - episode_rewards = [] - - self.trainer.prep_rollout() - for step in range(self.episode_length): - calc_start = time.time() - - action, rnn_states = self.trainer.policy.act( - np.concatenate(obs), - np.concatenate(rnn_states), - np.concatenate(masks), - deterministic=True) - actions = np.array(np.split(_t2n(action), 1)) - rnn_states = np.array(np.split(_t2n(rnn_states), 1)) - - if envs.action_space[0].__class__.__name__ == 'MultiDiscrete': - for i in range(envs.action_space[0].shape): - uc_actions_env = np.eye(envs.action_space[0].high[i] + - 1)[actions[:, :, i]] - if i == 0: - actions_env = uc_actions_env - else: - actions_env = np.concatenate( - (actions_env, uc_actions_env), axis=2) - elif envs.action_space[0].__class__.__name__ == 'Discrete': - actions_env = np.squeeze( - np.eye(envs.action_space[0].n)[actions], 2) - else: - raise NotImplementedError - - # Obser reward and next obs - obs, rewards, dones, infos = envs.step(actions_env) - episode_rewards.append(rewards) - - rnn_states[dones] = np.zeros( - ((dones).sum(), self.recurrent_N, self.hidden_size), - dtype=np.float32) - masks = np.ones((1, self.num_agents, 1), dtype=np.float32) - masks[dones] = np.zeros(((dones).sum(), 1), dtype=np.float32) - - if self.cfg.save_gifs: - image = envs.envs[0].render('rgb_array') - all_frames.append(image) - calc_end = time.time() - elapsed = calc_end - calc_start - if elapsed < self.cfg.ifi: - time.sleep(self.cfg.ifi - elapsed) - else: - envs.render('human') - - if np.all(dones[0]): - break - - # note, every rendered episode is exactly the same since there's no randomness in the env and our actions - # are deterministic - # TODO(eugenevinitsky) why is this lower than the non-render reward? - render_val = np.mean(np.sum(np.array(episode_rewards), axis=0)) - print("episode reward of rendered episode is: " + str(render_val)) - if self.use_wandb: - wandb.log({'render_rew': render_val}, step=total_num_steps) - - if self.cfg.save_gifs: - if self.use_wandb: - np_arr = np.stack(all_frames).transpose((0, 3, 1, 2)) - wandb.log({"video": wandb.Video(np_arr, fps=4, format="gif")}, - step=total_num_steps) - # else: - imageio.mimsave(os.getcwd() + '/render.gif', - all_frames, - duration=self.cfg.ifi) - - -@hydra.main(config_path='../../cfgs/', config_name='config') -def main(cfg): - """Run the on-policy code.""" - set_display_window() - logdir = Path(os.getcwd()) - if cfg.wandb_id is not None: - wandb_id = cfg.wandb_id - else: - wandb_id = wandb.util.generate_id() - # with open(os.path.join(logdir, 'wandb_id.txt'), 'w+') as f: - # f.write(wandb_id) - wandb_mode = "disabled" if (cfg.debug or not cfg.wandb) else "online" - - if cfg.wandb: - run = wandb.init(config=cfg, - project=cfg.wandb_name, - name=wandb_id, - group='ppov2_' + cfg.experiment, - resume="allow", - settings=wandb.Settings(start_method="fork"), - mode=wandb_mode) - else: - if not logdir.exists(): - curr_run = 'run1' - else: - exst_run_nums = [ - int(str(folder.name).split('run')[1]) - for folder in logdir.iterdir() - if str(folder.name).startswith('run') - ] - if len(exst_run_nums) == 0: - curr_run = 'run1' - else: - curr_run = 'run%i' % (max(exst_run_nums) + 1) - logdir = logdir / curr_run - if not logdir.exists(): - os.makedirs(str(logdir)) - - if cfg.algorithm.algorithm_name == "rmappo": - assert (cfg.algorithm.use_recurrent_policy - or cfg.algorithm.use_naive_recurrent_policy), ( - "check recurrent policy!") - elif cfg.algorithm.algorithm_name == "mappo": - assert (not cfg.algorithm.use_recurrent_policy - and not cfg.algorithm.use_naive_recurrent_policy), ( - "check recurrent policy!") - else: - raise NotImplementedError - - # cuda - if 'cpu' not in cfg.algorithm.device and torch.cuda.is_available(): - print("choose to use gpu...") - device = torch.device(cfg.algorithm.device) - torch.set_num_threads(cfg.algorithm.n_training_threads) - # if cfg.algorithm.cuda_deterministic: - # import torch.backends.cudnn as cudnn - # cudnn.benchmark = False - # cudnn.deterministic = True - else: - print("choose to use cpu...") - device = torch.device("cpu") - torch.set_num_threads(cfg.algorithm.n_training_threads) - - setproctitle.setproctitle( - str(cfg.algorithm.algorithm_name) + "-" + str(cfg.experiment)) - - # seed - torch.manual_seed(cfg.algorithm.seed) - torch.cuda.manual_seed_all(cfg.algorithm.seed) - np.random.seed(cfg.algorithm.seed) - - # env init - # TODO(eugenevinitsky) this code requires a fixed number of agents but this - # should be done by overriding in the hydra config rather than here - cfg.subscriber.keep_inactive_agents = True - envs = make_train_env(cfg) - eval_envs = make_eval_env(cfg) - render_envs = make_render_env(cfg) - # TODO(eugenevinitsky) hacky - num_agents = envs.reset().shape[1] - - config = { - "cfg.algo": cfg.algorithm, - "envs": envs, - "eval_envs": eval_envs, - "render_envs": render_envs, - "num_agents": num_agents, - "device": device, - "logdir": logdir - } - - # run experiments - runner = NocturneSharedRunner(config) - runner.run() - - # post process - envs.close() - if cfg.algorithm.use_eval and eval_envs is not envs: - eval_envs.close() - - if cfg.wandb: - run.finish() - else: - runner.writter.export_scalars_to_json( - str(runner.log_dir + '/summary.json')) - runner.writter.close() - - -if __name__ == '__main__': - main() diff --git a/examples/rendering.py b/examples/rendering.py deleted file mode 100644 index 46050f57..00000000 --- a/examples/rendering.py +++ /dev/null @@ -1,204 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Example of how to make movies of Nocturne scenarios.""" -import os - -import hydra -import imageio -import matplotlib.pyplot as plt -import numpy as np - -from cfgs.config import PROJECT_PATH, get_scenario_dict, set_display_window -from nocturne import Simulation - - -def get_sim(cfg): - """Initialize the scenario.""" - # load scenario, set vehicles to be expert-controlled - sim = Simulation(scenario_path=str(PROJECT_PATH / 'examples' / - 'example_scenario.json'), - config=get_scenario_dict(cfg)) - for obj in sim.getScenario().getObjectsThatMoved(): - obj.expert_control = True - return sim - - -def make_movie(cfg, - scenario_fn, - output_path='./vid.mp4', - dt=0.1, - steps=90, - fps=10): - """Make a movie from the scenario.""" - sim = get_sim(cfg) - scenario = sim.getScenario() - movie_frames = [] - timestep = 0 - movie_frames.append(scenario_fn(scenario, timestep)) - for i in range(steps): - sim.step(dt) - timestep += 1 - movie_frames.append(scenario_fn(scenario, timestep)) - movie_frames = np.array(movie_frames) - imageio.mimwrite(output_path, movie_frames, fps=fps) - print('>', output_path) - del sim - del movie_frames - - -def make_image(cfg, scenario_fn, output_path='./img.png'): - """Make a single image from the scenario.""" - sim = get_sim(cfg) - scenario = sim.getScenario() - img = scenario_fn(scenario) - dpi = 100 - height, width, depth = img.shape - figsize = width / float(dpi), height / float(dpi) - plt.figure(figsize=figsize, dpi=dpi) - plt.axis('off') - plt.imshow(img) - plt.savefig(output_path) - print('>', output_path) - - -@hydra.main(config_path="../cfgs/", config_name="config") -def main(cfg): - """See file docstring.""" - # NOTE: don't run this file all at once since the memory usage for - # rendering all the videos will be dozens of gigabytes - set_display_window() - - if not os.path.exists(PROJECT_PATH / 'examples/rendering'): - os.makedirs(PROJECT_PATH / 'examples/rendering') - - # movie of whole scenario - make_movie( - cfg, - scenario_fn=lambda scenario, _: scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'movie_whole_scenario.mp4', - ) - - # movie around a vehicle - make_movie( - cfg, - scenario_fn=lambda scenario, _: scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - source=scenario.getVehicles()[3], - view_width=120, - view_height=120, - rotate_with_source=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'movie_around_vehicle.mp4', - ) - - # movie around a vehicle (without rotating with source) - make_movie( - cfg, - scenario_fn=lambda scenario, _: scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - source=scenario.getObjectsThatMoved()[0], - view_width=120, - view_height=120, - rotate_with_source=False, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'movie_around_vehicle_stable.mp4', - ) - - # movie of cone around vehicle - make_movie( - cfg, - scenario_fn=lambda scenario, _: scenario.getConeImage( - source=scenario.getObjectsThatMoved()[0], - view_dist=80, - view_angle=np.pi * (120 / 180), - head_angle=0.0, - img_width=1600, - img_height=1600, - padding=50.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / 'movie_cone.mp4', - ) - - # movie of cone around vehicle with varying head angle - make_movie( - cfg, - scenario_fn=lambda scenario, timestep: scenario.getConeImage( - source=scenario.getVehicles()[6], - view_dist=80.0, - view_angle=np.pi * (120 / 180), - head_angle=0.8 * np.sin(timestep / 10), - img_width=1600, - img_height=1600, - padding=50.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'movie_cone_head_angle.mp4', - ) - - # image of whole scenario - make_image( - cfg, - scenario_fn=lambda scenario: scenario.getImage( - img_width=2000, - img_height=2000, - padding=50.0, - draw_target_positions=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / 'img_scenario.png', - ) - - # image of cone - make_image( - cfg, - scenario_fn=lambda scenario: scenario.getConeImage( - source=scenario.getVehicles()[9], - view_dist=80, - view_angle=np.pi * (120 / 180), - head_angle=np.pi / 8.0, - img_width=2000, - img_height=2000, - padding=50.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'img_cone_tilted.png', - ) - - # image of visible state - make_image( - cfg, - scenario_fn=lambda scenario: scenario.getFeaturesImage( - source=scenario.getVehicles()[9], - view_dist=80, - view_angle=np.pi * (120 / 180), - head_angle=np.pi / 8.0, - img_width=2000, - img_height=2000, - padding=50.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / 'examples/rendering' / - 'img_features_tilted.png', - ) - - -if __name__ == '__main__': - main() diff --git a/examples/rllib_files/run_rllib.py b/examples/rllib_files/run_rllib.py deleted file mode 100644 index fb019d00..00000000 --- a/examples/rllib_files/run_rllib.py +++ /dev/null @@ -1,173 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Example run script for RLlib.""" -import os - -import hydra -from omegaconf import OmegaConf -from cfgs.config import set_display_window -import ray -from ray import tune -from ray.tune.registry import register_env -from ray.rllib.env.multi_agent_env import MultiAgentEnv - -from nocturne.envs.wrappers import create_env - - -class RLlibWrapperEnv(MultiAgentEnv): - """Thin wrapper making our env look like a MultiAgentEnv.""" - - metadata = { - "render.modes": ["rgb_array"], - } - - def __init__(self, env): - """See wrapped env class.""" - self._skip_env_checking = True # temporary fix for rllib env checking issue - super().__init__() - self._env = env - - def step(self, actions): - """See wrapped env class.""" - next_obs, rew, done, info = self._env.step(actions) - return next_obs, rew, done, info - - def reset(self): - """See wrapped env class.""" - obses = self._env.reset() - return obses - - @property - def observation_space(self): - """See wrapped env class.""" - return self._env.observation_space - - @property - def action_space(self): - """See wrapped env class.""" - return self._env.action_space - - def render(self, mode=None): - """See wrapped env class.""" - return self._env.render() - - def seed(self, seed=None): - """Set seed on the wrapped env.""" - self._env.seed(seed) - - def __getattr__(self, name): - """Return attributes from the wrapped env.""" - return getattr(self._env, name) - - -def create_rllib_env(cfg): - """Return an MultiAgentEnv wrapped environment.""" - return RLlibWrapperEnv(create_env(cfg)) - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def main(cfg): - """Run RLlib example.""" - set_display_window() - cfg = OmegaConf.to_container(cfg, resolve=True) - # TODO(eugenevinitsky) move these into a config - if cfg['debug']: - ray.init(local_mode=True) - num_workers = 0 - num_envs_per_worker = 1 - num_gpus = 0 - use_lstm = False - else: - num_workers = 15 - num_envs_per_worker = 5 - num_gpus = 1 - use_lstm = True - - register_env("nocturne", lambda cfg: create_rllib_env(cfg)) - - username = os.environ["USER"] - tune.run( - "PPO", - # TODO(eugenevinitsky) move into config - local_dir=f"/checkpoint/{username}/nocturne/ray_results", - stop={"episodes_total": 60000}, - checkpoint_freq=1000, - config={ - # Enviroment specific. - "env": - "nocturne", - "env_config": - cfg, - # General - "framework": - "torch", - "num_gpus": - num_gpus, - "num_workers": - num_workers, - "num_envs_per_worker": - num_envs_per_worker, - "observation_filter": - "MeanStdFilter", - # Method specific. - "entropy_coeff": - 0.0, - "num_sgd_iter": - 5, - "train_batch_size": - max(100 * num_workers * num_envs_per_worker, 512), - "rollout_fragment_length": - 20, - "sgd_minibatch_size": - max(int(100 * num_workers * num_envs_per_worker / 4), 512), - "multiagent": { - # We only have one policy (calling it "shared"). - # Class, obs/act-spaces, and config will be derived - # automatically. - "policies": {"shared_policy"}, - # Always use "shared" policy. - "policy_mapping_fn": - (lambda agent_id, episode, **kwargs: "shared_policy"), - # each agent step is counted towards train_batch_size - # rather than environment steps - "count_steps_by": - "agent_steps", - }, - "model": { - "use_lstm": use_lstm - }, - # Evaluation stuff - "evaluation_interval": - 50, - # Run evaluation on (at least) one episodes - "evaluation_duration": - 1, - # ... using one evaluation worker (setting this to 0 will cause - # evaluation to run on the local evaluation worker, blocking - # training until evaluation is done). - # TODO: if this is not 0, it seems to error out - "evaluation_num_workers": - 0, - # Special evaluation config. Keys specified here will override - # the same keys in the main config, but only for evaluation. - "evaluation_config": { - # Store videos in this relative directory here inside - # the default output dir (~/ray_results/...). - # Alternatively, you can specify an absolute path. - # Set to True for using the default output dir (~/ray_results/...). - # Set to False for not recording anything. - "record_env": "videos_test", - # "record_env": "/Users/xyz/my_videos/", - # Render the env while evaluating. - # Note that this will always only render the 1st RolloutWorker's - # env and only the 1st sub-env in a vectorized env. - "render_env": True, - }, - }, - ) - - -if __name__ == "__main__": - main() diff --git a/examples/sample_factory_files/results/plot_successes.py b/examples/sample_factory_files/results/plot_successes.py deleted file mode 100644 index fda57827..00000000 --- a/examples/sample_factory_files/results/plot_successes.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Util for plotting eval_sample_factory.py output.""" -import matplotlib.pyplot as plt -import numpy as np - -if __name__ == '__main__': - plt.figure() - num_arr = np.load('success_by_veh_number.npy') - for i in range(num_arr.shape[0]): - veh_num_arr = num_arr[i, i] - plt.figure() - plt.plot(list(range(len(veh_num_arr))), veh_num_arr[:, 0]) - plt.plot(list(range(len(veh_num_arr))), veh_num_arr[:, 1]) - plt.plot(list(range(len(veh_num_arr))), - veh_num_arr[:, 1] + veh_num_arr[:, 0]) - plt.xlabel('num vehicles') - plt.ylabel('rate') - plt.legend(['goal rate', 'collide rate', 'sum']) - plt.title('goal rate as function of number of vehicles') - plt.savefig(f'{i}_goal_func_num.png') - plt.close() - num_arr = np.load('success_by_dist.npy') - for i in range(num_arr.shape[0]): - dist_arr = num_arr[i, i] - plt.figure() - plt.plot(10 * np.array(list(range(len(dist_arr)))), dist_arr[:, 0]) - plt.plot(10 * np.array(list(range(len(dist_arr)))), dist_arr[:, 1]) - plt.plot(10 * np.array(list(range(len(dist_arr)))), - dist_arr[:, 1] + dist_arr[:, 0]) - plt.xlabel('distance') - plt.ylabel('rate') - plt.legend(['goal rate', 'collide rate', 'sum']) - plt.title('goal rate as function of start distance') - plt.savefig(f'{i}_goal_func_dist.png') - plt.close() diff --git a/examples/sample_factory_files/results/success_by_dist.npy b/examples/sample_factory_files/results/success_by_dist.npy deleted file mode 100644 index 88bb34700921e697c1c2dda6cf14c063b30542fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcmd6pe{54#6vvBE2ZAvMWd5PpIYXIg*hGR87Qb%EM!;-haKJ=@({8woG3;OxoEU;+ zZUlruAUGjL{vlvM7Jf{EurVVotghV;*1D~f_Vv9tK=PD8U{T|J@7;5owe}DG+sRGO zyZ7CD-+A|Z-uHBOQE}m-l5v(=%V#!6S zLFww6GB#fGap~GJ)}JxUZe?wD7IPVP>*v;owYY(+_@Jp5DB=#Vw;wYfpKh&Wk|90e`~*6&Az1$baMJLdY>}Q0!0fn9q0fIEL}urB7Jv#OpgE**hXCACKKP*U_&Q_xuo=URuD~ zMGTy-V(ljHcjJuS9gun4(IoNHd&KXbtWV=(-P1W~h^EPTN8414Jp1j}?GIeQm$|<+ z{Sy`Z&Dd4pU$ZyHUuTo^O-HMOGrwN*q`%vRilgl{k2cE4{&~2tdSeepPSwA^WRis0 z>o@(8wy#f|Z&iz%k=QNxn|ER|YgYt+?o~q{G}c|^oJDvZ{R#OjNL{hcm#@HZsUFTL z<&pT4#5yys2+Z&X1b5-o-1%pt(5PX|D*w6Wpx$i|0`zV@&5_WC1JJKcw@Joko5o|Cl zo|BN^&eXv`0&ns9XvRxAMV|JRxb6)IZ|Y%8|3;HSd7;sV?bEuk?&-Z^`saH&>)xJv z7xvydzJ9CB>gD-YsvcSB!&0b++fo&r7}5dsLX)39(seSHf1~W~lVFtLlYOH8&Sw-( za|Tc}M<-Agyx3|#WKF?AR)zfy9>E{gUz0N_q5e`mCjN94OkL3{_#4d&>E9r3=&IZt zM4C~E!%6s~{{#L6{^IrT|M{bQ)48^BZdFl#P42=8^_NzT)<5EyJk6s0ll5tQtb2M7 G4gUdODarZ( diff --git a/examples/sample_factory_files/results/success_by_veh_number.npy b/examples/sample_factory_files/results/success_by_veh_number.npy deleted file mode 100644 index e2ccc8c0fa557fb62bc70b53ca7987c754e00875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmb7^TSyd97{?8LNX4QO&9d5xScS#3D7tL^qsS~YEy=J<-E=j=YF(ugGa^b7!y?5p zQZpf=9waOgDQm^j!rNZ8wR%`*W_Qz7vKw6w-*R?mIcLuN=J%bdeFqbh z)8_b`@hMT}XbZFT$}I||I(L&&rBLRc))(nDr!r6LbF{+sI8A<`mcL$jT%*(Sza!SE z6hcMwpGcLWRPp}_xKk^{4RL&rPalP_SWjX`?4>_*Cs(@=VopoQi|L1F&C^>$84hf& z9NSbmHiE$6Cf&9GCl-(x<@u{fOh_*>?g~B1K-r!4%fG;ewH>be6;T{Qj|zWSkvx7V z!19}gwkmPs`y4ao_z2?!u8MV=L6*Ph6i1%{s7WTUoTL-_@ScM39yiEP z@EkjfgV+t#!^n?lX?$Mhp!;SKZtK)|mf9${8GcifLO7YnmI}A(L8}YCKNo!1ts6w+ zi_1S2+Q(qb*iqu|v7+mHMEdnE7H@85s(!sT;mfS~1QXBCzaaI(j=NR}G>eR^%OuyWvC($!W6Itf6#%;NMfb@Tr$7;BvX`Mz06PKXps435ReSW_WBq!`xWoK(QNVJC*Fsp`!qq~ zC;2D7mzn)U*Ze*9b}a|b{`Tcp#*N4$UT}0>BhL3&UVVyT(I;S-Hp~8r9-1J~3x3E# zmlxkR8fK#Vb5XwrAo(ZxD{^z-+*u*RUi=z}cN{c}%lI-PG~W=CZFHje&YiZ^|XL)r+6hzf%9j>sA;_{hT;QG#>KuZ(fmodvg$jRQi6U z`Qme$Xy0;ZIhznPvCIt8z8ws%MG4<*NT>eAk%k@yIZkSw)Wac+)Bc^!PdabJzLorI zLYRO};{w5_>7|^VFe^(GZNWdX C*?dO; diff --git a/examples/sample_factory_files/results/zsc_collision.txt b/examples/sample_factory_files/results/zsc_collision.txt deleted file mode 100644 index fab1b513..00000000 --- a/examples/sample_factory_files/results/zsc_collision.txt +++ /dev/null @@ -1,2 +0,0 @@ -3.073423876390209974e-01,2.998212611906500014e-01 -2.892664684601605751e-01,3.056283516749848106e-01 diff --git a/examples/sample_factory_files/results/zsc_goal.txt b/examples/sample_factory_files/results/zsc_goal.txt deleted file mode 100644 index da893d8f..00000000 --- a/examples/sample_factory_files/results/zsc_goal.txt +++ /dev/null @@ -1,2 +0,0 @@ -6.806898396366272141e-01,6.894188181744292931e-01 -6.908729456388121859e-01,6.775820683229745178e-01 diff --git a/examples/sample_factory_files/run_sample_factory.py b/examples/sample_factory_files/run_sample_factory.py deleted file mode 100644 index e39582da..00000000 --- a/examples/sample_factory_files/run_sample_factory.py +++ /dev/null @@ -1,352 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -""" -Runner script for sample factory. - -To run in single agent mode on one file for testing. -python -m run_sample_factory algorithm=APPO ++algorithm.train_in_background_thread=True \ - ++algorithm.num_workers=10 ++algorithm.experiment=EXPERIMENT_NAME \ - ++max_num_vehicles=1 ++num_files=1 - -To run in multiagent mode on one file for testing -python -m run_sample_factory algorithm=APPO ++algorithm.train_in_background_thread=True \ - ++algorithm.num_workers=10 ++algorithm.experiment=EXPERIMENT_NAME \ - ++num_files=1 - -To run on all files set ++num_files=-1 - -For debugging -python -m run_sample_factory algorithm=APPO ++algorithm.train_in_background_thread=False \ - ++algorithm.num_workers=1 ++force_envs_single_thread=False -After training for a desired period of time, evaluate the policy by running: -python -m sample_factory_examples.enjoy_custom_multi_env --algo=APPO \ - --env=my_custom_multi_env_v1 --experiment=example -""" -import os -import sys - -import hydra -import numpy as np -from omegaconf import OmegaConf -from sample_factory.envs.env_registry import global_env_registry -from sample_factory.run_algorithm import run_algorithm -from sample_factory_examples.train_custom_env_custom_model import override_default_params_func -from sample_factory.algorithms.appo.model_utils import get_obs_shape, EncoderBase, nonlinearity, register_custom_encoder -from torch import nn - -from nocturne.envs.wrappers import create_env - - -class SampleFactoryEnv(): - """Wrapper environment that converts between our dicts and Sample Factory format.""" - - def __init__(self, env): - """Initialize wrapper. - - Args - ---- - env (BaseEnv): Base environment that we are wrapping. - """ - self.env = env - self.num_agents = self.env.cfg['max_num_vehicles'] - self.agent_ids = [i for i in range(self.num_agents)] - self.is_multiagent = True - _ = self.env.reset() - # used to track which agents are done - self.already_done = [False for _ in self.agent_ids] - self.episode_rewards = np.zeros(self.num_agents) - - def step(self, actions): - """Convert between environment dicts and sample factory lists. - - Important to note: - 1) Items in info['episode_extra_stats'] will be logged by sample factory. - 2) sample factory does not reset the environment for you - so we reset it if the env returns __all__ in its done dict - - Args: - actions ({str: numpy array}): agent actions - - Returns - ------- - obs_n ([np.array]): N length list of agent observations - rew_n ([float]): N length list of agent rewards - info_n ([{str: float}]): N length list of info dicts - done_n ([bool]): N length list of whether agents are done - - """ - agent_actions = {} - for action, agent_id, already_done in zip(actions, self.agent_ids, - self.already_done): - if already_done: - continue - agent_actions[self.agent_id_to_env_id_map[agent_id]] = action - next_obses, rew, done, info = self.env.step(agent_actions) - rew_n = [] - done_n = [] - info_n = [] - - for agent_id in self.agent_ids: - # first check that the agent_id ever had a corresponding vehicle - # and then check that there's actually an observation for it i.e. it's not done - if agent_id in self.agent_id_to_env_id_map.keys( - ) and self.agent_id_to_env_id_map[agent_id] in next_obses.keys(): - map_key = self.agent_id_to_env_id_map[agent_id] - # since the environment may have just reset, we don't actually have - # reward objects yet - rew_n.append(rew.get(map_key, 0)) - agent_info = info.get(map_key, {}) - # track the per-agent reward for later logging - self.episode_rewards[agent_id] += rew.get(map_key, 0) - self.num_steps[agent_id] += 1 - self.goal_achieved[agent_id] = self.goal_achieved[ - agent_id] or agent_info['goal_achieved'] - self.collided[agent_id] = self.collided[ - agent_id] or agent_info['collided'] - self.veh_edge_collided[agent_id] = self.veh_edge_collided[ - agent_id] or agent_info['veh_edge_collision'] - self.veh_veh_collided[agent_id] = self.veh_veh_collided[ - agent_id] or agent_info['veh_veh_collision'] - else: - rew_n.append(0) - agent_info = {} - if self.already_done[agent_id]: - agent_info['is_active'] = False - else: - agent_info['is_active'] = True - info_n.append(agent_info) - # now stick in some extra state information if needed - # anything in episode_extra_stats is logged at the end of the episode - if done['__all__']: - # log any extra info that you need - avg_rew = np.mean(self.episode_rewards[self.valid_indices]) - avg_len = np.mean(self.num_steps[self.valid_indices]) - avg_goal_achieved = np.mean(self.goal_achieved[self.valid_indices]) - avg_collided = np.mean(self.collided[self.valid_indices]) - avg_veh_edge_collided = np.mean( - self.veh_edge_collided[self.valid_indices]) - avg_veh_veh_collided = np.mean( - self.veh_veh_collided[self.valid_indices]) - for info in info_n: - info['episode_extra_stats'] = {} - info['episode_extra_stats']['avg_rew'] = avg_rew - info['episode_extra_stats']['avg_agent_len'] = avg_len - info['episode_extra_stats'][ - 'goal_achieved'] = avg_goal_achieved - info['episode_extra_stats']['collided'] = avg_collided - info['episode_extra_stats'][ - 'veh_edge_collision'] = avg_veh_edge_collided - info['episode_extra_stats'][ - 'veh_veh_collision'] = avg_veh_veh_collided - - # update the dones so we know if we need to reset - # sample factory does not call reset for you - for env_id, done_val in done.items(): - # handle the __all__ signal that's just in there for - # telling when the environment should stop - if env_id == '__all__': - continue - if done_val: - agent_id = self.env_id_to_agent_id_map[env_id] - self.already_done[agent_id] = True - - # okay, now if all the agents are done set done to True for all of them - # otherwise, False. Sample factory uses info['is_active'] to track if agents - # are done, not the done signal - # also, convert the obs_dict into the right format - if done['__all__']: - done_n = [True] * self.num_agents - obs_n = self.reset() - else: - done_n = [False] * self.num_agents - obs_n = self.obs_dict_to_list(next_obses) - return obs_n, rew_n, done_n, info_n - - def obs_dict_to_list(self, obs_dict): - """Convert the dictionary returned by the environment into a fixed size list of arrays. - - Args: - obs_dict ({agent id in environment: observation}): dict mapping ID to observation - - Returns - ------- - [np.array]: List of arrays ordered by which agent ID they correspond to. - """ - obs_n = [] - for agent_id in self.agent_ids: - # first check that the agent_id ever had a corresponding vehicle - # and then check that there's actually an observation for it i.e. it's not done - if agent_id in self.agent_id_to_env_id_map.keys( - ) and self.agent_id_to_env_id_map[agent_id] in obs_dict.keys(): - map_key = self.agent_id_to_env_id_map[agent_id] - obs_n.append(obs_dict[map_key]) - else: - obs_n.append(self.dead_feat) - return obs_n - - def reset(self): - """Reset the environment. - - Key things done here: - 1) build a map between the agent IDs in the environment (which are not necessarily 0-N) - and the agent IDs for sample factory which are from 0 to the maximum number of agents - 2) sample factory (until some bugs are fixed) requires a fixed number of agents. Some of these - agents will be dummy agents that do not act in the environment. So, here we build valid - indices which can be used to figure out which agent IDs correspond - - Returns - ------- - [np.array]: List of numpy arrays, one for each agent. - """ - # track the agent_ids that actually take an action during the episode - self.valid_indices = [] - self.episode_rewards = np.zeros(self.num_agents) - self.num_steps = np.zeros(self.num_agents) - self.goal_achieved = np.zeros(self.num_agents) - self.collided = np.zeros(self.num_agents) - self.veh_veh_collided = np.zeros(self.num_agents) - self.veh_edge_collided = np.zeros(self.num_agents) - self.already_done = [False for _ in self.agent_ids] - next_obses = self.env.reset() - env_keys = sorted(list(next_obses.keys())) - # agent ids is a list going from 0 to (num_agents - 1) - # however, the vehicle IDs might go from 0 to anything - # we want to initialize a mapping that is maintained through the episode and always - # uniquely convert the vehicle ID to an agent id - self.agent_id_to_env_id_map = { - agent_id: env_id - for agent_id, env_id in zip(self.agent_ids, env_keys) - } - self.env_id_to_agent_id_map = { - env_id: agent_id - for agent_id, env_id in zip(self.agent_ids, env_keys) - } - # if there isn't a mapping from an agent id to a vehicle id, that agent should be - # set to permanently inactive - for agent_id in self.agent_ids: - if agent_id not in self.agent_id_to_env_id_map.keys(): - self.already_done[agent_id] = True - else: - # check that this isn't actually a fake padding agent used - # when keep_inactive_agents is True - if agent_id in self.agent_id_to_env_id_map.keys( - ) and self.agent_id_to_env_id_map[ - agent_id] not in self.env.dead_agent_ids: - self.valid_indices.append(agent_id) - obs_n = self.obs_dict_to_list(next_obses) - return obs_n - - @property - def observation_space(self): - """See superclass.""" - return self.env.observation_space - - @property - def action_space(self): - """See superclass.""" - return self.env.action_space - - def render(self, mode=None): - """See superclass.""" - return self.env.render(mode) - - def seed(self, seed=None): - """Pass the seed to the environment.""" - self.env.seed(seed) - - def __getattr__(self, name): - """Pass attributes directly through to the wrapped env. TODO(remove).""" - return getattr(self.env, name) - - -class CustomEncoder(EncoderBase): - """Encoder for the input.""" - - def __init__(self, cfg, obs_space, timing): - super().__init__(cfg, timing) - - obs_shape = get_obs_shape(obs_space) - assert len(obs_shape.obs) == 1 - - fc_encoder_layer = cfg.encoder_hidden_size - encoder_layers = [ - nn.Linear(obs_shape.obs[0], fc_encoder_layer), - nonlinearity(cfg), - nn.Linear(fc_encoder_layer, fc_encoder_layer), - nonlinearity(cfg), - ] - - self.mlp_head = nn.Sequential(*encoder_layers) - self.init_fc_blocks(fc_encoder_layer) - - def forward(self, obs_dict): - """See superclass.""" - x = self.mlp_head(obs_dict['obs']) - x = self.forward_fc_blocks(x) - return x - - -def make_custom_multi_env_func(full_env_name, cfg, env_config=None): - """Return a wrapped base environment. - - Args: - full_env_name (str): Unused. - cfg (dict): Dict needed to configure the environment. - env_config (dict, optional): Deprecated. Will be removed from SampleFactory later. - - Returns - ------- - SampleFactoryEnv: Wrapped environment. - """ - env = create_env(cfg) - return SampleFactoryEnv(env) - - -def register_custom_components(): - """Register needed constructors for custom environments.""" - global_env_registry().register_env( - env_name_prefix='my_custom_multi_env_', - make_env_func=make_custom_multi_env_func, - override_default_params_func=override_default_params_func, - ) - register_custom_encoder('custom_env_encoder', CustomEncoder) - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def main(cfg): - """Script entry point.""" - register_custom_components() - # cfg = parse_args() - # TODO(ev) hacky renaming and restructuring, better to do this cleanly - cfg_dict = OmegaConf.to_container(cfg, resolve=True) - # copy algo keys into the main keys - for key, value in cfg_dict['algorithm'].items(): - cfg_dict[key] = value - # we didn't set a train directory so use the hydra one - if cfg_dict['train_dir'] is None: - cfg_dict['train_dir'] = os.getcwd() - print(f'storing the results in {os.getcwd()}') - else: - output_dir = cfg_dict['train_dir'] - print(f'storing results in {output_dir}') - - # recommendation from Aleksei to keep horizon length fixed - # and number of agents fixed and just pad missing / exited - # agents with a vector of -1s - cfg_dict['subscriber']['keep_inactive_agents'] = True - - # put it into a namespace so sample factory code runs correctly - class Bunch(object): - - def __init__(self, adict): - self.__dict__.update(adict) - - cfg = Bunch(cfg_dict) - status = run_algorithm(cfg) - return status - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/examples/sample_factory_files/success_by_veh_number b/examples/sample_factory_files/success_by_veh_number deleted file mode 100644 index 3aa29c4ee4860ebf4fc7dc1779cb0990f97dcd1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768 zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlV+i=qoAIaUsO_*m=~X4l#&V(cT3DEP6dh= zXCxM+0{I$7Itn0UpsAx!t3VduVt@k26PJ^Uj!Qe#u8uyq|FDw7W&46@j-SLF=HBQ8 zqQCZc6mM^PvsBDMEi_0qH0X~#>-PsfH=zu+kGY%w*iZO-qyO)XH#ps)muSAfwc#yJ zd35*6yPs8Lza#FDc68PUU**5{MmHVG-dq%SxHxmR+74@Fhk3PJW$Y`&9HNi7#vD2N z#{Tp6=jwg=JPuN9)tW2R1s#^(d>_;@i?Drj@7@HWxAyPu-g^r~_F1tNPV25A^t}&R zE5YKA;KSW{-exw_T@iI~!^mTc(pKQ*1-;ePAO zV;ZG@?KiHya==7N+5x8D7z|$9=T`4gx^tYxL0op1%k@RS;o max_num_frames - - obs = env.reset() - print(os.path.join(env.cfg['scenario_path'], env.unwrapped.file)) - rnn_states = torch.zeros( - [env.num_agents, get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - episode_reward = np.zeros(env.num_agents) - finished_episode = [False] * env.num_agents - - if not cfg.no_render: - fig = plt.figure() - frames = [] - ego_frames = [] - feature_frames = [] - - with torch.no_grad(): - while not max_frames_reached(num_frames): - obs_torch = AttrDict(transform_dict_observations(obs)) - for key, x in obs_torch.items(): - obs_torch[key] = torch.from_numpy(x).to(device).float() - - policy_outputs = actor_critic(obs_torch, - rnn_states, - with_action_distribution=True) - - # sample actions from the distribution by default - actions = policy_outputs.actions - - action_distribution = policy_outputs.action_distribution - if isinstance(action_distribution, ContinuousActionDistribution): - if not cfg.continuous_actions_sample: # TODO: add similar option for discrete actions - actions = action_distribution.means - if isinstance(action_distribution, CategoricalActionDistribution): - if not cfg.discrete_actions_sample: - actions = policy_outputs['action_logits'].argmax(axis=1) - - actions = actions.cpu().numpy() - - rnn_states = policy_outputs.rnn_states - - for _ in range(render_action_repeat): - if not cfg.no_render: - target_delay = 1.0 / cfg.fps if cfg.fps > 0 else 0 - current_delay = time.time() - last_render_start - time_wait = target_delay - current_delay - - if time_wait > 0: - # log.info('Wait time %.3f', time_wait) - time.sleep(time_wait) - - last_render_start = time.time() - img = env.render() - frames.append(img) - ego_img = env.render_ego() - if ego_img is not None: - ego_frames.append(ego_img) - feature_img = env.render_features() - if feature_img is not None: - feature_frames.append(feature_img) - - obs, rew, done, infos = env.step(actions) - - episode_reward += rew - num_frames += 1 - - for agent_i, done_flag in enumerate(done): - if done_flag: - finished_episode[agent_i] = True - episode_rewards[agent_i].append( - episode_reward[agent_i]) - true_rewards[agent_i].append(infos[agent_i].get( - 'true_reward', episode_reward[agent_i])) - log.info( - 'Episode finished for agent %d at %d frames. Reward: %.3f, true_reward: %.3f', - agent_i, num_frames, episode_reward[agent_i], - true_rewards[agent_i][-1]) - rnn_states[agent_i] = torch.zeros( - [get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - episode_reward[agent_i] = 0 - - # if episode terminated synchronously for all agents, pause a bit before starting a new one - if all(done): - if not cfg.no_render: - imageio.mimsave(os.path.join(PROJECT_PATH, - 'animation.mp4'), - np.array(frames), - fps=30) - plt.close(fig) - imageio.mimsave(os.path.join(PROJECT_PATH, - 'animation_ego.mp4'), - np.array(ego_frames), - fps=30) - plt.close(fig) - imageio.mimsave(os.path.join(PROJECT_PATH, - 'animation_feature.mp4'), - np.array(feature_frames), - fps=30) - plt.close(fig) - if not cfg.no_render: - env.render() - time.sleep(0.05) - - if all(finished_episode): - finished_episode = [False] * env.num_agents - avg_episode_rewards_str, avg_true_reward_str = '', '' - for agent_i in range(env.num_agents): - avg_rew = np.mean(episode_rewards[agent_i]) - avg_true_rew = np.mean(true_rewards[agent_i]) - if not np.isnan(avg_rew): - if avg_episode_rewards_str: - avg_episode_rewards_str += ', ' - avg_episode_rewards_str += f'#{agent_i}: {avg_rew:.3f}' - if not np.isnan(avg_true_rew): - if avg_true_reward_str: - avg_true_reward_str += ', ' - avg_true_reward_str += f'#{agent_i}: {avg_true_rew:.3f}' - avg_goal = infos[0]['episode_extra_stats']['goal_achieved'] - avg_collisions = infos[0]['episode_extra_stats'][ - 'collided'] - log.info(f'Avg goal achieved, {avg_goal}') - log.info(f'Avg num collisions, {avg_collisions}') - log.info('Avg episode rewards: %s, true rewards: %s', - avg_episode_rewards_str, avg_true_reward_str) - log.info( - 'Avg episode reward: %.3f, avg true_reward: %.3f', - np.mean([ - np.mean(episode_rewards[i]) - for i in range(env.num_agents) - ]), - np.mean([ - np.mean(true_rewards[i]) - for i in range(env.num_agents) - ])) - return avg_goal - env.close() - - -def main(): - """Script entry point.""" - set_display_window() - register_custom_components() - - parser = argparse.ArgumentParser() - parser.add_argument('cfg_path', type=str) - args = parser.parse_args() - - file_path = os.path.join(args.cfg_path, 'cfg.json') - with open(file_path, 'r') as file: - cfg_dict = json.load(file) - - cfg_dict['cli_args'] = {} - cfg_dict['fps'] = 0 - cfg_dict['render_action_repeat'] = None - cfg_dict['no_render'] = False - cfg_dict['policy_index'] = 0 - cfg_dict['record_to'] = os.path.join(os.getcwd(), '..', 'recs') - cfg_dict['continuous_actions_sample'] = True - cfg_dict['discrete_actions_sample'] = False - cfg_dict['remove_at_collide'] = True - cfg_dict['remove_at_goal'] = True - cfg_dict['scenario_path'] = PROCESSED_VALID_NO_TL - - class Bunch(object): - - def __init__(self, adict): - self.__dict__.update(adict) - - cfg = Bunch(cfg_dict) - avg_goals = [] - for _ in range(1): - avg_goal = run_eval(cfg) - avg_goals.append(avg_goal) - print(avg_goals) - print('the total average goal achieved is {}'.format(np.mean(avg_goals))) - - -if __name__ == '__main__': - sys.exit(main()) From 26af398d5089959be5ab902a360e3145f0d7a303 Mon Sep 17 00:00:00 2001 From: Daphne Date: Sat, 30 Sep 2023 16:58:52 -0400 Subject: [PATCH 05/40] Clean-up: remove cluster_scripts --- .../cluster_scripts/run_imitation_cluster.py | 97 ----------------- scripts/cluster_scripts/run_ppo_cluster.py | 103 ------------------ scripts/cluster_scripts/run_rllib_cluster.py | 91 ---------------- .../run_sample_factory_cluster.py | 97 ----------------- scripts/cluster_scripts/utils.py | 26 ----- 5 files changed, 414 deletions(-) delete mode 100644 scripts/cluster_scripts/run_imitation_cluster.py delete mode 100644 scripts/cluster_scripts/run_ppo_cluster.py delete mode 100644 scripts/cluster_scripts/run_rllib_cluster.py delete mode 100644 scripts/cluster_scripts/run_sample_factory_cluster.py delete mode 100644 scripts/cluster_scripts/utils.py diff --git a/scripts/cluster_scripts/run_imitation_cluster.py b/scripts/cluster_scripts/run_imitation_cluster.py deleted file mode 100644 index be1263c0..00000000 --- a/scripts/cluster_scripts/run_imitation_cluster.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -"""Run sample factory experiments on a SLURM cluster.""" -import argparse -import os -import pathlib -import shutil -from datetime import datetime -from subprocess import Popen - -from cfgs.config import PROJECT_PATH -from scripts.cluster_scripts.utils import Overrides - - -def make_code_snap(experiment, code_path, str_time): - """Copy code to directory to ensure that the run launches with correct commit. - - Args: - experiment (str): Name of experiment - code_path (str): Path to where we are saving the code. - str_time (str): Unique time identifier used to distinguish - experiments with same name. - - Returns - ------- - snap_dir (str): path to where the code has been copied. - """ - if len(code_path) > 0: - snap_dir = pathlib.Path(code_path) - else: - snap_dir = pathlib.Path.cwd() - snap_dir /= str_time - snap_dir /= f'{experiment}' - snap_dir.mkdir(exist_ok=True, parents=True) - - def copy_dir(dir, pat): - dst_dir = snap_dir / 'code' / dir - dst_dir.mkdir(exist_ok=True, parents=True) - for f in (src_dir / dir).glob(pat): - shutil.copy(f, dst_dir / f.name) - - dirs_to_copy = [ - '.', './cfgs/', './cfgs/algorithm', './cfgs/imitation', - './nocturne/envs/', './nocturne/pybind11', - '.examples/imitation_learning', './build' - ] - src_dir = pathlib.Path(PROJECT_PATH) - for dir in dirs_to_copy: - copy_dir(dir, '*.py') - copy_dir(dir, '*.yaml') - - return snap_dir - - -def main(): - """Launch experiments on SLURM cluster by overriding Hydra config.""" - username = os.environ["USER"] - parser = argparse.ArgumentParser() - parser.add_argument('experiment', type=str) - parser.add_argument('--code_path', - default=f'/checkpoint/{username}/nocturne/il_runs') - parser.add_argument('--dry', action='store_true') - args = parser.parse_args() - - now = datetime.now() - str_time = now.strftime('%Y.%m.%d_%H%M%S') - snap_dir = make_code_snap(args.experiment, args.code_path, str_time) - overrides = Overrides() - overrides.add('hydra/launcher', ['submitit_slurm']) - overrides.add('hydra.launcher.partition', ['learnlab']) - overrides.add('experiment', [args.experiment]) - overrides.add('num_files', [1000]) - overrides.add('epochs', [1400]) - overrides.add('seed', [0, 1, 2, 3, 4]) - - cmd = [ - 'python', - str(snap_dir / 'code' / 'nocturne' / 'utils' / 'imitation_learning' / - 'train.py'), '-m' - ] - print(cmd) - cmd += overrides.cmd() - - if args.dry: - print(' '.join(cmd)) - else: - env = os.environ.copy() - env['PYTHONPATH'] = str(snap_dir / 'code') - p = Popen(cmd, env=env) - p.communicate() - - -if __name__ == '__main__': - main() diff --git a/scripts/cluster_scripts/run_ppo_cluster.py b/scripts/cluster_scripts/run_ppo_cluster.py deleted file mode 100644 index fa9da6ab..00000000 --- a/scripts/cluster_scripts/run_ppo_cluster.py +++ /dev/null @@ -1,103 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run on-policy PPO experiments on a SLURM cluster.""" -import argparse -import os -import pathlib -import shutil -from datetime import datetime -from subprocess import Popen - -from cfgs.config import PROJECT_PATH -from scripts.cluster_scripts.utils import Overrides - - -def make_code_snap(experiment, code_path, slurm_dir='exp'): - """Copy code to directory to ensure that the run launches with correct commit. - - Args: - experiment (str): Name of experiment - code_path (str): Path to where we are saving the code. - str_time (str): Unique time identifier used to distinguish - experiments with same name. - - Returns - ------- - snap_dir (str): path to where the code has been copied. - """ - now = datetime.now() - if len(code_path) > 0: - snap_dir = pathlib.Path(code_path) / slurm_dir - else: - snap_dir = pathlib.Path.cwd() / slurm_dir - snap_dir /= now.strftime('%Y.%m.%d') - snap_dir /= now.strftime('%H%M%S') + f'_{experiment}' - snap_dir.mkdir(exist_ok=True, parents=True) - - def copy_dir(dir, pat): - dst_dir = snap_dir / 'code' / dir - dst_dir.mkdir(exist_ok=True, parents=True) - for f in (src_dir / dir).glob(pat): - shutil.copy(f, dst_dir / f.name) - - dirs_to_copy = [ - '.', './cfgs/', './cfgs/algo', './algos/', './algos/ppo/', - './algos/ppo/ppo_utils', './algos/ppo/r_mappo', - './algos/ppo/r_mappo/algorithm', './algos/ppo/utils', - '.nocturne/envs/', './nocturne_utils/', '.nocturne/python/', './build' - ] - src_dir = pathlib.Path(os.path.dirname(os.getcwd())) - for dir in dirs_to_copy: - copy_dir(dir, '*.py') - copy_dir(dir, '*.yaml') - - return snap_dir - - -def main(): - """Launch experiments on SLURM cluster by overriding Hydra config.""" - parser = argparse.ArgumentParser() - parser.add_argument('experiment', type=str) - parser.add_argument('--code_path', - default='/checkpoint/eugenevinitsky/nocturne') - parser.add_argument('--dry', action='store_true') - args = parser.parse_args() - - snap_dir = make_code_snap(args.experiment, args.code_path) - print(str(snap_dir)) - overrides = Overrides() - overrides.add('hydra/launcher', ['submitit_slurm']) - overrides.add('hydra.launcher.partition', ['learnlab']) - overrides.add('experiment', [args.experiment]) - # experiment parameters - overrides.add('episode_length', [200]) - # algo - overrides.add('algo', ['ppo']) - overrides.add('algo.entropy_coef', [-0.001, 0.0, 0.001]) - overrides.add('algo.n_rollout_threads', [128]) - # rewards - overrides.add('rew_cfg.goal_achieved_bonus', [10, 50]) - # misc - overrides.add('scenario_path', - [PROJECT_PATH / 'scenarios/twenty_car_intersection.json']) - - cmd = [ - 'python', - str(snap_dir / 'code' / 'algos' / 'ppo' / 'nocturne_runner.py'), '-m' - ] - print(cmd) - cmd += overrides.cmd() - - if args.dry: - print(' '.join(cmd)) - else: - env = os.environ.copy() - env['PYTHONPATH'] = str(snap_dir / 'code') - p = Popen(cmd, env=env) - p.communicate() - - -if __name__ == '__main__': - main() diff --git a/scripts/cluster_scripts/run_rllib_cluster.py b/scripts/cluster_scripts/run_rllib_cluster.py deleted file mode 100644 index c97961dc..00000000 --- a/scripts/cluster_scripts/run_rllib_cluster.py +++ /dev/null @@ -1,91 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run rllib experiments on a SLURM cluster.""" -import argparse -import os -import pathlib -import shutil -from datetime import datetime -from subprocess import Popen - -from cfgs.config import PROJECT_PATH -from scripts.utils import Overrides - - -def make_code_snap(experiment, code_path, str_time): - """Copy code to directory to ensure that the run launches with correct commit. - - Args: - experiment (str): Name of experiment - code_path (str): Path to where we are saving the code. - str_time (str): Unique time identifier used to distinguish - experiments with same name. - - Returns - ------- - snap_dir (str): path to where the code has been copied. - """ - if len(code_path) > 0: - snap_dir = pathlib.Path(code_path) - else: - snap_dir = pathlib.Path.cwd() - snap_dir /= str_time - snap_dir /= f'{experiment}' - snap_dir.mkdir(exist_ok=True, parents=True) - - def copy_dir(dir, pat): - dst_dir = snap_dir / 'code' / dir - dst_dir.mkdir(exist_ok=True, parents=True) - for f in (src_dir / dir).glob(pat): - shutil.copy(f, dst_dir / f.name) - - dirs_to_copy = [ - '.', './cfgs/', './examples/', './cfgs/algorithm', './envs/', - './nocturne_utils/', './python/', './scenarios/', './build' - ] - src_dir = pathlib.Path(PROJECT_PATH) - for dir in dirs_to_copy: - copy_dir(dir, '*.py') - copy_dir(dir, '*.yaml') - - return snap_dir - - -def main(): - """Launch experiments on SLURM cluster by overriding Hydra config.""" - username = os.environ["USER"] - parser = argparse.ArgumentParser() - parser.add_argument('experiment', type=str) - parser.add_argument( - '--code_path', - default=f'/checkpoint/{username}/nocturne/sample_factory_runs') - parser.add_argument('--dry', action='store_true') - args = parser.parse_args() - - now = datetime.now() - str_time = now.strftime('%Y.%m.%d_%H%M%S') - snap_dir = make_code_snap(args.experiment, args.code_path, str_time) - overrides = Overrides() - overrides.add('hydra/launcher', ['ray']) - overrides.add('hydra.launcher.partition', ['learnlab']) - - cmd = [ - 'python', - str(snap_dir / 'code' / 'examples' / 'run_rllib.py'), '-m' - ] - cmd += overrides.cmd() - print(cmd) - - if args.dry: - print(' '.join(cmd)) - else: - env = os.environ.copy() - env['PYTHONPATH'] = str(snap_dir / 'code') - p = Popen(cmd, env=env) - p.communicate() - - -if __name__ == '__main__': - main() diff --git a/scripts/cluster_scripts/run_sample_factory_cluster.py b/scripts/cluster_scripts/run_sample_factory_cluster.py deleted file mode 100644 index a313be12..00000000 --- a/scripts/cluster_scripts/run_sample_factory_cluster.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run sample factory experiments on a SLURM cluster.""" -import argparse -import os -import pathlib -import shutil -from datetime import datetime -from subprocess import Popen - -from cfgs.config import PROJECT_PATH -from scripts.cluster_scripts.utils import Overrides - - -def make_code_snap(experiment, code_path, str_time): - """Copy code to directory to ensure that the run launches with correct commit. - - Args: - experiment (str): Name of experiment - code_path (str): Path to where we are saving the code. - str_time (str): Unique time identifier used to distinguish - experiments with same name. - - Returns - ------- - snap_dir (str): path to where the code has been copied. - """ - if len(code_path) > 0: - snap_dir = pathlib.Path(code_path) - else: - snap_dir = pathlib.Path.cwd() - snap_dir /= str_time - snap_dir /= f'{experiment}' - snap_dir.mkdir(exist_ok=True, parents=True) - - def copy_dir(dir, pat): - dst_dir = snap_dir / 'code' / dir - dst_dir.mkdir(exist_ok=True, parents=True) - for f in (src_dir / dir).glob(pat): - shutil.copy(f, dst_dir / f.name) - - dirs_to_copy = [ - '.', './cfgs/', './examples/', './examples/sample_factory_files', - './cfgs/algorithm', './nocturne/envs/', './nocturne_utils/', - './nocturne/python/', './scenarios/', './build' - ] - src_dir = pathlib.Path(PROJECT_PATH) - for dir in dirs_to_copy: - copy_dir(dir, '*.py') - copy_dir(dir, '*.yaml') - - return snap_dir - - -def main(): - """Launch experiments on SLURM cluster by overriding Hydra config.""" - parser = argparse.ArgumentParser() - parser.add_argument('experiment', type=str) - parser.add_argument( - '--code_path', - default='/checkpoint/eugenevinitsky/nocturne/sample_factory_runs') - parser.add_argument('--dry', action='store_true') - args = parser.parse_args() - - now = datetime.now() - str_time = now.strftime('%Y.%m.%d_%H%M%S') - snap_dir = make_code_snap(args.experiment, args.code_path, str_time) - overrides = Overrides() - overrides.add('hydra/launcher', ['submitit_slurm']) - overrides.add('hydra.launcher.partition', ['learnlab']) - overrides.add('experiment', [args.experiment]) - overrides.add('num_files', [10000]) - overrides.add('seed', [0, 1, 2, 3, 4]) - overrides.add('scenario.max_visible_road_points', [500]) - overrides.add('rew_cfg.collision_penalty', [0, -80.0]) - - cmd = [ - 'python', - str(snap_dir / 'code' / 'examples' / 'sample_factory_files' / - 'run_sample_factory.py'), '-m', 'algorithm=APPO' - ] - print(cmd) - cmd += overrides.cmd() - - if args.dry: - print(' '.join(cmd)) - else: - env = os.environ.copy() - env['PYTHONPATH'] = str(snap_dir / 'code') - p = Popen(cmd, env=env) - p.communicate() - - -if __name__ == '__main__': - main() diff --git a/scripts/cluster_scripts/utils.py b/scripts/cluster_scripts/utils.py deleted file mode 100644 index 21be3246..00000000 --- a/scripts/cluster_scripts/utils.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Storage for SLURM running utilities.""" - - -class Overrides(object): - """Utility class used to convert commands into a bash runnable string.""" - - def __init__(self): - """Initialize class.""" - self.kvs = dict() - - def add(self, key, values): - """Add each of the desired key value pairs into a dict.""" - value = ','.join(str(v) for v in values) - assert key not in self.kvs - self.kvs[key] = value - - def cmd(self): - """Append the keys together into a command that can be run.""" - cmd = [] - for k, v in self.kvs.items(): - cmd.append(f'{k}={v}') - return cmd From ebe4bf00977ad2cc21b209ac068e1ca37f0cf40d Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Mon, 2 Oct 2023 19:47:14 +0200 Subject: [PATCH 06/40] Clean-up: Added poetry for package management --- .gitignore | 6 +++++ setup.py => build.py | 34 +++++++----------------- environment.yml | 27 +------------------ nocturne/__init__.py | 7 ----- pyproject.toml | 51 +++++++++++++++++++++++++++++++++++ setup.cfg | 63 -------------------------------------------- 6 files changed, 67 insertions(+), 121 deletions(-) rename setup.py => build.py (74%) create mode 100644 pyproject.toml delete mode 100644 setup.cfg diff --git a/.gitignore b/.gitignore index c6335cf4..216c8af1 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,9 @@ dataset/ # configs configs.json + +# pyenv +.python-version + +# poetry +poetry.lock \ No newline at end of file diff --git a/setup.py b/build.py similarity index 74% rename from setup.py rename to build.py index 4863ae61..e382edfe 100644 --- a/setup.py +++ b/build.py @@ -1,9 +1,4 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. - -"""Run via ```python setup.py develop``` to install Nocturne in your environment.""" +from pybind11.setup_helpers import build_ext, Pybind11Extension import logging import multiprocessing import os @@ -12,18 +7,13 @@ import sys from distutils.version import LooseVersion -from setuptools import Extension, setup -from setuptools.command.build_ext import build_ext - -# Reference: -# https://www.benjack.io/2017/06/12/python-cpp-tests.html -class CMakeExtension(Extension): +class CMakeExtension(Pybind11Extension): """Use CMake to construct the Nocturne extension.""" def __init__(self, name, src_dir=""): - Extension.__init__(self, name, sources=[]) + Pybind11Extension.__init__(self, name, sources=[]) self.src_dir = os.path.abspath(src_dir) @@ -87,15 +77,9 @@ def build_extension(self, ext): print() # Add an empty line for cleaner output -def main(): - """Build the C++ code.""" - # with open("./requirements.txt", "r") as f: - # requires = f.read().splitlines() - setup( - ext_modules=[CMakeExtension("nocturne", "./nocturne")], - cmdclass=dict(build_ext=CMakeBuild), - ) - - -if __name__ == "__main__": - main() +def build(setup_kwargs): + setup_kwargs.update({ + "ext_modules": [CMakeExtension("nocturne", "./nocturne")], + "cmdclass": {"build_ext": CMakeBuild}, + "zip_safe": False, + }) diff --git a/environment.yml b/environment.yml index b9e7ae19..33dc0588 100644 --- a/environment.yml +++ b/environment.yml @@ -2,29 +2,4 @@ name: nocturne channels: - defaults dependencies: - - python=3.8 - - pip=21.1.3 - - numpy=1.19.2 - - jupyterlab=3.0.14 - - pip: - - hydra-core==1.1.0 - - hydra-submitit-launcher==1.1.5 - - ipdb==0.13.9 - - seaborn - - imageio==2.10.1 - - moviepy==1.0.3 - - opencv-python==4.5.5.64 - - gym==0.20.0 - - wandb==0.12.15 - - imageio==2.10.1 - - setproctitle==1.2.3 - - tensorboardX==2.5 - - pytest==7.1.1 - - flake8==4.0.1 - - pydocstyle==6.1.1 - - pyvirtualdisplay - - ray==1.11.0 - - dm-tree - - tabulate - - torch - - sample-factory==1.123.0 \ No newline at end of file + - python=3.10 diff --git a/nocturne/__init__.py b/nocturne/__init__.py index 9aeaf2bd..c4db0c62 100644 --- a/nocturne/__init__.py +++ b/nocturne/__init__.py @@ -22,10 +22,3 @@ "Cyclist", "envs", ] - -import os -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROCESSED_VALID_NO_TL, PROJECT_PATH - -os.environ["PROCESSED_TRAIN_NO_TL"] = str(PROCESSED_TRAIN_NO_TL) -os.environ["PROCESSED_VALID_NO_TL"] = str(PROCESSED_VALID_NO_TL) -os.environ["NOCTURNE_LOG_DIR"] = str(os.path.join(PROJECT_PATH, 'logs')) diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..0bfdb060 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,51 @@ +[tool.poetry] +name = "nocturne" +version = "0.0.1" +description = "A data-driven, fast driving simulator for multi-agent coordination under partial observability." +authors = [ + "Nathan Lichtlé ", + "Eugene Vinitsky ", + "Xiaomeng Yang ", +] +maintainers = [ + "Daphne Cornelisse ", + "Eugene Vinitsky " +] +homepage = "https://github.com/Emerge-Lab/nocturne" +repository = "https://github.com/Emerge-Lab/nocturne" +documentation = "https://nocturne.readthedocs.io/" +license = "MIT" +readme = "README.md" +keywords = ["Driving", "Simulation", "Autonomous Vehicles", "Waymo", "Reinforcement Learning"] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Utilities", + "Programming Language :: C++", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: C++", + "Topic :: Software Development :: Libraries :: Python Modules", +] + +[tool.poetry.dependencies] +python = ">=3.10,<3.13" +numpy = "^1.26.0" +torch = "^2.0.1" +gym = "^0.26.2" +pybind11 = "^2.11.1" + +[tool.poetry.group.dev.dependencies] +pre-commit = "^3.4.0" + +[tool.poetry.build] +script = "build.py" +generate-setup-file = true + +[build-system] +requires = ["poetry-core", "pybind11>=2.11.1", "setuptools>=68.2.2"] +build-backend = "poetry.core.masonry.api" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index d8306bef..00000000 --- a/setup.cfg +++ /dev/null @@ -1,63 +0,0 @@ -[metadata] -name = nocturne -version = 0.0.1 -description = A data-driven, fast driving simulator for multi-agent coordination under partial observability. -long_description = file: README.rst # todo -author = Nathan Lichtle, Eugene Vinitsky, and Xiaomeng Yang -author_email = nathan.lichtle@berkeley, ... # todo -url = https://github.com/facebookresearch/nocturne/ -license = MIT - -classifiers = # todo - Development Status :: 5 - Production/Stable - Intended Audience :: Developers - Topic :: Software Development :: Libraries :: Python Modules - Topic :: Utilities - Programming Language :: C++ - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - License :: OSI Approved :: BSD License - Programming Language :: Python :: Implementation :: PyPy - Programming Language :: Python :: Implementation :: CPython - Programming Language :: C++ - Topic :: Software Development :: Libraries :: Python Modules - -keywords = - Driving - Simulation - Autonomous Vehicles - Waymo - Reinforcement Learning - -# todo -project_urls = - Documentation = https://nocturne.readthedocs.io/ - Bug Tracker = https://github.com/fb/nocturne/issues - Discussions = https://github.com/fb/nocturne/discussions - Changelog = https://nocturne.readthedocs.io/en/latest/changelog.html - Chat = https://gitter.im/nocturne/Lobby - -[options] -zip_safe = False -python_requires = >=3.8 - -[tool:pytest] -minversion = 6.0 -addopts = -ra -q -testpaths = - tests - -[flake8] -max-line-length = 120 -show_source = True -exclude = .git, __pycache__, build, docs, _deps, third_party, algos, nocturne/envs/__init__.py, examples/nocturne_functions.py - -[pydocstyle] -inherit = false -match = .*\.py -match_dir = ^(?!.git|__pycache__|build|docs|_deps|third_party|algos).* -convention = numpy From 4f21f939eb68b80c92754dbdcb631e3e7bd37620 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Mon, 2 Oct 2023 22:15:24 +0200 Subject: [PATCH 07/40] Feature: Added pre-commit with Python, yaml, toml, poetry, docs, and json utilities --- .pre-commit-config.yaml | 62 +++++++++++++++++++++++++++++++++++++++++ build.py | 1 + pyproject.toml | 61 +++++++++++++++++++++++++++++----------- requirements.dev.txt | 27 ++++++++++++++++++ requirements.txt | 13 +++++++++ 5 files changed, 147 insertions(+), 17 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 requirements.dev.txt create mode 100644 requirements.txt diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..6ed90acc --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,62 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: sort-simple-yaml + - id: check-json + - id: check-merge-conflict + - id: check-symlinks + - id: debug-statements + - id: requirements-txt-fixer + - id: check-added-large-files +- repo: https://github.com/python-poetry/poetry + rev: 1.6.0 + hooks: + - id: poetry-check + - id: poetry-lock + - id: poetry-export + name: poetry-export-requirements + args: [--without-hashes, --only, main, -f, requirements.txt, -o, requirements.txt] + - id: poetry-export + name: poetry-export-requirements-dev + args: [--without-hashes, --only, dev, -f, requirements.txt, -o, requirements.dev.txt] + # - id: poetry-publish +- repo: https://github.com/psf/black + rev: 23.9.1 + hooks: + - id: black + args: [--line-length, '120'] +- repo: https://github.com/PyCQA/isort + rev: 5.12.0 + hooks: + - id: isort +- repo: https://github.com/PyCQA/flake8 + rev: 6.1.0 + hooks: + - id: flake8 + args: [--max-line-length=120, --extend-ignore=E203] +- repo: https://github.com/PyCQA/pydocstyle + rev: 6.3.0 + hooks: + - id: pydocstyle + args: [--convention=numpy] + additional_dependencies: [tomli] +- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks + rev: v2.10.0 + hooks: + - id: pretty-format-toml + args: [--autofix, --no-sort] + - id: pretty-format-yaml + args: [--autofix] +- repo: local + hooks: + - id: pylint + name: pylint + entry: poetry run pylint + language: system + types: [python] diff --git a/build.py b/build.py index e382edfe..43af0ae5 100644 --- a/build.py +++ b/build.py @@ -8,6 +8,7 @@ from distutils.version import LooseVersion +logging.basicConfig(level=logging.INFO) class CMakeExtension(Pybind11Extension): """Use CMake to construct the Nocturne extension.""" diff --git a/pyproject.toml b/pyproject.toml index 0bfdb060..72532877 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,13 +3,13 @@ name = "nocturne" version = "0.0.1" description = "A data-driven, fast driving simulator for multi-agent coordination under partial observability." authors = [ - "Nathan Lichtlé ", - "Eugene Vinitsky ", - "Xiaomeng Yang ", + "Nathan Lichtlé ", + "Eugene Vinitsky ", + "Xiaomeng Yang " ] maintainers = [ - "Daphne Cornelisse ", - "Eugene Vinitsky " + "Daphne Cornelisse ", + "Eugene Vinitsky " ] homepage = "https://github.com/Emerge-Lab/nocturne" repository = "https://github.com/Emerge-Lab/nocturne" @@ -18,20 +18,26 @@ license = "MIT" readme = "README.md" keywords = ["Driving", "Simulation", "Autonomous Vehicles", "Waymo", "Reinforcement Learning"] classifiers = [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: Utilities", - "Programming Language :: C++", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", - "License :: OSI Approved :: BSD License", - "Programming Language :: Python :: Implementation :: PyPy", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: C++", - "Topic :: Software Development :: Libraries :: Python Modules", + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Utilities", + "Programming Language :: C++", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.10", + "License :: OSI Approved :: BSD License", + "Programming Language :: Python :: Implementation :: PyPy", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: C++", + "Topic :: Software Development :: Libraries :: Python Modules" ] +[tool.poetry.urls] +"Bug Tracker" = "https://github.com/Emerge-Lab/nocturne/issues" +"Discussions" = "https://github.com/Emerge-Lab/nocturne/discussions" +"Changelog" = "https://nocturne.readthedocs.io/en/latest/changelog.html" +"Chat" = "https://gitter.im/nocturne/Lobby" + [tool.poetry.dependencies] python = ">=3.10,<3.13" numpy = "^1.26.0" @@ -41,11 +47,32 @@ pybind11 = "^2.11.1" [tool.poetry.group.dev.dependencies] pre-commit = "^3.4.0" +flake8 = "^6.1.0" +black = "^23.9.1" +isort = "^5.12.0" +pylint = "^3.0.0" +tomli = "^2.0.1" [tool.poetry.build] script = "build.py" generate-setup-file = true +[tool.black] +line-length = 120 + +[tool.flake8] +max-line-length = 120 +extend-ignore = "E203" + +[tool.pydocstyle] +convention = "google" + +[tool.pylint] +max-line-length = 120 + +[tool.isort] +profile = "black" + [build-system] requires = ["poetry-core", "pybind11>=2.11.1", "setuptools>=68.2.2"] build-backend = "poetry.core.masonry.api" diff --git a/requirements.dev.txt b/requirements.dev.txt new file mode 100644 index 00000000..149e21d4 --- /dev/null +++ b/requirements.dev.txt @@ -0,0 +1,27 @@ +astroid==3.0.0 ; python_version >= "3.10" and python_version < "3.13" +black==23.9.1 ; python_version >= "3.10" and python_version < "3.13" +cfgv==3.4.0 ; python_version >= "3.10" and python_version < "3.13" +click==8.1.7 ; python_version >= "3.10" and python_version < "3.13" +colorama==0.4.6 ; python_version >= "3.10" and python_version < "3.13" and (sys_platform == "win32" or platform_system == "Windows") +dill==0.3.7 ; python_version >= "3.10" and python_version < "3.13" +distlib==0.3.7 ; python_version >= "3.10" and python_version < "3.13" +filelock==3.12.4 ; python_version >= "3.10" and python_version < "3.13" +flake8==6.1.0 ; python_version >= "3.10" and python_version < "3.13" +identify==2.5.30 ; python_version >= "3.10" and python_version < "3.13" +isort==5.12.0 ; python_version >= "3.10" and python_version < "3.13" +mccabe==0.7.0 ; python_version >= "3.10" and python_version < "3.13" +mypy-extensions==1.0.0 ; python_version >= "3.10" and python_version < "3.13" +nodeenv==1.8.0 ; python_version >= "3.10" and python_version < "3.13" +packaging==23.2 ; python_version >= "3.10" and python_version < "3.13" +pathspec==0.11.2 ; python_version >= "3.10" and python_version < "3.13" +platformdirs==3.11.0 ; python_version >= "3.10" and python_version < "3.13" +pre-commit==3.4.0 ; python_version >= "3.10" and python_version < "3.13" +pycodestyle==2.11.0 ; python_version >= "3.10" and python_version < "3.13" +pyflakes==3.1.0 ; python_version >= "3.10" and python_version < "3.13" +pylint==3.0.0 ; python_version >= "3.10" and python_version < "3.13" +pyyaml==6.0.1 ; python_version >= "3.10" and python_version < "3.13" +setuptools==68.2.2 ; python_version >= "3.10" and python_version < "3.13" +tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" +tomlkit==0.12.1 ; python_version >= "3.10" and python_version < "3.13" +typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.11" +virtualenv==20.24.5 ; python_version >= "3.10" and python_version < "3.13" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..4bbef33e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,13 @@ +cloudpickle==2.2.1 ; python_version >= "3.10" and python_version < "3.13" +filelock==3.12.4 ; python_version >= "3.10" and python_version < "3.13" +gym==0.26.2 ; python_version >= "3.10" and python_version < "3.13" +gym-notices==0.0.8 ; python_version >= "3.10" and python_version < "3.13" +jinja2==3.1.2 ; python_version >= "3.10" and python_version < "3.13" +markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "3.13" +mpmath==1.3.0 ; python_version >= "3.10" and python_version < "3.13" +networkx==3.1 ; python_version >= "3.10" and python_version < "3.13" +numpy==1.26.0 ; python_version >= "3.10" and python_version < "3.13" +pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" +sympy==1.12 ; python_version >= "3.10" and python_version < "3.13" +torch==2.0.1 ; python_version >= "3.10" and python_version < "3.13" +typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.13" From 2ad040437ac84e807a8478b1f971e424bc54fa44 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Tue, 3 Oct 2023 13:48:21 +0200 Subject: [PATCH 08/40] Fix: Moved poetry export pre-commit to local hook as official hook has bugs --- .pre-commit-config.yaml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6ed90acc..26fa4519 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,25 +6,17 @@ repos: hooks: - id: trailing-whitespace - id: end-of-file-fixer - - id: check-yaml - id: sort-simple-yaml - id: check-json - id: check-merge-conflict - id: check-symlinks - id: debug-statements - - id: requirements-txt-fixer - id: check-added-large-files - repo: https://github.com/python-poetry/poetry rev: 1.6.0 hooks: - id: poetry-check - id: poetry-lock - - id: poetry-export - name: poetry-export-requirements - args: [--without-hashes, --only, main, -f, requirements.txt, -o, requirements.txt] - - id: poetry-export - name: poetry-export-requirements-dev - args: [--without-hashes, --only, dev, -f, requirements.txt, -o, requirements.dev.txt] # - id: poetry-publish - repo: https://github.com/psf/black rev: 23.9.1 @@ -60,3 +52,21 @@ repos: entry: poetry run pylint language: system types: [python] + - id: poetry-export-requirements + name: poetry-export-requirements + entry: poetry export --without-hashes --only main -f requirements.txt -o requirements.txt + language: system + types: [python] + pass_filenames: false + - id: poetry-export-requirements-dev + name: poetry-export-requirements-dev + entry: poetry export --without-hashes --only dev -f requirements.txt -o requirements.dev.txt + language: system + types: [python] + pass_filenames: false + - id: poetry-export-requirements-docs + name: poetry-export-requirements-docs + entry: poetry export --without-hashes --only docs -f requirements.txt -o requirements.docs.txt + language: system + types: [python] + pass_filenames: false From dcad90848c285497f0c53fef30df1bc540ca0bcc Mon Sep 17 00:00:00 2001 From: Daphne Date: Tue, 3 Oct 2023 11:31:15 -0400 Subject: [PATCH 09/40] add data path to env_config --- configs/env_config.yaml | 96 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 configs/env_config.yaml diff --git a/configs/env_config.yaml b/configs/env_config.yaml new file mode 100644 index 00000000..ec494259 --- /dev/null +++ b/configs/env_config.yaml @@ -0,0 +1,96 @@ +seed: 0 +device: 'cuda:0' +debug: False +experiment: intersection +env: my_custom_multi_env_v1 # name of the env, hardcoded for now + +# one of the agents will be randomly tagged as the +# agent that we control, the rest of the agents will +# replay trajectories +single_agent_mode: True +# all goals are achievable within 90 steps +episode_length: 80 +# how many files of the total dataset to use. -1 indicates to use all of them +num_files: 5 +dt: 0.1 +sims_per_step: 10 +img_as_state: False +discretize_actions: True +include_head_angle: False # Whether to include the head tilt/angle as part of a vehicle's action +accel_discretization: 5 +accel_lower_bound: -2 +accel_upper_bound: 2 +steering_lower_bound: -0.25 # corresponds to about 40 degrees of max steering angle +steering_upper_bound: 0.25 # corresponds to about 40 degrees of max steering angle +steering_discretization: 5 +max_num_vehicles: 20 +randomize_goals: False +scenario: + # initial timestep of the scenario (which ranges from timesteps 0 to 90) + start_time: 0 + # if set to True, non-vehicle objects (eg. cyclists, pedestrians...) will be spawned + allow_non_vehicles: False + # for an object to be included into moving_objects + moving_threshold: 0.2 # its goal must be at least this distance from its initial position + speed_threshold: 0.05 # its speed must be superior to this value at some point + # maximum number of each objects visible in the object state + # if there are more objects, the closest ones are prioritized + # if there are less objects, the features vector is padded with zeros + #max_visible_objects: 16 + max_visible_road_points: 500 + #max_visible_traffic_lights: 20 + #max_visible_stop_signs: 4 + # from the set of road points that comprise each polyline, we take + # every n-th one of these + sample_every_n: 1 + # if true we add all the road-edges (the edges you can collide with) + # to the visible road points first and only add the other points + # (road lines, lane lines) etc. if we have remaining states after + road_edge_first: False + +# these configs are mostly used for aligning displacement error computations +# with the standard way of doing it in other libraries i.e. we keep +# the agent for the whole rollout and compute its distance from the expert +# at all the points that the expert is valid +remove_at_goal: True # if true, remove the agent when it reaches its goal +remove_at_collide: True # if true, remove the agent when it collides + +# Reward settings +rew_cfg: + shared_reward: False # agents get the collective reward instead of individual rewards + goal_tolerance: 0.5 + reward_scaling: 10.0 # rescale all the rewards by this value. This can help w/ some learning algorithms + collision_penalty: 0 + shaped_goal_distance_scaling: 0.2 + shaped_goal_distance: True + goal_distance_penalty: False # if shaped_goal_distance is true, then when this is True the goal distance + # is a penalty for being far from + # goal instead of a reward for being close + goal_achieved_bonus: 80 + position_target: True # If True, goal is only achieved if you're within this tolerance on distance from goal + position_target_tolerance: 1.0 + speed_target: True # If True, goal is only achieved if you're within this tolerance on final agent speed at goal position + speed_target_tolerance: 1.0 + heading_target: False # If True, goal is only achieved if you're within this tolerance on final agent heading at goal position + heading_target_tolerance: 0.3 + +# Agent settings +subscriber: + view_angle: 3.14 # the distance which the cone extends before agents are not visible; set to pi rad to correct for missing head angle + view_dist: 80 + use_ego_state: True # if True, add information about the ego state + use_observations: False # if True, add visible field + use_start_position: False # if True, add start (x, y)-position of the agent + use_current_position: False # if True, add current (x, y)-position of the agent + use_target_position: False # if True, add target (x, y)-position of the agent + use_distance_to_target: False # if True, add distance to target (dx, dy) of the agent + + # if true, we return an observation for agents that have exited the system + # as well as returning an observation for the extra agents if the number of + # agents in the system is less than max_num_vehicles + keep_inactive_agents: False + # for values greater than 1, we will stack inputs together (i.e. memory and equivalent of n_stacked_states) + n_frames_stacked: 1 # Agent memory + +# Path to folder with traffic scene(s) from which to create an environment +data_path: ./data \ No newline at end of file From dee29f9a0e96d290f2cab6e25fef5f4a790c2f08 Mon Sep 17 00:00:00 2001 From: Daphne Date: Tue, 3 Oct 2023 11:34:07 -0400 Subject: [PATCH 10/40] basic rl usage example --- cfgs/config.py | 52 --- data/valid_files.json | 3 + examples/03_basic_rl_usage.ipynb | 170 ++++++++++ nocturne/envs/base_env.py | 556 +++++++++++++++++-------------- pyproject.toml | 4 + 5 files changed, 488 insertions(+), 297 deletions(-) delete mode 100644 cfgs/config.py create mode 100644 data/valid_files.json create mode 100644 examples/03_basic_rl_usage.ipynb diff --git a/cfgs/config.py b/cfgs/config.py deleted file mode 100644 index f759c9af..00000000 --- a/cfgs/config.py +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Set path to all the Waymo data and the parsed Waymo files.""" -import os -from pathlib import Path - -from hydra import compose, initialize -from hydra.core.global_hydra import GlobalHydra -from omegaconf import OmegaConf -from pyvirtualdisplay import Display - -VERSION_NUMBER = 2 - -PROJECT_PATH = Path.resolve(Path(__file__).parent.parent) -DATA_FOLDER = '/checkpoint/eugenevinitsky/waymo_open/motion_v1p1/uncompressed/scenario/' -TRAIN_DATA_PATH = os.path.join(DATA_FOLDER, 'training') -VALID_DATA_PATH = os.path.join(DATA_FOLDER, 'validation') -TEST_DATA_PATH = os.path.join(DATA_FOLDER, 'testing') -PROCESSED_TRAIN_NO_TL = os.path.join( - DATA_FOLDER, f'formatted_json_v{VERSION_NUMBER}_no_tl_train') -PROCESSED_VALID_NO_TL = os.path.join( - DATA_FOLDER, f'formatted_json_v{VERSION_NUMBER}_no_tl_valid') -PROCESSED_TRAIN = os.path.join(DATA_FOLDER, - f'formatted_json_v{VERSION_NUMBER}_train') -PROCESSED_VALID = os.path.join(DATA_FOLDER, - f'formatted_json_v{VERSION_NUMBER}_valid') -ERR_VAL = -1e4 - - -def get_scenario_dict(hydra_cfg): - """Convert the `scenario` key in the hydra config to a true dict.""" - if isinstance(hydra_cfg['scenario'], dict): - return hydra_cfg['scenario'] - else: - return OmegaConf.to_container(hydra_cfg['scenario'], resolve=True) - - -def get_default_scenario_dict(): - """Construct the `scenario` dict without w/o hydra decorator.""" - GlobalHydra.instance().clear() - initialize(config_path="./") - cfg = compose(config_name="config") - return get_scenario_dict(cfg) - - -def set_display_window(): - """Set a virtual display for headless machines.""" - if "DISPLAY" not in os.environ: - disp = Display() - disp.start() diff --git a/data/valid_files.json b/data/valid_files.json new file mode 100644 index 00000000..7698869b --- /dev/null +++ b/data/valid_files.json @@ -0,0 +1,3 @@ +{ + "example_scenario.json": [] +} diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb new file mode 100644 index 00000000..0a4ccc98 --- /dev/null +++ b/examples/03_basic_rl_usage.ipynb @@ -0,0 +1,170 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Basic RL usage\n", + "\n", + "- ..\n", + "- our basic environment configurations are specified in the env_config yaml file." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from importlib import reload\n", + "import yaml\n", + "import logging\n", + "\n", + "logging.basicConfig(level=logging.INFO)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Initializing environments\n", + "\n", + "Initializing an environment can be done with the `BaseEnv` class. This class uses the Nocturne simulator under the hood to create a basic RL interface based on a given traffic scenario (e.g. `example_scenario.json`).\n", + "\n", + "Note:\n", + "\n", + "---\n", + "> ⚠️ The `env_config.yaml` file defines the action space, observation space, traffic scenarios we want to use, and more.\n", + "---\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from nocturne.envs.base_env import BaseEnv\n", + "\n", + "# Load environment settings\n", + "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", + " env_config = yaml.safe_load(stream)\n", + "\n", + "# Make environment\n", + "env = BaseEnv(\n", + " config=env_config,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Interacting with the environment\n", + "\n", + "The classic agent-environment loop of reinforcement learning is implemented as follows:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Reset\n", + "obs_dict = env.reset()\n", + "agent_ids = [agent_id for agent_id in obs_dict.keys()]\n", + "dead_agent_ids = []\n", + "num_agents = len(agent_ids)\n", + "\n", + "for step in range(100):\n", + "\n", + " # Sample actions\n", + " action_dict = {\n", + " agent_id: env.action_space.sample() \n", + " for agent_id in enumerate(agent_ids)\n", + " if agent_id not in dead_agent_ids\n", + " }\n", + "\n", + " # Step in env\n", + " obs_dict, rew_dict, done_dict, info_dict = env.step(action_dict)\n", + "\n", + " # Update dead agents\n", + " for agent_id, is_done in done_dict.items():\n", + " if is_done and agent_id not in dead_agent_ids:\n", + " dead_agent_ids.append(agent_id)\n", + "\n", + " # Reset if all agents are done\n", + " if done_dict[\"__all__\"]:\n", + " obs_dict = env.reset()\n", + " dead_agent_ids = []\n", + "\n", + "env.close()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "---\n", + "> ⚠️ The default env returns dictionaries \n", + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Accessing information about the environment" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.observation_space\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.action_space\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### \n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index 85ec0684..95a15008 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -2,114 +2,128 @@ # # This source code is licensed under the MIT license found in the # LICENSE file in the root directory of this source tree. -"""Default environment for Nocturne.""" -from typing import Any, Dict, Sequence, Union +"""Default Nocturne env with minor adaptations.""" -from collections import defaultdict, deque -from itertools import islice import json +import logging import os +from collections import defaultdict, deque +from itertools import islice +from typing import Any, Dict, Sequence, Union -from gym import Env -from gym.spaces import Box, Discrete import numpy as np import torch - -from cfgs.config import ERR_VAL as INVALID_POSITION, get_scenario_dict +from gym import Env +from gym.spaces import Box, Discrete from nocturne import Action, Simulation +logging.getLogger(__name__) class BaseEnv(Env): - """Default environment for Nocturne.""" - def __init__(self, cfg: Dict[str, Any], rank: int = 0) -> None: - """Initialize the environment. + def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: + """Initialize a Nocturne environment. Args ---- - cfg (dict): configuration file describing the experiment + config (dict): configuration file for the environment. + data_path (str): path to the data directory with traffic scenes. rank (int, optional): [description]. Defaults to 0. """ super().__init__() - self.cfg = cfg - with open(os.path.join(cfg['scenario_path'], - 'valid_files.json')) as file: + self.config = config + + # Path to traffic scene(s) to use + self._data_path = self.config["data_path"] + + # Load the list of valid files + with open(os.path.join(self._data_path, "valid_files.json")) as file: self.valid_veh_dict = json.load(file) self.files = list(self.valid_veh_dict.keys()) # sort the files so that we have a consistent order self.files = sorted(self.files) - if cfg['num_files'] != -1: - self.files = self.files[0:cfg['num_files']] - self.file = self.files[np.random.randint(len(self.files))] - self.simulation = Simulation(os.path.join(cfg['scenario_path'], - self.file), - config=get_scenario_dict(cfg)) - + if self.config["num_files"] != -1: + self.files = self.files[: self.config["num_files"]] + self.file = ( + self.config["scene"] + if "scene" in self.config and self.config["scene"] is not None + else self.files[np.random.randint(len(self.files))] + ) + self.simulation = Simulation( + os.path.join(self._data_path, self.file), + config=self.config["scenario"], + ) self.scenario = self.simulation.getScenario() self.controlled_vehicles = self.scenario.getObjectsThatMoved() - self.cfg = cfg - self.n_frames_stacked = self.cfg['subscriber'].get( - 'n_frames_stacked', 1) + self._invalid_position = float(-1e4) + + self.start_positions = { + veh_obj.id: np.array([veh_obj.position.x, veh_obj.position.y]) + for veh_obj in self.controlled_vehicles + } + self.n_frames_stacked = self.config["subscriber"].get("n_frames_stacked", 1) if self.n_frames_stacked > 1: - print( - 'WARNING: you are frame stacking and may want to turn off recurrence if it is enabled\ - in your agent as frame-stacking may not be needed when using recurrent policies.' + logging.warning( + "Frame stacking is enabled. Note that this is not required for " + "recurrent policies." ) - self.single_agent_mode = cfg['single_agent_mode'] - self.seed(cfg['seed']) - self.episode_length = cfg['episode_length'] + self.max_num_vehicles = self.config["max_num_vehicles"] + self.single_agent_mode = self.config["single_agent_mode"] + if self.single_agent_mode: + self.max_num_vehicles = 1 + self.seed(self.config["seed"]) + self.episode_length = self.config["episode_length"] self.t = 0 self.step_num = 0 self.rank = rank - self.seed(cfg['seed']) obs_dict = self.reset() - self.observation_space = Box(low=-np.infty, - high=np.infty, - shape=(obs_dict[list( - obs_dict.keys())[0]].shape[0], )) - if self.cfg['discretize_actions']: - self.accel_discretization = self.cfg['accel_discretization'] - self.steering_discretization = self.cfg['steering_discretization'] - self.head_angle_discretization = self.cfg[ - 'head_angle_discretization'] - self.action_space = Discrete(self.accel_discretization * - self.steering_discretization * - self.head_angle_discretization) + self.observation_space = Box( + low=-np.infty, + high=np.infty, + shape=(obs_dict[list(obs_dict.keys())[0]].shape[0],), + ) + if self.config["discretize_actions"]: + self.accel_discretization = self.config["accel_discretization"] + self.steering_discretization = self.config["steering_discretization"] + self.action_space = Discrete( + self.accel_discretization * self.steering_discretization + ) self.accel_grid = np.linspace( - -np.abs(self.cfg['accel_lower_bound']), - self.cfg['accel_upper_bound'], self.accel_discretization) + -np.abs(self.config["accel_lower_bound"]), + self.config["accel_upper_bound"], + self.accel_discretization, + ) self.steering_grid = np.linspace( - -np.abs(self.cfg['steering_lower_bound']), - self.cfg['steering_upper_bound'], self.steering_discretization) - self.head_angle_grid = np.linspace( - -np.abs(self.cfg['head_angle_lower_bound']), - self.cfg['head_angle_upper_bound'], - self.head_angle_discretization) + -np.abs(self.config["steering_lower_bound"]), + self.config["steering_upper_bound"], + self.steering_discretization, + ) + # compute the indexing only once self.idx_to_actions = {} i = 0 for accel in self.accel_grid: for steer in self.steering_grid: - for head_angle in self.head_angle_grid: - self.idx_to_actions[i] = [accel, steer, head_angle] - i += 1 + self.idx_to_actions[i] = [accel, steer] + i += 1 else: self.action_space = Box( - low=-np.array([ - np.abs(self.cfg['accel_lower_bound']), - self.cfg['steering_lower_bound'], - self.cfg['head_angle_lower_bound'] - ]), - high=np.array([ - np.abs(self.cfg['accel_upper_bound']), - self.cfg['steering_upper_bound'], - self.cfg['head_angle_upper_bound'] - ]), + low=-np.array( + [ + np.abs(self.config["accel_lower_bound"]), + self.config["steering_lower_bound"], + ] + ), + high=np.array( + [ + np.abs(self.config["accel_upper_bound"]), + self.config["steering_upper_bound"], + ] + ), ) def apply_actions( - self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], - int]] + self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]] ) -> None: """Apply a dict of actions to the vehicle objects.""" for veh_obj in self.scenario.getObjectsThatMoved(): @@ -117,7 +131,6 @@ def apply_actions( if action is None: continue - # TODO: Make this a util function. if isinstance(action, Action): veh_obj.apply_action(action) elif isinstance(action, np.ndarray): @@ -125,26 +138,23 @@ def apply_actions( elif isinstance(action, (tuple, list)): veh_obj.acceleration = action[0] veh_obj.steering = action[1] - veh_obj.head_angle = action[2] else: - accel, steer, head_angle = self.idx_to_actions[action] + accel, steer = self.idx_to_actions[action] veh_obj.acceleration = accel veh_obj.steering = steer - veh_obj.head_angle = head_angle def step( - self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], - int]] + self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]] ) -> None: """See superclass.""" obs_dict = {} rew_dict = {} done_dict = {} info_dict = defaultdict(dict) - rew_cfg = self.cfg['rew_cfg'] + rew_cfg = self.config["rew_cfg"] self.apply_actions(action_dict) - self.simulation.step(self.cfg['dt']) - self.t += self.cfg['dt'] + self.simulation.step(self.config["dt"]) + self.t += self.config["dt"] self.step_num += 1 objs_to_remove = [] for veh_obj in self.controlled_vehicles: @@ -155,139 +165,176 @@ def step( if self.n_frames_stacked > 1: veh_deque = self.context_dict[veh_id] context_list = list( - islice(veh_deque, - len(veh_deque) - self.n_frames_stacked, - len(veh_deque))) + islice( + veh_deque, + len(veh_deque) - self.n_frames_stacked, + len(veh_deque), + ) + ) obs_dict[veh_id] = np.concatenate(context_list) else: obs_dict[veh_id] = self.context_dict[veh_id][-1] rew_dict[veh_id] = 0 done_dict[veh_id] = False - info_dict[veh_id]['goal_achieved'] = False - info_dict[veh_id]['collided'] = False - info_dict[veh_id]['veh_veh_collision'] = False - info_dict[veh_id]['veh_edge_collision'] = False + info_dict[veh_id]["goal_achieved"] = False + info_dict[veh_id]["collided"] = False + info_dict[veh_id]["veh_veh_collision"] = False + info_dict[veh_id]["veh_edge_collision"] = False obj_pos = veh_obj.position goal_pos = veh_obj.target_position - '''############################################ + """############################################ Compute rewards - ############################################''' + ############################################""" position_target_achieved = True speed_target_achieved = True heading_target_achieved = True - if rew_cfg['position_target']: - position_target_achieved = ( - goal_pos - - obj_pos).norm() < rew_cfg['position_target_tolerance'] - if rew_cfg['speed_target']: - speed_target_achieved = np.abs( - veh_obj.speed - - veh_obj.target_speed) < rew_cfg['speed_target_tolerance'] - if rew_cfg['heading_target']: - heading_target_achieved = np.abs( - self.angle_sub(veh_obj.heading, veh_obj.target_heading) - ) < rew_cfg['heading_target_tolerance'] - if position_target_achieved and speed_target_achieved and heading_target_achieved: - info_dict[veh_id]['goal_achieved'] = True - rew_dict[veh_id] += rew_cfg['goal_achieved_bonus'] / rew_cfg[ - 'reward_scaling'] - if rew_cfg['shaped_goal_distance'] and rew_cfg['position_target']: + if rew_cfg["position_target"]: + position_target_achieved = (goal_pos - obj_pos).norm() < rew_cfg[ + "position_target_tolerance" + ] + if rew_cfg["speed_target"]: + speed_target_achieved = ( + np.abs(veh_obj.speed - veh_obj.target_speed) + < rew_cfg["speed_target_tolerance"] + ) + if rew_cfg["heading_target"]: + heading_target_achieved = ( + np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) + < rew_cfg["heading_target_tolerance"] + ) + if ( + position_target_achieved + and speed_target_achieved + and heading_target_achieved + ): + info_dict[veh_id]["goal_achieved"] = True + rew_dict[veh_id] += ( + rew_cfg["goal_achieved_bonus"] / rew_cfg["reward_scaling"] + ) + if rew_cfg["shaped_goal_distance"] and rew_cfg["position_target"]: # penalize the agent for its distance from goal - # we scale by goal_dist_normalizers to ensure that this value is always less than the penalty for - # collision - if rew_cfg['goal_distance_penalty']: - rew_dict[veh_id] -= rew_cfg.get( - 'shaped_goal_distance_scaling', 1.0) * ( - (goal_pos - obj_pos).norm() / - self.goal_dist_normalizers[veh_id] - ) / rew_cfg['reward_scaling'] + # we scale by goal_dist_normalizers to ensure that this value is always + # less than the penalty for collision + if rew_cfg["goal_distance_penalty"]: + rew_dict[veh_id] -= ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * ( + (goal_pos - obj_pos).norm() + / self.goal_dist_normalizers[veh_id] + ) + / rew_cfg["reward_scaling"] + ) else: # the minus one is to ensure that it's not beneficial to collide # we divide by goal_achieved_bonus / episode_length to ensure that - # acquiring the maximum "get-close-to-goal" reward at every time-step is - # always less than just acquiring the goal reward once - # we also assume that vehicles are never more than 400 meters from their goal - # which makes sense as the episodes are 9 seconds long i.e. we'd have to go more than - # 40 m/s to get there - rew_dict[veh_id] += rew_cfg.get( - 'shaped_goal_distance_scaling', - 1.0) * (1 - (goal_pos - obj_pos).norm() / - self.goal_dist_normalizers[veh_id] - ) / rew_cfg['reward_scaling'] + # acquiring the maximum "get-close-to-goal" reward at every + # time-step is always less than just acquiring the goal reward once + # we also assume that vehicles are never more than 400 meters from + # their goal which makes sense as the episodes are 9 seconds long + # i.e. we'd have to go more than 40 m/s to get there + rew_dict[veh_id] += ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * ( + 1 + - (goal_pos - obj_pos).norm() + / self.goal_dist_normalizers[veh_id] + ) + / rew_cfg["reward_scaling"] + ) # repeat the same thing for speed and heading - if rew_cfg['shaped_goal_distance'] and rew_cfg['speed_target']: - if rew_cfg['goal_distance_penalty']: - rew_dict[veh_id] -= rew_cfg.get( - 'shaped_goal_distance_scaling', 1.0) * ( - np.abs(veh_obj.speed - veh_obj.target_speed) / - 40.0) / rew_cfg['reward_scaling'] + if rew_cfg["shaped_goal_distance"] and rew_cfg["speed_target"]: + if rew_cfg["goal_distance_penalty"]: + rew_dict[veh_id] -= ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * (np.abs(veh_obj.speed - veh_obj.target_speed) / 40.0) + / rew_cfg["reward_scaling"] + ) else: - rew_dict[veh_id] += rew_cfg.get( - 'shaped_goal_distance_scaling', 1.0 - ) * (1 - np.abs(veh_obj.speed - veh_obj.target_speed) / - 40.0) / rew_cfg['reward_scaling'] - if rew_cfg['shaped_goal_distance'] and rew_cfg[ - 'heading_target']: - if rew_cfg['goal_distance_penalty']: - rew_dict[veh_id] -= rew_cfg.get( - 'shaped_goal_distance_scaling', - 1.0) * (np.abs( - self.angle_sub(veh_obj.heading, - veh_obj.target_heading)) / - (2 * np.pi)) / rew_cfg['reward_scaling'] + rew_dict[veh_id] += ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * (1 - np.abs(veh_obj.speed - veh_obj.target_speed) / 40.0) + / rew_cfg["reward_scaling"] + ) + if rew_cfg["shaped_goal_distance"] and rew_cfg["heading_target"]: + if rew_cfg["goal_distance_penalty"]: + rew_dict[veh_id] -= ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * ( + np.abs( + self.angle_sub( + veh_obj.heading, veh_obj.target_heading + ) + ) + / (2 * np.pi) + ) + / rew_cfg["reward_scaling"] + ) else: - rew_dict[veh_id] += rew_cfg.get( - 'shaped_goal_distance_scaling', - 1.0) * (1 - np.abs( - self.angle_sub(veh_obj.heading, - veh_obj.target_heading)) / - (2 * np.pi)) / rew_cfg['reward_scaling'] - '''############################################ + rew_dict[veh_id] += ( + rew_cfg.get("shaped_goal_distance_scaling", 1.0) + * ( + 1 + - np.abs( + self.angle_sub( + veh_obj.heading, veh_obj.target_heading + ) + ) + / (2 * np.pi) + ) + / rew_cfg["reward_scaling"] + ) + """############################################ Handle potential done conditions - ############################################''' + ############################################""" # achieved our goal - if info_dict[veh_id]['goal_achieved'] and self.cfg.get( - 'remove_at_goal', True): + if info_dict[veh_id]["goal_achieved"] and self.config.get( + "remove_at_goal", True + ): done_dict[veh_id] = True if veh_obj.getCollided(): - info_dict[veh_id]['collided'] = True + info_dict[veh_id]["collided"] = True if int(veh_obj.collision_type) == 1: - info_dict[veh_id]['veh_veh_collision'] = True + info_dict[veh_id]["veh_veh_collision"] = True if int(veh_obj.collision_type) == 2: - info_dict[veh_id]['veh_edge_collision'] = True - rew_dict[veh_id] -= np.abs( - rew_cfg['collision_penalty']) / rew_cfg['reward_scaling'] - if self.cfg.get('remove_at_collide', True): + info_dict[veh_id]["veh_edge_collision"] = True + rew_dict[veh_id] -= ( + np.abs(rew_cfg["collision_penalty"]) / rew_cfg["reward_scaling"] + ) + if self.config.get("remove_at_collide", True): done_dict[veh_id] = True - # remove the vehicle so that its trajectory doesn't continue. This is important - # in the multi-agent setting. + # remove the vehicle so that its trajectory doesn't continue. This is + # important in the multi-agent setting. if done_dict[veh_id]: self.done_ids.append(veh_id) - if (info_dict[veh_id]['goal_achieved'] - and self.cfg.get('remove_at_goal', True)) or ( - info_dict[veh_id]['collided'] - and self.cfg.get('remove_at_collide', True)): + if ( + info_dict[veh_id]["goal_achieved"] + and self.config.get("remove_at_goal", True) + ) or ( + info_dict[veh_id]["collided"] + and self.config.get("remove_at_collide", True) + ): objs_to_remove.append(veh_obj) for veh_obj in objs_to_remove: self.scenario.removeVehicle(veh_obj) - if self.cfg['rew_cfg']['shared_reward']: + if self.config["rew_cfg"]["shared_reward"]: total_reward = np.sum([rew_dict[key] for key in rew_dict.keys()]) rew_dict = {key: total_reward for key in rew_dict.keys()} # fill in the missing observations if we should be doing so - if self.cfg['subscriber']['keep_inactive_agents']: - # force all vehicles done to be false since they should persist through the episode + if self.config["subscriber"]["keep_inactive_agents"]: + # force all vehicles done to be false since they should persist through the + # episode done_dict = {key: False for key in self.all_vehicle_ids} for key in self.all_vehicle_ids: if key not in obs_dict.keys(): obs_dict[key] = self.dead_feat rew_dict[key] = 0.0 - info_dict[key]['goal_achieved'] = False - info_dict[key]['collided'] = False - info_dict[key]['veh_veh_collision'] = False - info_dict[key]['veh_edge_collision'] = False + info_dict[key]["goal_achieved"] = False + info_dict[key]["collided"] = False + info_dict[key]["veh_veh_collision"] = False + info_dict[key]["veh_edge_collision"] = False if self.step_num >= self.episode_length: done_dict = {key: True for key in done_dict.keys()} @@ -295,7 +342,7 @@ def step( all_done = True for value in done_dict.values(): all_done *= value - done_dict['__all__'] = all_done + done_dict["__all__"] = all_done return obs_dict, rew_dict, done_dict, info_dict @@ -308,33 +355,37 @@ def reset(self): # we don't want to initialize scenes with 0 actors after satisfying # all the conditions on a scene that we have while not enough_vehicles: - self.file = self.files[np.random.randint(len(self.files))] - self.simulation = Simulation(os.path.join( - self.cfg['scenario_path'], self.file), - config=get_scenario_dict(self.cfg)) + self.file = ( + self.config["scene"] + if "scene" in self.config and self.config["scene"] is not None + else self.files[np.random.randint(len(self.files))] + ) + self.simulation = Simulation( + os.path.join(self._data_path, self.file), + config=self.config["scenario"], + ) self.scenario = self.simulation.getScenario() - '''################################################################## + """################################################################## Construct context dictionary of observations that can be used to warm up policies by stepping all vehicles as experts. - #####################################################################''' + #####################################################################""" dead_obs = self.get_observation(self.scenario.getVehicles()[0]) - self.dead_feat = -np.ones( - dead_obs.shape[0] * self.n_frames_stacked) - # step all the vehicles forward by one second and record their observations as context + self.dead_feat = -np.ones(dead_obs.shape[0] * self.n_frames_stacked) + # step all the vehicles forward by one second and record their observations + # as context context_len = max(10, self.n_frames_stacked) self.context_dict = { - veh.getID(): - deque([self.dead_feat for _ in range(context_len)], - maxlen=context_len) + veh.getID(): deque( + [self.dead_feat for _ in range(context_len)], maxlen=context_len + ) for veh in self.scenario.getObjectsThatMoved() } for veh in self.scenario.getObjectsThatMoved(): veh.expert_control = True for _ in range(10): for veh in self.scenario.getObjectsThatMoved(): - self.context_dict[veh.getID()].append( - self.get_observation(veh)) - self.simulation.step(self.cfg['dt']) + self.context_dict[veh.getID()].append(self.get_observation(veh)) + self.simulation.step(self.config["dt"]) # now hand back control to our actual controllers for veh in self.scenario.getObjectsThatMoved(): veh.expert_control = False @@ -346,22 +397,26 @@ def reset(self): obj_pos = np.array([obj_pos.x, obj_pos.y]) goal_pos = veh_obj.getGoalPosition() goal_pos = np.array([goal_pos.x, goal_pos.y]) - '''############################################ + """############################################ Remove vehicles at goal - ############################################''' + ############################################""" norm = np.linalg.norm(goal_pos - obj_pos) - if norm < self.cfg['rew_cfg'][ - 'goal_tolerance'] or veh_obj.getCollided(): + if ( + norm < self.config["rew_cfg"]["goal_tolerance"] + or veh_obj.getCollided() + ): self.scenario.removeVehicle(veh_obj) - '''############################################ + """############################################ Set all vehicles with unachievable goals to be experts - ############################################''' - if self.file in self.valid_veh_dict and veh_obj.getID( - ) in self.valid_veh_dict[self.file]: + ############################################""" + if ( + self.file in self.valid_veh_dict + and veh_obj.getID() in self.valid_veh_dict[self.file] + ): veh_obj.expert_control = True - '''############################################ + """############################################ Pick out the vehicles that we are controlling - ############################################''' + ############################################""" # ensure that we have no more than max_num_vehicles are controlled temp_vehicles = self.scenario.getObjectsThatMoved() np.random.shuffle(temp_vehicles) @@ -372,32 +427,41 @@ def reset(self): for vehicle in temp_vehicles: # this vehicle was invalid at the end of the 1 second context # step so we need to remove it. - if np.isclose(vehicle.position.x, INVALID_POSITION): + if np.isclose(vehicle.position.x, self._invalid_position): self.vehicles_to_delete.append(vehicle) + # If vehicle ID is given, use that as controlled vehicle + elif "vehicle" in self.config and self.config["vehicle"] is not None: + if vehicle.id == self.config["vehicle"]: + self.controlled_vehicles.append(vehicle) + else: + self.expert_controlled_vehicles.append(vehicle) # we don't want to include vehicles that had unachievable goals # as controlled vehicles - elif not vehicle.expert_control and curr_index < self.cfg[ - 'max_num_vehicles']: + elif not vehicle.expert_control and curr_index < self.max_num_vehicles: self.controlled_vehicles.append(vehicle) curr_index += 1 else: self.expert_controlled_vehicles.append(vehicle) - self.all_vehicle_ids = [ - veh.getID() for veh in self.controlled_vehicles - ] - # make all the vehicles that are in excess of max_num_vehicles controlled by an expert + self.all_vehicle_ids = [veh.getID() for veh in self.controlled_vehicles] + # make all the vehicles that are in excess of max_num_vehicles controlled by + # an expert for veh in self.expert_controlled_vehicles: veh.expert_control = True # remove vehicles that are currently at an invalid position for veh in self.vehicles_to_delete: self.scenario.removeVehicle(veh) - # check that we have at least one vehicle or if we have just one file, exit anyways + # check that we have at least one vehicle or if we have just one file, exit + # anyways # or else we might be stuck in an infinite loop - if len(self.all_vehicle_ids) > 0 or len(self.files) == 1: + if len(self.all_vehicle_ids) > 0 or ( + len(self.files) == 1 + or ("scene" in self.config and self.config["scene"] is not None) + ): enough_vehicles = True - # for one reason or another (probably we had a file where all the agents achieved their goals) + # for one reason or another (probably we had a file where all the agents + # achieved their goals) # we have no controlled vehicles # just grab a vehicle even if it hasn't moved so that we have something # to return obs for even if it's not controlled @@ -406,9 +470,7 @@ def reset(self): # until a file is found. if len(self.all_vehicle_ids) == 0: self.controlled_vehicles = [self.scenario.getVehicles()[0]] - self.all_vehicle_ids = [ - veh.getID() for veh in self.controlled_vehicles - ] + self.all_vehicle_ids = [veh.getID() for veh in self.controlled_vehicles] # construct the observations and goal normalizers obs_dict = {} @@ -428,13 +490,17 @@ def reset(self): if self.n_frames_stacked > 1: veh_deque = self.context_dict[veh_id] context_list = list( - islice(veh_deque, - len(veh_deque) - self.n_frames_stacked, - len(veh_deque))) + islice( + veh_deque, + len(veh_deque) - self.n_frames_stacked, + len(veh_deque), + ) + ) obs_dict[veh_id] = np.concatenate(context_list) else: obs_dict[veh_id] = self.context_dict[veh_id][-1] - # pick the vehicle that has to travel the furthest distance and use it for rendering + # pick the vehicle that has to travel the furthest distance and use it for + # rendering if dist > max_goal_dist: # this attribute is just used for rendering of the view # from the ego frame @@ -443,41 +509,43 @@ def reset(self): self.done_ids = [] # we should return obs for the missing agents - if self.cfg['subscriber']['keep_inactive_agents']: + if self.config["subscriber"]["keep_inactive_agents"]: max_id = max([int(key) for key in obs_dict.keys()]) - num_missing_agents = max( - 0, self.cfg['max_num_vehicles'] - len(obs_dict)) + num_missing_agents = max(0, self.max_num_vehicles - len(obs_dict)) for i in range(num_missing_agents): obs_dict[max_id + i + 1] = self.dead_feat - self.dead_agent_ids = [ - max_id + i + 1 for i in range(num_missing_agents) - ] + self.initial_dead_agent_ids = [max_id + i + 1 for i in range(num_missing_agents)] self.all_vehicle_ids = list(obs_dict.keys()) else: - self.dead_agent_ids = [] + self.initial_dead_agent_ids = [] + + logging.debug( + f"Scene: {self.file} | Controlling vehicles: " + f"{[veh.id for veh in self.controlled_vehicles]}" + ) + return obs_dict def get_observation(self, veh_obj): """Return the observation for a particular vehicle.""" - ego_obs = self.scenario.ego_state(veh_obj) - if self.cfg['subscriber']['use_ego_state'] and self.cfg['subscriber'][ - 'use_observations']: - obs = np.concatenate( - (ego_obs, - self.scenario.flattened_visible_state( - veh_obj, - view_dist=self.cfg['subscriber']['view_dist'], - view_angle=self.cfg['subscriber']['view_angle'], - head_angle=veh_obj.head_angle))) - elif self.cfg['subscriber']['use_ego_state'] and not self.cfg[ - 'subscriber']['use_observations']: - obs = ego_obs - else: - obs = self.scenario.flattened_visible_state( - veh_obj, - view_dist=self.cfg['subscriber']['view_dist'], - view_angle=self.cfg['subscriber']['view_angle'], - head_angle=veh_obj.head_angle) + + use_ego_state = self.config["subscriber"]["use_ego_state"] + use_observations = self.config["subscriber"]["use_observations"] + use_current_position = self.config["subscriber"]["use_current_position"] + + view_dist = self.config["subscriber"]["view_dist"] + view_angle = self.config["subscriber"]["view_angle"] + cur_pos = np.array([veh_obj.getPosition().x, veh_obj.getPosition().y]) + + obs = np.concatenate( + ( + self.scenario.ego_state(veh_obj) if use_ego_state else [], + cur_pos if use_current_position else [], + self.scenario.flattened_visible_state(veh_obj, view_dist, view_angle) + if use_observations + else [], + ) + ) return obs def make_all_vehicles_experts(self): @@ -509,8 +577,8 @@ def render_ego(self, mode=None): else: return self.scenario.getConeImage( source=self.render_vehicle, - view_dist=self.cfg['subscriber']['view_dist'], - view_angle=self.cfg['subscriber']['view_angle'], + view_dist=self.config["subscriber"]["view_dist"], + view_angle=self.config["subscriber"]["view_angle"], head_angle=self.render_vehicle.head_angle, img_width=1600, img_height=1600, @@ -525,8 +593,8 @@ def render_features(self, mode=None): else: return self.scenario.getFeaturesImage( source=self.render_vehicle, - view_dist=self.cfg['subscriber']['view_dist'], - view_angle=self.cfg['subscriber']['view_angle'], + view_dist=self.config["subscriber"]["view_dist"], + view_angle=self.config["subscriber"]["view_angle"], head_angle=self.render_vehicle.head_angle, img_width=1600, img_height=1600, @@ -536,9 +604,7 @@ def render_features(self, mode=None): def seed(self, seed=None): """Ensure determinism.""" - if seed is None: - np.random.seed(1) - else: + if seed is not None: np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) @@ -552,4 +618,4 @@ def angle_sub(self, current_angle, target_angle) -> int: # Let's instead go in the shorter, negative direction if diff > np.pi: diff = -(2 * np.pi - diff) - return diff + return diff \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 72532877..a835efc4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,10 @@ numpy = "^1.26.0" torch = "^2.0.1" gym = "^0.26.2" pybind11 = "^2.11.1" +ipykernel = "^6.25.2" +matplotlib = "^3.8.0" +seaborn = "^0.13.0" +pandas = "^2.1.1" [tool.poetry.group.dev.dependencies] pre-commit = "^3.4.0" From 542798b906f45603c5e534d4bb66695a7b9f43f9 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Wed, 4 Oct 2023 00:03:37 +0200 Subject: [PATCH 11/40] Refactor: Applied pre-commit to ./nocturne/envs/base_env.py and ./configs/env_config.yml --- configs/env_config.yaml | 50 ++++++++-------- nocturne/envs/base_env.py | 120 +++++++++----------------------------- requirements.dev.txt | 2 +- requirements.txt | 52 ++++++++++++++++- 4 files changed, 105 insertions(+), 119 deletions(-) diff --git a/configs/env_config.yaml b/configs/env_config.yaml index ec494259..b1027a3c 100644 --- a/configs/env_config.yaml +++ b/configs/env_config.yaml @@ -1,22 +1,22 @@ seed: 0 -device: 'cuda:0' -debug: False +device: cuda:0 +debug: false experiment: intersection env: my_custom_multi_env_v1 # name of the env, hardcoded for now # one of the agents will be randomly tagged as the # agent that we control, the rest of the agents will # replay trajectories -single_agent_mode: True +single_agent_mode: true # all goals are achievable within 90 steps episode_length: 80 # how many files of the total dataset to use. -1 indicates to use all of them num_files: 5 dt: 0.1 sims_per_step: 10 -img_as_state: False -discretize_actions: True -include_head_angle: False # Whether to include the head tilt/angle as part of a vehicle's action +img_as_state: false +discretize_actions: true +include_head_angle: false # Whether to include the head tilt/angle as part of a vehicle's action accel_discretization: 5 accel_lower_bound: -2 accel_upper_bound: 2 @@ -24,12 +24,12 @@ steering_lower_bound: -0.25 # corresponds to about 40 degrees of max steering an steering_upper_bound: 0.25 # corresponds to about 40 degrees of max steering angle steering_discretization: 5 max_num_vehicles: 20 -randomize_goals: False +randomize_goals: false scenario: # initial timestep of the scenario (which ranges from timesteps 0 to 90) start_time: 0 # if set to True, non-vehicle objects (eg. cyclists, pedestrians...) will be spawned - allow_non_vehicles: False + allow_non_vehicles: false # for an object to be included into moving_objects moving_threshold: 0.2 # its goal must be at least this distance from its initial position speed_threshold: 0.05 # its speed must be superior to this value at some point @@ -46,51 +46,51 @@ scenario: # if true we add all the road-edges (the edges you can collide with) # to the visible road points first and only add the other points # (road lines, lane lines) etc. if we have remaining states after - road_edge_first: False + road_edge_first: false # these configs are mostly used for aligning displacement error computations # with the standard way of doing it in other libraries i.e. we keep # the agent for the whole rollout and compute its distance from the expert # at all the points that the expert is valid -remove_at_goal: True # if true, remove the agent when it reaches its goal -remove_at_collide: True # if true, remove the agent when it collides +remove_at_goal: true # if true, remove the agent when it reaches its goal +remove_at_collide: true # if true, remove the agent when it collides # Reward settings rew_cfg: - shared_reward: False # agents get the collective reward instead of individual rewards + shared_reward: false # agents get the collective reward instead of individual rewards goal_tolerance: 0.5 reward_scaling: 10.0 # rescale all the rewards by this value. This can help w/ some learning algorithms collision_penalty: 0 shaped_goal_distance_scaling: 0.2 - shaped_goal_distance: True - goal_distance_penalty: False # if shaped_goal_distance is true, then when this is True the goal distance + shaped_goal_distance: true + goal_distance_penalty: false # if shaped_goal_distance is true, then when this is True the goal distance # is a penalty for being far from # goal instead of a reward for being close goal_achieved_bonus: 80 - position_target: True # If True, goal is only achieved if you're within this tolerance on distance from goal + position_target: true # If True, goal is only achieved if you're within this tolerance on distance from goal position_target_tolerance: 1.0 - speed_target: True # If True, goal is only achieved if you're within this tolerance on final agent speed at goal position + speed_target: true # If True, goal is only achieved if you're within this tolerance on final agent speed at goal position speed_target_tolerance: 1.0 - heading_target: False # If True, goal is only achieved if you're within this tolerance on final agent heading at goal position + heading_target: false # If True, goal is only achieved if you're within this tolerance on final agent heading at goal position heading_target_tolerance: 0.3 # Agent settings subscriber: view_angle: 3.14 # the distance which the cone extends before agents are not visible; set to pi rad to correct for missing head angle view_dist: 80 - use_ego_state: True # if True, add information about the ego state - use_observations: False # if True, add visible field - use_start_position: False # if True, add start (x, y)-position of the agent - use_current_position: False # if True, add current (x, y)-position of the agent - use_target_position: False # if True, add target (x, y)-position of the agent - use_distance_to_target: False # if True, add distance to target (dx, dy) of the agent + use_ego_state: true # if True, add information about the ego state + use_observations: false # if True, add visible field + use_start_position: false # if True, add start (x, y)-position of the agent + use_current_position: false # if True, add current (x, y)-position of the agent + use_target_position: false # if True, add target (x, y)-position of the agent + use_distance_to_target: false # if True, add distance to target (dx, dy) of the agent # if true, we return an observation for agents that have exited the system # as well as returning an observation for the extra agents if the number of # agents in the system is less than max_num_vehicles - keep_inactive_agents: False + keep_inactive_agents: false # for values greater than 1, we will stack inputs together (i.e. memory and equivalent of n_stacked_states) n_frames_stacked: 1 # Agent memory # Path to folder with traffic scene(s) from which to create an environment -data_path: ./data \ No newline at end of file +data_path: ./data diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index 95a15008..ff5c5922 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -15,14 +15,15 @@ import torch from gym import Env from gym.spaces import Box, Discrete + from nocturne import Action, Simulation logging.getLogger(__name__) -class BaseEnv(Env): +class BaseEnv(Env): def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: - """Initialize a Nocturne environment. + """Initialize a Nocturne environment. Args ---- @@ -35,7 +36,7 @@ def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: # Path to traffic scene(s) to use self._data_path = self.config["data_path"] - + # Load the list of valid files with open(os.path.join(self._data_path, "valid_files.json")) as file: self.valid_veh_dict = json.load(file) @@ -58,15 +59,11 @@ def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: self._invalid_position = float(-1e4) self.start_positions = { - veh_obj.id: np.array([veh_obj.position.x, veh_obj.position.y]) - for veh_obj in self.controlled_vehicles + veh_obj.id: np.array([veh_obj.position.x, veh_obj.position.y]) for veh_obj in self.controlled_vehicles } self.n_frames_stacked = self.config["subscriber"].get("n_frames_stacked", 1) if self.n_frames_stacked > 1: - logging.warning( - "Frame stacking is enabled. Note that this is not required for " - "recurrent policies." - ) + logging.warning("Frame stacking is enabled. Note that this is not required for " "recurrent policies.") self.max_num_vehicles = self.config["max_num_vehicles"] self.single_agent_mode = self.config["single_agent_mode"] if self.single_agent_mode: @@ -85,9 +82,7 @@ def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: if self.config["discretize_actions"]: self.accel_discretization = self.config["accel_discretization"] self.steering_discretization = self.config["steering_discretization"] - self.action_space = Discrete( - self.accel_discretization * self.steering_discretization - ) + self.action_space = Discrete(self.accel_discretization * self.steering_discretization) self.accel_grid = np.linspace( -np.abs(self.config["accel_lower_bound"]), self.config["accel_upper_bound"], @@ -122,9 +117,7 @@ def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: ), ) - def apply_actions( - self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]] - ) -> None: + def apply_actions(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]]) -> None: """Apply a dict of actions to the vehicle objects.""" for veh_obj in self.scenario.getObjectsThatMoved(): action = action_dict.get(veh_obj.id, None) @@ -143,9 +136,7 @@ def apply_actions( veh_obj.acceleration = accel veh_obj.steering = steer - def step( - self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]] - ) -> None: + def step(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]]) -> None: """See superclass.""" obs_dict = {} rew_dict = {} @@ -189,28 +180,17 @@ def step( speed_target_achieved = True heading_target_achieved = True if rew_cfg["position_target"]: - position_target_achieved = (goal_pos - obj_pos).norm() < rew_cfg[ - "position_target_tolerance" - ] + position_target_achieved = (goal_pos - obj_pos).norm() < rew_cfg["position_target_tolerance"] if rew_cfg["speed_target"]: - speed_target_achieved = ( - np.abs(veh_obj.speed - veh_obj.target_speed) - < rew_cfg["speed_target_tolerance"] - ) + speed_target_achieved = np.abs(veh_obj.speed - veh_obj.target_speed) < rew_cfg["speed_target_tolerance"] if rew_cfg["heading_target"]: heading_target_achieved = ( np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) < rew_cfg["heading_target_tolerance"] ) - if ( - position_target_achieved - and speed_target_achieved - and heading_target_achieved - ): + if position_target_achieved and speed_target_achieved and heading_target_achieved: info_dict[veh_id]["goal_achieved"] = True - rew_dict[veh_id] += ( - rew_cfg["goal_achieved_bonus"] / rew_cfg["reward_scaling"] - ) + rew_dict[veh_id] += rew_cfg["goal_achieved_bonus"] / rew_cfg["reward_scaling"] if rew_cfg["shaped_goal_distance"] and rew_cfg["position_target"]: # penalize the agent for its distance from goal # we scale by goal_dist_normalizers to ensure that this value is always @@ -218,10 +198,7 @@ def step( if rew_cfg["goal_distance_penalty"]: rew_dict[veh_id] -= ( rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * ( - (goal_pos - obj_pos).norm() - / self.goal_dist_normalizers[veh_id] - ) + * ((goal_pos - obj_pos).norm() / self.goal_dist_normalizers[veh_id]) / rew_cfg["reward_scaling"] ) else: @@ -234,11 +211,7 @@ def step( # i.e. we'd have to go more than 40 m/s to get there rew_dict[veh_id] += ( rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * ( - 1 - - (goal_pos - obj_pos).norm() - / self.goal_dist_normalizers[veh_id] - ) + * (1 - (goal_pos - obj_pos).norm() / self.goal_dist_normalizers[veh_id]) / rew_cfg["reward_scaling"] ) # repeat the same thing for speed and heading @@ -259,37 +232,20 @@ def step( if rew_cfg["goal_distance_penalty"]: rew_dict[veh_id] -= ( rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * ( - np.abs( - self.angle_sub( - veh_obj.heading, veh_obj.target_heading - ) - ) - / (2 * np.pi) - ) + * (np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) / rew_cfg["reward_scaling"] ) else: rew_dict[veh_id] += ( rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * ( - 1 - - np.abs( - self.angle_sub( - veh_obj.heading, veh_obj.target_heading - ) - ) - / (2 * np.pi) - ) + * (1 - np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) / rew_cfg["reward_scaling"] ) """############################################ Handle potential done conditions ############################################""" # achieved our goal - if info_dict[veh_id]["goal_achieved"] and self.config.get( - "remove_at_goal", True - ): + if info_dict[veh_id]["goal_achieved"] and self.config.get("remove_at_goal", True): done_dict[veh_id] = True if veh_obj.getCollided(): info_dict[veh_id]["collided"] = True @@ -297,21 +253,15 @@ def step( info_dict[veh_id]["veh_veh_collision"] = True if int(veh_obj.collision_type) == 2: info_dict[veh_id]["veh_edge_collision"] = True - rew_dict[veh_id] -= ( - np.abs(rew_cfg["collision_penalty"]) / rew_cfg["reward_scaling"] - ) + rew_dict[veh_id] -= np.abs(rew_cfg["collision_penalty"]) / rew_cfg["reward_scaling"] if self.config.get("remove_at_collide", True): done_dict[veh_id] = True # remove the vehicle so that its trajectory doesn't continue. This is # important in the multi-agent setting. if done_dict[veh_id]: self.done_ids.append(veh_id) - if ( - info_dict[veh_id]["goal_achieved"] - and self.config.get("remove_at_goal", True) - ) or ( - info_dict[veh_id]["collided"] - and self.config.get("remove_at_collide", True) + if (info_dict[veh_id]["goal_achieved"] and self.config.get("remove_at_goal", True)) or ( + info_dict[veh_id]["collided"] and self.config.get("remove_at_collide", True) ): objs_to_remove.append(veh_obj) @@ -375,9 +325,7 @@ def reset(self): # as context context_len = max(10, self.n_frames_stacked) self.context_dict = { - veh.getID(): deque( - [self.dead_feat for _ in range(context_len)], maxlen=context_len - ) + veh.getID(): deque([self.dead_feat for _ in range(context_len)], maxlen=context_len) for veh in self.scenario.getObjectsThatMoved() } for veh in self.scenario.getObjectsThatMoved(): @@ -401,18 +349,12 @@ def reset(self): Remove vehicles at goal ############################################""" norm = np.linalg.norm(goal_pos - obj_pos) - if ( - norm < self.config["rew_cfg"]["goal_tolerance"] - or veh_obj.getCollided() - ): + if norm < self.config["rew_cfg"]["goal_tolerance"] or veh_obj.getCollided(): self.scenario.removeVehicle(veh_obj) """############################################ Set all vehicles with unachievable goals to be experts ############################################""" - if ( - self.file in self.valid_veh_dict - and veh_obj.getID() in self.valid_veh_dict[self.file] - ): + if self.file in self.valid_veh_dict and veh_obj.getID() in self.valid_veh_dict[self.file]: veh_obj.expert_control = True """############################################ Pick out the vehicles that we are controlling @@ -455,8 +397,7 @@ def reset(self): # anyways # or else we might be stuck in an infinite loop if len(self.all_vehicle_ids) > 0 or ( - len(self.files) == 1 - or ("scene" in self.config and self.config["scene"] is not None) + len(self.files) == 1 or ("scene" in self.config and self.config["scene"] is not None) ): enough_vehicles = True @@ -519,10 +460,7 @@ def reset(self): else: self.initial_dead_agent_ids = [] - logging.debug( - f"Scene: {self.file} | Controlling vehicles: " - f"{[veh.id for veh in self.controlled_vehicles]}" - ) + logging.debug(f"Scene: {self.file} | Controlling vehicles: " f"{[veh.id for veh in self.controlled_vehicles]}") return obs_dict @@ -541,9 +479,7 @@ def get_observation(self, veh_obj): ( self.scenario.ego_state(veh_obj) if use_ego_state else [], cur_pos if use_current_position else [], - self.scenario.flattened_visible_state(veh_obj, view_dist, view_angle) - if use_observations - else [], + self.scenario.flattened_visible_state(veh_obj, view_dist, view_angle) if use_observations else [], ) ) return obs @@ -618,4 +554,4 @@ def angle_sub(self, current_angle, target_angle) -> int: # Let's instead go in the shorter, negative direction if diff > np.pi: diff = -(2 * np.pi - diff) - return diff \ No newline at end of file + return diff diff --git a/requirements.dev.txt b/requirements.dev.txt index 149e21d4..be8f9e62 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -21,7 +21,7 @@ pyflakes==3.1.0 ; python_version >= "3.10" and python_version < "3.13" pylint==3.0.0 ; python_version >= "3.10" and python_version < "3.13" pyyaml==6.0.1 ; python_version >= "3.10" and python_version < "3.13" setuptools==68.2.2 ; python_version >= "3.10" and python_version < "3.13" -tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" +tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.13" tomlkit==0.12.1 ; python_version >= "3.10" and python_version < "3.13" typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.11" virtualenv==20.24.5 ; python_version >= "3.10" and python_version < "3.13" diff --git a/requirements.txt b/requirements.txt index 4bbef33e..8ed55157 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,13 +1,63 @@ +appnope==0.1.3 ; python_version >= "3.10" and python_version < "3.13" and (platform_system == "Darwin" or sys_platform == "darwin") +asttokens==2.4.0 ; python_version >= "3.10" and python_version < "3.13" +backcall==0.2.0 ; python_version >= "3.10" and python_version < "3.13" +cffi==1.16.0 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" cloudpickle==2.2.1 ; python_version >= "3.10" and python_version < "3.13" +colorama==0.4.6 ; python_version >= "3.10" and python_version < "3.13" and sys_platform == "win32" +comm==0.1.4 ; python_version >= "3.10" and python_version < "3.13" +contourpy==1.1.1 ; python_version >= "3.10" and python_version < "3.13" +cycler==0.12.0 ; python_version >= "3.10" and python_version < "3.13" +debugpy==1.8.0 ; python_version >= "3.10" and python_version < "3.13" +decorator==5.1.1 ; python_version >= "3.10" and python_version < "3.13" +exceptiongroup==1.1.3 ; python_version >= "3.10" and python_version < "3.11" +executing==2.0.0 ; python_version >= "3.10" and python_version < "3.13" filelock==3.12.4 ; python_version >= "3.10" and python_version < "3.13" -gym==0.26.2 ; python_version >= "3.10" and python_version < "3.13" +fonttools==4.43.0 ; python_version >= "3.10" and python_version < "3.13" gym-notices==0.0.8 ; python_version >= "3.10" and python_version < "3.13" +gym==0.26.2 ; python_version >= "3.10" and python_version < "3.13" +ipykernel==6.25.2 ; python_version >= "3.10" and python_version < "3.13" +ipython==8.16.1 ; python_version >= "3.10" and python_version < "3.13" +jedi==0.19.1 ; python_version >= "3.10" and python_version < "3.13" jinja2==3.1.2 ; python_version >= "3.10" and python_version < "3.13" +jupyter-client==8.3.1 ; python_version >= "3.10" and python_version < "3.13" +jupyter-core==5.3.2 ; python_version >= "3.10" and python_version < "3.13" +kiwisolver==1.4.5 ; python_version >= "3.10" and python_version < "3.13" markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "3.13" +matplotlib-inline==0.1.6 ; python_version >= "3.10" and python_version < "3.13" +matplotlib==3.8.0 ; python_version >= "3.10" and python_version < "3.13" mpmath==1.3.0 ; python_version >= "3.10" and python_version < "3.13" +nest-asyncio==1.5.8 ; python_version >= "3.10" and python_version < "3.13" networkx==3.1 ; python_version >= "3.10" and python_version < "3.13" numpy==1.26.0 ; python_version >= "3.10" and python_version < "3.13" +packaging==23.2 ; python_version >= "3.10" and python_version < "3.13" +pandas==2.1.1 ; python_version >= "3.10" and python_version < "3.13" +parso==0.8.3 ; python_version >= "3.10" and python_version < "3.13" +pexpect==4.8.0 ; python_version >= "3.10" and python_version < "3.13" and sys_platform != "win32" +pickleshare==0.7.5 ; python_version >= "3.10" and python_version < "3.13" +pillow==10.0.1 ; python_version >= "3.10" and python_version < "3.13" +platformdirs==3.11.0 ; python_version >= "3.10" and python_version < "3.13" +prompt-toolkit==3.0.39 ; python_version >= "3.10" and python_version < "3.13" +psutil==5.9.5 ; python_version >= "3.10" and python_version < "3.13" +ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "3.13" and sys_platform != "win32" +pure-eval==0.2.2 ; python_version >= "3.10" and python_version < "3.13" pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" +pycparser==2.21 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" +pygments==2.16.1 ; python_version >= "3.10" and python_version < "3.13" +pyparsing==3.1.1 ; python_version >= "3.10" and python_version < "3.13" +python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "3.13" +pytz==2023.3.post1 ; python_version >= "3.10" and python_version < "3.13" +pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "3.13" +pyzmq==25.1.1 ; python_version >= "3.10" and python_version < "3.13" +seaborn==0.13.0 ; python_version >= "3.10" and python_version < "3.13" +setuptools-scm==8.0.4 ; python_version >= "3.10" and python_version < "3.13" +setuptools==68.2.2 ; python_version >= "3.10" and python_version < "3.13" +six==1.16.0 ; python_version >= "3.10" and python_version < "3.13" +stack-data==0.6.3 ; python_version >= "3.10" and python_version < "3.13" sympy==1.12 ; python_version >= "3.10" and python_version < "3.13" +tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" torch==2.0.1 ; python_version >= "3.10" and python_version < "3.13" +tornado==6.3.3 ; python_version >= "3.10" and python_version < "3.13" +traitlets==5.11.2 ; python_version >= "3.10" and python_version < "3.13" typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.13" +tzdata==2023.3 ; python_version >= "3.10" and python_version < "3.13" +wcwidth==0.2.8 ; python_version >= "3.10" and python_version < "3.13" From 736b0f7664fa78944c29938be955ecdd1fcd2b8d Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Wed, 4 Oct 2023 00:06:36 +0200 Subject: [PATCH 12/40] Feature: Moved research dependencies to separate research group and added Python box to main group of dependencies --- .pre-commit-config.yaml | 2 +- pyproject.toml | 3 +++ requirements.txt | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 26fa4519..0663f39b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: types: [python] - id: poetry-export-requirements name: poetry-export-requirements - entry: poetry export --without-hashes --only main -f requirements.txt -o requirements.txt + entry: poetry export --without-hashes --with=main,research -f requirements.txt -o requirements.txt language: system types: [python] pass_filenames: false diff --git a/pyproject.toml b/pyproject.toml index a835efc4..131c5bd4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,9 @@ numpy = "^1.26.0" torch = "^2.0.1" gym = "^0.26.2" pybind11 = "^2.11.1" +python-box = "^7.1.1" + +[tool.poetry.group.research.dependencies] ipykernel = "^6.25.2" matplotlib = "^3.8.0" seaborn = "^0.13.0" diff --git a/requirements.txt b/requirements.txt index 8ed55157..3040d877 100644 --- a/requirements.txt +++ b/requirements.txt @@ -44,6 +44,7 @@ pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" pycparser==2.21 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" pygments==2.16.1 ; python_version >= "3.10" and python_version < "3.13" pyparsing==3.1.1 ; python_version >= "3.10" and python_version < "3.13" +python-box==7.1.1 ; python_version >= "3.10" and python_version < "3.13" python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "3.13" pytz==2023.3.post1 ; python_version >= "3.10" and python_version < "3.13" pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "3.13" From 75af899d830ef7480973332083bb7f2a326c2b92 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Wed, 4 Oct 2023 01:16:33 +0200 Subject: [PATCH 13/40] Feature: Simplified BaseEnv and env_config.yaml --- configs/env_config.yaml | 13 +- nocturne/envs/base_env.py | 744 +++++++++++++++++++++----------------- 2 files changed, 414 insertions(+), 343 deletions(-) diff --git a/configs/env_config.yaml b/configs/env_config.yaml index b1027a3c..4499bc14 100644 --- a/configs/env_config.yaml +++ b/configs/env_config.yaml @@ -4,10 +4,6 @@ debug: false experiment: intersection env: my_custom_multi_env_v1 # name of the env, hardcoded for now -# one of the agents will be randomly tagged as the -# agent that we control, the rest of the agents will -# replay trajectories -single_agent_mode: true # all goals are achievable within 90 steps episode_length: 80 # how many files of the total dataset to use. -1 indicates to use all of them @@ -47,6 +43,8 @@ scenario: # to the visible road points first and only add the other points # (road lines, lane lines) etc. if we have remaining states after road_edge_first: false + invalid_position: -10000.0 + context_length: 10 # these configs are mostly used for aligning displacement error computations # with the standard way of doing it in other libraries i.e. we keep @@ -73,6 +71,9 @@ rew_cfg: speed_target_tolerance: 1.0 heading_target: false # If True, goal is only achieved if you're within this tolerance on final agent heading at goal position heading_target_tolerance: 0.3 + # we assume that vehicles are never more than 400 meters from their goal which makes + # sense as the episodes are 9 seconds long, i.e. we'd have to go more than 40 m/s to get there + goal_speed_scaling: 40.0 # Agent settings subscriber: @@ -85,10 +86,6 @@ subscriber: use_target_position: false # if True, add target (x, y)-position of the agent use_distance_to_target: false # if True, add distance to target (dx, dy) of the agent - # if true, we return an observation for agents that have exited the system - # as well as returning an observation for the extra agents if the number of - # agents in the system is less than max_num_vehicles - keep_inactive_agents: false # for values greater than 1, we will stack inputs together (i.e. memory and equivalent of n_stacked_states) n_frames_stacked: 1 # Agent memory diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index ff5c5922..884edf85 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -6,159 +6,145 @@ import json import logging -import os from collections import defaultdict, deque -from itertools import islice -from typing import Any, Dict, Sequence, Union +from enum import Enum +from itertools import islice, product +from pathlib import Path +from typing import Any, Dict, List, Optional, Tuple, TypeVar, Union import numpy as np import torch +from box import Box as ConfigBox from gym import Env from gym.spaces import Box, Discrete -from nocturne import Action, Simulation +from nocturne import Action, Simulation, Vector2D, Vehicle + +_NUM_TRIES_TO_FIND_VALID_VEHICLE = 1_000 logging.getLogger(__name__) +ActType = TypeVar("ActType") # pylint: disable=invalid-name +ObsType = TypeVar("ObsType") # pylint: disable=invalid-name +RenderType = TypeVar("RenderType") # pylint: disable=invalid-name + + +class CollisionType(Enum): + """Enum for collision types.""" + + NONE = 0 + VEHICLE_VEHICLE = 1 + VEHICLE_EDGE = 2 + -class BaseEnv(Env): - def __init__(self, config: Dict[str, Any], rank: int = 0) -> None: +class BaseEnv(Env): # pylint: disable=too-many-instance-attributes + """Nocturne base Gym environment.""" + + def __init__( # pylint: disable=too-many-arguments + self, + config: Dict[str, Any], + *, + img_width=1600, + img_height=1600, + draw_target_positions=True, + padding=50.0, + ) -> None: """Initialize a Nocturne environment. Args ---- config (dict): configuration file for the environment. - data_path (str): path to the data directory with traffic scenes. - rank (int, optional): [description]. Defaults to 0. + + Optional Args + ------------- + img_width (int): width of the image to render. + img_height (int): height of the image to render. + draw_target_positions (bool): whether to draw the target positions. + padding (float): padding to add to the image. """ super().__init__() - self.config = config + self.config = ConfigBox(config) + self.config.data_path = Path(self.config.data_path) + self._render_settings = { + "img_width": img_width, + "img_height": img_height, + "draw_target_positions": draw_target_positions, + "padding": padding, + } - # Path to traffic scene(s) to use - self._data_path = self.config["data_path"] + self.seed(self.config.seed) # Load the list of valid files - with open(os.path.join(self._data_path, "valid_files.json")) as file: - self.valid_veh_dict = json.load(file) - self.files = list(self.valid_veh_dict.keys()) - # sort the files so that we have a consistent order - self.files = sorted(self.files) - if self.config["num_files"] != -1: - self.files = self.files[: self.config["num_files"]] - self.file = ( - self.config["scene"] - if "scene" in self.config and self.config["scene"] is not None - else self.files[np.random.randint(len(self.files))] - ) - self.simulation = Simulation( - os.path.join(self._data_path, self.file), - config=self.config["scenario"], - ) - self.scenario = self.simulation.getScenario() - self.controlled_vehicles = self.scenario.getObjectsThatMoved() - self._invalid_position = float(-1e4) + self.files, self.valid_veh_dict = _load_valid_files(self.config, sorted_=True) - self.start_positions = { - veh_obj.id: np.array([veh_obj.position.x, veh_obj.position.y]) for veh_obj in self.controlled_vehicles - } - self.n_frames_stacked = self.config["subscriber"].get("n_frames_stacked", 1) - if self.n_frames_stacked > 1: - logging.warning("Frame stacking is enabled. Note that this is not required for " "recurrent policies.") - self.max_num_vehicles = self.config["max_num_vehicles"] - self.single_agent_mode = self.config["single_agent_mode"] - if self.single_agent_mode: - self.max_num_vehicles = 1 - self.seed(self.config["seed"]) - self.episode_length = self.config["episode_length"] - self.t = 0 - self.step_num = 0 - self.rank = rank obs_dict = self.reset() - self.observation_space = Box( - low=-np.infty, - high=np.infty, - shape=(obs_dict[list(obs_dict.keys())[0]].shape[0],), - ) - if self.config["discretize_actions"]: - self.accel_discretization = self.config["accel_discretization"] - self.steering_discretization = self.config["steering_discretization"] - self.action_space = Discrete(self.accel_discretization * self.steering_discretization) - self.accel_grid = np.linspace( - -np.abs(self.config["accel_lower_bound"]), - self.config["accel_upper_bound"], - self.accel_discretization, - ) - self.steering_grid = np.linspace( - -np.abs(self.config["steering_lower_bound"]), - self.config["steering_upper_bound"], - self.steering_discretization, - ) - # compute the indexing only once - self.idx_to_actions = {} - i = 0 - for accel in self.accel_grid: - for steer in self.steering_grid: - self.idx_to_actions[i] = [accel, steer] - i += 1 + # Set observation space + self.observation_space = Box(low=-np.inf, high=np.inf, shape=obs_dict[list(obs_dict.keys())[0]].shape[0]) + + # Set action space + if self.config.discretize_actions: + self._set_discrete_action_space() else: - self.action_space = Box( - low=-np.array( - [ - np.abs(self.config["accel_lower_bound"]), - self.config["steering_lower_bound"], - ] - ), - high=np.array( - [ - np.abs(self.config["accel_upper_bound"]), - self.config["steering_upper_bound"], - ] - ), - ) + self._set_continuous_action_space() - def apply_actions(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]]) -> None: - """Apply a dict of actions to the vehicle objects.""" + def apply_actions(self, action_dict: Dict[int, ActType]) -> None: + """Apply a dict of actions to the vehicle objects. + + Args + ---- + action_dict (Dict[int, ActType]): Dictionary of actions to apply to the vehicles. + """ for veh_obj in self.scenario.getObjectsThatMoved(): action = action_dict.get(veh_obj.id, None) if action is None: continue + _apply_action_to_vehicle(veh_obj, action, idx_to_actions=self.idx_to_actions) + + def step( # pylint: disable=arguments-renamed,too-many-locals,too-many-branches,too-many-statements + self, action_dict: Dict[int, ActType] + ) -> Tuple[Dict[int, ObsType], Dict[int, float], Dict[int, bool], Dict[int, Dict[str, Union[bool, str]]]]: + """Run one timestep of the environment's dynamics. + + Args + ---- + action_dict (Dict[int, ActType]): Dictionary of actions to apply to the vehicles. + + Raises + ------ + ValueError: If the action is not of a supported type or if the vehicle collision type is unknown. - if isinstance(action, Action): - veh_obj.apply_action(action) - elif isinstance(action, np.ndarray): - veh_obj.apply_action(Action.from_numpy(action)) - elif isinstance(action, (tuple, list)): - veh_obj.acceleration = action[0] - veh_obj.steering = action[1] - else: - accel, steer = self.idx_to_actions[action] - veh_obj.acceleration = accel - veh_obj.steering = steer - def step(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], int]]) -> None: - """See superclass.""" + Returns + ------- + Dict[int, ObsType]: Dictionary with observation for each vehicle. + Dict[int, float]: Dictionary with reward for each vehicle. + Dict[int, bool]: Dictionary with done flag for each vehicle. + Dict[int, Dict[str, Union[bool, str]]]]: Dictionary with info for each vehicle. + """ obs_dict = {} rew_dict = {} done_dict = {} info_dict = defaultdict(dict) - rew_cfg = self.config["rew_cfg"] + + rew_cfg = self.config.rew_cfg + self.apply_actions(action_dict) - self.simulation.step(self.config["dt"]) - self.t += self.config["dt"] + self.simulation.step(self.config.dt) + self.t += self.config.dt self.step_num += 1 - objs_to_remove = [] + for veh_obj in self.controlled_vehicles: veh_id = veh_obj.getID() if veh_id in self.done_ids: continue self.context_dict[veh_id].append(self.get_observation(veh_obj)) - if self.n_frames_stacked > 1: + if self.config.subscriber.n_frames_stacked > 1: veh_deque = self.context_dict[veh_id] context_list = list( islice( veh_deque, - len(veh_deque) - self.n_frames_stacked, + len(veh_deque) - self.config.subscriber.n_frames_stacked, len(veh_deque), ) ) @@ -173,87 +159,85 @@ def step(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], info_dict[veh_id]["veh_edge_collision"] = False obj_pos = veh_obj.position goal_pos = veh_obj.target_position - """############################################ - Compute rewards - ############################################""" + ############################################ + # Compute rewards + ############################################ position_target_achieved = True speed_target_achieved = True heading_target_achieved = True - if rew_cfg["position_target"]: - position_target_achieved = (goal_pos - obj_pos).norm() < rew_cfg["position_target_tolerance"] - if rew_cfg["speed_target"]: - speed_target_achieved = np.abs(veh_obj.speed - veh_obj.target_speed) < rew_cfg["speed_target_tolerance"] - if rew_cfg["heading_target"]: + if rew_cfg.position_target: + position_target_achieved = (goal_pos - obj_pos).norm() < rew_cfg.position_target_tolerance + if rew_cfg.speed_target: + speed_target_achieved = np.abs(veh_obj.speed - veh_obj.target_speed) < rew_cfg.speed_target_tolerance + if rew_cfg.heading_target: heading_target_achieved = ( - np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) - < rew_cfg["heading_target_tolerance"] + np.abs(_angle_sub(veh_obj.heading, veh_obj.target_heading)) < rew_cfg.heading_target_tolerance ) if position_target_achieved and speed_target_achieved and heading_target_achieved: info_dict[veh_id]["goal_achieved"] = True - rew_dict[veh_id] += rew_cfg["goal_achieved_bonus"] / rew_cfg["reward_scaling"] - if rew_cfg["shaped_goal_distance"] and rew_cfg["position_target"]: + rew_dict[veh_id] += rew_cfg.goal_achieved_bonus / rew_cfg.reward_scaling + if rew_cfg.shaped_goal_distance and rew_cfg.position_target: # penalize the agent for its distance from goal # we scale by goal_dist_normalizers to ensure that this value is always # less than the penalty for collision - if rew_cfg["goal_distance_penalty"]: + if rew_cfg.goal_distance_penalty: rew_dict[veh_id] -= ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) + rew_cfg.shaped_goal_distance_scaling * ((goal_pos - obj_pos).norm() / self.goal_dist_normalizers[veh_id]) - / rew_cfg["reward_scaling"] + / rew_cfg.reward_scaling ) else: # the minus one is to ensure that it's not beneficial to collide # we divide by goal_achieved_bonus / episode_length to ensure that # acquiring the maximum "get-close-to-goal" reward at every # time-step is always less than just acquiring the goal reward once - # we also assume that vehicles are never more than 400 meters from - # their goal which makes sense as the episodes are 9 seconds long - # i.e. we'd have to go more than 40 m/s to get there rew_dict[veh_id] += ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) + rew_cfg.shaped_goal_distance_scaling * (1 - (goal_pos - obj_pos).norm() / self.goal_dist_normalizers[veh_id]) - / rew_cfg["reward_scaling"] + / rew_cfg.reward_scaling ) # repeat the same thing for speed and heading - if rew_cfg["shaped_goal_distance"] and rew_cfg["speed_target"]: - if rew_cfg["goal_distance_penalty"]: + if rew_cfg.shaped_goal_distance and rew_cfg.speed_target: + if rew_cfg.goal_distance_penalty: rew_dict[veh_id] -= ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * (np.abs(veh_obj.speed - veh_obj.target_speed) / 40.0) - / rew_cfg["reward_scaling"] + rew_cfg.shaped_goal_distance_scaling + * (np.abs(veh_obj.speed - veh_obj.target_speed) / rew_cfg.goal_speed_scaling) + / rew_cfg.reward_scaling ) else: rew_dict[veh_id] += ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * (1 - np.abs(veh_obj.speed - veh_obj.target_speed) / 40.0) - / rew_cfg["reward_scaling"] + rew_cfg.shaped_goal_distance_scaling + * (1 - np.abs(veh_obj.speed - veh_obj.target_speed) / rew_cfg.goal_speed_scaling) + / rew_cfg.reward_scaling ) - if rew_cfg["shaped_goal_distance"] and rew_cfg["heading_target"]: - if rew_cfg["goal_distance_penalty"]: + if rew_cfg.shaped_goal_distance and rew_cfg.heading_target: + if rew_cfg.goal_distance_penalty: rew_dict[veh_id] -= ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * (np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) - / rew_cfg["reward_scaling"] + rew_cfg.shaped_goal_distance_scaling + * (np.abs(_angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) + / rew_cfg.reward_scaling ) else: rew_dict[veh_id] += ( - rew_cfg.get("shaped_goal_distance_scaling", 1.0) - * (1 - np.abs(self.angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) - / rew_cfg["reward_scaling"] + rew_cfg.shaped_goal_distance_scaling + * (1 - np.abs(_angle_sub(veh_obj.heading, veh_obj.target_heading)) / (2 * np.pi)) + / rew_cfg.reward_scaling ) - """############################################ - Handle potential done conditions - ############################################""" + ############################################ + # Handle potential done conditions + ############################################ # achieved our goal if info_dict[veh_id]["goal_achieved"] and self.config.get("remove_at_goal", True): done_dict[veh_id] = True if veh_obj.getCollided(): info_dict[veh_id]["collided"] = True - if int(veh_obj.collision_type) == 1: + if int(veh_obj.collision_type) == CollisionType.VEHICLE_VEHICLE.value: info_dict[veh_id]["veh_veh_collision"] = True - if int(veh_obj.collision_type) == 2: + elif int(veh_obj.collision_type) == CollisionType.VEHICLE_EDGE.value: info_dict[veh_id]["veh_edge_collision"] = True - rew_dict[veh_id] -= np.abs(rew_cfg["collision_penalty"]) / rew_cfg["reward_scaling"] + elif int(veh_obj.collision_type) != CollisionType.NONE.value: + raise ValueError(f"Unknown collision type: {veh_obj.collision_type}.") + rew_dict[veh_id] -= np.abs(rew_cfg.collision_penalty) / rew_cfg.reward_scaling if self.config.get("remove_at_collide", True): done_dict[veh_id] = True # remove the vehicle so that its trajectory doesn't continue. This is @@ -263,77 +247,63 @@ def step(self, action_dict: Dict[int, Union[Action, np.ndarray, Sequence[float], if (info_dict[veh_id]["goal_achieved"] and self.config.get("remove_at_goal", True)) or ( info_dict[veh_id]["collided"] and self.config.get("remove_at_collide", True) ): - objs_to_remove.append(veh_obj) - - for veh_obj in objs_to_remove: - self.scenario.removeVehicle(veh_obj) - - if self.config["rew_cfg"]["shared_reward"]: - total_reward = np.sum([rew_dict[key] for key in rew_dict.keys()]) - rew_dict = {key: total_reward for key in rew_dict.keys()} - - # fill in the missing observations if we should be doing so - if self.config["subscriber"]["keep_inactive_agents"]: - # force all vehicles done to be false since they should persist through the - # episode - done_dict = {key: False for key in self.all_vehicle_ids} - for key in self.all_vehicle_ids: - if key not in obs_dict.keys(): - obs_dict[key] = self.dead_feat - rew_dict[key] = 0.0 - info_dict[key]["goal_achieved"] = False - info_dict[key]["collided"] = False - info_dict[key]["veh_veh_collision"] = False - info_dict[key]["veh_edge_collision"] = False - - if self.step_num >= self.episode_length: - done_dict = {key: True for key in done_dict.keys()} - - all_done = True - for value in done_dict.values(): - all_done *= value - done_dict["__all__"] = all_done + self.scenario.removeVehicle(veh_obj) + + if self.config.rew_cfg.shared_reward: + total_reward = np.sum(rew_dict.values()) + rew_dict = {key: total_reward for key in rew_dict} + + if self.step_num >= self.config.episode_length: + done_dict = {key: True for key in done_dict} + + done_dict["__all__"] = all(done_dict.values()) return obs_dict, rew_dict, done_dict, info_dict - def reset(self): - """See superclass.""" + def reset( # pylint: disable=arguments-differ,too-many-locals,too-many-branches,too-many-statements + self, + ) -> Dict[int, ObsType]: + """Reset the environment. + + Returns + ------- + Dict[int, ObsType]: Dictionary of observations for each vehicle. + """ self.t = 0 self.step_num = 0 - enough_vehicles = False # we don't want to initialize scenes with 0 actors after satisfying # all the conditions on a scene that we have - while not enough_vehicles: - self.file = ( - self.config["scene"] - if "scene" in self.config and self.config["scene"] is not None - else self.files[np.random.randint(len(self.files))] - ) - self.simulation = Simulation( - os.path.join(self._data_path, self.file), - config=self.config["scenario"], - ) + for _ in range(_NUM_TRIES_TO_FIND_VALID_VEHICLE): + self.file = np.random.choice(self.files) if self.config.scene is None else self.config.scene + self.simulation = Simulation(self.config.data_path / self.file, config=self.config.scenario) self.scenario = self.simulation.getScenario() - """################################################################## - Construct context dictionary of observations that can be used to - warm up policies by stepping all vehicles as experts. - #####################################################################""" - dead_obs = self.get_observation(self.scenario.getVehicles()[0]) - self.dead_feat = -np.ones(dead_obs.shape[0] * self.n_frames_stacked) + + ##################################################################### + # Construct context dictionary of observations that can be used to + # warm up policies by stepping all vehicles as experts. + ##################################################################### + dead_feat = -np.ones( + self.get_observation(self.scenario.getVehicles()[0]).shape[0] * self.config.subscriber.n_frames_stacked + ) # step all the vehicles forward by one second and record their observations # as context - context_len = max(10, self.n_frames_stacked) + self.config.scenario.context_length = max( + self.config.scenario.context_length, self.config.subscriber.n_frames_stacked + ) # Note: Consider raising an error if context_length < n_frames_stacked. self.context_dict = { - veh.getID(): deque([self.dead_feat for _ in range(context_len)], maxlen=context_len) + veh.getID(): deque( + [dead_feat for _ in range(self.config.scenario.context_length)], + maxlen=self.config.scenario.context_length, + ) for veh in self.scenario.getObjectsThatMoved() } for veh in self.scenario.getObjectsThatMoved(): veh.expert_control = True - for _ in range(10): + for _ in range(self.config.scenario.context_length): for veh in self.scenario.getObjectsThatMoved(): self.context_dict[veh.getID()].append(self.get_observation(veh)) - self.simulation.step(self.config["dt"]) + self.simulation.step(self.config.dt) # now hand back control to our actual controllers for veh in self.scenario.getObjectsThatMoved(): veh.expert_control = False @@ -341,99 +311,74 @@ def reset(self): # remove all the objects that are in collision or are already in goal dist # additionally set the objects that have infeasible goals to be experts for veh_obj in self.simulation.getScenario().getObjectsThatMoved(): - obj_pos = veh_obj.getPosition() - obj_pos = np.array([obj_pos.x, obj_pos.y]) - goal_pos = veh_obj.getGoalPosition() - goal_pos = np.array([goal_pos.x, goal_pos.y]) - """############################################ - Remove vehicles at goal - ############################################""" + obj_pos = _position_as_array(veh_obj.getPosition()) + goal_pos = _position_as_array(veh_obj.getGoalPosition()) + ############################################ + # Remove vehicles at goal + ############################################ norm = np.linalg.norm(goal_pos - obj_pos) - if norm < self.config["rew_cfg"]["goal_tolerance"] or veh_obj.getCollided(): + if norm < self.config.rew_cfg.goal_tolerance or veh_obj.getCollided(): self.scenario.removeVehicle(veh_obj) - """############################################ - Set all vehicles with unachievable goals to be experts - ############################################""" + ############################################ + # Set all vehicles with unachievable goals to be experts + ############################################ if self.file in self.valid_veh_dict and veh_obj.getID() in self.valid_veh_dict[self.file]: veh_obj.expert_control = True - """############################################ - Pick out the vehicles that we are controlling - ############################################""" + ############################################ + # Pick out the vehicles that we are controlling + ############################################ # ensure that we have no more than max_num_vehicles are controlled - temp_vehicles = self.scenario.getObjectsThatMoved() - np.random.shuffle(temp_vehicles) + temp_vehicles = np.random.shuffle(self.scenario.getObjectsThatMoved()) curr_index = 0 self.controlled_vehicles = [] - self.expert_controlled_vehicles = [] - self.vehicles_to_delete = [] for vehicle in temp_vehicles: # this vehicle was invalid at the end of the 1 second context # step so we need to remove it. - if np.isclose(vehicle.position.x, self._invalid_position): - self.vehicles_to_delete.append(vehicle) + if np.isclose(vehicle.position.x, self.config.scenario.invalid_position): + self.scenario.removeVehicle(vehicle) # If vehicle ID is given, use that as controlled vehicle - elif "vehicle" in self.config and self.config["vehicle"] is not None: - if vehicle.id == self.config["vehicle"]: + elif self.config.vehicle is not None: + if vehicle.id == self.config.vehicle: self.controlled_vehicles.append(vehicle) else: - self.expert_controlled_vehicles.append(vehicle) + vehicle.expert_control = True # we don't want to include vehicles that had unachievable goals # as controlled vehicles - elif not vehicle.expert_control and curr_index < self.max_num_vehicles: + elif not vehicle.expert_control and curr_index < self.config.max_num_vehicles: self.controlled_vehicles.append(vehicle) curr_index += 1 else: - self.expert_controlled_vehicles.append(vehicle) + vehicle.expert_control = True self.all_vehicle_ids = [veh.getID() for veh in self.controlled_vehicles] - # make all the vehicles that are in excess of max_num_vehicles controlled by - # an expert - for veh in self.expert_controlled_vehicles: - veh.expert_control = True - # remove vehicles that are currently at an invalid position - for veh in self.vehicles_to_delete: - self.scenario.removeVehicle(veh) - # check that we have at least one vehicle or if we have just one file, exit - # anyways + # check that we have at least one vehicle or if we have just one file, exit anyways # or else we might be stuck in an infinite loop - if len(self.all_vehicle_ids) > 0 or ( - len(self.files) == 1 or ("scene" in self.config and self.config["scene"] is not None) - ): - enough_vehicles = True - - # for one reason or another (probably we had a file where all the agents - # achieved their goals) - # we have no controlled vehicles - # just grab a vehicle even if it hasn't moved so that we have something - # to return obs for even if it's not controlled - # NOTE: this case only occurs during our eval procedure where we set the - # self.files list to be length 1. Otherwise, the while loop above will repeat - # until a file is found. - if len(self.all_vehicle_ids) == 0: - self.controlled_vehicles = [self.scenario.getVehicles()[0]] - self.all_vehicle_ids = [veh.getID() for veh in self.controlled_vehicles] + if len(self.all_vehicle_ids) > 0: + break + if len(self.files) == 1 or ("scene" in self.config and self.config.scene is not None): + raise ValueError(f"No controllable vehicle in scene {self.file}.") + else: # No break in for-loop, i.e., no valid vehicle found in any of the files. + raise ValueError(f"No controllable vehicles in any of the {len(self.files)} scenes.") # construct the observations and goal normalizers obs_dict = {} self.goal_dist_normalizers = {} - max_goal_dist = -100 + max_goal_dist = -np.inf for veh_obj in self.controlled_vehicles: veh_id = veh_obj.getID() # store normalizers for each vehicle - obj_pos = veh_obj.getPosition() - obj_pos = np.array([obj_pos.x, obj_pos.y]) - goal_pos = veh_obj.getGoalPosition() - goal_pos = np.array([goal_pos.x, goal_pos.y]) + obj_pos = _position_as_array(veh_obj.getPosition()) + goal_pos = _position_as_array(veh_obj.getGoalPosition()) dist = np.linalg.norm(obj_pos - goal_pos) self.goal_dist_normalizers[veh_id] = dist # compute the obs self.context_dict[veh_id].append(self.get_observation(veh_obj)) - if self.n_frames_stacked > 1: + if self.config.subscriber.n_frames_stacked > 1: veh_deque = self.context_dict[veh_id] context_list = list( islice( veh_deque, - len(veh_deque) - self.n_frames_stacked, + len(veh_deque) - self.config.subscriber.n_frames_stacked, len(veh_deque), ) ) @@ -449,109 +394,238 @@ def reset(self): max_goal_dist = dist self.done_ids = [] - # we should return obs for the missing agents - if self.config["subscriber"]["keep_inactive_agents"]: - max_id = max([int(key) for key in obs_dict.keys()]) - num_missing_agents = max(0, self.max_num_vehicles - len(obs_dict)) - for i in range(num_missing_agents): - obs_dict[max_id + i + 1] = self.dead_feat - self.initial_dead_agent_ids = [max_id + i + 1 for i in range(num_missing_agents)] - self.all_vehicle_ids = list(obs_dict.keys()) - else: - self.initial_dead_agent_ids = [] - logging.debug(f"Scene: {self.file} | Controlling vehicles: " f"{[veh.id for veh in self.controlled_vehicles]}") + logging.debug("Scene: %s | Controlling vehicles: %s", self.file, [veh.id for veh in self.controlled_vehicles]) return obs_dict - def get_observation(self, veh_obj): - """Return the observation for a particular vehicle.""" - - use_ego_state = self.config["subscriber"]["use_ego_state"] - use_observations = self.config["subscriber"]["use_observations"] - use_current_position = self.config["subscriber"]["use_current_position"] + def get_observation(self, veh_obj: Vehicle) -> np.ndarray: + """Return the observation for a particular vehicle. - view_dist = self.config["subscriber"]["view_dist"] - view_angle = self.config["subscriber"]["view_angle"] - cur_pos = np.array([veh_obj.getPosition().x, veh_obj.getPosition().y]) + Args + ---- + veh_obj (Vehicle): Vehicle object to get the observation for. + Returns + ------- + np.ndarray: Observation for the vehicle. + """ + cur_position = _position_as_array(veh_obj.getPosition()) obs = np.concatenate( ( - self.scenario.ego_state(veh_obj) if use_ego_state else [], - cur_pos if use_current_position else [], - self.scenario.flattened_visible_state(veh_obj, view_dist, view_angle) if use_observations else [], + self.scenario.ego_state(veh_obj) if self.config.subscriber.use_ego_state else [], + cur_position if self.config.subscriber.use_current_position else [], + self.scenario.flattened_visible_state( + veh_obj, self.config.subscriber.view_dist, self.config.subscriber.view_angle + ) + if self.config.subscriber.use_observations + else [], ) ) return obs - def make_all_vehicles_experts(self): + def make_all_vehicles_experts(self) -> None: """Force all vehicles to be experts.""" for veh in self.scenario.getVehicles(): veh.expert_control = True - def get_vehicles(self): - """Return the vehicles.""" - return self.scenario.getVehicles() - - def get_objects_that_moved(self): - """Return the objects that moved.""" - return self.scenario.getObjectsThatMoved() - - def render(self, mode=None): - """See superclass.""" - return self.scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - ) + def render(self, mode: Optional[bool] = None) -> Optional[RenderType]: # pylint: disable=unused-argument + """Render the environment. + + Args + ---- + mode (Optional[bool]): Render mode. + + Returns + ------- + Optional[RenderType]: Rendered image. + """ + return self.scenario.getImage(**self._render_settings) + + def render_ego(self, mode: Optional[bool] = None) -> Optional[RenderType]: # pylint: disable=unused-argument + """Render the ego vehicles. + + Args + ---- + mode (Optional[bool]): Render mode. - def render_ego(self, mode=None): - """See superclass.""" + Returns + ------- + Optional[RenderType]: Rendered image. + """ if self.render_vehicle.getID() in self.done_ids: return None - else: - return self.scenario.getConeImage( - source=self.render_vehicle, - view_dist=self.config["subscriber"]["view_dist"], - view_angle=self.config["subscriber"]["view_angle"], - head_angle=self.render_vehicle.head_angle, - img_width=1600, - img_height=1600, - padding=50.0, - draw_target_position=True, - ) + return self.scenario.getConeImage( + source=self.render_vehicle, + view_dist=self.config.subscriber.view_dist, + view_angle=self.config.subscriber.view_angle, + head_angle=self.render_vehicle.head_angle, + **self._render_settings, + ) - def render_features(self, mode=None): - """See superclass.""" + def render_features(self, mode: Optional[bool] = None) -> Optional[RenderType]: # pylint: disable=unused-argument + """Render the features. + + Args + ---- + mode (Optional[bool]): Render mode. + + Returns + ------- + Optional[RenderType]: Rendered image. + """ if self.render_vehicle.getID() in self.done_ids: return None - else: - return self.scenario.getFeaturesImage( - source=self.render_vehicle, - view_dist=self.config["subscriber"]["view_dist"], - view_angle=self.config["subscriber"]["view_angle"], - head_angle=self.render_vehicle.head_angle, - img_width=1600, - img_height=1600, - padding=50.0, - draw_target_position=True, - ) + return self.scenario.getFeaturesImage( + source=self.render_vehicle, + view_dist=self.config.subscriber.view_dist, + view_angle=self.config.subscriber.view_angle, + head_angle=self.render_vehicle.head_angle, + **self._render_settings, + ) - def seed(self, seed=None): - """Ensure determinism.""" + def seed(self, seed: Optional[int] = None) -> None: + """Seed the environment. + + Args + ---- + seed (Optional[int]): Seed to use. + """ if seed is not None: np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) - def angle_sub(self, current_angle, target_angle) -> int: - """Subtract two angles to find the minimum angle between them.""" - # Subtract the angles, constraining the value to [0, 2 * np.pi) - diff = (target_angle - current_angle) % (2 * np.pi) + def _set_discrete_action_space(self) -> None: + """Set the discrete action space.""" + self.action_space = Discrete(self.config.accel_discretization * self.config.steering_discretization) + self.accel_grid = np.linspace( + -np.abs(self.config.accel_lower_bound), + self.config.accel_upper_bound, + self.config.accel_discretization, + ) + self.steering_grid = np.linspace( + -np.abs(self.config.steering_lower_bound), + self.config.steering_upper_bound, + self.config.steering_discretization, + ) - # If we are more than np.pi we're taking the long way around. - # Let's instead go in the shorter, negative direction - if diff > np.pi: - diff = -(2 * np.pi - diff) - return diff + self.idx_to_actions = {} + for i, (accel, steer) in product(self.accel_grid, self.steering_grid): + self.idx_to_actions[i] = [accel, steer] + + def _set_continuous_action_space(self) -> None: + """Set the continuous action space.""" + self.action_space = Box( + low=-np.array( + [ + np.abs(self.config.accel_lower_bound), + self.config.steering_lower_bound, + ] + ), + high=np.array( + [ + np.abs(self.config.accel_upper_bound), + self.config.steering_upper_bound, + ] + ), + ) + self.idx_to_actions = None + + +def _load_valid_files(config: Dict[str, Any], *, sorted_: bool = True) -> Tuple[List[str], Dict[str, Dict[str, Any]]]: + """Load the list of valid files. + + Args + ---- + config (Dict[str, Any]): Configuration file for the environment. + + Optional Args + ------------- + sorted_ (bool): Whether to sort the files. + + Returns + ------- + Tuple[List[str]: List of valid files. + Dict[str, Dict[str, Any]]: Dictionary of valid vehicles. + """ + with open(config.data_path / "valid_files.json", encoding="utf-8") as file: + valid_veh_dict = json.load(file) + files = list(valid_veh_dict.keys()) + + # sort the files so that we have a consistent order + if sorted_: + files = sorted_(files) + + if config.num_files != -1: + files = files[: config.num_files] + + return files, valid_veh_dict + + +def _angle_sub(current_angle: float, target_angle: float) -> float: + """Subtract two angles to find the minimum angle between them. + + Args + ---- + current_angle (float): Current angle. + target_angle (float): Target angle. + + Returns + ------- + float: Minimum angle between the two angles. + """ + # Subtract the angles, constraining the value to [0, 2 * np.pi) + diff = (target_angle - current_angle) % (2 * np.pi) + + # If we are more than np.pi we're taking the long way around. + # Let's instead go in the shorter, negative direction + if diff > np.pi: + diff = -(2 * np.pi - diff) + return diff + + +def _apply_action_to_vehicle( + veh_obj: Vehicle, action: ActType, *, idx_to_actions: Optional[Dict[int, Tuple[float, float]]] = None +) -> None: + """Apply an action to a vehicle. + + Args + ---- + veh_obj (Vehicle): Vehicle object to apply the action to. + action (ActType): Action to apply to the vehicle. + + Optional Args + ------------- + idx_to_actions (Optional[Dict[int, Tuple[float, float]]]): Dictionary of actions to apply to the vehicle. + + Raises + ------ + NotImplementedError: If the action type is not supported. + """ + if isinstance(action, Action): + veh_obj.apply_action(action) + elif isinstance(action, np.ndarray): + veh_obj.apply_action(Action.from_numpy(action)) + elif isinstance(action, (tuple, list)): + veh_obj.acceleration = action[0] + veh_obj.steering = action[1] + elif isinstance(action, int) and idx_to_actions is not None: + accel, steer = idx_to_actions[action] + veh_obj.acceleration = accel + veh_obj.steering = steer + raise NotImplementedError(f"Action type '{type(action)}' not supported.") + + +def _position_as_array(position: Vector2D) -> np.ndarray: + """Convert a position to an array. + + Args + ---- + position (Vector2D): Position to convert. + + Returns + ------- + np.ndarray: Position as an array. + """ + return np.array([position.x, position.y]) From 9290690b786848d68844e2b1651c4d74a9888722 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 11:20:51 -0400 Subject: [PATCH 14/40] add intro examples --- examples/01_data_structure.ipynb | 4232 +++++++++++++++++++++++++++ examples/02_nocturne_concepts.ipynb | 782 +++++ examples/03_basic_rl_usage.ipynb | 164 +- 3 files changed, 5145 insertions(+), 33 deletions(-) create mode 100644 examples/01_data_structure.ipynb create mode 100644 examples/02_nocturne_concepts.ipynb diff --git a/examples/01_data_structure.ipynb b/examples/01_data_structure.ipynb new file mode 100644 index 00000000..beb62190 --- /dev/null +++ b/examples/01_data_structure.ipynb @@ -0,0 +1,4232 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data format of a traffic scene\n", + "\n", + "This notebook dives into the data format used to create simulations in Nocturne.\n", + "\n", + "_Last update: 10/2023_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import json\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "\n", + "cmap = ['r', 'g', 'b', 'y', 'c'] \n", + "%config InlineBackend.figure_format = 'svg'\n", + "sns.set('notebook', font_scale=1.1, rc={'figure.figsize': (8, 3)})\n", + "sns.set_style('ticks', rc={'figure.facecolor': 'none', 'axes.facecolor': 'none'})" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Traffic scenes are constructed by utilizing the [Waymo Open Motion dataset](https://waymo.com/open/). Though every scene is unique, they all have the same basic data structure. \n", + "\n", + "To load a traffic scene:" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['name', 'objects', 'roads', 'tl_states'])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Take an example scene\n", + "data_path = '../data/example_scenario.json'\n", + "\n", + "with open(data_path) as file:\n", + " traffic_scene = json.load(file)\n", + "\n", + "traffic_scene.keys()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Global Overview \n", + "A traffic scene consists of:\n", + "- `name`: the name of the traffic scenario.\n", + "- `objects`: the road objects or moving vehicles in the scene.\n", + "- `roads`: the road points in the scene, these are all the stationary objects.\n", + "- `tl_states`: the states of the traffic lights, which are filtered out for now. " + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traffic_scene['tl_states']" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'tfrecord-00358-of-01000_65.json'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traffic_scene['name']" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2023-10-03T10:23:25.972593\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.8.0, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "pd.Series(\n", + " [\n", + " traffic_scene['objects'][idx]['type']\n", + " for idx in range(len(traffic_scene['objects']))\n", + " ]\n", + ").value_counts().plot(kind='bar', rot=45, color=cmap);\n", + "plt.title(f'Distribution of road objects in traffic scene. Total # objects: {len(traffic_scene[\"objects\"])}')\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This traffic scenario only contains vehicles and pedestrians, some scenes have cyclists as well." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2023-10-03T10:23:26.839616\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.8.0, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "pd.Series(\n", + " [\n", + " traffic_scene['roads'][idx]['type']\n", + " for idx in range(len(traffic_scene['roads']))\n", + " ]\n", + ").value_counts().plot(kind='bar', rot=45, color=cmap);\n", + "plt.title(f'Distribution of road points in traffic scene. Total # points: {len(traffic_scene[\"roads\"])}')\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In-Depth: Road Objects\n", + "\n", + "This is a list of different road objects in the traffic scene. For each road object, we have information about its position, velocity, size, in which direction it's heading, whether it's a valid object, the type, and the final position of the vehicle." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['position', 'width', 'length', 'heading', 'velocity', 'valid', 'goalPosition', 'type'])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Take the first object\n", + "idx = 0\n", + "\n", + "# For each object, we have this information:\n", + "traffic_scene['objects'][idx].keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\n", + " {\n", + " \"x\": 9037.7138671875,\n", + " \"y\": -2720.373779296875\n", + " },\n", + " {\n", + " \"x\": 9037.7607421875,\n", + " \"y\": -2720.306640625\n", + " },\n", + " {\n", + " \"x\": 9037.822265625,\n", + " \"y\": -2720.217529296875\n", + " },\n", + " {\n", + " \"x\": 9037.8916015625,\n", + " \"y\": -2720.146240234375\n", + " },\n", + " {\n", + " \"x\": 9037.9482421875,\n", + " \"y\": -2720.070068359375\n", + " },\n", + " {\n", + " \"x\": 9038.01953125,\n", + " \"y\": -2719.994384765625\n", + " },\n", + " {\n", + " \"x\": 9038.1005859375,\n", + " \"y\": -2719.903076171875\n", + " },\n", + " {\n", + " \"x\": 9038.1953125,\n", + " \"y\": -2719.830810546875\n", + " },\n", + " {\n", + " \"x\": 9038.279296875,\n", + " \"y\": -2719.74462890625\n", + " },\n", + " {\n", + " \"x\": 9038.3564453125,\n", + " \"y\": -2719.674560546875\n", + " }\n", + "]\n" + ] + } + ], + "source": [ + "# Position contains the (x, y) coordinates for the vehicle at every time step\n", + "print(json.dumps(traffic_scene['objects'][idx]['position'][:10], indent=4))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.6877052187919617, 0.6777269244194031)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Width and length together make the size of the object, and is used to see if there is a collision \n", + "traffic_scene['objects'][idx]['width'], traffic_scene['objects'][idx]['length'] " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An object's heading refers to the direction it is pointing or moving in. The default coordinate system in Nocturne is right-handed, where the positive x and y axes point to the right and downwards, respectively. In a right-handed coordinate system, 0 degrees is located on the x-axis and the angle increases counter-clockwise.\n", + "\n", + "Because the scene is created from the viewpoint of an ego driver, there may be instances where the heading of certain vehicles is not available. These cases are represented by the value `-10_000`, to indicate that these steps should be filtered out or are invalid." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2023-10-03T10:23:28.800884\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.8.0, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Heading is the direction in which the vehicle is pointing \n", + "plt.plot(traffic_scene['objects'][idx]['heading']);\n", + "plt.xlabel('Time step')\n", + "plt.ylabel('Heading')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\n", + " {\n", + " \"x\": 0.634765625,\n", + " \"y\": 0.72265625\n", + " },\n", + " {\n", + " \"x\": 0.46875,\n", + " \"y\": 0.67138671875\n", + " },\n", + " {\n", + " \"x\": 0.615234375,\n", + " \"y\": 0.89111328125\n", + " },\n", + " {\n", + " \"x\": 0.693359375,\n", + " \"y\": 0.712890625\n", + " },\n", + " {\n", + " \"x\": 0.56640625,\n", + " \"y\": 0.76171875\n", + " },\n", + " {\n", + " \"x\": 0.712890625,\n", + " \"y\": 0.7568359375\n", + " },\n", + " {\n", + " \"x\": 0.810546875,\n", + " \"y\": 0.9130859375\n", + " },\n", + " {\n", + " \"x\": 0.947265625,\n", + " \"y\": 0.72265625\n", + " },\n", + " {\n", + " \"x\": 0.83984375,\n", + " \"y\": 0.86181640625\n", + " },\n", + " {\n", + " \"x\": 0.771484375,\n", + " \"y\": 0.70068359375\n", + " }\n", + "]\n" + ] + } + ], + "source": [ + "# Velocity shows the velocity in the x- and y- directions\n", + "print(json.dumps(traffic_scene['objects'][idx]['velocity'][:10], indent=4))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " 2023-10-03T10:23:29.389521\n", + " image/svg+xml\n", + " \n", + " \n", + " Matplotlib v3.8.0, https://matplotlib.org/\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n" + ], + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Valid indicates if the state of the vehicle was observed for each timepoint\n", + "plt.xlabel('Time step')\n", + "plt.ylabel('IS VALID');\n", + "plt.plot(traffic_scene['objects'][idx]['valid'], '_', lw=5)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'x': 9041.1259765625, 'y': -2716.647216796875}" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Each object has a goalPosition, an (x, y) position within the scene\n", + "traffic_scene['objects'][idx]['goalPosition']" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'pedestrian'" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Finally, we have the type of the vehicle\n", + "traffic_scene['objects'][idx]['type']" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In-Depth: Road Points\n", + "\n", + "Road points are static objects in the scene." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['geometry', 'type'])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "traffic_scene['roads'][idx].keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'road_edge'" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# This point represents the edge of a road\n", + "traffic_scene['roads'][idx]['type']" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[\n", + " {\n", + " \"x\": 8922.911733810946,\n", + " \"y\": -2849.426741530589\n", + " },\n", + " {\n", + " \"x\": 8923.216436260553,\n", + " \"y\": -2849.038518766975\n", + " },\n", + " {\n", + " \"x\": 8923.50673911804,\n", + " \"y\": -2848.63941352788\n", + " },\n", + " {\n", + " \"x\": 8923.782254084921,\n", + " \"y\": -2848.2299596442986\n", + " },\n", + " {\n", + " \"x\": 8924.042612639492,\n", + " \"y\": -2847.8107047886665\n", + " },\n", + " {\n", + " \"x\": 8924.287466537296,\n", + " \"y\": -2847.382209743547\n", + " },\n", + " {\n", + " \"x\": 8924.516488266596,\n", + " \"y\": -2846.945047650609\n", + " },\n", + " {\n", + " \"x\": 8924.729371495881,\n", + " \"y\": -2846.49980324385\n", + " },\n", + " {\n", + " \"x\": 8924.91688626026,\n", + " \"y\": -2846.067714357487\n", + " },\n", + " {\n", + " \"x\": 8925.087545312272,\n", + " \"y\": -2845.6286986979553\n", + " }\n", + "]\n" + ] + } + ], + "source": [ + "# Geometry contains the (x, y) position(s) for a road point\n", + "# Note that this will be a list for road lanes and edges but a single (x, y) tuple for stop signs and alike\n", + "print(json.dumps(traffic_scene['roads'][idx]['geometry'][:10], indent=4));" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "nocturne-research", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/02_nocturne_concepts.ipynb b/examples/02_nocturne_concepts.ipynb new file mode 100644 index 00000000..31369b85 --- /dev/null +++ b/examples/02_nocturne_concepts.ipynb @@ -0,0 +1,782 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Nocturne concepts\n", + "\n", + "This page introduces the most basic elements of nocturne. You can find further information about these [in Section 3 of the Nocturne paper](https://arxiv.org/abs/2206.09889).\n", + "\n", + "_Last update: 10/2023_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "data_path = '../data/example_scenario.json'" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Summary\n", + "\n", + "- Nocturne simulations are **discretized traffic scenarios**. A scenario is a constructed snapshot of traffic situation at a particular timepoint.\n", + "- The state of the vehicle of focus is referred to as the **ego state**. Each vehicle has their **own partial view of the traffic scene**; and a visible state is constructed by parameterizing the view distance, head angle and cone radius of the driver. The action for each vehicle is a `(1, 3)` tuple with the acceleration, steering and head angle of the vehicle. \n", + "- The **step method advances the simulation** with a desired step size. By default, the dynamics of vehicles are driven by a kinematic bicycle model. If a vehicle is set to expert-controlled mode, its position, heading, and speed will be updated according to a trajectory recorded from a human driver." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Simulation\n", + "\n", + "In Nocturne, a simulation discretizes an existing traffic scenario. At the moment, Nocturne supports traffic scenarios from the Waymo Open Dataset, but can be further extended to work with other driving datasets. \n", + "\n", + "
\n", + "
\n", + "\n", + "
An example of a set of traffic scenario's in Nocturne. Upon initialization, a start time is chosen. After each iteration we take a step in the simulation, which gets us to the next scenario. This is done until we reach the end of the simulation.
\n", + "
\n", + "\n", + "We show an example of this using `example_scenario.json`, where our traffic data is extracted from the Waymo open motion dataset:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from nocturne import Simulation\n", + "\n", + "scenario_config = {\n", + " 'start_time': 0, # When to start the simulation\n", + " 'allow_non_vehicles': True, # Whether to include cyclists and pedestrians \n", + " 'max_visible_road_points': 10, # Maximum number of road points for a vehicle\n", + " 'max_visible_objects': 10, # Maximum number of road objects for a vehicle\n", + " 'max_visible_traffic_lights': 10, # Maximum number of traffic lights in constructed view\n", + " 'max_visible_stop_signs': 10, # Maximum number of stop signs in constructed view\n", + "}\n", + "\n", + "# Create simulation\n", + "sim = Simulation(data_path, scenario_config)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Scenario\n", + "\n", + "A simulation consists of a set of scenarios. A scenario is a snapshot of the traffic scene at a particular timepoint. \n", + "\n", + "Here is how to create a scenario object:" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Get traffic scenario at timepoint\n", + "scenario = sim.getScenario()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `scenario` objects holds information we are interested in. Here are a couple of examples:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "33" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# The number of road objects in the scene\n", + "len(scenario.getObjects())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total # moving objects: 15\n", + "\n", + "Object IDs of moving vehicles: \n", + " [0, 1, 2, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32] \n" + ] + } + ], + "source": [ + "# The road objects that moved at a particular timepoint\n", + "objects_that_moved = scenario.getObjectsThatMoved()\n", + "\n", + "print(f'Total # moving objects: {len(objects_that_moved)}\\n')\n", + "print(f'Object IDs of moving vehicles: \\n {[obj.getID() for obj in objects_that_moved]} ')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "128" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Number of road lines\n", + "len(scenario.road_lines())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scenario.getVehicles()[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# No cyclists in this scene\n", + "scenario.getCyclists()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Found 2 moving vehicles in scene: [3, 32]\n" + ] + } + ], + "source": [ + "# Select all moving vehicles that move \n", + "moving_vehicles = [obj for obj in scenario.getVehicles() if obj in objects_that_moved]\n", + "\n", + "print(f'Found {len(moving_vehicles)} moving vehicles in scene: {[vehicle.getID() for vehicle in moving_vehicles]}')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Ego state\n", + "\n", + "The **ego state** is an array with features that describe the current vehicle. This array holds the following information: \n", + "- 0: length of ego vehicle\n", + "- 1: width of ego vehicle\n", + "- 2: speed of ego vehicle\n", + "- 3: distance to the goal position of ego vehicle\n", + "- 4: angle to the goal (target azimuth) \n", + "- 5: desired heading at goal position\n", + "- 6: desired speed at goal position\n", + "- 7: current acceleration\n", + "- 8: current steering position\n", + "- 9: current head angle" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selected vehicle # 3\n" + ] + }, + { + "data": { + "text/plain": [ + "array([ 4.4936213 , 1.9770377 , 0.07662283, 4.24219 , -0.05617166,\n", + " -0.05909407, 1.6792779 , 0. , 0. , 0. ],\n", + " dtype=float32)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Select an arbitrary vehicle\n", + "ego_vehicle = moving_vehicles[0]\n", + "\n", + "print(f'Selected vehicle # {ego_vehicle.getID()}')\n", + "\n", + "# Get the state for ego vehicle\n", + "scenario.ego_state(ego_vehicle)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Visible state\n", + "\n", + "We use the ego vehicle state, together with a view distance (how far the vehicle can see) and a view angle to construct the **visible state**. The figure below shows this procedure for a simplified traffic scene. \n", + "\n", + "Calling `scenario.visible_state()` returns a dictionary with four matrices:\n", + "- `stop_signs`: The visible stop signs \n", + "- `traffic_lights`: The states for the traffic lights from the perspective of the ego driver(red, yellow, green).\n", + "- `road_points`: The observable road points (static elements in the scene).\n", + "- `objects`: The observable road objects (vehicles, pedestrians and cyclists).\n", + "\n", + "
\n", + "
\n", + "\n", + "
To investigate coordination under partial observability, agents in Nocturne can only see an obstructed view of their environment. In this simplified traffic scene, we construct the state for the red ego driver. Note that Nocturne assumes that stop signs can be viewed, even if they are behind another driver.
\n", + "
\n", + "\n", + "\\begin{align*}\n", + "\\end{align*}\n", + "\n", + "
\n", + "
\n", + "\n", + "
The same scene, this time showing the view of the yellow car.
\n", + "
" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The shape of the visible state is a function of the maximum number of visible objects defined at initialization (traffic lights, stop signs, road objects, and road points) and whether we add padding. If `padding = True`, an array is of size `(max visible objects, # features)` is always constructed, even if there are no visible objects. Otherwise, if `padding = False` new entries are only created when objects are visible. \n", + "\n", + "For example, say a vehicle does not observe any stop signs at a given timepoint. If we set `padding=False`, and run `visible_state['stop_signs']`, we'll get back an empty array with the shape `(0, 3)`, where 3 is the number of features per stop sign. However, if the vehicle observes two stop signs using the same setting, then `visible_state['stop_signs']` will return an array with the shape `(2, 3)`.\n", + "\n", + "On the other hand, if we set `padding=True`, the resulting array will always have a shape of `(max visible stop signs, 3)`, irrespective of how many stop signs the vehicle actually observes." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_keys(['stop_signs', 'traffic_lights', 'road_points', 'objects'])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Define viewing distance, radius and head angle\n", + "view_distance = 80 \n", + "view_angle = np.radians(120) \n", + "head_angle = 0\n", + "padding = True \n", + "\n", + "# Construct the visible state for ego vehicle\n", + "visible_state = scenario.visible_state(\n", + " ego_vehicle, \n", + " view_dist=view_distance, \n", + " view_angle=view_angle,\n", + " head_angle=head_angle,\n", + " padding=padding,\n", + ")\n", + "\n", + "visible_state.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]], dtype=float32)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# There are no visible stop signs at this point\n", + "visible_state['stop_signs'].T" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],\n", + " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]], dtype=float32)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Traffic light states are filtered out in this version of Nocturne\n", + "visible_state['traffic_lights']" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10, 13)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Max visible road points x 13 features\n", + "visible_state['road_points'].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(10, 13)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Number of visible road objects x 13 features \n", + "visible_state['objects'].shape" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dimension flattened visible state: 410\n" + ] + } + ], + "source": [ + "visible_state_dim = sum([val.flatten().shape[0] for key, val in visible_state.items()])\n", + "\n", + "print(f'Dimension flattened visible state: {visible_state_dim}')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(410,)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# We can also flatten the visible state\n", + "# flattened has padding: if we miss an object --> zeros\n", + "visible_state_flat = scenario.flattened_visible_state(\n", + " ego_vehicle, \n", + " view_dist=view_distance, \n", + " view_angle=view_angle, \n", + " head_angle=head_angle, \n", + ")\n", + "\n", + "visible_state_flat.shape" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that `.flattened_visible_state()` adds padding by default." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Step \n", + "\n", + "`step(dt)` is a method call on an instance of the Simulation class, where `dt` is a scalar that represents the length of each simulation timestep in seconds. It advances the simulation by one timestep, which can result in changes to the state of the simulation (for example, new positions of objects, updated velocities, etc.) based on the physical laws and rules defined in the simulation.\n", + "\n", + "In the Waymo dataset, the length of the expert data is 9 seconds, a step size of 0.1 is used to discretize each traffic scene. The first second is used as a warm-start, leaving the remaining 8 seconds (80 steps) for the simulation (Details in Section 3.3)." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "dt = 0.1\n", + "\n", + "# Step the simulation\n", + "sim.step(dt)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Vehicle control\n", + "\n", + "By default, vehicles in Nocturne are driven by a **kinematic bicycle model**. This means that calling the `step(dt)` method evolves the dynamics of a vehicle according to the following set of equations (Appendix D in the paper):\n", + "\n", + "\\begin{align*}\n", + " \\textbf{position: } x_{t+1} &= x_t + \\dot{x} \\, \\Delta t \\\\\n", + " y_{t+1} &= y_t + \\dot{y} \\, \\Delta t \\\\\n", + " \\textbf{heading: } \\theta_{t+1} &= \\theta_t + \\dot{\\theta} \\, \\Delta t \\\\ \n", + " \\textbf{speed: } v_{t+1} &= \\text{clip}(v_t + \\dot{v} \\, \\Delta t, -v_{\\text{max}}, v_{\\text{max}}) \\\\\n", + "\\end{align*}\n", + "\n", + "with\n", + "\n", + "\\begin{align*}\n", + " \\dot{v} &= a \\\\ \n", + " \\bar{v} &= \\text{clip}(v_t, + 0.5 \\, \\dot{v} \\, \\Delta \\, t ,\\, - v_{\\text{max}}, v_{\\text{max}}) \\\\\n", + " \\beta &= \\tan^{-1} \\left( \\frac{l_r \\tan (\\delta)}{L} \\right) \\\\\n", + " &= \\tan^{-1} (0.5 \\tan(\\delta)) \\\\\n", + " \\dot{x} &= \\bar{v} \\cos (\\theta + \\beta) \\\\\n", + " \\dot{y} &= \\bar{v} \\sin (\\theta + \\beta) \\\\\n", + " \\dot{\\theta} &= \\frac{\\bar{v} \\cos (\\beta)\\tan(\\delta)}{L}\n", + "\\end{align*}\n", + "\n", + "where $(x_t, y_t)$ is the position of a vehicle at time $t$, $\\theta_t$ is the vehicles heading angle, $a$ is the acceleration and $\\delta$ is the steering angle. Finally, $L$ is the length of the car and $l_r = 0.5L$ is the distance to the rear axle of the car.\n", + "\n", + "If we set a vehicle to be **expert-controlled** instead, it will follow the same path as the respective human driver. This means that when we call the `step(dt)` function, the vehicle's position, heading, and speed will be updated to match the next point in the recorded human trajectory." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# By default, all vehicles are not expert controlled\n", + "ego_vehicle.expert_control" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "# Set a vehicle to be expert controlled:\n", + "ego_vehicle.expert_control = True" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "\n", + "> **Pseudocode**: How `step(dt)` advances the simulation for every vehicle. Full code is implemented in [scenario.cc](https://github.com/facebookresearch/nocturne/blob/ae0a4e361457caf6b7e397675cc86f46161405ed/nocturne/cpp/src/scenario.cc#L264)\n", + "\n", + "---\n", + "\n", + "```Python\n", + "for vehicle in vehicles:\n", + "\n", + " if object is not expert controlled:\n", + " step vehicle dynamics following the kinematic bicycle model\n", + " \n", + " if vehicle is expert controlled:\n", + " get current time & vehicle idx\n", + " vehicle position = expert trajectories[vehicle_idx, time]\n", + " vehicle heading = expert headings[vehicle_idx, time]\n", + " vehicle speed = expert speeds[vehicle_idx, time]\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Action space\n", + "\n", + "The action set for a vehicle consists of three components: acceleration, steering and the head angle. Actions are discretized based on a provided upper and lower bound.\n", + "\n", + "The experiments in the paper use:\n", + "- 6 discrete actions for **acceleration** uniformly split between $[-3, 2] \\, \\frac{m}{s^2}$\n", + "- 21 discrete actions for **steering** between $[-0.7, 0.7]$ radians \n", + "- 5 discrete actions for **head tilt** between $[-1.6, 1.6]$ radians\n", + "\n", + "This is how you can access an expert action for a vehicle in Nocturne:" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{acceleration: -0.224648, steering: -0.360994, head_angle: 0.000000}" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Choose an arbitrary timepoint\n", + "time = 5\n", + "\n", + "# Show expert action at timepoint\n", + "scenario.expert_action(ego_vehicle, time)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "expert_action = scenario.expert_action(ego_vehicle, time)\n", + "\n", + "expert_action = expert_action.numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "acceleration = expert_action[0]\n", + "steering = expert_action[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "nocturne_cpp.Action" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(scenario.expert_action(ego_vehicle, time))" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-0.005859, 0.004639)" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# How did the vehicle's position change after taking this action?\n", + "scenario.expert_pos_shift(ego_vehicle, time)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.0007097125053405762" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# How did the head angle change?\n", + "scenario.expert_heading_shift(ego_vehicle, time)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "nocturne-research", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb index 0a4ccc98..a5ed79e4 100644 --- a/examples/03_basic_rl_usage.ipynb +++ b/examples/03_basic_rl_usage.ipynb @@ -4,23 +4,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Basic RL usage\n", - "\n", - "- ..\n", - "- our basic environment configurations are specified in the env_config yaml file." + "## Basic RL usage" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 54, "metadata": {}, "outputs": [], "source": [ - "from importlib import reload\n", - "import yaml\n", - "import logging\n", - "\n", - "logging.basicConfig(level=logging.INFO)" + "import yaml" ] }, { @@ -29,18 +22,43 @@ "source": [ "### Initializing environments\n", "\n", - "Initializing an environment can be done with the `BaseEnv` class. This class uses the Nocturne simulator under the hood to create a basic RL interface based on a given traffic scenario (e.g. `example_scenario.json`).\n", "\n", - "Note:\n", + "#### Environment settings\n", + "\n", + "Initializing an environment is done with the `BaseEnv` class. The `BaseEnv` class leverages the Nocturne simulator to create a basic RL interface, based on the provided traffic scenarios. \n", "\n", "---\n", - "> ⚠️ The `env_config.yaml` file defines the action space, observation space, traffic scenarios we want to use, and more.\n", - "---\n" + "> 📝 The `env_config.yaml` file defines our environment settings, such as the action space, observation space and traffic scenarios to use.\n", + "---\n", + "\n", + "Check out `configs/env_config` for all the details!\n", + "\n", + "\n", + "#### Data\n", + "\n", + "Within our `env_config.yaml`, we specify the path to the folder containing the traffic scenarios to use as follows:\n", + "\n", + "```yaml\n", + "# Path to folder with traffic scene(s) from which to create an environment\n", + "data_path: ../data\n", + "```\n", + "\n", + "[Here](https://github.com/facebookresearch/nocturne/tree/main#downloading-the-dataset) are the instructions to access the complete dataset of traffic scenes. \n", + "\n", + "The data folder also has a file named `valid_files.json`. This file lists the names of all the valid traffic scenarios along with the ids of the vehicles that are not valid. These vehicles are excluded from our experiment.\n", + "\n", + "For simplicity, we currently added a single traffic scenario that includes two vehicles in our data folder. Both vehicles can be used, so our `valid_files.json` looks like this:\n", + "\n", + "```yaml\n", + "{\n", + " \"example_scenario.json\": []\n", + "}\n", + "```" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -50,12 +68,29 @@ "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", " env_config = yaml.safe_load(stream)\n", "\n", - "# Make environment\n", + "# Initialize environment\n", "env = BaseEnv(\n", " config=env_config,\n", ")" ] }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "controlling agents # [32, 3]\n" + ] + } + ], + "source": [ + "print(f'controlling agents # {[agent.id for agent in env.controlled_vehicles]}')" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -67,28 +102,53 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done after 80 steps -- total return in episode: {32: 2.2131572996676643, 3: 1.99559019886293}\n", + "Done after 80 steps -- total return in episode: {32: 2.239125186173855, 3: 1.515264166075405}\n", + "Done after 80 steps -- total return in episode: {32: 2.111057987645173, 3: -0.28087208758880106}\n", + "Done after 78 steps -- total return in episode: {32: 10.295581054315042, 3: 9.067465782257736}\n", + "Done after 80 steps -- total return in episode: {32: 2.3630561843629114, 3: 1.4357060624685754}\n", + "Done after 72 steps -- total return in episode: {32: 1.6086314833639868, 3: 10.145121757017481}\n", + "Done after 80 steps -- total return in episode: {32: 0.9865223892898515, 3: 2.227045011692687}\n", + "Done after 80 steps -- total return in episode: {32: 2.3417453472982963, 3: 0.7922847532241497}\n", + "Done after 80 steps -- total return in episode: {32: 1.3733428712017077, 3: 1.489925479607083}\n", + "Done after 50 steps -- total return in episode: {32: 1.2751634816741446, 3: 8.812925431540755}\n", + "Done after 80 steps -- total return in episode: {32: 1.9285019626504196, 3: 9.34253364643635}\n", + "Done after 80 steps -- total return in episode: {32: 2.0522551101390065, 3: 1.167289922314381}\n", + "Done after 80 steps -- total return in episode: {32: 1.1879356958808136, 3: 1.0664515030867252}\n" + ] + } + ], "source": [ "# Reset\n", "obs_dict = env.reset()\n", + "# Get info\n", "agent_ids = [agent_id for agent_id in obs_dict.keys()]\n", "dead_agent_ids = []\n", "num_agents = len(agent_ids)\n", + "rewards = {agent_id: 0 for agent_id in agent_ids}\n", "\n", - "for step in range(100):\n", + "for step in range(1000):\n", "\n", " # Sample actions\n", " action_dict = {\n", " agent_id: env.action_space.sample() \n", - " for agent_id in enumerate(agent_ids)\n", + " for agent_id in agent_ids\n", " if agent_id not in dead_agent_ids\n", " }\n", - "\n", + " \n", " # Step in env\n", " obs_dict, rew_dict, done_dict, info_dict = env.step(action_dict)\n", "\n", + " for agent_id in action_dict.keys():\n", + " rewards[agent_id] += rew_dict[agent_id]\n", + "\n", " # Update dead agents\n", " for agent_id, is_done in done_dict.items():\n", " if is_done and agent_id not in dead_agent_ids:\n", @@ -96,9 +156,12 @@ "\n", " # Reset if all agents are done\n", " if done_dict[\"__all__\"]:\n", + " print(f'Done after {env.step_num} steps -- total return in episode: {rewards}')\n", " obs_dict = env.reset()\n", " dead_agent_ids = []\n", + " rewards = {agent_id: 0 for agent_id in agent_ids}\n", "\n", + "# Close environment\n", "env.close()" ] }, @@ -106,35 +169,70 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "---\n", - "> ⚠️ The default env returns dictionaries \n", - "---" + "### Accessing information about the environment" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 55, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Box(-inf, inf, (10,), float32)" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### Accessing information about the environment" + "# The observation space \n", + "env.observation_space\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Discrete(9)" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "env.observation_space\n" + "# The size of the joint action space \n", + "env.action_space\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[, ]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "env.action_space\n" + "# Which agents are controlled?\n", + "env.controlled_vehicles" ] }, { From 1f0c3e25c0f890c4708a02f128ab19db012d30b6 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 11:52:32 -0400 Subject: [PATCH 15/40] update basic usage example --- examples/03_basic_rl_usage.ipynb | 64 +++++++++++++++----------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb index a5ed79e4..a89a06cf 100644 --- a/examples/03_basic_rl_usage.ipynb +++ b/examples/03_basic_rl_usage.ipynb @@ -7,15 +7,6 @@ "## Basic RL usage" ] }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [], - "source": [ - "import yaml" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -23,37 +14,15 @@ "### Initializing environments\n", "\n", "\n", - "#### Environment settings\n", + "#### **Environment settings**\n", "\n", - "Initializing an environment is done with the `BaseEnv` class. The `BaseEnv` class leverages the Nocturne simulator to create a basic RL interface, based on the provided traffic scenarios. \n", + "Initializing an environment is done with the `BaseEnv` class. The `BaseEnv` class leverages the `nocturne` simulator to create a basic RL interface, based on the provided traffic scenarios. \n", "\n", "---\n", "> 📝 The `env_config.yaml` file defines our environment settings, such as the action space, observation space and traffic scenarios to use.\n", "---\n", "\n", - "Check out `configs/env_config` for all the details!\n", - "\n", - "\n", - "#### Data\n", - "\n", - "Within our `env_config.yaml`, we specify the path to the folder containing the traffic scenarios to use as follows:\n", - "\n", - "```yaml\n", - "# Path to folder with traffic scene(s) from which to create an environment\n", - "data_path: ../data\n", - "```\n", - "\n", - "[Here](https://github.com/facebookresearch/nocturne/tree/main#downloading-the-dataset) are the instructions to access the complete dataset of traffic scenes. \n", - "\n", - "The data folder also has a file named `valid_files.json`. This file lists the names of all the valid traffic scenarios along with the ids of the vehicles that are not valid. These vehicles are excluded from our experiment.\n", - "\n", - "For simplicity, we currently added a single traffic scenario that includes two vehicles in our data folder. Both vehicles can be used, so our `valid_files.json` looks like this:\n", - "\n", - "```yaml\n", - "{\n", - " \"example_scenario.json\": []\n", - "}\n", - "```" + "Check out `configs/env_config` for all the details!" ] }, { @@ -62,6 +31,7 @@ "metadata": {}, "outputs": [], "source": [ + "import yaml\n", "from nocturne.envs.base_env import BaseEnv\n", "\n", "# Load environment settings\n", @@ -91,6 +61,32 @@ "print(f'controlling agents # {[agent.id for agent in env.controlled_vehicles]}')" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### **Data**\n", + "\n", + "Within our `env_config.yaml`, we specify the path to the folder containing the traffic scenarios to use as follows:\n", + "\n", + "```yaml\n", + "# Path to folder with traffic scene(s) from which to create an environment\n", + "data_path: ../data\n", + "```\n", + "\n", + "[Here](https://github.com/facebookresearch/nocturne/tree/main#downloading-the-dataset) are the instructions to access the complete dataset of traffic scenes. \n", + "\n", + "The data folder also has a file named `valid_files.json`. This file lists the names of all the valid traffic scenarios along with the ids of the vehicles that are not valid. These vehicles are excluded from our experiment.\n", + "\n", + "For simplicity, we currently added a single traffic scenario that includes two vehicles in our data folder. Both vehicles can be used, so our `valid_files.json` looks like this:\n", + "\n", + "```yaml\n", + "{\n", + " \"example_scenario.json\": []\n", + "}\n", + "```" + ] + }, { "cell_type": "markdown", "metadata": {}, From 63d9e7c5cb0ed4d30cda9e24f04bed61c8947413 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 11:52:51 -0400 Subject: [PATCH 16/40] update config --- configs/env_config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configs/env_config.yaml b/configs/env_config.yaml index 4499bc14..adf7a237 100644 --- a/configs/env_config.yaml +++ b/configs/env_config.yaml @@ -13,12 +13,12 @@ sims_per_step: 10 img_as_state: false discretize_actions: true include_head_angle: false # Whether to include the head tilt/angle as part of a vehicle's action -accel_discretization: 5 +accel_discretization: 3 accel_lower_bound: -2 accel_upper_bound: 2 steering_lower_bound: -0.25 # corresponds to about 40 degrees of max steering angle steering_upper_bound: 0.25 # corresponds to about 40 degrees of max steering angle -steering_discretization: 5 +steering_discretization: 3 max_num_vehicles: 20 randomize_goals: false scenario: @@ -90,4 +90,4 @@ subscriber: n_frames_stacked: 1 # Agent memory # Path to folder with traffic scene(s) from which to create an environment -data_path: ./data +data_path: ../data From 69203e6b488af272d617127c04b81b879a15406b Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 12:11:51 -0400 Subject: [PATCH 17/40] update readme --- README.md | 251 ++++++++---------------------------------------------- 1 file changed, 35 insertions(+), 216 deletions(-) diff --git a/README.md b/README.md index cafb3bff..12d934c5 100644 --- a/README.md +++ b/README.md @@ -1,235 +1,54 @@ -# Nocturne +# `nocturne_lab`: fast driving simulator 🧪 + 🚗 -Nocturne is a 2D, partially observed, driving simulator, built in C++ for speed and exported as a Python library. +`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. `nocturne_lab` is currently only used internally at the Emerge lab. -It is currently designed to handle traffic scenarios from the [Waymo Open Dataset](https://github.com/waymo-research/waymo-open-dataset), and with some work could be extended to support different driving datasets. Using the Python library `nocturne`, one is able to train controllers for AVs to solve various tasks from the Waymo dataset, which we provide as a benchmark, then use the tools we offer to evaluate the designed controllers. +## Basic usage -Using this rich data source, Nocturne contains a wide range of scenarios whose solution requires the formation of complex coordination, theory of mind, and handling of partial observability. Below we show replays of the expert data, centered on the light blue agent, with the corresponding view of the agent on the right. - -![Intersection Scene with Obscured View](./docs/readme_files/git_intersection_combined.gif) +```python +from nocturne.envs.base_env import BaseEnv -Nocturne features a rich variety of scenes, ranging from parking lots, to merges, to roundabouts, to unsignalized intersections. +# Initialize an environment +env = BaseEnv(config=env_config) -![Intersection Scene with Obscured View](./docs/readme_files/nocturne_3_by_3_scenes.gif) +# Reset +obs_dict = env.reset() +num_agents = len(env.controlled_agents) -More videos can be found [here](https://www.nathanlct.com/research/nocturne). +# Step through env +for _ in range(1000): -The corresponding paper is available at: [https://arxiv.org/abs/2206.09889](https://arxiv.org/abs/2206.09889). Please cite the paper and not the GitHub repository, using the following citation: + # Take action(s) + action_dict = { + agent_id: env.action_space.sample() + for agent_id in agent_ids + if agent_id not in dead_agent_ids + } -```bibtex -@article{nocturne2022, - author = {Vinitsky, Eugene and Lichtlé, Nathan and Yang, Xiaomeng and Amos, Brandon and Foerster, Jakob}, - journal = {arXiv preprint arXiv:2206.09889}, - title = {{Nocturne: a scalable driving benchmark for bringing multi-agent learning one step closer to the real world}}, - url = {https://arxiv.org/abs/2206.09889}, - year = {2022} -} -``` - -# Installation - -**Feel free to [open an issue](https://github.com/facebookresearch/nocturne/issues/new/choose) at any time if you encounter a problem, need some help with installing or using Nocturne, want to ask us any related question, or even propose a new feature. We will be happy to help!** - -## Dependencies - -[CMake](https://cmake.org/) is required to compile the C++ library. - -Run `cmake --version` to see whether CMake is already installed in your environment. If not, refer to the CMake website instructions for installation, or you can use: - -- `sudo apt-get -y install cmake` (Linux) -- `brew install cmake` (MacOS) - -### All machines besides OS with Mac M1 chip follow instructions below -Nocturne uses [SFML](https://github.com/SFML/SFML) for drawing and visualization, as well as on [pybind11](https://pybind11.readthedocs.io/en/latest/) for compiling the C++ code as a Python library. + # Step + obs_dict, rew_dict, done_dict, info_dict = env.step(action_dict) -To install SFML: + if done_dict["__all__"]: + obs_dict = env.reset() -- `sudo apt-get install libsfml-dev` (Linux) -- `brew install sfml` (MacOS) - -pybind11 is included as a submodule and will be installed in the next step. - -### Machines with a Mac M1 chip -Unfortunately if you have a Mac M1 chip you need to ensure that your SFML version is x86_64 instead of arm64; by default brew will install the arm64 variant. The following instructions will help you do this. - -1. Make sure you have rosetta2 installed. You can do this by running `softwareupdate --install-rosetta` from the command line. -2. Build an x86_64 version of brew (which you alias to brow) using the instructions here: [stackoverflow](https://stackoverflow.com/questions/64951024/how-can-i-run-two-isolated-installations-of-homebrew). -3. Now, run `brow install sfml` -then everything will compile fine. - -## Installing Nocturne - -Start by cloning the repo: - -```bash -git clone https://github.com/facebookresearch/nocturne.git -cd nocturne +env.close() ``` -Then run the following to install git submodules: -```bash -git submodule sync -git submodule update --init --recursive -``` +## Implemented algorithms -If you are using [Conda](https://docs.conda.io/en/latest/) (recommended), you can instantiate an environment and install Nocturne into it with the following: +| Algorithm | Reference | Code | Compatible with | Notes | +| -------------------------------------- | ---------------------------------------------------------- | ----- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| PPO with**single-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | | +| PPO with**multi-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | SB3 doesn't support multi-agent environments. Using the `VecEnv`class to treat observations from multiple agents as a set of vectorized single-agent environments. | +| | | | | | +| | | | | | -```bash -# create the environment and install the dependencies -conda env create -f environment.yml +## Installation -# activate the environment where the Python library should be installed -conda activate nocturne +#TODO -# run the C++ build and install Nocturne into the simulation environment -python setup.py develop -``` +## Ongoing work -If you are not using Conda, simply run the last command to build and install Nocturne at your default Python path. - -You should then be all set to use the library. To find an example of constructing a Gym environment, using a basic Simulation, or rendering scenes, go to -```examples``` and run respectively, ```create_env.py```, ```nocturne_functions.py``` or ```rendering.py```. - -Python tests can be run with `pytest`. - -
-Click here for a list of common installation errors - -### pybind11 installation errors - -If you are getting errors with pybind11, install it directly in your conda environment (eg. `conda install -c conda-forge pybind11` or `pip install pybind11`, cf. https://pybind11.readthedocs.io/en/latest/installing.html for more info). -
- -## Dataset - -### Downloading the dataset -Two versions of the dataset are available: -- a mini-one that is about 1 GB and consists of 1000 training files and 100 validation / test files at: [Dropbox Link](https://www.dropbox.com/sh/8mxue9rdoizen3h/AADGRrHYBb86pZvDnHplDGvXa?dl=0). -- the full dataset (150 GB) and consists of 134453 training files and 12205 validation / test files: [Dropbox Link](https://www.dropbox.com/sh/wv75pjd8phxizj3/AABfNPWfjQdoTWvdVxsAjUL_a?dl=0) - -Place the dataset in a folder of your choosing, unzip the folders inside of it, and change the DATA_FOLDER in ```cfgs/config.py``` to point to where you have -downloaded it. - -### (Optional) Rebuilding the Dataset -**Warning** this step is not necessary, the dataset has already been downloaded in the prior step. This is only needed if you want to rebuild the dataset from scratch. - -First, go to [Waymo Open](https://github.com/waymo-research/waymo-open-dataset/blob/master/tutorial/tutorial.ipynb) and follow the instructions to install the required packages. This may require additional steps if you are not on a Linux machine. - -If you do want to rebuild the dataset, download the Waymo Motion version 1.1 files. -- Open ```cfgs/config.py``` and change ```DATA_FOLDER``` to be the path to your Waymo motion files -- Run ```python scripts/json_generation/run_waymo_constructor.py --parallel --no_tl --all_files --datatype train valid```. This will construct, in parallel, a dataset of all the train and validation files in the waymo motion data. It should take on the order of 5 minutes with 20 CPUs. If you want to include traffic lights scenes, remove the ```--no_tl``` flag. -- To ensure that only files that have a guaranteed solution are included (for example, that there are no files where the agent goal is across an apparently uncrossable road edge), run ```python scripts/json_generation/make_solvable_files.py --datatype train valid```. - -## C++ build instructions - -If you want to build the C++ library independently of the Python one, run the following: - -```bash -cd nocturne/cpp -mkdir build -cd build -cmake .. -make -make install -``` +Here is a list of features that we are developing: -Subsequently, the C++ tests can be ran with `./tests/nocturne_test` from within the `nocturne/cpp/build` directory. - -# Usage - -To get a sense of available functionality in Nocturne, we have provided a few examples in the `examples` folder of how to construct the env (`create_env.py`), how to construct particular observations (`nocturne_functions.py`), and how to render results (`rendering.py`). - -**Note**: by default, Nocturne will log to ```$NOCTURNE_LOG_DIR``` which is set in ```nocturne/__init__.py``` and defaults to ```/logs```. If you'd like to log somewhere else, go to ```nocturne/__init__.py``` and change ```$NOCTURNE_LOG_DIR``` to a different path. - -The following goes over how to use training algorithms using the Nocturne environment. - -## Running the RL algorithms -Nocturne comes shipped with a default Gym environment in ```nocturne/envs/base_env.py```. Atop this, we build integration for a few popular RL libraries. - -Nocturne by default comes with support for three versions of Proximal Policy Optimization: -1. Sample Factory, a high throughput asynchronous PPO implementation (https://github.com/alex-petrenko/sample-factory) -2. RLlib's PPO (https://github.com/ray-project/ray/tree/master/rllib) -3. Multi-Agent PPO from (https://github.com/marlbenchmark/on-policy) -Each algorithm is in its corresponding folder in examples and has a corresponding config file in cfgs/ - -**Warning:** only the Sample Factory code has been extensively swept and tested. The default hyperparameters in there -should work for training the agents from the corresponding paper. The other versions are provided for convenience -but are not guaranteed to train a performant agent with the current hyperparameter settings. - -### Important hyperparameters to be aware of -There are a few key hyperparameters that we expect users to care quite a bit about. Each of these can be toggled by adding -```++=``` to the run command. -- ```num_files```: this controls how many training scenarios are used. Set to -1 to use all of them. -- ```max_num_vehicles```: this controls the maximum number of controllable agents in a scenario. If there are more than ```max_num_vehicles``` controllable agents in the scene, we sample ```max_num_vehicles``` randomly from them and set the remainder to be experts. If you want to ensure that all agents are controllable, simply pick a large number like 100. - -### Running Sample Factory -Files from Sample Factory can be run from examples/sample_factory_files and should work by default by running -```python examples/sample_factory_files/run_sample_factory.py algorithm=APPO``` -Additional config options for hyperparameters can be found in the config file. - -Once you have a trained checkpoint, you can visualize the results and make a movie of them by running ```python examples/sample_factory_files/visualize_sample_factory.py ```. - -*Warning*: because of how the algorithm is configured, Sample Factory works best with a fixed number of agents -operating on a fixed horizon. To enable this, we use the config parameter ```max_num_vehicles``` which initializes the environment with only scenes that have fewer controllable agents than ```max_num_vehicles```. Additionally, if there are fewer than ```max_num_vehicles``` in the scene we add dummy agents that receive a vector of -1 at all timesteps. When a vehicle exits the scene we continue providing it a vector of -1 as an observation and a reward of 0. - -### Running RLlib -Files from RLlib examples can be run from examples/rllib_files and should work by default by running -```python examples/rllib_files/run_rllib.py``` - -### Running on-policy PPO -Files from [MAPPO](https://github.com/marlbenchmark/on-policy) examples can be run from examples/rllib_files and should work by default by running -```python examples/on_policy_files/nocturne_runner.py algorithm=ppo``` - -## Running the IL Algorithms -Nocturne comes with a baseline implementation of behavioral cloning and a corresponding -DataLoader. This can be run via ```python examples/imitation_learning/train.py```. - -# Contributors - - - - - - - - - - - - - - -
- - Eugene Vinitsky - - - - Nathan Lichtlé - - - - Xiaomeng Yang - -
- - Eugene Vinitsky - - - - Nathan Lichtlé - - - - Xiaomeng Yang - -
- -# License - -The majority of Nocturne is licensed under the MIT license, however portions of the project are available under separate license terms. The Waymo Motion Dataset License can be found at https://waymo.com/open/terms/. +#TODO From 16d56a238c6cd9051ca13f97d1f37c54f914e80b Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 12:15:03 -0400 Subject: [PATCH 18/40] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12d934c5..07382f96 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,16 @@ for _ in range(1000): env.close() ``` +--- +> 🚀 **New here?** Get started with the intro [examples](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples) +--- ## Implemented algorithms | Algorithm | Reference | Code | Compatible with | Notes | | -------------------------------------- | ---------------------------------------------------------- | ----- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| PPO with**single-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | | -| PPO with**multi-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | SB3 doesn't support multi-agent environments. Using the `VecEnv`class to treat observations from multiple agents as a set of vectorized single-agent environments. | +| PPO **single-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | | +| PPO **multi-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | SB3 doesn't support multi-agent environments. Using the `VecEnv`class to treat observations from multiple agents as a set of vectorized single-agent environments. | | | | | | | | | | | | | From 2b476e6f63bc31de66746548ae35acb937404e0e Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 12:34:50 -0400 Subject: [PATCH 19/40] review and update base_env --- nocturne/envs/base_env.py | 82 +++++++++++++++------------------------ pyproject.toml | 2 + requirements.txt | 5 ++- 3 files changed, 36 insertions(+), 53 deletions(-) diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index 884edf85..eb715d06 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -10,17 +10,18 @@ from enum import Enum from itertools import islice, product from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple, TypeVar, Union +from typing import Any, Dict, Optional, Tuple, TypeVar, Union import numpy as np import torch +import yaml from box import Box as ConfigBox from gym import Env from gym.spaces import Box, Discrete from nocturne import Action, Simulation, Vector2D, Vehicle -_NUM_TRIES_TO_FIND_VALID_VEHICLE = 1_000 +_NUM_TRIES_TO_FIND_VALID_VEHICLE = 10 logging.getLogger(__name__) @@ -75,12 +76,18 @@ def __init__( # pylint: disable=too-many-arguments self.seed(self.config.seed) # Load the list of valid files - self.files, self.valid_veh_dict = _load_valid_files(self.config, sorted_=True) + with open(self.config.data_path / "valid_files.json", encoding="utf-8") as file: + self.valid_veh_dict = json.load(file) + files = sorted(list(self.valid_veh_dict.keys())) + if self.config.num_files != -1: + self.files = files[: self.config.num_files] + if len(self.files) == 0: + raise ValueError("Data path does not contain scenes.") obs_dict = self.reset() # Set observation space - self.observation_space = Box(low=-np.inf, high=np.inf, shape=obs_dict[list(obs_dict.keys())[0]].shape[0]) + self.observation_space = Box(low=-np.inf, high=np.inf, shape=(obs_dict[list(obs_dict.keys())[0]].shape[0],)) # Set action space if self.config.discretize_actions: @@ -275,8 +282,8 @@ def reset( # pylint: disable=arguments-differ,too-many-locals,too-many-branches # we don't want to initialize scenes with 0 actors after satisfying # all the conditions on a scene that we have for _ in range(_NUM_TRIES_TO_FIND_VALID_VEHICLE): - self.file = np.random.choice(self.files) if self.config.scene is None else self.config.scene - self.simulation = Simulation(self.config.data_path / self.file, config=self.config.scenario) + self.file = np.random.choice(self.files) + self.simulation = Simulation(str(self.config.data_path / self.file), config=self.config.scenario) self.scenario = self.simulation.getScenario() ##################################################################### @@ -327,36 +334,29 @@ def reset( # pylint: disable=arguments-differ,too-many-locals,too-many-branches ############################################ # Pick out the vehicles that we are controlling ############################################ - # ensure that we have no more than max_num_vehicles are controlled - temp_vehicles = np.random.shuffle(self.scenario.getObjectsThatMoved()) + # Ensure that no more than max_num_vehicles are controlled + temp_vehicles = np.random.permutation(self.scenario.getObjectsThatMoved()) curr_index = 0 self.controlled_vehicles = [] for vehicle in temp_vehicles: - # this vehicle was invalid at the end of the 1 second context - # step so we need to remove it. + # This vehicle was invalid at the end of the 1 second context + # step so we need to remove it if np.isclose(vehicle.position.x, self.config.scenario.invalid_position): self.scenario.removeVehicle(vehicle) - # If vehicle ID is given, use that as controlled vehicle - elif self.config.vehicle is not None: - if vehicle.id == self.config.vehicle: - self.controlled_vehicles.append(vehicle) - else: - vehicle.expert_control = True - # we don't want to include vehicles that had unachievable goals + # We don't want to include vehicles that had unachievable goals # as controlled vehicles elif not vehicle.expert_control and curr_index < self.config.max_num_vehicles: self.controlled_vehicles.append(vehicle) curr_index += 1 else: vehicle.expert_control = True + self.all_vehicle_ids = [veh.getID() for veh in self.controlled_vehicles] # check that we have at least one vehicle or if we have just one file, exit anyways # or else we might be stuck in an infinite loop if len(self.all_vehicle_ids) > 0: break - if len(self.files) == 1 or ("scene" in self.config and self.config.scene is not None): - raise ValueError(f"No controllable vehicle in scene {self.file}.") else: # No break in for-loop, i.e., no valid vehicle found in any of the files. raise ValueError(f"No controllable vehicles in any of the {len(self.files)} scenes.") @@ -511,7 +511,7 @@ def _set_discrete_action_space(self) -> None: ) self.idx_to_actions = {} - for i, (accel, steer) in product(self.accel_grid, self.steering_grid): + for i, (accel, steer) in enumerate(product(self.accel_grid, self.steering_grid)): self.idx_to_actions[i] = [accel, steer] def _set_continuous_action_space(self) -> None: @@ -533,36 +533,6 @@ def _set_continuous_action_space(self) -> None: self.idx_to_actions = None -def _load_valid_files(config: Dict[str, Any], *, sorted_: bool = True) -> Tuple[List[str], Dict[str, Dict[str, Any]]]: - """Load the list of valid files. - - Args - ---- - config (Dict[str, Any]): Configuration file for the environment. - - Optional Args - ------------- - sorted_ (bool): Whether to sort the files. - - Returns - ------- - Tuple[List[str]: List of valid files. - Dict[str, Dict[str, Any]]: Dictionary of valid vehicles. - """ - with open(config.data_path / "valid_files.json", encoding="utf-8") as file: - valid_veh_dict = json.load(file) - files = list(valid_veh_dict.keys()) - - # sort the files so that we have a consistent order - if sorted_: - files = sorted_(files) - - if config.num_files != -1: - files = files[: config.num_files] - - return files, valid_veh_dict - - def _angle_sub(current_angle: float, target_angle: float) -> float: """Subtract two angles to find the minimum angle between them. @@ -614,7 +584,8 @@ def _apply_action_to_vehicle( accel, steer = idx_to_actions[action] veh_obj.acceleration = accel veh_obj.steering = steer - raise NotImplementedError(f"Action type '{type(action)}' not supported.") + else: + raise NotImplementedError(f"Action type '{type(action)}' not supported.") def _position_as_array(position: Vector2D) -> np.ndarray: @@ -629,3 +600,12 @@ def _position_as_array(position: Vector2D) -> np.ndarray: np.ndarray: Position as an array. """ return np.array([position.x, position.y]) + + +if __name__ == "__main__": + # Load environment settings + with open("./configs/env_config.yaml", "r") as stream: + env_config = yaml.safe_load(stream) + + # Initialize environment + env = BaseEnv(config=env_config) diff --git a/pyproject.toml b/pyproject.toml index 131c5bd4..e9d8c373 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,6 +45,7 @@ torch = "^2.0.1" gym = "^0.26.2" pybind11 = "^2.11.1" python-box = "^7.1.1" +gymnasium = "^0.29.1" [tool.poetry.group.research.dependencies] ipykernel = "^6.25.2" @@ -76,6 +77,7 @@ convention = "google" [tool.pylint] max-line-length = 120 +disable = "W1514" [tool.isort] profile = "black" diff --git a/requirements.txt b/requirements.txt index 3040d877..5e9605e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,10 +11,12 @@ debugpy==1.8.0 ; python_version >= "3.10" and python_version < "3.13" decorator==5.1.1 ; python_version >= "3.10" and python_version < "3.13" exceptiongroup==1.1.3 ; python_version >= "3.10" and python_version < "3.11" executing==2.0.0 ; python_version >= "3.10" and python_version < "3.13" +farama-notifications==0.0.4 ; python_version >= "3.10" and python_version < "3.13" filelock==3.12.4 ; python_version >= "3.10" and python_version < "3.13" fonttools==4.43.0 ; python_version >= "3.10" and python_version < "3.13" gym-notices==0.0.8 ; python_version >= "3.10" and python_version < "3.13" gym==0.26.2 ; python_version >= "3.10" and python_version < "3.13" +gymnasium==0.29.1 ; python_version >= "3.10" and python_version < "3.13" ipykernel==6.25.2 ; python_version >= "3.10" and python_version < "3.13" ipython==8.16.1 ; python_version >= "3.10" and python_version < "3.13" jedi==0.19.1 ; python_version >= "3.10" and python_version < "3.13" @@ -44,7 +46,6 @@ pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" pycparser==2.21 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" pygments==2.16.1 ; python_version >= "3.10" and python_version < "3.13" pyparsing==3.1.1 ; python_version >= "3.10" and python_version < "3.13" -python-box==7.1.1 ; python_version >= "3.10" and python_version < "3.13" python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "3.13" pytz==2023.3.post1 ; python_version >= "3.10" and python_version < "3.13" pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "3.13" @@ -58,7 +59,7 @@ sympy==1.12 ; python_version >= "3.10" and python_version < "3.13" tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" torch==2.0.1 ; python_version >= "3.10" and python_version < "3.13" tornado==6.3.3 ; python_version >= "3.10" and python_version < "3.13" -traitlets==5.11.2 ; python_version >= "3.10" and python_version < "3.13" +traitlets==5.10.1 ; python_version >= "3.10" and python_version < "3.13" typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.13" tzdata==2023.3 ; python_version >= "3.10" and python_version < "3.13" wcwidth==0.2.8 ; python_version >= "3.10" and python_version < "3.13" From 570c2fc0ea2ce9668b79a4fa3aa62348e76bfa3e Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 15:10:47 -0400 Subject: [PATCH 20/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 07382f96..f026147f 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ env.close() ``` --- -> 🚀 **New here?** Get started with the intro [examples](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples) +> 🚀 **New here?** Get started with the [intro examples](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples) --- ## Implemented algorithms From 6f5f783e3fb4c5b7ad343975cd569e9635719fc3 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 15:11:16 -0400 Subject: [PATCH 21/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f026147f..391b19fe 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # `nocturne_lab`: fast driving simulator 🧪 + 🚗 -`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. `nocturne_lab` is currently only used internally at the Emerge lab. +`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. ## Basic usage From 7bca092457493dc80a27605486bb0fc51072d550 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 15:14:01 -0400 Subject: [PATCH 22/40] Cleanup --- cfgs/config.yaml | 122 --------- cfgs/cpp_ | 0 nocturne/envs/wrappers.py | 107 -------- nocturne/utils/eval/average_displacement.py | 226 ----------------- nocturne/utils/eval/collision_rate.py | 108 -------- nocturne/utils/eval/goal_by_intersection.py | 259 -------------------- nocturne/utils/eval/goal_reaching_rate.py | 107 -------- 7 files changed, 929 deletions(-) delete mode 100644 cfgs/config.yaml delete mode 100644 cfgs/cpp_ delete mode 100644 nocturne/envs/wrappers.py delete mode 100644 nocturne/utils/eval/average_displacement.py delete mode 100644 nocturne/utils/eval/collision_rate.py delete mode 100644 nocturne/utils/eval/goal_by_intersection.py delete mode 100644 nocturne/utils/eval/goal_reaching_rate.py diff --git a/cfgs/config.yaml b/cfgs/config.yaml deleted file mode 100644 index cf123dbf..00000000 --- a/cfgs/config.yaml +++ /dev/null @@ -1,122 +0,0 @@ -defaults: - - algorithm: ppo - - override hydra/launcher: submitit_local - -seed: 0 -device: 'cuda:0' -debug: False -experiment: intersection -env: my_custom_multi_env_v1 # name of the env, hardcoded for now - -# WANDB things -wandb: False -wandb_project: nocturne4 -wandb_id: null -wandb_group: ${experiment} - -# one of the agents will be randomly tagged as the -# agent that we control, the rest of the agents will -# replay trajectories -single_agent_mode: False -# all goals are achievable within 90 steps -episode_length: 80 -# how many files of the total dataset to use. -1 indicates to use all of them -num_files: -1 -scenario_path: ${oc.env:PROCESSED_TRAIN_NO_TL} -dt: 0.1 -sims_per_step: 10 -img_as_state: False -discretize_actions: True -accel_discretization: 6 -accel_lower_bound: -3 -accel_upper_bound: 2 -steering_lower_bound: -0.7 # corresponds to about 40 degrees of max steering angle -steering_upper_bound: 0.7 # corresponds to about 40 degrees of max steering angle -steering_discretization: 21 -head_angle_lower_bound: -1.6 -head_angle_upper_bound: 1.6 -head_angle_discretization: 5 -max_num_vehicles: 20 # we want to upper bound how many agents there can be in the scene - # this is mostly useful because RL libraries expect it -# TODO(eugenevinitsky) actually implement this -randomize_goals: False -scenario: - # initial timestep of the scenario (which ranges from timesteps 0 to 90) - start_time: 0 - # if set to True, non-vehicle objects (eg. cyclists, pedestrians...) will be spawned - allow_non_vehicles: False - # for an object to be included into moving_objects - moving_threshold: 0.2 # its goal must be at least this distance from its initial position - speed_threshold: 0.05 # its speed must be superior to this value at some point - # maximum number of each objects visible in the object state - # if there are more objects, the closest ones are prioritized - # if there are less objects, the features vector is padded with zeros - max_visible_objects: 16 - max_visible_road_points: 1000 - max_visible_traffic_lights: 20 - max_visible_stop_signs: 4 - # from the set of road points that comprise each polyline, we take - # every n-th one of these - sample_every_n: 1 - # if true we add all the road-edges (the edges you can collide with) - # to the visible road points first and only add the other points - # (road lines, lane lines) etc. if we have remaining states after - road_edge_first: False - -# these configs are mostly used for aligning displacement error computations -# with the standard way of doing it in other libraries i.e. we keep -# the agent for the whole rollout and compute its distance from the expert -# at all the points that the expert is valid -remove_at_goal: True # if true, remove the agent when it reaches its goal -remove_at_collide: True # if true, remove the agent when it collides - -rew_cfg: - shared_reward: False # agents get the collective reward instead of individual rewards - goal_tolerance: 0.5 - reward_scaling: 10.0 # rescale all the rewards by this value. This can help w/ some learning algorithms - collision_penalty: 0 - shaped_goal_distance_scaling: 0.2 - shaped_goal_distance: True - goal_distance_penalty: False # if shaped_goal_distance is true, then when this is True the goal distance - # is a penalty for being far from - # goal instead of a reward for being close - goal_achieved_bonus: ${episode_length} - # goal is only achieved if you're within this tolerance on distance from goal - position_target: True - position_target_tolerance: 1.0 - # goal is only achieved if you're within this tolerance on final agent speed at goal position - speed_target: True - speed_target_tolerance: 1.0 - # goal is only achieved if you're within this tolerance on final agent heading at goal position - heading_target: True - heading_target_tolerance: 0.3 -subscriber: - view_angle: 2.1 - # the distance which the cone extends before agents are not visible - # TODO(eugenevinitsky) pick the right number - view_dist: 80 - use_ego_state: True - use_observations: True - # if true, we return an observation for agents that have exited the system - # as well as returning an observation for the extra agents if the number of - # agents in the system is less than max_num_vehicles - keep_inactive_agents: False - # for values greater than 1, we will stack inputs together - n_frames_stacked: 1 - -results_dir: ${oc.env:NOCTURNE_LOG_DIR} - -hydra: - run: - dir: ${results_dir}/test/${now:%Y.%m.%d}/${experiment}/${now:%H.%M.%S}/${hydra.job.override_dirname} - sweep: - dir: ${results_dir}/${oc.env:USER}/nocturne/sweep/${now:%Y.%m.%d}/${experiment}/${now:%H.%M.%S} - subdir: ${hydra.job.num} - launcher: - timeout_min: 2880 - cpus_per_task: 10 - gpus_per_node: 1 - tasks_per_node: 1 - mem_gb: 160 - nodes: 1 - submitit_folder: ${results_dir}/sweep/${now:%Y.%m.%d}/${now:%H%M}_${experiment}/.slurm diff --git a/cfgs/cpp_ b/cfgs/cpp_ deleted file mode 100644 index e69de29b..00000000 diff --git a/nocturne/envs/wrappers.py b/nocturne/envs/wrappers.py deleted file mode 100644 index da846671..00000000 --- a/nocturne/envs/wrappers.py +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Wrappers and env constructors for the environments.""" -from gym.spaces import Box -import numpy as np - -from nocturne.envs import BaseEnv - - -class OnPolicyPPOWrapper(object): - """Wrapper to make env compatible with On-Policy code.""" - - def __init__(self, env, use_images=False): - """Wrap with appropriate observation spaces and make fixed length. - - Args - ---- - env ([type]): [description] - no_img_concat (bool, optional): If true, we don't concat images into the 'state' key - """ - self._env = env - self.use_images = use_images - - self.n = self.cfg.max_num_vehicles - obs_dict = self.reset() - # tracker used to match observations to actions - self.agent_ids = [] - self.feature_shape = obs_dict[0].shape - self.share_observation_space = [ - Box(low=-np.inf, - high=+np.inf, - shape=self.feature_shape, - dtype=np.float32) for _ in range(self.n) - ] - - @property - def observation_space(self): - """See superclass.""" - return [self._env.observation_space for _ in range(self.n)] - - @property - def action_space(self): - """See superclass.""" - return [self._env.action_space for _ in range(self.n)] - - def step(self, actions): - """Convert returned dicts to lists.""" - agent_actions = {} - for action_vec, agent_id in zip(actions, self.agent_ids): - agent_actions[agent_id] = action_vec - next_obses, rew, done, info = self._env.step(agent_actions) - obs_n = [] - rew_n = [] - done_n = [] - info_n = [] - for key in self.agent_ids: - if isinstance(next_obses[key], dict): - obs_n.append(next_obses[key]['features']) - else: - obs_n.append(next_obses[key]) - rew_n.append([rew[key]]) - done_n.append(done[key]) - agent_info = info[key] - agent_info['individual_reward'] = rew[key] - info_n.append(agent_info) - return obs_n, rew_n, done_n, info_n - - def reset(self): - """Convert observation dict to list.""" - obses = self._env.reset() - obs_n = [] - self.agent_ids = [] - for key in obses.keys(): - self.agent_ids.append(key) - if not hasattr(self, 'agent_key'): - self.agent_key = key - if isinstance(obses[key], dict): - obs_n.append(obses[key]['features']) - else: - obs_n.append(obses[key]) - return obs_n - - def render(self, mode=None): - """See superclass.""" - return self._env.render(mode) - - def seed(self, seed=None): - """See superclass.""" - self._env.seed(seed) - - def __getattr__(self, name): - """See superclass.""" - return getattr(self._env, name) - - -def create_env(cfg): - """Return the base environment.""" - env = BaseEnv(cfg) - return env - - -def create_ppo_env(cfg, rank=0): - """Return a PPO wrapped environment.""" - env = BaseEnv(cfg, rank=rank) - return OnPolicyPPOWrapper(env, use_images=cfg.img_as_state) diff --git a/nocturne/utils/eval/average_displacement.py b/nocturne/utils/eval/average_displacement.py deleted file mode 100644 index 4d6502ad..00000000 --- a/nocturne/utils/eval/average_displacement.py +++ /dev/null @@ -1,226 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Average displacement error computation.""" -from collections import defaultdict -from itertools import repeat -import json -from multiprocessing import Pool -import os -import random - -import numpy as np -import torch - -from cfgs.config import PROCESSED_VALID_NO_TL, ERR_VAL -from nocturne import Simulation - -SIM_N_STEPS = 90 # number of steps per trajectory -GOAL_TOLERANCE = 0.5 - - -def _average_displacement_impl(arg): - trajectory_path, model, configs = arg - print(trajectory_path) - - scenario_config = configs['scenario_cfg'] - - view_dist = configs['dataloader_cfg']['view_dist'] - view_angle = configs['dataloader_cfg']['view_angle'] - state_normalization = configs['dataloader_cfg']['state_normalization'] - dt = configs['dataloader_cfg']['dt'] - - n_stacked_states = configs['dataloader_cfg']['n_stacked_states'] - state_size = configs['model_cfg']['n_inputs'] // n_stacked_states - state_dict = defaultdict(lambda: np.zeros(state_size * n_stacked_states)) - - # create expert simulation - sim_expert = Simulation(str(trajectory_path), scenario_config) - scenario_expert = sim_expert.getScenario() - vehicles_expert = scenario_expert.getVehicles() - objects_expert = scenario_expert.getObjectsThatMoved() - id2veh_expert = {veh.id: veh for veh in vehicles_expert} - - # create model simulation - sim_model = Simulation(str(trajectory_path), scenario_config) - scenario_model = sim_model.getScenario() - vehicles_model = scenario_model.getVehicles() - objects_model = scenario_model.getObjectsThatMoved() - - # set all objects to be expert-controlled - for obj in objects_expert: - obj.expert_control = True - for obj in objects_model: - obj.expert_control = True - - # in model sim, model will control vehicles that moved - controlled_vehicles = [ - veh for veh in vehicles_model if veh in objects_model - ] - random.shuffle(controlled_vehicles) - # controlled_vehicles = controlled_vehicles[:2] - - # warmup to build up state stacking - for i in range(n_stacked_states - 1): - for veh in controlled_vehicles: - ego_state = scenario_model.ego_state(veh) - visible_state = scenario_model.flattened_visible_state( - veh, view_dist=view_dist, view_angle=view_angle) - state = np.concatenate( - (ego_state, visible_state)) / state_normalization - state_dict[veh.getID()] = np.roll(state_dict[veh.getID()], - len(state)) - state_dict[veh.getID()][:len(state)] = state - sim_model.step(dt) - sim_expert.step(dt) - - for veh in controlled_vehicles: - veh.expert_control = False - - avg_displacements = [] - final_displacements = [0 for _ in controlled_vehicles] - collisions = [False for _ in controlled_vehicles] - goal_achieved = [False for _ in controlled_vehicles] - for i in range(SIM_N_STEPS - n_stacked_states): - for veh in controlled_vehicles: - if np.isclose(veh.position.x, ERR_VAL): - veh.expert_control = True - else: - veh.expert_control = False - # set model actions - all_states = [] - for veh in controlled_vehicles: - # get vehicle state - state = np.concatenate( - (scenario_model.ego_state(veh), - scenario_model.flattened_visible_state( - veh, view_dist=view_dist, - view_angle=view_angle))) / state_normalization - # stack state - state_dict[veh.getID()] = np.roll(state_dict[veh.getID()], - len(state)) - state_dict[veh.getID()][:len(state)] = state - all_states.append(state_dict[veh.getID()]) - all_states = torch.as_tensor(np.array(all_states), dtype=torch.float32) - - # compute vehicle actions - all_actions = model(all_states, deterministic=True - ) # /!\ this returns an array (2,n) and not (n,2) - accel_actions = all_actions[0].cpu().numpy() - steering_actions = all_actions[1].cpu().numpy() - # set vehicles actions - for veh, accel_action, steering_action in zip(controlled_vehicles, - accel_actions, - steering_actions): - veh.acceleration = accel_action - veh.steering = steering_action - - # step simulations - sim_expert.step(dt) - sim_model.step(dt) - - # compute displacements over non-collided vehicles - displacements = [] - for i, veh in enumerate(controlled_vehicles): - # get corresponding vehicle in expert simulation - expert_veh = id2veh_expert[veh.id] - # make sure it is valid - if np.isclose(expert_veh.position.x, - ERR_VAL) or expert_veh.collided: - continue - # print(expert_veh.position, veh.position) - # compute displacement - expert_pos = id2veh_expert[veh.id].position - model_pos = veh.position - pos_diff = (model_pos - expert_pos).norm() - displacements.append(pos_diff) - final_displacements[i] = pos_diff - if veh.collided: - collisions[i] = True - if (veh.position - veh.target_position).norm() < GOAL_TOLERANCE: - goal_achieved[i] = True - - # average displacements over all vehicles - if len(displacements) > 0: - avg_displacements.append(np.mean(displacements)) - # print(displacements, np.mean(displacements)) - - # average displacements over all time steps - avg_displacement = np.mean( - avg_displacements) if len(avg_displacements) > 0 else np.nan - final_displacement = np.mean( - final_displacements) if len(final_displacements) > 0 else np.nan - avg_collisions = np.mean(collisions) if len(collisions) > 0 else np.nan - avg_goals = np.mean(goal_achieved) if len(goal_achieved) > 0 else np.nan - print('displacements', avg_displacement) - print('final_displacement', final_displacement) - print('collisions', avg_collisions) - print('goal_rate', avg_goals) - return avg_displacement, final_displacement, avg_collisions, avg_goals - - -def compute_average_displacement(trajectories_dir, model, configs): - """Compute average displacement error between a model and the ground truth.""" - NUM_FILES = 200 - # get trajectories paths - with open(os.path.join(trajectories_dir, 'valid_files.json')) as file: - valid_veh_dict = json.load(file) - files = list(valid_veh_dict.keys()) - # sort the files so that we have a consistent order - np.random.seed(0) - np.random.shuffle(files) - # compute average displacement over each individual trajectory file - trajectories_paths = files[:NUM_FILES] - for i, trajectory in enumerate(trajectories_paths): - trajectories_paths[i] = os.path.join(trajectories_dir, trajectory) - with Pool(processes=14) as pool: - result = list( - pool.map(_average_displacement_impl, - zip(trajectories_paths, repeat(model), repeat(configs)))) - average_displacements = np.array(result)[:, 0] - final_displacements = np.array(result)[:, 1] - average_collisions = np.array(result)[:, 2] - average_goals = np.array(result)[:, 3] - print(average_displacements, final_displacements, average_collisions, - average_goals) - - return [ - np.mean(average_displacements[~np.isnan(average_displacements)]), - np.std(average_displacements[~np.isnan(average_displacements)]) - ], [ - np.mean(final_displacements[~np.isnan(final_displacements)]), - np.std(final_displacements[~np.isnan(final_displacements)]) - ], [ - np.mean(average_collisions[~np.isnan(average_collisions)]), - np.std(average_collisions[~np.isnan(average_displacements)]) - ], [ - np.mean(average_goals[~np.isnan(average_goals)]), - np.std(average_goals[~np.isnan(average_goals)]) - ] - - -if __name__ == '__main__': - from examples.imitation_learning.model import ImitationAgent # noqa: F401 - model = torch.load( - '/checkpoint/eugenevinitsky/nocturne/test/2022.06.05/test/14.23.17/\ - ++device=cuda,++file_limit=1000/train_logs/2022_06_05_14_23_23/model_600.pth' - ).to('cpu') - model.actions_grids = [x.to('cpu') for x in model.actions_grids] - model.eval() - model.nn[0].eval() - with open( - '/checkpoint/eugenevinitsky/nocturne/test/2022.06.05/test/14.23.17/\ - ++device=cuda,++file_limit=1000/train_logs/2022_06_05_14_23_23/configs.json', - 'r') as fp: - configs = json.load(fp) - configs['device'] = 'cpu' - with torch.no_grad(): - ade, fde, collisions, goals = compute_average_displacement( - PROCESSED_VALID_NO_TL, model=model, configs=configs) - print(f'Average Displacement Error: {ade[0]:.3f} ± {ade[1]:.3f} meters') - print(f'Final Displacement Error: {fde[0]:.3f} ± {fde[1]:.3f} meters') - print(f'Average Collisions: {collisions[0]:.3f} ± {collisions[1]:.3f}%') - print( - f'Average Success at getting to goal: {goals[0]:.3f} ± {goals[1]:.3f}%' - ) diff --git a/nocturne/utils/eval/collision_rate.py b/nocturne/utils/eval/collision_rate.py deleted file mode 100644 index 38e29755..00000000 --- a/nocturne/utils/eval/collision_rate.py +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Collision rate computation.""" -from pathlib import Path -import numpy as np -import torch - -from nocturne import Simulation -from cfgs.config import ERR_VAL as INVALID_POSITION - - -SIM_N_STEPS = 90 # number of steps per trajectory -SIM_STEP_TIME = 0.1 # dt (in seconds) - - -def _collision_rate_impl(trajectory_path, model=None, sim_allow_non_vehicles=True, check_vehicles_only=True): - # create expert simulation - sim = Simulation(scenario_path=str(trajectory_path), start_time=0, allow_non_vehicles=sim_allow_non_vehicles) - scenario = sim.getScenario() - vehicles = scenario.getVehicles() - objects_that_moved = scenario.getObjectsThatMoved() - vehicles_that_moved = [veh for veh in vehicles if veh in objects_that_moved] - - # set all objects to be expert-controlled - for obj in objects_that_moved: - obj.expert_control = True - for obj in vehicles: - obj.expert_control = True - - # if a model is given, model will control vehicles that moved - if model is not None: - controlled_vehicles = vehicles_that_moved - for veh in controlled_vehicles: - veh.expert_control = False - else: - controlled_vehicles = [] - - # vehicles to check for collisions on - objects_to_check = [ - obj for obj in (vehicles_that_moved if check_vehicles_only else objects_that_moved) - if (obj.target_position - obj.position).norm() > 0.5 - ] - - # step sim until the end and check for collisions - collided_with_vehicle = {obj.id: False for obj in objects_to_check} - collided_with_edge = {obj.id: False for obj in objects_to_check} - for i in range(SIM_N_STEPS): - # set model actions - for veh in controlled_vehicles: - # get vehicle state - state = torch.as_tensor(np.expand_dims(np.concatenate( - (scenario.ego_state(veh), - scenario.flattened_visible_state(veh, view_dist=120, view_angle=3.14)) - ), axis=0), dtype=torch.float32) - # compute vehicle action - action = model(state)[0] - # set vehicle action - veh.acceleration = action[0] - veh.steering = action[1] - - # step simulation - sim.step(SIM_STEP_TIME) - - # check for collisions - for obj in objects_to_check: - if not np.isclose(obj.position.x, INVALID_POSITION) and obj.collided: - if int(obj.collision_type) == 1: - collided_with_vehicle[obj.id] = True - if int(obj.collision_type) == 2: - collided_with_edge[obj.id] = True - - # compute collision rate - collisions_with_vehicles = list(collided_with_vehicle.values()) - collisions_with_edges = list(collided_with_edge.values()) - collision_rate_vehicles = collisions_with_vehicles.count(True) / len(collisions_with_vehicles) - collision_rate_edges = collisions_with_edges.count(True) / len(collisions_with_edges) - - return collision_rate_vehicles, collision_rate_edges - - -def compute_average_collision_rate(trajectories_dir, model=None, **kwargs): - """Compute average collision rate for a model.""" - # get trajectories paths - if isinstance(trajectories_dir, str): - # if trajectories_dir is a string, treat it as the path to a directory of trajectories - trajectories_dir = Path(trajectories_dir) - trajectories_paths = list(trajectories_dir.glob('*tfrecord*.json')) - elif isinstance(trajectories_dir, list): - # if trajectories_dir is a list, treat it as a list of paths to trajectory files - trajectories_paths = [Path(path) for path in trajectories_dir] - # compute average collision rate over each individual trajectory file - average_collision_rates = np.array(list(map( - lambda path: _collision_rate_impl(path, model, **kwargs), - trajectories_paths - ))) - - return np.mean(average_collision_rates, axis=0) - - -if __name__ == '__main__': - from nocturne.utils.imitation_learning.waymo_data_loader import ImitationAgent # noqa: F401 - model = torch.load('model.pth') - collisions_with_vehicles, collisions_with_road_lines = \ - compute_average_collision_rate('dataset/json_files', model=None) - print(f'Average Collision Rate: {100*collisions_with_vehicles:.2f}% with vehicles, ' - f'{100*collisions_with_road_lines:.2f}% with road lines') diff --git a/nocturne/utils/eval/goal_by_intersection.py b/nocturne/utils/eval/goal_by_intersection.py deleted file mode 100644 index e3d36f20..00000000 --- a/nocturne/utils/eval/goal_by_intersection.py +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Goal reaching rate and collision rate computation as a function of number of intersections in expert trajectory.""" -from pathlib import Path -import numpy as np -import torch -from collections import defaultdict -import random -import json - -from nocturne import Simulation -from cfgs.config import ERR_VAL as INVALID_POSITION -from multiprocessing import Pool -from itertools import repeat, combinations - -SIM_N_STEPS = 90 # number of steps per trajectory -GOAL_TOLERANCE = 0.5 - - -def _compute_expert_intersections(trajectory_path): - with open(trajectory_path, 'r') as fp: - data = json.load(fp) - - segments = defaultdict(list) - for veh_id, veh in enumerate(data['objects']): - # note: i checked and veh_id is consistent with how it's loaded in simulation - - for i in range(len(veh['position']) - 1): - # compute polyline (might not be continuous since we have invalid positions) - segment = np.array([ - [veh['position'][i]['x'], veh['position'][i]['y']], - [veh['position'][i + 1]['x'], veh['position'][i + 1]['y']], - ]) - - # if segment doesnt contain an invalid position, append to trajectory - if np.isclose(segment, INVALID_POSITION).any(): - continue - segments[veh_id].append(segment) - - # go over pair of vehicles and check if their segments intersect - n_collisions = defaultdict(int) - for veh1, veh2 in combinations(segments.keys(), 2): - # get corresponding segments - segments1 = np.array(segments[veh1]) - segments2 = np.array(segments[veh2]) - - # check bounding rectangle intersection - O(n) - xmin1, ymin1 = np.min(np.min(segments1, axis=0), axis=0) - xmax1, ymax1 = np.max(np.max(segments1, axis=0), axis=0) - xmin2, ymin2 = np.min(np.min(segments2, axis=0), axis=0) - xmax2, ymax2 = np.max(np.max(segments2, axis=0), axis=0) - - if xmax1 <= xmin2 or xmax2 <= xmin1 or ymax1 <= ymin2 or ymax2 <= ymin1: - # segments can't intersect since their bounding rectangle don't intersect - continue - - # check intersection over pairs of segments - O(n^2) - - # construct numpy array of shape (N = len(segments1) * len(segments2), 4, 2) - # where each element contain 4 points ABCD (segment AB of segments1 and segment CD of segments2) - idx1 = np.repeat( - np.arange(len(segments1)), - len(segments2)) # build indexes 1 1 1 2 2 2 3 3 3 4 4 4 - idx2 = np.tile(np.arange(len(segments2)), - len(segments1)) # build indexes 1 2 3 1 2 3 1 2 3 1 2 3 - segment_pairs = np.concatenate( - (segments1[idx1], segments2[idx2]), - axis=1) # concatenate to create all pairs - - # now we need to check if at least one element ABCD contains an intersection between segment AB and segment CD - def ccw(A, B, C): - return (C[:, 1] - A[:, 1]) * (B[:, 0] - A[:, 0]) > ( - B[:, 1] - A[:, 1]) * (C[:, 0] - A[:, 0]) - - # ABCD are each arrays of N points (shape (N, 2)) - A = segment_pairs[:, 0] - B = segment_pairs[:, 1] - C = segment_pairs[:, 2] - D = segment_pairs[:, 3] - if np.logical_and( - ccw(A, C, D) != ccw(B, C, D), - ccw(A, B, C) != ccw(A, B, D)).any(): - n_collisions[veh1] += 1 - n_collisions[veh2] += 1 - - return n_collisions - - -def _intesection_metrics_impl(trajectory_path, model, configs): - print(trajectory_path) - - scenario_config = configs['scenario_cfg'] - - view_dist = configs['dataloader_cfg']['view_dist'] - view_angle = configs['dataloader_cfg']['view_angle'] - state_normalization = configs['dataloader_cfg']['state_normalization'] - dt = configs['dataloader_cfg']['dt'] - - n_stacked_states = configs['dataloader_cfg']['n_stacked_states'] - state_size = configs['model_cfg']['n_inputs'] // n_stacked_states - state_dict = defaultdict(lambda: np.zeros(state_size * n_stacked_states)) - - # create model simulation - sim = Simulation(str(trajectory_path), scenario_config) - scenario = sim.getScenario() - vehicles = scenario.getVehicles() - objects = scenario.getObjectsThatMoved() - - # set all objects to be expert-controlled - for obj in objects: - obj.expert_control = True - - # in model sim, model will control vehicles that moved - controlled_vehicles = [veh for veh in vehicles if veh in objects] - - # only control 2 vehicles at random - random.shuffle(controlled_vehicles) - # controlled_vehicles = controlled_vehicles[:2] - - # warmup to build up state stacking - for i in range(n_stacked_states - 1): - for veh in controlled_vehicles: - ego_state = scenario.ego_state(veh) - visible_state = scenario.flattened_visible_state( - veh, view_dist=view_dist, view_angle=view_angle) - state = np.concatenate( - (ego_state, visible_state)) / state_normalization - state_dict[veh.getID()] = np.roll(state_dict[veh.getID()], - len(state)) - state_dict[veh.getID()][:len(state)] = state - sim.step(dt) - - for veh in controlled_vehicles: - veh.expert_control = False - - collisions = [False] * len(controlled_vehicles) - goal_achieved = [False] * len(controlled_vehicles) - for i in range(SIM_N_STEPS - n_stacked_states): - for veh in controlled_vehicles: - if np.isclose(veh.position.x, INVALID_POSITION): - veh.expert_control = True - else: - veh.expert_control = False - # set model actions - # get all actions at once - all_states = [] - for veh in controlled_vehicles: - # get vehicle state - state = np.concatenate( - (scenario.ego_state(veh), - scenario.flattened_visible_state( - veh, view_dist=view_dist, - view_angle=view_angle))) / state_normalization - # stack state - state_dict[veh.getID()] = np.roll(state_dict[veh.getID()], - len(state)) - state_dict[veh.getID()][:len(state)] = state - all_states.append(state_dict[veh.getID()]) - all_states = torch.as_tensor(np.array(all_states), dtype=torch.float32) - - # compute vehicle actions - all_actions = model(all_states, deterministic=True - ) # /!\ this returns an array (2,n) and not (n,2) - accel_actions = all_actions[0].cpu().numpy() - steering_actions = all_actions[1].cpu().numpy() - # set vehicles actions - for veh, accel_action, steering_action in zip(controlled_vehicles, - accel_actions, - steering_actions): - veh.acceleration = accel_action - veh.steering = steering_action - - # step simulation - sim.step(dt) - - # compute displacements over non-collided vehicles - for i, veh in enumerate(controlled_vehicles): - # make sure it is valid - if np.isclose(veh.position.x, INVALID_POSITION): - continue - - # a collision with another a vehicle - if veh.collided and int(veh.collision_type) == 1: - collisions[i] = True - if (veh.position - veh.target_position).norm() < GOAL_TOLERANCE: - goal_achieved[i] = True - - # compute expert intersections for all vehicles (mapping veh_id -> nb of intersections in expert traj) - intersection_data = _compute_expert_intersections(trajectory_path) - - # compute metrics as a function of number of intersections - - collision_rates = np.zeros(4) - goal_rates = np.zeros(4) - counts = np.zeros(4) - for i, veh in enumerate(controlled_vehicles): - n_intersections = min(intersection_data[veh.getID()], 3) - counts[n_intersections] += 1 - if collisions[i]: - collision_rates[n_intersections] += 1 - if goal_achieved[i]: - goal_rates[n_intersections] += 1 - collision_rates /= counts - goal_rates /= counts - # note: returned values can contain NaN - - return collision_rates, goal_rates - - -def compute_metrics_by_intersection(trajectories_dir, model, configs): - """Compute metrics as a function of number of intesections in a vehicle's expert trajectory.""" - NUM_FILES = 200 - NUM_CPUS = 14 - - # get trajectories paths - trajectories_dir = Path(trajectories_dir) - trajectories_paths = list(trajectories_dir.glob('*tfrecord*.json')) - trajectories_paths.sort() - trajectories_paths = trajectories_paths[:NUM_FILES] - - # parallel metric computation - with Pool(processes=NUM_CPUS) as pool: - result = np.array( - list( - pool.starmap( - _intesection_metrics_impl, - zip(trajectories_paths, repeat(model), repeat(configs))))) - assert result.shape == (len(trajectories_paths), 2, 4 - ) # collision rates, goal rates (in 4 bins) - avg_result = np.nanmean(result, axis=0) # nanmean ignores NaN values - print(avg_result) - return avg_result - - -if __name__ == '__main__': - from examples.imitation_learning.model import ImitationAgent # noqa: F401 - model = torch.load( - '/checkpoint/eugenevinitsky/nocturne/test/2022.06.05/test/14.23.17/\ - ++device=cuda,++file_limit=1000/train_logs/2022_06_05_14_23_23/model_600.pth' - ).to('cpu') - model.actions_grids = [x.to('cpu') for x in model.actions_grids] - model.eval() - model.nn[0].eval() - with open( - '/checkpoint/eugenevinitsky/nocturne/test/2022.06.05/test/14.23.17\ - /++device=cuda,++file_limit=1000/train_logs/2022_06_05_14_23_23/configs.json', - 'r') as fp: - configs = json.load(fp) - configs['device'] = 'cpu' - with torch.no_grad(): - result = compute_metrics_by_intersection( - '/checkpoint/eugenevinitsky/waymo_open/motion_v1p1/\ - uncompressed/scenario/formatted_json_v2_no_tl_valid', - model=model, - configs=configs) - print('collision rates', result[0]) - print('goal rates', result[1]) diff --git a/nocturne/utils/eval/goal_reaching_rate.py b/nocturne/utils/eval/goal_reaching_rate.py deleted file mode 100644 index e0ccfee3..00000000 --- a/nocturne/utils/eval/goal_reaching_rate.py +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Goal reaching rate computation.""" -from pathlib import Path -import numpy as np -import torch - -from nocturne import Simulation - -SIM_N_STEPS = 90 # number of steps per trajectory -SIM_STEP_TIME = 0.1 # dt (in seconds) - - -def _goal_reaching_rate_impl(trajectory_path, - model=None, - sim_allow_non_vehicles=True, - check_vehicles_only=True): - # create expert simulation - sim = Simulation(scenario_path=str(trajectory_path), - start_time=0, - allow_non_vehicles=sim_allow_non_vehicles) - scenario = sim.getScenario() - vehicles = scenario.getVehicles() - objects_that_moved = scenario.getObjectsThatMoved() - vehicles_that_moved = [ - veh for veh in vehicles if veh in objects_that_moved - ] - - # set all objects to be expert-controlled - for obj in objects_that_moved: - obj.expert_control = True - for obj in vehicles: - obj.expert_control = True - - # if a model is given, model will control vehicles that moved - if model is not None: - controlled_vehicles = vehicles_that_moved - for veh in controlled_vehicles: - veh.expert_control = False - else: - controlled_vehicles = [] - - # vehicles to check for collisions on - objects_to_check = vehicles_that_moved if check_vehicles_only else objects_that_moved - - # step sim until the end and check for collisions - reached_goal = {obj.id: False for obj in objects_to_check} - for i in range(SIM_N_STEPS): - # set model actions - for veh in controlled_vehicles: - # get vehicle state - state = torch.as_tensor(np.expand_dims(np.concatenate( - (scenario.ego_state(veh), - scenario.flattened_visible_state(veh, - view_dist=120, - view_angle=3.14))), - axis=0), - dtype=torch.float32) - # compute vehicle action - action = model(state)[0] - # set vehicle action - veh.acceleration = action[0] - veh.steering = action[1] - - # step simulation - sim.step(SIM_STEP_TIME) - - # check for collisions - for obj in objects_to_check: - if (obj.target_position - obj.position).norm() < 0.5: - reached_goal[obj.id] = True - - # compute collision rate - reached_goal_values = list(reached_goal.values()) - reached_goal_rate = reached_goal_values.count(True) / len( - reached_goal_values) - - return reached_goal_rate - - -def compute_average_goal_reaching_rate(trajectories_dir, model=None, **kwargs): - """Compute average goal reaching rate for a model.""" - # get trajectories paths - if isinstance(trajectories_dir, str): - # if trajectories_dir is a string, treat it as the path to a directory of trajectories - trajectories_dir = Path(trajectories_dir) - trajectories_paths = list(trajectories_dir.glob('*tfrecord*.json')) - elif isinstance(trajectories_dir, list): - # if trajectories_dir is a list, treat it as a list of paths to trajectory files - trajectories_paths = [Path(path) for path in trajectories_dir] - # compute average collision rate over each individual trajectory file - average_goal_reaching_rates = np.array( - list( - map(lambda path: _goal_reaching_rate_impl(path, model, **kwargs), - trajectories_paths))) - - return np.mean(average_goal_reaching_rates) - - -if __name__ == '__main__': - from nocturne.utils.imitation_learning.waymo_data_loader import ImitationAgent # noqa: F401 - model = torch.load('model.pth') - goal_reaching_rate = compute_average_goal_reaching_rate( - 'dataset/json_files', model=None) - print(f'Average Goal Reaching Rate: {100*goal_reaching_rate:.2f}%') From ca3c166141141afe3e6fc86ff1520920efd86db8 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 15:14:25 -0400 Subject: [PATCH 23/40] Update basic usage --- examples/03_basic_rl_usage.ipynb | 49 ++++++++++++++++---------------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb index a89a06cf..e9962633 100644 --- a/examples/03_basic_rl_usage.ipynb +++ b/examples/03_basic_rl_usage.ipynb @@ -16,7 +16,7 @@ "\n", "#### **Environment settings**\n", "\n", - "Initializing an environment is done with the `BaseEnv` class. The `BaseEnv` class leverages the `nocturne` simulator to create a basic RL interface, based on the provided traffic scenarios. \n", + "- Initializing an environment is done with the `BaseEnv` class. The `BaseEnv` class leverages the `nocturne` simulator to create a basic RL interface, based on the provided traffic scenario(s). \n", "\n", "---\n", "> 📝 The `env_config.yaml` file defines our environment settings, such as the action space, observation space and traffic scenarios to use.\n", @@ -27,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -46,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -67,16 +67,16 @@ "source": [ "#### **Data**\n", "\n", - "Within our `env_config.yaml`, we specify the path to the folder containing the traffic scenarios to use as follows:\n", + "- Within `env_config.yaml`, we specify the path to the folder containing the traffic scenarios to use as follows:\n", "\n", "```yaml\n", "# Path to folder with traffic scene(s) from which to create an environment\n", "data_path: ../data\n", "```\n", "\n", - "[Here](https://github.com/facebookresearch/nocturne/tree/main#downloading-the-dataset) are the instructions to access the complete dataset of traffic scenes. \n", + "- [Here](https://github.com/facebookresearch/nocturne/tree/main#downloading-the-dataset) are the instructions to access the complete dataset of traffic scenes. \n", "\n", - "The data folder also has a file named `valid_files.json`. This file lists the names of all the valid traffic scenarios along with the ids of the vehicles that are not valid. These vehicles are excluded from our experiment.\n", + "- The data folder also has a file named `valid_files.json`. This file lists the names of all the valid traffic scenarios along with the ids of the vehicles that are not valid. These vehicles are excluded from our experiment.\n", "\n", "For simplicity, we currently added a single traffic scenario that includes two vehicles in our data folder. Both vehicles can be used, so our `valid_files.json` looks like this:\n", "\n", @@ -98,32 +98,33 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Done after 80 steps -- total return in episode: {32: 2.2131572996676643, 3: 1.99559019886293}\n", - "Done after 80 steps -- total return in episode: {32: 2.239125186173855, 3: 1.515264166075405}\n", - "Done after 80 steps -- total return in episode: {32: 2.111057987645173, 3: -0.28087208758880106}\n", - "Done after 78 steps -- total return in episode: {32: 10.295581054315042, 3: 9.067465782257736}\n", - "Done after 80 steps -- total return in episode: {32: 2.3630561843629114, 3: 1.4357060624685754}\n", - "Done after 72 steps -- total return in episode: {32: 1.6086314833639868, 3: 10.145121757017481}\n", - "Done after 80 steps -- total return in episode: {32: 0.9865223892898515, 3: 2.227045011692687}\n", - "Done after 80 steps -- total return in episode: {32: 2.3417453472982963, 3: 0.7922847532241497}\n", - "Done after 80 steps -- total return in episode: {32: 1.3733428712017077, 3: 1.489925479607083}\n", - "Done after 50 steps -- total return in episode: {32: 1.2751634816741446, 3: 8.812925431540755}\n", - "Done after 80 steps -- total return in episode: {32: 1.9285019626504196, 3: 9.34253364643635}\n", - "Done after 80 steps -- total return in episode: {32: 2.0522551101390065, 3: 1.167289922314381}\n", - "Done after 80 steps -- total return in episode: {32: 1.1879356958808136, 3: 1.0664515030867252}\n" + "Done after 80 steps -- total return in episode: {3: 1.8345003977789347, 32: 2.3487226973552358}\n", + "Done after 80 steps -- total return in episode: {3: 0.43543555449700166, 32: 1.549664751141132}\n", + "Done after 80 steps -- total return in episode: {3: -0.223526138403951, 32: 2.0764939767882815}\n", + "Done after 37 steps -- total return in episode: {3: 8.888294189938877, 32: 0.9171524851397167}\n", + "Done after 80 steps -- total return in episode: {3: 0.3975525642124312, 32: 2.1566675033281726}\n", + "Done after 80 steps -- total return in episode: {3: 1.6119904903044686, 32: 0.9667098631259777}\n", + "Done after 80 steps -- total return in episode: {3: 0.06271202021346704, 32: 2.0584825171460746}\n", + "Done after 80 steps -- total return in episode: {3: 1.3140901879973366, 32: 1.2298469684309603}\n", + "Done after 80 steps -- total return in episode: {3: 1.530614215964841, 32: 1.8252810539055202}\n", + "Done after 80 steps -- total return in episode: {3: 1.2409864172219975, 32: 1.379805712013483}\n", + "Done after 80 steps -- total return in episode: {3: 0.47753240450321816, 32: 2.280355875618669}\n", + "Done after 80 steps -- total return in episode: {3: 0.6084321033989238, 32: 1.862401833940641}\n", + "Done after 80 steps -- total return in episode: {3: 1.5653458434477148, 32: 2.1426790749750992}\n" ] } ], "source": [ "# Reset\n", "obs_dict = env.reset()\n", + "\n", "# Get info\n", "agent_ids = [agent_id for agent_id in obs_dict.keys()]\n", "dead_agent_ids = []\n", @@ -170,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -179,7 +180,7 @@ "Box(-inf, inf, (10,), float32)" ] }, - "execution_count": 55, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -191,7 +192,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -200,7 +201,7 @@ "Discrete(9)" ] }, - "execution_count": 56, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } From 58ba12a025e394c0ac8d1fce70f2e8529aae4cca Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:22:25 -0400 Subject: [PATCH 24/40] add wandb folder in gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 216c8af1..1529576e 100644 --- a/.gitignore +++ b/.gitignore @@ -49,4 +49,7 @@ configs.json .python-version # poetry -poetry.lock \ No newline at end of file +poetry.lock + +# wandb +wandb From fc4e975880f21cb1527b3e39e04d6d402a694e57 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:23:47 -0400 Subject: [PATCH 25/40] Add PPO with nocturne example --- examples/04_ppo_with_sb3.ipynb | 160 +++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 examples/04_ppo_with_sb3.ipynb diff --git a/examples/04_ppo_with_sb3.ipynb b/examples/04_ppo_with_sb3.ipynb new file mode 100644 index 00000000..ef55542c --- /dev/null +++ b/examples/04_ppo_with_sb3.ipynb @@ -0,0 +1,160 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PPO with single-agent control\n", + "\n", + "In this notebook, we show how to use Proximal Policy Optimization (PPO) with Nocturne and [Stable Baselines 3 (SB3)](https://stable-baselines3.readthedocs.io/en/master/index.html). SB3 is a library that has implementations of various well-known RL algorithms. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Wrappers\n", + "\n", + "The Nocturne `BaseEnv` returns output as dictionaries, but the SB3 `PPO` class expects numpy arrays. To make our environment compatible with SB3, we create a wrapper class. Wrappers modify an environment without altering code directly, which reduces boilerplate and increasing modularity." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "import yaml\n", + "\n", + "# Import base environment and wrapper\n", + "from nocturne.envs.base_env import BaseEnv\n", + "from nocturne.wrappers.sb3_wrappers import NocturneToSB3" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# Load environment settings\n", + "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", + " env_config = yaml.safe_load(stream)\n", + "\n", + "# Make sure to only control a single agent at a time. This is achieved by setting max_num_vehicles = 1\n", + "env_config[\"max_num_vehicles\"] = 1" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize env and wrap it with SB3 wrapper\n", + "env = NocturneToSB3(BaseEnv(env_config))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### PPO\n", + "\n", + "Now all we have to do is initialize the SB3 `PPO` class and we're ready to learn! We use Weights & Biases (`wandb`) to take care of the logging. If you prefer not to use `wandb`, set `LOGGING = False` and `verbose=1`. \n", + "\n", + "\n", + "---\n", + "\n", + "> 🔦 More info on PPO and settings can be found in the [SB3 docs](https://stable-baselines3.readthedocs.io/en/master/modules/ppo.html).\n", + "\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from stable_baselines3 import PPO\n", + "import wandb" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "LOGGING = True" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if LOGGING:\n", + " wandb.login()\n", + " run = wandb.init(\n", + " project=\"single_agent_control_sb3_ppo\",\n", + " sync_tensorboard=True,\n", + " )\n", + " run_id = run.id\n", + "else:\n", + " run_id = None\n", + "\n", + "# Init PPO algorithm\n", + "model = PPO( \n", + " policy=\"MlpPolicy\", # Policy type\n", + " n_steps=4096, # Number of steps per rollout\n", + " batch_size=128, # Minibatch size\n", + " env=env, # Our wrapped environment\n", + " seed=42, # Always seed for reproducibility\n", + " verbose=0,\n", + " tensorboard_log=f\"runs/{run_id}\" if run_id is not None else None, # Sync with wandb\n", + ")\n", + "\n", + "# Learn\n", + "model.learn(total_timesteps=200_000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 🤔 How good is your policy?\n", + "\n", + "Hooray! You have just trained your first PPO agent in Nocturne! 🏁 \n", + "\n", + "Now take a look at information you've logged over training; did we learn? (if you want to compare, [this is how my run looks like](https://api.wandb.ai/links/daphnecor/iarufxw9))\n", + "\n", + "One important metric for assess the effectiveness of your policy is the average cumulative reward per episode. In our case, the **maximum** achievable return per episode is approximately between 9 and 10 (it varies per traffic scene and per agent). With the configurations above, your policy should approach this value in 150,000 steps. Here, steps (the `global_step`) represents the total number of **frames** our policy network has seen, you can think of it as the accumulated experience." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "nocturne_lab", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 25a4f1a13dd4d3b3d690e7d148bf97ff600123b8 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:27:09 -0400 Subject: [PATCH 26/40] fix bug in apply actions method --- nocturne/envs/base_env.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index eb715d06..1696cb92 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -584,6 +584,10 @@ def _apply_action_to_vehicle( accel, steer = idx_to_actions[action] veh_obj.acceleration = accel veh_obj.steering = steer + elif isinstance(action, np.int64): + accel, steer = idx_to_actions[action] + veh_obj.acceleration = accel + veh_obj.steering = steer else: raise NotImplementedError(f"Action type '{type(action)}' not supported.") From 87b86303fdace45bf7df8d484eb18e92e42fe71b Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:29:11 -0400 Subject: [PATCH 27/40] Add Nocturne to SB3 wrapper for single-agent control --- .pre-commit-config.yaml | 6 --- nocturne/wrappers/sb3_wrappers.py | 86 +++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 nocturne/wrappers/sb3_wrappers.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0663f39b..c7b5a3b8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,12 +32,6 @@ repos: hooks: - id: flake8 args: [--max-line-length=120, --extend-ignore=E203] -- repo: https://github.com/PyCQA/pydocstyle - rev: 6.3.0 - hooks: - - id: pydocstyle - args: [--convention=numpy] - additional_dependencies: [tomli] - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks rev: v2.10.0 hooks: diff --git a/nocturne/wrappers/sb3_wrappers.py b/nocturne/wrappers/sb3_wrappers.py new file mode 100644 index 00000000..ec944b6f --- /dev/null +++ b/nocturne/wrappers/sb3_wrappers.py @@ -0,0 +1,86 @@ + +import gymnasium +import numpy as np +import gym + +class NocturneToSB3(gymnasium.Env): + """Makes Nocturne env compatible with SB3. + ! NOTE: Controlling a single agent. + """ + + def __init__(self, nocturne_env: gym.Env): + self.env = nocturne_env + self.action_space = gymnasium.spaces.Discrete(self.env.action_space.n) + self.observation_space = gymnasium.spaces.Box( + -np.inf, np.inf, self.env.observation_space.shape, np.float32 + ) + + def step(self, action): + """Take a step in the environment, convert dicts to np arrays. + + Args: + action (Dict): Dictionary with a single action for the controlled vehicle. + + Returns: + observation, reward, terminated, truncated, info (np.ndarray, float, bool, bool, dict) + """ + next_obs_dict, rewards_dict, dones_dict, info_dict = self.env.step( + action_dict={self.controlled_vehicle: action} + ) + + return ( + next_obs_dict[self.controlled_vehicle], + rewards_dict[self.controlled_vehicle], + dones_dict[self.controlled_vehicle], + False, + info_dict[self.controlled_vehicle], + ) + + def reset(self, seed=None): + """Reset the environment.""" + obs_dict = self.env.reset() + assert ( + len(self.env.controlled_vehicles) == 1 + ), "This wrapper does not support multi-agent control." + + self.controlled_vehicle = self.env.controlled_vehicles[0].id + return obs_dict[self.controlled_vehicle], {} + + @property + def action_space(self): + return self.env.action_space + + @action_space.setter + def action_space(self, action_space): + self.env.action_space = action_space + + @property + def observation_space(self): + return self.env.observation_space + + @observation_space.setter + def observation_space(self, observation_space): + self.env.observation_space = observation_space + + def render(self): + pass + + def close(self): + pass + + @property + def seed(self, seed=None): + return None + + @seed.setter + def seed(self, seed=None): + pass + + def __getattr__(self, name): + return getattr(self._env, name) + + def get_attr(self, attr_name: str): + return getattr(self._env, attr_name) + + def set_attr(self, attr_name: str): + setattr(self._env, attr_name) \ No newline at end of file From 8eacc68335a3af97518d31458b2356a1ad37cdec Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:29:32 -0400 Subject: [PATCH 28/40] edits to toml and requiremets --- pyproject.toml | 2 ++ requirements.txt | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e9d8c373..54a8751f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,8 @@ gym = "^0.26.2" pybind11 = "^2.11.1" python-box = "^7.1.1" gymnasium = "^0.29.1" +wandb = "^0.15.12" +tensorboard = "^2.14.1" [tool.poetry.group.research.dependencies] ipykernel = "^6.25.2" diff --git a/requirements.txt b/requirements.txt index 5e9605e4..939486e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -46,6 +46,7 @@ pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" pycparser==2.21 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" pygments==2.16.1 ; python_version >= "3.10" and python_version < "3.13" pyparsing==3.1.1 ; python_version >= "3.10" and python_version < "3.13" +python-box==7.1.1 ; python_version >= "3.10" and python_version < "3.13" python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "3.13" pytz==2023.3.post1 ; python_version >= "3.10" and python_version < "3.13" pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "3.13" @@ -59,7 +60,7 @@ sympy==1.12 ; python_version >= "3.10" and python_version < "3.13" tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" torch==2.0.1 ; python_version >= "3.10" and python_version < "3.13" tornado==6.3.3 ; python_version >= "3.10" and python_version < "3.13" -traitlets==5.10.1 ; python_version >= "3.10" and python_version < "3.13" +traitlets==5.11.2 ; python_version >= "3.10" and python_version < "3.13" typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.13" tzdata==2023.3 ; python_version >= "3.10" and python_version < "3.13" wcwidth==0.2.8 ; python_version >= "3.10" and python_version < "3.13" From e609152929d58618342ba7a4c0232941d4949b95 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 17:30:12 -0400 Subject: [PATCH 29/40] Remove unused files --- scripts/data_analysis/corner_case_search.py | 140 -- scripts/data_analysis/data_analysis.py | 130 -- scripts/data_analysis/speed_test.py | 56 - .../json_generation/make_solvable_files.py | 166 --- .../json_generation/run_waymo_constructor.py | 122 -- .../waymo_scenario_construction.py | 207 --- scripts/paper_plots/README.md | 1 - scripts/paper_plots/create_zsc_plot.py | 97 -- scripts/paper_plots/eval_il_agents.py | 63 - scripts/paper_plots/eval_sample_factory.py | 1317 ----------------- scripts/paper_plots/generate_scenes.py | 152 -- scripts/utils.py | 26 - scripts/visualization/visualize_waymo_map.py | 155 -- scripts/visualization/waymo_movie.py | 47 - 14 files changed, 2679 deletions(-) delete mode 100644 scripts/data_analysis/corner_case_search.py delete mode 100644 scripts/data_analysis/data_analysis.py delete mode 100644 scripts/data_analysis/speed_test.py delete mode 100644 scripts/json_generation/make_solvable_files.py delete mode 100644 scripts/json_generation/run_waymo_constructor.py delete mode 100644 scripts/json_generation/waymo_scenario_construction.py delete mode 100644 scripts/paper_plots/README.md delete mode 100644 scripts/paper_plots/create_zsc_plot.py delete mode 100644 scripts/paper_plots/eval_il_agents.py delete mode 100644 scripts/paper_plots/eval_sample_factory.py delete mode 100644 scripts/paper_plots/generate_scenes.py delete mode 100644 scripts/utils.py delete mode 100644 scripts/visualization/visualize_waymo_map.py delete mode 100644 scripts/visualization/waymo_movie.py diff --git a/scripts/data_analysis/corner_case_search.py b/scripts/data_analysis/corner_case_search.py deleted file mode 100644 index f181d6b5..00000000 --- a/scripts/data_analysis/corner_case_search.py +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run through the data to look for cases where there are undesirable corner cases. - -The cases we currently check for are: -1) is a vehicle initialized in a colliding state with another vehicle -2) is a vehicle initialized in a colliding state with a road edge? -""" -from copy import deepcopy -from pathlib import Path -import os -import sys - -import hydra -import imageio -import matplotlib.pyplot as plt -import numpy as np - -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROJECT_PATH, \ - get_scenario_dict, set_display_window -from nocturne import Simulation - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def main(cfg): - """See file docstring.""" - set_display_window() - SAVE_IMAGES = False - MAKE_MOVIES = False - output_folder = 'corner_case_vis' - output_path = Path(PROJECT_PATH) / f'nocturne_utils/{output_folder}' - output_path.mkdir(exist_ok=True) - files = list(os.listdir(PROCESSED_TRAIN_NO_TL)) - files = [file for file in files if 'tfrecord' in file] - # track the number of collisions at each time-step - collide_counter = np.zeros((2, 90)) - file_has_veh_collision_counter = 0 - file_has_edge_collision_counter = 0 - total_edge_collision_counter = 0 - total_veh_collision_counter = 0 - initialized_collision_counter = 0 - total_veh_counter = 0 - - start_cfg = deepcopy(cfg) - start_cfg['scenario']['start_time'] = 0 - start_cfg['scenario']['allow_non_vehicles'] = False - for file_idx, file in enumerate(files): - found_collision = False - edge_collision = False - sim = Simulation(os.path.join(PROCESSED_TRAIN_NO_TL, file), - get_scenario_dict(cfg)) - vehs = sim.getScenario().getObjectsThatMoved() - # this checks if the vehicles has actually moved any distance at all - valid_vehs = [] - for veh in vehs: - veh.expert_control = True - obj_pos = veh.getPosition() - obj_pos = np.array([obj_pos.x, obj_pos.y]) - goal_pos = veh.getGoalPosition() - goal_pos = np.array([goal_pos.x, goal_pos.y]) - if np.linalg.norm(obj_pos - goal_pos) > 0.5: - valid_vehs.append(veh) - veh_edge_collided = [False for _ in vehs] - veh_veh_collided = [False for _ in vehs] - initialized_collided = [False for _ in vehs] - for time_index in range(90): - for veh_index, veh in enumerate(valid_vehs): - collided = veh.getCollided() - if collided and not np.isclose(veh.getPosition().x, -10000.0): - collide_counter[int(veh.collision_type) - 1, - time_index] += 1 - if int(veh.collision_type) == 2: - veh_edge_collided[veh_index] = True - if int(veh.collision_type) == 1: - veh_veh_collided[veh_index] = True - if time_index == 0: - initialized_collided[veh_index] = True - if np.isclose(veh.getPosition().x, -10000.0): - collided = False - if time_index == 0 and not found_collision and collided and SAVE_IMAGES: - img = sim.getScenario().getImage( - img_width=1600, - img_height=1600, - draw_target_positions=True, - padding=50.0, - ) - fig = plt.figure() - plt.imshow(img) - plt.savefig(f'{output_folder}/{file}.png') - plt.close(fig) - if not found_collision and collided: - found_collision = True - if int(veh.collision_type) == 1: - file_has_veh_collision_counter += 1 - else: - file_has_edge_collision_counter += 1 - edge_collision = True - sim.step(0.1) - total_veh_counter += len(valid_vehs) - total_edge_collision_counter += np.sum(veh_edge_collided) - total_veh_collision_counter += np.sum(veh_veh_collided) - initialized_collision_counter += np.sum(initialized_collided) - print(f'at file {file_idx} we have {collide_counter} collisions for a\ - ratio of {collide_counter / (file_idx + 1)}') - print(f'the number of files that have a veh collision at all is\ - {file_has_veh_collision_counter / (file_idx + 1)}') - print(f'the number of files that have a edge collision at all is\ - {file_has_edge_collision_counter / (file_idx + 1)}') - print(f'the fraction of vehicles that have had an edge collision\ - is {total_edge_collision_counter / total_veh_counter}') - print(f'the fraction of vehicles that have had a collision at all\ - is {(total_edge_collision_counter + total_veh_collision_counter) / total_veh_counter}' - ) - print( - f'the fraction of vehicles that are initialized in collision are \ - {initialized_collision_counter / total_veh_counter}') - if found_collision and edge_collision and MAKE_MOVIES: - movie_frames = [] - fig = plt.figure() - sim = Simulation(os.path.join(PROCESSED_TRAIN_NO_TL, file), - get_scenario_dict(start_cfg)) - vehs = sim.getScenario().getObjectsThatMoved() - for veh in vehs: - veh.expert_control = True - for time_index in range(89): - movie_frames.append(sim.getScenario().getImage( - img_width=1600, img_height=1600)) - sim.step(0.1) - movie_frames = np.array(movie_frames) - imageio.mimwrite(f'{output_path}/{os.path.basename(file)}.mp4', - movie_frames, - fps=10) - if file_has_edge_collision_counter + file_has_veh_collision_counter > 10: - sys.exit() - - -if __name__ == '__main__': - main() diff --git a/scripts/data_analysis/data_analysis.py b/scripts/data_analysis/data_analysis.py deleted file mode 100644 index aab91bf1..00000000 --- a/scripts/data_analysis/data_analysis.py +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Utils that we use to understand the datasets we are working with.""" -import os - -import hydra -import matplotlib.pyplot as plt -import numpy as np - -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROJECT_PATH, get_scenario_dict -from nocturne import Simulation - - -def run_analysis(cfg, files): - """Compute the expert accelerations and number of vehicles across the dataset. - - Args: - files ([str]): List of files to analyze - - Returns - ------- - [np.float], [np.float]: List of expert accels, list of number - of moving vehicles in file - """ - observed_accels = [] - num_vehicles = [] - cfg['start_time'] = 0 - cfg['allow_non_vehicles'] = False - for file_idx, file in enumerate(files): - sim = Simulation(os.path.join(PROCESSED_TRAIN_NO_TL, file), - get_scenario_dict(cfg)) - vehs = sim.scenario().getObjectsThatMoved() - # this checks if the vehicles has actually moved any distance at all - valid_vehs = [] - prev_speeds = [] - for veh in vehs: - veh.expert_control = True - obj_pos = veh.position - goal_pos = veh.target_position - if (obj_pos - goal_pos).norm() > 0.5: - valid_vehs.append(veh) - if veh in valid_vehs: - veh_speed = sim.scenario().getExpertSpeeds(0, veh.id) - veh_speed = np.linalg.norm([veh_speed.x, veh_speed.y]) - if not np.isclose(veh.position.x, -10000.0): - prev_speeds.append( - (veh_speed, True, [veh.position.x, veh.position.y], 0)) - else: - prev_speeds.append( - (veh_speed, False, [veh.position.x, - veh.position.y], 0)) - num_vehicles.append(len(valid_vehs)) - sim.step(0.1) - for i in range(1, 90): - for veh_index, veh in enumerate(valid_vehs): - # check if the vehicle is actually valid - veh_speed = sim.scenario().getExpertSpeeds(i, veh.id) - veh_speed = veh_speed.norm() - if np.isclose(veh.position.x, -10000.0): - prev_speeds[veh_index] = (veh_speed, False, - [veh.position.x, - veh.position.y], i) - else: - # approximate the accel using an euler step but only - # if the prior step was a step where the agent - # was valid - if prev_speeds[veh_index][1]: - accel = (veh_speed - prev_speeds[veh_index][0]) / 0.1 - observed_accels.append(accel) - prev_speeds[veh_index] = (veh_speed, True, - [veh.position.x, - veh.position.y], i) - sim.step(0.1) - - if file_idx > 300: - break - return observed_accels, num_vehicles - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def analyze_accels(cfg): - """Plot the expert accels and number of observed moving vehicles.""" - f_path = PROCESSED_TRAIN_NO_TL - with open(os.path.join(f_path, 'valid_files.txt')) as file: - files = [line.strip() for line in file] - observed_accels_valid, num_vehicles_valid = run_analysis(cfg, files) - with open(os.path.join(f_path, 'invalid_files.txt')) as file: - files = [line.strip() for line in file] - _, num_vehicles_invalid = run_analysis(cfg, files) - - output_path = os.path.join(PROJECT_PATH, 'nocturne_utils/data_analysis') - if not os.path.exists(output_path): - os.makedirs(output_path) - observed_accels = np.array(observed_accels_valid) - print(np.max(observed_accels)) - print(np.min(observed_accels)) - observed_accels = observed_accels[np.abs(observed_accels) < 5] - plt.figure() - plt.hist(observed_accels) - plt.savefig(os.path.join(output_path, 'observed_accels.png')) - plt.figure() - plt.hist( - num_vehicles_valid, - bins=30, - density=True, - histtype='step', - cumulative=True, - ) - plt.hist( - num_vehicles_invalid, - bins=30, - density=True, - histtype='step', - cumulative=True, - ) - plt.legend(['valid', 'invalid']) - plt.savefig(os.path.join(output_path, 'num_vehs_cdf.png')) - plt.figure() - plt.hist(num_vehicles_valid, bins=30, alpha=0.5, color='b') - plt.axvline(np.mean(num_vehicles_valid), color='b', label='_nolegend_') - plt.hist(num_vehicles_invalid, bins=30, alpha=0.5, color='r') - plt.axvline(np.mean(num_vehicles_invalid), color='r', label='_nolegend_') - plt.legend(['valid', 'invalid']) - plt.savefig(os.path.join(output_path, 'num_vehs_hist.png')) - - -if __name__ == '__main__': - analyze_accels() diff --git a/scripts/data_analysis/speed_test.py b/scripts/data_analysis/speed_test.py deleted file mode 100644 index 6b51383c..00000000 --- a/scripts/data_analysis/speed_test.py +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Utils that we use to understand the datasets we are working with.""" -import json -import os -import time - -import hydra -import numpy as np - -from cfgs.config import PROCESSED_TRAIN_NO_TL, get_scenario_dict, set_display_window -from nocturne import Simulation, Action - - -def run_speed_test(files, cfg): - """Compute the expert accelerations and number of vehicles across the dataset. - - Args: - files ([str]): List of files to analyze - - Returns - ------- - [np.float], [np.float]: List of expert accels, list of number - of moving vehicles in file - """ - times_list = [] - for file in files: - sim = Simulation(os.path.join(PROCESSED_TRAIN_NO_TL, file), - get_scenario_dict(cfg)) - vehs = sim.scenario().getObjectsThatMoved() - scenario = sim.getScenario() - veh = vehs[np.random.randint(len(vehs))] - t = time.perf_counter() - _ = scenario.flattened_visible_state(veh, 80, (180 / 180) * np.pi) - veh.apply_action(Action(1.0, 1.0, 1.0)) - sim.step(0.1) - times_list.append(time.perf_counter() - t) - print('avg, std. time to get obs is {}, {}'.format(np.mean(times_list), - np.std(times_list))) - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def analyze_accels(cfg): - """Plot the expert accels and number of observed moving vehicles.""" - f_path = PROCESSED_TRAIN_NO_TL - with open(os.path.join(f_path, 'valid_files.json')) as file: - valid_veh_dict = json.load(file) - files = list(valid_veh_dict.keys()) - run_speed_test(files[0:10], cfg) - - -if __name__ == '__main__': - set_display_window() - analyze_accels() diff --git a/scripts/json_generation/make_solvable_files.py b/scripts/json_generation/make_solvable_files.py deleted file mode 100644 index 97fcf52c..00000000 --- a/scripts/json_generation/make_solvable_files.py +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Find all cases where collisions are required to achieve the goal. - -Due to errors in Waymo labeling, some space that is crossable is mistakenly -labeled as a road edge. This file finds most of those cases. -""" -import argparse -import json -import multiprocessing -from multiprocessing import Process, Lock -import os - -import numpy as np - -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROCESSED_VALID_NO_TL, \ - get_default_scenario_dict, set_display_window -from nocturne import Simulation - - -def is_file_valid(file_list, output_file, output_file_invalid, lock=None): - """Test if file requires an agent to collide with a road edge to get to goal. - - We test for this by making the agent have very thin width. If an agent - is in collision with a road edge despite this thin width, it was crossing - that road edge because that road edge was on the way to its goal. We also - shrink the length to avoid the cases where the vehicle is initialized - in collision with a road edge. - - If a file has more than 80% of the agents need to collide with a road edge to get - to goal, we store it in output_file_invalid instead. - - Args - ---- - file_list ([str]): list of file paths. - output_file (str): file to store valid json names. - output_file_invalid (_type_): file to store invalid json names. - lock (Lock, optional): Lock used for safe file writing. - """ - file_valid_dict = {} - file_invalid_dict = {} - cfg = get_default_scenario_dict() - cfg['start_time'] = 0 - cfg['allow_non_vehicles'] = False - for i, file in enumerate(file_list): - sim = Simulation(str(file), cfg) - vehs = sim.scenario().getObjectsThatMoved() - for veh in vehs: - # we shrink the vehicle width and length to tiny values. - # then, if a vehicle collides with a road edge, we know it had to - # cross that road edge to actually get to its goal - veh._scale_shape(length_scale=0.3, width_scale=0.1) - veh.expert_control = True - # dict tracking which vehicles were forced to collide with - # an edge on their way to goal - veh_edge_collided = {veh.id: False for veh in vehs} - for _ in range(90): - for veh in vehs: - collided = veh.collided - # the second conditions check whether the - # the vehicle has "collided", but only because - # it was invalid at the same time as another - # vehicle was invalid - if collided and not np.isclose(veh.position.x, -10000.0): - if int(veh.collision_type) == 2: - veh_edge_collided[veh.id] = True - sim.step(0.1) - # write all the vehicle ids that had a collision to a file - # so that we know which vehicles should be set to be experts - # if more than 80% of the vehicles are experts, we throw the file - # away - if np.sum(list( - veh_edge_collided.values())) / len(veh_edge_collided) < 0.8: - storage = file_valid_dict - else: - storage = file_invalid_dict - storage[str(file).split('/')[-1]] = [ - key for key, val in veh_edge_collided.items() if val - ] - - for file, return_dict in zip([output_file, output_file_invalid], - [file_valid_dict, file_invalid_dict]): - if lock is not None: - lock.acquire() - with open(file, 'r') as fp: - temp_dict = json.load(fp) - with open(file, 'w') as fp: - temp_dict.update(return_dict) - json.dump(temp_dict, fp, indent=4) - if lock is not None: - lock.release() - - -def main(): - """See file docstring.""" - set_display_window() - parser = argparse.ArgumentParser( - description="Load and show waymo scenario data.") - parser.add_argument( - "--parallel", - action='store_true', - help="If true, split the conversion up over multiple processes") - parser.add_argument( - "--n_processes", - type=int, - default=40, - help="Number of processes over which to split file generation") - parser.add_argument("--datatype", - default='train', - type=str, - choices=['train', 'valid'], - nargs='+', - help="Whether to convert, train or valid data") - - args = parser.parse_args() - # TODO(eugenevinitsky) this currently assumes that we have - # constructed the scenes without traffic lights and not - # other scenes - folders_to_convert = [] - if 'train' in args.datatype: - folders_to_convert.append(PROCESSED_TRAIN_NO_TL) - if 'valid' in args.datatype: - folders_to_convert.append(PROCESSED_VALID_NO_TL) - - lock = Lock() - for folder_path in folders_to_convert: - files = os.listdir(folder_path) - files = [ - os.path.join(folder_path, file) for file in files - if 'tfrecord' in file - ] - - output_file = os.path.join(folder_path, 'valid_files.json') - with open(output_file, 'w') as fp: - json.dump({}, fp) - - output_file_invalid = os.path.join(folder_path, 'invalid_files.json') - with open(output_file_invalid, 'w') as fp: - json.dump({}, fp) - - if args.parallel: - # leave some cpus free but have at least one and don't use more than n_processes - num_cpus = min(max(multiprocessing.cpu_count() - 2, 1), - args.n_processes) - num_files = len(files) - process_list = [] - for i in range(num_cpus): - p = Process(target=is_file_valid, - args=[ - files[i * num_files // num_cpus:(i + 1) * - num_files // num_cpus], output_file, - output_file_invalid, lock - ]) - p.start() - process_list.append(p) - - for process in process_list: - process.join() - else: - is_file_valid(files, output_file, output_file_invalid, lock=None) - - -if __name__ == '__main__': - main() diff --git a/scripts/json_generation/run_waymo_constructor.py b/scripts/json_generation/run_waymo_constructor.py deleted file mode 100644 index 1f0579fd..00000000 --- a/scripts/json_generation/run_waymo_constructor.py +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Utils for converting TFRecords into Nocturne compatible JSON.""" -import argparse -from pathlib import Path -import os -import multiprocessing - -from cfgs.config import TRAIN_DATA_PATH, VALID_DATA_PATH, PROCESSED_TRAIN_NO_TL, \ - PROCESSED_VALID_NO_TL, PROCESSED_TRAIN, PROCESSED_VALID -import waymo_scenario_construction as waymo - - -def convert_files(args, files, output_dir, rank): - """Convert the list of files into nocturne compatible JSON. - - Args - ---- - args (NameSpace): args from the argument parser. - files ([str]): list of file paths for TFRecords that we should convert - output_dir (str): output path in which we should store the JSON - rank (int): rank of the process. - """ - cnt = 0 - for file in files: - inner_count = 0 - for data in waymo.load_protobuf(str(file)): - file_name = os.path.basename(file).split( - '.')[1] + f'_{inner_count}.json' - # this file is useful for debugging - if args.output_txt and cnt == 0 and rank == 0: - with open(os.path.basename(file).split('.')[1] + '.txt', - 'w') as f: - f.write(str(data)) - waymo.waymo_to_scenario(os.path.join(output_dir, file_name), data, - args.no_tl) - inner_count += 1 - cnt += 1 - if cnt >= args.num and not args.all_files: - break - print(inner_count) - - -def main(): - """Run the json generators.""" - parser = argparse.ArgumentParser( - description="Load and show waymo scenario data.") - parser.add_argument("--file", - type=str, - default=os.path.join( - TRAIN_DATA_PATH, - 'training.tfrecord-00995-of-01000')) - parser.add_argument("--num", type=int, default=1) - parser.add_argument("--output_txt", - action='store_true', - help='output a txt version of one of the protobufs') - parser.add_argument("--all_files", - action='store_true', - help='If true, iterate through the whole dataset') - parser.add_argument("--no_tl", - action='store_true', - help="If true, do not generate JSON files\ - that have a traffic light in them") - parser.add_argument( - "--parallel", - action='store_true', - help="If true, split the conversion up over multiple processes") - parser.add_argument("--datatype", - default='train', - type=str, - choices=['train', 'valid'], - nargs='+', - help="Whether to convert, train or valid data") - - args = parser.parse_args() - folders_to_convert = [] - if 'train' in args.datatype: - folders_to_convert.append( - (TRAIN_DATA_PATH, - PROCESSED_TRAIN_NO_TL if args.no_tl else PROCESSED_TRAIN)) - if 'valid' in args.datatype: - folders_to_convert.append( - (VALID_DATA_PATH, - PROCESSED_VALID_NO_TL if args.no_tl else PROCESSED_VALID)) - - for folder_path, output_dir in folders_to_convert: - if args.num > 1 or args.all_files: - files = list(Path(folder_path).glob('*tfrecord*')) - if not os.path.exists(output_dir): - os.makedirs(output_dir) - if not args.all_files: - files = files[0:args.num] - - else: - output_dir = os.getcwd() - files = [args.file] - - if args.parallel: - # leave some cpus free but have at least one and don't use more than 40 - num_cpus = min(max(multiprocessing.cpu_count() - 2, 1), 40) - num_files = len(files) - process_list = [] - for i in range(num_cpus): - p = multiprocessing.Process( - target=convert_files, - args=[ - args, files[i * num_files // num_cpus:(i + 1) * - num_files // num_cpus], output_dir, i - ]) - p.start() - process_list.append(p) - - for process in process_list: - process.join() - else: - convert_files(args, files, output_dir, rank=0) - - -if __name__ == "__main__": - main() diff --git a/scripts/json_generation/waymo_scenario_construction.py b/scripts/json_generation/waymo_scenario_construction.py deleted file mode 100644 index 29406b44..00000000 --- a/scripts/json_generation/waymo_scenario_construction.py +++ /dev/null @@ -1,207 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Construct a scenarios.json file from a waymos protobuf.""" - -from collections import defaultdict -import math -import json -from typing import Any, Dict, Iterator, Optional - -import tensorflow as tf -from waymo_open_dataset.protos import map_pb2, scenario_pb2 - -from cfgs.config import ERR_VAL - -_WAYMO_OBJECT_STR = { - scenario_pb2.Track.TYPE_UNSET: "unset", - scenario_pb2.Track.TYPE_VEHICLE: "vehicle", - scenario_pb2.Track.TYPE_PEDESTRIAN: "pedestrian", - scenario_pb2.Track.TYPE_CYCLIST: "cyclist", - scenario_pb2.Track.TYPE_OTHER: "other", -} - -_WAYMO_ROAD_STR = { - map_pb2.TrafficSignalLaneState.LANE_STATE_UNKNOWN: "unknown", - map_pb2.TrafficSignalLaneState.LANE_STATE_ARROW_STOP: "arrow_stop", - map_pb2.TrafficSignalLaneState.LANE_STATE_ARROW_CAUTION: "arrow_caution", - map_pb2.TrafficSignalLaneState.LANE_STATE_ARROW_GO: "arrow_go", - map_pb2.TrafficSignalLaneState.LANE_STATE_STOP: "stop", - map_pb2.TrafficSignalLaneState.LANE_STATE_CAUTION: "caution", - map_pb2.TrafficSignalLaneState.LANE_STATE_GO: "go", - map_pb2.TrafficSignalLaneState.LANE_STATE_FLASHING_STOP: "flashing_stop", - map_pb2.TrafficSignalLaneState.LANE_STATE_FLASHING_CAUTION: - "flashing_caution", -} - - -def _parse_object_state( - states: scenario_pb2.ObjectState, - final_state: scenario_pb2.ObjectState) -> Dict[str, Any]: - """Construct a dict representing the trajectory and goals of an object. - - Args: - states (scenario_pb2.ObjectState): Protobuf of object state - final_state (scenario_pb2.ObjectState): Protobuf of last valid object state. - - Returns - ------- - Dict[str, Any]: Dict representing an object. - """ - return { - "position": [{ - "x": state.center_x, - "y": state.center_y - } if state.valid else { - "x": ERR_VAL, - "y": ERR_VAL - } for state in states], - "width": - final_state.width, - "length": - final_state.length, - "heading": [ - math.degrees(state.heading) if state.valid else ERR_VAL - for state in states - ], # Use rad here? - "velocity": [{ - "x": state.velocity_x, - "y": state.velocity_y - } if state.valid else { - "x": ERR_VAL, - "y": ERR_VAL - } for state in states], - "valid": [state.valid for state in states], - "goalPosition": { - "x": final_state.center_x, - "y": final_state.center_y - } - } - - -def _init_tl_object(track): - """Construct a dict representing the traffic light states.""" - returned_dict = {} - for lane_state in track.lane_states: - returned_dict[lane_state.lane] = { - 'state': _WAYMO_ROAD_STR[lane_state.state], - 'x': lane_state.stop_point.x, - 'y': lane_state.stop_point.y - } - return returned_dict - - -def _init_object(track: scenario_pb2.Track) -> Optional[Dict[str, Any]]: - """Construct a dict representing the state of the object (vehicle, cyclist, pedestrian). - - Args: - track (scenario_pb2.Track): protobuf representing the scenario - - Returns - ------- - Optional[Dict[str, Any]]: dict representing the trajectory and velocity of an object. - """ - final_valid_index = 0 - for i, state in enumerate(track.states): - if state.valid: - final_valid_index = i - - obj = _parse_object_state(track.states, track.states[final_valid_index]) - obj["type"] = _WAYMO_OBJECT_STR[track.object_type] - return obj - - -def _init_road(map_feature: map_pb2.MapFeature) -> Optional[Dict[str, Any]]: - """Convert an element of the map protobuf to a dict representing its coordinates and type.""" - feature = map_feature.WhichOneof("feature_data") - if feature == 'stop_sign': - p = getattr(map_feature, - map_feature.WhichOneof("feature_data")).position - geometry = [{"x": p.x, "y": p.y}] - elif feature != 'crosswalk' and feature != 'speed_bump': - geometry = [{ - "x": p.x, - "y": p.y - } for p in getattr(map_feature, map_feature.WhichOneof( - "feature_data")).polyline] - else: - geometry = [{ - "x": p.x, - "y": p.y - } for p in getattr(map_feature, map_feature.WhichOneof( - "feature_data")).polygon] - return { - "geometry": geometry, - "type": map_feature.WhichOneof("feature_data"), - } - - -def load_protobuf(protobuf_path: str) -> Iterator[scenario_pb2.Scenario]: - """Yield the sharded protobufs from the TFRecord.""" - dataset = tf.data.TFRecordDataset(protobuf_path, compression_type="") - for data in dataset: - scenario = scenario_pb2.Scenario() - scenario.ParseFromString(bytearray(data.numpy())) - yield scenario - - -def waymo_to_scenario(scenario_path: str, - protobuf: scenario_pb2.Scenario, - no_tl: bool = False) -> None: - """Dump a JSON File containing the protobuf parsed into the right format. - - Args - ---- - scenario_path (str): path to dump the json file - protobuf (scenario_pb2.Scenario): the protobuf we are converting - no_tl (bool, optional): If true, environments with traffic lights are not dumped. - """ - # read the protobuf file to get the right state - - # write the json file - # construct the road geometries - # place the initial position of the vehicles - - # Construct the traffic light states - tl_dict = defaultdict(lambda: { - 'state': [], - 'x': [], - 'y': [], - 'time_index': [] - }) - all_keys = ['state', 'x', 'y'] - i = 0 - for dynamic_map_state in protobuf.dynamic_map_states: - traffic_light_dict = _init_tl_object(dynamic_map_state) - # there is a traffic light but we don't want traffic light scenes so just return - if (no_tl and len(traffic_light_dict) > 0): - return - for id, value in traffic_light_dict.items(): - for state_key in all_keys: - tl_dict[id][state_key].append(value[state_key]) - tl_dict[id]['time_index'].append(i) - i += 1 - - # Construct the object states - objects = [] - for track in protobuf.tracks: - obj = _init_object(track) - if obj is not None: - objects.append(obj) - - # Construct the map states - roads = [] - for map_feature in protobuf.map_features: - road = _init_road(map_feature) - if road is not None: - roads.append(road) - - scenario = { - "name": scenario_path.split('/')[-1], - "objects": objects, - "roads": roads, - "tl_states": tl_dict - } - with open(scenario_path, "w") as f: - json.dump(scenario, f) diff --git a/scripts/paper_plots/README.md b/scripts/paper_plots/README.md deleted file mode 100644 index 2787e62b..00000000 --- a/scripts/paper_plots/README.md +++ /dev/null @@ -1 +0,0 @@ -This folder is used to reproduce all the plots from paper TO BE TITLED. \ No newline at end of file diff --git a/scripts/paper_plots/create_zsc_plot.py b/scripts/paper_plots/create_zsc_plot.py deleted file mode 100644 index 5c3df20e..00000000 --- a/scripts/paper_plots/create_zsc_plot.py +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Utilities for plotting ZSC results.""" -import os - -import matplotlib.pyplot as plt -import numpy as np - - -def create_heat_map(file, title, save_path, white_switch): - """Construct a heatmap of the ZSC results. - - Args: - ---- - file (str): file path to zsc results - title (str): title of the plot - save_path (str): path to save it at - white_switch (float): if the value is greater than white_switch - we write the cell text as black. This is just to make - the plots more readable. - """ - np_arr = np.load(os.path.join(zsc_path, file)) - np_arr_mean = np.mean(np_arr, axis=-1) - - agent_indices = [f'Agent {i}' for i in range(np_arr.shape[0])] - - fig, ax = plt.subplots() - ax.imshow(np_arr_mean) - - # Show all ticks and label them with the respective list entries - ax.set_xticks(np.arange(len(agent_indices)), labels=agent_indices) - ax.set_yticks(np.arange(len(agent_indices)), labels=agent_indices) - - # Rotate the tick labels and set their alignment. - plt.setp(ax.get_xticklabels(), - rotation=45, - ha="right", - rotation_mode="anchor") - - # Loop over data dimensions and create text annotations. - for i in range(len(agent_indices)): - for j in range(len(agent_indices)): - if np_arr_mean[i, j] > white_switch: - color = 'black' - else: - color = 'w' - ax.text(j, - i, - f'{np.round(np_arr_mean[i, j], decimals=2)}', - ha="center", - va="center", - color=color) - - ax.set_title(title) - fig.tight_layout() - plt.savefig(save_path) - - -def compute_average_change(file): - """Compare cross play to self play.""" - np_arr = np.load(os.path.join(zsc_path, file)) - np_arr_mean = np.mean(np_arr, axis=-1) - self_play = np.mean(np.diag(np_arr_mean)) - cross_play = np.mean( - np_arr_mean[np.where(~np.eye(np_arr_mean.shape[0], dtype=bool))]) - self_play_std = np.std(np.diag(np_arr_mean)) / np.sqrt( - np_arr_mean.shape[0]) - cross_play_std = np.std( - np_arr_mean[np.where(~np.eye(np_arr_mean.shape[0], dtype=bool))] - ) / np.sqrt(np_arr_mean.shape[0]**2 - np_arr_mean.shape[0]) - print( - f'self play: {self_play} ± {self_play_std}, cross play: {cross_play} ± {cross_play_std}' - ) - - -if __name__ == '__main__': - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.23/srt_v10/17.02.40/23/srt_v10' - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/4/srt_12' - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/4/srt_12' - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/4/srt_12' - # 10000 on valid - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/4/srt_12' - # 10000 on train - # zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/4/srt_12' - zsc_path = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.06.01/srt_v27/17.35.33/123/srt_v27' - create_heat_map('train_zsc_goal.npy', - "Cross-play Goal Rate", - 'cross_play_heat_map.png', - white_switch=.8) - create_heat_map('train_zsc_collision.npy', - "Cross-play Collision Rate", - 'cross_play_collision_map.png', - white_switch=0.18) - compute_average_change('train_zsc_goal.npy') - compute_average_change('train_zsc_collision.npy') diff --git a/scripts/paper_plots/eval_il_agents.py b/scripts/paper_plots/eval_il_agents.py deleted file mode 100644 index 9f79ee26..00000000 --- a/scripts/paper_plots/eval_il_agents.py +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run script that generates summary statistics for a folder of IL agents.""" -import json -import os - -import numpy as np -import torch - -from nocturne.utils.eval.average_displacement import compute_average_displacement -from cfgs.config import PROCESSED_VALID_NO_TL, PROJECT_PATH - -if __name__ == '__main__': - outer_model_folder = '/checkpoint/eugenevinitsky/nocturne/sweep/imitation/2022.06.13/arxiv_il_v4_1kf/18.49.39' - models = [] - cfg_dicts = [] - for (dirpath, dirnames, filenames) in os.walk(outer_model_folder): - if 'configs.json' in filenames: - with open(os.path.join(dirpath, 'configs.json'), 'r') as file: - cfg_dict = json.load(file) - # now snag the model with the largest checkpoint - max_val = -100 - cur_model_name = None - for file in filenames: - if '.pth' in file: - checkpoint_val = int(file.split('.')[0].split('_')[-1]) - if checkpoint_val > max_val: - max_val = checkpoint_val - cur_model_name = file - cfg_dicts.append(cfg_dict) - model = torch.load(os.path.join(dirpath, cur_model_name)).to('cpu') - model.actions_grids = [x.to('cpu') for x in model.actions_grids] - model.eval() - model.nn[0].eval() - models.append(model) - results = np.zeros((len(cfg_dicts), 8)) - for i, (cfg_dict, model) in enumerate(zip(cfg_dicts, models)): - ade, fde, collisions, goals = compute_average_displacement( - PROCESSED_VALID_NO_TL, model=model, configs=cfg_dict) - results[i, 0] = ade[0] - results[i, 1] = ade[1] - results[i, 2] = fde[0] - results[i, 3] = fde[1] - results[i, 4] = collisions[0] - results[i, 5] = collisions[1] - results[i, 6] = goals[0] - results[i, 7] = goals[1] - np.save(os.path.join(PROJECT_PATH, 'scripts/paper_plots/il_results.npy'), - results) - print( - f'ade {np.mean(results[:, 0])} ± {np.std(results[:, 0]) / np.sqrt(results[:, 0].shape[0])}' - ) - print( - f'fde {np.mean(results[:, 2])} ± {np.std(results[:, 2]) / np.sqrt(results[:, 0].shape[0])}' - ) - print( - f'collisions {np.mean(results[:, 4])} ± {np.std(results[:, 4]) / np.sqrt(results[:, 0].shape[0])}' - ) - print( - f'goals {np.mean(results[:, 6])} ± {np.std(results[:, 6]) / np.sqrt(results[:, 0].shape[0])}' - ) diff --git a/scripts/paper_plots/eval_sample_factory.py b/scripts/paper_plots/eval_sample_factory.py deleted file mode 100644 index 601b4a71..00000000 --- a/scripts/paper_plots/eval_sample_factory.py +++ /dev/null @@ -1,1317 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Run a policy over the entire train set. - -TODO(ev) refactor, this is wildly similar to visualize_sample_factory -""" - -from copy import deepcopy -from collections import deque, defaultdict -import itertools -from itertools import repeat -import json -import multiprocessing as mp -import os -import sys - -import matplotlib.pyplot as plt -import numpy as np -import pandas as pd -import torch - -from sample_factory.algorithms.appo.actor_worker import transform_dict_observations -from sample_factory.algorithms.appo.learner import LearnerWorker -from sample_factory.algorithms.appo.model import create_actor_critic -from sample_factory.algorithms.appo.model_utils import get_hidden_size -from sample_factory.algorithms.utils.action_distributions import ContinuousActionDistribution, \ - CategoricalActionDistribution -from sample_factory.algorithms.utils.arguments import load_from_checkpoint -from sample_factory.algorithms.utils.multi_agent_wrapper import MultiAgentWrapper, is_multiagent_env -from sample_factory.envs.create_env import create_env -from sample_factory.utils.utils import log, AttrDict -from examples.sample_factory_files.run_sample_factory import register_custom_components - -from cfgs.config import PROCESSED_VALID_NO_TL, PROCESSED_TRAIN_NO_TL, \ - ERR_VAL, set_display_window - -CB_color_cycle = [ - '#377eb8', '#ff7f00', '#4daf4a', '#f781bf', '#a65628', '#984ea3', - '#999999', '#e41a1c', '#dede00' -] - - -class Bunch(object): - """Converts a dict into an object with the keys as attributes.""" - - def __init__(self, adict): - self.__dict__.update(adict) - - -def ccw(A, B, C): - """Blah.""" - return (C[1] - A[1]) * (B[0] - A[0]) > (B[1] - A[1]) * (C[0] - A[0]) - - -def intersect(A, B, C, D): - """Check if two line segments AB and CD intersect.""" - return ccw(A, C, D) != ccw(B, C, D) and ccw(A, B, C) != ccw(A, B, D) - - -def poly_intersection(poly1, poly2): - """Compute if two polylines intersect.""" - for i, p1_first_point in enumerate(poly1[:-1]): - p1_second_point = poly1[i + 1] - - for j, p2_first_point in enumerate(poly2[:-1]): - p2_second_point = poly2[j + 1] - - if intersect(p1_first_point, p1_second_point, p2_first_point, - p2_second_point): - return True - - return False - - -def run_rollouts(env, - cfg, - device, - expert_trajectory_dict, - distance_bins, - intersection_bins, - veh_intersection_dict, - actor_1, - actor_2=None): - """Run a single rollout. - - Args: - env (_type_): Env we are running. - cfg (dict): dictionary configuring the environment. - device (str): device you want to run the model on - expert_trajectory_dict (dict[str]: np.array): expert trajectories - keyed by ID - distance_bins (np.array): bins used to compute the goal - rate as a function of the starting distance from goal - intersection_bins (np.array): bins used to compute the - goal rate as a function of the number of intersections - between paths in the expert trajectories - veh_intersection_dict (dict[str]: np.array): dict mapping - a vehicle ID to the number of intersections it - experienced - actor_1: SampleFactory agent - actor_2: SampleFactory agent. Will be none unless we're testing for - ZSC - - Returns - ------- - avg_goal: average goal rate of agents - avg_collisions: average collision rate of agents - avg_veh_edge_collisions: average veh-edge collision rate - avg_veh_veh_collisions: average veh-veh collision rate - success_rate_by_distance: np.array(number of distance bins, 4) - where the row indexes how far the vehicle was from goal - at initialization and where the column index is - [goal rate, collision rate, veh-veh collision rate, counter of - number of vehicles in this bin] - success_rate_by_num_agents: np.array(maximum number of vehicles, 4) - where the row index is how many vehicles were in this episode - where the column index is [goal rate, collision rate, - veh-veh collision rate, counter of - number of vehicles in this bin] - success_rate_by_intersections: np.array(number of intersections, 4) - where the row index is how many intersections that vehicle - had and where the column index is [goal rate, collision rate, - veh-veh collision rate, counter of - number of vehicles in this bin] - np.mean(ades): mean average displacement error of all vehicles in the - episode - np.mean(fdes): mean final displacement error of all vehicles in the - episode - veh_counter(int): how many vehicles were in that episode - """ - episode_rewards = [deque([], maxlen=100) for _ in range(env.num_agents)] - true_rewards = [deque([], maxlen=100) for _ in range(env.num_agents)] - obs = env.reset() - rollout_traj_dict = defaultdict(lambda: np.zeros((80, 2))) - # some key information for tracking statistics - goal_dist = env.goal_dist_normalizers - valid_indices = env.valid_indices - agent_id_to_env_id_map = env.agent_id_to_env_id_map - env_id_to_agent_id_map = env.env_id_to_agent_id_map - - success_rate_by_num_agents = np.zeros((cfg.max_num_vehicles, 4)) - success_rate_by_distance = np.zeros((distance_bins.shape[-1], 4)) - success_rate_by_intersections = np.zeros((intersection_bins.shape[-1], 4)) - if actor_2 is not None: - # pick which valid indices go to which policy - val = np.random.uniform() - if val < 0.5: - num_choice = int(np.floor(len(valid_indices) / 2.0)) - else: - num_choice = int(np.ceil(len(valid_indices) / 2.0)) - indices_1 = list( - np.random.choice(valid_indices, num_choice, replace=False)) - indices_2 = [val for val in valid_indices if val not in indices_1] - rnn_states = torch.zeros( - [env.num_agents, get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - rnn_states_2 = torch.zeros( - [env.num_agents, get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - else: - rnn_states = torch.zeros( - [env.num_agents, get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - episode_reward = np.zeros(env.num_agents) - finished_episode = [False] * env.num_agents - goal_achieved = [False] * len(valid_indices) - collision_observed = [False] * len(valid_indices) - veh_veh_collision_observed = [False] * len(valid_indices) - veh_counter = 0 - - while not all(finished_episode): - with torch.no_grad(): - obs_torch = AttrDict(transform_dict_observations(obs)) - for key, x in obs_torch.items(): - obs_torch[key] = torch.from_numpy(x).to(device).float() - - # we have to make a copy before doing the pass - # because (for some reason), sample factory is making - # some changes to the obs in the forwards pass - # TBD what it is - if actor_2 is not None: - obs_torch_2 = deepcopy(obs_torch) - policy_outputs_2 = actor_2(obs_torch_2, - rnn_states_2, - with_action_distribution=True) - - policy_outputs = actor_1(obs_torch, - rnn_states, - with_action_distribution=True) - - # sample actions from the distribution by default - # also update the indices that should be drawn from the second policy - # with its outputs - actions = policy_outputs.actions - if actor_2 is not None: - actions[indices_2] = policy_outputs_2.actions[indices_2] - - action_distribution = policy_outputs.action_distribution - if isinstance(action_distribution, ContinuousActionDistribution): - if not cfg.continuous_actions_sample: # TODO: add similar option for discrete actions - actions = action_distribution.means - if actor_2 is not None: - actions[ - indices_2] = policy_outputs_2.action_distribution.means[ - indices_2] - if isinstance(action_distribution, CategoricalActionDistribution): - if not cfg.discrete_actions_sample: - actions = policy_outputs['action_logits'].argmax(axis=1) - if actor_2 is not None: - actions[indices_2] = policy_outputs_2[ - 'action_logits'].argmax(axis=1)[indices_2] - - actions = actions.cpu().numpy() - - for veh in env.unwrapped.get_objects_that_moved(): - # only check vehicles we are actually controlling - if veh.expert_control is False: - rollout_traj_dict[veh.id][ - env.step_num] = veh.position.numpy() - if int(veh.collision_type) == 1: - if veh.getID() in env_id_to_agent_id_map.keys(): - agent_id = env_id_to_agent_id_map[veh.getID()] - idx = valid_indices.index(agent_id) - veh_veh_collision_observed[idx] = 1 - - rnn_states = policy_outputs.rnn_states - if actor_2 is not None: - rnn_states_2 = policy_outputs_2.rnn_states - - obs, rew, done, infos = env.step(actions) - episode_reward += rew - - for i, index in enumerate(valid_indices): - goal_achieved[ - i] = infos[index]['goal_achieved'] or goal_achieved[i] - collision_observed[ - i] = infos[index]['collided'] or collision_observed[i] - - for agent_i, done_flag in enumerate(done): - if done_flag: - finished_episode[agent_i] = True - episode_rewards[agent_i].append(episode_reward[agent_i]) - true_rewards[agent_i].append(infos[agent_i].get( - 'true_reward', episode_reward[agent_i])) - log.info( - 'Episode finished for agent %d. Reward: %.3f, true_reward: %.3f', - agent_i, episode_reward[agent_i], - true_rewards[agent_i][-1]) - rnn_states[agent_i] = torch.zeros([get_hidden_size(cfg)], - dtype=torch.float32, - device=device) - episode_reward[agent_i] = 0 - - if all(finished_episode): - avg_episode_rewards_str, avg_true_reward_str = '', '' - for agent_i in range(env.num_agents): - avg_rew = np.mean(episode_rewards[agent_i]) - avg_true_rew = np.mean(true_rewards[agent_i]) - if not np.isnan(avg_rew): - if avg_episode_rewards_str: - avg_episode_rewards_str += ', ' - avg_episode_rewards_str += f'#{agent_i}: {avg_rew:.3f}' - if not np.isnan(avg_true_rew): - if avg_true_reward_str: - avg_true_reward_str += ', ' - avg_true_reward_str += f'#{agent_i}: {avg_true_rew:.3f}' - avg_goal = infos[0]['episode_extra_stats']['goal_achieved'] - avg_collisions = infos[0]['episode_extra_stats']['collided'] - avg_veh_edge_collisions = infos[0]['episode_extra_stats'][ - 'veh_edge_collision'] - avg_veh_veh_collisions = infos[0]['episode_extra_stats'][ - 'veh_veh_collision'] - success_rate_by_num_agents[len(valid_indices) - 1, - 0] += avg_goal - success_rate_by_num_agents[len(valid_indices) - 1, - 1] += avg_collisions - success_rate_by_num_agents[len(valid_indices) - 1, - 2] += np.mean( - veh_veh_collision_observed) - success_rate_by_num_agents[len(valid_indices) - 1, 3] += 1 - # track how well we do as a function of distance - for i, index in enumerate(valid_indices): - env_id = agent_id_to_env_id_map[index] - bin = np.searchsorted(distance_bins, goal_dist[env_id]) - success_rate_by_distance[bin - 1, :] += [ - goal_achieved[i], collision_observed[i], - veh_veh_collision_observed[i], 1 - ] - # track how well we do as number of intersections - for i, index in enumerate(valid_indices): - env_id = agent_id_to_env_id_map[index] - bin = min(veh_intersection_dict[env_id], - distance_bins.shape[-1] - 1) - success_rate_by_intersections[bin, :] += [ - goal_achieved[i], collision_observed[i], - veh_veh_collision_observed[i], 1 - ] - # compute ADE and FDE - ades = [] - fdes = [] - for agent_id, traj in rollout_traj_dict.items(): - masking_arr = traj.sum(axis=1) - mask = (masking_arr != 0.0) * (masking_arr != - traj.shape[1] * ERR_VAL) - expert_mask_arr = expert_trajectory_dict[agent_id].sum( - axis=1) - expert_mask = (expert_mask_arr != 0.0) * ( - expert_mask_arr != traj.shape[1] * ERR_VAL) - ade = np.linalg.norm(traj - - expert_trajectory_dict[agent_id], - axis=-1)[mask * expert_mask] - ades.append(ade.mean()) - fde = np.linalg.norm( - traj - expert_trajectory_dict[agent_id], - axis=-1)[np.max(np.argwhere(mask * expert_mask))] - fdes.append(fde) - veh_counter += 1 - - log.info('Avg episode rewards: %s, true rewards: %s', - avg_episode_rewards_str, avg_true_reward_str) - log.info( - 'Avg episode reward: %.3f, avg true_reward: %.3f', - np.mean([ - np.mean(episode_rewards[i]) - for i in range(env.num_agents) - ]), - np.mean([ - np.mean(true_rewards[i]) for i in range(env.num_agents) - ])) - - return (avg_goal, avg_collisions, avg_veh_edge_collisions, - avg_veh_veh_collisions, success_rate_by_distance, - success_rate_by_num_agents, - success_rate_by_intersections, np.mean(ades), - np.mean(fdes), veh_counter) - - -def run_eval(cfgs, - test_zsc, - output_path, - scenario_dir, - files, - file_type, - device='cuda'): - """Eval a stored agent over all files in validation set. - - Args: - cfg (dict): configuration file for instantiating the agents and environment. - test_zsc (bool): if true, we play all agents against all agents - num_file_loops (int): how many times to loop over the file set - - Returns - ------- - None: None - """ - actor_critics = [] - if not isinstance(cfgs, list): - cfgs = [cfgs] - for i, cfg in enumerate(cfgs): - if not isinstance(cfg, Bunch): - cfg = Bunch(cfg) - cfg = load_from_checkpoint(cfg) - - render_action_repeat = cfg.render_action_repeat if cfg.render_action_repeat is not None else cfg.env_frameskip - if render_action_repeat is None: - log.warning('Not using action repeat!') - render_action_repeat = 1 - log.debug('Using action repeat %d during evaluation', - render_action_repeat) - - cfg.env_frameskip = 1 # for evaluation - cfg.num_envs = 1 - # this config is used for computing displacement errors - ade_cfg = deepcopy(cfg) - ade_cfg['remove_at_goal'] = False - ade_cfg['remove_at_collide'] = False - - def make_env_func(env_config): - return create_env(cfg.env, cfg=cfg, env_config=env_config) - - env = make_env_func(AttrDict({'worker_index': 0, 'vector_index': 0})) - env.seed(0) - - is_multiagent = is_multiagent_env(env) - if not is_multiagent: - env = MultiAgentWrapper(env) - - if hasattr(env.unwrapped, 'reset_on_init'): - # reset call ruins the demo recording for VizDoom - env.unwrapped.reset_on_init = False - - actor_critic = create_actor_critic(cfg, env.observation_space, - env.action_space) - - device = torch.device(device) - actor_critic.model_to_device(device) - - policy_id = cfg.policy_index - checkpoints = LearnerWorker.get_checkpoints( - LearnerWorker.checkpoint_dir(cfg, policy_id)) - checkpoint_dict = LearnerWorker.load_checkpoint(checkpoints, device) - actor_critic.load_state_dict(checkpoint_dict['model']) - actor_critics.append([i, actor_critic]) - - # we bin the success rate into bins of 10 meters between 0 and 400 - # the second dimension is the counts - distance_bins = np.linspace(0, 400, 40) - intersections_bins = np.linspace(0, 7, 7) - num_files = cfg['num_eval_files'] - num_file_loops = cfg['num_file_loops'] - # TODO(eugenevinitsky) horrifying copy and paste - if test_zsc: - goal_array = np.zeros((len(actor_critics), len(actor_critics), - num_file_loops * num_files)) - collision_array = np.zeros((len(actor_critics), len(actor_critics), - num_files * num_file_loops)) - success_rate_by_num_agents = np.zeros( - (len(actor_critics), len(actor_critics), cfg.max_num_vehicles, 4)) - success_rate_by_distance = np.zeros( - (len(actor_critics), len(actor_critics), distance_bins.shape[-1], - 4)) - success_rate_by_intersections = np.zeros( - (len(actor_critics), len(actor_critics), - intersections_bins.shape[-1], 4)) - ade_array = np.zeros((len(actor_critics), len(actor_critics), - num_file_loops * num_files)) - fde_array = np.zeros((len(actor_critics), len(actor_critics), - num_file_loops * num_files)) - veh_veh_collision_array = np.zeros( - (len(actor_critics), len(actor_critics), - num_file_loops * num_files)) - veh_edge_collision_array = np.zeros( - (len(actor_critics), len(actor_critics), - num_file_loops * num_files)) - else: - goal_array = np.zeros((len(actor_critics), num_file_loops * num_files)) - collision_array = np.zeros( - (len(actor_critics), num_file_loops * num_files)) - veh_veh_collision_array = np.zeros( - (len(actor_critics), num_file_loops * num_files)) - veh_edge_collision_array = np.zeros( - (len(actor_critics), num_file_loops * num_files)) - success_rate_by_num_agents = np.zeros( - (len(actor_critics), cfg.max_num_vehicles, 4)) - success_rate_by_distance = np.zeros( - (len(actor_critics), distance_bins.shape[-1], 4)) - success_rate_by_intersections = np.zeros( - (len(actor_critics), intersections_bins.shape[-1], 4)) - ade_array = np.zeros((len(actor_critics), num_file_loops * num_files)) - fde_array = np.zeros((len(actor_critics), num_file_loops * num_files)) - - if test_zsc: - output_generator = itertools.product(actor_critics, actor_critics) - else: - output_generator = actor_critics - - for output in output_generator: - if test_zsc: - (index_1, actor_1), (index_2, actor_2) = output - else: - (index_1, actor_1) = output - goal_frac = [] - collision_frac = [] - veh_veh_collision_frac = [] - veh_edge_collision_frac = [] - average_displacement_error = [] - final_displacement_error = [] - veh_counter = 0 - for loop_num in range(num_file_loops): - for file_num, file in enumerate(files[0:cfg['num_eval_files']]): - print(loop_num * cfg['num_eval_files'] + file_num) - print('file is {}'.format(os.path.join(scenario_dir, file))) - - env.unwrapped.files = [os.path.join(scenario_dir, file)] - - # step the env to its conclusion to generate the expert trajectories we compare against - env.cfg = ade_cfg - env.reset() - expert_trajectory_dict = defaultdict(lambda: np.zeros((80, 2))) - env.unwrapped.make_all_vehicles_experts() - for i in range(80): - for veh in env.unwrapped.get_objects_that_moved(): - expert_trajectory_dict[ - veh.id][i] = veh.position.numpy() - env.unwrapped.simulation.step(0.1) - - # compute the number of expert trajectories that intersect - # while filtering out the bits of the trajectory - # that were invalid - vehs_with_intersecting_ids = defaultdict(int) - for veh_id in expert_trajectory_dict.keys(): - for veh_id2 in expert_trajectory_dict.keys(): - if veh_id == veh_id2: - continue - trajectory = expert_trajectory_dict[veh_id] - trajectory2 = expert_trajectory_dict[veh_id2] - expert_mask_arr = trajectory.sum(axis=1) - expert_mask = (expert_mask_arr != 0.0) * ( - expert_mask_arr != trajectory.shape[1] * ERR_VAL) - trajectory = trajectory[expert_mask] - expert_mask_arr = trajectory2.sum(axis=1) - expert_mask = (expert_mask_arr != 0.0) * ( - expert_mask_arr != trajectory2.shape[1] * ERR_VAL) - trajectory2 = trajectory2[expert_mask] - if poly_intersection(trajectory, trajectory2): - vehs_with_intersecting_ids[ - veh_id] += poly_intersection( - trajectory, trajectory2) - - env.cfg = cfg - if test_zsc: - output = run_rollouts(env, cfg, device, - expert_trajectory_dict, - distance_bins, intersections_bins, - vehs_with_intersecting_ids, actor_1, - actor_2) - else: - output = run_rollouts(env, cfg, device, - expert_trajectory_dict, - distance_bins, intersections_bins, - vehs_with_intersecting_ids, actor_1) - - avg_goal, avg_collisions, avg_veh_edge_collisions, avg_veh_veh_collisions, \ - success_rate_by_distance_return, success_rate_by_num_agents_return, \ - success_rate_by_intersections_return, \ - _, _, _ = output - # TODO(eugenevinitsky) hideous copy and pasting - goal_frac.append(avg_goal) - collision_frac.append(avg_collisions) - veh_veh_collision_frac.append(avg_veh_veh_collisions) - veh_edge_collision_frac.append(avg_veh_edge_collisions) - if test_zsc: - success_rate_by_distance[ - index_1, index_2] += success_rate_by_distance_return - success_rate_by_num_agents[ - index_1, index_2] += success_rate_by_num_agents_return - success_rate_by_intersections[ - index_1, - index_2] += success_rate_by_intersections_return - else: - success_rate_by_distance[ - index_1] += success_rate_by_distance_return - success_rate_by_num_agents[ - index_1] += success_rate_by_num_agents_return - success_rate_by_intersections[ - index_1] += success_rate_by_intersections_return - # do some logging - log.info( - f'Avg goal achieved {np.mean(goal_frac)}±{np.std(goal_frac) / len(goal_frac)}' - ) - log.info( - f'Avg veh-veh collisions {np.mean(veh_veh_collision_frac)}±\ - {np.std(veh_veh_collision_frac) / np.sqrt(len(veh_veh_collision_frac))}' - ) - log.info( - f'Avg veh-edge collisions {np.mean(veh_edge_collision_frac)}±\ - {np.std(veh_edge_collision_frac) / np.sqrt(len(veh_edge_collision_frac))}' - ) - log.info(f'Avg num collisions {np.mean(collision_frac)}±\ - {np.std(collision_frac) / len(collision_frac)}') - - env.cfg = ade_cfg - # okay, now run the rollout one more time but this time set - # remove_at_goal and remove_at_collide to be false so we can do the ADE computations - if test_zsc: - output = run_rollouts(env, cfg, device, - expert_trajectory_dict, - distance_bins, intersections_bins, - vehs_with_intersecting_ids, actor_1, - actor_2) - else: - output = run_rollouts(env, cfg, device, - expert_trajectory_dict, - distance_bins, intersections_bins, - vehs_with_intersecting_ids, actor_1) - - _, _, _, _, _, _, _, ade, fde, veh_counter = output - average_displacement_error.append(ade) - final_displacement_error.append(fde) - log.info(f'Avg ADE {np.mean(average_displacement_error)}±\ - {np.std(average_displacement_error) / np.sqrt(len(average_displacement_error))}' - ) - log.info(f'Avg FDE {np.mean(final_displacement_error)}±\ - {np.std(final_displacement_error) / np.sqrt(len(final_displacement_error))}' - ) - - if test_zsc: - goal_array[index_1, index_2] = goal_frac - collision_array[index_1, index_2] = collision_frac - veh_veh_collision_array[index_1, index_2] = veh_veh_collision_frac - veh_edge_collision_array[index_1, - index_2] = veh_edge_collision_frac - ade_array[index_1, index_2] = average_displacement_error - fde_array[index_1, index_2] = final_displacement_error - else: - goal_array[index_1] = goal_frac - collision_array[index_1] = collision_frac - veh_veh_collision_array[index_1] = veh_veh_collision_frac - veh_edge_collision_array[index_1] = veh_edge_collision_frac - ade_array[index_1] = average_displacement_error - fde_array[index_1] = final_displacement_error - - if test_zsc: - file_type += '_zsc' - np.save(os.path.join(output_path, '{}_goal.npy'.format(file_type)), - goal_array) - np.save(os.path.join(output_path, '{}_collision.npy'.format(file_type)), - collision_array) - np.save( - os.path.join(output_path, - '{}_veh_veh_collision.npy'.format(file_type)), - veh_veh_collision_array) - np.save( - os.path.join(output_path, - '{}_veh_edge_collision.npy'.format(file_type)), - veh_edge_collision_array) - np.save(os.path.join(output_path, '{}_ade.npy'.format(file_type)), - ade_array) - np.save(os.path.join(output_path, '{}_fde.npy'.format(file_type)), - fde_array) - with open( - os.path.join(output_path, - '{}_success_by_veh_number.npy'.format(file_type)), - 'wb') as f: - np.save(f, success_rate_by_num_agents) - with open( - os.path.join(output_path, - '{}_success_by_dist.npy'.format(file_type)), - 'wb') as f: - np.save(f, success_rate_by_distance) - with open( - os.path.join( - output_path, - '{}_success_by_num_intersections.npy'.format(file_type)), - 'wb') as f: - np.save(f, success_rate_by_intersections) - - env.close() - - return - - -def load_wandb(experiment_name, cfg_filter, force_reload=False): - """Pull the results from the wandb server. - - Args: - ---- - experiment_name (str): name of the wandb group. - cfg_filter (function): use the config dict to filter - which runs are actually kept - force_reload (bool, optional): if true we overwrite - the wandb csv - even if it exists. - """ - if not os.path.exists( - 'wandb_{}.csv'.format(experiment_name)) or force_reload: - import wandb - - api = wandb.Api() - entity, project = "eugenevinitsky", "nocturne4" # set to your entity and project - runs = api.runs(entity + "/" + project) - - history_list = [] - for run in runs: - if run.name == experiment_name: - - # # .config contains the hyperparameters. - # # We remove special values that start with _. - config = { - k: v - for k, v in run.config.items() if not k.startswith('_') - } - if cfg_filter(config): - history_df = run.history() - history_df['seed'] = config['seed'] - history_df['num_files'] = config['num_files'] - history_list.append(history_df) - - runs_df = pd.concat(history_list) - runs_df.to_csv('wandb_{}.csv'.format(experiment_name)) - - -def plot_goal_achieved(experiment_name, global_step_cutoff=3e9): - """Use the WANDB CSV to plot number of train steps v. goal achieved.""" - plt.figure(dpi=300) - df = pd.read_csv("wandb_{}.csv".format(experiment_name)) - df["timestamp"] = pd.to_datetime(df["_timestamp"] * 1e9) - - # technically not correct if the number of seeds varies by num_files - # but in this case we're alright - num_seeds = len(np.unique(df.seed.values)) - - values_num_files = np.unique(df.num_files.values) - column = "0_aux/avg_goal_achieved" - dfs = [] - stdevs = [] - for num_files in values_num_files: - if num_files == 1: - continue - - df_n = df[(df.num_files == num_files) - & (df.global_step < global_step_cutoff)].set_index( - 'global_step').sort_index() - if num_files == -1: - col_name = 134453 - else: - col_name = num_files - dfs.append((df_n[column] * 100).ewm( - halflife=500, - min_periods=10).mean().rename(f"num_files={col_name}")) - stdevs.append((df_n[column] * 100).ewm(halflife=500, - min_periods=10).std()) - - values_num_files = [ - val if val != -1 else 134453 for val in values_num_files - ] - temp = list(zip(values_num_files, dfs, stdevs)) - temp = sorted(temp, key=lambda x: x[0]) - values_num_files, dfs, stdevs = zip(*temp) - ax = plt.gca() - for i in range(len(dfs)): - x = dfs[i].index.values - y = dfs[i].values - yerr = stdevs[i].replace(np.nan, 0) / np.sqrt(num_seeds) - ax.plot(x, - y, - label=f'Training Files: {values_num_files[i]}', - color=CB_color_cycle[i]) - ax.fill_between(x, - y - 2 * yerr, - y + 2 * yerr, - color=CB_color_cycle[i], - alpha=0.3) - plt.grid(ls='--', color='#ccc') - plt.legend() - plt.xlabel("Environment step") - plt.ylabel("% Goals Achieved") - plt.savefig('goal_achieved_v_step', bbox_inches='tight', pad_inches=0.1) - - -def eval_generalization(output_folder, - num_eval_files, - files, - file_type, - scenario_dir, - num_file_loops, - test_zsc=False, - cfg_filter=None): - """Evaluate generalization for all agent checkpoints in output_folder. - - Args: - ---- - output_folder (str): path to folder containing agent checkpoints - num_eval_files (int): how many files to use for eval - files (list[str]): list of scenario files to use for eval - file_type (str): 'train' or 'test' used to indicate if we are - testing in or out of distribution - scenario_dir (str): path to directory where `files` are stored - num_file_loops (int): how many times to iterate over the files. - Used for in-distribution testing if - in-distribution we trained on M files - but we want to test over N files where - N > M. - test_zsc (bool, optional): If true we pair up ever - agent in the folder and compute - all the cross-play scores. Defaults to False. - cfg_filter (_type_, optional): function used to filter over - whether eval should actually be done on that - agent. Filters using the agent config dict. - """ - file_paths = [] - cfg_dicts = [] - for (dirpath, dirnames, filenames) in os.walk(output_folder): - if 'cfg.json' in filenames: - with open(os.path.join(dirpath, 'cfg.json'), 'r') as file: - cfg_dict = json.load(file) - - if cfg_filter is not None and not cfg_filter(cfg_dict): - continue - file_paths.append(dirpath) - cfg_dict['cli_args'] = {} - cfg_dict['fps'] = 0 - cfg_dict['render_action_repeat'] = None - cfg_dict['no_render'] = None - cfg_dict['policy_index'] = 0 - cfg_dict['record_to'] = os.path.join(os.getcwd(), '..', 'recs') - cfg_dict['continuous_actions_sample'] = False - cfg_dict['discrete_actions_sample'] = False - # for the train set, we don't want to loop over - # files we didn't train on - # also watch out for -1 which means "train on all files" - if cfg_dict[ - 'num_files'] < num_eval_files and 'train' in file_type and cfg_dict[ - 'num_files'] != -1: - cfg_dict['num_eval_files'] = cfg_dict['num_files'] - cfg_dict['num_file_loops'] = num_file_loops * int( - max(num_eval_files // cfg_dict['num_files'], 1)) - else: - cfg_dict['num_eval_files'] = num_eval_files - cfg_dict['num_file_loops'] = num_file_loops - cfg_dicts.append(cfg_dict) - if test_zsc: - # TODO(eugenevinitsky) we're currently storing the ZSC result in a random - # folder which seems bad. - run_eval([Bunch(cfg_dict) for cfg_dict in cfg_dicts], - test_zsc=test_zsc, - output_path=file_paths[0], - scenario_dir=scenario_dir, - files=files, - file_type=file_type) - print('stored ZSC result in {}'.format(file_paths[0])) - else: - # why 13? because a 16 GB GPU can do a forwards pass on 13 copies of the model - # for 20 vehicles at once. More than that and you'll run out of memory - num_cpus = min(13, mp.cpu_count() - 2) - device = 'cuda' - # if torch.cuda.is_available(): - # device = 'cuda' - # else: - # device = 'cpu' - with mp.Pool(processes=num_cpus) as pool: - list( - pool.starmap( - run_eval, - zip(cfg_dicts, repeat(test_zsc), file_paths, - repeat(scenario_dir), repeat(files), repeat(file_type), - repeat(device)))) - print(file_paths) - - -def main(): - """Script entry point.""" - set_display_window() - register_custom_components() - RUN_EVAL = False - TEST_ZSC = False - PLOT_RESULTS = True - RELOAD_WANDB = False - VERSION = 5 - NUM_EVAL_FILES = 200 - NUM_FILE_LOOPS = 1 # the number of times to loop over a fixed set of files - experiment_names = ['srt_v27'] - # output_folder = '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.20/new_road_sample/18.32.35' - # output_folder = [ - # '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.23/srt_v10/17.02.40/' - # ] - # 10 files - # output_folder = [ - # '/checkpoint/eugenevinitsky/nocturne/sweep/2022.05.28/srt_12/16.43.16/' - # ] - # SRT submission results - output_folder = [ - '/checkpoint/eugenevinitsky/nocturne/sweep/2022.06.01/srt_v27/17.35.33' - ] - generalization_dfs = [] - - cfg_filter = None - - if TEST_ZSC: - - def cfg_filter(cfg_dict): - if cfg_dict['scenario']['road_edge_first'] is False and cfg_dict[ - 'scenario']['max_visible_road_points'] == 500 and cfg_dict[ - 'algorithm']['encoder_hidden_size'] == 256 and cfg_dict[ - 'num_files'] == 10000: - return True - else: - return False - else: - - def cfg_filter(cfg_dict): - if cfg_dict['scenario']['road_edge_first'] is False and cfg_dict[ - 'scenario']['max_visible_road_points'] == 500 and cfg_dict[ - 'algorithm']['encoder_hidden_size'] == 256: - return True - else: - return False - - ''' - ############################################################################### - ######### Build the generalization dataframes ###################### - ############################################################################## - ''' - - if RUN_EVAL: - if TEST_ZSC: - output_generator = [(PROCESSED_VALID_NO_TL, - 'test_{}'.format(VERSION))] - else: - output_generator = [ - (PROCESSED_TRAIN_NO_TL, 'train_{}'.format(VERSION)), - (PROCESSED_VALID_NO_TL, 'test_{}'.format(VERSION)) - ] - - for file_path, file_type in output_generator: - with open(os.path.join(file_path, 'valid_files.json')) as file: - valid_veh_dict = json.load(file) - files = list(valid_veh_dict.keys()) - if file_type == 'test_{}'.format(VERSION): - # sort the files so that we have a consistent order - np.random.seed(0) - np.random.shuffle(files) - if file_type == 'train_{}'.format(VERSION): - # for train make sure we use the same ordering - # that is used in base_env - # TODO(eugenevinitsky) this is dangerous and could - # break easily - files = sorted(files) - for folder in output_folder: - eval_generalization(folder, - NUM_EVAL_FILES, - files, - file_type=file_type, - scenario_dir=file_path, - num_file_loops=NUM_FILE_LOOPS, - test_zsc=TEST_ZSC, - cfg_filter=cfg_filter) - - if PLOT_RESULTS: - # okay, now build a pandas dataframe of the results that we will use for plotting - # the generalization results - for folder in output_folder: - for file_type in [ - 'train_{}'.format(VERSION), 'test_{}'.format(VERSION) - # 'train', - # 'test' - ]: - file_paths = [] - data_dicts = [] - for (dirpath, dirnames, filenames) in os.walk(folder): - if 'cfg.json' in filenames: - file_paths.append(dirpath) - with open(os.path.join(dirpath, 'cfg.json'), - 'r') as file: - cfg_dict = json.load(file) - if cfg_filter(cfg_dict): - # TODO(eugenevinitsky) why do they not all have this? - goal = np.mean( - np.load( - os.path.join( - dirpath, - '{}_goal.npy'.format(file_type)))) - collide = np.mean( - np.load( - os.path.join( - dirpath, - '{}_collision.npy'.format(file_type)))) - ade = np.mean( - np.load( - os.path.join( - dirpath, - '{}_ade.npy'.format(file_type)))) - fde = np.mean( - np.load( - os.path.join( - dirpath, - '{}_fde.npy'.format(file_type)))) - veh_veh_collision = np.mean( - np.load( - os.path.join( - dirpath, - '{}_veh_veh_collision.npy'.format( - file_type)))) - veh_edge_collision = np.mean( - np.load( - os.path.join( - dirpath, - '{}_veh_edge_collision.npy'.format( - file_type)))) - success_by_num_intersections = np.load( - os.path.join( - dirpath, - '{}_success_by_num_intersections.npy'. - format(file_type))) - # there aren't a lot of data points past 3 - # so just bundle them in - success_by_num_intersections[:, - 3, :] = success_by_num_intersections[:, 3:, :].sum( - axis=1) - success_by_num_intersections = success_by_num_intersections[:, - 0: - 4, :] - success_by_veh_num = np.load( - os.path.join( - dirpath, - '{}_success_by_veh_number.npy'.format( - file_type))) - success_by_distance = np.load( - os.path.join( - dirpath, '{}_success_by_dist.npy'.format( - file_type))) - num_files = cfg_dict['num_files'] - if int(num_files) == -1: - num_files = 134453 - if int(num_files) == 1: - continue - data_dicts.append({ - 'num_files': - num_files, - 'goal_rate': - goal * 100, - 'collide_rate': - collide * 100, - 'ade': - ade, - 'fde': - fde, - 'veh_veh_collision': - veh_veh_collision, - 'veh_edge_collision': - veh_edge_collision, - 'goal_by_intersections': - np.nan_to_num( - success_by_num_intersections[0, :, 0] / - success_by_num_intersections[0, :, 3]), - 'collide_by_intersections': - np.nan_to_num( - success_by_num_intersections[0, :, 1] / - success_by_num_intersections[0, :, 3]), - 'goal_by_vehicle_num': - np.nan_to_num(success_by_veh_num[0, :, 0] / - success_by_veh_num[0, :, 3]), - 'collide_by_vehicle_num': - np.nan_to_num(success_by_veh_num[0, :, 1] / - success_by_veh_num[0, :, 3]), - 'goal_by_distance': - np.nan_to_num(success_by_distance[0, :, 0] / - success_by_distance[0, :, 3]), - 'collide_by_distance': - np.nan_to_num(success_by_distance[0, :, 1] / - success_by_distance[0, :, 3]), - }) - if cfg_dict['num_files'] == 10000: - print('goal ', - success_by_num_intersections[0, :, 0]) - print('num vehicles in bin', - success_by_num_intersections[0, :, 3]) - df = pd.DataFrame(data_dicts) - new_dict = {} - for key in data_dicts[0].keys(): - if key == 'num_files': - continue - new_dict[key] = df.groupby(['num_files' - ])[key].mean().reset_index() - try: - new_dict[key + '_std'] = df.groupby( - ['num_files'])[key].std().reset_index().rename( - columns={key: key + '_std'}) - except ValueError: - # TODO(eugenevinitsky) learn to use pandas dawg - # what even is this - temp_dict = {} - for name, group in df.groupby(['num_files'])[key]: - temp = [] - for arr in group: - temp.append(arr) - np_arr = np.vstack(temp) - std_err = np.std(np_arr, axis=0) / np.sqrt( - np_arr.shape[0]) - temp_dict[name] = std_err - new_dict[key + '_stderr'] = pd.Series( - data=temp_dict).reset_index().rename( - columns={ - 'index': 'num_files', - 0: key + '_stderr' - }) - first_elem_key = 'goal_rate' - first_elem = new_dict[first_elem_key] - for key, value in new_dict.items(): - if key == first_elem_key: - continue - first_elem = first_elem.merge(value, - how='inner', - on='num_files') - generalization_dfs.append(first_elem) - ''' - ############################################################################### - ######### load the training dataframes from wandb ###################### - ############################################################################## - ''' - global_step_cutoff = 3e9 - training_dfs = [] - for experiment_name in experiment_names: - load_wandb(experiment_name, cfg_filter, force_reload=RELOAD_WANDB) - training_dfs.append( - pd.read_csv('wandb_{}.csv'.format(experiment_name))) - - num_seeds = len(np.unique(training_dfs[0].seed)) - # create the goal plot - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - plt.plot(np.log10(df.num_files), - df.goal_rate, - color=CB_color_cycle[i], - label=file_type) - ax = plt.gca() - yerr = df.goal_rate_std.replace(np.nan, 0) / np.sqrt(num_seeds) - ax.fill_between(np.log10(df.num_files), - df.goal_rate - 2 * yerr, - df.goal_rate + 2 * yerr, - color=CB_color_cycle[i], - alpha=0.3) - print(f'{file_type} goal rate', df.goal_rate, yerr) - plt.ylim([0, 100]) - plt.xlabel(' Number of Training Files (Logarithmic Scale)') - plt.ylabel('% Goals Achieved') - plt.legend() - plt.savefig('goal_achieved.png', bbox_inches='tight', pad_inches=0.1) - - # create the collide plot - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - plt.plot(np.log10(df.num_files), - df.collide_rate, - color=CB_color_cycle[i], - label=file_type) - ax = plt.gca() - yerr = df.collide_rate_std.replace(np.nan, 0) / np.sqrt(num_seeds) - ax.fill_between(np.log10(df.num_files), - df.collide_rate - 2 * yerr, - df.collide_rate + 2 * yerr, - color=CB_color_cycle[i], - alpha=0.3) - print(f'{file_type} collide rate', df.collide_rate, yerr) - plt.ylim([0, 50]) - plt.xlabel(' Number of Training Files (Logarithmic Scale)') - plt.ylabel('% Vehicles Collided') - plt.legend() - plt.savefig('collide_rate.png', bbox_inches='tight', pad_inches=0.1) - - # create ADE and FDE plots - - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - yerr = df.ade_std.replace(np.nan, 0) / np.sqrt(num_seeds) - plt.plot(np.log10(df.num_files), - df.ade, - label=file_type, - color=CB_color_cycle[i]) - ax = plt.gca() - ax.fill_between(np.log10(df.num_files), - df.ade - 2 * yerr, - df.ade + 2 * yerr, - color=CB_color_cycle[i], - alpha=0.3) - print(f'{file_type} ade', df.ade, yerr) - plt.xlabel(' Number of Training Files (Logarithmic Scale)') - plt.ylabel('Average Displacement Error (m)') - plt.ylim([0, 5]) - plt.legend() - plt.savefig('ade.png', bbox_inches='tight', pad_inches=0.1) - - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - yerr = df.fde_std.replace(np.nan, 0) / np.sqrt(num_seeds) - plt.plot(np.log10(df.num_files), - df.fde, - label=file_type, - color=CB_color_cycle[i]) - ax = plt.gca() - ax.fill_between(np.log10(df.num_files), - df.fde - 2 * yerr, - df.fde + 2 * yerr, - color=CB_color_cycle[i], - alpha=0.3) - print(f'{file_type} fde', df.fde, yerr) - plt.ylim([4, 10]) - plt.xlabel(' Number of Training Files (Logarithmic Scale)') - plt.ylabel('Final Displacement Error (m)') - plt.legend() - plt.savefig('fde.png', bbox_inches='tight', pad_inches=0.1) - plot_goal_achieved(experiment_names[0], global_step_cutoff) - - # create error by number of expert intersections plots - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - values_num_files = np.unique(df.num_files.values) - print(values_num_files) - for value in values_num_files: - if value != 10000: - continue - numpy_arr = df[df.num_files == - value]['goal_by_intersections'].to_numpy()[0] - temp_df = pd.DataFrame(numpy_arr).melt() - plt.plot(temp_df.index, - temp_df.value * 100, - label=file_type, - color=CB_color_cycle[i]) - numpy_arr = df[df.num_files == value][ - 'goal_by_intersections_stderr'].to_numpy()[0] - std_err_df = pd.DataFrame(numpy_arr).melt() - ax = plt.gca() - ax.fill_between(temp_df.index, - 100 * (temp_df.value - 2 * std_err_df.value), - 100 * (temp_df.value + 2 * std_err_df.value), - color=CB_color_cycle[i], - alpha=0.3) - - plt.xlabel('Number of intersecting paths') - plt.ylabel('Percent Goals Achieved') - ax.set_xticks([i for i in range(numpy_arr.shape[-1])]) - plt.legend() - plt.savefig('goal_v_intersection.png', - bbox_inches='tight', - pad_inches=0.1) - - # create error by number of expert intersections plots - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - values_num_files = np.unique(df.num_files.values) - for value in values_num_files: - if value != 10000: - continue - numpy_arr = df[df.num_files == - value]['collide_by_intersections'].to_numpy()[0] - temp_df = pd.DataFrame(numpy_arr).melt() - plt.plot(temp_df.index, - temp_df.value * 100, - color=CB_color_cycle[i], - label=file_type) - numpy_arr = df[df.num_files == value][ - 'collide_by_intersections_stderr'].to_numpy()[0] - std_err_df = pd.DataFrame(numpy_arr).melt() - ax = plt.gca() - ax.fill_between(temp_df.index, - 100 * (temp_df.value - 2 * std_err_df.value), - 100 * (temp_df.value + 2 * std_err_df.value), - color=CB_color_cycle[i], - alpha=0.3) - plt.xlabel('Number of Intersecting Paths') - plt.ylabel('Percent Collisions') - ax.set_xticks([i for i in range(numpy_arr.shape[-1])]) - plt.legend() - plt.savefig('collide_v_intersection.png', - bbox_inches='tight', - pad_inches=0.1) - - # create error by number of vehicles plots - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - values_num_files = np.unique(df.num_files.values) - print(values_num_files) - for value in values_num_files: - if value != 10000: - continue - numpy_arr = df[df.num_files == - value]['goal_by_vehicle_num'].to_numpy()[0] - temp_df = pd.DataFrame(numpy_arr).melt() - plt.plot(temp_df.index, - temp_df.value * 100, - label=file_type, - color=CB_color_cycle[i]) - numpy_arr = df[df.num_files == value][ - 'goal_by_vehicle_num_stderr'].to_numpy()[0] - std_err_df = pd.DataFrame(numpy_arr).melt() - ax = plt.gca() - ax.fill_between(temp_df.index, - 100 * (temp_df.value - 2 * std_err_df.value), - 100 * (temp_df.value + 2 * std_err_df.value), - color=CB_color_cycle[i], - alpha=0.3) - # sns.lineplot(x=temp_df.index, y=temp_df.value * 100) - plt.xlabel('Number of Controlled Vehicles') - plt.ylabel('Percent Goals Achieved') - ax.set_xticks([i for i in range(numpy_arr.shape[-1])]) - plt.legend() - plt.savefig('goal_v_vehicle_num.png', - bbox_inches='tight', - pad_inches=0.1) - - # create error by distance plots - plt.figure(dpi=300) - for i, (df, file_type) in enumerate( - zip(generalization_dfs, ['Train', 'Test'])): - values_num_files = np.unique(df.num_files.values) - print(values_num_files) - for value in values_num_files: - if value != 10000: - continue - numpy_arr = df[df.num_files == - value]['goal_by_distance'].to_numpy()[0] - temp_df = pd.DataFrame(numpy_arr).melt() - plt.plot(temp_df.index, - temp_df.value * 100, - label=file_type, - color=CB_color_cycle[i]) - numpy_arr = df[df.num_files == - value]['goal_by_distance_stderr'].to_numpy()[0] - std_err_df = pd.DataFrame(numpy_arr).melt() - ax = plt.gca() - ax.fill_between(temp_df.index, - 100 * (temp_df.value - 2 * std_err_df.value), - 100 * (temp_df.value + 2 * std_err_df.value), - color=CB_color_cycle[i], - alpha=0.3) - # sns.lineplot(x=temp_df.index, y=temp_df.value * 100) - plt.xlabel('Starting Distance to Goal') - plt.ylabel('Percent Goals Achieved') - ax.set_xticks([i for i in range(numpy_arr.shape[-1])]) - plt.legend() - plt.savefig('goal_v_distance.png', bbox_inches='tight', pad_inches=0.1) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/scripts/paper_plots/generate_scenes.py b/scripts/paper_plots/generate_scenes.py deleted file mode 100644 index 985942ea..00000000 --- a/scripts/paper_plots/generate_scenes.py +++ /dev/null @@ -1,152 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Example of how to make movies of Nocturne scenarios.""" -import hydra -import imageio -import matplotlib.pyplot as plt -import numpy as np -import os - -from cfgs.config import PROCESSED_TRAIN_NO_TL, PROJECT_PATH, \ - get_scenario_dict, set_display_window -from nocturne import Simulation - - -def get_sim(scenario_file, cfg): - """Initialize the scenario.""" - # load scenario, set vehicles to be expert-controlled - cfg['scenario']['allow_non_vehicles'] = False - sim = Simulation(scenario_path=str(scenario_file), - config=get_scenario_dict(cfg)) - for obj in sim.getScenario().getObjectsThatMoved(): - obj.expert_control = True - return sim - - -def make_movie(sim, - scenario_fn, - output_path='./vid.mp4', - dt=0.1, - steps=90, - fps=10): - """Make a movie from the scenario.""" - scenario = sim.getScenario() - movie_frames = [] - timestep = 0 - movie_frames.append(scenario_fn(scenario, timestep)) - for i in range(steps): - sim.step(dt) - timestep += 1 - movie_frames.append(scenario_fn(scenario, timestep)) - movie_frames = np.stack(movie_frames, axis=0) - imageio.mimwrite(output_path, movie_frames, fps=fps) - print('>', output_path) - del sim - del movie_frames - - -def make_image(sim, scenario_file, scenario_fn, output_path='./img.png'): - """Make a single image from the scenario.""" - scenario = sim.getScenario() - img = scenario_fn(scenario) - dpi = 100 - height, width, depth = img.shape - figsize = width / dpi, height / dpi - plt.figure(figsize=figsize, dpi=dpi) - plt.axis('off') - plt.imshow(img) - plt.savefig(output_path, bbox_inches='tight', pad_inches=0) - print('>', output_path) - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def main(cfg): - """See file docstring.""" - set_display_window() - - # files = ['tfrecord-00358-of-01000_{}.json'.format(i) for i in range(500)] - - files = [ - 'tfrecord-00358-of-01000_60.json', # unprotected turn - 'tfrecord-00358-of-01000_72.json', # four way stop - 'tfrecord-00358-of-01000_257.json', # crowded four way stop - 'tfrecord-00358-of-01000_332.json', # crowded merge road - 'tfrecord-00358-of-01000_79.json', # crowded parking lot - ] - for file in files: - file = os.path.join(PROCESSED_TRAIN_NO_TL, file) - sim = get_sim(file, cfg) - if os.path.exists(file): - # image of whole scenario - # make_image( - # sim, - # file, - # scenario_fn=lambda scenario: scenario.getImage( - # img_width=2000, - # img_height=2000, - # padding=50.0, - # draw_target_positions=True, - # ), - # output_path=PROJECT_PATH / - # 'scripts/paper_plots/figs/scene_{}.png'.format( - # os.path.basename(file)), - # ) - - veh_index = -3 - make_image( - sim, - file, - scenario_fn=lambda scenario: scenario.getImage( - img_height=1600, - img_width=1600, - draw_target_positions=True, - padding=0.0, - source=scenario.getVehicles()[veh_index], - view_height=80, - view_width=80, - rotate_with_source=True, - ), - output_path=PROJECT_PATH / - 'scripts/paper_plots/figs/cone_original_{}.png'.format( - os.path.basename(file)), - ) - make_image( - sim, - file, - scenario_fn=lambda scenario: scenario.getConeImage( - source=scenario.getVehicles()[veh_index], - view_dist=cfg['subscriber']['view_dist'], - view_angle=cfg['subscriber']['view_angle'], - head_angle=0.0, - img_height=1600, - img_width=1600, - padding=0.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / - 'scripts/paper_plots/figs/cone_{}.png'.format( - os.path.basename(file)), - ) - make_image( - sim, - file, - scenario_fn=lambda scenario: scenario.getFeaturesImage( - source=scenario.getVehicles()[veh_index], - view_dist=cfg['subscriber']['view_dist'], - view_angle=cfg['subscriber']['view_angle'], - head_angle=0.0, - img_height=1600, - img_width=1600, - padding=0.0, - draw_target_position=True, - ), - output_path=PROJECT_PATH / - 'scripts/paper_plots/figs/feature_{}.png'.format( - os.path.basename(file)), - ) - - -if __name__ == '__main__': - main() diff --git a/scripts/utils.py b/scripts/utils.py deleted file mode 100644 index 21be3246..00000000 --- a/scripts/utils.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Storage for SLURM running utilities.""" - - -class Overrides(object): - """Utility class used to convert commands into a bash runnable string.""" - - def __init__(self): - """Initialize class.""" - self.kvs = dict() - - def add(self, key, values): - """Add each of the desired key value pairs into a dict.""" - value = ','.join(str(v) for v in values) - assert key not in self.kvs - self.kvs[key] = value - - def cmd(self): - """Append the keys together into a command that can be run.""" - cmd = [] - for k, v in self.kvs.items(): - cmd.append(f'{k}={v}') - return cmd diff --git a/scripts/visualization/visualize_waymo_map.py b/scripts/visualization/visualize_waymo_map.py deleted file mode 100644 index 07f6c191..00000000 --- a/scripts/visualization/visualize_waymo_map.py +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Plot the text file representation of a protobuf.""" -import matplotlib.patches as mpatches -import matplotlib.pyplot as plt -import pprint - -pp = pprint.PrettyPrinter() - -data = {} - -current = data -file = 'output.txt' -show_tracks = True -parent_keys = [] -with open(file, 'r') as f: - lines = f.read().split('\n') - for line in lines: - # print(line) - if ":" in line: - k, v = [x.strip() for x in line.split(':')] - if k in current: - current[k].append(v) - else: - current[k] = [v] - elif "{" in line: - k = line[:-1].strip() - if k not in current: - current[k] = [] - parent_keys.append(k) - current[k].append({}) - current = current[k][-1] - elif "}" in line: - current = data - for k in parent_keys[:-1]: - current = current[k][-1] - parent_keys = parent_keys[:-1] - else: - pass - -# message Scenario: -# https://github.com/waymo-research/waymo-open-dataset/blob/master/waymo_open_dataset/protos/scenario.proto -print('\nScenario') -print(data.keys()) - -# message Track, message ObjectState: -# https://github.com/waymo-research/waymo-open-dataset/blob/master/waymo_open_dataset/protos/scenario.proto -print('\nObjects (vehicles, pedestrians, cyclists..)') -print(len(data['tracks'])) -print(data['tracks'][0].keys()) -print(len(data['tracks'][0]['states'])) -print(data['tracks'][0]['states'][0].keys()) - -# message MapFeature: -# https://github.com/waymo-research/waymo-open-dataset/blob/master/waymo_open_dataset/protos/map.proto -print('\nMap (roads, lanes..)') -print(len(data['map_features'])) -print(data['map_features'][0].keys()) - -# supported values are '-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted' -fig = plt.figure(figsize=(20, 20)) - -for mf in data['map_features']: - k = list(mf.keys())[1] - assert len(mf[k]) == 1 - v = mf[k][0] - - if k == 'lane': - xs = [] - ys = [] - for pt in v['polyline']: - xs.append(float(pt['x'][0])) - ys.append(float(pt['y'][0])) - plt.plot(xs, ys, color='cyan', linewidth=1) - - elif k == 'road_line': - edge_type = v['type'][0] - # linestyle = 'solid' if edge_type == 'TYPE_ROAD_EDGE_BOUNDARY' else 'dashdot' - # print(edge_type) - - xs = [] - ys = [] - for pt in v['polyline']: - xs.append(float(pt['x'][0])) - ys.append(float(pt['y'][0])) - plt.plot(xs, ys, color='orange') - - elif k == 'road_edge': - edge_type = v['type'][0] - linestyle = 'solid' if edge_type == 'TYPE_ROAD_EDGE_BOUNDARY' else 'dashdot' - - xs = [] - ys = [] - for pt in v['polyline']: - xs.append(float(pt['x'][0])) - ys.append(float(pt['y'][0])) - plt.plot(xs, ys, color='black', linestyle=linestyle) - - elif k == 'stop_sign': - pos = v['position'][0] - plt.plot(float(pos['x'][0]), float(pos['y'][0]), 'ro') - - elif k == 'crosswalk': - xs = [] - ys = [] - for pt in v['polygon']: - xs.append(float(pt['x'][0])) - ys.append(float(pt['y'][0])) - plt.plot(xs, ys, color='purple', linestyle=linestyle) - - elif k == 'speed_bump': - xs = [] - ys = [] - for pt in v['polygon']: - xs.append(float(pt['x'][0])) - ys.append(float(pt['y'][0])) - plt.plot(xs, ys, color='green', linestyle=linestyle) - - else: - print('Error with key', k) - -if show_tracks: - img_arr = [] - - from celluloid import Camera - camera = Camera(plt.gcf()) - ax = plt.gca() - # in range(len(data['tracks'][0]['states'])): - for i in range(20): - for object in data['tracks']: - if object['states'][i]['valid'][0] != 'false': - plt.scatter(float(object['states'][i]['center_x'][0]), - float(object['states'][i]['center_y'][0]), - c='blue', - s=40) - # TODO(eugenevinitsky) this is a horrible way of copying over the figure - lines = list(ax.get_lines()) - for obj in lines: - plt.plot(obj.get_data()[0], obj.get_data()[1]) - camera.snap() - animation = camera.animate() - animation.save('animation.mp4') - -patches = [] -patches.append(mpatches.Patch(color='cyan', label='lane_center')) -patches.append(mpatches.Patch(color='orange', label='road_line')) -patches.append(mpatches.Patch(color='black', label='road_edge')) -patches.append(mpatches.Patch(color='red', label='stop_sign')) -patches.append(mpatches.Patch(color='purple', label='crosswalk')) -patches.append(mpatches.Patch(color='green', label='speedbump')) -plt.legend(handles=patches) - -plt.savefig(file.split('.')[0] + '.png') diff --git a/scripts/visualization/waymo_movie.py b/scripts/visualization/waymo_movie.py deleted file mode 100644 index c20ac6c1..00000000 --- a/scripts/visualization/waymo_movie.py +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. -# -# This source code is licensed under the MIT license found in the -# LICENSE file in the root directory of this source tree. -"""Make a movie from a random file.""" -import os - -import hydra -import imageio -import matplotlib.pyplot as plt -import numpy as np - -from cfgs.config import PROCESSED_TRAIN_NO_TL, get_scenario_dict, set_display_window -from nocturne import Simulation - - -@hydra.main(config_path="../../cfgs/", config_name="config") -def main(cfg): - """See file docstring.""" - set_display_window() - _ = plt.figure() - files = os.listdir(PROCESSED_TRAIN_NO_TL) - file = os.path.join(PROCESSED_TRAIN_NO_TL, - files[np.random.randint(len(files))]) - sim = Simulation(file, get_scenario_dict(cfg)) - frames = [] - scenario = sim.getScenario() - for veh in scenario.getVehicles(): - veh.expert_control = True - for i in range(90): - img = scenario.getImage( - img_width=1600, - img_height=1600, - draw_target_positions=False, - padding=50.0, - ) - frames.append(img) - sim.step(0.1) - - movie_frames = np.array(frames) - output_path = f'{os.path.basename(file)}.mp4' - imageio.mimwrite(output_path, movie_frames, fps=30) - print('>', output_path) - - -if __name__ == '__main__': - main() From b62e2e424f52e4256a66a8fcc9b5fd2b85cac75e Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:32:31 -0400 Subject: [PATCH 30/40] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 391b19fe..02036c21 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,8 @@ env.close() | Algorithm | Reference | Code | Compatible with | Notes | | -------------------------------------- | ---------------------------------------------------------- | ----- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| PPO **single-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | | -| PPO **multi-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | #TODO | Stable baselines 3 | SB3 doesn't support multi-agent environments. Using the `VecEnv`class to treat observations from multiple agents as a set of vectorized single-agent environments. | +| PPO **single-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | [ppo_with_sb3.ipynb](https://github.com/Emerge-Lab/nocturne_lab/blob/feature/nocturne_fork_cleanup/examples/04_ppo_with_sb3.ipynb) | Stable baselines 3 | | +| PPO **multi-agent** control | [Schulman et al., 2017](https://arxiv.org/pdf/1707.06347.pdf) | `#TODO` | Stable baselines 3 | SB3 doesn't support multi-agent environments. Using the `VecEnv`class to treat observations from multiple agents as a set of vectorized single-agent environments. | | | | | | | | | | | | | From acb607bda116c8bfccf2cdc31e674475712a99bd Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:42:08 -0400 Subject: [PATCH 31/40] Update README.md --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 02036c21..270cb110 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # `nocturne_lab`: fast driving simulator 🧪 + 🚗 -`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. +`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. You can get started with the intro examples 🏎️💨 [here](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples). ## Basic usage @@ -33,10 +33,6 @@ for _ in range(1000): env.close() ``` ---- -> 🚀 **New here?** Get started with the [intro examples](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples) ---- - ## Implemented algorithms | Algorithm | Reference | Code | Compatible with | Notes | From 94df87497288f94ee30688257ce37508e06989b4 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:43:05 -0400 Subject: [PATCH 32/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 270cb110..1a5cf1d9 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # `nocturne_lab`: fast driving simulator 🧪 + 🚗 -`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), which is a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. You can get started with the intro examples 🏎️💨 [here](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples). +`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. You can get started with the intro examples 🏎️💨 [here](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples). ## Basic usage From 81f2633a09c971d393485604819d8f9e62631fa5 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:43:15 -0400 Subject: [PATCH 33/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a5cf1d9..f059767f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # `nocturne_lab`: fast driving simulator 🧪 + 🚗 -`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne), a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. You can get started with the intro examples 🏎️💨 [here](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples). +`nocturne_lab` is a maintained fork of [Nocturne](https://github.com/facebookresearch/nocturne); a 2D, partially observed, driving simulator built in C++. Currently, `nocturne_lab` is used internally at the Emerge lab. You can get started with the intro examples 🏎️💨 [here](https://github.com/Emerge-Lab/nocturne_lab/tree/feature/nocturne_fork_cleanup/examples). ## Basic usage From a82a938e5218eefdcde444641c4ccdea27a4e865 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Wed, 4 Oct 2023 17:45:12 -0400 Subject: [PATCH 34/40] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f059767f..82c21054 100644 --- a/README.md +++ b/README.md @@ -50,4 +50,6 @@ env.close() Here is a list of features that we are developing: -#TODO +- @Daphne: Support for SB3's PPO algorithm with multi-agent control +- @Alex: Logging and unit testing +- @Tiyas: Random resets From 8f577905d557bf4df83106ff32f28a16ca5c1340 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Thu, 5 Oct 2023 01:27:05 +0200 Subject: [PATCH 35/40] Fix: Collection of bug fixes, specifically: 1. Added pydocstyle back into pre-commit 2. Moved WandB and tensorboard to research dependencies in pyproject.toml 3. Updated data paths for notebooks: (1) all data paths are now relative to the base of the project and (2) changing working directory in notebook to go to the base of the project 4. Updated number of tries for finding a controllable vehicle in base_env.py --- .pre-commit-config.yaml | 6 ++ configs/env_config.yaml | 2 +- examples/01_data_structure.ipynb | 5 +- examples/02_nocturne_concepts.ipynb | 5 +- examples/03_basic_rl_usage.ipynb | 108 ++++++++-------------------- examples/04_ppo_with_sb3.ipynb | 9 ++- nocturne/envs/base_env.py | 4 +- pyproject.toml | 4 +- requirements.txt | 36 +++++++++- 9 files changed, 90 insertions(+), 89 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c7b5a3b8..0663f39b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,6 +32,12 @@ repos: hooks: - id: flake8 args: [--max-line-length=120, --extend-ignore=E203] +- repo: https://github.com/PyCQA/pydocstyle + rev: 6.3.0 + hooks: + - id: pydocstyle + args: [--convention=numpy] + additional_dependencies: [tomli] - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks rev: v2.10.0 hooks: diff --git a/configs/env_config.yaml b/configs/env_config.yaml index adf7a237..a4714944 100644 --- a/configs/env_config.yaml +++ b/configs/env_config.yaml @@ -90,4 +90,4 @@ subscriber: n_frames_stacked: 1 # Agent memory # Path to folder with traffic scene(s) from which to create an environment -data_path: ../data +data_path: ./data diff --git a/examples/01_data_structure.ipynb b/examples/01_data_structure.ipynb index beb62190..d79bf973 100644 --- a/examples/01_data_structure.ipynb +++ b/examples/01_data_structure.ipynb @@ -23,6 +23,9 @@ "import seaborn as sns\n", "import pandas as pd\n", "\n", + "import os\n", + "os.chdir('..')\n", + "\n", "cmap = ['r', 'g', 'b', 'y', 'c'] \n", "%config InlineBackend.figure_format = 'svg'\n", "sns.set('notebook', font_scale=1.1, rc={'figure.figsize': (8, 3)})\n", @@ -57,7 +60,7 @@ ], "source": [ "# Take an example scene\n", - "data_path = '../data/example_scenario.json'\n", + "data_path = './data/example_scenario.json'\n", "\n", "with open(data_path) as file:\n", " traffic_scene = json.load(file)\n", diff --git a/examples/02_nocturne_concepts.ipynb b/examples/02_nocturne_concepts.ipynb index 31369b85..0863e19b 100644 --- a/examples/02_nocturne_concepts.ipynb +++ b/examples/02_nocturne_concepts.ipynb @@ -20,7 +20,10 @@ "source": [ "import numpy as np\n", "\n", - "data_path = '../data/example_scenario.json'" + "import os\n", + "os.chdir('..')\n", + "\n", + "data_path = './data/example_scenario.json'" ] }, { diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb index e9962633..32741bda 100644 --- a/examples/03_basic_rl_usage.ipynb +++ b/examples/03_basic_rl_usage.ipynb @@ -27,36 +27,43 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "Exception", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mException\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/dejongmathijs/Library/CloudStorage/OneDrive-TheBostonConsultingGroup,Inc/Documents/Personal/nocturne_lab/examples/03_basic_rl_usage.ipynb Cell 3\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39myaml\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39menvs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase_env\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseEnv\n\u001b[1;32m 4\u001b[0m \u001b[39m# Load environment settings\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39m(\u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39m../configs/env_config.yaml\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39mr\u001b[39m\u001b[39m\"\u001b[39m) \u001b[39mas\u001b[39;00m stream:\n", + "File \u001b[0;32m~/.pyenv-i386/versions/nocturne_lab/lib/python3.10/site-packages/nocturne/envs/__init__.py:2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[39m\"\"\"Import file for tests.\"\"\"\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39menvs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase_env\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseEnv\n\u001b[1;32m 4\u001b[0m __all__ \u001b[39m=\u001b[39m [\n\u001b[1;32m 5\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mBaseEnv\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[1;32m 6\u001b[0m ]\n", + "File \u001b[0;32m~/.pyenv-i386/versions/nocturne_lab/lib/python3.10/site-packages/nocturne/envs/base_env.py:24\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mgym\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mspaces\u001b[39;00m \u001b[39mimport\u001b[39;00m Box, Discrete\n\u001b[1;32m 22\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m \u001b[39mimport\u001b[39;00m Action, Simulation, Vector2D, Vehicle\n\u001b[0;32m---> 24\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mException\u001b[39;00m()\n\u001b[1;32m 26\u001b[0m _MAX_NUM_TRIES_TO_FIND_VALID_VEHICLE \u001b[39m=\u001b[39m \u001b[39m1_000\u001b[39m\n\u001b[1;32m 28\u001b[0m logging\u001b[39m.\u001b[39mgetLogger(\u001b[39m__name__\u001b[39m)\n", + "\u001b[0;31mException\u001b[0m: " + ] + } + ], "source": [ "import yaml\n", "from nocturne.envs.base_env import BaseEnv\n", "\n", + "import os\n", + "os.chdir('..')\n", + "\n", "# Load environment settings\n", - "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", + "with open(f\"./configs/env_config.yaml\", \"r\") as stream:\n", " env_config = yaml.safe_load(stream)\n", "\n", "# Initialize environment\n", - "env = BaseEnv(\n", - " config=env_config,\n", - ")" + "env = BaseEnv(config=env_config)" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "controlling agents # [32, 3]\n" - ] - } - ], + "outputs": [], "source": [ "print(f'controlling agents # {[agent.id for agent in env.controlled_vehicles]}')" ] @@ -98,29 +105,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done after 80 steps -- total return in episode: {3: 1.8345003977789347, 32: 2.3487226973552358}\n", - "Done after 80 steps -- total return in episode: {3: 0.43543555449700166, 32: 1.549664751141132}\n", - "Done after 80 steps -- total return in episode: {3: -0.223526138403951, 32: 2.0764939767882815}\n", - "Done after 37 steps -- total return in episode: {3: 8.888294189938877, 32: 0.9171524851397167}\n", - "Done after 80 steps -- total return in episode: {3: 0.3975525642124312, 32: 2.1566675033281726}\n", - "Done after 80 steps -- total return in episode: {3: 1.6119904903044686, 32: 0.9667098631259777}\n", - "Done after 80 steps -- total return in episode: {3: 0.06271202021346704, 32: 2.0584825171460746}\n", - "Done after 80 steps -- total return in episode: {3: 1.3140901879973366, 32: 1.2298469684309603}\n", - "Done after 80 steps -- total return in episode: {3: 1.530614215964841, 32: 1.8252810539055202}\n", - "Done after 80 steps -- total return in episode: {3: 1.2409864172219975, 32: 1.379805712013483}\n", - "Done after 80 steps -- total return in episode: {3: 0.47753240450321816, 32: 2.280355875618669}\n", - "Done after 80 steps -- total return in episode: {3: 0.6084321033989238, 32: 1.862401833940641}\n", - "Done after 80 steps -- total return in episode: {3: 1.5653458434477148, 32: 2.1426790749750992}\n" - ] - } - ], + "outputs": [], "source": [ "# Reset\n", "obs_dict = env.reset()\n", @@ -171,20 +158,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Box(-inf, inf, (10,), float32)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# The observation space \n", "env.observation_space\n" @@ -192,20 +168,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Discrete(9)" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# The size of the joint action space \n", "env.action_space\n" @@ -213,20 +178,9 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[, ]" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# Which agents are controlled?\n", "env.controlled_vehicles" diff --git a/examples/04_ppo_with_sb3.ipynb b/examples/04_ppo_with_sb3.ipynb index ef55542c..28fb87f1 100644 --- a/examples/04_ppo_with_sb3.ipynb +++ b/examples/04_ppo_with_sb3.ipynb @@ -6,7 +6,7 @@ "source": [ "## PPO with single-agent control\n", "\n", - "In this notebook, we show how to use Proximal Policy Optimization (PPO) with Nocturne and [Stable Baselines 3 (SB3)](https://stable-baselines3.readthedocs.io/en/master/index.html). SB3 is a library that has implementations of various well-known RL algorithms. \n" + "In this notebook, we show how to use Proximal Policy Optimization (PPO) with Nocturne and [Stable Baselines 3 (SB3)](https://stable-baselines3.readthedocs.io/en/master/index.html). SB3 is a library that has implementations of various well-known RL algorithms." ] }, { @@ -28,7 +28,10 @@ "\n", "# Import base environment and wrapper\n", "from nocturne.envs.base_env import BaseEnv\n", - "from nocturne.wrappers.sb3_wrappers import NocturneToSB3" + "from nocturne.wrappers.sb3_wrappers import NocturneToSB3\n", + "\n", + "import os\n", + "os.chdir('..')" ] }, { @@ -38,7 +41,7 @@ "outputs": [], "source": [ "# Load environment settings\n", - "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", + "with open(f\"./configs/env_config.yaml\", \"r\") as stream:\n", " env_config = yaml.safe_load(stream)\n", "\n", "# Make sure to only control a single agent at a time. This is achieved by setting max_num_vehicles = 1\n", diff --git a/nocturne/envs/base_env.py b/nocturne/envs/base_env.py index 1696cb92..22dbbe80 100644 --- a/nocturne/envs/base_env.py +++ b/nocturne/envs/base_env.py @@ -21,7 +21,7 @@ from nocturne import Action, Simulation, Vector2D, Vehicle -_NUM_TRIES_TO_FIND_VALID_VEHICLE = 10 +_MAX_NUM_TRIES_TO_FIND_VALID_VEHICLE = 1_000 logging.getLogger(__name__) @@ -281,7 +281,7 @@ def reset( # pylint: disable=arguments-differ,too-many-locals,too-many-branches # we don't want to initialize scenes with 0 actors after satisfying # all the conditions on a scene that we have - for _ in range(_NUM_TRIES_TO_FIND_VALID_VEHICLE): + for _ in range(_MAX_NUM_TRIES_TO_FIND_VALID_VEHICLE): self.file = np.random.choice(self.files) self.simulation = Simulation(str(self.config.data_path / self.file), config=self.config.scenario) self.scenario = self.simulation.getScenario() diff --git a/pyproject.toml b/pyproject.toml index 54a8751f..e62c4129 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,14 +46,14 @@ gym = "^0.26.2" pybind11 = "^2.11.1" python-box = "^7.1.1" gymnasium = "^0.29.1" -wandb = "^0.15.12" -tensorboard = "^2.14.1" [tool.poetry.group.research.dependencies] ipykernel = "^6.25.2" matplotlib = "^3.8.0" seaborn = "^0.13.0" pandas = "^2.1.1" +wandb = "^0.15.12" +tensorboard = "^2.14.1" [tool.poetry.group.dev.dependencies] pre-commit = "^3.4.0" diff --git a/requirements.txt b/requirements.txt index 939486e0..ab0a0465 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,22 +1,36 @@ +absl-py==2.0.0 ; python_version >= "3.10" and python_version < "3.13" +appdirs==1.4.4 ; python_version >= "3.10" and python_version < "3.13" appnope==0.1.3 ; python_version >= "3.10" and python_version < "3.13" and (platform_system == "Darwin" or sys_platform == "darwin") asttokens==2.4.0 ; python_version >= "3.10" and python_version < "3.13" backcall==0.2.0 ; python_version >= "3.10" and python_version < "3.13" +cachetools==5.3.1 ; python_version >= "3.10" and python_version < "3.13" +certifi==2023.7.22 ; python_version >= "3.10" and python_version < "3.13" cffi==1.16.0 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" +charset-normalizer==3.3.0 ; python_version >= "3.10" and python_version < "3.13" +click==8.1.7 ; python_version >= "3.10" and python_version < "3.13" cloudpickle==2.2.1 ; python_version >= "3.10" and python_version < "3.13" -colorama==0.4.6 ; python_version >= "3.10" and python_version < "3.13" and sys_platform == "win32" +colorama==0.4.6 ; python_version >= "3.10" and python_version < "3.13" and (sys_platform == "win32" or platform_system == "Windows") comm==0.1.4 ; python_version >= "3.10" and python_version < "3.13" contourpy==1.1.1 ; python_version >= "3.10" and python_version < "3.13" cycler==0.12.0 ; python_version >= "3.10" and python_version < "3.13" debugpy==1.8.0 ; python_version >= "3.10" and python_version < "3.13" decorator==5.1.1 ; python_version >= "3.10" and python_version < "3.13" +docker-pycreds==0.4.0 ; python_version >= "3.10" and python_version < "3.13" exceptiongroup==1.1.3 ; python_version >= "3.10" and python_version < "3.11" executing==2.0.0 ; python_version >= "3.10" and python_version < "3.13" farama-notifications==0.0.4 ; python_version >= "3.10" and python_version < "3.13" filelock==3.12.4 ; python_version >= "3.10" and python_version < "3.13" fonttools==4.43.0 ; python_version >= "3.10" and python_version < "3.13" +fsspec==2023.9.2 ; python_version >= "3.10" and python_version < "3.13" +gitdb==4.0.10 ; python_version >= "3.10" and python_version < "3.13" +gitpython==3.1.37 ; python_version >= "3.10" and python_version < "3.13" +google-auth-oauthlib==1.0.0 ; python_version >= "3.10" and python_version < "3.13" +google-auth==2.23.2 ; python_version >= "3.10" and python_version < "3.13" +grpcio==1.59.0 ; python_version >= "3.10" and python_version < "3.13" gym-notices==0.0.8 ; python_version >= "3.10" and python_version < "3.13" gym==0.26.2 ; python_version >= "3.10" and python_version < "3.13" gymnasium==0.29.1 ; python_version >= "3.10" and python_version < "3.13" +idna==3.4 ; python_version >= "3.10" and python_version < "3.13" ipykernel==6.25.2 ; python_version >= "3.10" and python_version < "3.13" ipython==8.16.1 ; python_version >= "3.10" and python_version < "3.13" jedi==0.19.1 ; python_version >= "3.10" and python_version < "3.13" @@ -24,6 +38,7 @@ jinja2==3.1.2 ; python_version >= "3.10" and python_version < "3.13" jupyter-client==8.3.1 ; python_version >= "3.10" and python_version < "3.13" jupyter-core==5.3.2 ; python_version >= "3.10" and python_version < "3.13" kiwisolver==1.4.5 ; python_version >= "3.10" and python_version < "3.13" +markdown==3.4.4 ; python_version >= "3.10" and python_version < "3.13" markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "3.13" matplotlib-inline==0.1.6 ; python_version >= "3.10" and python_version < "3.13" matplotlib==3.8.0 ; python_version >= "3.10" and python_version < "3.13" @@ -31,17 +46,22 @@ mpmath==1.3.0 ; python_version >= "3.10" and python_version < "3.13" nest-asyncio==1.5.8 ; python_version >= "3.10" and python_version < "3.13" networkx==3.1 ; python_version >= "3.10" and python_version < "3.13" numpy==1.26.0 ; python_version >= "3.10" and python_version < "3.13" +oauthlib==3.2.2 ; python_version >= "3.10" and python_version < "3.13" packaging==23.2 ; python_version >= "3.10" and python_version < "3.13" pandas==2.1.1 ; python_version >= "3.10" and python_version < "3.13" parso==0.8.3 ; python_version >= "3.10" and python_version < "3.13" +pathtools==0.1.2 ; python_version >= "3.10" and python_version < "3.13" pexpect==4.8.0 ; python_version >= "3.10" and python_version < "3.13" and sys_platform != "win32" pickleshare==0.7.5 ; python_version >= "3.10" and python_version < "3.13" pillow==10.0.1 ; python_version >= "3.10" and python_version < "3.13" platformdirs==3.11.0 ; python_version >= "3.10" and python_version < "3.13" prompt-toolkit==3.0.39 ; python_version >= "3.10" and python_version < "3.13" +protobuf==4.24.4 ; python_version >= "3.10" and python_version < "3.13" psutil==5.9.5 ; python_version >= "3.10" and python_version < "3.13" ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "3.13" and sys_platform != "win32" pure-eval==0.2.2 ; python_version >= "3.10" and python_version < "3.13" +pyasn1-modules==0.3.0 ; python_version >= "3.10" and python_version < "3.13" +pyasn1==0.5.0 ; python_version >= "3.10" and python_version < "3.13" pybind11==2.11.1 ; python_version >= "3.10" and python_version < "3.13" pycparser==2.21 ; python_version >= "3.10" and python_version < "3.13" and implementation_name == "pypy" pygments==2.16.1 ; python_version >= "3.10" and python_version < "3.13" @@ -50,17 +70,29 @@ python-box==7.1.1 ; python_version >= "3.10" and python_version < "3.13" python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "3.13" pytz==2023.3.post1 ; python_version >= "3.10" and python_version < "3.13" pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "3.13" +pyyaml==6.0.1 ; python_version >= "3.10" and python_version < "3.13" pyzmq==25.1.1 ; python_version >= "3.10" and python_version < "3.13" +requests-oauthlib==1.3.1 ; python_version >= "3.10" and python_version < "3.13" +requests==2.31.0 ; python_version >= "3.10" and python_version < "3.13" +rsa==4.9 ; python_version >= "3.10" and python_version < "3.13" seaborn==0.13.0 ; python_version >= "3.10" and python_version < "3.13" +sentry-sdk==1.31.0 ; python_version >= "3.10" and python_version < "3.13" +setproctitle==1.3.3 ; python_version >= "3.10" and python_version < "3.13" setuptools-scm==8.0.4 ; python_version >= "3.10" and python_version < "3.13" setuptools==68.2.2 ; python_version >= "3.10" and python_version < "3.13" six==1.16.0 ; python_version >= "3.10" and python_version < "3.13" +smmap==5.0.1 ; python_version >= "3.10" and python_version < "3.13" stack-data==0.6.3 ; python_version >= "3.10" and python_version < "3.13" sympy==1.12 ; python_version >= "3.10" and python_version < "3.13" +tensorboard-data-server==0.7.1 ; python_version >= "3.10" and python_version < "3.13" +tensorboard==2.14.1 ; python_version >= "3.10" and python_version < "3.13" tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11" -torch==2.0.1 ; python_version >= "3.10" and python_version < "3.13" +torch==2.1.0 ; python_version >= "3.10" and python_version < "3.13" tornado==6.3.3 ; python_version >= "3.10" and python_version < "3.13" traitlets==5.11.2 ; python_version >= "3.10" and python_version < "3.13" typing-extensions==4.8.0 ; python_version >= "3.10" and python_version < "3.13" tzdata==2023.3 ; python_version >= "3.10" and python_version < "3.13" +urllib3==2.0.6 ; python_version >= "3.10" and python_version < "3.13" +wandb==0.15.12 ; python_version >= "3.10" and python_version < "3.13" wcwidth==0.2.8 ; python_version >= "3.10" and python_version < "3.13" +werkzeug==3.0.0 ; python_version >= "3.10" and python_version < "3.13" From bd29583229a7b12a9005702bd755b80707c2cbe8 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Thu, 5 Oct 2023 01:48:19 +0200 Subject: [PATCH 36/40] Feature: Added poetry setup instructions to README.md --- README.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 82c21054..62b372e9 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,98 @@ env.close() ## Installation -#TODO +### Requirements + +* Python (>=3.10) + +### Virtual environment +Below different options for setting up a virtual environment are described. Either option works although `pyenv` is recommended. + +> _Note:_ The virtual environment needs to be **activated each time** before you start working. + +#### Option 1: `pyenv` +Create a virtual environment by running: + +```shell +pyenv virtualenv 3.10.12 nocturne_lab +``` + +The virtual environment should be activated every time you start a new shell session before running subsequent commands: + +```shell +pyenv shell nocturne_lab +``` + +Fortunately, `pyenv` provides a way to assign a virtual environment to a directory. To set it for this project, run: +```shell +pyenv local nocturne_lab +``` + +#### Option 2: `conda` +Create a conda environment by running: + +```shell +conda env create -f ./environment.yml +``` + +This creates a conda environment using Python 3.10 called `nocturne_lab`. + +To activate the virtual environment, run: + +```shell +conda activate nocturne_lab +``` + +#### Option 3: `venv` +Create a virtual environment by running: + +```shell +python -m venv .venv +``` + +The virtual environment should be activated every time you start a new shell session before running the subsequent command: + +```shell +source .venv/bin/activate +``` + +### Dependencies + +`poetry` is used to manage the project and its dependencies. Start by installing `poetry` in your virtual environment: + +```shell +pip install poetry +``` + +Before installing the package, you first need to synchronise and update the git submodules by running: + +```shell +# Synchronise and update git submodules +git submodule sync +git submodule update --init --recursive +``` + +Now install the package by running: + +```shell +poetry install +``` + +> _Note:_ Under the hood the `nocturne` package uses the `nocturne_cpp` Python package that wraps the Nocturne C++ code base and provides bindings for Python to interact with the C++ code using `pybind11`. + + +### Development setup +To configure the development setup, run: +```shell +# Install poetry dev dependencies +poetry install --only=dev + +# Install pre-commit (for flake8, isort, black, etc.) +pre-commit install + +# Optional: Install poetry docs dependencies +poetry install --only=docs +``` ## Ongoing work From 7c7b6346f6f94cf7fac9dc48f5ab4234c59443b3 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse Date: Thu, 5 Oct 2023 01:54:06 +0200 Subject: [PATCH 37/40] Fix: Removed poetry export for docs requirements.txt as this should be part of docs branch --- .pre-commit-config.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0663f39b..d1117cb4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -64,9 +64,3 @@ repos: language: system types: [python] pass_filenames: false - - id: poetry-export-requirements-docs - name: poetry-export-requirements-docs - entry: poetry export --without-hashes --only docs -f requirements.txt -o requirements.docs.txt - language: system - types: [python] - pass_filenames: false From e400615493b51d23c7534d625359e05bb88c89f5 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 21:54:30 -0400 Subject: [PATCH 38/40] update data path --- configs/env_config.yaml | 2 +- examples/04_ppo_with_sb3.ipynb | 94 +++++++++++++++++++++++++++++----- 2 files changed, 82 insertions(+), 14 deletions(-) diff --git a/configs/env_config.yaml b/configs/env_config.yaml index a4714944..adf7a237 100644 --- a/configs/env_config.yaml +++ b/configs/env_config.yaml @@ -90,4 +90,4 @@ subscriber: n_frames_stacked: 1 # Agent memory # Path to folder with traffic scene(s) from which to create an environment -data_path: ./data +data_path: ../data diff --git a/examples/04_ppo_with_sb3.ipynb b/examples/04_ppo_with_sb3.ipynb index 28fb87f1..e1cbbc64 100644 --- a/examples/04_ppo_with_sb3.ipynb +++ b/examples/04_ppo_with_sb3.ipynb @@ -20,28 +20,28 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import yaml\n", - "\n", + "import wandb\n", "# Import base environment and wrapper\n", "from nocturne.envs.base_env import BaseEnv\n", "from nocturne.wrappers.sb3_wrappers import NocturneToSB3\n", "\n", - "import os\n", - "os.chdir('..')" + "# import os\n", + "# os.chdir('..')" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Load environment settings\n", - "with open(f\"./configs/env_config.yaml\", \"r\") as stream:\n", + "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", " env_config = yaml.safe_load(stream)\n", "\n", "# Make sure to only control a single agent at a time. This is achieved by setting max_num_vehicles = 1\n", @@ -50,7 +50,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -76,17 +76,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "from stable_baselines3 import PPO\n", - "import wandb" + "from stable_baselines3 import PPO" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -95,9 +94,78 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "ERROR:wandb.jupyter:Failed to detect the name of this notebook, you can set it manually with the WANDB_NOTEBOOK_NAME environment variable to enable code saving.\n", + "\u001b[34m\u001b[1mwandb\u001b[0m: Currently logged in as: \u001b[33mdaphnecor\u001b[0m. Use \u001b[1m`wandb login --relogin`\u001b[0m to force relogin\n" + ] + }, + { + "data": { + "text/html": [ + "Tracking run with wandb version 0.15.12" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Run data is saved locally in /Users/Daphne/git_repos/nocturne_lab/examples/wandb/run-20231004_215340-rmy7acy1" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Syncing run blooming-eon-12 to Weights & Biases (docs)
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View project at https://wandb.ai/daphnecor/single_agent_control_sb3_ppo" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + " View run at https://wandb.ai/daphnecor/single_agent_control_sb3_ppo/runs/rmy7acy1" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "if LOGGING:\n", " wandb.login()\n", From 83a392d7233f5d0ff554fb570db01920ffcb3521 Mon Sep 17 00:00:00 2001 From: Daphne Date: Wed, 4 Oct 2023 21:56:15 -0400 Subject: [PATCH 39/40] update basic rl config --- examples/03_basic_rl_usage.ipynb | 103 ++++++++++++++++++++++--------- 1 file changed, 73 insertions(+), 30 deletions(-) diff --git a/examples/03_basic_rl_usage.ipynb b/examples/03_basic_rl_usage.ipynb index 32741bda..0e4baa7f 100644 --- a/examples/03_basic_rl_usage.ipynb +++ b/examples/03_basic_rl_usage.ipynb @@ -27,32 +27,15 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "ename": "Exception", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mException\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/Users/dejongmathijs/Library/CloudStorage/OneDrive-TheBostonConsultingGroup,Inc/Documents/Personal/nocturne_lab/examples/03_basic_rl_usage.ipynb Cell 3\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39myaml\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39menvs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase_env\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseEnv\n\u001b[1;32m 4\u001b[0m \u001b[39m# Load environment settings\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39m(\u001b[39mf\u001b[39m\u001b[39m\"\u001b[39m\u001b[39m../configs/env_config.yaml\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m\"\u001b[39m\u001b[39mr\u001b[39m\u001b[39m\"\u001b[39m) \u001b[39mas\u001b[39;00m stream:\n", - "File \u001b[0;32m~/.pyenv-i386/versions/nocturne_lab/lib/python3.10/site-packages/nocturne/envs/__init__.py:2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[39m\"\"\"Import file for tests.\"\"\"\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39menvs\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mbase_env\u001b[39;00m \u001b[39mimport\u001b[39;00m BaseEnv\n\u001b[1;32m 4\u001b[0m __all__ \u001b[39m=\u001b[39m [\n\u001b[1;32m 5\u001b[0m \u001b[39m\"\u001b[39m\u001b[39mBaseEnv\u001b[39m\u001b[39m\"\u001b[39m,\n\u001b[1;32m 6\u001b[0m ]\n", - "File \u001b[0;32m~/.pyenv-i386/versions/nocturne_lab/lib/python3.10/site-packages/nocturne/envs/base_env.py:24\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mgym\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mspaces\u001b[39;00m \u001b[39mimport\u001b[39;00m Box, Discrete\n\u001b[1;32m 22\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mnocturne\u001b[39;00m \u001b[39mimport\u001b[39;00m Action, Simulation, Vector2D, Vehicle\n\u001b[0;32m---> 24\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mException\u001b[39;00m()\n\u001b[1;32m 26\u001b[0m _MAX_NUM_TRIES_TO_FIND_VALID_VEHICLE \u001b[39m=\u001b[39m \u001b[39m1_000\u001b[39m\n\u001b[1;32m 28\u001b[0m logging\u001b[39m.\u001b[39mgetLogger(\u001b[39m__name__\u001b[39m)\n", - "\u001b[0;31mException\u001b[0m: " - ] - } - ], + "outputs": [], "source": [ "import yaml\n", "from nocturne.envs.base_env import BaseEnv\n", "\n", - "import os\n", - "os.chdir('..')\n", - "\n", "# Load environment settings\n", - "with open(f\"./configs/env_config.yaml\", \"r\") as stream:\n", + "with open(f\"../configs/env_config.yaml\", \"r\") as stream:\n", " env_config = yaml.safe_load(stream)\n", "\n", "# Initialize environment\n", @@ -61,9 +44,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "controlling agents # [32, 3]\n" + ] + } + ], "source": [ "print(f'controlling agents # {[agent.id for agent in env.controlled_vehicles]}')" ] @@ -105,9 +96,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done after 80 steps -- total return in episode: {3: 1.7939045316631903, 32: 1.76165686989652}\n", + "Done after 80 steps -- total return in episode: {3: 2.155318604202339, 32: 1.481429297893312}\n", + "Done after 80 steps -- total return in episode: {3: 9.465985459353316, 32: 2.2998212474249136}\n", + "Done after 80 steps -- total return in episode: {3: 1.7018343298612015, 32: 1.3247767658493788}\n", + "Done after 80 steps -- total return in episode: {3: 1.8384227205755483, 32: 10.332866871900634}\n", + "Done after 80 steps -- total return in episode: {3: 1.1086751511448438, 32: 2.2523170773066994}\n", + "Done after 68 steps -- total return in episode: {3: 9.61291282706631, 32: 1.7437541483099983}\n", + "Done after 80 steps -- total return in episode: {3: 1.3500529425191474, 32: 1.4489859636190936}\n", + "Done after 80 steps -- total return in episode: {3: 0.2037829695907602, 32: 1.79063201755183}\n", + "Done after 80 steps -- total return in episode: {3: 0.5679890269139611, 32: 1.1160696685449862}\n", + "Done after 80 steps -- total return in episode: {3: 1.2231784562099877, 32: 10.2609964920322}\n", + "Done after 80 steps -- total return in episode: {3: 0.1683594772814569, 32: 1.8316186898723619}\n" + ] + } + ], "source": [ "# Reset\n", "obs_dict = env.reset()\n", @@ -158,9 +168,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Box(-inf, inf, (10,), float32)" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# The observation space \n", "env.observation_space\n" @@ -168,9 +189,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Discrete(9)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# The size of the joint action space \n", "env.action_space\n" @@ -178,9 +210,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[, ]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Which agents are controlled?\n", "env.controlled_vehicles" From 241a258113700235ad3c725caa4c6b32ae638d42 Mon Sep 17 00:00:00 2001 From: Daphne Cornelisse <33460159+daphnecor@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:42:36 -0400 Subject: [PATCH 40/40] Update README.md --- README.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 62b372e9..7f00d26b 100644 --- a/README.md +++ b/README.md @@ -12,24 +12,34 @@ env = BaseEnv(config=env_config) # Reset obs_dict = env.reset() -num_agents = len(env.controlled_agents) -# Step through env -for _ in range(1000): +# Get info +agent_ids = [agent_id for agent_id in obs_dict.keys()] +dead_agent_ids = [] - # Take action(s) +for step in range(1000): + + # Sample actions action_dict = { - agent_id: env.action_space.sample() + agent_id: env.action_space.sample() for agent_id in agent_ids if agent_id not in dead_agent_ids } - - # Step + + # Step in env obs_dict, rew_dict, done_dict, info_dict = env.step(action_dict) + # Update dead agents + for agent_id, is_done in done_dict.items(): + if is_done and agent_id not in dead_agent_ids: + dead_agent_ids.append(agent_id) + + # Reset if all agents are done if done_dict["__all__"]: obs_dict = env.reset() + dead_agent_ids = [] +# Close environment env.close() ```