commit 53d95091582939fcfa152bff5d7834ea3b04d36e Author: Ekaropolus Date: Mon May 12 12:18:11 2025 -0600 Initial commit of Django app for app.polisplexity.tech diff --git a/.env b/.env new file mode 100644 index 0000000..52d53af --- /dev/null +++ b/.env @@ -0,0 +1,30 @@ +# Database Configuration +POSTGRES_DB=polisplexity +POSTGRES_USER=postgres +POSTGRES_PASSWORD=mysecretpassword + +# Django Environment Variables +DEBUG=True +SECRET_KEY=django-insecure-%*=%u3gv38cv*2iwy)m^)flo3p4w7ol*n5*-7lr*i4^u+(v=#q +ALLOWED_HOSTS=127.0.0.1,localhost,app.polisplexity.tech + +# Database URL +DATABASE_URL=postgres://postgres:mysecretpassword@db:5432/polisplexity + +# Static and Media Files +STATIC_URL=/static/ +STATIC_ROOT=/app/static +MEDIA_URL=/media/ +MEDIA_ROOT=/app/media + +# Neo4j Database Configuration +NEO4J_URI=neo4j+s://74d433fb.databases.neo4j.io +NEO4J_USERNAME=neo4j +NEO4J_PASSWORD=4Y5-ppefHkgEiLr-l0qzbf8wNJw0zkOmRmk7cSkSrTg + +# OpenAI API Key +OPENAI_API_KEY=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 + +# Facebook API Tokens +PAGE_ACCESS_TOKEN=EAAIq9z4rVPIBOxJxRnmbjIUsqJ9ZB5hZC9MF4qN64VNpxUCYguMCqUNKSsAjQZAcD9hlhZCv2RcV4GOIFC3Ni6VGoMp3rTFlLwtXxFIklj0FqZAVqSh7i0QT3Kwt9SCx9V9iioSsyFhUQrnpTXZCoDPJy0i2kMkzkY5ZA58hieSeQZBZARz3ZC7XeZCi5uSZBXYCeatGuAZDZD +VERIFY_TOKEN=YzQ2VWcODWO922j30HZ9AV113kAisTjcacc3wzURPvFjHCOWjcYP39ThgCWlPQ1w diff --git a/.env:Zone.Identifier b/.env:Zone.Identifier new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4ebdd0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +# Use official Python image +FROM python:3.10 + +# Set working directory +WORKDIR /app + +# Copy application code +COPY . . + +# Add before pip install step +RUN apt-get update && apt-get install -y \ + build-essential \ + libgeos-dev \ + libspatialindex-dev \ + libproj-dev \ + proj-data \ + proj-bin \ + gdal-bin \ + libgdal-dev \ + python3-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install dependencies +RUN pip install --no-cache-dir -r requirements.txt + +# Expose the application port +EXPOSE 8000 + +# Run Gunicorn server +CMD ["gunicorn", "--bind", "0.0.0.0:8000", "polisplexity.wsgi:application"] diff --git a/cache/072bd8cd806e5190af1c441ab571a2bf77c8c872.json b/cache/072bd8cd806e5190af1c441ab571a2bf77c8c872.json new file mode 100644 index 0000000..854f488 --- /dev/null +++ b/cache/072bd8cd806e5190af1c441ab571a2bf77c8c872.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:27:52Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/09e5462a35a04b5013319e71a21d4deed86d7a08.json b/cache/09e5462a35a04b5013319e71a21d4deed86d7a08.json new file mode 100644 index 0000000..eb72a33 --- /dev/null +++ b/cache/09e5462a35a04b5013319e71a21d4deed86d7a08.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T03:56:57Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/0ac4287a17ed115ca90b825a56380fc01c7fc64f.json b/cache/0ac4287a17ed115ca90b825a56380fc01c7fc64f.json new file mode 100644 index 0000000..d65163c --- /dev/null +++ b/cache/0ac4287a17ed115ca90b825a56380fc01c7fc64f.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:21:34Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/185fb1c7888814e1bcadb395e44e02f98686774c.json b/cache/185fb1c7888814e1bcadb395e44e02f98686774c.json new file mode 100644 index 0000000..6aa0639 --- /dev/null +++ b/cache/185fb1c7888814e1bcadb395e44e02f98686774c.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:48:18Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339689, "lat": 19.3983334, "lon": -99.1507862}, {"type": "node", "id": 30339690, "lat": 19.3991201, "lon": -99.1507006}, {"type": "node", "id": 30339691, "lat": 19.4001339, "lon": -99.150629}, {"type": "node", "id": 30340092, "lat": 19.3799222, "lon": -99.1513362, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340093, "lat": 19.379682, "lon": -99.1500464, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340605, "lat": 19.3951447, "lon": -99.1460698, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340606, "lat": 19.395222, "lon": -99.1475158}, {"type": "node", "id": 30340905, "lat": 19.3853852, "lon": -99.1582603}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340922, "lat": 19.3837544, "lon": -99.1458994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340976, "lat": 19.387834, "lon": -99.1469996, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340979, "lat": 19.3908318, "lon": -99.1466312}, {"type": "node", "id": 30340980, "lat": 19.3925848, "lon": -99.1463925, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341027, "lat": 19.3815048, "lon": -99.1509958}, {"type": "node", "id": 30341028, "lat": 19.3812643, "lon": -99.1497158}, {"type": "node", "id": 30341031, "lat": 19.3831178, "lon": -99.1506833}, {"type": "node", "id": 30341032, "lat": 19.3823063, "lon": -99.150839}, {"type": "node", "id": 30341033, "lat": 19.380712, "lon": -99.1511667}, {"type": "node", "id": 30341040, "lat": 19.3804623, "lon": -99.149875}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341122, "lat": 19.4001425, "lon": -99.1557524, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385361, "lat": 19.3830423, "lon": -99.1588289}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385379, "lat": 19.3952991, "lon": -99.1484528, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594104, "lat": 19.4019229, "lon": -99.1547508}, {"type": "node", "id": 30594502, "lat": 19.3828577, "lon": -99.1493763}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30758688, "lat": 19.3820497, "lon": -99.1495544}, {"type": "node", "id": 30758812, "lat": 19.3833767, "lon": -99.149279}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759094, "lat": 19.3877136, "lon": -99.1576975}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759101, "lat": 19.3861472, "lon": -99.1497004}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30788901, "lat": 19.378004, "lon": -99.150399}, {"type": "node", "id": 30789005, "lat": 19.392468, "lon": -99.1492035}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789024, "lat": 19.3848337, "lon": -99.1490278}, {"type": "node", "id": 30789025, "lat": 19.3862628, "lon": -99.1488677}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789027, "lat": 19.3890839, "lon": -99.148825}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789030, "lat": 19.3924797, "lon": -99.148557}, {"type": "node", "id": 30789031, "lat": 19.3924492, "lon": -99.1498776}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789036, "lat": 19.3854988, "lon": -99.1504483}, {"type": "node", "id": 30789037, "lat": 19.3863129, "lon": -99.1510278}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789447, "lat": 19.4001041, "lon": -99.1520792}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789522, "lat": 19.4001142, "lon": -99.153399}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789546, "lat": 19.3982144, "lon": -99.1550538}, {"type": "node", "id": 30789547, "lat": 19.4001258, "lon": -99.1549075}, {"type": "node", "id": 30789555, "lat": 19.4038334, "lon": -99.1562967}, {"type": "node", "id": 30789556, "lat": 19.4018135, "lon": -99.1564058}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789564, "lat": 19.4001933, "lon": -99.156523}, {"type": "node", "id": 30789610, "lat": 19.3959554, "lon": -99.1575343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 30789626, "lat": 19.3947065, "lon": -99.1583197}, {"type": "node", "id": 31180208, "lat": 19.3807037, "lon": -99.1596107}, {"type": "node", "id": 31180210, "lat": 19.381316, "lon": -99.159409}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268618171, "lat": 19.4024083, "lon": -99.1428698, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623580, "lat": 19.3944832, "lon": -99.1415138, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623769, "lat": 19.3869007, "lon": -99.1471178, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268639490, "lat": 19.3942243, "lon": -99.1396727, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268679153, "lat": 19.3910913, "lon": -99.1506531}, {"type": "node", "id": 268679231, "lat": 19.3888766, "lon": -99.1488188}, {"type": "node", "id": 268679232, "lat": 19.3866874, "lon": -99.1471428, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680344, "lat": 19.3956258, "lon": -99.1460139}, {"type": "node", "id": 268680393, "lat": 19.3971166, "lon": -99.1437259, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268680394, "lat": 19.3978002, "lon": -99.1426974}, {"type": "node", "id": 268680395, "lat": 19.4023454, "lon": -99.1436225}, {"type": "node", "id": 268681183, "lat": 19.3993601, "lon": -99.1433446, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268681316, "lat": 19.3982356, "lon": -99.1456821}, {"type": "node", "id": 268681318, "lat": 19.3979295, "lon": -99.1435833, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268681319, "lat": 19.3975535, "lon": -99.1410065}, {"type": "node", "id": 268681524, "lat": 19.3947247, "lon": -99.143208}, {"type": "node", "id": 268681786, "lat": 19.4001864, "lon": -99.1432109}, {"type": "node", "id": 268682761, "lat": 19.3966476, "lon": -99.1458837}, {"type": "node", "id": 268682898, "lat": 19.3954689, "lon": -99.1378706}, {"type": "node", "id": 268682899, "lat": 19.3956985, "lon": -99.1394507}, {"type": "node", "id": 268682900, "lat": 19.395973, "lon": -99.1412587}, {"type": "node", "id": 268682901, "lat": 19.3962199, "lon": -99.1429652}, {"type": "node", "id": 268682902, "lat": 19.3963495, "lon": -99.1438402, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268683004, "lat": 19.4008018, "lon": -99.143119}, {"type": "node", "id": 268684168, "lat": 19.4022863, "lon": -99.1442765}, {"type": "node", "id": 268684263, "lat": 19.4016386, "lon": -99.1443812}, {"type": "node", "id": 268684264, "lat": 19.401002, "lon": -99.1444823}, {"type": "node", "id": 268684265, "lat": 19.399562, "lon": -99.1447114}, {"type": "node", "id": 268684266, "lat": 19.3981272, "lon": -99.1449386}, {"type": "node", "id": 268684267, "lat": 19.3965468, "lon": -99.1452002}, {"type": "node", "id": 268684268, "lat": 19.3961499, "lon": -99.1452694}, {"type": "node", "id": 268684269, "lat": 19.3950518, "lon": -99.1454366}, {"type": "node", "id": 268684270, "lat": 19.3926019, "lon": -99.1457558}, {"type": "node", "id": 268684271, "lat": 19.3907604, "lon": -99.1460788}, {"type": "node", "id": 268684541, "lat": 19.3964552, "lon": -99.1445676}, {"type": "node", "id": 268684542, "lat": 19.3965937, "lon": -99.1445461}, {"type": "node", "id": 268684543, "lat": 19.3980365, "lon": -99.1443165}, {"type": "node", "id": 268684544, "lat": 19.3994686, "lon": -99.1440791}, {"type": "node", "id": 268684547, "lat": 19.392618, "lon": -99.1451953}, {"type": "node", "id": 268684705, "lat": 19.397679, "lon": -99.1418826}, {"type": "node", "id": 268684935, "lat": 19.3960948, "lon": -99.1421353}, {"type": "node", "id": 268684936, "lat": 19.3946069, "lon": -99.1423815, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268684937, "lat": 19.3882326, "lon": -99.143392}, {"type": "node", "id": 268685409, "lat": 19.394355, "lon": -99.1405972}, {"type": "node", "id": 268685410, "lat": 19.3958355, "lon": -99.1403535}, {"type": "node", "id": 268685699, "lat": 19.3955979, "lon": -99.138711}, {"type": "node", "id": 268821597, "lat": 19.4019337, "lon": -99.1504827, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268823702, "lat": 19.40211, "lon": -99.1469731}, {"type": "node", "id": 268823703, "lat": 19.3964227, "lon": -99.1474208}, {"type": "node", "id": 268823948, "lat": 19.3973647, "lon": -99.1465435}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824115, "lat": 19.395288, "lon": -99.1483022, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268824117, "lat": 19.3962208, "lon": -99.1474346}, {"type": "node", "id": 268824118, "lat": 19.3971687, "lon": -99.14656}, {"type": "node", "id": 268824239, "lat": 19.3982742, "lon": -99.1458943}, {"type": "node", "id": 268824329, "lat": 19.3982973, "lon": -99.1464518}, {"type": "node", "id": 268824330, "lat": 19.3983236, "lon": -99.1473002}, {"type": "node", "id": 268824578, "lat": 19.3983522, "lon": -99.1559076, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268824889, "lat": 19.3986745, "lon": -99.160759}, {"type": "node", "id": 268824891, "lat": 19.3981881, "lon": -99.1508021}, {"type": "node", "id": 268824893, "lat": 19.3981709, "lon": -99.1473096}, {"type": "node", "id": 268824895, "lat": 19.3981479, "lon": -99.1464564}, {"type": "node", "id": 268824912, "lat": 19.3982009, "lon": -99.152893}, {"type": "node", "id": 268825077, "lat": 19.395557, "lon": -99.1482093}, {"type": "node", "id": 268825078, "lat": 19.3981687, "lon": -99.1480156}, {"type": "node", "id": 268825079, "lat": 19.3983237, "lon": -99.1480037}, {"type": "node", "id": 268825080, "lat": 19.4020793, "lon": -99.1477338, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268825166, "lat": 19.4020738, "lon": -99.1478618, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268825210, "lat": 19.4006446, "lon": -99.1479637}, {"type": "node", "id": 268825211, "lat": 19.3983242, "lon": -99.1481625}, {"type": "node", "id": 268825212, "lat": 19.3981713, "lon": -99.1481725}, {"type": "node", "id": 268825438, "lat": 19.4008196, "lon": -99.1478245}, {"type": "node", "id": 268825439, "lat": 19.4007434, "lon": -99.1479547}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 268825767, "lat": 19.399017, "lon": -99.1507118}, {"type": "node", "id": 268825768, "lat": 19.4007198, "lon": -99.1478341}, {"type": "node", "id": 268825769, "lat": 19.4016315, "lon": -99.1462061}, {"type": "node", "id": 268825910, "lat": 19.4013391, "lon": -99.1485635}, {"type": "node", "id": 268825911, "lat": 19.4012923, "lon": -99.1479023}, {"type": "node", "id": 268825912, "lat": 19.4012843, "lon": -99.1477778}, {"type": "node", "id": 268825913, "lat": 19.4012409, "lon": -99.1470448, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268825923, "lat": 19.4005225, "lon": -99.1499798}, {"type": "node", "id": 268825991, "lat": 19.4009381, "lon": -99.1492876}, {"type": "node", "id": 274838890, "lat": 19.3997255, "lon": -99.1463539}, {"type": "node", "id": 274838891, "lat": 19.3997865, "lon": -99.1471722}, {"type": "node", "id": 274838892, "lat": 19.3998405, "lon": -99.1478993}, {"type": "node", "id": 274838893, "lat": 19.399853, "lon": -99.1480351}, {"type": "node", "id": 274838894, "lat": 19.39994, "lon": -99.1491492}, {"type": "node", "id": 274839135, "lat": 19.4016498, "lon": -99.1564169}, {"type": "node", "id": 274839137, "lat": 19.4017366, "lon": -99.1547613}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839139, "lat": 19.4018059, "lon": -99.1532683}, {"type": "node", "id": 274839140, "lat": 19.4018694, "lon": -99.1519377}, {"type": "node", "id": 274839232, "lat": 19.3985295, "lon": -99.1587167}, {"type": "node", "id": 274839233, "lat": 19.3984035, "lon": -99.1587283}, {"type": "node", "id": 274839236, "lat": 19.3983975, "lon": -99.1566803}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839257, "lat": 19.3978501, "lon": -99.1529093}, {"type": "node", "id": 274839258, "lat": 19.3965568, "lon": -99.155156}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274839832, "lat": 19.3994388, "lon": -99.1499989}, {"type": "node", "id": 274839859, "lat": 19.3983314, "lon": -99.1500804}, {"type": "node", "id": 274839860, "lat": 19.3981846, "lon": -99.1500912}, {"type": "node", "id": 274839861, "lat": 19.3954231, "lon": -99.1503063}, {"type": "node", "id": 274839882, "lat": 19.392951, "lon": -99.1504554}, {"type": "node", "id": 274839883, "lat": 19.3930876, "lon": -99.1504783}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840030, "lat": 19.3981887, "lon": -99.150934}, {"type": "node", "id": 274840031, "lat": 19.3983338, "lon": -99.1509174}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840033, "lat": 19.3990397, "lon": -99.1508367}, {"type": "node", "id": 274840035, "lat": 19.400094, "lon": -99.1507562}, {"type": "node", "id": 274840036, "lat": 19.4019269, "lon": -99.1506124, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840754, "lat": 19.3998532, "lon": -99.1493004}, {"type": "node", "id": 274840760, "lat": 19.3983296, "lon": -99.1494131}, {"type": "node", "id": 274840761, "lat": 19.3981813, "lon": -99.149424}, {"type": "node", "id": 274840762, "lat": 19.395378, "lon": -99.1496351}, {"type": "node", "id": 274840763, "lat": 19.3938844, "lon": -99.1497513}, {"type": "node", "id": 274840764, "lat": 19.3938161, "lon": -99.1496532}, {"type": "node", "id": 274840766, "lat": 19.3926366, "lon": -99.1444382}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274840989, "lat": 19.3918429, "lon": -99.1499244}, {"type": "node", "id": 274840993, "lat": 19.4002724, "lon": -99.1485818}, {"type": "node", "id": 274841033, "lat": 19.3999008, "lon": -99.1486162}, {"type": "node", "id": 274841034, "lat": 19.3983276, "lon": -99.1487353}, {"type": "node", "id": 274841035, "lat": 19.398178, "lon": -99.1487464}, {"type": "node", "id": 274841036, "lat": 19.3953351, "lon": -99.148971}, {"type": "node", "id": 274841037, "lat": 19.3946706, "lon": -99.149022}, {"type": "node", "id": 274841105, "lat": 19.3990051, "lon": -99.1534845}, {"type": "node", "id": 274841106, "lat": 19.3990224, "lon": -99.1521636}, {"type": "node", "id": 274841111, "lat": 19.4000992, "lon": -99.1514328}, {"type": "node", "id": 274841112, "lat": 19.3990312, "lon": -99.1514844}, {"type": "node", "id": 274841130, "lat": 19.3983284, "lon": -99.1515547}, {"type": "node", "id": 274841131, "lat": 19.3981927, "lon": -99.1515673}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 274841373, "lat": 19.3986425, "lon": -99.1601016}, {"type": "node", "id": 274841374, "lat": 19.3984977, "lon": -99.1601128}, {"type": "node", "id": 275357285, "lat": 19.3889321, "lon": -99.1482292}, {"type": "node", "id": 275357286, "lat": 19.3886947, "lon": -99.1468959}, {"type": "node", "id": 275357288, "lat": 19.3925491, "lon": -99.1470606}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358048, "lat": 19.3880072, "lon": -99.1479643, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358138, "lat": 19.3888111, "lon": -99.1475526}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275358446, "lat": 19.3925164, "lon": -99.1477361}, {"type": "node", "id": 275358447, "lat": 19.3888827, "lon": -99.1479759}, {"type": "node", "id": 275358448, "lat": 19.38781, "lon": -99.1479553}, {"type": "node", "id": 275358464, "lat": 19.3870381, "lon": -99.1483008}, {"type": "node", "id": 275361924, "lat": 19.3940912, "lon": -99.1478304}, {"type": "node", "id": 275361954, "lat": 19.3936808, "lon": -99.1476474}, {"type": "node", "id": 275361955, "lat": 19.3937349, "lon": -99.1480879}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275363147, "lat": 19.394987, "lon": -99.1576158}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275512762, "lat": 19.3788416, "lon": -99.1502378}, {"type": "node", "id": 275512786, "lat": 19.3785447, "lon": -99.1502955}, {"type": "node", "id": 275728758, "lat": 19.3920142, "lon": -99.1399879}, {"type": "node", "id": 275728946, "lat": 19.3922682, "lon": -99.1418764}, {"type": "node", "id": 275728947, "lat": 19.3923762, "lon": -99.1427295}, {"type": "node", "id": 275729015, "lat": 19.3916594, "lon": -99.1459059}, {"type": "node", "id": 275729078, "lat": 19.3916061, "lon": -99.1454075}, {"type": "node", "id": 275729079, "lat": 19.3915118, "lon": -99.1446087}, {"type": "node", "id": 275729080, "lat": 19.3913991, "lon": -99.1437184}, {"type": "node", "id": 275729202, "lat": 19.3901044, "lon": -99.1448399}, {"type": "node", "id": 275729251, "lat": 19.3887673, "lon": -99.14238}, {"type": "node", "id": 275729252, "lat": 19.3888943, "lon": -99.1432889}, {"type": "node", "id": 275729253, "lat": 19.3889847, "lon": -99.1441271}, {"type": "node", "id": 275729254, "lat": 19.3891133, "lon": -99.1450027}, {"type": "node", "id": 275729255, "lat": 19.3892492, "lon": -99.1459252}, {"type": "node", "id": 275729940, "lat": 19.3872769, "lon": -99.1436033}, {"type": "node", "id": 275729960, "lat": 19.3867522, "lon": -99.1405685}, {"type": "node", "id": 275730003, "lat": 19.3877285, "lon": -99.1462472}, {"type": "node", "id": 275730004, "lat": 19.3875614, "lon": -99.1452447}, {"type": "node", "id": 275730005, "lat": 19.3874133, "lon": -99.1443822}, {"type": "node", "id": 275730007, "lat": 19.3871084, "lon": -99.1426359}, {"type": "node", "id": 275730008, "lat": 19.3869854, "lon": -99.141955}, {"type": "node", "id": 275730011, "lat": 19.3885916, "lon": -99.1460747}, {"type": "node", "id": 275730013, "lat": 19.3884636, "lon": -99.1451094}, {"type": "node", "id": 275730014, "lat": 19.3883471, "lon": -99.1442382}, {"type": "node", "id": 275730015, "lat": 19.3880964, "lon": -99.1424803}, {"type": "node", "id": 275730016, "lat": 19.3879882, "lon": -99.1417687}, {"type": "node", "id": 275730017, "lat": 19.3876925, "lon": -99.1408738}, {"type": "node", "id": 275730018, "lat": 19.3874552, "lon": -99.1390996}, {"type": "node", "id": 275730024, "lat": 19.3906933, "lon": -99.1456109}, {"type": "node", "id": 275730025, "lat": 19.3905973, "lon": -99.1447632}, {"type": "node", "id": 275730033, "lat": 19.3856309, "lon": -99.1455731}, {"type": "node", "id": 275730357, "lat": 19.3949053, "lon": -99.1444652}, {"type": "node", "id": 275730358, "lat": 19.3926366, "lon": -99.1448284}, {"type": "node", "id": 275730359, "lat": 19.3915538, "lon": -99.1450104}, {"type": "node", "id": 275730360, "lat": 19.3906472, "lon": -99.145188}, {"type": "node", "id": 275730361, "lat": 19.3891855, "lon": -99.1454726}, {"type": "node", "id": 275730362, "lat": 19.3885272, "lon": -99.1455986}, {"type": "node", "id": 275730363, "lat": 19.3925543, "lon": -99.1439798}, {"type": "node", "id": 275730379, "lat": 19.3914642, "lon": -99.1441656}, {"type": "node", "id": 275730380, "lat": 19.3905512, "lon": -99.1443141}, {"type": "node", "id": 275730381, "lat": 19.3900444, "lon": -99.1443942}, {"type": "node", "id": 275730382, "lat": 19.3890417, "lon": -99.1445469}, {"type": "node", "id": 275730383, "lat": 19.3884046, "lon": -99.1446465}, {"type": "node", "id": 275730384, "lat": 19.3874792, "lon": -99.1447566}, {"type": "node", "id": 275730385, "lat": 19.3924325, "lon": -99.1431544}, {"type": "node", "id": 275730540, "lat": 19.3888395, "lon": -99.1428926}, {"type": "node", "id": 275730541, "lat": 19.388183, "lon": -99.1429829}, {"type": "node", "id": 275730548, "lat": 19.3889399, "lon": -99.1437209}, {"type": "node", "id": 275730549, "lat": 19.3882915, "lon": -99.1438212}, {"type": "node", "id": 275730552, "lat": 19.392208, "lon": -99.1414197}, {"type": "node", "id": 275730579, "lat": 19.3878347, "lon": -99.1413281}, {"type": "node", "id": 275730595, "lat": 19.3921094, "lon": -99.1406514, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730852, "lat": 19.3875722, "lon": -99.1400512}, {"type": "node", "id": 275731462, "lat": 19.3869063, "lon": -99.1415107}, {"type": "node", "id": 275731517, "lat": 19.387191, "lon": -99.1431398}, {"type": "node", "id": 275731679, "lat": 19.3868396, "lon": -99.1410585}, {"type": "node", "id": 275731728, "lat": 19.3876298, "lon": -99.140404}, {"type": "node", "id": 275731771, "lat": 19.386769, "lon": -99.1406693}, {"type": "node", "id": 275731777, "lat": 19.3880525, "lon": -99.14221}, {"type": "node", "id": 275731778, "lat": 19.3870557, "lon": -99.142349}, {"type": "node", "id": 474733239, "lat": 19.3862345, "lon": -99.1503625}, {"type": "node", "id": 848504666, "lat": 19.4022438, "lon": -99.1451374, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 848504679, "lat": 19.4011869, "lon": -99.1470496, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 848504686, "lat": 19.4012842, "lon": -99.1470409}, {"type": "node", "id": 848504693, "lat": 19.3964802, "lon": -99.1447245}, {"type": "node", "id": 848504695, "lat": 19.401245, "lon": -99.1471065, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 848504697, "lat": 19.3980505, "lon": -99.1459591}, {"type": "node", "id": 848504699, "lat": 19.4012352, "lon": -99.1469596}, {"type": "node", "id": 848504707, "lat": 19.4017649, "lon": -99.1461942}, {"type": "node", "id": 854403260, "lat": 19.3942751, "lon": -99.1590602}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 854429424, "lat": 19.3983211, "lon": -99.1520969}, {"type": "node", "id": 854429426, "lat": 19.3983411, "lon": -99.1535357}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 854429428, "lat": 19.3983454, "lon": -99.1550438}, {"type": "node", "id": 856492432, "lat": 19.4021972, "lon": -99.1477305, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 856492434, "lat": 19.4021916, "lon": -99.1478536, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 873739429, "lat": 19.3999512, "lon": -99.1492932}, {"type": "node", "id": 873739455, "lat": 19.3964164, "lon": -99.1554072, "tags": {"noexit": "yes"}}, {"type": "node", "id": 874499048, "lat": 19.3951243, "lon": -99.1576043}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987455, "lat": 19.3960797, "lon": -99.1575252, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987457, "lat": 19.3960375, "lon": -99.1568498, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 972127600, "lat": 19.3954125, "lon": -99.1482103, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1351117512, "lat": 19.4022392, "lon": -99.1428961, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1482718860, "lat": 19.3981448, "lon": -99.1460082}, {"type": "node", "id": 1482718867, "lat": 19.3982464, "lon": -99.1458365}, {"type": "node", "id": 1654476613, "lat": 19.3949552, "lon": -99.1448128}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1964030271, "lat": 19.3981266, "lon": -99.1459714}, {"type": "node", "id": 1964030272, "lat": 19.3981966, "lon": -99.1523056}, {"type": "node", "id": 1964030273, "lat": 19.3982348, "lon": -99.1559205, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1964030274, "lat": 19.3982707, "lon": -99.1566925}, {"type": "node", "id": 1964030275, "lat": 19.3983115, "lon": -99.157367}, {"type": "node", "id": 1964030276, "lat": 19.3982883, "lon": -99.1459564}, {"type": "node", "id": 1964030277, "lat": 19.3983293, "lon": -99.1528864}, {"type": "node", "id": 1964030278, "lat": 19.3983592, "lon": -99.1580517}, {"type": "node", "id": 1964030279, "lat": 19.3984478, "lon": -99.1573571}, {"type": "node", "id": 1964030280, "lat": 19.3984896, "lon": -99.1580415}, {"type": "node", "id": 1964030281, "lat": 19.3985611, "lon": -99.1607721}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526389, "lat": 19.3956128, "lon": -99.1511109, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531864, "lat": 19.3955038, "lon": -99.1496236}, {"type": "node", "id": 2261531872, "lat": 19.3952957, "lon": -99.146717}, {"type": "node", "id": 2261531878, "lat": 19.3953466, "lon": -99.1475063}, {"type": "node", "id": 2261531882, "lat": 19.395553, "lon": -99.1502952}, {"type": "node", "id": 2261531886, "lat": 19.3956044, "lon": -99.1509968, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531892, "lat": 19.395265, "lon": -99.1460535, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531895, "lat": 19.3954594, "lon": -99.1489617}, {"type": "node", "id": 2261533438, "lat": 19.3947346, "lon": -99.1423616, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261533440, "lat": 19.3948515, "lon": -99.1431692}, {"type": "node", "id": 2261533441, "lat": 19.3951752, "lon": -99.1454072}, {"type": "node", "id": 2261533443, "lat": 19.3950659, "lon": -99.1447947}, {"type": "node", "id": 2261533446, "lat": 19.3949802, "lon": -99.1440619, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2404259811, "lat": 19.3874768, "lon": -99.139257}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373356, "lat": 19.4001349, "lon": -99.1556124, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373357, "lat": 19.3983474, "lon": -99.1557416, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373358, "lat": 19.3982292, "lon": -99.1557517, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 3651186061, "lat": 19.4020423, "lon": -99.1457802}, {"type": "node", "id": 3805866556, "lat": 19.395717, "lon": -99.1395934}, {"type": "node", "id": 4070528816, "lat": 19.400928, "lon": -99.1564682}, {"type": "node", "id": 4070528818, "lat": 19.4008981, "lon": -99.1548483}, {"type": "node", "id": 4114591515, "lat": 19.3948529, "lon": -99.144083, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 4149628081, "lat": 19.3984544, "lon": -99.1593928}, {"type": "node", "id": 4149628082, "lat": 19.3985819, "lon": -99.1593826}, {"type": "node", "id": 4507180824, "lat": 19.3986794, "lon": -99.1606875}, {"type": "node", "id": 5052347137, "lat": 19.3843317, "lon": -99.1457993}, {"type": "node", "id": 5134866934, "lat": 19.386033, "lon": -99.1488782}, {"type": "node", "id": 5331687767, "lat": 19.3923185, "lon": -99.1423075}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5478588609, "lat": 19.394228, "lon": -99.1492747, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834661, "lat": 19.3954234, "lon": -99.1483369, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834663, "lat": 19.3954267, "lon": -99.1483832}, {"type": "node", "id": 5834951262, "lat": 19.3878934, "lon": -99.1480119}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951265, "lat": 19.3896346, "lon": -99.1494205, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951266, "lat": 19.3905371, "lon": -99.1500223}, {"type": "node", "id": 5834951267, "lat": 19.3903668, "lon": -99.150033}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5837379697, "lat": 19.3863981, "lon": -99.1454448}, {"type": "node", "id": 5837379698, "lat": 19.38483, "lon": -99.1457081, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5837379699, "lat": 19.3846275, "lon": -99.1457445, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5838279606, "lat": 19.3955015, "lon": -99.1380283}, {"type": "node", "id": 5838279610, "lat": 19.3955897, "lon": -99.1386326}, {"type": "node", "id": 5891489520, "lat": 19.3971256, "lon": -99.143712}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 6103699465, "lat": 19.3905046, "lon": -99.1438702}, {"type": "node", "id": 6103699466, "lat": 19.3899894, "lon": -99.1439594}, {"type": "node", "id": 6103699467, "lat": 19.3924924, "lon": -99.1435426}, {"type": "node", "id": 6106729915, "lat": 19.3995761, "lon": -99.1549496}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6106908849, "lat": 19.3912212, "lon": -99.150577}, {"type": "node", "id": 6133056828, "lat": 19.3885308, "lon": -99.1479924}, {"type": "node", "id": 6133056832, "lat": 19.3884236, "lon": -99.1476}, {"type": "node", "id": 6133056834, "lat": 19.3941731, "lon": -99.1461973}, {"type": "node", "id": 6133056835, "lat": 19.39409, "lon": -99.1455775}, {"type": "node", "id": 6133056836, "lat": 19.3870047, "lon": -99.1453418}, {"type": "node", "id": 6133056837, "lat": 19.3871562, "lon": -99.1429307}, {"type": "node", "id": 6133056838, "lat": 19.3883434, "lon": -99.1469368}, {"type": "node", "id": 6133056839, "lat": 19.3879554, "lon": -99.1477069}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181807, "lat": 19.3960053, "lon": -99.1563666}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6221657655, "lat": 19.4015818, "lon": -99.1564193}, {"type": "node", "id": 6221659186, "lat": 19.402253, "lon": -99.1442819}, {"type": "node", "id": 6221788740, "lat": 19.4017883, "lon": -99.1519432}, {"type": "node", "id": 6366450919, "lat": 19.3942226, "lon": -99.1494287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 7196556558, "lat": 19.3884178, "lon": -99.1475233}, {"type": "node", "id": 7965846822, "lat": 19.3935714, "lon": -99.1500397}, {"type": "node", "id": 7965846823, "lat": 19.3934903, "lon": -99.1499556}, {"type": "node", "id": 7965846824, "lat": 19.3949426, "lon": -99.1487737}, {"type": "node", "id": 7965846825, "lat": 19.3948659, "lon": -99.1486744}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8059878053, "lat": 19.400907, "lon": -99.1438352}, {"type": "node", "id": 8060276657, "lat": 19.3980912, "lon": -99.1459525}, {"type": "node", "id": 8060541754, "lat": 19.3942153, "lon": -99.1490877, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063024658, "lat": 19.3958098, "lon": -99.1510966}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063269395, "lat": 19.3976762, "lon": -99.146102}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8063900591, "lat": 19.3984961, "lon": -99.145347}, {"type": "node", "id": 8063900592, "lat": 19.3981922, "lon": -99.145384}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8201925193, "lat": 19.3929778, "lon": -99.1472108}, {"type": "node", "id": 8201925194, "lat": 19.3936653, "lon": -99.1470033}, {"type": "node", "id": 8201925195, "lat": 19.3929315, "lon": -99.1470837}, {"type": "node", "id": 8201925198, "lat": 19.3936721, "lon": -99.1471208}, {"type": "node", "id": 8201968873, "lat": 19.393653, "lon": -99.1466117, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8202051093, "lat": 19.3936383, "lon": -99.1462623}, {"type": "node", "id": 8204799889, "lat": 19.3946137, "lon": -99.1487018, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8204799890, "lat": 19.3945562, "lon": -99.1477838}, {"type": "node", "id": 8204799891, "lat": 19.3946386, "lon": -99.1488914}, {"type": "node", "id": 8204803725, "lat": 19.3937271, "lon": -99.147868}, {"type": "node", "id": 8204803726, "lat": 19.3934757, "lon": -99.147881}, {"type": "node", "id": 8204803727, "lat": 19.393722, "lon": -99.1477395}, {"type": "node", "id": 8204803728, "lat": 19.3934648, "lon": -99.1476628}, {"type": "node", "id": 8204803729, "lat": 19.3934673, "lon": -99.1477477}, {"type": "node", "id": 8204803730, "lat": 19.3935173, "lon": -99.1479648}, {"type": "node", "id": 8204803731, "lat": 19.3937304, "lon": -99.147949}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8233172134, "lat": 19.3924132, "lon": -99.1571273}, {"type": "node", "id": 8233172135, "lat": 19.3924297, "lon": -99.157472}, {"type": "node", "id": 8233172136, "lat": 19.3924575, "lon": -99.1566163}, {"type": "node", "id": 8233172137, "lat": 19.392455, "lon": -99.1564755, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233172139, "lat": 19.391311, "lon": -99.1572278}, {"type": "node", "id": 8233172140, "lat": 19.3913253, "lon": -99.1575524}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233207642, "lat": 19.3942551, "lon": -99.156564}, {"type": "node", "id": 8233244549, "lat": 19.3891659, "lon": -99.1564031}, {"type": "node", "id": 8233244550, "lat": 19.3891495, "lon": -99.1562583}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8239360997, "lat": 19.3815101, "lon": -99.1593444}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8276896648, "lat": 19.3983713, "lon": -99.1453608}, {"type": "node", "id": 8276896649, "lat": 19.3984691, "lon": -99.1453477}, {"type": "node", "id": 8289306757, "lat": 19.398896, "lon": -99.1434147}, {"type": "node", "id": 8289452767, "lat": 19.4020674, "lon": -99.1443119}, {"type": "node", "id": 8289502725, "lat": 19.3984204, "lon": -99.1453537}, {"type": "node", "id": 8299471811, "lat": 19.4009664, "lon": -99.1506896}, {"type": "node", "id": 8301804223, "lat": 19.4001267, "lon": -99.1551425}, {"type": "node", "id": 8301804224, "lat": 19.4000092, "lon": -99.1517508, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8301804225, "lat": 19.3997527, "lon": -99.1515711}, {"type": "node", "id": 8301804226, "lat": 19.3997783, "lon": -99.1517499}, {"type": "node", "id": 8301804227, "lat": 19.4000993, "lon": -99.1517487}, {"type": "node", "id": 8301847566, "lat": 19.4001109, "lon": -99.1529645}, {"type": "node", "id": 8301847567, "lat": 19.399007, "lon": -99.1533372}, {"type": "node", "id": 8301847568, "lat": 19.3997837, "lon": -99.1529659}, {"type": "node", "id": 8301847569, "lat": 19.3997664, "lon": -99.1529469}, {"type": "node", "id": 8301847570, "lat": 19.3999754, "lon": -99.1526319}, {"type": "node", "id": 8301847571, "lat": 19.3997694, "lon": -99.1529621}, {"type": "node", "id": 8301847572, "lat": 19.3999267, "lon": -99.1529679}, {"type": "node", "id": 8301847573, "lat": 19.3997094, "lon": -99.1526881}, {"type": "node", "id": 8301847574, "lat": 19.3998552, "lon": -99.1528069}, {"type": "node", "id": 8301847575, "lat": 19.3996355, "lon": -99.1527835}, {"type": "node", "id": 8301847576, "lat": 19.3997919, "lon": -99.1529055}, {"type": "node", "id": 8301847577, "lat": 19.3999589, "lon": -99.1523758}, {"type": "node", "id": 8301847578, "lat": 19.3993037, "lon": -99.153226}, {"type": "node", "id": 8301847579, "lat": 19.3991841, "lon": -99.1528887}, {"type": "node", "id": 8301847580, "lat": 19.3996768, "lon": -99.1522256}, {"type": "node", "id": 8301847581, "lat": 19.3994529, "lon": -99.15254}, {"type": "node", "id": 8301847582, "lat": 19.3996718, "lon": -99.1527352}, {"type": "node", "id": 8301847583, "lat": 19.3991557, "lon": -99.1531576}, {"type": "node", "id": 8301847584, "lat": 19.399947, "lon": -99.1520915}, {"type": "node", "id": 8301847585, "lat": 19.3999128, "lon": -99.1521437, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8301847586, "lat": 19.3995628, "lon": -99.1526362}, {"type": "node", "id": 8302866950, "lat": 19.3999737, "lon": -99.1529665}, {"type": "node", "id": 8302866954, "lat": 19.4009, "lon": -99.1506929}, {"type": "node", "id": 8305044751, "lat": 19.3976831, "lon": -99.1508324}, {"type": "node", "id": 8305044752, "lat": 19.3976542, "lon": -99.1505555}, {"type": "node", "id": 8305044753, "lat": 19.3975543, "lon": -99.1505755}, {"type": "node", "id": 8305044754, "lat": 19.3975545, "lon": -99.1508402}, {"type": "node", "id": 8392232413, "lat": 19.3949714, "lon": -99.1449044}, {"type": "node", "id": 8392232414, "lat": 19.3951884, "lon": -99.1454985}, {"type": "node", "id": 8394114971, "lat": 19.399683, "lon": -99.1458375}, {"type": "node", "id": 8394114972, "lat": 19.3992865, "lon": -99.1455431}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8395534202, "lat": 19.3874999, "lon": -99.1470421}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8561822774, "lat": 19.3985167, "lon": -99.145357}, {"type": "node", "id": 8561822775, "lat": 19.398532, "lon": -99.1453748}, {"type": "node", "id": 8562091324, "lat": 19.3997615, "lon": -99.1517327}, {"type": "node", "id": 8562091325, "lat": 19.3997551, "lon": -99.151709}, {"type": "node", "id": 8562091326, "lat": 19.399801, "lon": -99.1517557}, {"type": "node", "id": 8562091336, "lat": 19.3982082, "lon": -99.1457842}, {"type": "node", "id": 8562091338, "lat": 19.3976316, "lon": -99.1505497}, {"type": "node", "id": 8562091339, "lat": 19.3976776, "lon": -99.1505961}, {"type": "node", "id": 8562091340, "lat": 19.3975488, "lon": -99.1505995}, {"type": "node", "id": 8562091341, "lat": 19.3975703, "lon": -99.1505577}, {"type": "node", "id": 8562091342, "lat": 19.3975926, "lon": -99.1505507}, {"type": "node", "id": 8562091343, "lat": 19.397671, "lon": -99.1505725}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8572473122, "lat": 19.3923993, "lon": -99.1506122}, {"type": "node", "id": 8572771484, "lat": 19.3817826, "lon": -99.1496093}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121039, "lat": 19.3951112, "lon": -99.1554851}, {"type": "node", "id": 8573121040, "lat": 19.3950955, "lon": -99.155473}, {"type": "node", "id": 8573121041, "lat": 19.3951305, "lon": -99.1554868}, {"type": "node", "id": 8573121042, "lat": 19.395042, "lon": -99.1554007}, {"type": "node", "id": 8573121043, "lat": 19.3951478, "lon": -99.1554777}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121045, "lat": 19.3949129, "lon": -99.1557245}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573147888, "lat": 19.3939404, "lon": -99.1463306, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8573147889, "lat": 19.3937843, "lon": -99.1467732}, {"type": "node", "id": 8573147890, "lat": 19.393999, "lon": -99.1467612}, {"type": "node", "id": 8573147891, "lat": 19.3939688, "lon": -99.1467821}, {"type": "node", "id": 8573147892, "lat": 19.3939773, "lon": -99.1466248}, {"type": "node", "id": 8573147893, "lat": 19.3939916, "lon": -99.1466379}, {"type": "node", "id": 8573147894, "lat": 19.3939977, "lon": -99.1466568}, {"type": "node", "id": 8573147895, "lat": 19.3937793, "lon": -99.1466537}, {"type": "node", "id": 8573147896, "lat": 19.3937914, "lon": -99.1466392}, {"type": "node", "id": 8573147897, "lat": 19.3938087, "lon": -99.1466329}, {"type": "node", "id": 8573147898, "lat": 19.3937982, "lon": -99.1467866}, {"type": "node", "id": 8573147899, "lat": 19.3939865, "lon": -99.146776}, {"type": "node", "id": 8573147900, "lat": 19.3937787, "lon": -99.1467543}, {"type": "node", "id": 8573147901, "lat": 19.3939587, "lon": -99.1466213}, {"type": "node", "id": 8573147902, "lat": 19.3937754, "lon": -99.1466726}, {"type": "node", "id": 8573147903, "lat": 19.3938165, "lon": -99.1467907}, {"type": "node", "id": 8573147904, "lat": 19.3940027, "lon": -99.1467417}, {"type": "node", "id": 8573147905, "lat": 19.3939514, "lon": -99.1466219}, {"type": "node", "id": 8573147906, "lat": 19.3939379, "lon": -99.1462259}, {"type": "node", "id": 8573147907, "lat": 19.3929593, "lon": -99.1472072}, {"type": "node", "id": 8573147908, "lat": 19.3929389, "lon": -99.1471754}, {"type": "node", "id": 8573147909, "lat": 19.3929351, "lon": -99.1470643}, {"type": "node", "id": 8573147910, "lat": 19.3929474, "lon": -99.1470494}, {"type": "node", "id": 8573147911, "lat": 19.392965, "lon": -99.1470431}, {"type": "node", "id": 8573147912, "lat": 19.3936683, "lon": -99.1471396}, {"type": "node", "id": 8573147913, "lat": 19.3936564, "lon": -99.1471541}, {"type": "node", "id": 8573147914, "lat": 19.3936393, "lon": -99.1471605}, {"type": "node", "id": 8573147915, "lat": 19.392945, "lon": -99.1471942}, {"type": "node", "id": 8573147916, "lat": 19.3936992, "lon": -99.1476513}, {"type": "node", "id": 8573196917, "lat": 19.3937191, "lon": -99.1476833}, {"type": "node", "id": 8573196918, "lat": 19.3937132, "lon": -99.1476645}, {"type": "node", "id": 8573196919, "lat": 19.393479, "lon": -99.1479295}, {"type": "node", "id": 8573196920, "lat": 19.393485, "lon": -99.1479481}, {"type": "node", "id": 8573196921, "lat": 19.3934991, "lon": -99.1479611}, {"type": "node", "id": 8573196922, "lat": 19.3884529, "lon": -99.1476182}, {"type": "node", "id": 8573196923, "lat": 19.3884728, "lon": -99.1476486}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 8635168502, "lat": 19.3869325, "lon": -99.148378}, {"type": "node", "id": 8672427016, "lat": 19.3947485, "lon": -99.1424574}, {"type": "node", "id": 8672442817, "lat": 19.3946203, "lon": -99.1424754}, {"type": "node", "id": 8722847565, "lat": 19.4001512, "lon": -99.1506001}, {"type": "node", "id": 8722847566, "lat": 19.4005926, "lon": -99.149863}, {"type": "node", "id": 8722847569, "lat": 19.3997652, "lon": -99.1500262}, {"type": "node", "id": 8722847570, "lat": 19.399868, "lon": -99.1499729}, {"type": "node", "id": 8722847579, "lat": 19.3999502, "lon": -99.1504114}, {"type": "node", "id": 8722847580, "lat": 19.4000655, "lon": -99.1503411}, {"type": "node", "id": 8722847581, "lat": 19.3996773, "lon": -99.1501534}, {"type": "node", "id": 8722847582, "lat": 19.3997405, "lon": -99.1502835}, {"type": "node", "id": 8722847583, "lat": 19.399893, "lon": -99.1504054}, {"type": "node", "id": 8722847584, "lat": 19.4000262, "lon": -99.1503932}, {"type": "node", "id": 8722847585, "lat": 19.4000972, "lon": -99.1502743}, {"type": "node", "id": 8722847586, "lat": 19.4001624, "lon": -99.1500731}, {"type": "node", "id": 8722847587, "lat": 19.4002429, "lon": -99.1499654}, {"type": "node", "id": 8722847588, "lat": 19.400292, "lon": -99.1499127}, {"type": "node", "id": 8722847589, "lat": 19.4003521, "lon": -99.1498649}, {"type": "node", "id": 8722847590, "lat": 19.3995085, "lon": -99.1500428}, {"type": "node", "id": 8722847591, "lat": 19.3996561, "lon": -99.1500472}, {"type": "node", "id": 8722847592, "lat": 19.3999815, "lon": -99.1498862}, {"type": "node", "id": 8722847593, "lat": 19.4000483, "lon": -99.1498189}, {"type": "node", "id": 8722847594, "lat": 19.4001868, "lon": -99.149603}, {"type": "node", "id": 8722847595, "lat": 19.4002686, "lon": -99.1493624}, {"type": "node", "id": 8722847596, "lat": 19.400307, "lon": -99.1490828}, {"type": "node", "id": 8722847597, "lat": 19.4003654, "lon": -99.1487784}, {"type": "node", "id": 8722847598, "lat": 19.4002614, "lon": -99.1487692}, {"type": "node", "id": 8722847605, "lat": 19.4012996, "lon": -99.1480051}, {"type": "node", "id": 8722847607, "lat": 19.4008079, "lon": -99.1479485}, {"type": "node", "id": 8722847608, "lat": 19.3998968, "lon": -99.1493854, "tags": {"highway": "crossing"}}, {"type": "node", "id": 8722847609, "lat": 19.3998072, "lon": -99.1493804, "tags": {"highway": "crossing"}}, {"type": "node", "id": 8722847610, "lat": 19.4001297, "lon": -99.1497056}, {"type": "node", "id": 8842659121, "lat": 19.3981031, "lon": -99.1456996, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8842659125, "lat": 19.3981432, "lon": -99.1457284}, {"type": "node", "id": 9977886265, "lat": 19.398638, "lon": -99.1456289}, {"type": "node", "id": 10184166093, "lat": 19.3953762, "lon": -99.1569351}, {"type": "node", "id": 10184166094, "lat": 19.3955402, "lon": -99.15689}, {"type": "node", "id": 10184166095, "lat": 19.3955172, "lon": -99.1569296}, {"type": "node", "id": 10184166096, "lat": 19.39542, "lon": -99.1569332}, {"type": "node", "id": 10257844031, "lat": 19.4001844, "lon": -99.1488992}, {"type": "node", "id": 10257844032, "lat": 19.400328, "lon": -99.1489732}, {"type": "node", "id": 10257844035, "lat": 19.3992556, "lon": -99.150691}, {"type": "node", "id": 10257844036, "lat": 19.3997075, "lon": -99.1502155}, {"type": "node", "id": 10580335229, "lat": 19.3890065, "lon": -99.1468565}, {"type": "node", "id": 10580335231, "lat": 19.3921854, "lon": -99.1464469}, {"type": "node", "id": 10580335234, "lat": 19.3948221, "lon": -99.1461121}, {"type": "node", "id": 10580335235, "lat": 19.3976377, "lon": -99.1457585}, {"type": "node", "id": 10591136834, "lat": 19.3981669, "lon": -99.1457454}, {"type": "node", "id": 11002633294, "lat": 19.3948304, "lon": -99.1435358}, {"type": "node", "id": 11002633297, "lat": 19.3948403, "lon": -99.1436485}, {"type": "node", "id": 11002633298, "lat": 19.3949025, "lon": -99.1440748}, {"type": "node", "id": 11002633299, "lat": 19.3950127, "lon": -99.1448034}, {"type": "node", "id": 11002633300, "lat": 19.3951032, "lon": -99.1454243}, {"type": "node", "id": 11002633301, "lat": 19.395193, "lon": -99.1460633}, {"type": "node", "id": 11002633302, "lat": 19.3952286, "lon": -99.1462051}, {"type": "node", "id": 11002633303, "lat": 19.3952899, "lon": -99.1471751}, {"type": "node", "id": 11002633304, "lat": 19.3952782, "lon": -99.1473817}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002645505, "lat": 19.3952457, "lon": -99.1471782}, {"type": "node", "id": 11002645506, "lat": 19.3951846, "lon": -99.1462082}, {"type": "node", "id": 11002645507, "lat": 19.3952849, "lon": -99.1475396}, {"type": "node", "id": 11002645508, "lat": 19.3953505, "lon": -99.1482564}, {"type": "node", "id": 11002645509, "lat": 19.3953593, "lon": -99.1483965}, {"type": "node", "id": 11002645510, "lat": 19.3954024, "lon": -99.1489657}, {"type": "node", "id": 11002645511, "lat": 19.3954468, "lon": -99.1496288}, {"type": "node", "id": 11002645512, "lat": 19.3954945, "lon": -99.1503001}, {"type": "node", "id": 11002645513, "lat": 19.3955473, "lon": -99.1510016}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11090423028, "lat": 19.3907251, "lon": -99.1466443, "tags": {"highway": "stop"}}, {"type": "node", "id": 11132614438, "lat": 19.4019071, "lon": -99.1443385}, {"type": "node", "id": 11155081751, "lat": 19.400138, "lon": -99.1556597}, {"type": "node", "id": 11155081754, "lat": 19.3983493, "lon": -99.1558067}, {"type": "node", "id": 11155081755, "lat": 19.39823, "lon": -99.1558148}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11155081773, "lat": 19.3875313, "lon": -99.1568446}, {"type": "node", "id": 11155081774, "lat": 19.3865148, "lon": -99.157094}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863028644, "lat": 19.3996105, "lon": -99.1433041}, {"type": "node", "id": 11863153423, "lat": 19.3988075, "lon": -99.1441887}, {"type": "node", "id": 11863276057, "lat": 19.4033288, "lon": -99.156324}, {"type": "node", "id": 12125812998, "lat": 19.3889876, "lon": -99.1485241}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12126378471, "lat": 19.4015717, "lon": -99.1429996}, {"type": "node", "id": 12127463544, "lat": 19.3987256, "lon": -99.1566516}, {"type": "node", "id": 12130238435, "lat": 19.3949881, "lon": -99.1467406}, {"type": "node", "id": 12130238436, "lat": 19.3949895, "lon": -99.1467366}, {"type": "node", "id": 12130238437, "lat": 19.3945477, "lon": -99.1467441}, {"type": "node", "id": 12130238438, "lat": 19.3949844, "lon": -99.1467427}, {"type": "node", "id": 12130238439, "lat": 19.3949843, "lon": -99.1466559}, {"type": "node", "id": 12130238440, "lat": 19.3949858, "lon": -99.1466527}, {"type": "node", "id": 12130238441, "lat": 19.394988, "lon": -99.146651}, {"type": "node", "id": 12130238442, "lat": 19.3950357, "lon": -99.1466481}, {"type": "node", "id": 12130238443, "lat": 19.3950471, "lon": -99.1466422}, {"type": "node", "id": 12130238444, "lat": 19.3950478, "lon": -99.1466316}, {"type": "node", "id": 12130238445, "lat": 19.3950344, "lon": -99.1463887}, {"type": "node", "id": 12130238446, "lat": 19.395013, "lon": -99.1463424}, {"type": "node", "id": 12130238447, "lat": 19.3949658, "lon": -99.1463273}, {"type": "node", "id": 12130238448, "lat": 19.3944465, "lon": -99.1463781}, {"type": "node", "id": 12130312333, "lat": 19.394442, "lon": -99.1463118, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12130312334, "lat": 19.3944328, "lon": -99.1461632}, {"type": "node", "id": 12130312335, "lat": 19.3945186, "lon": -99.1474393}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378415, "lat": 19.3954879, "lon": -99.1534279}, {"type": "node", "id": 12729378416, "lat": 19.3954777, "lon": -99.1534533}, {"type": "node", "id": 12729378417, "lat": 19.3954882, "lon": -99.1536081}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378420, "lat": 19.395534, "lon": -99.1534124}, {"type": "node", "id": 12729378421, "lat": 19.3955105, "lon": -99.1534511}, {"type": "node", "id": 12729378422, "lat": 19.3955224, "lon": -99.1536058}, {"type": "node", "id": 12729378423, "lat": 19.3955435, "lon": -99.1536511}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "way", "id": 4758991, "nodes": [848504697, 268823948, 268823703, 268825077], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720670, "nodes": [268680344, 268684268, 848504693, 268684542, 268680393, 5891489520, 268680394], "tags": {"highway": "residential", "name": "Fernando", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720728, "nodes": [268681316, 8063900592, 268684266, 268684543, 268681318, 268680394, 268684705, 268681319], "tags": {"destination": "Jard\u00edn Xicotencatl", "destination:street": "Isabel La Cat\u00f3lica", "highway": "residential", "name": "Calle Soria", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720884, "nodes": [268682898, 5838279606, 5838279610, 268685699, 268682899, 3805866556, 268685410, 268682900, 268684935, 268682901, 268682902, 268684541, 848504693, 268684267, 268682761], "tags": {"highway": "residential", "name": "Calle Toledo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720958, "nodes": [268684168, 6221659186, 8289452767, 11132614438, 268684263, 268684264, 268684265, 268684266, 268684267, 268684268, 2261533441], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720966, "nodes": [275730003, 275730011, 275729255, 275730024, 275729078, 268684547, 1654476613], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734574, "nodes": [8842659121, 8842659125, 10591136834, 8562091336, 1482718867, 268824239, 1964030276, 268824329, 268824330, 268825079, 268825211, 274841034, 274840760, 274839859, 30339689], "tags": {"destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera;Diagonal San Antonio", "highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734709, "nodes": [972127600, 268825077, 268825078, 268825079], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734781, "nodes": [30339691, 8722847565, 268825923, 8722847566, 268825991, 268825910, 8722847605, 268825911, 268825912, 848504695, 268825913, 848504699], "tags": {"highway": "residential", "name": "Calle Caleta", "surface": "concrete"}}, {"type": "way", "id": 25206773, "nodes": [30339691, 274840035], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Esperanza", "surface": "asphalt"}}, {"type": "way", "id": 25206842, "nodes": [30789555, 11863276057, 30789556, 274839135, 6221657655, 4070528816, 30789564, 12127463544, 274839236, 1964030274, 900987457], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206905, "nodes": [274839883, 274839861, 11002645512, 2261531882, 274839860, 274839859], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206953, "nodes": [274840760, 274840761, 2261531864, 11002645511, 274840762, 274840763], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206978, "nodes": [274840988, 274840989], "tags": {"alt_name": "Manuel C. Rej\u00f3n", "highway": "residential", "name": "Calle Tepozteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206983, "nodes": [274841036, 274841037], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206992, "nodes": [274840033, 274841112, 274841106, 8301847567, 274841105], "tags": {"highway": "residential", "name": "Calle Icacos", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206993, "nodes": [274841111, 274841112], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 25274428, "nodes": [275357285, 275358447, 275358138, 275357286], "tags": {"highway": "residential", "name": "Cerrada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274701, "nodes": [275358138, 275358139, 275357288], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274754, "nodes": [30789025, 8635168502, 275358464, 275358448], "tags": {"highway": "residential", "name": "Calle Pachuquilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275239, "nodes": [6366450919, 5478588609], "tags": {"highway": "service", "surface": "asphalt"}}, {"type": "way", "id": 25275242, "nodes": [275358446, 8204803728, 275361954, 8573147916, 8573196918, 8573196917, 8204803727, 8204803725, 8204803731, 275361955], "tags": {"highway": "service"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312283, "nodes": [275729015, 275729078, 275730359, 275729079, 275730379, 275729080], "tags": {"highway": "residential", "name": "Calle Uni\u00f3n Postal", "surface": "asphalt"}}, {"type": "way", "id": 25312314, "nodes": [30340976, 275730003, 275730004, 275730384, 275730005, 275729940, 275731517, 6133056837, 275730007, 275731778, 275730008, 275731462, 275731679, 275731771, 275729960], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Ni\u00f1os H\u00e9roes de Chapultepec", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312317, "nodes": [30340979, 268684271, 275730024, 275730360, 275730025, 275730380, 6103699465], "tags": {"highway": "residential", "name": "Calle Estafetas", "surface": "asphalt"}}, {"type": "way", "id": 25312326, "nodes": [275358047, 275358048, 6133056839, 30340976], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312364, "nodes": [275730384, 275730383, 275730382, 275730381, 275730380, 275730379, 275730363], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Tuy", "oneway": "yes", "sidewalk": "separate", "surface": "asphalt"}}, {"type": "way", "id": 39600726, "nodes": [31180208, 31180210, 8239360997, 30385361, 30340905, 30759094, 30789558, 30789559, 8233172139, 8233172134, 30789560], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 73832854, "nodes": [274839257, 268824912, 1964030277], "tags": {"highway": "residential", "name": "Calle Taj\u00edn"}}, {"type": "way", "id": 80012731, "nodes": [30340980, 275357288, 275358446, 30789030, 30789005, 30789031, 8572473122, 6459744104], "tags": {"destination:street": "Doctor V\u00e9rtiz", "highway": "tertiary", "lanes": "2", "name": "Calle Cumbres de Acultzingo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012733, "nodes": [275728758, 275730595, 275730552, 275728946, 5331687767, 275728947, 275730385, 6103699467, 275730363, 274840766, 275730358, 268684547, 268684270, 30340980], "tags": {"highway": "tertiary", "lanes": "4", "name": "Calle Correspondencia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738296, "nodes": [1964030281, 274841374, 4149628081, 274839233, 1964030278, 1964030275, 1964030274, 1964030273], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738297, "nodes": [2261526396, 274841131, 274841130], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes"}}, {"type": "way", "id": 216794743, "nodes": [30594104, 274839137, 4070528818, 30789547, 6106729915, 854429428, 30789546, 274839258, 274839253], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 545569482, "nodes": [30340976, 6133056838, 275357286, 10580335229], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 545569483, "nodes": [30340978, 11090423028, 30340979, 10580335231], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 569390368, "nodes": [3584373359, 3584373358], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569391059, "nodes": [1964030273, 11155081755, 3584373358], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569391062, "nodes": [3584373358, 30789546, 30789537, 30789521, 268824912, 1964030272, 854429422, 268825766, 274841131, 274840030], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407336, "nodes": [274840035, 274841111, 8301804227, 30789447, 8301847566, 30789522, 30789538, 30789547, 8301804223, 3584373356], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Esperanza", "surface": "asphalt"}}, {"type": "way", "id": 569407337, "nodes": [274840036, 8299471811, 8302866954, 274840035], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407339, "nodes": [274840032, 268825767], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407342, "nodes": [274840033, 854429424, 30789448, 1964030272, 274839257, 274839256, 274839255, 274839258], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407344, "nodes": [30339690, 10257844035, 30339691], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407348, "nodes": [274840030, 8063024658], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407349, "nodes": [274840032, 274840031], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407350, "nodes": [274840031, 274841130, 274839254, 854429424, 854429421, 1964030277, 854429426, 854429427, 854429428, 3584373357], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407353, "nodes": [268824891, 30339689], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407356, "nodes": [2261526389, 11002645514, 274840029], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407359, "nodes": [30339687, 11002645513, 2261531886], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407362, "nodes": [2261531886, 8305044754, 8305044751, 268824891], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735721, "nodes": [268824117, 2261531878], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735723, "nodes": [268823703, 268824117], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735727, "nodes": [274840764, 5478588609], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569750645, "nodes": [5478834661, 972127600], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750649, "nodes": [268824115, 30340606, 30340605], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750654, "nodes": [972127600, 2261531878, 2261531872, 2261531892], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750659, "nodes": [30385379, 268824115], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750665, "nodes": [268825079, 274838892, 268825768, 268825438, 268825912, 268825080, 856492432], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 570573279, "nodes": [274841036, 11002645510, 2261531895, 274841035, 274841034], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "asphalt"}}, {"type": "way", "id": 570573280, "nodes": [8394114971, 274838890, 274838891, 274838892, 274838893, 274841033, 274838894, 873739429], "tags": {"highway": "residential", "name": "Calle La Quebrada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 617169949, "nodes": [275730011, 275730362, 275730013, 275730383, 275730014, 275730549, 268684937, 275730541, 275730015, 275731777, 275730016, 275730579, 275730017, 275731728, 275730852, 2404259811, 275730018], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617169959, "nodes": [1654476613, 275730357, 4114591515, 268681524, 8672442817, 268684936, 268623580, 268685409, 268639490], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 617169963, "nodes": [2261533441, 2261533443, 2261533446, 2261533440, 8672427016, 2261533438], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 617177547, "nodes": [30788901, 275512786, 275512762, 30340093, 30341040, 30341028, 8572771484, 30758688, 30594502, 30758812, 30340918, 30789024, 5134866934, 30789025, 30789026, 268679231], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177555, "nodes": [30594516, 30789037, 30789038, 31180765, 268679153], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177557, "nodes": [5834951267, 31180763, 30789034, 474733239, 30789036, 30340916, 30341031, 30341032, 30341027, 30341033, 30340092], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241637, "nodes": [30759101, 30789008, 5834951265, 5834951263, 30789005], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510809, "nodes": [274839139, 30789522, 274841105, 854429426], "tags": {"highway": "residential", "lanes": "3", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510823, "nodes": [268823702, 848504686, 268825913, 848504679, 274838891], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "no", "surface": "concrete"}}, {"type": "way", "id": 617510824, "nodes": [2261531872, 268824118, 268823948, 268824895, 268824329], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510830, "nodes": [856492434, 268825166, 268825911, 8722847607, 268825439, 268825210, 274838893, 268825211], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 617513716, "nodes": [268825211, 268825212, 5478834663], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617513717, "nodes": [268824891, 274839860, 274840761, 274841035, 268825212, 268825078, 268824893, 268824895, 1482718860, 1964030271, 8060276657, 848504697], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523305, "nodes": [274839438, 268679153, 5834951267, 5834951264, 5834951265], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525558, "nodes": [268618171, 1351117512, 12126378471, 268683004, 268681786, 11863028644, 268681183, 8289306757, 268681318, 268680393, 268682902, 2261533446], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Jos\u00e9 Sim\u00f3n Bol\u00edvar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525561, "nodes": [2261533446, 11002633298, 4114591515, 274840766, 275729079, 275730025, 275729202, 275729254, 275730013, 275730004, 6133056836, 5837379697, 275730033, 5837379698, 5837379699, 5052347137, 30340922], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Jos\u00e9 Sim\u00f3n Bol\u00edvar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525563, "nodes": [2261533443, 268684541, 268684542, 268684543, 11863153423, 268684544, 8059878053, 268680395], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525566, "nodes": [275730357, 275730358, 275730359, 275730360, 275730361, 275730362], "tags": {"highway": "residential", "name": "Calle Alicante", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617628977, "nodes": [268684269, 6133056835, 268684270, 275729015, 268684271], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651174469, "nodes": [6106729916, 6106729915], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 651201785, "nodes": [5834951266, 5834951267], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "surface": "asphalt"}}, {"type": "way", "id": 651201786, "nodes": [30789031, 274840989, 5834951266], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201787, "nodes": [268679153, 6106908849], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 654523414, "nodes": [6133056835, 6133056834], "tags": {"highway": "residential", "name": "Calle Tarragona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523417, "nodes": [6133056838, 7196556558, 6133056832, 8573196922, 8573196923, 6133056828], "tags": {"highway": "residential", "name": "Privada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 654523418, "nodes": [6133056839, 6133056832], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "surface": "asphalt"}}, {"type": "way", "id": 654523420, "nodes": [274840763, 7965846822, 274839883, 274839435], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523421, "nodes": [7998736244, 274839882, 7965846823, 274840764], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654529957, "nodes": [2261531886, 2261531882, 2261531864, 2261531895], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 654535475, "nodes": [268824578, 274839236, 1964030279, 1964030280, 274839232, 4149628082, 274841373, 4507180824, 268824889], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 664690025, "nodes": [3651186061, 848504707, 848504686, 848504695, 268825438, 268825439, 8722847598, 10257844031, 873739429, 8722847608, 8722847590, 30339690, 274840033], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 664690026, "nodes": [268825767, 274839832, 8722847609, 274840754, 274838894, 274840993, 268825210, 268825768, 848504679, 848504699, 268825769, 848504666], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 679941340, "nodes": [275357286, 275730011], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "surface": "asphalt"}}, {"type": "way", "id": 679941690, "nodes": [275729202, 275730381, 6103699466], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Almer\u00eda", "sidewalk": "separate", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745179443, "nodes": [275358446, 31180738, 275358447, 6133056828, 275358048, 5834951262], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 785188324, "nodes": [274839258, 873739455], "tags": {"highway": "residential", "name": "Avenida Diagonal San Antonio"}}, {"type": "way", "id": 832342388, "nodes": [854429421, 274841106, 8301847584, 30789447], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 832342389, "nodes": [274839140, 6221788740, 30789447], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 832377171, "nodes": [30789027, 30789028, 30789030], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150770, "nodes": [5478834661, 11002645509, 30385379], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150771, "nodes": [2261531895, 5478834663, 5478834661], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 854150772, "nodes": [972127600, 268824117, 268824118, 8063269395], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150773, "nodes": [268825077, 5478834661], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150774, "nodes": [30385379, 7965846824, 274841037, 6366450919], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150775, "nodes": [268824115, 11002645508, 972127600], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156345, "nodes": [7965846822, 7965846823], "tags": {"highway": "secondary_link", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 854156346, "nodes": [7965846824, 7965846825], "tags": {"highway": "secondary_link", "lanes": "1", "surface": "asphalt"}}, {"type": "way", "id": 854156347, "nodes": [5478588609, 8204799891, 7965846825, 268824115], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156348, "nodes": [5478588609, 8060541754], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 854156349, "nodes": [6366450919, 274840763], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854209475, "nodes": [30341122, 268824578], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210241, "nodes": [3584373357, 3584373356], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210243, "nodes": [268824578, 1964030273], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210244, "nodes": [1964030273, 900987458], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210248, "nodes": [3584373358, 3584373357], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "concrete"}}, {"type": "way", "id": 854210249, "nodes": [3584373357, 11155081754, 268824578], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212807, "nodes": [268623769, 275358048], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212808, "nodes": [275358047, 5834951262, 275358448, 268679232], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212809, "nodes": [275358048, 30789027, 5834951263, 5834951266, 6106908849, 274839437], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212812, "nodes": [5834951265, 268679231, 275358047], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864763479, "nodes": [274840035, 274840033], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864763480, "nodes": [30339691, 268821597], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864813907, "nodes": [8060541754, 275361924], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864813908, "nodes": [873739429, 274840754, 274840760], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 864813912, "nodes": [274841034, 274841033, 274840993], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 864813913, "nodes": [274838891, 268824330, 268824893], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 864813915, "nodes": [268824329, 274838890], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 864815588, "nodes": [274840030, 268824891], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815589, "nodes": [274840031, 274840030], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815590, "nodes": [30339689, 268825767], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815591, "nodes": [30339689, 274840031], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815592, "nodes": [2261526389, 2261531886], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815593, "nodes": [2261526396, 2261526389], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815594, "nodes": [268825767, 30339690], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815595, "nodes": [274840033, 274840032], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815598, "nodes": [30339687, 274839861, 274840762, 274841036, 30385379], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815599, "nodes": [274840029, 30339687], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 865046081, "nodes": [854429426, 30789521], "tags": {"highway": "residential", "lanes": "2", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865053902, "nodes": [30595076, 268679006], "tags": {"highway": "footway", "name": "Calle Y\u00e1catas"}}, {"type": "way", "id": 865060276, "nodes": [8063024658, 2261526389], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865087568, "nodes": [8063269395, 8842659121], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865102382, "nodes": [874499049, 10184166094, 10184166095, 874499048, 30789626, 854403260], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865142318, "nodes": [900987457, 11002639734, 30789557], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865157849, "nodes": [8276896649, 8063900591, 8561822774, 8561822775, 9977886265], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 865171904, "nodes": [268824893, 268823703], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 881951123, "nodes": [8202051093, 8201968873, 8201925194], "tags": {"highway": "service"}}, {"type": "way", "id": 881951124, "nodes": [8201925194, 8201925198, 8573147912, 8573147913, 8573147914, 8201925193, 8573147907, 8573147915, 8573147908, 8201925195, 8573147909, 8573147910, 8573147911, 8201925194], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 882266475, "nodes": [8204803726, 8204803725], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266476, "nodes": [8204803729, 8204803727], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266477, "nodes": [8204803731, 8204803730, 8573196921, 8573196920, 8573196919, 8204803726, 8204803729, 8204803728], "tags": {"highway": "service"}}, {"type": "way", "id": 882267474, "nodes": [8204799891, 8204799889, 8204799890], "tags": {"highway": "service"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885384872, "nodes": [8233172135, 8233172134], "tags": {"highway": "service"}}, {"type": "way", "id": 885384873, "nodes": [8233172137, 8233172136], "tags": {"highway": "service"}}, {"type": "way", "id": 885384874, "nodes": [8233172138, 8233172137], "tags": {"highway": "service"}}, {"type": "way", "id": 885384875, "nodes": [8233172140, 8233172139], "tags": {"highway": "service"}}, {"type": "way", "id": 885389948, "nodes": [8233207642, 8233207641], "tags": {"highway": "service"}}, {"type": "way", "id": 885396010, "nodes": [8233244551, 8233244550, 8233244549], "tags": {"highway": "service"}}, {"type": "way", "id": 890534848, "nodes": [8276896648, 8289502725, 8276896649], "tags": {"covered": "yes", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 890534849, "nodes": [8063900592, 8276896648], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 893219363, "nodes": [8301804227, 8301804224, 8562091326, 8301804226, 8562091324, 8562091325, 8301804225], "tags": {"highway": "service"}}, {"type": "way", "id": 893224704, "nodes": [8302866950, 8301847572, 8301847568, 8301847571, 8301847569, 8301847576, 8301847574, 8301847570], "tags": {"highway": "service"}}, {"type": "way", "id": 893224705, "nodes": [8301847574, 8301847573], "tags": {"highway": "service"}}, {"type": "way", "id": 893224706, "nodes": [8301847576, 8301847575], "tags": {"highway": "service"}}, {"type": "way", "id": 893224707, "nodes": [8301847582, 8301847573, 8301847577], "tags": {"highway": "service"}}, {"type": "way", "id": 893224708, "nodes": [8301847578, 8301847575, 8301847582], "tags": {"highway": "service"}}, {"type": "way", "id": 893224709, "nodes": [8301847581, 8301847579], "tags": {"highway": "service"}}, {"type": "way", "id": 893224710, "nodes": [8301847582, 8301847586, 8301847581, 8301847580], "tags": {"highway": "service"}}, {"type": "way", "id": 893224711, "nodes": [8301847567, 8301847583, 8301847586], "tags": {"highway": "service"}}, {"type": "way", "id": 893224712, "nodes": [8301847586, 8301847585, 8301847584], "tags": {"highway": "service"}}, {"type": "way", "id": 893593434, "nodes": [8305044754, 8562091340, 8305044753, 8562091341, 8562091342, 8562091338, 8305044752, 8562091343, 8562091339, 8305044751], "tags": {"highway": "service"}}, {"type": "way", "id": 894216983, "nodes": [274839859, 274839832], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903590432, "nodes": [2261531892, 268680344, 268682761, 10580335235], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Obrero Mundial", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 903593200, "nodes": [1654476613, 11002633299, 2261533443], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903593201, "nodes": [8392232413, 1654476613], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593202, "nodes": [30340605, 268684269, 8392232413], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593203, "nodes": [8392232414, 2261533441], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593204, "nodes": [2261533441, 11002633300, 268684269], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903593205, "nodes": [2261531892, 8392232414], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838683, "nodes": [6133181807, 900987458], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848449, "nodes": [30789610, 30789557], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848450, "nodes": [900987455, 900987457], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848451, "nodes": [900987457, 6133181807], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903977891, "nodes": [8395534202, 30340976], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 923560967, "nodes": [8573121044, 8573121043, 8573121041, 8573121039, 8573121040, 8573121042], "tags": {"highway": "service"}}, {"type": "way", "id": 923560968, "nodes": [8063206401, 8573121045], "tags": {"highway": "service"}}, {"type": "way", "id": 923568859, "nodes": [8573147904, 8573147890, 8573147899, 8573147891, 8573147903, 8573147898, 8573147889, 8573147900, 8573147902, 8573147895, 8573147896, 8573147897, 8573147905, 8573147901, 8573147892, 8573147893, 8573147894, 8573147904], "tags": {"highway": "service"}}, {"type": "way", "id": 923568860, "nodes": [8573147906, 8573147888, 8573147905], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 941954331, "nodes": [8722847584, 8722847565], "tags": {"highway": "footway"}}, {"type": "way", "id": 941954335, "nodes": [8722847589, 8722847588, 8722847587, 8722847586, 8722847585, 8722847580, 8722847584, 8722847579, 8722847583, 8722847582, 10257844036, 8722847581, 8722847591], "tags": {"highway": "footway"}}, {"type": "way", "id": 941954336, "nodes": [8722847597, 10257844032, 8722847596, 8722847595, 8722847594, 8722847610, 8722847593, 8722847592, 8722847570, 8722847569, 8722847591, 8722847590], "tags": {"highway": "footway"}}, {"type": "way", "id": 941954339, "nodes": [8722847609, 8722847608], "tags": {"footway": "crossing", "highway": "footway"}}, {"type": "way", "id": 941954340, "nodes": [8722847608, 8722847610, 8722847589, 268825923], "tags": {"highway": "footway"}}, {"type": "way", "id": 991363398, "nodes": [900987458, 11002639733, 874499049], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143717, "nodes": [10184166093, 275363147], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143718, "nodes": [30789560, 10184166093], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143719, "nodes": [10184166094, 30789557], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143720, "nodes": [10184166093, 10184166096, 10184166095], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1121485057, "nodes": [10257844035, 10257844036], "tags": {"highway": "footway"}}, {"type": "way", "id": 1134989470, "nodes": [10580335229, 30340978], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989471, "nodes": [30340980, 8202051093, 8573147906, 6133056834, 12130312334, 10580335234], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989472, "nodes": [10580335231, 30340980], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989473, "nodes": [10580335234, 30340605], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989474, "nodes": [30340605, 11002633301, 2261531892], "tags": {"alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989475, "nodes": [8842659121, 268681316, 9977886265, 8394114972], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Obrero Mundial", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989476, "nodes": [10580335235, 8842659121], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Obrero Mundial", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1163653161, "nodes": [274839882, 274839883], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 1175125086, "nodes": [275729251, 275730540, 275729252, 275730548, 275729253, 275730382, 275729254, 275730361, 275729255, 30340978], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Ahorro Postal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576961, "nodes": [11002633294, 11002633297, 11002633298, 11002633299, 11002633300, 11002633301], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576962, "nodes": [11002633301, 11002633302, 11002633303, 11002633304], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576963, "nodes": [11002633304, 11002645505, 11002645506, 11002633301], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576964, "nodes": [11002633304, 11002645507, 11002645508, 11002645509, 11002645510, 11002645511, 11002645512, 11002645513, 11002645514], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377386, "nodes": [11155081751, 11155081754, 11155081755, 11155081756], "tags": {"highway": "busway", "lanes": "2", "name": "Avenida Cuauht\u00e9moc", "surface": "concrete"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377392, "nodes": [11155081769, 11155081772, 11155081773, 11155081774], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1309519507, "nodes": [12125812998, 275357285], "tags": {"highway": "residential"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1310331388, "nodes": [12130312335, 12130238448, 12130312333, 12130312334], "tags": {"highway": "service"}}, {"type": "way", "id": 1310350522, "nodes": [12130238448, 12130238447, 12130238446, 12130238445, 12130238444, 12130238443, 12130238442, 12130238441, 12130238440, 12130238439, 12130238436, 12130238435, 12130238438, 12130238437], "tags": {"highway": "service"}}, {"type": "way", "id": 1374805848, "nodes": [12729378417, 12729378416], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805849, "nodes": [12729378418, 12729378417], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805850, "nodes": [12729378416, 12729378415, 12729378420], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805851, "nodes": [12729378422, 12729378421], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805852, "nodes": [12729378424, 12729378423, 12729378422], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805853, "nodes": [12729378421, 12729378420, 12729378419], "tags": {"highway": "service", "oneway": "yes"}}]} \ No newline at end of file diff --git a/cache/2c60091061aec9fe9ad510cc7eb2d7dbd3c27974.json b/cache/2c60091061aec9fe9ad510cc7eb2d7dbd3c27974.json new file mode 100644 index 0000000..b0a98a2 --- /dev/null +++ b/cache/2c60091061aec9fe9ad510cc7eb2d7dbd3c27974.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T04:00:01Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/3c61617a77b5874ae1f9cf2b81969c125186cfe4.json b/cache/3c61617a77b5874ae1f9cf2b81969c125186cfe4.json new file mode 100644 index 0000000..12f9bab --- /dev/null +++ b/cache/3c61617a77b5874ae1f9cf2b81969c125186cfe4.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T07:19:59Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30341007, "lat": 19.4269327, "lon": -99.1419962, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341009, "lat": 19.4290313, "lon": -99.1416447, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341010, "lat": 19.4303455, "lon": -99.141461, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341011, "lat": 19.4311798, "lon": -99.1413268, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341012, "lat": 19.4320048, "lon": -99.1412023, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341013, "lat": 19.4328086, "lon": -99.1410809, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341019, "lat": 19.437782, "lon": -99.1402973, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341021, "lat": 19.4397261, "lon": -99.1400037, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341022, "lat": 19.4410211, "lon": -99.1398602}, {"type": "node", "id": 30385165, "lat": 19.4264861, "lon": -99.1329679}, {"type": "node", "id": 30594530, "lat": 19.4333217, "lon": -99.1352212}, {"type": "node", "id": 30594539, "lat": 19.431943, "lon": -99.134371}, {"type": "node", "id": 30594548, "lat": 19.4326258, "lon": -99.1395996}, {"type": "node", "id": 30594728, "lat": 19.4301819, "lon": -99.1482303}, {"type": "node", "id": 30594809, "lat": 19.4318242, "lon": -99.1396996}, {"type": "node", "id": 30594812, "lat": 19.4313606, "lon": -99.136564}, {"type": "node", "id": 30956872, "lat": 19.4367474, "lon": -99.1391467}, {"type": "node", "id": 30956873, "lat": 19.4384444, "lon": -99.1388928}, {"type": "node", "id": 30956901, "lat": 19.4378283, "lon": -99.1346074}, {"type": "node", "id": 30956904, "lat": 19.4312161, "lon": -99.1355236}, {"type": "node", "id": 30956996, "lat": 19.4391624, "lon": -99.1434858}, {"type": "node", "id": 30956999, "lat": 19.438647, "lon": -99.1401756, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31168286, "lat": 19.4367056, "lon": -99.1388518}, {"type": "node", "id": 268500467, "lat": 19.4248083, "lon": -99.1425258, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268508491, "lat": 19.424291, "lon": -99.1345411}, {"type": "node", "id": 268509735, "lat": 19.4271127, "lon": -99.1461625, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268509736, "lat": 19.4268002, "lon": -99.1429801, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268509737, "lat": 19.4267481, "lon": -99.1426068}, {"type": "node", "id": 268509739, "lat": 19.4265746, "lon": -99.14208}, {"type": "node", "id": 268509740, "lat": 19.4265459, "lon": -99.1417626}, {"type": "node", "id": 268509741, "lat": 19.4266268, "lon": -99.1413155}, {"type": "node", "id": 268510352, "lat": 19.4267095, "lon": -99.1413069}, {"type": "node", "id": 268510353, "lat": 19.4268621, "lon": -99.1416766}, {"type": "node", "id": 268510355, "lat": 19.4269173, "lon": -99.1425647}, {"type": "node", "id": 268510356, "lat": 19.4269307, "lon": -99.1429544, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268510357, "lat": 19.4272389, "lon": -99.1461381, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268511171, "lat": 19.4343873, "lon": -99.14183, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268511172, "lat": 19.4249148, "lon": -99.1433763, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268615854, "lat": 19.4243142, "lon": -99.1397636, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268615855, "lat": 19.4244591, "lon": -99.1397371, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268615856, "lat": 19.4265396, "lon": -99.1394028, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268615858, "lat": 19.4264645, "lon": -99.1394128, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268615859, "lat": 19.4407714, "lon": -99.1372515}, {"type": "node", "id": 268615860, "lat": 19.4382624, "lon": -99.1376233}, {"type": "node", "id": 268615862, "lat": 19.4324878, "lon": -99.1385066}, {"type": "node", "id": 268615863, "lat": 19.4255184, "lon": -99.1395471}, {"type": "node", "id": 268620192, "lat": 19.4396166, "lon": -99.1353273, "tags": {"highway": "traffic_signals", "side": "right"}}, {"type": "node", "id": 268620193, "lat": 19.4407633, "lon": -99.1352954}, {"type": "node", "id": 268620195, "lat": 19.4436596, "lon": -99.1352341, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268620937, "lat": 19.4354127, "lon": -99.1359589}, {"type": "node", "id": 268621340, "lat": 19.4322222, "lon": -99.1364455}, {"type": "node", "id": 268621341, "lat": 19.4334666, "lon": -99.1362456}, {"type": "node", "id": 268621359, "lat": 19.4323544, "lon": -99.1374903}, {"type": "node", "id": 268622218, "lat": 19.4320888, "lon": -99.1353945}, {"type": "node", "id": 268622485, "lat": 19.4262726, "lon": -99.137325, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268622486, "lat": 19.4263514, "lon": -99.1373142, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268633491, "lat": 19.4260855, "lon": -99.1342764, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268633507, "lat": 19.4259987, "lon": -99.1342894, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268633522, "lat": 19.4309473, "lon": -99.1335877, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268635283, "lat": 19.4308463, "lon": -99.1248145, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268635601, "lat": 19.4355764, "lon": -99.1240812, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268636314, "lat": 19.4359878, "lon": -99.1337779}, {"type": "node", "id": 268639104, "lat": 19.4310729, "lon": -99.1344924, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268639105, "lat": 19.4261708, "lon": -99.1352418, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268639106, "lat": 19.4260892, "lon": -99.1352539, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268822693, "lat": 19.4269372, "lon": -99.1443674}, {"type": "node", "id": 269820951, "lat": 19.4321826, "lon": -99.1478249}, {"type": "node", "id": 269826154, "lat": 19.4312158, "lon": -99.1480134}, {"type": "node", "id": 269826155, "lat": 19.4304113, "lon": -99.1424712}, {"type": "node", "id": 269826675, "lat": 19.4321482, "lon": -99.1422014}, {"type": "node", "id": 269830124, "lat": 19.4329629, "lon": -99.1420662}, {"type": "node", "id": 269830435, "lat": 19.4313547, "lon": -99.1423295}, {"type": "node", "id": 269831116, "lat": 19.4310203, "lon": -99.1466121}, {"type": "node", "id": 269831117, "lat": 19.4319638, "lon": -99.1464124}, {"type": "node", "id": 269831118, "lat": 19.4327209, "lon": -99.1462514}, {"type": "node", "id": 269831192, "lat": 19.4348771, "lon": -99.1447509, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269831439, "lat": 19.4334456, "lon": -99.1450323}, {"type": "node", "id": 269831440, "lat": 19.43257, "lon": -99.1451972}, {"type": "node", "id": 269831442, "lat": 19.4308478, "lon": -99.1454854}, {"type": "node", "id": 269831728, "lat": 19.4269546, "lon": -99.1432227}, {"type": "node", "id": 269831981, "lat": 19.431389, "lon": -99.1425944}, {"type": "node", "id": 269831982, "lat": 19.4304524, "lon": -99.1427584}, {"type": "node", "id": 269832168, "lat": 19.4345106, "lon": -99.1426163, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 269832327, "lat": 19.4331104, "lon": -99.1429079}, {"type": "node", "id": 269832328, "lat": 19.4322657, "lon": -99.1430421}, {"type": "node", "id": 269832329, "lat": 19.4314609, "lon": -99.1431504}, {"type": "node", "id": 269832330, "lat": 19.4305271, "lon": -99.1432784}, {"type": "node", "id": 269832331, "lat": 19.4270168, "lon": -99.1438902}, {"type": "node", "id": 269832466, "lat": 19.4285057, "lon": -99.1459094}, {"type": "node", "id": 269832527, "lat": 19.4282625, "lon": -99.1446096}, {"type": "node", "id": 269832528, "lat": 19.4281616, "lon": -99.1436738}, {"type": "node", "id": 269832529, "lat": 19.4281037, "lon": -99.1430719}, {"type": "node", "id": 269832530, "lat": 19.4280692, "lon": -99.1427845}, {"type": "node", "id": 269832531, "lat": 19.4279544, "lon": -99.1418029}, {"type": "node", "id": 269832794, "lat": 19.4298626, "lon": -99.1456652}, {"type": "node", "id": 269832795, "lat": 19.4295262, "lon": -99.1428776}, {"type": "node", "id": 269833246, "lat": 19.4301102, "lon": -99.1476395}, {"type": "node", "id": 269833430, "lat": 19.4298892, "lon": -99.1428416}, {"type": "node", "id": 269833646, "lat": 19.4298555, "lon": -99.1425458}, {"type": "node", "id": 269833647, "lat": 19.4297417, "lon": -99.1415456}, {"type": "node", "id": 269833704, "lat": 19.4292225, "lon": -99.1429078}, {"type": "node", "id": 269834070, "lat": 19.4276475, "lon": -99.1252955}, {"type": "node", "id": 269834071, "lat": 19.4277002, "lon": -99.1277162}, {"type": "node", "id": 269834072, "lat": 19.4279068, "lon": -99.1295493}, {"type": "node", "id": 269834074, "lat": 19.4284599, "lon": -99.1349091}, {"type": "node", "id": 269834075, "lat": 19.4286586, "lon": -99.1369856}, {"type": "node", "id": 269834077, "lat": 19.4291814, "lon": -99.1426353}, {"type": "node", "id": 269834086, "lat": 19.4278003, "lon": -99.1285986}, {"type": "node", "id": 269834087, "lat": 19.4288184, "lon": -99.1390547}, {"type": "node", "id": 269834088, "lat": 19.432322, "lon": -99.1434391}, {"type": "node", "id": 269834089, "lat": 19.4345674, "lon": -99.1429419}, {"type": "node", "id": 269834091, "lat": 19.4323787, "lon": -99.1438391}, {"type": "node", "id": 269834092, "lat": 19.4329205, "lon": -99.1437707, "tags": {"noexit": "yes"}}, {"type": "node", "id": 269834095, "lat": 19.4315398, "lon": -99.143662}, {"type": "node", "id": 269834112, "lat": 19.4306044, "lon": -99.143811}, {"type": "node", "id": 269834113, "lat": 19.4317232, "lon": -99.1448522}, {"type": "node", "id": 269834116, "lat": 19.4316589, "lon": -99.1444345}, {"type": "node", "id": 269956905, "lat": 19.4291853, "lon": -99.1250721, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269956906, "lat": 19.4291271, "lon": -99.1264309}, {"type": "node", "id": 269956907, "lat": 19.4299223, "lon": -99.1324688, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269956908, "lat": 19.4300982, "lon": -99.1337079, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269956909, "lat": 19.4302279, "lon": -99.1346216, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269956910, "lat": 19.4305223, "lon": -99.1366954}, {"type": "node", "id": 269956911, "lat": 19.4308234, "lon": -99.1387527}, {"type": "node", "id": 269957015, "lat": 19.4299554, "lon": -99.138881}, {"type": "node", "id": 269957016, "lat": 19.4296716, "lon": -99.1368286}, {"type": "node", "id": 269957017, "lat": 19.4293988, "lon": -99.1347515}, {"type": "node", "id": 269957019, "lat": 19.4292665, "lon": -99.1338238, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269957065, "lat": 19.4290858, "lon": -99.1325925, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269957093, "lat": 19.4283042, "lon": -99.1269401}, {"type": "node", "id": 269957104, "lat": 19.4274704, "lon": -99.1418945}, {"type": "node", "id": 269957114, "lat": 19.4272071, "lon": -99.1393008}, {"type": "node", "id": 269957115, "lat": 19.4270306, "lon": -99.1372189}, {"type": "node", "id": 269957116, "lat": 19.4268348, "lon": -99.135149}, {"type": "node", "id": 269957117, "lat": 19.4266966, "lon": -99.1341849, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269957132, "lat": 19.4265383, "lon": -99.1329607, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269957192, "lat": 19.4275399, "lon": -99.1401276}, {"type": "node", "id": 269957205, "lat": 19.4272855, "lon": -99.140154}, {"type": "node", "id": 269957262, "lat": 19.4300912, "lon": -99.1398632}, {"type": "node", "id": 269957263, "lat": 19.4288914, "lon": -99.1399876}, {"type": "node", "id": 269957298, "lat": 19.4259854, "lon": -99.1422213}, {"type": "node", "id": 269957299, "lat": 19.4255958, "lon": -99.1404644}, {"type": "node", "id": 269957300, "lat": 19.4253245, "lon": -99.1374563}, {"type": "node", "id": 269957301, "lat": 19.4251466, "lon": -99.1353984}, {"type": "node", "id": 269957302, "lat": 19.42507, "lon": -99.1344203, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269957805, "lat": 19.4265445, "lon": -99.1403608}, {"type": "node", "id": 269957872, "lat": 19.4252648, "lon": -99.140553}, {"type": "node", "id": 269957873, "lat": 19.4253125, "lon": -99.1416607}, {"type": "node", "id": 269957874, "lat": 19.4250196, "lon": -99.1417185}, {"type": "node", "id": 269957952, "lat": 19.4252826, "lon": -99.1416734}, {"type": "node", "id": 269958002, "lat": 19.4254007, "lon": -99.1423751}, {"type": "node", "id": 269958017, "lat": 19.4254888, "lon": -99.1391671}, {"type": "node", "id": 269958102, "lat": 19.4264016, "lon": -99.1387283}, {"type": "node", "id": 269958111, "lat": 19.4254413, "lon": -99.1386516}, {"type": "node", "id": 269958183, "lat": 19.426395, "lon": -99.1386566}, {"type": "node", "id": 269958260, "lat": 19.4249026, "lon": -99.1396563}, {"type": "node", "id": 269958263, "lat": 19.4248092, "lon": -99.1389946}, {"type": "node", "id": 269958349, "lat": 19.4259754, "lon": -99.1330334}, {"type": "node", "id": 269958386, "lat": 19.4258853, "lon": -99.133043, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269959010, "lat": 19.4247227, "lon": -99.1344695}, {"type": "node", "id": 269959205, "lat": 19.4245671, "lon": -99.1332254}, {"type": "node", "id": 269963109, "lat": 19.4239923, "lon": -99.1333132}, {"type": "node", "id": 269963900, "lat": 19.4257401, "lon": -99.1313877}, {"type": "node", "id": 269963901, "lat": 19.4258209, "lon": -99.1310072}, {"type": "node", "id": 269963902, "lat": 19.4259574, "lon": -99.130777, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269963907, "lat": 19.4261933, "lon": -99.1299417}, {"type": "node", "id": 269963908, "lat": 19.4260572, "lon": -99.1288482, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269964052, "lat": 19.4256103, "lon": -99.1255914, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269964053, "lat": 19.4261363, "lon": -99.1288324, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269964056, "lat": 19.4261727, "lon": -99.1305577}, {"type": "node", "id": 269964058, "lat": 19.4258951, "lon": -99.1310555}, {"type": "node", "id": 269964059, "lat": 19.4258329, "lon": -99.1314699}, {"type": "node", "id": 269964306, "lat": 19.428218, "lon": -99.1400574}, {"type": "node", "id": 269964732, "lat": 19.4267461, "lon": -99.1279275}, {"type": "node", "id": 269964733, "lat": 19.4266834, "lon": -99.1268771}, {"type": "node", "id": 269964734, "lat": 19.4265354, "lon": -99.125457}, {"type": "node", "id": 269964735, "lat": 19.4281326, "lon": -99.1391594}, {"type": "node", "id": 269964736, "lat": 19.427907, "lon": -99.137105}, {"type": "node", "id": 269964737, "lat": 19.4276494, "lon": -99.1350158}, {"type": "node", "id": 269964738, "lat": 19.427533, "lon": -99.1340714, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269964739, "lat": 19.4273725, "lon": -99.1328456, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269964740, "lat": 19.4269586, "lon": -99.129685}, {"type": "node", "id": 269965029, "lat": 19.4281677, "lon": -99.1395282}, {"type": "node", "id": 269965031, "lat": 19.4272362, "lon": -99.1396173}, {"type": "node", "id": 269965037, "lat": 19.428365, "lon": -99.1391239}, {"type": "node", "id": 269965092, "lat": 19.4274937, "lon": -99.1395927}, {"type": "node", "id": 269965177, "lat": 19.429572, "lon": -99.1415692}, {"type": "node", "id": 269965352, "lat": 19.4295623, "lon": -99.1399181}, {"type": "node", "id": 269986908, "lat": 19.4360903, "lon": -99.1405795}, {"type": "node", "id": 269987044, "lat": 19.4351277, "lon": -99.1338942, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269987046, "lat": 19.4358609, "lon": -99.1390188}, {"type": "node", "id": 269987047, "lat": 19.4357154, "lon": -99.1380011, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269987048, "lat": 19.4352751, "lon": -99.1349414}, {"type": "node", "id": 269987714, "lat": 19.4339252, "lon": -99.1243404, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269987745, "lat": 19.433363, "lon": -99.1299043}, {"type": "node", "id": 269988105, "lat": 19.4260464, "lon": -99.1308048, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269988225, "lat": 19.4402103, "lon": -99.1289211}, {"type": "node", "id": 269988226, "lat": 19.4345814, "lon": -99.1297269}, {"type": "node", "id": 269988227, "lat": 19.4296338, "lon": -99.1304364}, {"type": "node", "id": 269988228, "lat": 19.428804, "lon": -99.1305547}, {"type": "node", "id": 269988229, "lat": 19.4280399, "lon": -99.1306589}, {"type": "node", "id": 269988230, "lat": 19.4271065, "lon": -99.1307783}, {"type": "node", "id": 269988231, "lat": 19.4262841, "lon": -99.1309003, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269988894, "lat": 19.4351605, "lon": -99.1275777}, {"type": "node", "id": 269988895, "lat": 19.4347151, "lon": -99.1241959, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269988896, "lat": 19.4365585, "lon": -99.1378821, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269988897, "lat": 19.4362601, "lon": -99.1358191}, {"type": "node", "id": 269988898, "lat": 19.4361328, "lon": -99.1348193}, {"type": "node", "id": 269988899, "lat": 19.4354374, "lon": -99.1296111}, {"type": "node", "id": 269989265, "lat": 19.4362787, "lon": -99.1294897}, {"type": "node", "id": 269989266, "lat": 19.4376016, "lon": -99.1390182}, {"type": "node", "id": 269989267, "lat": 19.4374223, "lon": -99.1377479}, {"type": "node", "id": 269989268, "lat": 19.4371028, "lon": -99.1356858}, {"type": "node", "id": 269989269, "lat": 19.4369714, "lon": -99.1347223}, {"type": "node", "id": 269989270, "lat": 19.4368397, "lon": -99.1336568}, {"type": "node", "id": 269989354, "lat": 19.4365709, "lon": -99.1316058}, {"type": "node", "id": 269989628, "lat": 19.4368275, "lon": -99.1273349}, {"type": "node", "id": 269989629, "lat": 19.437942, "lon": -99.1355547}, {"type": "node", "id": 269989630, "lat": 19.4376906, "lon": -99.1335363}, {"type": "node", "id": 269989631, "lat": 19.4371066, "lon": -99.1293865}, {"type": "node", "id": 269989724, "lat": 19.4395903, "lon": -99.1374243, "tags": {"direction": "forward", "highway": "traffic_signals", "side": "right"}}, {"type": "node", "id": 269989981, "lat": 19.439875, "lon": -99.1332322}, {"type": "node", "id": 269989983, "lat": 19.4400686, "lon": -99.1311569}, {"type": "node", "id": 269990542, "lat": 19.4393477, "lon": -99.133296}, {"type": "node", "id": 269990659, "lat": 19.4389204, "lon": -99.1274948}, {"type": "node", "id": 269990660, "lat": 19.4390332, "lon": -99.1291112}, {"type": "node", "id": 269990664, "lat": 19.4385246, "lon": -99.1334216}, {"type": "node", "id": 269990823, "lat": 19.4380864, "lon": -99.1292506}, {"type": "node", "id": 269990824, "lat": 19.4377946, "lon": -99.1263978}, {"type": "node", "id": 269990904, "lat": 19.4357185, "lon": -99.1317225}, {"type": "node", "id": 269991029, "lat": 19.4391886, "lon": -99.1312817}, {"type": "node", "id": 269991030, "lat": 19.4383018, "lon": -99.1313788}, {"type": "node", "id": 269991031, "lat": 19.4373929, "lon": -99.1314876}, {"type": "node", "id": 269991546, "lat": 19.4427675, "lon": -99.1394504}, {"type": "node", "id": 269992255, "lat": 19.4433809, "lon": -99.1391016}, {"type": "node", "id": 269994000, "lat": 19.4317101, "lon": -99.1323529, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269994072, "lat": 19.4314434, "lon": -99.1301566}, {"type": "node", "id": 269994167, "lat": 19.4302066, "lon": -99.1282534}, {"type": "node", "id": 269994168, "lat": 19.4300241, "lon": -99.1269993}, {"type": "node", "id": 269994169, "lat": 19.4298966, "lon": -99.1256141}, {"type": "node", "id": 269994178, "lat": 19.4304964, "lon": -99.1302983}, {"type": "node", "id": 269994188, "lat": 19.4300804, "lon": -99.1273886}, {"type": "node", "id": 269994297, "lat": 19.4326392, "lon": -99.1300016}, {"type": "node", "id": 269994753, "lat": 19.4406815, "lon": -99.1398534}, {"type": "node", "id": 269995188, "lat": 19.4407543, "lon": -99.1310866}, {"type": "node", "id": 269995395, "lat": 19.4425756, "lon": -99.1353071}, {"type": "node", "id": 269995398, "lat": 19.4423095, "lon": -99.1308702}, {"type": "node", "id": 269995703, "lat": 19.4418953, "lon": -99.135318}, {"type": "node", "id": 269995704, "lat": 19.4414005, "lon": -99.1309974}, {"type": "node", "id": 269995954, "lat": 19.4409858, "lon": -99.1310573}, {"type": "node", "id": 269996681, "lat": 19.4321776, "lon": -99.1262128}, {"type": "node", "id": 269996691, "lat": 19.4376758, "lon": -99.1254412}, {"type": "node", "id": 269996692, "lat": 19.4366175, "lon": -99.1255887}, {"type": "node", "id": 269996693, "lat": 19.4357726, "lon": -99.1257144}, {"type": "node", "id": 269996694, "lat": 19.4349187, "lon": -99.1258284}, {"type": "node", "id": 269996695, "lat": 19.4341076, "lon": -99.1259478}, {"type": "node", "id": 269997213, "lat": 19.4389017, "lon": -99.1269665}, {"type": "node", "id": 269997268, "lat": 19.4374295, "lon": -99.1272305}, {"type": "node", "id": 269997269, "lat": 19.4375997, "lon": -99.1284858}, {"type": "node", "id": 269997270, "lat": 19.438006, "lon": -99.1285212}, {"type": "node", "id": 269997271, "lat": 19.4389882, "lon": -99.1284822}, {"type": "node", "id": 269997631, "lat": 19.4360091, "lon": -99.1274476}, {"type": "node", "id": 269997632, "lat": 19.4378878, "lon": -99.1271406}, {"type": "node", "id": 269997634, "lat": 19.4268345, "lon": -99.1287372}, {"type": "node", "id": 269997635, "lat": 19.4285195, "lon": -99.1284955}, {"type": "node", "id": 269997636, "lat": 19.4293418, "lon": -99.1283775}, {"type": "node", "id": 269997637, "lat": 19.4311821, "lon": -99.1281135}, {"type": "node", "id": 269997638, "lat": 19.4323929, "lon": -99.1279796}, {"type": "node", "id": 269997639, "lat": 19.4331573, "lon": -99.12786}, {"type": "node", "id": 269997640, "lat": 19.4343236, "lon": -99.127684}, {"type": "node", "id": 269997703, "lat": 19.4263529, "lon": -99.1297818}, {"type": "node", "id": 269997729, "lat": 19.4303381, "lon": -99.1292007}, {"type": "node", "id": 269997730, "lat": 19.4294759, "lon": -99.1293242}, {"type": "node", "id": 269997731, "lat": 19.4286502, "lon": -99.1294426}, {"type": "node", "id": 269997733, "lat": 19.4344553, "lon": -99.1287071}, {"type": "node", "id": 269997734, "lat": 19.4332799, "lon": -99.1288701}, {"type": "node", "id": 269997735, "lat": 19.4325142, "lon": -99.1289752}, {"type": "node", "id": 269997736, "lat": 19.4313131, "lon": -99.1291378}, {"type": "node", "id": 269997912, "lat": 19.4310724, "lon": -99.1272561}, {"type": "node", "id": 269997913, "lat": 19.4322839, "lon": -99.1270855}, {"type": "node", "id": 269997915, "lat": 19.4342156, "lon": -99.1268447}, {"type": "node", "id": 269997916, "lat": 19.4350533, "lon": -99.1267375}, {"type": "node", "id": 269997917, "lat": 19.4358947, "lon": -99.1266298}, {"type": "node", "id": 269997918, "lat": 19.4367243, "lon": -99.1265236}, {"type": "node", "id": 269997919, "lat": 19.4283983, "lon": -99.1276201}, {"type": "node", "id": 269997920, "lat": 19.4292181, "lon": -99.1275073}, {"type": "node", "id": 269997945, "lat": 19.4375901, "lon": -99.1248098}, {"type": "node", "id": 269998028, "lat": 19.4365418, "lon": -99.1249541}, {"type": "node", "id": 269998029, "lat": 19.4357069, "lon": -99.1251534}, {"type": "node", "id": 269998417, "lat": 19.4348448, "lon": -99.1252582}, {"type": "node", "id": 269998468, "lat": 19.4340141, "lon": -99.1250816}, {"type": "node", "id": 269998559, "lat": 19.4308979, "lon": -99.1253537}, {"type": "node", "id": 269998804, "lat": 19.4258002, "lon": -99.1268332, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269998805, "lat": 19.4276805, "lon": -99.1269322}, {"type": "node", "id": 269998806, "lat": 19.4291534, "lon": -99.1269693}, {"type": "node", "id": 269998826, "lat": 19.4258969, "lon": -99.1280184, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269998827, "lat": 19.4259843, "lon": -99.1280095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270103390, "lat": 19.4299781, "lon": -99.1265286}, {"type": "node", "id": 270103551, "lat": 19.425694, "lon": -99.1261548}, {"type": "node", "id": 270103552, "lat": 19.4266187, "lon": -99.1262091}, {"type": "node", "id": 270103553, "lat": 19.42766, "lon": -99.1262983}, {"type": "node", "id": 270103555, "lat": 19.4291285, "lon": -99.1265689}, {"type": "node", "id": 270103560, "lat": 19.4277129, "lon": -99.1278434}, {"type": "node", "id": 270103679, "lat": 19.4267301, "lon": -99.1277141}, {"type": "node", "id": 270103680, "lat": 19.4276944, "lon": -99.1276167}, {"type": "node", "id": 270103790, "lat": 19.4309491, "lon": -99.1259082}, {"type": "node", "id": 270104474, "lat": 19.4291759, "lon": -99.1256627}, {"type": "node", "id": 270104664, "lat": 19.4299272, "lon": -99.1259575}, {"type": "node", "id": 270114803, "lat": 19.4368932, "lon": -99.1440409, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270114806, "lat": 19.4391431, "lon": -99.1433662}, {"type": "node", "id": 270114812, "lat": 19.4399673, "lon": -99.1420017, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 270114816, "lat": 19.4376522, "lon": -99.1438576}, {"type": "node", "id": 270114817, "lat": 19.4376257, "lon": -99.1437415}, {"type": "node", "id": 270114841, "lat": 19.4384326, "lon": -99.1435419}, {"type": "node", "id": 270114843, "lat": 19.4384594, "lon": -99.1436589}, {"type": "node", "id": 270114896, "lat": 19.4387799, "lon": -99.1411109}, {"type": "node", "id": 270114909, "lat": 19.4389543, "lon": -99.1421965}, {"type": "node", "id": 270114933, "lat": 19.4388714, "lon": -99.141683}, {"type": "node", "id": 270114934, "lat": 19.4380532, "lon": -99.141882}, {"type": "node", "id": 270114935, "lat": 19.4372466, "lon": -99.1420788}, {"type": "node", "id": 270114943, "lat": 19.4388204, "lon": -99.1413671}, {"type": "node", "id": 270114944, "lat": 19.4379839, "lon": -99.1415371}, {"type": "node", "id": 270114945, "lat": 19.4390878, "lon": -99.1430239}, {"type": "node", "id": 270114946, "lat": 19.4383541, "lon": -99.1431982}, {"type": "node", "id": 270114954, "lat": 19.4383128, "lon": -99.1430178}, {"type": "node", "id": 270114955, "lat": 19.4375028, "lon": -99.1432026}, {"type": "node", "id": 270115007, "lat": 19.439598, "lon": -99.1386549}, {"type": "node", "id": 270115020, "lat": 19.439622, "lon": -99.1390839}, {"type": "node", "id": 270115023, "lat": 19.4384985, "lon": -99.1392165}, {"type": "node", "id": 270115036, "lat": 19.4390832, "lon": -99.1375006}, {"type": "node", "id": 270115041, "lat": 19.4387959, "lon": -99.1354353}, {"type": "node", "id": 270208045, "lat": 19.4432575, "lon": -99.1352678}, {"type": "node", "id": 270208354, "lat": 19.4398158, "lon": -99.133832}, {"type": "node", "id": 270208532, "lat": 19.4407806, "lon": -99.1366537}, {"type": "node", "id": 270208533, "lat": 19.439553, "lon": -99.1366958}, {"type": "node", "id": 270208621, "lat": 19.4407397, "lon": -99.1347645}, {"type": "node", "id": 270208669, "lat": 19.4396956, "lon": -99.1347647}, {"type": "node", "id": 270209015, "lat": 19.4359992, "lon": -99.1399477}, {"type": "node", "id": 270209145, "lat": 19.4368412, "lon": -99.1398025}, {"type": "node", "id": 270209315, "lat": 19.4355544, "lon": -99.1369788}, {"type": "node", "id": 270209443, "lat": 19.431555, "lon": -99.1310833, "tags": {"police": "checkpoint"}}, {"type": "node", "id": 270209444, "lat": 19.4306171, "lon": -99.1312099}, {"type": "node", "id": 270209445, "lat": 19.430657, "lon": -99.1314969}, {"type": "node", "id": 270209446, "lat": 19.4298016, "lon": -99.1316184}, {"type": "node", "id": 270209447, "lat": 19.4305719, "lon": -99.1308844}, {"type": "node", "id": 270209464, "lat": 19.4297133, "lon": -99.1309963}, {"type": "node", "id": 270209468, "lat": 19.4285457, "lon": -99.1358541}, {"type": "node", "id": 270209474, "lat": 19.4277661, "lon": -99.1359611}, {"type": "node", "id": 270978274, "lat": 19.4233903, "lon": -99.1292276, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270980948, "lat": 19.4234736, "lon": -99.1310322}, {"type": "node", "id": 270980974, "lat": 19.4255528, "lon": -99.1307375}, {"type": "node", "id": 270980975, "lat": 19.4236164, "lon": -99.1310115, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270981180, "lat": 19.4236971, "lon": -99.131758}, {"type": "node", "id": 270982064, "lat": 19.4244508, "lon": -99.1316158}, {"type": "node", "id": 270982285, "lat": 19.4243586, "lon": -99.1309038}, {"type": "node", "id": 270983037, "lat": 19.4245441, "lon": -99.131602}, {"type": "node", "id": 270991614, "lat": 19.4305823, "lon": -99.1213954}, {"type": "node", "id": 271020009, "lat": 19.4304842, "lon": -99.1200852}, {"type": "node", "id": 271020013, "lat": 19.4307356, "lon": -99.1234118}, {"type": "node", "id": 271020014, "lat": 19.4306741, "lon": -99.122659}, {"type": "node", "id": 271020184, "lat": 19.4305534, "lon": -99.1208806}, {"type": "node", "id": 271021390, "lat": 19.4295754, "lon": -99.1228329}, {"type": "node", "id": 271022054, "lat": 19.4296546, "lon": -99.1236031}, {"type": "node", "id": 271022304, "lat": 19.4297383, "lon": -99.1244581}, {"type": "node", "id": 271023454, "lat": 19.429695, "lon": -99.1240574}, {"type": "node", "id": 271023473, "lat": 19.4307829, "lon": -99.1240265}, {"type": "node", "id": 1382788736, "lat": 19.4372759, "lon": -99.1464691, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382828419, "lat": 19.4344156, "lon": -99.1420073}, {"type": "node", "id": 1382828461, "lat": 19.4363303, "lon": -99.1419669}, {"type": "node", "id": 1382834991, "lat": 19.4374027, "lon": -99.1462983, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382838437, "lat": 19.4364234, "lon": -99.1425046, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 1382838441, "lat": 19.4371373, "lon": -99.1458615}, {"type": "node", "id": 1382838442, "lat": 19.4362764, "lon": -99.1406861, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 1409559497, "lat": 19.4277152, "lon": -99.1278667}, {"type": "node", "id": 1420660832, "lat": 19.4240559, "lon": -99.1355651}, {"type": "node", "id": 1446103277, "lat": 19.4266576, "lon": -99.1423593}, {"type": "node", "id": 1446103278, "lat": 19.4269373, "lon": -99.1423041}, {"type": "node", "id": 1983085865, "lat": 19.4282593, "lon": -99.132723, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1983085867, "lat": 19.4307991, "lon": -99.1325207}, {"type": "node", "id": 1983085873, "lat": 19.4317944, "lon": -99.1453139}, {"type": "node", "id": 2113341940, "lat": 19.4320282, "lon": -99.1334399}, {"type": "node", "id": 2180585469, "lat": 19.4348107, "lon": -99.140766, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2265931054, "lat": 19.4407381, "lon": -99.1331055}, {"type": "node", "id": 2265959610, "lat": 19.4347431, "lon": -99.1402263}, {"type": "node", "id": 2265972043, "lat": 19.4291644, "lon": -99.1331555}, {"type": "node", "id": 2265973054, "lat": 19.428559, "lon": -99.1326703}, {"type": "node", "id": 2265973055, "lat": 19.4290199, "lon": -99.1321157}, {"type": "node", "id": 2266648113, "lat": 19.4402541, "lon": -99.1426058}, {"type": "node", "id": 2267303334, "lat": 19.4336446, "lon": -99.1338895}, {"type": "node", "id": 2267303389, "lat": 19.4335765, "lon": -99.1338325}, {"type": "node", "id": 2267465353, "lat": 19.4351295, "lon": -99.1462626, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2269126095, "lat": 19.4377204, "lon": -99.1285585}, {"type": "node", "id": 2286069615, "lat": 19.4336053, "lon": -99.1319404}, {"type": "node", "id": 2286069628, "lat": 19.4335938, "lon": -99.1319886}, {"type": "node", "id": 2288672120, "lat": 19.4298185, "lon": -99.1249743, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2434287912, "lat": 19.4350501, "lon": -99.1457583, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2434287914, "lat": 19.4347936, "lon": -99.1442648}, {"type": "node", "id": 2434287917, "lat": 19.4342374, "lon": -99.1408512, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2434311932, "lat": 19.4241992, "lon": -99.1375941, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2461446826, "lat": 19.4272289, "lon": -99.1460357, "tags": {"highway": "crossing"}}, {"type": "node", "id": 2461446827, "lat": 19.4271017, "lon": -99.1460489, "tags": {"highway": "crossing"}}, {"type": "node", "id": 2812606360, "lat": 19.4347355, "lon": -99.1401656}, {"type": "node", "id": 3383901542, "lat": 19.4304187, "lon": -99.1297808}, {"type": "node", "id": 3383901549, "lat": 19.4313781, "lon": -99.1296463}, {"type": "node", "id": 3658441638, "lat": 19.4349037, "lon": -99.1449062, "tags": {"button_operated": "yes", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 3714135693, "lat": 19.4337585, "lon": -99.138299}, {"type": "node", "id": 3751088557, "lat": 19.4296447, "lon": -99.1438595}, {"type": "node", "id": 3751088558, "lat": 19.4295949, "lon": -99.1434465}, {"type": "node", "id": 3758772698, "lat": 19.436685, "lon": -99.1438752, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 3758772700, "lat": 19.436253, "lon": -99.1415191, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 3758772701, "lat": 19.4364081, "lon": -99.1414918, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 3772750734, "lat": 19.4249503, "lon": -99.1331724, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3772750753, "lat": 19.4299783, "lon": -99.1468323}, {"type": "node", "id": 3772750754, "lat": 19.4316669, "lon": -99.1386279}, {"type": "node", "id": 3772750963, "lat": 19.4341016, "lon": -99.1351043}, {"type": "node", "id": 3772750964, "lat": 19.4342305, "lon": -99.136133, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3772750965, "lat": 19.4343601, "lon": -99.1371685}, {"type": "node", "id": 3772750969, "lat": 19.4344879, "lon": -99.1381886, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3772750970, "lat": 19.4346225, "lon": -99.1392634}, {"type": "node", "id": 3772750976, "lat": 19.4352394, "lon": -99.1473461, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3946493456, "lat": 19.4374102, "lon": -99.1428005}, {"type": "node", "id": 3946494464, "lat": 19.4365241, "lon": -99.1421518}, {"type": "node", "id": 3993793512, "lat": 19.4341621, "lon": -99.1355872}, {"type": "node", "id": 3993793514, "lat": 19.4337874, "lon": -99.1351548}, {"type": "node", "id": 4045324791, "lat": 19.4347073, "lon": -99.1399404}, {"type": "node", "id": 4312134532, "lat": 19.4326695, "lon": -99.1340155}, {"type": "node", "id": 4312134548, "lat": 19.4333234, "lon": -99.1333355}, {"type": "node", "id": 4312134571, "lat": 19.4339653, "lon": -99.1340157}, {"type": "node", "id": 4312168553, "lat": 19.4319117, "lon": -99.132487}, {"type": "node", "id": 4364089069, "lat": 19.4320921, "lon": -99.1339031}, {"type": "node", "id": 4476087981, "lat": 19.4359198, "lon": -99.1332164}, {"type": "node", "id": 4480705451, "lat": 19.4276764, "lon": -99.1418555}, {"type": "node", "id": 4511087435, "lat": 19.4294466, "lon": -99.1325414}, {"type": "node", "id": 4576971707, "lat": 19.4335917, "lon": -99.1340655}, {"type": "node", "id": 4596641188, "lat": 19.4335037, "lon": -99.1310719}, {"type": "node", "id": 4712005821, "lat": 19.4262565, "lon": -99.1298616}, {"type": "node", "id": 4751405104, "lat": 19.4436046, "lon": -99.1389755, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 4751408729, "lat": 19.4351577, "lon": -99.1465241}, {"type": "node", "id": 4751418017, "lat": 19.4399115, "lon": -99.1432006}, {"type": "node", "id": 4751418018, "lat": 19.4399223, "lon": -99.1433197}, {"type": "node", "id": 4751434040, "lat": 19.4398323, "lon": -99.1409142}, {"type": "node", "id": 4805301892, "lat": 19.4410095, "lon": -99.1397371}, {"type": "node", "id": 4805301893, "lat": 19.4425451, "lon": -99.1394935}, {"type": "node", "id": 4805301895, "lat": 19.4429215, "lon": -99.1393943}, {"type": "node", "id": 4805301900, "lat": 19.4429905, "lon": -99.1393516}, {"type": "node", "id": 4805302039, "lat": 19.4269425, "lon": -99.1421616}, {"type": "node", "id": 5002054435, "lat": 19.4301282, "lon": -99.1401312, "tags": {"bus": "yes", "name": "El Salvador", "network": "Linea 4", "operator": "Metrobus", "public_transport": "stop_position", "tactile_paving": "no"}}, {"type": "node", "id": 5002054436, "lat": 19.4296251, "lon": -99.1364928, "tags": {"bus": "yes", "name": "Isabel la Cat\u00f3lica", "network": "Linea 4", "operator": "Metrobus", "public_transport": "stop_position", "tactile_paving": "no"}}, {"type": "node", "id": 5008602393, "lat": 19.4237511, "lon": -99.131739}, {"type": "node", "id": 5065075403, "lat": 19.4322721, "lon": -99.1340719}, {"type": "node", "id": 5065075410, "lat": 19.4329541, "lon": -99.1339751}, {"type": "node", "id": 5065075411, "lat": 19.4332259, "lon": -99.1339366}, {"type": "node", "id": 5065075412, "lat": 19.4333739, "lon": -99.133723}, {"type": "node", "id": 5065079149, "lat": 19.4349534, "lon": -99.1338698}, {"type": "node", "id": 5065079170, "lat": 19.4319029, "lon": -99.1325316}, {"type": "node", "id": 5118347157, "lat": 19.4388594, "lon": -99.1269649}, {"type": "node", "id": 5119239062, "lat": 19.4391034, "lon": -99.1421627}, {"type": "node", "id": 5119624017, "lat": 19.4320473, "lon": -99.1469545}, {"type": "node", "id": 5119625323, "lat": 19.4320399, "lon": -99.1468963}, {"type": "node", "id": 5161674755, "lat": 19.4321791, "lon": -99.1478093, "tags": {"button_operated": "no", "crossing:signals": "yes", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 5240475464, "lat": 19.4347343, "lon": -99.1439195, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475465, "lat": 19.4346701, "lon": -99.1435461, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475466, "lat": 19.4346154, "lon": -99.1432275, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475467, "lat": 19.4345432, "lon": -99.1428074, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475468, "lat": 19.4345027, "lon": -99.142559, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475469, "lat": 19.4344628, "lon": -99.1423023, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475470, "lat": 19.4348305, "lon": -99.1444799, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5240475471, "lat": 19.434947, "lon": -99.1451581, "tags": {"highway": "street_lamp"}}, {"type": "node", "id": 5288025662, "lat": 19.4373793, "lon": -99.1461982, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 5288054867, "lat": 19.4283591, "lon": -99.1339527, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5546724815, "lat": 19.4432324, "lon": -99.1307829, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5557261732, "lat": 19.433227, "lon": -99.1436452}, {"type": "node", "id": 5557261733, "lat": 19.4331984, "lon": -99.1434582}, {"type": "node", "id": 5832103143, "lat": 19.4352327, "lon": -99.1472783, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5841903483, "lat": 19.4305899, "lon": -99.1437117}, {"type": "node", "id": 5842646035, "lat": 19.4372332, "lon": -99.1420073}, {"type": "node", "id": 5891410077, "lat": 19.4267503, "lon": -99.1279807}, {"type": "node", "id": 5891410078, "lat": 19.4267274, "lon": -99.1276603}, {"type": "node", "id": 6111905350, "lat": 19.4334852, "lon": -99.1309188}, {"type": "node", "id": 6133345213, "lat": 19.433165, "lon": -99.1432419}, {"type": "node", "id": 6136068070, "lat": 19.4253913, "lon": -99.1381321}, {"type": "node", "id": 6136068075, "lat": 19.4250167, "lon": -99.1338171}, {"type": "node", "id": 6136068079, "lat": 19.4246453, "lon": -99.1338566}, {"type": "node", "id": 6136068081, "lat": 19.4248322, "lon": -99.1315448}, {"type": "node", "id": 6136068084, "lat": 19.4246684, "lon": -99.1381544}, {"type": "node", "id": 6146444854, "lat": 19.4361132, "lon": -99.1407117, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 6146461670, "lat": 19.4363185, "lon": -99.1405426, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 6146463687, "lat": 19.4404822, "lon": -99.1398834}, {"type": "node", "id": 6148129474, "lat": 19.4281644, "lon": -99.1317715}, {"type": "node", "id": 6148129476, "lat": 19.4280862, "lon": -99.1311045}, {"type": "node", "id": 6148129477, "lat": 19.4346725, "lon": -99.1350305}, {"type": "node", "id": 6148129478, "lat": 19.4289532, "lon": -99.1316771}, {"type": "node", "id": 6148209281, "lat": 19.4298047, "lon": -99.1452022}, {"type": "node", "id": 6215293306, "lat": 19.4241203, "lon": -99.1355553}, {"type": "node", "id": 6215294929, "lat": 19.4247178, "lon": -99.1344306}, {"type": "node", "id": 6399140435, "lat": 19.4331541, "lon": -99.143171}, {"type": "node", "id": 6426919642, "lat": 19.4367313, "lon": -99.1440814, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6426919643, "lat": 19.4365857, "lon": -99.1424707, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 6426919644, "lat": 19.4368532, "lon": -99.1438365, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 6426919645, "lat": 19.4368698, "lon": -99.1439212, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 7196556412, "lat": 19.4269403, "lon": -99.1420692}, {"type": "node", "id": 7228680370, "lat": 19.4271033, "lon": -99.1419639}, {"type": "node", "id": 7964878353, "lat": 19.4306703, "lon": -99.1437998}, {"type": "node", "id": 7964878354, "lat": 19.4305953, "lon": -99.1432674}, {"type": "node", "id": 7964878355, "lat": 19.4305213, "lon": -99.1427471}, {"type": "node", "id": 7964878356, "lat": 19.430481, "lon": -99.1424604}, {"type": "node", "id": 7966610558, "lat": 19.4428512, "lon": -99.1394261}, {"type": "node", "id": 7966610559, "lat": 19.4392973, "lon": -99.1400725}, {"type": "node", "id": 7966610560, "lat": 19.4365017, "lon": -99.1405109}, {"type": "node", "id": 7966702822, "lat": 19.4258272, "lon": -99.1314014}, {"type": "node", "id": 7966702823, "lat": 19.4258276, "lon": -99.1313326}, {"type": "node", "id": 7966702824, "lat": 19.4258478, "lon": -99.1311925}, {"type": "node", "id": 7966702825, "lat": 19.4258682, "lon": -99.1311227}, {"type": "node", "id": 7966702826, "lat": 19.4258342, "lon": -99.1312641}, {"type": "node", "id": 7966702827, "lat": 19.4262254, "lon": -99.1304316}, {"type": "node", "id": 7966702828, "lat": 19.4262522, "lon": -99.1303245}, {"type": "node", "id": 7966702829, "lat": 19.4262746, "lon": -99.130123}, {"type": "node", "id": 7966702830, "lat": 19.4262749, "lon": -99.1300399}, {"type": "node", "id": 7966702831, "lat": 19.4262661, "lon": -99.1299403}, {"type": "node", "id": 7966702832, "lat": 19.4262656, "lon": -99.1302117}, {"type": "node", "id": 7966732138, "lat": 19.4259589, "lon": -99.1328526}, {"type": "node", "id": 7966732139, "lat": 19.4262208, "lon": -99.1305326}, {"type": "node", "id": 7966732140, "lat": 19.4262615, "lon": -99.1305924}, {"type": "node", "id": 7966732141, "lat": 19.4261921, "lon": -99.1305132}, {"type": "node", "id": 7966732142, "lat": 19.4262441, "lon": -99.1305588}, {"type": "node", "id": 7966732143, "lat": 19.4261544, "lon": -99.1308348}, {"type": "node", "id": 7966732145, "lat": 19.4262701, "lon": -99.1306295}, {"type": "node", "id": 7966732147, "lat": 19.4262488, "lon": -99.1297985}, {"type": "node", "id": 7966732148, "lat": 19.4257368, "lon": -99.1313229}, {"type": "node", "id": 7966732149, "lat": 19.4257651, "lon": -99.1311622}, {"type": "node", "id": 7966732150, "lat": 19.4257902, "lon": -99.1310836}, {"type": "node", "id": 7966732151, "lat": 19.4257456, "lon": -99.1312426}, {"type": "node", "id": 7966732152, "lat": 19.4257463, "lon": -99.1314854}, {"type": "node", "id": 7966732153, "lat": 19.4260985, "lon": -99.1305251}, {"type": "node", "id": 7966732154, "lat": 19.4261535, "lon": -99.1303944}, {"type": "node", "id": 7966732155, "lat": 19.4261805, "lon": -99.1302972}, {"type": "node", "id": 7966732156, "lat": 19.4262021, "lon": -99.1301152}, {"type": "node", "id": 7966732157, "lat": 19.4261985, "lon": -99.1300171}, {"type": "node", "id": 7966732158, "lat": 19.4261276, "lon": -99.1304621}, {"type": "node", "id": 7966732159, "lat": 19.4261959, "lon": -99.1302019}, {"type": "node", "id": 7966845865, "lat": 19.4257897, "lon": -99.1373972}, {"type": "node", "id": 7966845866, "lat": 19.4267241, "lon": -99.1372558}, {"type": "node", "id": 7966845867, "lat": 19.4299165, "lon": -99.1337337}, {"type": "node", "id": 7966845868, "lat": 19.428096, "lon": -99.1339916}, {"type": "node", "id": 7966845869, "lat": 19.4272829, "lon": -99.1341069}, {"type": "node", "id": 7966845870, "lat": 19.4263706, "lon": -99.1342361}, {"type": "node", "id": 7982089633, "lat": 19.432192, "lon": -99.1364508}, {"type": "node", "id": 7982089634, "lat": 19.4322423, "lon": -99.1364424}, {"type": "node", "id": 7982089635, "lat": 19.4322758, "lon": -99.136421}, {"type": "node", "id": 7982089636, "lat": 19.4322391, "lon": -99.1364133}, {"type": "node", "id": 7982089637, "lat": 19.4321866, "lon": -99.1364223}, {"type": "node", "id": 7982089638, "lat": 19.4321585, "lon": -99.1364421}, {"type": "node", "id": 7982089639, "lat": 19.4322184, "lon": -99.1364167}, {"type": "node", "id": 7986131952, "lat": 19.4261866, "lon": -99.1292429}, {"type": "node", "id": 7986131953, "lat": 19.4260904, "lon": -99.1290502}, {"type": "node", "id": 7988640739, "lat": 19.4298606, "lon": -99.1251511}, {"type": "node", "id": 7992527885, "lat": 19.4407778, "lon": -99.1398136, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8011321003, "lat": 19.4367749, "lon": -99.1442727}, {"type": "node", "id": 8011321005, "lat": 19.4366633, "lon": -99.142867, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8011321006, "lat": 19.4365006, "lon": -99.1429089, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8078707596, "lat": 19.4269168, "lon": -99.1424784}, {"type": "node", "id": 8078707597, "lat": 19.4267214, "lon": -99.1425086}, {"type": "node", "id": 8078707598, "lat": 19.4266215, "lon": -99.1422618}, {"type": "node", "id": 8078707599, "lat": 19.4269029, "lon": -99.1418213}, {"type": "node", "id": 8078707601, "lat": 19.426808, "lon": -99.1415356}, {"type": "node", "id": 8078707602, "lat": 19.4267271, "lon": -99.1413693}, {"type": "node", "id": 8078707603, "lat": 19.4265614, "lon": -99.1416161}, {"type": "node", "id": 8078707604, "lat": 19.4266234, "lon": -99.1413734}, {"type": "node", "id": 8078757056, "lat": 19.4270746, "lon": -99.1444601, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8078757058, "lat": 19.4269476, "lon": -99.1444744, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8078757060, "lat": 19.427057, "lon": -99.1442812, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8078757062, "lat": 19.426931, "lon": -99.1443034, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8087675984, "lat": 19.434901, "lon": -99.125696}, {"type": "node", "id": 8098095349, "lat": 19.4252429, "lon": -99.1405847}, {"type": "node", "id": 8098095350, "lat": 19.4252347, "lon": -99.140621}, {"type": "node", "id": 8098095351, "lat": 19.4253327, "lon": -99.1416328}, {"type": "node", "id": 8098095352, "lat": 19.4253371, "lon": -99.1416}, {"type": "node", "id": 8212437820, "lat": 19.4262161, "lon": -99.1357823}, {"type": "node", "id": 8230211152, "lat": 19.4305426, "lon": -99.1207406}, {"type": "node", "id": 8230969934, "lat": 19.4282227, "lon": -99.1442927}, {"type": "node", "id": 8230969948, "lat": 19.4266052, "lon": -99.1410591}, {"type": "node", "id": 8251050482, "lat": 19.4357697, "lon": -99.1317144, "tags": {"barrier": "chain"}}, {"type": "node", "id": 8251316603, "lat": 19.4273003, "lon": -99.1351412, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8251316604, "lat": 19.4272918, "lon": -99.1350743}, {"type": "node", "id": 8251316605, "lat": 19.4274037, "lon": -99.1359566}, {"type": "node", "id": 8251334299, "lat": 19.4369749, "lon": -99.1407013}, {"type": "node", "id": 8251334301, "lat": 19.4383347, "lon": -99.1381311}, {"type": "node", "id": 8251334303, "lat": 19.437507, "lon": -99.1383481}, {"type": "node", "id": 8251381568, "lat": 19.4249362, "lon": -99.1290061}, {"type": "node", "id": 8251381577, "lat": 19.4239875, "lon": -99.129142}, {"type": "node", "id": 8251381580, "lat": 19.4252297, "lon": -99.136431}, {"type": "node", "id": 8251381586, "lat": 19.4245833, "lon": -99.1354845}, {"type": "node", "id": 8253675070, "lat": 19.4245491, "lon": -99.1308755}, {"type": "node", "id": 8253675079, "lat": 19.4285805, "lon": -99.1362485}, {"type": "node", "id": 8253675082, "lat": 19.4241614, "lon": -99.130933}, {"type": "node", "id": 8253675087, "lat": 19.4242669, "lon": -99.129102}, {"type": "node", "id": 8254371922, "lat": 19.4385832, "lon": -99.1397221}, {"type": "node", "id": 8254592583, "lat": 19.437844, "lon": -99.1406949}, {"type": "node", "id": 8254592585, "lat": 19.4388466, "lon": -99.1415326}, {"type": "node", "id": 8254826627, "lat": 19.4250783, "lon": -99.1307953}, {"type": "node", "id": 8254862829, "lat": 19.4262491, "lon": -99.136156}, {"type": "node", "id": 8256302766, "lat": 19.4246439, "lon": -99.1290456}, {"type": "node", "id": 8256792047, "lat": 19.4387713, "lon": -99.1354389}, {"type": "node", "id": 8256826596, "lat": 19.4377957, "lon": -99.134346}, {"type": "node", "id": 8256909544, "lat": 19.4395651, "lon": -99.1363178}, {"type": "node", "id": 8256909548, "lat": 19.4371619, "lon": -99.1361578}, {"type": "node", "id": 8269804084, "lat": 19.4374925, "lon": -99.1237876, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8269903071, "lat": 19.4364259, "lon": -99.124062}, {"type": "node", "id": 8345420113, "lat": 19.4271159, "lon": -99.1393147}, {"type": "node", "id": 8345420115, "lat": 19.4272467, "lon": -99.1397316}, {"type": "node", "id": 8348214215, "lat": 19.4247095, "lon": -99.1381688}, {"type": "node", "id": 8348214216, "lat": 19.4246861, "lon": -99.1381664}, {"type": "node", "id": 8348232924, "lat": 19.4264928, "lon": -99.1388831}, {"type": "node", "id": 8397994576, "lat": 19.4259774, "lon": -99.1340563}, {"type": "node", "id": 8398005927, "lat": 19.4262439, "lon": -99.1370141}, {"type": "node", "id": 8398190840, "lat": 19.4342593, "lon": -99.1409921, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8398275893, "lat": 19.4347297, "lon": -99.1407781, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8398275894, "lat": 19.4348717, "lon": -99.140758, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8398275895, "lat": 19.4347904, "lon": -99.1406038, "tags": {"crossing": "traffic_signals", "crossing:island": "no", "highway": "crossing", "traffic_signals:sound": "no"}}, {"type": "node", "id": 8398305978, "lat": 19.4369284, "lon": -99.1404367, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8508699938, "lat": 19.440855, "lon": -99.1353384}, {"type": "node", "id": 8508699939, "lat": 19.4409215, "lon": -99.1353544}, {"type": "node", "id": 8511534246, "lat": 19.4395927, "lon": -99.1356163}, {"type": "node", "id": 8511612229, "lat": 19.4332491, "lon": -99.1290307}, {"type": "node", "id": 8511612230, "lat": 19.43762, "lon": -99.1285209}, {"type": "node", "id": 8511612231, "lat": 19.4376814, "lon": -99.1285584}, {"type": "node", "id": 8511612232, "lat": 19.4376466, "lon": -99.1285484}, {"type": "node", "id": 8512308758, "lat": 19.4398749, "lon": -99.1416094}, {"type": "node", "id": 8512308759, "lat": 19.4399129, "lon": -99.1418266}, {"type": "node", "id": 8534314339, "lat": 19.4282439, "lon": -99.1444743}, {"type": "node", "id": 8534455314, "lat": 19.4253004, "lon": -99.1405378}, {"type": "node", "id": 8551505656, "lat": 19.4298474, "lon": -99.1250744}, {"type": "node", "id": 8586141363, "lat": 19.427401, "lon": -99.1350564}, {"type": "node", "id": 8621575166, "lat": 19.4318395, "lon": -99.1456062}, {"type": "node", "id": 8666667855, "lat": 19.4311724, "lon": -99.1477029}, {"type": "node", "id": 8676945992, "lat": 19.433287, "lon": -99.1288037}, {"type": "node", "id": 8676945993, "lat": 19.4332569, "lon": -99.1289506}, {"type": "node", "id": 8718850337, "lat": 19.4386151, "lon": -99.1399407}, {"type": "node", "id": 8718850338, "lat": 19.438283, "lon": -99.1402268}, {"type": "node", "id": 8744081202, "lat": 19.4258328, "lon": -99.1324979}, {"type": "node", "id": 8744081209, "lat": 19.4258816, "lon": -99.1330015}, {"type": "node", "id": 8744170927, "lat": 19.4341361, "lon": -99.140869, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8796680910, "lat": 19.4376831, "lon": -99.1334849, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8796680911, "lat": 19.4376274, "lon": -99.1335453, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8796680915, "lat": 19.4377513, "lon": -99.1335279, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8796699317, "lat": 19.437704, "lon": -99.1336383, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8836458410, "lat": 19.436035, "lon": -99.1276437}, {"type": "node", "id": 8836458412, "lat": 19.4354683, "lon": -99.1275305}, {"type": "node", "id": 8836458414, "lat": 19.4351863, "lon": -99.1277671}, {"type": "node", "id": 8836474717, "lat": 19.4352089, "lon": -99.1279311}, {"type": "node", "id": 8836474718, "lat": 19.4360586, "lon": -99.1278227}, {"type": "node", "id": 9044157573, "lat": 19.4366336, "lon": -99.1427152}, {"type": "node", "id": 9344963206, "lat": 19.4261664, "lon": -99.1296827}, {"type": "node", "id": 9344974620, "lat": 19.4257886, "lon": -99.1307518}, {"type": "node", "id": 9389596736, "lat": 19.4407801, "lon": -99.1398638, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 9392695024, "lat": 19.4255385, "lon": -99.133091}, {"type": "node", "id": 10029746677, "lat": 19.4397813, "lon": -99.1399948, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10029746680, "lat": 19.4396694, "lon": -99.1398736, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10029746683, "lat": 19.4396454, "lon": -99.1400167, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10029746686, "lat": 19.4397805, "lon": -99.1401458, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10029799439, "lat": 19.4397771, "lon": -99.1433446, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10029799440, "lat": 19.4397625, "lon": -99.1432269, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10029799446, "lat": 19.440171, "lon": -99.1424608, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10155769346, "lat": 19.4274446, "lon": -99.1416555}, {"type": "node", "id": 10580028852, "lat": 19.426569, "lon": -99.1420345}, {"type": "node", "id": 10580028853, "lat": 19.4269243, "lon": -99.1419451}, {"type": "node", "id": 10582818893, "lat": 19.4261515, "lon": -99.1421815}, {"type": "node", "id": 10582818895, "lat": 19.4286351, "lon": -99.1417005}, {"type": "node", "id": 10582818897, "lat": 19.4298836, "lon": -99.1415258}, {"type": "node", "id": 10582818898, "lat": 19.4307707, "lon": -99.1413926}, {"type": "node", "id": 10582818900, "lat": 19.4316028, "lon": -99.141263}, {"type": "node", "id": 10582818901, "lat": 19.4324448, "lon": -99.1411358}, {"type": "node", "id": 10582818902, "lat": 19.4336832, "lon": -99.140942}, {"type": "node", "id": 10582818904, "lat": 19.4356452, "lon": -99.1406454}, {"type": "node", "id": 10582826920, "lat": 19.4373753, "lon": -99.1403637}, {"type": "node", "id": 10583196708, "lat": 19.4403376, "lon": -99.1399052}, {"type": "node", "id": 10583196712, "lat": 19.4413995, "lon": -99.1398022}, {"type": "node", "id": 10591136826, "lat": 19.4409401, "lon": -99.1398614}, {"type": "node", "id": 10591136829, "lat": 19.4265892, "lon": -99.1421518}, {"type": "node", "id": 10702916848, "lat": 19.4312132, "lon": -99.1479957, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 10705501520, "lat": 19.4404134, "lon": -99.1398938}, {"type": "node", "id": 10757798860, "lat": 19.4264955, "lon": -99.142099, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10757798863, "lat": 19.4268103, "lon": -99.1420249, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10757798865, "lat": 19.42905, "lon": -99.1417683, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10757798866, "lat": 19.4290253, "lon": -99.1415738, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10757798867, "lat": 19.4290835, "lon": -99.1416356, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10757798868, "lat": 19.4289774, "lon": -99.1416523, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10822626855, "lat": 19.4271603, "lon": -99.1307636}, {"type": "node", "id": 10822915435, "lat": 19.4291446, "lon": -99.1330137}, {"type": "node", "id": 10825203830, "lat": 19.4254824, "lon": -99.1314311}, {"type": "node", "id": 10825203843, "lat": 19.4248268, "lon": -99.1315465}, {"type": "node", "id": 10825203870, "lat": 19.424654, "lon": -99.1315801}, {"type": "node", "id": 10825203871, "lat": 19.4245668, "lon": -99.1315975}, {"type": "node", "id": 10827752447, "lat": 19.426576, "lon": -99.1332604}, {"type": "node", "id": 10827752450, "lat": 19.4265743, "lon": -99.133247}, {"type": "node", "id": 10917208549, "lat": 19.4293275, "lon": -99.1325583}, {"type": "node", "id": 10917208550, "lat": 19.4291025, "lon": -99.1325901}, {"type": "node", "id": 11014701504, "lat": 19.432474, "lon": -99.1342146}, {"type": "node", "id": 11016336309, "lat": 19.4320882, "lon": -99.1342661}, {"type": "node", "id": 11016336329, "lat": 19.4318148, "lon": -99.1334684, "tags": {"crossing": "uncontrolled", "crossing:markings": "zebra", "highway": "crossing"}}, {"type": "node", "id": 11016336345, "lat": 19.4319695, "lon": -99.1343535, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016336354, "lat": 19.4340245, "lon": -99.1340165, "tags": {"crossing": "marked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 11016336358, "lat": 19.4339769, "lon": -99.1341086, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 11016336367, "lat": 19.4316258, "lon": -99.1323407, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 11016336376, "lat": 19.431502, "lon": -99.1310904, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 11016383789, "lat": 19.4312286, "lon": -99.1281083, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11016383790, "lat": 19.4313637, "lon": -99.1291309, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11016383791, "lat": 19.4314982, "lon": -99.1301495, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11016383796, "lat": 19.430859, "lon": -99.1249482, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 11016383801, "lat": 19.4311383, "lon": -99.1281179, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11016383803, "lat": 19.4313949, "lon": -99.1301639, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11016421012, "lat": 19.4310487, "lon": -99.1270117, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 11016421021, "lat": 19.4300741, "lon": -99.1273453, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016421024, "lat": 19.4300877, "lon": -99.1274388, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016421025, "lat": 19.4302469, "lon": -99.1282475, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016421026, "lat": 19.4302, "lon": -99.128208, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016421027, "lat": 19.4301464, "lon": -99.128262, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016421028, "lat": 19.4302152, "lon": -99.1283156, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016659714, "lat": 19.425059, "lon": -99.1342954, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016659715, "lat": 19.4250065, "lon": -99.1344293, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016659716, "lat": 19.4251424, "lon": -99.1344101, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016659717, "lat": 19.4250764, "lon": -99.1345025, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11016659772, "lat": 19.4247079, "lon": -99.1343524, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11059551523, "lat": 19.4368491, "lon": -99.1404505, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 11087510076, "lat": 19.4372068, "lon": -99.1438439}, {"type": "node", "id": 11087510085, "lat": 19.4378756, "lon": -99.1431175}, {"type": "node", "id": 11087510088, "lat": 19.4379589, "lon": -99.1436591}, {"type": "node", "id": 11090507893, "lat": 19.4265526, "lon": -99.1418964, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11098418038, "lat": 19.4297738, "lon": -99.1248099}, {"type": "node", "id": 11120953844, "lat": 19.4339826, "lon": -99.1341535, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11120953845, "lat": 19.4340577, "lon": -99.1340169}, {"type": "node", "id": 11123979423, "lat": 19.4338409, "lon": -99.1340323}, {"type": "node", "id": 11136648409, "lat": 19.433549, "lon": -99.1340712}, {"type": "node", "id": 11154789078, "lat": 19.4352292, "lon": -99.1472431}, {"type": "node", "id": 11158020963, "lat": 19.4352232, "lon": -99.1471832}, {"type": "node", "id": 11223728168, "lat": 19.4320311, "lon": -99.1349856}, {"type": "node", "id": 11236805558, "lat": 19.4345204, "lon": -99.1426776, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11277904950, "lat": 19.4318828, "lon": -99.1343794, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11503779531, "lat": 19.425928, "lon": -99.1325139}, {"type": "node", "id": 11503779532, "lat": 19.4260765, "lon": -99.1330204, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11503779533, "lat": 19.426119, "lon": -99.133015, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11503779534, "lat": 19.4259645, "lon": -99.1329143, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11503779535, "lat": 19.4259603, "lon": -99.1328679, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11503781589, "lat": 19.426552, "lon": -99.141692}, {"type": "node", "id": 11503781590, "lat": 19.4265504, "lon": -99.1418523, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11503781591, "lat": 19.4264575, "lon": -99.1421081, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11503781592, "lat": 19.4264144, "lon": -99.1421184, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11514507769, "lat": 19.4310902, "lon": -99.1323473}, {"type": "node", "id": 11514507770, "lat": 19.4308919, "lon": -99.1323524, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11514507771, "lat": 19.4309329, "lon": -99.1323514, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11514839332, "lat": 19.4359363, "lon": -99.140603, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11514839333, "lat": 19.4359775, "lon": -99.140597, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11635656032, "lat": 19.4292506, "lon": -99.1325692}, {"type": "node", "id": 11745128468, "lat": 19.4270661, "lon": -99.1443739}, {"type": "node", "id": 11901967248, "lat": 19.43322, "lon": -99.1325426}, {"type": "node", "id": 11901967250, "lat": 19.4336014, "lon": -99.1318833}, {"type": "node", "id": 11901967251, "lat": 19.4316804, "lon": -99.1321095}, {"type": "node", "id": 11901967253, "lat": 19.433527, "lon": -99.1337633}, {"type": "node", "id": 11901967259, "lat": 19.4332308, "lon": -99.1341137}, {"type": "node", "id": 11901967260, "lat": 19.4331969, "lon": -99.1323653}, {"type": "node", "id": 11901967261, "lat": 19.4331155, "lon": -99.132306}, {"type": "node", "id": 11901967262, "lat": 19.4319472, "lon": -99.1324664}, {"type": "node", "id": 11901967263, "lat": 19.4331831, "lon": -99.1323295}, {"type": "node", "id": 11901967264, "lat": 19.4331495, "lon": -99.132306}, {"type": "node", "id": 11901967265, "lat": 19.4316843, "lon": -99.1323492}, {"type": "node", "id": 11901967267, "lat": 19.4318838, "lon": -99.1334592}, {"type": "node", "id": 11901967268, "lat": 19.4318396, "lon": -99.1334651}, {"type": "node", "id": 11901978469, "lat": 19.4339549, "lon": -99.1340171}, {"type": "node", "id": 11901978470, "lat": 19.4339541, "lon": -99.1340118}, {"type": "node", "id": 12009804911, "lat": 19.435958, "lon": -99.1405998}, {"type": "node", "id": 12009804914, "lat": 19.4360793, "lon": -99.1405068, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12009804915, "lat": 19.4360123, "lon": -99.1405919, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12009917522, "lat": 19.4372437, "lon": -99.1463277, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12010556025, "lat": 19.4388849, "lon": -99.133887}, {"type": "node", "id": 12056110927, "lat": 19.4301784, "lon": -99.1482012, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12145314159, "lat": 19.4307722, "lon": -99.1322854, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12145314160, "lat": 19.4307127, "lon": -99.1323646, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12145314161, "lat": 19.4307895, "lon": -99.1324258, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12145314162, "lat": 19.430853, "lon": -99.1323535, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12145314163, "lat": 19.4307839, "lon": -99.1323561, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 12160547854, "lat": 19.4319022, "lon": -99.1325103}, {"type": "node", "id": 12160547855, "lat": 19.4319265, "lon": -99.1324732}, {"type": "node", "id": 12160547856, "lat": 19.4319015, "lon": -99.132521}, {"type": "node", "id": 12160547857, "lat": 19.4319056, "lon": -99.132498}, {"type": "node", "id": 12160547858, "lat": 19.4319185, "lon": -99.1324793}, {"type": "node", "id": 12160547859, "lat": 19.4319365, "lon": -99.1324686}, {"type": "node", "id": 12160547860, "lat": 19.4331924, "lon": -99.1323464}, {"type": "node", "id": 12160547861, "lat": 19.4331681, "lon": -99.1323149}, {"type": "node", "id": 12160547862, "lat": 19.4331325, "lon": -99.1323036}, {"type": "node", "id": 12160547863, "lat": 19.4332764, "lon": -99.1339156}, {"type": "node", "id": 12160547864, "lat": 19.4333194, "lon": -99.1338806}, {"type": "node", "id": 12160547865, "lat": 19.4333515, "lon": -99.1338343}, {"type": "node", "id": 12160547866, "lat": 19.4333701, "lon": -99.1337803}, {"type": "node", "id": 12160547867, "lat": 19.4322158, "lon": -99.1340661}, {"type": "node", "id": 12160547868, "lat": 19.4321688, "lon": -99.1340429}, {"type": "node", "id": 12160547869, "lat": 19.4321304, "lon": -99.1340062}, {"type": "node", "id": 12160547870, "lat": 19.4321038, "lon": -99.133959}, {"type": "node", "id": 12160547871, "lat": 19.4337223, "lon": -99.1339436}, {"type": "node", "id": 12234320524, "lat": 19.4344099, "lon": -99.1419714}, {"type": "node", "id": 12320698668, "lat": 19.4291398, "lon": -99.136911}, {"type": "node", "id": 12320698674, "lat": 19.4292417, "lon": -99.1368952}, {"type": "node", "id": 12383374253, "lat": 19.429847, "lon": -99.128305}, {"type": "node", "id": 12414393746, "lat": 19.4344017, "lon": -99.14192}, {"type": "node", "id": 12581770680, "lat": 19.4314744, "lon": -99.1373306}, {"type": "node", "id": 12581770681, "lat": 19.4306355, "lon": -99.137469}, {"type": "node", "id": 12657130319, "lat": 19.4269076, "lon": -99.1418485, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12657130320, "lat": 19.4269858, "lon": -99.1419861, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12657130321, "lat": 19.4269414, "lon": -99.1421143, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12825498732, "lat": 19.4302673, "lon": -99.1414723}, {"type": "way", "id": 4780792, "nodes": [12145314163, 12145314159, 270209445, 270209444, 270209447, 269994178, 3383901542, 269997729, 11016421028, 269994167], "tags": {"cycleway:both": "lane", "cycleway:left:oneway": "-1", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Venustiano Carranza", "oneway": "yes", "oneway:bicycle": "no", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 4818252, "nodes": [30956872, 269989266, 30956873], "tags": {"highway": "residential", "name": "Callej\u00f3n del 57", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 4818253, "nodes": [30956901, 269989269, 269988898, 269987048, 6148129477, 3772750963], "tags": {"highway": "residential", "name": "Calle Palma Norte", "oneway": "yes", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 4818259, "nodes": [30956999, 270114896, 270114943, 8254592585, 270114933, 270114909, 270114945, 270114806, 30956996], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Mina", "oneway": "yes", "sidewalk": "both", "source": "photograph of business with address", "surface": "concrete"}}, {"type": "way", "id": 20457383, "nodes": [4312168553, 269994000, 11901967265, 11016336367, 11514507769, 11514507771, 11514507770, 12145314162, 12145314163], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "living_street", "lanes": "3", "lit": "yes", "motor_vehicle": "private", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Avenida debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "parking:both": "no", "sidewalk:left": "yes", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 24703741, "nodes": [268509739, 10591136829, 8078707598, 1446103277, 8078707597, 268509737, 268509736, 8078757062, 268822693, 8078757058, 2461446827, 268509735], "tags": {"alt_name": "Eje 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Arcos de Bel\u00e9n", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "surface": "asphalt"}}, {"type": "way", "id": 24703903, "nodes": [268511171, 269830124, 269826675, 269830435, 7964878356, 269826155, 269833646, 269834077, 269832530], "tags": {"highway": "residential", "name": "Calle L\u00f3pez", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24713393, "nodes": [30341007, 7196556412, 12657130321, 4805302039, 1446103278, 8078707596, 268510355, 268510356], "tags": {"alt_name": "Eje 1A Sur", "cycleway:left": "no", "cycleway:right": "share_busway", "destination": "Zona Rosa;Plaza de la Ciudadela", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Arcos de Bel\u00e9n", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24713863, "nodes": [268620192, 268620193, 8508699938, 8508699939, 269995703, 269995395, 270208045, 268620195], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Comonfort", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24713969, "nodes": [268620937, 269988897, 269989268, 269989629, 8256792047, 270115041, 268620192], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Rep\u00fablica de Chile", "oneway": "yes", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 24714067, "nodes": [3772750963, 3993793514, 30594530, 268622218, 30956904], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Palma", "oneway": "yes", "parking:both": "no", "sidewalk": "both"}}, {"type": "way", "id": 24715388, "nodes": [269956908, 268633522], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "none|none"}}, {"type": "way", "id": 24715603, "nodes": [268621340, 268621359, 268615862, 30594548, 30341013], "tags": {"bicycle": "yes", "foot": "yes", "highway": "living_street", "lanes": "1", "lit": "yes", "motor_vehicle": "permissive", "name": "16 de Septiembre", "note": "Desde 2014 es semipeatonal.", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24715664, "nodes": [268636314, 269989270, 8796680911, 269989630, 8796680915, 269990664, 269990542, 269989981, 2265931054], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Rep\u00fablica de Brasil", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24715665, "nodes": [4312134571, 11901978469, 11123979423, 4576971707, 11136648409, 11901967259, 5065075410], "tags": {"emergency": "yes", "highway": "living_street", "lanes": "2", "lit": "yes", "motor_vehicle": "private", "name": "Calle Monte de Piedad", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24836282, "nodes": [30341011, 269830435, 269831981, 269832329, 269834095, 269834116, 269834113, 1983085873, 8621575166, 269831117, 5119625323, 5119624017, 5161674755, 269820951], "tags": {"highway": "residential", "name": "Calle Victoria", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24836302, "nodes": [269831981, 7964878355, 269831982, 269833430, 269832795, 269833704, 269832529, 269831728], "tags": {"highway": "residential", "name": "Calle Aranda", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24836316, "nodes": [3751088558, 269832528, 269832331], "tags": {"highway": "residential", "name": "Calle Buen Tono", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24836323, "nodes": [30594728, 12056110927, 269833246, 3772750753, 269832794, 6148209281, 3751088557, 3751088558, 269832795], "tags": {"highway": "residential", "lit": "yes", "name": "Cerrada Ernesto Pugibet", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836333, "nodes": [269833646, 269833647], "tags": {"highway": "residential", "name": "Calle Puente de Peredo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24836487, "nodes": [269988229, 6148129476, 6148129474, 1983085865, 5288054867, 269834074, 270209468, 8253675079, 269834075, 269834087], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Mesones", "oneway": "yes", "parking:left": "no", "parking:right": "on_kerb", "parking:right:orientation": "parallel", "surface": "asphalt"}}, {"type": "way", "id": 24836603, "nodes": [269834087, 269957263, 10757798866, 30341009], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lit": "yes", "name": "Vizca\u00ednas", "oneway": "yes", "sidewalk": "both", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 24836611, "nodes": [269834091, 269834092], "tags": {"highway": "residential", "name": "Callej\u00f3n Tarasquillo"}}, {"type": "way", "id": 24846907, "nodes": [269956905, 270104474, 269956906, 270103555, 269998806, 269997920, 269997636, 269997730, 269988227, 270209464, 270209446, 269956907, 269956908, 269956909, 269956910, 12581770681, 269956911, 30341011], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Rep\u00fablica de Uruguay", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24846945, "nodes": [10155769346, 269957205], "tags": {"alt_name": "Calle de las Vizca\u00ednas", "highway": "residential", "name": "Calle de las Vizca\u00ednas"}}, {"type": "way", "id": 24846970, "nodes": [269965092, 269957192], "tags": {"highway": "residential", "name": "Calle San Jer\u00f3nimo", "oneway": "yes"}}, {"type": "way", "id": 24847004, "nodes": [268615863, 269957299, 269957298], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Nezahualc\u00f3yotl", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847028, "nodes": [269987047, 3772750969, 3714135693, 268615862], "tags": {"alt_name": "Calle de Bolivar", "highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Sim\u00f3n Bol\u00edvar", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 24847033, "nodes": [269957300, 6136068070, 269958111, 269958017, 268615863], "tags": {"highway": "residential", "name": "Calle Nezahualc\u00f3yotl", "oneway": "yes"}}, {"type": "way", "id": 24847091, "nodes": [269957299, 269957805], "tags": {"highway": "residential", "name": "Callej\u00f3n Igualidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847109, "nodes": [269958002, 269957952], "tags": {"alt_name": "Cerrada Titzap\u00e1n;Cerrada Tizap\u00e1n", "highway": "residential", "name": "Calle Tizap\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847120, "nodes": [269958102, 269958017], "tags": {"highway": "residential", "name": "Callej\u00f3n Nezahualc\u00f3yotl", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847126, "nodes": [269958111, 269958183], "tags": {"highway": "residential", "name": "Segundo Callej\u00f3n Nezahualc\u00f3yotl", "surface": "asphalt"}}, {"type": "way", "id": 24847134, "nodes": [269958260, 269958263], "tags": {"highway": "residential", "name": "Privada San Salvador El Seco"}}, {"type": "way", "id": 24847206, "nodes": [269957302, 11016659714, 6136068075, 3772750734], "tags": {"highway": "residential", "name": "Calle Nezahualc\u00f3yotl", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847220, "nodes": [269959010, 6215294929, 11016659772, 6136068079, 269959205], "tags": {"highway": "residential", "name": "Callej\u00f3n Flamencos", "surface": "asphalt"}}, {"type": "way", "id": 24847758, "nodes": [269964732, 270103679, 5891410078, 269964733, 270103552, 269964734], "tags": {"highway": "residential", "name": "Calle Misioneros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24847791, "nodes": [269965029, 269965092, 269965031], "tags": {"highway": "residential", "name": "Calle Jim\u00e9nez", "oneway": "yes"}}, {"type": "way", "id": 24847834, "nodes": [269965177, 269965352], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Meave", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24849974, "nodes": [269987044, 269987048, 268620937, 270209315, 269987047, 269987046, 270209015], "tags": {"highway": "tertiary", "lanes": "2", "maxspeed": "30", "name": "Calle Tacuba", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 24850107, "nodes": [269988894, 269997916, 269996694, 8087675984, 269998417, 269988895], "tags": {"highway": "residential", "name": "Calle Mixcalco", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24850149, "nodes": [8398305978, 270209145, 30956872, 31168286, 269988896, 269988897, 269988898, 268636314, 4476087981, 269990904], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Donceles", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "paving_stones", "smoothness": "good", "surface": "paving_stones"}}, {"type": "way", "id": 24850171, "nodes": [268635601, 269998029, 269996693, 269997917, 269997631], "tags": {"highway": "residential", "name": "Calle San Antonio Tomatl\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850172, "nodes": [269989270, 269989269, 269989268, 8256909548, 269989267, 8251334303, 269989266, 30341019], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de Cuba", "oneway": "yes", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24850200, "nodes": [8269903071, 269998028, 269996692, 269997918, 269989628], "tags": {"highway": "residential", "name": "Calle General Miguel Alem\u00e1n", "oneway": "no", "psv": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850201, "nodes": [268615860, 8251334301, 30956873, 270115023, 8254371922, 8718850337], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Belisario Dom\u00ednguez", "oneway": "no", "psv": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24850203, "nodes": [269989628, 269989631, 269991031, 8796680910, 269989630], "tags": {"highway": "residential", "name": "Calle Rep\u00fablica de Venezuela", "oneway": "no", "psv": "yes"}}, {"type": "way", "id": 24850247, "nodes": [269989981, 269989983, 269988225], "tags": {"highway": "residential", "name": "Calle del Apartado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850270, "nodes": [269990659, 269997271, 269990660, 269991029, 269990542], "tags": {"highway": "residential", "name": "Calle Rep\u00fablica de Bolivia", "oneway": "yes"}}, {"type": "way", "id": 24850282, "nodes": [269990664, 269991030, 269990823, 269997270, 269997632, 269990824, 269996691, 269997945, 8269804084], "tags": {"highway": "residential", "name": "Calle Rep\u00fablica de Colombia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850566, "nodes": [269994072, 3383901549, 269997736, 269997637, 269997912], "tags": {"highway": "residential", "name": "Calle Corregidora", "oneway": "yes"}}, {"type": "way", "id": 24850837, "nodes": [269997268, 269997269, 8511612230, 8511612232, 8511612231, 2269126095], "tags": {"highway": "residential", "name": "Callej\u00f3n de Gir\u00f3n", "oneway": "yes"}}, {"type": "way", "id": 24850888, "nodes": [269964053, 269997634, 269834086, 269997635, 269997636, 12383374253, 11016421027, 269994167, 11016421025, 11016383801, 269997637, 11016383789, 269997638, 269997639, 269997640, 269988894], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Jes\u00fas Mar\u00eda", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850896, "nodes": [269997729, 269997730, 269997731, 269834072, 269964740, 269997703, 7966732147], "tags": {"highway": "residential", "lanes": "1", "name": "Calle las Cruces", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24850897, "nodes": [269997733, 269997734, 269997735, 11016383790, 269997736], "tags": {"highway": "residential", "name": "Calle Academia"}}, {"type": "way", "id": 24858131, "nodes": [269986908, 6146444854, 3758772700, 1382828461, 1382838437, 8011321006, 3758772698, 6426919642, 8011321003, 1382838441, 12009917522, 1382788736], "tags": {"bicycle": "yes", "foot": "yes", "highway": "secondary", "lanes": "3", "lit": "yes", "maxspeed": "50", "name": "Avenida Hidalgo", "oneway": "yes", "parking:both": "no", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 24859094, "nodes": [4751418018, 10029799439, 30956996, 270114843, 270114816, 270114803], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle Valerio Trujano", "oneway": "yes", "sidewalk": "right", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 24859095, "nodes": [6426919645, 11087510076, 270114817, 11087510088, 270114841, 270114806, 10029799440, 4751418017], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle Valerio Trujano", "oneway": "yes", "sidewalk": "right", "surface": "asphalt", "trolley_wire": "no"}}, {"type": "way", "id": 24859096, "nodes": [2266648113, 10029799446, 270114812, 8512308759, 8512308758, 4751434040, 10029746686, 30341021], "tags": {"alt_name": "Obispo", "cycleway:left": "no", "cycleway:right": "track", "highway": "residential", "lanes": "2", "name": "Calle Violeta", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24859099, "nodes": [270114843, 270114841, 270114946, 270114954, 270114934, 270114944, 8254592583, 30341019], "tags": {"highway": "residential", "name": "Calle Pensador Mexicano", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24859106, "nodes": [270114812, 5119239062, 270114909], "tags": {"highway": "residential", "name": "Calle Galeana", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24859110, "nodes": [270114933, 270114934, 270114935], "tags": {"highway": "residential", "name": "Calle 2 de Abril", "surface": "concrete"}}, {"type": "way", "id": 24859122, "nodes": [270114954, 11087510085, 270114955], "tags": {"highway": "residential", "name": "Calle Segundo Callej\u00f3n San Juan de Dios", "surface": "concrete"}}, {"type": "way", "id": 24866609, "nodes": [270208354, 12010556025], "tags": {"highway": "residential", "name": "Calle Leandro Valle"}}, {"type": "way", "id": 24866611, "nodes": [270208532, 270208533], "tags": {"highway": "residential", "name": "Calle Incas", "oneway": "yes"}}, {"type": "way", "id": 24866622, "nodes": [270208621, 270208669], "tags": {"highway": "residential", "name": "Calle Altuna", "oneway": "yes"}}, {"type": "way", "id": 24866661, "nodes": [270209443, 11016336376, 270209444], "tags": {"highway": "residential", "name": "Calle Erasmo Castellanos"}}, {"type": "way", "id": 24866685, "nodes": [270209468, 270209474], "tags": {"highway": "residential", "name": "Primer Callej\u00f3n Mesones"}}, {"type": "way", "id": 24936474, "nodes": [269988105, 269963902, 9344974620, 270980974, 8254826627, 8253675070, 270982285, 8253675082, 270980975, 270980948], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Escuela M\u00e9dico Militar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24936503, "nodes": [270981180, 5008602393, 270982064, 270983037, 10825203871, 10825203870, 10825203843, 6136068081, 10825203830, 269963900], "tags": {"highway": "residential", "lanes": "1", "name": "Calle San Miguel", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 123885361, "nodes": [269964738, 269964739, 269988230, 269964740, 269997634, 5891410077, 269964732], "tags": {"highway": "residential", "name": "Calle Regina", "oneway": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 144114924, "nodes": [269989354, 269989270], "tags": {"highway": "residential", "name": "Calle Luis Gonz\u00e1lez Obreg\u00f3n", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 158032457, "nodes": [269988226, 269997733, 269997640, 269997915, 269996695, 269998468, 269987714], "tags": {"highway": "residential", "name": "Calle Rep\u00fablica de Guatemala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 176444016, "nodes": [5546724815, 269995398, 269995704, 269995954, 269995188, 269989983, 269991029, 269991030, 269991031, 269989354], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de Argentina", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 187679421, "nodes": [2180585469, 8398275895, 2265959610, 2812606360, 4045324791, 3772750970, 3772750969, 3772750965, 3772750964], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Avenida 5 de Mayo", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 217581829, "nodes": [269957132, 10827752450, 10827752447, 269957117, 269957116], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle San Jer\u00f3nimo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 220844298, "nodes": [269834095, 7964878353, 269834112], "tags": {"highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Marroqu\u00ed", "oneway": "yes"}}, {"type": "way", "id": 352403336, "nodes": [30341007, 12657130320, 7228680370, 269957104, 4480705451, 269832531, 10582818895], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 354652706, "nodes": [268633522, 11016336329, 11901967268, 11901967267, 2113341940], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "living_street", "lanes": "2", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "motor_vehicle": "private", "name": "Calle 20 de Noviembre", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "parking:left": "separate", "parking:right": "no", "sidewalk:both": "separate", "surface": "asphalt", "turn:lanes": "slight_right|right"}}, {"type": "way", "id": 361358029, "nodes": [6133345213, 269834088], "tags": {"highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Marroqu\u00ed", "oneway": "yes"}}, {"type": "way", "id": 361358030, "nodes": [30341013, 269830124, 269832327, 6399140435, 6133345213, 5557261733, 5557261732, 269831439], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "highway": "residential", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Independencia", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 387049360, "nodes": [268615858, 269957805, 8230969948, 268509741, 8078707604], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 421567701, "nodes": [269986908, 6146461670, 7966610560], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 425206429, "nodes": [269997639, 8676945992, 269997734], "tags": {"highway": "residential", "name": "Calle Emiliano Zapata", "oneway": "yes"}}, {"type": "way", "id": 425206430, "nodes": [269987745, 6111905350, 4596641188, 11901967250, 2286069615], "tags": {"highway": "living_street", "name": "Calle Moneda", "oneway": "yes", "sidewalk": "both"}}, {"type": "way", "id": 432043003, "nodes": [4312134571, 11016336354, 11120953845, 5065079149, 269987044], "tags": {"highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Monte de Piedad", "old_name": "Calle del Empedradillo", "oneway": "yes", "sidewalk": "both", "surface": "sett"}}, {"type": "way", "id": 432043007, "nodes": [4312134548, 11901967253, 2267303389, 2267303334, 12160547871, 11901978470, 4312134571], "tags": {"emergency": "yes", "highway": "living_street", "lanes": "4", "lit": "no", "maxspeed": "30", "motor_vehicle": "private", "name": "Calle Plaza de la Constituci\u00f3n", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 437627508, "nodes": [4312134532, 11014701504, 11016336309, 11016336345, 30594539], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "emergency": "yes", "highway": "living_street", "lanes": "2", "lit": "yes", "maxspeed": "30", "motor_vehicle": "private", "name": "Calle 5 de Febrero", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 438721545, "nodes": [268639104, 269956909, 269957017, 269834074, 269964737, 8586141363, 8251316604, 269957116, 268639105], "tags": {"bicycle": "yes", "cycleway:both": "no", "highway": "residential", "lanes": "1", "lit": "yes", "name": "Calle 5 de Febrero", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 451242915, "nodes": [269957262, 269965352, 269957263, 269964306, 269957192], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Aldaco", "oneway": "yes", "sidewalk": "both"}}, {"type": "way", "id": 451242917, "nodes": [269957205, 8345420115, 269965031, 269957114, 269957115], "tags": {"highway": "residential", "lanes": "1", "name": "Calle San Jer\u00f3nimo", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 457847968, "nodes": [269987044, 268636314], "tags": {"highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Monte de Piedad", "oneway": "yes", "sidewalk": "both", "surface": "sett"}}, {"type": "way", "id": 482298953, "nodes": [4751434040, 270114896], "tags": {"highway": "residential", "name": "Calle Riva Palacio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 488191799, "nodes": [269994753, 7992527885, 4805301892, 4805301893, 269991546, 7966610558, 4805301895, 4805301900, 269992255, 4751405104], "tags": {"cycleway:left": "no", "cycleway:right": "track", "destination:ref": "EJE 1 NTE", "destination:street": "Paseo de la Reforma;Ray\u00f3n", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516714775, "nodes": [269990904, 269988899, 8836474717, 8836458414, 269988894], "tags": {"highway": "residential", "name": "Calle Justo Sierra", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 518424334, "nodes": [11236805558, 269832327], "tags": {"highway": "living_street", "maxspeed": "10", "maxspeed:type": "sign", "name": "Calle Dolores", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 518424556, "nodes": [269832328, 269832329, 7964878354, 269832330], "tags": {"highway": "residential", "name": "Calle Dolores", "oneway": "yes"}}, {"type": "way", "id": 616812019, "nodes": [269826154, 10702916848, 8666667855, 269831116, 269831442, 269834112, 5841903483, 269832330, 269831982, 269826155, 12825498732], "tags": {"highway": "residential", "name": "Calle Ayuntamiento", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 616813097, "nodes": [269831118, 269831440, 269834091, 269834088, 269832328, 269826675, 30341012], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Art\u00edculo 123", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616921713, "nodes": [3772750976, 5832103143, 11154789078, 11158020963, 4751408729, 2267465353, 2434287912, 5240475471, 3658441638, 269831192, 5240475470, 2434287914, 5240475464, 5240475465, 5240475466, 269834089, 5240475467, 11236805558, 269832168, 5240475468, 5240475469, 1382828419, 12234320524, 12414393746, 268511171, 8398190840, 2434287917], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Avenida Ju\u00e1rez", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete", "wikidata": "Q11959770", "wikipedia": "es:Avenida Ju\u00e1rez (Centro Hist\u00f3rico de la Ciudad de M\u00e9xico)"}}, {"type": "way", "id": 616927356, "nodes": [270114803, 5288025662, 1382834991], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "20", "maxspeed:type": "sign", "name": "Avenida Hidalgo", "oneway": "yes", "sidewalk": "right", "surface": "concrete", "trolley_wire": "yes"}}, {"type": "way", "id": 616927359, "nodes": [269986908, 1382838442, 3758772701, 3946494464, 6426919643, 9044157573, 8011321005, 6426919644, 6426919645, 270114803], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "1", "maxspeed": "20", "maxspeed:type": "sign", "name": "Avenida Hidalgo", "oneway": "yes", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 616927361, "nodes": [270209015, 12009804914, 269986908], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Tacuba", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 617638515, "nodes": [268615859, 269989724, 270115036, 268615860, 269989267, 269988896], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Allende", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617719001, "nodes": [30341009, 10757798865, 269834077, 269833704], "tags": {"highway": "residential", "name": "Vizca\u00ednas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617831539, "nodes": [269987745, 269994297, 11016383791, 269994072, 11016383803, 269994178, 269988227, 269988228, 269988229], "tags": {"highway": "residential", "lanes": "2", "name": "Correo Mayor", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 617887678, "nodes": [268633491, 268639105, 8212437820, 8254862829, 268622486, 8348232924], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 617887687, "nodes": [2434311932, 269957300, 7966845865, 268622485], "tags": {"highway": "tertiary", "lanes": "3", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "parking:both": "no", "surface": "asphalt"}}, {"type": "way", "id": 618028619, "nodes": [269832466, 269832527, 8534314339, 8230969934, 269832528, 269832529, 269832530, 269832531], "tags": {"highway": "residential", "name": "Calle Delicias", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 618028624, "nodes": [2180585469, 8398275894, 10582818904], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Donceles", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "smoothness": "excellent", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 618043848, "nodes": [30341021, 10029746680, 270115020, 270115007, 269989724, 270208533, 8256909544, 8511534246, 268620192, 270208669, 270208354, 269989981], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "no", "highway": "residential", "lanes": "1", "lit": "yes", "name": "Calle Rep\u00fablica de Per\u00fa", "oneway": "yes", "oneway:bicycle": "no", "surface": "concrete"}}, {"type": "way", "id": 618043852, "nodes": [268622486, 7966845866, 269957115, 269964736, 269834075, 12320698668, 12320698674, 269957016, 269956910, 30594812, 7982089638], "tags": {"highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 618043857, "nodes": [269959205, 269963109], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 618043858, "nodes": [269957065, 2265973054, 1983085865, 269964739, 269957132], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through|through;right"}}, {"type": "way", "id": 618043859, "nodes": [269958386, 9392695024, 3772750734, 269959205], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 618045930, "nodes": [30341009, 10757798867, 269965177, 269833647, 10582818897], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 618098741, "nodes": [269834070, 270103553, 269998805, 270103680, 269834071], "tags": {"highway": "residential", "name": "Calle Ram\u00f3n Corona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 618098742, "nodes": [269957015, 269957262, 5002054435, 30341010], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Rep\u00fablica de El Salvador", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 618098747, "nodes": [269994167, 11016421026, 11016421024, 269994188, 11016421021, 269994168, 270103390, 270104664, 269994169, 7988640739, 8551505656, 2288672120, 11098418038, 271022304, 271023454, 271022054, 271021390], "tags": {"highway": "residential", "name": "Calle Manzanares", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 618098748, "nodes": [269997912, 11016421012, 270103790, 269998559, 11016383796, 268635283, 271023473, 271020013, 271020014, 270991614, 271020184, 8230211152, 271020009], "tags": {"highway": "residential", "name": "Calle Corregidora", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 618098749, "nodes": [269996681, 269997913, 269997638, 269997735, 269994297], "tags": {"highway": "residential", "lanes": "1", "lit": "yes", "maxspeed": "20", "name": "Soledad", "oneway": "yes", "parking:left": "no", "parking:right": "street_side", "parking:right:orientation": "parallel", "sidewalk": "both", "sidewalk:both:surface": "paving_stones", "surface": "concrete"}}, {"type": "way", "id": 618098751, "nodes": [2286069615, 2286069628, 11901967248], "tags": {"highway": "living_street", "name": "Seminario", "oneway": "yes", "sidewalk": "both"}}, {"type": "way", "id": 618098762, "nodes": [269988225, 269990660, 269990823, 269989631, 269989265, 269988899, 269988226], "tags": {"highway": "residential", "name": "Calle del Carmen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 618098764, "nodes": [269997631, 269989628, 269997268, 269997632, 5118347157, 269997213], "tags": {"highway": "residential", "name": "Calle Rodr\u00edguez Puebla", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 618106730, "nodes": [270114816, 270114817, 270114955, 3946493456, 270114935, 5842646035, 8251334299, 8398305978], "tags": {"highway": "residential", "name": "Calle Santa Veracruz", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 654836794, "nodes": [6136068079, 6136068075], "tags": {"highway": "residential", "name": "Calle Plaza Flamingos"}}, {"type": "way", "id": 654836802, "nodes": [6136068084, 8348214216, 8348214215, 6136068070], "tags": {"highway": "residential", "name": "Callej\u00f3n Nezahualc\u00f3yotl"}}, {"type": "way", "id": 664037887, "nodes": [269957301, 8251381586, 6215293306, 1420660832], "tags": {"bicycle": "yes", "cycleway:left": "lane", "cycleway:left:oneway": "yes", "cycleway:right": "no", "highway": "residential", "lanes": "3", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Calle 5 de Febrero", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 682504898, "nodes": [269957205, 269957192], "tags": {"bicycle": "yes", "highway": "residential", "horse": "no", "oneway": "no", "surface": "pavimentado"}}, {"type": "way", "id": 685755047, "nodes": [270114803, 6426919642], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle Valerio Trujano", "oneway": "yes", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 687695197, "nodes": [269957302, 11016659716, 268633507], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "none|none"}}, {"type": "way", "id": 688753795, "nodes": [269964052, 270103551, 269998804, 269998827, 269964053, 7986131952, 7966732147, 4712005821, 7966702831, 7966702830, 7966702829, 7966702832, 7966702828, 7966702827, 7966732141, 269964056, 269988105], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "highway": "primary", "lanes": "3", "name": "Plaza de San Pablo", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "San Pablo", "surface": "asphalt"}}, {"type": "way", "id": 803409367, "nodes": [269957299, 8534455314, 269957872, 8098095349, 8098095350, 8098095352, 8098095351, 269957873, 269957952, 269957874], "tags": {"highway": "residential", "name": "Cerrada Tizap\u00e1n"}}, {"type": "way", "id": 843227662, "nodes": [30341021, 10029746677, 10583196708], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|yes", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "|||designated|", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 846008893, "nodes": [269957015, 269834087, 269965037, 269964735, 269957114, 8345420113, 268615856], "tags": {"alt_name": "Calle de Bolivar", "highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Sim\u00f3n Bol\u00edvar", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 846008894, "nodes": [269988228, 269997731, 269997635, 269997919, 269957093], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "surface": "asphalt"}}, {"type": "way", "id": 846008895, "nodes": [30341013, 10582818902], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 854248811, "nodes": [30956999, 7966610559], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 854248813, "nodes": [7966610560, 11059551523, 8398305978], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 854248814, "nodes": [8398305978, 10582826920], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 854269183, "nodes": [7966732152, 8744081202, 8744081209, 269958386], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 854269184, "nodes": [7966732138, 11503779535, 11503779534, 269958349], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 854269185, "nodes": [269988105, 269964058, 7966702825, 7966702824, 7966702826, 7966702823, 7966702822, 269964059, 11503779531, 7966732138], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 854269186, "nodes": [269963902, 269963901, 7966732150, 7966732149, 7966732151, 7966732148, 269963900, 7966732152], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 854269187, "nodes": [269998826, 269963908, 7986131953, 9344963206, 269963907, 7966732157, 7966732156, 7966732159, 7966732155, 7966732154, 7966732158, 7966732153, 269963902], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "highway": "primary", "lanes": "3", "maxspeed": "60", "name": "Plaza de San Pablo", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "San Pablo", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 854270486, "nodes": [7966732141, 7966732139, 7966732142, 7966732140, 7966732145, 269988231], "tags": {"highway": "residential", "lanes": "1", "name": "Calle San Jer\u00f3nimo", "oneway": "yes"}}, {"type": "way", "id": 854280388, "nodes": [7966845867, 269956908], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "left;through|through"}}, {"type": "way", "id": 854280389, "nodes": [5288054867, 269957019, 7966845867], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 854280390, "nodes": [7966845868, 5288054867], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "left;through|through"}}, {"type": "way", "id": 854280391, "nodes": [269964738, 7966845868], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 854280392, "nodes": [7966845869, 269964738], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "through|through;right"}}, {"type": "way", "id": 854280393, "nodes": [269957117, 7966845869], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 854280394, "nodes": [7966845870, 269957117], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "left|through|through"}}, {"type": "way", "id": 854280395, "nodes": [268633491, 7966845870], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 856041977, "nodes": [7982089638, 7982089633, 268621340, 7982089634, 7982089635], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "parking:both": "no", "sidewalk": "left", "surface": "paving_stones"}}, {"type": "way", "id": 856041978, "nodes": [7982089638, 7982089637, 7982089639, 7982089636, 7982089635], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "paving_stones"}}, {"type": "way", "id": 856041980, "nodes": [7982089635, 268621341, 3772750964, 268620937], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 856535817, "nodes": [7986131953, 7986131952], "tags": {"destination:ref": "EJE 1A SUR", "highway": "primary_link", "lanes": "1", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 859465689, "nodes": [269988896, 269987047], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Allende", "oneway": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 859478072, "nodes": [269989630, 8796699317, 8256826596, 30956901, 269989629, 268615860], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Belisario Dom\u00ednguez", "oneway": "no", "psv": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 866466953, "nodes": [268500467, 269958002, 269957298, 10582818893], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination": "Plaza de la Ciudadela", "destination:street": "Arcos de Bel\u00e9n", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 866469053, "nodes": [268615858, 268615863, 269958260, 268615855, 268615854], "tags": {"alt_name": "Calle de Bolivar", "highway": "tertiary", "lanes": "2", "name": "Calle Sim\u00f3n Bol\u00edvar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 866731820, "nodes": [268509739, 10757798863, 30341007], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 866731821, "nodes": [8078707604, 8078707603, 11503781589, 268509740, 11503781590, 11090507893, 10580028852, 268509739], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 866735729, "nodes": [269832530, 268510356], "tags": {"highway": "residential", "lanes": "2", "name": "Calle L\u00f3pez", "oneway": "yes", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 867017412, "nodes": [270978274, 8251381577, 8253675087, 8256302766, 8251381568, 269963908, 269964053], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Jes\u00fas Mar\u00eda", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 887431154, "nodes": [4312168553, 12160547858, 12160547855, 12160547859, 11901967262, 11901967261, 12160547862, 11901967264, 12160547861, 11901967263, 12160547860, 11901967260, 11901967248, 4312134548, 5065075412, 12160547866, 12160547865, 12160547864, 12160547863, 5065075411, 5065075410, 4312134532, 5065075403, 12160547867, 12160547868, 12160547869, 12160547870, 4364089069, 2113341940, 5065079170, 12160547856, 12160547854, 12160547857, 4312168553], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "emergency": "yes", "highway": "living_street", "lanes": "2", "lit": "no", "maxspeed": "30", "motor_vehicle": "private", "name": "Plaza de la Constituci\u00f3n", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 887480062, "nodes": [8251316605, 8251316603, 8251316604], "tags": {"highway": "residential"}}, {"type": "way", "id": 887508447, "nodes": [2269126095, 269997270], "tags": {"highway": "residential", "name": "Calle Gir\u00f3n", "oneway": "yes"}}, {"type": "way", "id": 889116248, "nodes": [3772750970, 269987046], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Filomeno Mata", "oneway": "yes", "sidewalk": "both"}}, {"type": "way", "id": 904255515, "nodes": [268509736, 268511172], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Doctor Valenzuela", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 904256738, "nodes": [269958349, 269958386], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 904257869, "nodes": [268633507, 268633491], "tags": {"cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "none|none"}}, {"type": "way", "id": 904257870, "nodes": [8397994576, 268633507], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 904257871, "nodes": [269958386, 8397994576], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 904258811, "nodes": [268622485, 268622486], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Isabel la Cat\u00f3lica", "oneway": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 904258812, "nodes": [8398005927, 268622485], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 904258813, "nodes": [268633507, 268639106, 8398005927], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 904259092, "nodes": [8348232924, 268615856], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 904259093, "nodes": [268615856, 268615858], "tags": {"alt_name": "Calle de Bolivar", "highway": "tertiary", "lanes": "2", "name": "Calle Sim\u00f3n Bol\u00edvar", "oneway": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 904259094, "nodes": [268615856, 268510352, 8078707602, 8078707601, 268510353, 8078707599, 12657130319, 10580028853, 30341007], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 904261095, "nodes": [268510356, 268509736], "tags": {"highway": "residential", "lanes": "2", "name": "Calle L\u00f3pez", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 904261096, "nodes": [268510356, 269831728, 269832331, 8078757060, 11745128468, 8078757056, 2461446826, 268510357], "tags": {"alt_name": "Eje 1A Sur", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Arcos de Bel\u00e9n", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 932642939, "nodes": [269957019, 2265972043, 10822915435, 269957065], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 932642940, "nodes": [269957016, 5002054436, 269957017], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 941489845, "nodes": [8718850337, 30956999], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Belisario Dom\u00ednguez", "oneway": "no", "psv": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 941489846, "nodes": [8718850338, 30956999], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through;left|through|through|through|"}}, {"type": "way", "id": 1021248528, "nodes": [3772750964, 3993793512, 3772750963], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Avenida 5 de Mayo", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1114968649, "nodes": [269833430, 269833646], "tags": {"highway": "residential", "name": "Calle Puente de Peredo", "surface": "asphalt"}}, {"type": "way", "id": 1129779399, "nodes": [269957017, 269957019], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "oneway": "no", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1135302401, "nodes": [10582818893, 11503781592, 11503781591, 10757798860, 268509739], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination": "Plaza de la Ciudadela", "destination:street": "Arcos de Bel\u00e9n", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302402, "nodes": [10582818895, 10757798868, 30341009], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302403, "nodes": [10582818897, 12825498732, 30341010], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302404, "nodes": [30341010, 10582818898], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1135302405, "nodes": [10582818898, 30341011], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302406, "nodes": [30341011, 10582818900], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1135302407, "nodes": [10582818900, 30341012], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302408, "nodes": [30341012, 10582818901], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1135302409, "nodes": [10582818901, 30341013], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through;left|through|through|through|"}}, {"type": "way", "id": 1135302410, "nodes": [10582818902, 8744170927, 2434287917], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Avenida Hidalgo", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302411, "nodes": [2434287917, 8398275893, 2180585469], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Donceles", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "smoothness": "excellent", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135302412, "nodes": [10582818904, 11514839332, 12009804911, 11514839333, 12009804915, 269986908], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Donceles", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "smoothness": "excellent", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135303297, "nodes": [30341019, 8718850338], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1135303298, "nodes": [10582826920, 30341019], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1135338495, "nodes": [7966610559, 10029746683, 30341021], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through;right|"}}, {"type": "way", "id": 1135346291, "nodes": [10583196708, 10705501520, 6146463687, 269994753], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|yes", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "|||designated|", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through||"}}, {"type": "way", "id": 1135346294, "nodes": [269994753, 9389596736, 10591136826, 30341022, 10583196712], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|no", "alt_name": "San Ju\u00e1n de Letr\u00e1n;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "|||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination": "Plaza de las Tres Culturas", "destination:ref": "EJE 2 NTE", "destination:street": "Manuel Gonz\u00e1lez", "highway": "primary", "lanes": "5", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "4", "lit": "yes", "maxspeed": "50", "maxspeed:bus": "30", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "sidewalk": "no", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1138585950, "nodes": [269994000, 11901967251, 270209443, 269994072], "tags": {"foot": "yes", "highway": "living_street", "motor_vehicle": "private", "name": "Calle Corregidora", "oneway": "yes"}}, {"type": "way", "id": 1152766063, "nodes": [268508491, 269959010, 11016659715, 269957302], "tags": {"cycleway:left": "track", "cycleway:left:oneway": "yes", "cycleway:right": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle 20 de Noviembre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "none|none"}}, {"type": "way", "id": 1161202416, "nodes": [268622485, 269958183, 269958102, 268615858], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "60", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 1161803071, "nodes": [269958349, 268633491], "tags": {"alt_name": "Eje 1A Sur;Eje Vial 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Izazaga", "oneway": "yes", "ref": "EJE 1A SUR", "short_name": "Izazaga", "surface": "asphalt"}}, {"type": "way", "id": 1161808793, "nodes": [30594539, 11277904950, 268639104], "tags": {"fixme": "Revisar el estado actual del sentido de la v\u00eda tras el cierre a la circulaci\u00f3n.", "highway": "living_street", "lanes": "1", "lit": "yes", "motor_vehicle": "private", "name": "Calle 5 de Febrero", "note": "Decreto en Gaceta Oficial restringe el acceso de veh\u00edculos particulares pero permite paso de veh\u00edculos de servicio, de emergencia y particulares con permiso. Calle debe mantener categor\u00eda actual hasta que se realicen modificaciones f\u00edsicas a la misma.", "oneway": "yes", "sidewalk:left": "separate", "sidewalk:right": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1161952787, "nodes": [268639105, 268639106, 269957301], "tags": {"bicycle": "yes", "cycleway:both": "no", "highway": "residential", "lanes": "1", "lit": "yes", "name": "Calle 5 de Febrero", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1162729330, "nodes": [268615862, 3772750754, 269956911, 269957015], "tags": {"alt_name": "Calle de Bolivar", "highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Sim\u00f3n Bol\u00edvar", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1162729338, "nodes": [30341012, 30594809, 3772750754], "tags": {"cycleway:both": "lane", "cycleway:left:oneway": "-1", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Venustiano Carranza", "oneway": "yes", "oneway:bicycle": "no", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1162862269, "nodes": [3772750963, 11120953844, 11016336358, 4312134571], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Avenida 5 de Mayo", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones", "wheelchair": "yes"}}, {"type": "way", "id": 1163707423, "nodes": [269989354, 8251050482, 269990904], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de Argentina", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1163707424, "nodes": [269988226, 269987745], "tags": {"highway": "residential", "lanes": "2", "name": "Correo Mayor", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1163707425, "nodes": [269997734, 8676945993, 8511612229, 269987745], "tags": {"highway": "residential", "name": "Calle Moneda", "oneway": "yes", "sidewalk": "both"}}, {"type": "way", "id": 1163985760, "nodes": [269988231, 7966732143, 269988105], "tags": {"highway": "residential", "lanes": "2", "name": "Correo Mayor", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1163985761, "nodes": [269834086, 269834072, 269988229], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Mesones", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1163985762, "nodes": [269988229, 10822626855, 269988230, 269988231], "tags": {"highway": "residential", "lanes": "2", "name": "Correo Mayor", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1164605691, "nodes": [269997631, 8836458410, 8836474718, 269989265], "tags": {"highway": "residential", "name": "Calle San Ildefonso", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1164605693, "nodes": [269988894, 8836458412, 269997631], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Loreto", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1168774908, "nodes": [269957015, 269957016], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "surface": "asphalt"}}, {"type": "way", "id": 1174904588, "nodes": [12145314163, 12145314160, 269956907, 4511087435], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through|through;right"}}, {"type": "way", "id": 1174904596, "nodes": [4511087435, 10917208549, 11635656032, 10917208550, 269957065], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through|through;right"}}, {"type": "way", "id": 1174904664, "nodes": [269957132, 30385165, 11503779533, 11503779532, 269958349], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "lit": "yes", "name": "Avenida Jos\u00e9 Mar\u00eda Pino Su\u00e1rez", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through|through;right"}}, {"type": "way", "id": 1174905322, "nodes": [269957302, 11016659717, 269957301], "tags": {"cycleway:left": "track", "cycleway:left:oneway": "-1", "cycleway:right": "no", "highway": "residential", "name": "Calle Nezahualc\u00f3yotl", "oneway": "yes", "oneway:bicycle": "no"}}, {"type": "way", "id": 1211394847, "nodes": [30594539, 11223728168], "tags": {"bicycle": "yes", "fixme": "Revisar el estado actual del sentido de la v\u00eda tras el cierre a la circulaci\u00f3n.", "foot": "yes", "highway": "living_street", "lanes": "1", "motor_vehicle": "private", "name": "Avenida 16 de Septiembre", "oneway": "yes", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1211394849, "nodes": [268622218, 7982089639], "tags": {"bicycle": "yes", "foot": "yes", "highway": "living_street", "lanes": "1", "motor_vehicle": "permissive", "name": "16 de Septiembre", "note": "Desde 2014 es semipeatonal.", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1217151535, "nodes": [3772750754, 12581770680, 30594812, 30956904, 268639104], "tags": {"cycleway:both": "lane", "cycleway:left:oneway": "-1", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Venustiano Carranza", "oneway": "yes", "oneway:bicycle": "no", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1217151536, "nodes": [268639104, 268633522], "tags": {"cycleway:both": "lane", "cycleway:left:oneway": "-1", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Venustiano Carranza", "oneway": "yes", "oneway:bicycle": "no", "parking:both": "no", "sidewalk:left": "separate", "sidewalk:right": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 1217183490, "nodes": [268633522, 1983085867, 12145314161, 12145314163], "tags": {"cycleway:both": "lane", "cycleway:left:oneway": "-1", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Venustiano Carranza", "oneway": "yes", "oneway:bicycle": "no", "parking:both": "no", "sidewalk:left": "separate", "sidewalk:right": "yes", "surface": "paving_stones"}}, {"type": "way", "id": 1218945701, "nodes": [269957301, 8251381580, 269957300], "tags": {"highway": "residential", "name": "Calle Nezahualc\u00f3yotl"}}, {"type": "way", "id": 1226655554, "nodes": [269957065, 2265973055, 6148129478, 269988228], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Rep\u00fablica de El Salvador", "surface": "asphalt"}}, {"type": "way", "id": 1338737876, "nodes": [269834071, 270103560, 1409559497, 269834086], "tags": {"highway": "residential", "name": "Calle Mesones", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1364486698, "nodes": [269988231, 269957132], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle San Jer\u00f3nimo", "surface": "asphalt"}}]} \ No newline at end of file diff --git a/cache/4353c001466404985d1caf7770d8722649541ac0.json b/cache/4353c001466404985d1caf7770d8722649541ac0.json new file mode 100644 index 0000000..c277426 --- /dev/null +++ b/cache/4353c001466404985d1caf7770d8722649541ac0.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:16:20Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339674, "lat": 19.3845481, "lon": -99.1522672, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340092, "lat": 19.3799222, "lon": -99.1513362, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340093, "lat": 19.379682, "lon": -99.1500464, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340605, "lat": 19.3951447, "lon": -99.1460698, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340606, "lat": 19.395222, "lon": -99.1475158}, {"type": "node", "id": 30340905, "lat": 19.3853852, "lon": -99.1582603}, {"type": "node", "id": 30340906, "lat": 19.3852178, "lon": -99.1574967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340909, "lat": 19.384773, "lon": -99.1549446}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340917, "lat": 19.3843329, "lon": -99.1499247}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340920, "lat": 19.3839984, "lon": -99.1474407, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340921, "lat": 19.3838877, "lon": -99.1467476}, {"type": "node", "id": 30340922, "lat": 19.3837544, "lon": -99.1458994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340976, "lat": 19.387834, "lon": -99.1469996, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340979, "lat": 19.3908318, "lon": -99.1466312}, {"type": "node", "id": 30340980, "lat": 19.3925848, "lon": -99.1463925, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341027, "lat": 19.3815048, "lon": -99.1509958}, {"type": "node", "id": 30341028, "lat": 19.3812643, "lon": -99.1497158}, {"type": "node", "id": 30341031, "lat": 19.3831178, "lon": -99.1506833}, {"type": "node", "id": 30341032, "lat": 19.3823063, "lon": -99.150839}, {"type": "node", "id": 30341033, "lat": 19.380712, "lon": -99.1511667}, {"type": "node", "id": 30341040, "lat": 19.3804623, "lon": -99.149875}, {"type": "node", "id": 30341110, "lat": 19.3859474, "lon": -99.1573205}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385361, "lat": 19.3830423, "lon": -99.1588289}, {"type": "node", "id": 30385366, "lat": 19.3823046, "lon": -99.1552998}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385379, "lat": 19.3952991, "lon": -99.1484528, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594104, "lat": 19.4019229, "lon": -99.1547508}, {"type": "node", "id": 30594502, "lat": 19.3828577, "lon": -99.1493763}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30758688, "lat": 19.3820497, "lon": -99.1495544}, {"type": "node", "id": 30758812, "lat": 19.3833767, "lon": -99.149279}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30759077, "lat": 19.3888011, "lon": -99.1626713, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759090, "lat": 19.3883669, "lon": -99.1606494}, {"type": "node", "id": 30759092, "lat": 19.3880382, "lon": -99.1591494}, {"type": "node", "id": 30759093, "lat": 19.3878746, "lon": -99.1583942}, {"type": "node", "id": 30759094, "lat": 19.3877136, "lon": -99.1576975}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759101, "lat": 19.3861472, "lon": -99.1497004}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30788443, "lat": 19.379064, "lon": -99.1422166}, {"type": "node", "id": 30788901, "lat": 19.378004, "lon": -99.150399}, {"type": "node", "id": 30789005, "lat": 19.392468, "lon": -99.1492035}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789010, "lat": 19.385124, "lon": -99.1498351}, {"type": "node", "id": 30789024, "lat": 19.3848337, "lon": -99.1490278}, {"type": "node", "id": 30789025, "lat": 19.3862628, "lon": -99.1488677}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789027, "lat": 19.3890839, "lon": -99.148825}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789030, "lat": 19.3924797, "lon": -99.148557}, {"type": "node", "id": 30789031, "lat": 19.3924492, "lon": -99.1498776}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789036, "lat": 19.3854988, "lon": -99.1504483}, {"type": "node", "id": 30789037, "lat": 19.3863129, "lon": -99.1510278}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789511, "lat": 19.3867359, "lon": -99.1546747}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789546, "lat": 19.3982144, "lon": -99.1550538}, {"type": "node", "id": 30789547, "lat": 19.4001258, "lon": -99.1549075}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 30789642, "lat": 19.3882121, "lon": -99.1599523}, {"type": "node", "id": 31180208, "lat": 19.3807037, "lon": -99.1596107}, {"type": "node", "id": 31180210, "lat": 19.381316, "lon": -99.159409}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623580, "lat": 19.3944832, "lon": -99.1415138, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623769, "lat": 19.3869007, "lon": -99.1471178, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268623829, "lat": 19.3836078, "lon": -99.1449419, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623830, "lat": 19.3816158, "lon": -99.1436679, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268639490, "lat": 19.3942243, "lon": -99.1396727, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268679153, "lat": 19.3910913, "lon": -99.1506531}, {"type": "node", "id": 268679231, "lat": 19.3888766, "lon": -99.1488188}, {"type": "node", "id": 268679232, "lat": 19.3866874, "lon": -99.1471428, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268679233, "lat": 19.3836273, "lon": -99.1450998, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679234, "lat": 19.3814353, "lon": -99.1437016, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679235, "lat": 19.3808926, "lon": -99.143367}, {"type": "node", "id": 268680218, "lat": 19.3848323, "lon": -99.1556101, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680219, "lat": 19.3862381, "lon": -99.1548009}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680344, "lat": 19.3956258, "lon": -99.1460139}, {"type": "node", "id": 268680393, "lat": 19.3971166, "lon": -99.1437259, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268680394, "lat": 19.3978002, "lon": -99.1426974}, {"type": "node", "id": 268680395, "lat": 19.4023454, "lon": -99.1436225}, {"type": "node", "id": 268681524, "lat": 19.3947247, "lon": -99.143208}, {"type": "node", "id": 268682761, "lat": 19.3966476, "lon": -99.1458837}, {"type": "node", "id": 268684168, "lat": 19.4022863, "lon": -99.1442765}, {"type": "node", "id": 268684263, "lat": 19.4016386, "lon": -99.1443812}, {"type": "node", "id": 268684264, "lat": 19.401002, "lon": -99.1444823}, {"type": "node", "id": 268684265, "lat": 19.399562, "lon": -99.1447114}, {"type": "node", "id": 268684266, "lat": 19.3981272, "lon": -99.1449386}, {"type": "node", "id": 268684267, "lat": 19.3965468, "lon": -99.1452002}, {"type": "node", "id": 268684268, "lat": 19.3961499, "lon": -99.1452694}, {"type": "node", "id": 268684269, "lat": 19.3950518, "lon": -99.1454366}, {"type": "node", "id": 268684270, "lat": 19.3926019, "lon": -99.1457558}, {"type": "node", "id": 268684271, "lat": 19.3907604, "lon": -99.1460788}, {"type": "node", "id": 268684541, "lat": 19.3964552, "lon": -99.1445676}, {"type": "node", "id": 268684542, "lat": 19.3965937, "lon": -99.1445461}, {"type": "node", "id": 268684543, "lat": 19.3980365, "lon": -99.1443165}, {"type": "node", "id": 268684544, "lat": 19.3994686, "lon": -99.1440791}, {"type": "node", "id": 268684547, "lat": 19.392618, "lon": -99.1451953}, {"type": "node", "id": 268684936, "lat": 19.3946069, "lon": -99.1423815, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268684937, "lat": 19.3882326, "lon": -99.143392}, {"type": "node", "id": 268685409, "lat": 19.394355, "lon": -99.1405972}, {"type": "node", "id": 268823703, "lat": 19.3964227, "lon": -99.1474208}, {"type": "node", "id": 268823948, "lat": 19.3973647, "lon": -99.1465435}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824115, "lat": 19.395288, "lon": -99.1483022, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268824117, "lat": 19.3962208, "lon": -99.1474346}, {"type": "node", "id": 268824118, "lat": 19.3971687, "lon": -99.14656}, {"type": "node", "id": 268824329, "lat": 19.3982973, "lon": -99.1464518}, {"type": "node", "id": 268824891, "lat": 19.3981881, "lon": -99.1508021}, {"type": "node", "id": 268824893, "lat": 19.3981709, "lon": -99.1473096}, {"type": "node", "id": 268824895, "lat": 19.3981479, "lon": -99.1464564}, {"type": "node", "id": 268825077, "lat": 19.395557, "lon": -99.1482093}, {"type": "node", "id": 268825078, "lat": 19.3981687, "lon": -99.1480156}, {"type": "node", "id": 268825079, "lat": 19.3983237, "lon": -99.1480037}, {"type": "node", "id": 268825211, "lat": 19.3983242, "lon": -99.1481625}, {"type": "node", "id": 268825212, "lat": 19.3981713, "lon": -99.1481725}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 274839137, "lat": 19.4017366, "lon": -99.1547613}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839257, "lat": 19.3978501, "lon": -99.1529093}, {"type": "node", "id": 274839258, "lat": 19.3965568, "lon": -99.155156}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274839859, "lat": 19.3983314, "lon": -99.1500804}, {"type": "node", "id": 274839860, "lat": 19.3981846, "lon": -99.1500912}, {"type": "node", "id": 274839861, "lat": 19.3954231, "lon": -99.1503063}, {"type": "node", "id": 274839882, "lat": 19.392951, "lon": -99.1504554}, {"type": "node", "id": 274839883, "lat": 19.3930876, "lon": -99.1504783}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840030, "lat": 19.3981887, "lon": -99.150934}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840033, "lat": 19.3990397, "lon": -99.1508367}, {"type": "node", "id": 274840760, "lat": 19.3983296, "lon": -99.1494131}, {"type": "node", "id": 274840761, "lat": 19.3981813, "lon": -99.149424}, {"type": "node", "id": 274840762, "lat": 19.395378, "lon": -99.1496351}, {"type": "node", "id": 274840763, "lat": 19.3938844, "lon": -99.1497513}, {"type": "node", "id": 274840764, "lat": 19.3938161, "lon": -99.1496532}, {"type": "node", "id": 274840766, "lat": 19.3926366, "lon": -99.1444382}, {"type": "node", "id": 274840981, "lat": 19.384559, "lon": -99.1523861, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274840989, "lat": 19.3918429, "lon": -99.1499244}, {"type": "node", "id": 274841034, "lat": 19.3983276, "lon": -99.1487353}, {"type": "node", "id": 274841035, "lat": 19.398178, "lon": -99.1487464}, {"type": "node", "id": 274841036, "lat": 19.3953351, "lon": -99.148971}, {"type": "node", "id": 274841037, "lat": 19.3946706, "lon": -99.149022}, {"type": "node", "id": 274841130, "lat": 19.3983284, "lon": -99.1515547}, {"type": "node", "id": 274841131, "lat": 19.3981927, "lon": -99.1515673}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 275357285, "lat": 19.3889321, "lon": -99.1482292}, {"type": "node", "id": 275357286, "lat": 19.3886947, "lon": -99.1468959}, {"type": "node", "id": 275357288, "lat": 19.3925491, "lon": -99.1470606}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358048, "lat": 19.3880072, "lon": -99.1479643, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358138, "lat": 19.3888111, "lon": -99.1475526}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275358446, "lat": 19.3925164, "lon": -99.1477361}, {"type": "node", "id": 275358447, "lat": 19.3888827, "lon": -99.1479759}, {"type": "node", "id": 275358448, "lat": 19.38781, "lon": -99.1479553}, {"type": "node", "id": 275358464, "lat": 19.3870381, "lon": -99.1483008}, {"type": "node", "id": 275361846, "lat": 19.3849103, "lon": -99.1494902}, {"type": "node", "id": 275361924, "lat": 19.3940912, "lon": -99.1478304}, {"type": "node", "id": 275361954, "lat": 19.3936808, "lon": -99.1476474}, {"type": "node", "id": 275361955, "lat": 19.3937349, "lon": -99.1480879}, {"type": "node", "id": 275362851, "lat": 19.3858111, "lon": -99.1514974}, {"type": "node", "id": 275362852, "lat": 19.3850674, "lon": -99.1516369}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364534, "lat": 19.3881922, "lon": -99.1598607}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275512762, "lat": 19.3788416, "lon": -99.1502378}, {"type": "node", "id": 275512786, "lat": 19.3785447, "lon": -99.1502955}, {"type": "node", "id": 275715032, "lat": 19.3799577, "lon": -99.1427756}, {"type": "node", "id": 275722667, "lat": 19.3805892, "lon": -99.1431722}, {"type": "node", "id": 275722668, "lat": 19.3807823, "lon": -99.1431384}, {"type": "node", "id": 275728758, "lat": 19.3920142, "lon": -99.1399879}, {"type": "node", "id": 275728946, "lat": 19.3922682, "lon": -99.1418764}, {"type": "node", "id": 275728947, "lat": 19.3923762, "lon": -99.1427295}, {"type": "node", "id": 275729015, "lat": 19.3916594, "lon": -99.1459059}, {"type": "node", "id": 275729078, "lat": 19.3916061, "lon": -99.1454075}, {"type": "node", "id": 275729079, "lat": 19.3915118, "lon": -99.1446087}, {"type": "node", "id": 275729080, "lat": 19.3913991, "lon": -99.1437184}, {"type": "node", "id": 275729202, "lat": 19.3901044, "lon": -99.1448399}, {"type": "node", "id": 275729251, "lat": 19.3887673, "lon": -99.14238}, {"type": "node", "id": 275729252, "lat": 19.3888943, "lon": -99.1432889}, {"type": "node", "id": 275729253, "lat": 19.3889847, "lon": -99.1441271}, {"type": "node", "id": 275729254, "lat": 19.3891133, "lon": -99.1450027}, {"type": "node", "id": 275729255, "lat": 19.3892492, "lon": -99.1459252}, {"type": "node", "id": 275729938, "lat": 19.3846442, "lon": -99.1455861}, {"type": "node", "id": 275729939, "lat": 19.3859049, "lon": -99.144625}, {"type": "node", "id": 275729940, "lat": 19.3872769, "lon": -99.1436033}, {"type": "node", "id": 275729960, "lat": 19.3867522, "lon": -99.1405685}, {"type": "node", "id": 275729996, "lat": 19.3857503, "lon": -99.1464481, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730002, "lat": 19.3857187, "lon": -99.1462709, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730003, "lat": 19.3877285, "lon": -99.1462472}, {"type": "node", "id": 275730004, "lat": 19.3875614, "lon": -99.1452447}, {"type": "node", "id": 275730005, "lat": 19.3874133, "lon": -99.1443822}, {"type": "node", "id": 275730007, "lat": 19.3871084, "lon": -99.1426359}, {"type": "node", "id": 275730008, "lat": 19.3869854, "lon": -99.141955}, {"type": "node", "id": 275730011, "lat": 19.3885916, "lon": -99.1460747}, {"type": "node", "id": 275730013, "lat": 19.3884636, "lon": -99.1451094}, {"type": "node", "id": 275730014, "lat": 19.3883471, "lon": -99.1442382}, {"type": "node", "id": 275730015, "lat": 19.3880964, "lon": -99.1424803}, {"type": "node", "id": 275730016, "lat": 19.3879882, "lon": -99.1417687}, {"type": "node", "id": 275730017, "lat": 19.3876925, "lon": -99.1408738}, {"type": "node", "id": 275730018, "lat": 19.3874552, "lon": -99.1390996}, {"type": "node", "id": 275730024, "lat": 19.3906933, "lon": -99.1456109}, {"type": "node", "id": 275730025, "lat": 19.3905973, "lon": -99.1447632}, {"type": "node", "id": 275730030, "lat": 19.3855024, "lon": -99.1446769}, {"type": "node", "id": 275730033, "lat": 19.3856309, "lon": -99.1455731}, {"type": "node", "id": 275730210, "lat": 19.3864149, "lon": -99.1445406}, {"type": "node", "id": 275730211, "lat": 19.3863652, "lon": -99.1442722}, {"type": "node", "id": 275730212, "lat": 19.386117, "lon": -99.1427959}, {"type": "node", "id": 275730213, "lat": 19.3860046, "lon": -99.1421392}, {"type": "node", "id": 275730214, "lat": 19.3859235, "lon": -99.1416955}, {"type": "node", "id": 275730353, "lat": 19.3855377, "lon": -99.1449043}, {"type": "node", "id": 275730354, "lat": 19.3852101, "lon": -99.1429548}, {"type": "node", "id": 275730357, "lat": 19.3949053, "lon": -99.1444652}, {"type": "node", "id": 275730358, "lat": 19.3926366, "lon": -99.1448284}, {"type": "node", "id": 275730359, "lat": 19.3915538, "lon": -99.1450104}, {"type": "node", "id": 275730360, "lat": 19.3906472, "lon": -99.145188}, {"type": "node", "id": 275730361, "lat": 19.3891855, "lon": -99.1454726}, {"type": "node", "id": 275730362, "lat": 19.3885272, "lon": -99.1455986}, {"type": "node", "id": 275730363, "lat": 19.3925543, "lon": -99.1439798}, {"type": "node", "id": 275730379, "lat": 19.3914642, "lon": -99.1441656}, {"type": "node", "id": 275730380, "lat": 19.3905512, "lon": -99.1443141}, {"type": "node", "id": 275730381, "lat": 19.3900444, "lon": -99.1443942}, {"type": "node", "id": 275730382, "lat": 19.3890417, "lon": -99.1445469}, {"type": "node", "id": 275730383, "lat": 19.3884046, "lon": -99.1446465}, {"type": "node", "id": 275730384, "lat": 19.3874792, "lon": -99.1447566}, {"type": "node", "id": 275730385, "lat": 19.3924325, "lon": -99.1431544}, {"type": "node", "id": 275730540, "lat": 19.3888395, "lon": -99.1428926}, {"type": "node", "id": 275730541, "lat": 19.388183, "lon": -99.1429829}, {"type": "node", "id": 275730548, "lat": 19.3889399, "lon": -99.1437209}, {"type": "node", "id": 275730549, "lat": 19.3882915, "lon": -99.1438212}, {"type": "node", "id": 275730552, "lat": 19.392208, "lon": -99.1414197}, {"type": "node", "id": 275730579, "lat": 19.3878347, "lon": -99.1413281}, {"type": "node", "id": 275730595, "lat": 19.3921094, "lon": -99.1406514, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730830, "lat": 19.3863692, "lon": -99.1464735}, {"type": "node", "id": 275730852, "lat": 19.3875722, "lon": -99.1400512}, {"type": "node", "id": 275730890, "lat": 19.3832567, "lon": -99.1448611}, {"type": "node", "id": 275730909, "lat": 19.3829309, "lon": -99.1446568}, {"type": "node", "id": 275731024, "lat": 19.3797471, "lon": -99.1426494, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275731076, "lat": 19.37971, "lon": -99.1424506, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275731110, "lat": 19.3786085, "lon": -99.1417349}, {"type": "node", "id": 275731458, "lat": 19.3800084, "lon": -99.1426373}, {"type": "node", "id": 275731462, "lat": 19.3869063, "lon": -99.1415107}, {"type": "node", "id": 275731517, "lat": 19.387191, "lon": -99.1431398}, {"type": "node", "id": 275731553, "lat": 19.3861974, "lon": -99.143289}, {"type": "node", "id": 275731554, "lat": 19.3852956, "lon": -99.1434276}, {"type": "node", "id": 275731590, "lat": 19.3821834, "lon": -99.1440384}, {"type": "node", "id": 275731679, "lat": 19.3868396, "lon": -99.1410585}, {"type": "node", "id": 275731728, "lat": 19.3876298, "lon": -99.140404}, {"type": "node", "id": 275731771, "lat": 19.386769, "lon": -99.1406693}, {"type": "node", "id": 275731777, "lat": 19.3880525, "lon": -99.14221}, {"type": "node", "id": 275731778, "lat": 19.3870557, "lon": -99.142349}, {"type": "node", "id": 474733239, "lat": 19.3862345, "lon": -99.1503625}, {"type": "node", "id": 848504693, "lat": 19.3964802, "lon": -99.1447245}, {"type": "node", "id": 848504697, "lat": 19.3980505, "lon": -99.1459591}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 854429424, "lat": 19.3983211, "lon": -99.1520969}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 854429428, "lat": 19.3983454, "lon": -99.1550438}, {"type": "node", "id": 873739455, "lat": 19.3964164, "lon": -99.1554072, "tags": {"noexit": "yes"}}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 972127600, "lat": 19.3954125, "lon": -99.1482103, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1654476613, "lat": 19.3949552, "lon": -99.1448128}, {"type": "node", "id": 1654476615, "lat": 19.3860759, "lon": -99.1465182}, {"type": "node", "id": 1654476619, "lat": 19.3863632, "lon": -99.1467327}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1964030272, "lat": 19.3981966, "lon": -99.1523056}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526389, "lat": 19.3956128, "lon": -99.1511109, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531864, "lat": 19.3955038, "lon": -99.1496236}, {"type": "node", "id": 2261531872, "lat": 19.3952957, "lon": -99.146717}, {"type": "node", "id": 2261531878, "lat": 19.3953466, "lon": -99.1475063}, {"type": "node", "id": 2261531882, "lat": 19.395553, "lon": -99.1502952}, {"type": "node", "id": 2261531886, "lat": 19.3956044, "lon": -99.1509968, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531892, "lat": 19.395265, "lon": -99.1460535, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531895, "lat": 19.3954594, "lon": -99.1489617}, {"type": "node", "id": 2261533438, "lat": 19.3947346, "lon": -99.1423616, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261533440, "lat": 19.3948515, "lon": -99.1431692}, {"type": "node", "id": 2261533441, "lat": 19.3951752, "lon": -99.1454072}, {"type": "node", "id": 2261533443, "lat": 19.3950659, "lon": -99.1447947}, {"type": "node", "id": 2261533446, "lat": 19.3949802, "lon": -99.1440619, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2404259811, "lat": 19.3874768, "lon": -99.139257}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604566, "lat": 19.3855991, "lon": -99.1553272}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 4036550995, "lat": 19.3886821, "lon": -99.1621223}, {"type": "node", "id": 4070528818, "lat": 19.4008981, "lon": -99.1548483}, {"type": "node", "id": 4114591515, "lat": 19.3948529, "lon": -99.144083, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5052347136, "lat": 19.3844592, "lon": -99.1466731}, {"type": "node", "id": 5052347137, "lat": 19.3843317, "lon": -99.1457993}, {"type": "node", "id": 5134866934, "lat": 19.386033, "lon": -99.1488782}, {"type": "node", "id": 5331687767, "lat": 19.3923185, "lon": -99.1423075}, {"type": "node", "id": 5331697594, "lat": 19.3851091, "lon": -99.1447484}, {"type": "node", "id": 5475796533, "lat": 19.3884769, "lon": -99.1611747}, {"type": "node", "id": 5475796534, "lat": 19.3885691, "lon": -99.1616001}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5478588609, "lat": 19.394228, "lon": -99.1492747, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834661, "lat": 19.3954234, "lon": -99.1483369, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834663, "lat": 19.3954267, "lon": -99.1483832}, {"type": "node", "id": 5834951262, "lat": 19.3878934, "lon": -99.1480119}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951265, "lat": 19.3896346, "lon": -99.1494205, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951266, "lat": 19.3905371, "lon": -99.1500223}, {"type": "node", "id": 5834951267, "lat": 19.3903668, "lon": -99.150033}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5837362479, "lat": 19.3856731, "lon": -99.1465353}, {"type": "node", "id": 5837379697, "lat": 19.3863981, "lon": -99.1454448}, {"type": "node", "id": 5837379698, "lat": 19.38483, "lon": -99.1457081, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5837379699, "lat": 19.3846275, "lon": -99.1457445, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5891489520, "lat": 19.3971256, "lon": -99.143712}, {"type": "node", "id": 5891566654, "lat": 19.3854512, "lon": -99.1446861}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 6103699465, "lat": 19.3905046, "lon": -99.1438702}, {"type": "node", "id": 6103699466, "lat": 19.3899894, "lon": -99.1439594}, {"type": "node", "id": 6103699467, "lat": 19.3924924, "lon": -99.1435426}, {"type": "node", "id": 6103699468, "lat": 19.391724, "lon": -99.1436615}, {"type": "node", "id": 6106729915, "lat": 19.3995761, "lon": -99.1549496}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6106908849, "lat": 19.3912212, "lon": -99.150577}, {"type": "node", "id": 6133056828, "lat": 19.3885308, "lon": -99.1479924}, {"type": "node", "id": 6133056829, "lat": 19.3871333, "lon": -99.1463484}, {"type": "node", "id": 6133056831, "lat": 19.3861609, "lon": -99.1430662}, {"type": "node", "id": 6133056832, "lat": 19.3884236, "lon": -99.1476}, {"type": "node", "id": 6133056833, "lat": 19.3872116, "lon": -99.1470772}, {"type": "node", "id": 6133056834, "lat": 19.3941731, "lon": -99.1461973}, {"type": "node", "id": 6133056835, "lat": 19.39409, "lon": -99.1455775}, {"type": "node", "id": 6133056836, "lat": 19.3870047, "lon": -99.1453418}, {"type": "node", "id": 6133056837, "lat": 19.3871562, "lon": -99.1429307}, {"type": "node", "id": 6133056838, "lat": 19.3883434, "lon": -99.1469368}, {"type": "node", "id": 6133056839, "lat": 19.3879554, "lon": -99.1477069}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6133311977, "lat": 19.3822525, "lon": -99.1442255}, {"type": "node", "id": 6221659186, "lat": 19.402253, "lon": -99.1442819}, {"type": "node", "id": 6366450919, "lat": 19.3942226, "lon": -99.1494287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 7196556558, "lat": 19.3884178, "lon": -99.1475233}, {"type": "node", "id": 7965846822, "lat": 19.3935714, "lon": -99.1500397}, {"type": "node", "id": 7965846823, "lat": 19.3934903, "lon": -99.1499556}, {"type": "node", "id": 7965846824, "lat": 19.3949426, "lon": -99.1487737}, {"type": "node", "id": 7965846825, "lat": 19.3948659, "lon": -99.1486744}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8051918559, "lat": 19.3863079, "lon": -99.1473256, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8051918561, "lat": 19.3863739, "lon": -99.1481647}, {"type": "node", "id": 8059712707, "lat": 19.3846287, "lon": -99.1517171, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8059878053, "lat": 19.400907, "lon": -99.1438352}, {"type": "node", "id": 8060541754, "lat": 19.3942153, "lon": -99.1490877, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063024658, "lat": 19.3958098, "lon": -99.1510966}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063269395, "lat": 19.3976762, "lon": -99.146102}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8186010146, "lat": 19.3854174, "lon": -99.1485974}, {"type": "node", "id": 8186010147, "lat": 19.3859913, "lon": -99.1485219}, {"type": "node", "id": 8186010148, "lat": 19.3852544, "lon": -99.1482116}, {"type": "node", "id": 8186010149, "lat": 19.3859411, "lon": -99.148092}, {"type": "node", "id": 8186017343, "lat": 19.3859171, "lon": -99.148536, "tags": {"access": "private", "barrier": "gate"}}, {"type": "node", "id": 8186017344, "lat": 19.3858698, "lon": -99.1481023, "tags": {"access": "private", "barrier": "gate"}}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8190543264, "lat": 19.3854641, "lon": -99.1554085}, {"type": "node", "id": 8201925193, "lat": 19.3929778, "lon": -99.1472108}, {"type": "node", "id": 8201925194, "lat": 19.3936653, "lon": -99.1470033}, {"type": "node", "id": 8201925195, "lat": 19.3929315, "lon": -99.1470837}, {"type": "node", "id": 8201925198, "lat": 19.3936721, "lon": -99.1471208}, {"type": "node", "id": 8201968873, "lat": 19.393653, "lon": -99.1466117, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8202051093, "lat": 19.3936383, "lon": -99.1462623}, {"type": "node", "id": 8204799889, "lat": 19.3946137, "lon": -99.1487018, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8204799890, "lat": 19.3945562, "lon": -99.1477838}, {"type": "node", "id": 8204799891, "lat": 19.3946386, "lon": -99.1488914}, {"type": "node", "id": 8204803725, "lat": 19.3937271, "lon": -99.147868}, {"type": "node", "id": 8204803726, "lat": 19.3934757, "lon": -99.147881}, {"type": "node", "id": 8204803727, "lat": 19.393722, "lon": -99.1477395}, {"type": "node", "id": 8204803728, "lat": 19.3934648, "lon": -99.1476628}, {"type": "node", "id": 8204803729, "lat": 19.3934673, "lon": -99.1477477}, {"type": "node", "id": 8204803730, "lat": 19.3935173, "lon": -99.1479648}, {"type": "node", "id": 8204803731, "lat": 19.3937304, "lon": -99.147949}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8233172134, "lat": 19.3924132, "lon": -99.1571273}, {"type": "node", "id": 8233172135, "lat": 19.3924297, "lon": -99.157472}, {"type": "node", "id": 8233172136, "lat": 19.3924575, "lon": -99.1566163}, {"type": "node", "id": 8233172137, "lat": 19.392455, "lon": -99.1564755, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233172139, "lat": 19.391311, "lon": -99.1572278}, {"type": "node", "id": 8233172140, "lat": 19.3913253, "lon": -99.1575524}, {"type": "node", "id": 8233172141, "lat": 19.387215, "lon": -99.1570084}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233207642, "lat": 19.3942551, "lon": -99.156564}, {"type": "node", "id": 8233244549, "lat": 19.3891659, "lon": -99.1564031}, {"type": "node", "id": 8233244550, "lat": 19.3891495, "lon": -99.1562583}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233348341, "lat": 19.3885439, "lon": -99.1614951}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8233994250, "lat": 19.3878921, "lon": -99.1584751}, {"type": "node", "id": 8239360997, "lat": 19.3815101, "lon": -99.1593444}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8289452767, "lat": 19.4020674, "lon": -99.1443119}, {"type": "node", "id": 8305044751, "lat": 19.3976831, "lon": -99.1508324}, {"type": "node", "id": 8305044754, "lat": 19.3975545, "lon": -99.1508402}, {"type": "node", "id": 8392232413, "lat": 19.3949714, "lon": -99.1449044}, {"type": "node", "id": 8392232414, "lat": 19.3951884, "lon": -99.1454985}, {"type": "node", "id": 8392318114, "lat": 19.3858498, "lon": -99.1472366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8395534202, "lat": 19.3874999, "lon": -99.1470421}, {"type": "node", "id": 8395534203, "lat": 19.3854406, "lon": -99.1472831}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8572473122, "lat": 19.3923993, "lon": -99.1506122}, {"type": "node", "id": 8572771484, "lat": 19.3817826, "lon": -99.1496093}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573018495, "lat": 19.3859332, "lon": -99.1547908}, {"type": "node", "id": 8573018496, "lat": 19.3860521, "lon": -99.1547891}, {"type": "node", "id": 8573119593, "lat": 19.3828391, "lon": -99.1444543}, {"type": "node", "id": 8573120745, "lat": 19.3834879, "lon": -99.1450124}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121039, "lat": 19.3951112, "lon": -99.1554851}, {"type": "node", "id": 8573121040, "lat": 19.3950955, "lon": -99.155473}, {"type": "node", "id": 8573121041, "lat": 19.3951305, "lon": -99.1554868}, {"type": "node", "id": 8573121042, "lat": 19.395042, "lon": -99.1554007}, {"type": "node", "id": 8573121043, "lat": 19.3951478, "lon": -99.1554777}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121045, "lat": 19.3949129, "lon": -99.1557245}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573121049, "lat": 19.3837995, "lon": -99.1449569}, {"type": "node", "id": 8573147888, "lat": 19.3939404, "lon": -99.1463306, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8573147889, "lat": 19.3937843, "lon": -99.1467732}, {"type": "node", "id": 8573147890, "lat": 19.393999, "lon": -99.1467612}, {"type": "node", "id": 8573147891, "lat": 19.3939688, "lon": -99.1467821}, {"type": "node", "id": 8573147892, "lat": 19.3939773, "lon": -99.1466248}, {"type": "node", "id": 8573147893, "lat": 19.3939916, "lon": -99.1466379}, {"type": "node", "id": 8573147894, "lat": 19.3939977, "lon": -99.1466568}, {"type": "node", "id": 8573147895, "lat": 19.3937793, "lon": -99.1466537}, {"type": "node", "id": 8573147896, "lat": 19.3937914, "lon": -99.1466392}, {"type": "node", "id": 8573147897, "lat": 19.3938087, "lon": -99.1466329}, {"type": "node", "id": 8573147898, "lat": 19.3937982, "lon": -99.1467866}, {"type": "node", "id": 8573147899, "lat": 19.3939865, "lon": -99.146776}, {"type": "node", "id": 8573147900, "lat": 19.3937787, "lon": -99.1467543}, {"type": "node", "id": 8573147901, "lat": 19.3939587, "lon": -99.1466213}, {"type": "node", "id": 8573147902, "lat": 19.3937754, "lon": -99.1466726}, {"type": "node", "id": 8573147903, "lat": 19.3938165, "lon": -99.1467907}, {"type": "node", "id": 8573147904, "lat": 19.3940027, "lon": -99.1467417}, {"type": "node", "id": 8573147905, "lat": 19.3939514, "lon": -99.1466219}, {"type": "node", "id": 8573147906, "lat": 19.3939379, "lon": -99.1462259}, {"type": "node", "id": 8573147907, "lat": 19.3929593, "lon": -99.1472072}, {"type": "node", "id": 8573147908, "lat": 19.3929389, "lon": -99.1471754}, {"type": "node", "id": 8573147909, "lat": 19.3929351, "lon": -99.1470643}, {"type": "node", "id": 8573147910, "lat": 19.3929474, "lon": -99.1470494}, {"type": "node", "id": 8573147911, "lat": 19.392965, "lon": -99.1470431}, {"type": "node", "id": 8573147912, "lat": 19.3936683, "lon": -99.1471396}, {"type": "node", "id": 8573147913, "lat": 19.3936564, "lon": -99.1471541}, {"type": "node", "id": 8573147914, "lat": 19.3936393, "lon": -99.1471605}, {"type": "node", "id": 8573147915, "lat": 19.392945, "lon": -99.1471942}, {"type": "node", "id": 8573147916, "lat": 19.3936992, "lon": -99.1476513}, {"type": "node", "id": 8573175856, "lat": 19.3849048, "lon": -99.1494748}, {"type": "node", "id": 8573175857, "lat": 19.3849068, "lon": -99.1494828}, {"type": "node", "id": 8573175858, "lat": 19.3844158, "lon": -99.147924}, {"type": "node", "id": 8573175859, "lat": 19.3843532, "lon": -99.1479023}, {"type": "node", "id": 8573175860, "lat": 19.3844333, "lon": -99.1479272}, {"type": "node", "id": 8573175861, "lat": 19.3843769, "lon": -99.1479146}, {"type": "node", "id": 8573175862, "lat": 19.3844156, "lon": -99.1480817}, {"type": "node", "id": 8573175865, "lat": 19.3844703, "lon": -99.1483959}, {"type": "node", "id": 8573175867, "lat": 19.3844054, "lon": -99.1480982}, {"type": "node", "id": 8573175868, "lat": 19.3845228, "lon": -99.1479106}, {"type": "node", "id": 8573175869, "lat": 19.3845528, "lon": -99.1480439}, {"type": "node", "id": 8573175870, "lat": 19.3850998, "lon": -99.1482379}, {"type": "node", "id": 8573175872, "lat": 19.3844322, "lon": -99.1480727}, {"type": "node", "id": 8573175873, "lat": 19.3850304, "lon": -99.1479398}, {"type": "node", "id": 8573175874, "lat": 19.3850903, "lon": -99.147767}, {"type": "node", "id": 8573175875, "lat": 19.3843957, "lon": -99.1479207}, {"type": "node", "id": 8573175876, "lat": 19.3843352, "lon": -99.1478996}, {"type": "node", "id": 8573175877, "lat": 19.3840764, "lon": -99.1479582}, {"type": "node", "id": 8573175892, "lat": 19.3848025, "lon": -99.1485261}, {"type": "node", "id": 8573175893, "lat": 19.3848194, "lon": -99.1485185}, {"type": "node", "id": 8573175894, "lat": 19.3847914, "lon": -99.1485416}, {"type": "node", "id": 8573175895, "lat": 19.3850045, "lon": -99.1484901}, {"type": "node", "id": 8573175896, "lat": 19.3847889, "lon": -99.1485609}, {"type": "node", "id": 8573175897, "lat": 19.3862786, "lon": -99.1482232}, {"type": "node", "id": 8573175898, "lat": 19.3859593, "lon": -99.1482613}, {"type": "node", "id": 8573196917, "lat": 19.3937191, "lon": -99.1476833}, {"type": "node", "id": 8573196918, "lat": 19.3937132, "lon": -99.1476645}, {"type": "node", "id": 8573196919, "lat": 19.393479, "lon": -99.1479295}, {"type": "node", "id": 8573196920, "lat": 19.393485, "lon": -99.1479481}, {"type": "node", "id": 8573196921, "lat": 19.3934991, "lon": -99.1479611}, {"type": "node", "id": 8573196922, "lat": 19.3884529, "lon": -99.1476182}, {"type": "node", "id": 8573196923, "lat": 19.3884728, "lon": -99.1476486}, {"type": "node", "id": 8573202323, "lat": 19.384696, "lon": -99.1448141}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 8635168499, "lat": 19.3866301, "lon": -99.147692}, {"type": "node", "id": 8635168500, "lat": 19.3867402, "lon": -99.1480245}, {"type": "node", "id": 8635168501, "lat": 19.3868243, "lon": -99.1481613}, {"type": "node", "id": 8635168502, "lat": 19.3869325, "lon": -99.148378}, {"type": "node", "id": 8666667161, "lat": 19.3842269, "lon": -99.1479263, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8672427016, "lat": 19.3947485, "lon": -99.1424574}, {"type": "node", "id": 8672442817, "lat": 19.3946203, "lon": -99.1424754}, {"type": "node", "id": 8840210606, "lat": 19.386298, "lon": -99.1471864}, {"type": "node", "id": 10184166093, "lat": 19.3953762, "lon": -99.1569351}, {"type": "node", "id": 10573836757, "lat": 19.3861833, "lon": -99.1471993}, {"type": "node", "id": 10573836758, "lat": 19.3865033, "lon": -99.1471634, "tags": {"cycleway": "asl", "direction": "forward"}}, {"type": "node", "id": 10580335229, "lat": 19.3890065, "lon": -99.1468565}, {"type": "node", "id": 10580335231, "lat": 19.3921854, "lon": -99.1464469}, {"type": "node", "id": 10580335234, "lat": 19.3948221, "lon": -99.1461121}, {"type": "node", "id": 10580335235, "lat": 19.3976377, "lon": -99.1457585}, {"type": "node", "id": 10707448582, "lat": 19.3857654, "lon": -99.1466104}, {"type": "node", "id": 11002633294, "lat": 19.3948304, "lon": -99.1435358}, {"type": "node", "id": 11002633297, "lat": 19.3948403, "lon": -99.1436485}, {"type": "node", "id": 11002633298, "lat": 19.3949025, "lon": -99.1440748}, {"type": "node", "id": 11002633299, "lat": 19.3950127, "lon": -99.1448034}, {"type": "node", "id": 11002633300, "lat": 19.3951032, "lon": -99.1454243}, {"type": "node", "id": 11002633301, "lat": 19.395193, "lon": -99.1460633}, {"type": "node", "id": 11002633302, "lat": 19.3952286, "lon": -99.1462051}, {"type": "node", "id": 11002633303, "lat": 19.3952899, "lon": -99.1471751}, {"type": "node", "id": 11002633304, "lat": 19.3952782, "lon": -99.1473817}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002645505, "lat": 19.3952457, "lon": -99.1471782}, {"type": "node", "id": 11002645506, "lat": 19.3951846, "lon": -99.1462082}, {"type": "node", "id": 11002645507, "lat": 19.3952849, "lon": -99.1475396}, {"type": "node", "id": 11002645508, "lat": 19.3953505, "lon": -99.1482564}, {"type": "node", "id": 11002645509, "lat": 19.3953593, "lon": -99.1483965}, {"type": "node", "id": 11002645510, "lat": 19.3954024, "lon": -99.1489657}, {"type": "node", "id": 11002645511, "lat": 19.3954468, "lon": -99.1496288}, {"type": "node", "id": 11002645512, "lat": 19.3954945, "lon": -99.1503001}, {"type": "node", "id": 11002645513, "lat": 19.3955473, "lon": -99.1510016}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11090423028, "lat": 19.3907251, "lon": -99.1466443, "tags": {"highway": "stop"}}, {"type": "node", "id": 11132614438, "lat": 19.4019071, "lon": -99.1443385}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11155081773, "lat": 19.3875313, "lon": -99.1568446}, {"type": "node", "id": 11155081774, "lat": 19.3865148, "lon": -99.157094}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863153423, "lat": 19.3988075, "lon": -99.1441887}, {"type": "node", "id": 11863861859, "lat": 19.3850836, "lon": -99.1486609}, {"type": "node", "id": 12124155572, "lat": 19.3849049, "lon": -99.1447809}, {"type": "node", "id": 12125771321, "lat": 19.3856541, "lon": -99.147698}, {"type": "node", "id": 12125771322, "lat": 19.3856497, "lon": -99.1476061}, {"type": "node", "id": 12125771323, "lat": 19.3856731, "lon": -99.14759}, {"type": "node", "id": 12125771324, "lat": 19.3858791, "lon": -99.1475641}, {"type": "node", "id": 12125812998, "lat": 19.3889876, "lon": -99.1485241}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12127380077, "lat": 19.3845575, "lon": -99.1498993}, {"type": "node", "id": 12127398351, "lat": 19.3862411, "lon": -99.148095}, {"type": "node", "id": 12127398352, "lat": 19.3861766, "lon": -99.1480923}, {"type": "node", "id": 12127398353, "lat": 19.3861083, "lon": -99.1480654}, {"type": "node", "id": 12127398354, "lat": 19.3860716, "lon": -99.1480654}, {"type": "node", "id": 12130238435, "lat": 19.3949881, "lon": -99.1467406}, {"type": "node", "id": 12130238436, "lat": 19.3949895, "lon": -99.1467366}, {"type": "node", "id": 12130238437, "lat": 19.3945477, "lon": -99.1467441}, {"type": "node", "id": 12130238438, "lat": 19.3949844, "lon": -99.1467427}, {"type": "node", "id": 12130238439, "lat": 19.3949843, "lon": -99.1466559}, {"type": "node", "id": 12130238440, "lat": 19.3949858, "lon": -99.1466527}, {"type": "node", "id": 12130238441, "lat": 19.394988, "lon": -99.146651}, {"type": "node", "id": 12130238442, "lat": 19.3950357, "lon": -99.1466481}, {"type": "node", "id": 12130238443, "lat": 19.3950471, "lon": -99.1466422}, {"type": "node", "id": 12130238444, "lat": 19.3950478, "lon": -99.1466316}, {"type": "node", "id": 12130238445, "lat": 19.3950344, "lon": -99.1463887}, {"type": "node", "id": 12130238446, "lat": 19.395013, "lon": -99.1463424}, {"type": "node", "id": 12130238447, "lat": 19.3949658, "lon": -99.1463273}, {"type": "node", "id": 12130238448, "lat": 19.3944465, "lon": -99.1463781}, {"type": "node", "id": 12130312333, "lat": 19.394442, "lon": -99.1463118, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12130312334, "lat": 19.3944328, "lon": -99.1461632}, {"type": "node", "id": 12130312335, "lat": 19.3945186, "lon": -99.1474393}, {"type": "node", "id": 12130955444, "lat": 19.3858208, "lon": -99.148111}, {"type": "node", "id": 12130955445, "lat": 19.3858488, "lon": -99.1484251}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378415, "lat": 19.3954879, "lon": -99.1534279}, {"type": "node", "id": 12729378416, "lat": 19.3954777, "lon": -99.1534533}, {"type": "node", "id": 12729378417, "lat": 19.3954882, "lon": -99.1536081}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378420, "lat": 19.395534, "lon": -99.1534124}, {"type": "node", "id": 12729378421, "lat": 19.3955105, "lon": -99.1534511}, {"type": "node", "id": 12729378422, "lat": 19.3955224, "lon": -99.1536058}, {"type": "node", "id": 12729378423, "lat": 19.3955435, "lon": -99.1536511}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "way", "id": 4758991, "nodes": [848504697, 268823948, 268823703, 268825077], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720670, "nodes": [268680344, 268684268, 848504693, 268684542, 268680393, 5891489520, 268680394], "tags": {"highway": "residential", "name": "Fernando", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720958, "nodes": [268684168, 6221659186, 8289452767, 11132614438, 268684263, 268684264, 268684265, 268684266, 268684267, 268684268, 2261533441], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720966, "nodes": [275730003, 275730011, 275729255, 275730024, 275729078, 268684547, 1654476613], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734709, "nodes": [972127600, 268825077, 268825078, 268825079], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206905, "nodes": [274839883, 274839861, 11002645512, 2261531882, 274839860, 274839859], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206953, "nodes": [274840760, 274840761, 2261531864, 11002645511, 274840762, 274840763], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206978, "nodes": [274840988, 274840989], "tags": {"alt_name": "Manuel C. Rej\u00f3n", "highway": "residential", "name": "Calle Tepozteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206983, "nodes": [274841036, 274841037], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274428, "nodes": [275357285, 275358447, 275358138, 275357286], "tags": {"highway": "residential", "name": "Cerrada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274701, "nodes": [275358138, 275358139, 275357288], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274754, "nodes": [30789025, 8635168502, 275358464, 275358448], "tags": {"highway": "residential", "name": "Calle Pachuquilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275227, "nodes": [30789036, 30789010, 275361846, 8573175857, 8573175856, 30789024], "tags": {"highway": "residential", "name": "Callej\u00f3n Xoco", "surface": "asphalt"}}, {"type": "way", "id": 25275239, "nodes": [6366450919, 5478588609], "tags": {"highway": "service", "surface": "asphalt"}}, {"type": "way", "id": 25275242, "nodes": [275358446, 8204803728, 275361954, 8573147916, 8573196918, 8573196917, 8204803727, 8204803725, 8204803731, 275361955], "tags": {"highway": "service"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275336, "nodes": [275362851, 275362852, 8059712707], "tags": {"access": "private", "highway": "residential", "name": "Privada Eugenia", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312283, "nodes": [275729015, 275729078, 275730359, 275729079, 275730379, 275729080], "tags": {"highway": "residential", "name": "Calle Uni\u00f3n Postal", "surface": "asphalt"}}, {"type": "way", "id": 25312314, "nodes": [30340976, 275730003, 275730004, 275730384, 275730005, 275729940, 275731517, 6133056837, 275730007, 275731778, 275730008, 275731462, 275731679, 275731771, 275729960], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Ni\u00f1os H\u00e9roes de Chapultepec", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312317, "nodes": [30340979, 268684271, 275730024, 275730360, 275730025, 275730380, 6103699465], "tags": {"highway": "residential", "name": "Calle Estafetas", "surface": "asphalt"}}, {"type": "way", "id": 25312326, "nodes": [275358047, 275358048, 6133056839, 30340976], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312361, "nodes": [10707448582, 275729996, 275730002, 275730033, 275730353, 275730030, 275731554, 275730354], "tags": {"destination:street": "Isabel la Cat\u00f3lica", "highway": "residential", "name": "Calle Romero", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312364, "nodes": [275730384, 275730383, 275730382, 275730381, 275730380, 275730379, 275730363], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Tuy", "oneway": "yes", "sidewalk": "separate", "surface": "asphalt"}}, {"type": "way", "id": 39600726, "nodes": [31180208, 31180210, 8239360997, 30385361, 30340905, 30759094, 30789558, 30789559, 8233172139, 8233172134, 30789560], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012731, "nodes": [30340980, 275357288, 275358446, 30789030, 30789005, 30789031, 8572473122, 6459744104], "tags": {"destination:street": "Doctor V\u00e9rtiz", "highway": "tertiary", "lanes": "2", "name": "Calle Cumbres de Acultzingo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012733, "nodes": [275728758, 275730595, 275730552, 275728946, 5331687767, 275728947, 275730385, 6103699467, 275730363, 274840766, 275730358, 268684547, 268684270, 30340980], "tags": {"highway": "tertiary", "lanes": "4", "name": "Calle Correspondencia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 152643077, "nodes": [1654476615, 275730830, 6133056829, 275730003], "tags": {"highway": "residential", "name": "Calle Miguel Negrete", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738297, "nodes": [2261526396, 274841131, 274841130], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes"}}, {"type": "way", "id": 216794743, "nodes": [30594104, 274839137, 4070528818, 30789547, 6106729915, 854429428, 30789546, 274839258, 274839253], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216797090, "nodes": [268681524, 6103699467, 6103699468, 275729080, 6103699465, 6103699466, 275729253, 275730014, 275730005, 275730210, 275729939, 275730030, 5891566654, 5331697594, 12124155572, 8573202323, 8573121049, 268623829], "tags": {"highway": "residential", "name": "Calle Castilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 545569482, "nodes": [30340976, 6133056838, 275357286, 10580335229], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 545569483, "nodes": [30340978, 11090423028, 30340979, 10580335231], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 569407342, "nodes": [274840033, 854429424, 30789448, 1964030272, 274839257, 274839256, 274839255, 274839258], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407348, "nodes": [274840030, 8063024658], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407356, "nodes": [2261526389, 11002645514, 274840029], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407359, "nodes": [30339687, 11002645513, 2261531886], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407362, "nodes": [2261531886, 8305044754, 8305044751, 268824891], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407371, "nodes": [274840982, 30339675], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407372, "nodes": [274840982, 274840981], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407374, "nodes": [30339675, 30789037, 474733239, 30759101], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407375, "nodes": [30339674, 30339675], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422241, "nodes": [30759077, 4036550995, 5475796534, 8233348341, 5475796533, 30759090, 30789642, 275364534, 30759092, 8233994250, 30759093, 30759094, 30759078], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716828, "nodes": [268680218, 268680219, 268680220], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716835, "nodes": [30759079, 30789511, 3443604566, 8190543264, 8397788793], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716836, "nodes": [30759079, 268680220], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735721, "nodes": [268824117, 2261531878], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735723, "nodes": [268823703, 268824117], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735727, "nodes": [274840764, 5478588609], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569750645, "nodes": [5478834661, 972127600], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750649, "nodes": [268824115, 30340606, 30340605], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750654, "nodes": [972127600, 2261531878, 2261531872, 2261531892], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750659, "nodes": [30385379, 268824115], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 570573279, "nodes": [274841036, 11002645510, 2261531895, 274841035, 274841034], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "asphalt"}}, {"type": "way", "id": 617169944, "nodes": [275730214, 275730213, 275730212, 6133056831, 275731553, 275730211, 275730210, 5837379697, 275730830, 1654476619], "tags": {"alt_name": "Calle Santa Mar\u00eda Nativitas", "highway": "residential", "name": "Calle Libertad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617169949, "nodes": [275730011, 275730362, 275730013, 275730383, 275730014, 275730549, 268684937, 275730541, 275730015, 275731777, 275730016, 275730579, 275730017, 275731728, 275730852, 2404259811, 275730018], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617169959, "nodes": [1654476613, 275730357, 4114591515, 268681524, 8672442817, 268684936, 268623580, 268685409, 268639490], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 617169963, "nodes": [2261533441, 2261533443, 2261533446, 2261533440, 8672427016, 2261533438], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 617177547, "nodes": [30788901, 275512786, 275512762, 30340093, 30341040, 30341028, 8572771484, 30758688, 30594502, 30758812, 30340918, 30789024, 5134866934, 30789025, 30789026, 268679231], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177555, "nodes": [30594516, 30789037, 30789038, 31180765, 268679153], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177557, "nodes": [5834951267, 31180763, 30789034, 474733239, 30789036, 30340916, 30341031, 30341032, 30341027, 30341033, 30340092], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241629, "nodes": [268680220, 30759097, 30759098, 30759099, 274840982], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241637, "nodes": [30759101, 30789008, 5834951265, 5834951263, 30789005], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510824, "nodes": [2261531872, 268824118, 268823948, 268824895, 268824329], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617513716, "nodes": [268825211, 268825212, 5478834663], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523305, "nodes": [274839438, 268679153, 5834951267, 5834951264, 5834951265], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523306, "nodes": [275729996, 5837362479, 5052347136, 30340921], "tags": {"highway": "residential", "name": "Calle Miguel Negrete", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525561, "nodes": [2261533446, 11002633298, 4114591515, 274840766, 275729079, 275730025, 275729202, 275729254, 275730013, 275730004, 6133056836, 5837379697, 275730033, 5837379698, 5837379699, 5052347137, 30340922], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Jos\u00e9 Sim\u00f3n Bol\u00edvar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525563, "nodes": [2261533443, 268684541, 268684542, 268684543, 11863153423, 268684544, 8059878053, 268680395], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525566, "nodes": [275730357, 275730358, 275730359, 275730360, 275730361, 275730362], "tags": {"highway": "residential", "name": "Calle Alicante", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617628977, "nodes": [268684269, 6133056835, 268684270, 275729015, 268684271], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201785, "nodes": [5834951266, 5834951267], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "surface": "asphalt"}}, {"type": "way", "id": 651201786, "nodes": [30789031, 274840989, 5834951266], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201787, "nodes": [268679153, 6106908849], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 654523414, "nodes": [6133056835, 6133056834], "tags": {"highway": "residential", "name": "Calle Tarragona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523417, "nodes": [6133056838, 7196556558, 6133056832, 8573196922, 8573196923, 6133056828], "tags": {"highway": "residential", "name": "Privada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 654523418, "nodes": [6133056839, 6133056832], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "surface": "asphalt"}}, {"type": "way", "id": 654523419, "nodes": [6133056836, 6133056829, 6133056833], "tags": {"highway": "residential", "name": "Cerrada Miguel Negrete", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523420, "nodes": [274840763, 7965846822, 274839883, 274839435], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523421, "nodes": [7998736244, 274839882, 7965846823, 274840764], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654529957, "nodes": [2261531886, 2261531882, 2261531864, 2261531895], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 679941340, "nodes": [275357286, 275730011], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "surface": "asphalt"}}, {"type": "way", "id": 679941690, "nodes": [275729202, 275730381, 6103699466], "tags": {"highway": "residential", "lit": "yes", "name": "Calle Almer\u00eda", "sidewalk": "separate", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 688738218, "nodes": [275731110, 275731076, 275731458, 275722668, 268623830, 275731590, 8573119593, 268623829, 275729938, 5837379698, 275730002, 1654476615, 1654476619, 268623769], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745179443, "nodes": [275358446, 31180738, 275358447, 6133056828, 275358048, 5834951262], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 785188324, "nodes": [274839258, 873739455], "tags": {"highway": "residential", "name": "Avenida Diagonal San Antonio"}}, {"type": "way", "id": 832377171, "nodes": [30789027, 30789028, 30789030], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847117304, "nodes": [30759101, 5134866934, 8186010147, 8573175898, 8186010149, 12125771324, 8392318114], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847117306, "nodes": [268679232, 275729996, 5837379699, 268679233, 8573120745, 275730890, 275730909, 6133311977, 268679234, 268679235, 275722667, 275715032, 275731024, 30788443], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150770, "nodes": [5478834661, 11002645509, 30385379], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150771, "nodes": [2261531895, 5478834663, 5478834661], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 854150772, "nodes": [972127600, 268824117, 268824118, 8063269395], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150773, "nodes": [268825077, 5478834661], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150774, "nodes": [30385379, 7965846824, 274841037, 6366450919], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150775, "nodes": [268824115, 11002645508, 972127600], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156345, "nodes": [7965846822, 7965846823], "tags": {"highway": "secondary_link", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 854156346, "nodes": [7965846824, 7965846825], "tags": {"highway": "secondary_link", "lanes": "1", "surface": "asphalt"}}, {"type": "way", "id": 854156347, "nodes": [5478588609, 8204799891, 7965846825, 268824115], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156348, "nodes": [5478588609, 8060541754], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 854156349, "nodes": [6366450919, 274840763], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212807, "nodes": [268623769, 275358048], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212808, "nodes": [275358047, 5834951262, 275358448, 268679232], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212809, "nodes": [275358048, 30789027, 5834951263, 5834951266, 6106908849, 274839437], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212810, "nodes": [268679232, 268623769], "tags": {"alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 864212812, "nodes": [5834951265, 268679231, 275358047], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864303956, "nodes": [8051918561, 8051918559], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864303957, "nodes": [8051918559, 8840210606], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864687987, "nodes": [30340917, 12127380077, 30789010, 30759101], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864705454, "nodes": [268680219, 8573018496, 8573018495, 30340909, 30385366], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864813907, "nodes": [8060541754, 275361924], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864815592, "nodes": [2261526389, 2261531886], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815593, "nodes": [2261526396, 2261526389], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815598, "nodes": [30339687, 274839861, 274840762, 274841036, 30385379], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815599, "nodes": [274840029, 30339687], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865053902, "nodes": [30595076, 268679006], "tags": {"highway": "footway", "name": "Calle Y\u00e1catas"}}, {"type": "way", "id": 865060276, "nodes": [8063024658, 2261526389], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865171904, "nodes": [268824893, 268823703], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 880027732, "nodes": [8186010147, 8186017343], "tags": {"highway": "residential"}}, {"type": "way", "id": 880027733, "nodes": [8186010149, 8186017344], "tags": {"highway": "residential"}}, {"type": "way", "id": 881951123, "nodes": [8202051093, 8201968873, 8201925194], "tags": {"highway": "service"}}, {"type": "way", "id": 881951124, "nodes": [8201925194, 8201925198, 8573147912, 8573147913, 8573147914, 8201925193, 8573147907, 8573147915, 8573147908, 8201925195, 8573147909, 8573147910, 8573147911, 8201925194], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 882266475, "nodes": [8204803726, 8204803725], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266476, "nodes": [8204803729, 8204803727], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266477, "nodes": [8204803731, 8204803730, 8573196921, 8573196920, 8573196919, 8204803726, 8204803729, 8204803728], "tags": {"highway": "service"}}, {"type": "way", "id": 882267474, "nodes": [8204799891, 8204799889, 8204799890], "tags": {"highway": "service"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885384872, "nodes": [8233172135, 8233172134], "tags": {"highway": "service"}}, {"type": "way", "id": 885384873, "nodes": [8233172137, 8233172136], "tags": {"highway": "service"}}, {"type": "way", "id": 885384874, "nodes": [8233172138, 8233172137], "tags": {"highway": "service"}}, {"type": "way", "id": 885384875, "nodes": [8233172140, 8233172139], "tags": {"highway": "service"}}, {"type": "way", "id": 885389948, "nodes": [8233207642, 8233207641], "tags": {"highway": "service"}}, {"type": "way", "id": 885396010, "nodes": [8233244551, 8233244550, 8233244549], "tags": {"highway": "service"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903590432, "nodes": [2261531892, 268680344, 268682761, 10580335235], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Obrero Mundial", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 903593200, "nodes": [1654476613, 11002633299, 2261533443], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903593201, "nodes": [8392232413, 1654476613], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593202, "nodes": [30340605, 268684269, 8392232413], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593203, "nodes": [8392232414, 2261533441], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593204, "nodes": [2261533441, 11002633300, 268684269], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903593205, "nodes": [2261531892, 8392232414], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903606641, "nodes": [10573836757, 8840210606, 10573836758, 268679232], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Viaducto Miguel Alem\u00e1n", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903977891, "nodes": [8395534202, 30340976], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 903977892, "nodes": [268623769, 6133056833, 8395534202], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 903977894, "nodes": [8395534203, 8392318114], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 4 SUR", "destination:street": "Xola;Obrero Mundial;Cumbres de Maltrata", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 918958781, "nodes": [30759078, 8233172141, 30341110, 30340906], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 923560967, "nodes": [8573121044, 8573121043, 8573121041, 8573121039, 8573121040, 8573121042], "tags": {"highway": "service"}}, {"type": "way", "id": 923560968, "nodes": [8063206401, 8573121045], "tags": {"highway": "service"}}, {"type": "way", "id": 923566531, "nodes": [8573175873, 8573175869, 8573175872, 8573175862, 8573175867], "tags": {"highway": "service"}}, {"type": "way", "id": 923566532, "nodes": [8573175877, 8666667161, 8573175876, 8573175859, 8573175861, 8573175875, 8573175858, 8573175860, 8573175868, 8573175874], "tags": {"highway": "service"}}, {"type": "way", "id": 923566535, "nodes": [30789024, 8573175896, 8573175894, 8573175892, 8573175893, 8573175895], "tags": {"highway": "service"}}, {"type": "way", "id": 923566536, "nodes": [8573175898, 8573175897], "tags": {"highway": "service"}}, {"type": "way", "id": 923568859, "nodes": [8573147904, 8573147890, 8573147899, 8573147891, 8573147903, 8573147898, 8573147889, 8573147900, 8573147902, 8573147895, 8573147896, 8573147897, 8573147905, 8573147901, 8573147892, 8573147893, 8573147894, 8573147904], "tags": {"highway": "service"}}, {"type": "way", "id": 923568860, "nodes": [8573147906, 8573147888, 8573147905], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 931388349, "nodes": [8635168502, 8635168501, 8635168500, 8635168499], "tags": {"highway": "service"}}, {"type": "way", "id": 1113143718, "nodes": [30789560, 10184166093], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1134177835, "nodes": [30340920, 8395534203], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 4 SUR", "destination:street": "Xola;Obrero Mundial;Cumbres de Maltrata", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134177837, "nodes": [8392318114, 10573836757], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Viaducto Miguel Alem\u00e1n", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989470, "nodes": [10580335229, 30340978], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989471, "nodes": [30340980, 8202051093, 8573147906, 6133056834, 12130312334, 10580335234], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989472, "nodes": [10580335231, 30340980], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989473, "nodes": [10580335234, 30340605], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989474, "nodes": [30340605, 11002633301, 2261531892], "tags": {"alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1151025354, "nodes": [8392318114, 10707448582], "tags": {"destination:street": "Isabel la Cat\u00f3lica", "highway": "residential", "name": "Calle Romero", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1163653161, "nodes": [274839882, 274839883], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 1174933309, "nodes": [30759078, 11155081773, 8063206410], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1174933310, "nodes": [8063206410, 30759095, 30759096, 30789525, 30759079], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175125086, "nodes": [275729251, 275730540, 275729252, 275730548, 275729253, 275730382, 275729254, 275730361, 275729255, 30340978], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Ahorro Postal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576961, "nodes": [11002633294, 11002633297, 11002633298, 11002633299, 11002633300, 11002633301], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576962, "nodes": [11002633301, 11002633302, 11002633303, 11002633304], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576963, "nodes": [11002633304, 11002645505, 11002645506, 11002633301], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576964, "nodes": [11002633304, 11002645507, 11002645508, 11002645509, 11002645510, 11002645511, 11002645512, 11002645513, 11002645514], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377392, "nodes": [11155081769, 11155081772, 11155081773, 11155081774], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1251051048, "nodes": [8186017344, 12130955444, 8186010148], "tags": {"access": "private", "highway": "residential"}}, {"type": "way", "id": 1251051049, "nodes": [8186017343, 8186010146, 11863861859], "tags": {"access": "private", "highway": "service"}}, {"type": "way", "id": 1277947156, "nodes": [8573175865, 8573175870], "tags": {"highway": "service"}}, {"type": "way", "id": 1309519368, "nodes": [12125771324, 12125771323, 12125771322, 12125771321], "tags": {"highway": "service"}}, {"type": "way", "id": 1309519507, "nodes": [12125812998, 275357285], "tags": {"highway": "residential"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1309809732, "nodes": [8186010149, 12127398354, 12127398353, 12127398352, 12127398351], "tags": {"highway": "service"}}, {"type": "way", "id": 1310331388, "nodes": [12130312335, 12130238448, 12130312333, 12130312334], "tags": {"highway": "service"}}, {"type": "way", "id": 1310350522, "nodes": [12130238448, 12130238447, 12130238446, 12130238445, 12130238444, 12130238443, 12130238442, 12130238441, 12130238440, 12130238439, 12130238436, 12130238435, 12130238438, 12130238437], "tags": {"highway": "service"}}, {"type": "way", "id": 1310421325, "nodes": [12130955445, 12130955444], "tags": {"highway": "service"}}, {"type": "way", "id": 1374805848, "nodes": [12729378417, 12729378416], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805849, "nodes": [12729378418, 12729378417], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805850, "nodes": [12729378416, 12729378415, 12729378420], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805851, "nodes": [12729378422, 12729378421], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805852, "nodes": [12729378424, 12729378423, 12729378422], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805853, "nodes": [12729378421, 12729378420, 12729378419], "tags": {"highway": "service", "oneway": "yes"}}]} \ No newline at end of file diff --git a/cache/45de90a99ed9fcca55b6511baa0d0401e594c114.json b/cache/45de90a99ed9fcca55b6511baa0d0401e594c114.json new file mode 100644 index 0000000..99b0142 --- /dev/null +++ b/cache/45de90a99ed9fcca55b6511baa0d0401e594c114.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T07:18:56Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30341143, "lat": 19.4255111, "lon": -99.1537632}, {"type": "node", "id": 30381433, "lat": 19.4328138, "lon": -99.1551343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30381435, "lat": 19.4333041, "lon": -99.1541544, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 30381460, "lat": 19.4265244, "lon": -99.1617498}, {"type": "node", "id": 30381496, "lat": 19.4408458, "lon": -99.1552898}, {"type": "node", "id": 30381498, "lat": 19.438168, "lon": -99.1564751}, {"type": "node", "id": 30381499, "lat": 19.4366426, "lon": -99.1571538}, {"type": "node", "id": 30381501, "lat": 19.4343951, "lon": -99.158134, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30381504, "lat": 19.4312161, "lon": -99.159592}, {"type": "node", "id": 30381507, "lat": 19.4284868, "lon": -99.160891}, {"type": "node", "id": 30385291, "lat": 19.4246863, "lon": -99.1591372}, {"type": "node", "id": 30385293, "lat": 19.424734, "lon": -99.1589023, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385296, "lat": 19.4255294, "lon": -99.1553401}, {"type": "node", "id": 30385298, "lat": 19.4259225, "lon": -99.1536738, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594752, "lat": 19.4270797, "lon": -99.1489008, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594779, "lat": 19.4352824, "lon": -99.149792, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594785, "lat": 19.4313098, "lon": -99.1514452}, {"type": "node", "id": 30594786, "lat": 19.4306223, "lon": -99.1517236}, {"type": "node", "id": 30594788, "lat": 19.4286342, "lon": -99.1525546}, {"type": "node", "id": 30594790, "lat": 19.4270648, "lon": -99.1532106}, {"type": "node", "id": 30879523, "lat": 19.4191554, "lon": -99.155893}, {"type": "node", "id": 31241173, "lat": 19.4243455, "lon": -99.1627552}, {"type": "node", "id": 31319106, "lat": 19.4271183, "lon": -99.1718112}, {"type": "node", "id": 31319107, "lat": 19.4274164, "lon": -99.1711927}, {"type": "node", "id": 31319108, "lat": 19.4277376, "lon": -99.170519}, {"type": "node", "id": 31319110, "lat": 19.4286498, "lon": -99.1685516, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 35341404, "lat": 19.4283382, "lon": -99.1724754}, {"type": "node", "id": 35341405, "lat": 19.4286423, "lon": -99.1718345}, {"type": "node", "id": 35341406, "lat": 19.4289593, "lon": -99.1711667}, {"type": "node", "id": 35341409, "lat": 19.4298778, "lon": -99.1691883, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 35341420, "lat": 19.4258703, "lon": -99.1744804}, {"type": "node", "id": 35341528, "lat": 19.4261872, "lon": -99.1738143}, {"type": "node", "id": 35341551, "lat": 19.426475, "lon": -99.1731887}, {"type": "node", "id": 49590190, "lat": 19.4295016, "lon": -99.1730914}, {"type": "node", "id": 49590191, "lat": 19.429806, "lon": -99.172413}, {"type": "node", "id": 49590193, "lat": 19.4301085, "lon": -99.171759}, {"type": "node", "id": 49590194, "lat": 19.4304265, "lon": -99.1710908}, {"type": "node", "id": 49590196, "lat": 19.4310362, "lon": -99.1697872, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 49591405, "lat": 19.4267903, "lon": -99.1724895, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 49593133, "lat": 19.4334513, "lon": -99.1677699}, {"type": "node", "id": 49593134, "lat": 19.4338576, "lon": -99.1669556}, {"type": "node", "id": 49593361, "lat": 19.432279, "lon": -99.1671518}, {"type": "node", "id": 49593767, "lat": 19.4319484, "lon": -99.1678517}, {"type": "node", "id": 49593768, "lat": 19.4307986, "lon": -99.1672313}, {"type": "node", "id": 49593769, "lat": 19.4295784, "lon": -99.1665901}, {"type": "node", "id": 49594218, "lat": 19.4292844, "lon": -99.1672133}, {"type": "node", "id": 49594219, "lat": 19.4305254, "lon": -99.1645808}, {"type": "node", "id": 49594221, "lat": 19.4310266, "lon": -99.1635406}, {"type": "node", "id": 49594223, "lat": 19.4318732, "lon": -99.1617594}, {"type": "node", "id": 49594941, "lat": 19.4316622, "lon": -99.1684568}, {"type": "node", "id": 49595437, "lat": 19.4311257, "lon": -99.1665358}, {"type": "node", "id": 49595443, "lat": 19.4304983, "lon": -99.167859}, {"type": "node", "id": 49595445, "lat": 19.431741, "lon": -99.1652276}, {"type": "node", "id": 49595446, "lat": 19.4322535, "lon": -99.1641768}, {"type": "node", "id": 49595527, "lat": 19.4292875, "lon": -99.1704749}, {"type": "node", "id": 49595920, "lat": 19.4280623, "lon": -99.1698458}, {"type": "node", "id": 49596834, "lat": 19.430717, "lon": -99.1704537}, {"type": "node", "id": 49596836, "lat": 19.4295744, "lon": -99.1698503}, {"type": "node", "id": 49596837, "lat": 19.4283453, "lon": -99.1692288}, {"type": "node", "id": 49598060, "lat": 19.4313564, "lon": -99.1690995}, {"type": "node", "id": 49598061, "lat": 19.4302081, "lon": -99.1684976}, {"type": "node", "id": 49598064, "lat": 19.4289871, "lon": -99.1678606}, {"type": "node", "id": 49599655, "lat": 19.4336403, "lon": -99.1661811}, {"type": "node", "id": 49599657, "lat": 19.433306, "lon": -99.1649849}, {"type": "node", "id": 49599659, "lat": 19.4323895, "lon": -99.161613}, {"type": "node", "id": 49599660, "lat": 19.4321075, "lon": -99.1606048, "tags": {"highway": "crossing"}}, {"type": "node", "id": 49599661, "lat": 19.4317447, "lon": -99.1593345}, {"type": "node", "id": 49599673, "lat": 19.4341692, "lon": -99.1680726}, {"type": "node", "id": 49599961, "lat": 19.4326605, "lon": -99.1663255}, {"type": "node", "id": 49600630, "lat": 19.4327822, "lon": -99.1631107}, {"type": "node", "id": 49600813, "lat": 19.4315141, "lon": -99.1624641}, {"type": "node", "id": 49601176, "lat": 19.431262, "lon": -99.1630143}, {"type": "node", "id": 268269446, "lat": 19.420728, "lon": -99.1563019}, {"type": "node", "id": 268316578, "lat": 19.4242805, "lon": -99.1538557, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268328943, "lat": 19.4246457, "lon": -99.1562441}, {"type": "node", "id": 268328944, "lat": 19.4247159, "lon": -99.1559675}, {"type": "node", "id": 268328945, "lat": 19.4246488, "lon": -99.1557326}, {"type": "node", "id": 268328946, "lat": 19.4244524, "lon": -99.1555885}, {"type": "node", "id": 268328947, "lat": 19.4241992, "lon": -99.1558448}, {"type": "node", "id": 268328948, "lat": 19.424141, "lon": -99.1559478}, {"type": "node", "id": 268329724, "lat": 19.4240886, "lon": -99.1561024}, {"type": "node", "id": 268329725, "lat": 19.4234259, "lon": -99.1577312}, {"type": "node", "id": 268384410, "lat": 19.4240912, "lon": -99.1611147}, {"type": "node", "id": 268384490, "lat": 19.4251724, "lon": -99.1564186, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268384492, "lat": 19.4252828, "lon": -99.1564757, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268384493, "lat": 19.4249691, "lon": -99.1573544, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268384494, "lat": 19.4250854, "lon": -99.157382, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268384510, "lat": 19.4247005, "lon": -99.1558417}, {"type": "node", "id": 268384512, "lat": 19.4242859, "lon": -99.1557219}, {"type": "node", "id": 268384522, "lat": 19.4247992, "lon": -99.1580861}, {"type": "node", "id": 268384524, "lat": 19.424621, "lon": -99.1588292, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268384573, "lat": 19.4242589, "lon": -99.1613098}, {"type": "node", "id": 268433370, "lat": 19.4299407, "lon": -99.1623262}, {"type": "node", "id": 268433388, "lat": 19.4296954, "lon": -99.1628475, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 268433414, "lat": 19.4287923, "lon": -99.1629747}, {"type": "node", "id": 268436855, "lat": 19.4291731, "lon": -99.1642241}, {"type": "node", "id": 268436856, "lat": 19.4292402, "lon": -99.1641686}, {"type": "node", "id": 268436901, "lat": 19.4293686, "lon": -99.1639805, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268437337, "lat": 19.4329978, "lon": -99.155216, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268437526, "lat": 19.4329038, "lon": -99.1547004}, {"type": "node", "id": 268437527, "lat": 19.4332371, "lon": -99.1542544, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268437601, "lat": 19.4242938, "lon": -99.1626066}, {"type": "node", "id": 268437867, "lat": 19.426599, "lon": -99.1615919}, {"type": "node", "id": 268437868, "lat": 19.428314, "lon": -99.1608031}, {"type": "node", "id": 268437875, "lat": 19.4317009, "lon": -99.1591594}, {"type": "node", "id": 268438160, "lat": 19.4312853, "lon": -99.1593679}, {"type": "node", "id": 268438712, "lat": 19.4306666, "lon": -99.1586979}, {"type": "node", "id": 268438714, "lat": 19.4310448, "lon": -99.1584101}, {"type": "node", "id": 268438922, "lat": 19.4267263, "lon": -99.1668505}, {"type": "node", "id": 268438924, "lat": 19.4270306, "lon": -99.1666898}, {"type": "node", "id": 268438926, "lat": 19.4282718, "lon": -99.1640551}, {"type": "node", "id": 268438927, "lat": 19.4282815, "lon": -99.1638365}, {"type": "node", "id": 268438929, "lat": 19.4283985, "lon": -99.1633225}, {"type": "node", "id": 268438931, "lat": 19.4285435, "lon": -99.1631919}, {"type": "node", "id": 268439354, "lat": 19.4256815, "lon": -99.1713452}, {"type": "node", "id": 268439355, "lat": 19.4269614, "lon": -99.1686571}, {"type": "node", "id": 268439357, "lat": 19.4272207, "lon": -99.1685012}, {"type": "node", "id": 268439358, "lat": 19.4274548, "lon": -99.1684105}, {"type": "node", "id": 268439359, "lat": 19.4276891, "lon": -99.1681562}, {"type": "node", "id": 268439362, "lat": 19.4277932, "lon": -99.16745}, {"type": "node", "id": 268439363, "lat": 19.42774, "lon": -99.1672789}, {"type": "node", "id": 268439886, "lat": 19.4267315, "lon": -99.1691399}, {"type": "node", "id": 268439983, "lat": 19.4260852, "lon": -99.1704972}, {"type": "node", "id": 268443529, "lat": 19.4248413, "lon": -99.1731606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268443531, "lat": 19.4254089, "lon": -99.1720884}, {"type": "node", "id": 268447048, "lat": 19.435156, "lon": -99.1504644}, {"type": "node", "id": 268447503, "lat": 19.432687, "lon": -99.1550278}, {"type": "node", "id": 268447507, "lat": 19.4331599, "lon": -99.1541549}, {"type": "node", "id": 268448021, "lat": 19.4283324, "lon": -99.1634461}, {"type": "node", "id": 268448512, "lat": 19.4290173, "lon": -99.1624951}, {"type": "node", "id": 268448804, "lat": 19.4295169, "lon": -99.1614374}, {"type": "node", "id": 268449487, "lat": 19.4319222, "lon": -99.1541251}, {"type": "node", "id": 268449562, "lat": 19.4315226, "lon": -99.1584986}, {"type": "node", "id": 268449689, "lat": 19.4304557, "lon": -99.1546737}, {"type": "node", "id": 268449690, "lat": 19.4297062, "lon": -99.1521065}, {"type": "node", "id": 268449691, "lat": 19.4292813, "lon": -99.1510115}, {"type": "node", "id": 268449860, "lat": 19.4295083, "lon": -99.1580115}, {"type": "node", "id": 268449861, "lat": 19.4287495, "lon": -99.1553128}, {"type": "node", "id": 268449959, "lat": 19.4260625, "lon": -99.1563184}, {"type": "node", "id": 268450211, "lat": 19.4285017, "lon": -99.1575974}, {"type": "node", "id": 268450958, "lat": 19.4262429, "lon": -99.1623456}, {"type": "node", "id": 268451075, "lat": 19.4279158, "lon": -99.1611469}, {"type": "node", "id": 268451076, "lat": 19.4271384, "lon": -99.1628169}, {"type": "node", "id": 268451077, "lat": 19.4253035, "lon": -99.1667213}, {"type": "node", "id": 268451147, "lat": 19.4284207, "lon": -99.1554357}, {"type": "node", "id": 268451148, "lat": 19.4270219, "lon": -99.1583775}, {"type": "node", "id": 268451149, "lat": 19.4252014, "lon": -99.1622139}, {"type": "node", "id": 268451150, "lat": 19.4251246, "lon": -99.1623824}, {"type": "node", "id": 268451161, "lat": 19.4244641, "lon": -99.1614234}, {"type": "node", "id": 268451780, "lat": 19.4247321, "lon": -99.1608546}, {"type": "node", "id": 268451781, "lat": 19.4261236, "lon": -99.1579005}, {"type": "node", "id": 268451782, "lat": 19.4270338, "lon": -99.1559549}, {"type": "node", "id": 268452320, "lat": 19.4256218, "lon": -99.1613222}, {"type": "node", "id": 268452450, "lat": 19.4278954, "lon": -99.1648526}, {"type": "node", "id": 268452490, "lat": 19.4272757, "lon": -99.1661685}, {"type": "node", "id": 268452546, "lat": 19.4250043, "lon": -99.1649811}, {"type": "node", "id": 268452548, "lat": 19.4268245, "lon": -99.1634904}, {"type": "node", "id": 268452575, "lat": 19.4281938, "lon": -99.1642206}, {"type": "node", "id": 268452678, "lat": 19.4275777, "lon": -99.163892}, {"type": "node", "id": 268452679, "lat": 19.4278962, "lon": -99.1632157}, {"type": "node", "id": 268452711, "lat": 19.426483, "lon": -99.1657541}, {"type": "node", "id": 268452742, "lat": 19.4271162, "lon": -99.1644474}, {"type": "node", "id": 268452743, "lat": 19.4267103, "lon": -99.1652848}, {"type": "node", "id": 268452816, "lat": 19.4270909, "lon": -99.1665618}, {"type": "node", "id": 268452817, "lat": 19.4257197, "lon": -99.16584}, {"type": "node", "id": 268452836, "lat": 19.4255711, "lon": -99.1661548}, {"type": "node", "id": 268452852, "lat": 19.4274959, "lon": -99.1657021}, {"type": "node", "id": 268499783, "lat": 19.4252673, "lon": -99.1537837}, {"type": "node", "id": 268499917, "lat": 19.4257547, "lon": -99.1537379, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268512740, "lat": 19.4234401, "lon": -99.1548931}, {"type": "node", "id": 268512741, "lat": 19.4240456, "lon": -99.1549596}, {"type": "node", "id": 268512742, "lat": 19.4254311, "lon": -99.1552274}, {"type": "node", "id": 268512830, "lat": 19.4245617, "lon": -99.1550599}, {"type": "node", "id": 268513297, "lat": 19.4231773, "lon": -99.1558707}, {"type": "node", "id": 268513754, "lat": 19.4252182, "lon": -99.1562077}, {"type": "node", "id": 268513812, "lat": 19.425022, "lon": -99.1551493}, {"type": "node", "id": 268513827, "lat": 19.4256527, "lon": -99.1527659}, {"type": "node", "id": 268514242, "lat": 19.425721, "lon": -99.1511293, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268514485, "lat": 19.4255575, "lon": -99.1511588, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268514486, "lat": 19.4241036, "lon": -99.1514613}, {"type": "node", "id": 268531831, "lat": 19.4366155, "lon": -99.1569806}, {"type": "node", "id": 268531832, "lat": 19.4381142, "lon": -99.1563261}, {"type": "node", "id": 268714876, "lat": 19.4294112, "lon": -99.173278}, {"type": "node", "id": 268714886, "lat": 19.4249577, "lon": -99.1764493}, {"type": "node", "id": 268900072, "lat": 19.4376109, "lon": -99.1685775}, {"type": "node", "id": 269819947, "lat": 19.4301345, "lon": -99.1534997}, {"type": "node", "id": 269820143, "lat": 19.4336626, "lon": -99.1531432}, {"type": "node", "id": 269820329, "lat": 19.4333113, "lon": -99.1506015}, {"type": "node", "id": 269820368, "lat": 19.4335, "lon": -99.1520806}, {"type": "node", "id": 269820814, "lat": 19.4310332, "lon": -99.1514519}, {"type": "node", "id": 269820842, "lat": 19.4309338, "lon": -99.1517189}, {"type": "node", "id": 269820848, "lat": 19.4311458, "lon": -99.1571958}, {"type": "node", "id": 269820932, "lat": 19.4319049, "lon": -99.154897}, {"type": "node", "id": 269820933, "lat": 19.431948, "lon": -99.1547293}, {"type": "node", "id": 269820952, "lat": 19.4326309, "lon": -99.1508954}, {"type": "node", "id": 269820958, "lat": 19.4295856, "lon": -99.1549997}, {"type": "node", "id": 269820959, "lat": 19.4291438, "lon": -99.1539211}, {"type": "node", "id": 269820961, "lat": 19.4312273, "lon": -99.1574936}, {"type": "node", "id": 269820962, "lat": 19.4303672, "lon": -99.157753}, {"type": "node", "id": 269820985, "lat": 19.4314033, "lon": -99.1564197}, {"type": "node", "id": 269820986, "lat": 19.4309709, "lon": -99.1565564}, {"type": "node", "id": 269820987, "lat": 19.4301052, "lon": -99.15683}, {"type": "node", "id": 269820989, "lat": 19.4319769, "lon": -99.1567202}, {"type": "node", "id": 269821024, "lat": 19.4322621, "lon": -99.1568915}, {"type": "node", "id": 269821061, "lat": 19.4343711, "lon": -99.1579637}, {"type": "node", "id": 269821199, "lat": 19.4331464, "lon": -99.1573326}, {"type": "node", "id": 269821267, "lat": 19.4317503, "lon": -99.1553664}, {"type": "node", "id": 269821404, "lat": 19.4298606, "lon": -99.1559399}, {"type": "node", "id": 269821579, "lat": 19.427554, "lon": -99.1530061}, {"type": "node", "id": 269821580, "lat": 19.4280618, "lon": -99.1543771}, {"type": "node", "id": 269821700, "lat": 19.4266386, "lon": -99.1549768}, {"type": "node", "id": 269821701, "lat": 19.4261305, "lon": -99.1536009}, {"type": "node", "id": 269821772, "lat": 19.4275764, "lon": -99.1545816}, {"type": "node", "id": 269821891, "lat": 19.4272864, "lon": -99.1547038}, {"type": "node", "id": 269821936, "lat": 19.4267716, "lon": -99.1533331}, {"type": "node", "id": 269821983, "lat": 19.426999, "lon": -99.154825}, {"type": "node", "id": 269822044, "lat": 19.4264852, "lon": -99.1534529}, {"type": "node", "id": 269822462, "lat": 19.4275168, "lon": -99.1524072}, {"type": "node", "id": 269822533, "lat": 19.4261413, "lon": -99.1529276}, {"type": "node", "id": 269822665, "lat": 19.4304463, "lon": -99.150164}, {"type": "node", "id": 269825078, "lat": 19.4306467, "lon": -99.1507343}, {"type": "node", "id": 269825261, "lat": 19.4274532, "lon": -99.1513828}, {"type": "node", "id": 269825324, "lat": 19.4266742, "lon": -99.1509369, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 269825424, "lat": 19.4274159, "lon": -99.150783}, {"type": "node", "id": 269825425, "lat": 19.4280166, "lon": -99.1506603}, {"type": "node", "id": 269825426, "lat": 19.432465, "lon": -99.1497604}, {"type": "node", "id": 269825429, "lat": 19.4295432, "lon": -99.1509584}, {"type": "node", "id": 269825431, "lat": 19.4297041, "lon": -99.1503156}, {"type": "node", "id": 269826075, "lat": 19.4316942, "lon": -99.1512852}, {"type": "node", "id": 269826153, "lat": 19.4315062, "lon": -99.1499573}, {"type": "node", "id": 269827027, "lat": 19.4331397, "lon": -99.1492483}, {"type": "node", "id": 269827028, "lat": 19.4324074, "lon": -99.1493663}, {"type": "node", "id": 269827039, "lat": 19.4323265, "lon": -99.1488126}, {"type": "node", "id": 269827194, "lat": 19.4330545, "lon": -99.1486467}, {"type": "node", "id": 270105704, "lat": 19.439909, "lon": -99.1557126, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270105705, "lat": 19.4398445, "lon": -99.1555577, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270105706, "lat": 19.4388971, "lon": -99.153235, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270105800, "lat": 19.435741, "lon": -99.155507}, {"type": "node", "id": 270105801, "lat": 19.4354184, "lon": -99.153313}, {"type": "node", "id": 270105802, "lat": 19.4355149, "lon": -99.1531752}, {"type": "node", "id": 270105803, "lat": 19.4359503, "lon": -99.1530083}, {"type": "node", "id": 270105805, "lat": 19.4363762, "lon": -99.153037}, {"type": "node", "id": 270105806, "lat": 19.436515, "lon": -99.1531413}, {"type": "node", "id": 270105807, "lat": 19.4366812, "lon": -99.1540239, "tags": {"highway": "crossing"}}, {"type": "node", "id": 270105808, "lat": 19.4368306, "lon": -99.1553391}, {"type": "node", "id": 270105809, "lat": 19.4367684, "lon": -99.1554264}, {"type": "node", "id": 270105810, "lat": 19.4366587, "lon": -99.1554953}, {"type": "node", "id": 270105811, "lat": 19.4364206, "lon": -99.1555825}, {"type": "node", "id": 270105812, "lat": 19.4362453, "lon": -99.1556156}, {"type": "node", "id": 270105813, "lat": 19.4360288, "lon": -99.1556173}, {"type": "node", "id": 270105814, "lat": 19.4358288, "lon": -99.1555736}, {"type": "node", "id": 270105857, "lat": 19.4355262, "lon": -99.1543073}, {"type": "node", "id": 270105885, "lat": 19.4355419, "lon": -99.1544158}, {"type": "node", "id": 270105886, "lat": 19.4358824, "lon": -99.1525357}, {"type": "node", "id": 270105888, "lat": 19.4356433, "lon": -99.1508703}, {"type": "node", "id": 270105889, "lat": 19.4355061, "lon": -99.1505319}, {"type": "node", "id": 270105890, "lat": 19.435412, "lon": -99.1504899}, {"type": "node", "id": 270105891, "lat": 19.4352454, "lon": -99.150535}, {"type": "node", "id": 270105956, "lat": 19.4379567, "lon": -99.1491105, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270105957, "lat": 19.4362429, "lon": -99.1495644}, {"type": "node", "id": 270105958, "lat": 19.4357065, "lon": -99.1497355}, {"type": "node", "id": 270105994, "lat": 19.4355143, "lon": -99.150082, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 270105997, "lat": 19.4360434, "lon": -99.1529989}, {"type": "node", "id": 270106167, "lat": 19.4364375, "lon": -99.1570558}, {"type": "node", "id": 270106309, "lat": 19.4389364, "lon": -99.1533754, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270106310, "lat": 19.4366911, "lon": -99.1540913}, {"type": "node", "id": 270106576, "lat": 19.4403415, "lon": -99.1526708}, {"type": "node", "id": 270106577, "lat": 19.44058, "lon": -99.1525569}, {"type": "node", "id": 270106578, "lat": 19.4408389, "lon": -99.1524943}, {"type": "node", "id": 270106738, "lat": 19.440889, "lon": -99.1526744}, {"type": "node", "id": 270106739, "lat": 19.4403779, "lon": -99.1528169}, {"type": "node", "id": 270107493, "lat": 19.4339143, "lon": -99.1546818}, {"type": "node", "id": 270107494, "lat": 19.4339002, "lon": -99.1545757}, {"type": "node", "id": 270107504, "lat": 19.4324632, "lon": -99.158801}, {"type": "node", "id": 270107594, "lat": 19.4338134, "lon": -99.1535871}, {"type": "node", "id": 270107619, "lat": 19.4337282, "lon": -99.153522, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270107641, "lat": 19.4348512, "lon": -99.1557255}, {"type": "node", "id": 270107642, "lat": 19.4340713, "lon": -99.1558123}, {"type": "node", "id": 270107643, "lat": 19.433816, "lon": -99.1558945, "tags": {"highway": "stop"}}, {"type": "node", "id": 270107644, "lat": 19.4347001, "lon": -99.1545527}, {"type": "node", "id": 270107674, "lat": 19.4341873, "lon": -99.1566475}, {"type": "node", "id": 270107741, "lat": 19.4363385, "lon": -99.1563143}, {"type": "node", "id": 270107742, "lat": 19.4365184, "lon": -99.156284}, {"type": "node", "id": 270107762, "lat": 19.4379763, "lon": -99.1559092}, {"type": "node", "id": 270107873, "lat": 19.4394901, "lon": -99.1547061}, {"type": "node", "id": 270107875, "lat": 19.4412644, "lon": -99.1540514}, {"type": "node", "id": 270108886, "lat": 19.4397978, "lon": -99.1518118}, {"type": "node", "id": 270108889, "lat": 19.4386373, "lon": -99.1521639}, {"type": "node", "id": 270108931, "lat": 19.4394693, "lon": -99.1602537}, {"type": "node", "id": 270108932, "lat": 19.4392041, "lon": -99.1591218}, {"type": "node", "id": 270108933, "lat": 19.4377691, "lon": -99.1552076}, {"type": "node", "id": 270108934, "lat": 19.4373921, "lon": -99.15397}, {"type": "node", "id": 270108935, "lat": 19.4373563, "lon": -99.1538307}, {"type": "node", "id": 270108936, "lat": 19.4370926, "lon": -99.1528374}, {"type": "node", "id": 270108937, "lat": 19.4408833, "lon": -99.1665812}, {"type": "node", "id": 270108940, "lat": 19.4385626, "lon": -99.1556796}, {"type": "node", "id": 270108949, "lat": 19.4371592, "lon": -99.1492742}, {"type": "node", "id": 270108954, "lat": 19.4383207, "lon": -99.1550465}, {"type": "node", "id": 270108955, "lat": 19.4379748, "lon": -99.1539446}, {"type": "node", "id": 270108956, "lat": 19.4379422, "lon": -99.1537566}, {"type": "node", "id": 270108957, "lat": 19.4379139, "lon": -99.1536112}, {"type": "node", "id": 270108958, "lat": 19.4375964, "lon": -99.1526097}, {"type": "node", "id": 270108959, "lat": 19.4372519, "lon": -99.1513202}, {"type": "node", "id": 270109029, "lat": 19.4374698, "lon": -99.1521789}, {"type": "node", "id": 270109030, "lat": 19.4369524, "lon": -99.1522869}, {"type": "node", "id": 270109036, "lat": 19.4358054, "lon": -99.1519994}, {"type": "node", "id": 270109037, "lat": 19.43684, "lon": -99.1518473}, {"type": "node", "id": 270109144, "lat": 19.4384008, "lon": -99.1510597}, {"type": "node", "id": 270109145, "lat": 19.4367242, "lon": -99.1513942}, {"type": "node", "id": 270109146, "lat": 19.4357403, "lon": -99.1515461}, {"type": "node", "id": 270109148, "lat": 19.4356587, "lon": -99.1509779}, {"type": "node", "id": 270109285, "lat": 19.4382639, "lon": -99.1504848, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270109288, "lat": 19.4455624, "lon": -99.1488232, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270109289, "lat": 19.4510777, "lon": -99.147555}, {"type": "node", "id": 270109290, "lat": 19.4528519, "lon": -99.1471484, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 270109293, "lat": 19.4365668, "lon": -99.1507963}, {"type": "node", "id": 270109294, "lat": 19.4372211, "lon": -99.150661}, {"type": "node", "id": 270109359, "lat": 19.4356254, "lon": -99.150491}, {"type": "node", "id": 270109371, "lat": 19.4364303, "lon": -99.1502771}, {"type": "node", "id": 270110036, "lat": 19.4402278, "lon": -99.1500823}, {"type": "node", "id": 270110037, "lat": 19.4405557, "lon": -99.1515534}, {"type": "node", "id": 270110038, "lat": 19.4419213, "lon": -99.1564108}, {"type": "node", "id": 270110144, "lat": 19.4405063, "lon": -99.154298}, {"type": "node", "id": 270110193, "lat": 19.4400966, "lon": -99.1529306}, {"type": "node", "id": 270110220, "lat": 19.4412753, "lon": -99.1565809}, {"type": "node", "id": 270110221, "lat": 19.4399436, "lon": -99.1523185}, {"type": "node", "id": 270110222, "lat": 19.4394043, "lon": -99.1502744}, {"type": "node", "id": 270110223, "lat": 19.4391368, "lon": -99.1489243}, {"type": "node", "id": 270110226, "lat": 19.4403421, "lon": -99.1537213}, {"type": "node", "id": 270110230, "lat": 19.440001, "lon": -99.1554878}, {"type": "node", "id": 270110275, "lat": 19.4390112, "lon": -99.1512546}, {"type": "node", "id": 270110276, "lat": 19.43883, "lon": -99.1503807}, {"type": "node", "id": 270110292, "lat": 19.439675, "lon": -99.1502138}, {"type": "node", "id": 270110343, "lat": 19.4396822, "lon": -99.154633}, {"type": "node", "id": 270110344, "lat": 19.4394659, "lon": -99.1540701}, {"type": "node", "id": 270110345, "lat": 19.4391654, "lon": -99.1532879}, {"type": "node", "id": 270110511, "lat": 19.4421263, "lon": -99.151043}, {"type": "node", "id": 270110512, "lat": 19.4418919, "lon": -99.149688}, {"type": "node", "id": 270110572, "lat": 19.4392299, "lon": -99.1494267}, {"type": "node", "id": 270110657, "lat": 19.4423255, "lon": -99.1509888}, {"type": "node", "id": 270113613, "lat": 19.4508509, "lon": -99.1476031}, {"type": "node", "id": 270113669, "lat": 19.4428692, "lon": -99.1494365}, {"type": "node", "id": 270114204, "lat": 19.444589, "lon": -99.1490655}, {"type": "node", "id": 270209821, "lat": 19.4463619, "lon": -99.1486412}, {"type": "node", "id": 270210330, "lat": 19.447317, "lon": -99.1484237}, {"type": "node", "id": 270210485, "lat": 19.448276, "lon": -99.1482053}, {"type": "node", "id": 270210846, "lat": 19.4492209, "lon": -99.1479901}, {"type": "node", "id": 270211069, "lat": 19.4501865, "lon": -99.147759}, {"type": "node", "id": 270211426, "lat": 19.4519553, "lon": -99.1473674}, {"type": "node", "id": 270211467, "lat": 19.4515568, "lon": -99.1474444}, {"type": "node", "id": 270214201, "lat": 19.4356085, "lon": -99.1668702, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 270214495, "lat": 19.4354696, "lon": -99.1675763}, {"type": "node", "id": 270214684, "lat": 19.4342028, "lon": -99.1637003}, {"type": "node", "id": 270214685, "lat": 19.4323451, "lon": -99.1590453, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270214903, "lat": 19.4347008, "lon": -99.1604318}, {"type": "node", "id": 270214904, "lat": 19.4410579, "lon": -99.1584738, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270215117, "lat": 19.4326685, "lon": -99.1599593}, {"type": "node", "id": 270215233, "lat": 19.4345388, "lon": -99.1591352}, {"type": "node", "id": 270215234, "lat": 19.4385274, "lon": -99.1573774}, {"type": "node", "id": 270215416, "lat": 19.4370044, "lon": -99.1580392}, {"type": "node", "id": 270215417, "lat": 19.4378162, "lon": -99.1589849}, {"type": "node", "id": 270215455, "lat": 19.4379906, "lon": -99.1592669}, {"type": "node", "id": 270215588, "lat": 19.4379752, "lon": -99.1594939}, {"type": "node", "id": 270215589, "lat": 19.4372858, "lon": -99.1615452}, {"type": "node", "id": 270215591, "lat": 19.4387002, "lon": -99.1680188}, {"type": "node", "id": 270217773, "lat": 19.4404003, "lon": -99.1643512}, {"type": "node", "id": 270217774, "lat": 19.4380161, "lon": -99.1650108}, {"type": "node", "id": 270217775, "lat": 19.4354622, "lon": -99.1657089}, {"type": "node", "id": 270217776, "lat": 19.4348552, "lon": -99.1658712}, {"type": "node", "id": 270218015, "lat": 19.4374258, "lon": -99.167931}, {"type": "node", "id": 270218016, "lat": 19.4368684, "lon": -99.1653318}, {"type": "node", "id": 270218017, "lat": 19.4361082, "lon": -99.1620303}, {"type": "node", "id": 270218144, "lat": 19.4371113, "lon": -99.1664455}, {"type": "node", "id": 270218145, "lat": 19.4382712, "lon": -99.1661224, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 270218146, "lat": 19.4406502, "lon": -99.1654783}, {"type": "node", "id": 270218481, "lat": 19.4397863, "lon": -99.1672997}, {"type": "node", "id": 270218537, "lat": 19.4394528, "lon": -99.1657916}, {"type": "node", "id": 270218538, "lat": 19.4392079, "lon": -99.1646852}, {"type": "node", "id": 270218539, "lat": 19.438482, "lon": -99.16145}, {"type": "node", "id": 270218545, "lat": 19.4345276, "lon": -99.1648197}, {"type": "node", "id": 270218721, "lat": 19.4352964, "lon": -99.1645812}, {"type": "node", "id": 270218722, "lat": 19.4366172, "lon": -99.1642152}, {"type": "node", "id": 270218723, "lat": 19.4377687, "lon": -99.1639047}, {"type": "node", "id": 270218724, "lat": 19.4389603, "lon": -99.1635837}, {"type": "node", "id": 270218725, "lat": 19.4401554, "lon": -99.1632561}, {"type": "node", "id": 270218873, "lat": 19.4415843, "lon": -99.1640445}, {"type": "node", "id": 270218874, "lat": 19.4413438, "lon": -99.1629473}, {"type": "node", "id": 270218875, "lat": 19.4408651, "lon": -99.1607762}, {"type": "node", "id": 270219055, "lat": 19.4410934, "lon": -99.161804}, {"type": "node", "id": 270219056, "lat": 19.4399014, "lon": -99.1621349}, {"type": "node", "id": 270219057, "lat": 19.4387066, "lon": -99.1624544}, {"type": "node", "id": 270219058, "lat": 19.4375295, "lon": -99.1627962}, {"type": "node", "id": 270219059, "lat": 19.436357, "lon": -99.1631208}, {"type": "node", "id": 270219060, "lat": 19.4351405, "lon": -99.16345}, {"type": "node", "id": 270219167, "lat": 19.4349753, "lon": -99.1622948}, {"type": "node", "id": 270219299, "lat": 19.437533, "lon": -99.1608167}, {"type": "node", "id": 270219300, "lat": 19.4348653, "lon": -99.1615873}, {"type": "node", "id": 270219432, "lat": 19.4406977, "lon": -99.1598509}, {"type": "node", "id": 270219584, "lat": 19.4389541, "lon": -99.1584375}, {"type": "node", "id": 270219623, "lat": 19.4399553, "lon": -99.1579861}, {"type": "node", "id": 270219629, "lat": 19.4397945, "lon": -99.1576121, "tags": {"noexit": "yes"}}, {"type": "node", "id": 270282531, "lat": 19.4407622, "lon": -99.1577631}, {"type": "node", "id": 270283739, "lat": 19.4405051, "lon": -99.1567888}, {"type": "node", "id": 270283740, "lat": 19.4400874, "lon": -99.155633}, {"type": "node", "id": 642439650, "lat": 19.4287025, "lon": -99.1669053}, {"type": "node", "id": 642440521, "lat": 19.4293184, "lon": -99.1655804}, {"type": "node", "id": 642440522, "lat": 19.4299316, "lon": -99.1642638}, {"type": "node", "id": 842912854, "lat": 19.4216559, "lon": -99.1580795}, {"type": "node", "id": 842912865, "lat": 19.4220059, "lon": -99.1565975}, {"type": "node", "id": 842912875, "lat": 19.419945, "lon": -99.1560885}, {"type": "node", "id": 842912893, "lat": 19.4232505, "lon": -99.1584723}, {"type": "node", "id": 842912899, "lat": 19.4222172, "lon": -99.1556311}, {"type": "node", "id": 842912907, "lat": 19.4235886, "lon": -99.1569942}, {"type": "node", "id": 842912912, "lat": 19.4237966, "lon": -99.1560282}, {"type": "node", "id": 848492629, "lat": 19.4256267, "lon": -99.1620244}, {"type": "node", "id": 848492632, "lat": 19.4276315, "lon": -99.1617578}, {"type": "node", "id": 848492635, "lat": 19.4259034, "lon": -99.1654511}, {"type": "node", "id": 848492647, "lat": 19.4269848, "lon": -99.1614096}, {"type": "node", "id": 848492650, "lat": 19.4263581, "lon": -99.1597736}, {"type": "node", "id": 848492651, "lat": 19.4247395, "lon": -99.1632039, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 848492658, "lat": 19.4249624, "lon": -99.1603656}, {"type": "node", "id": 848492662, "lat": 19.4267445, "lon": -99.1612838}, {"type": "node", "id": 848492667, "lat": 19.4258573, "lon": -99.1608267}, {"type": "node", "id": 848492671, "lat": 19.4276141, "lon": -99.1571321}, {"type": "node", "id": 848492675, "lat": 19.4257681, "lon": -99.1620957}, {"type": "node", "id": 848492685, "lat": 19.427138, "lon": -99.1614952}, {"type": "node", "id": 848492694, "lat": 19.4287891, "lon": -99.1593153}, {"type": "node", "id": 848492696, "lat": 19.4265227, "lon": -99.1641398}, {"type": "node", "id": 848492706, "lat": 19.4281234, "lon": -99.160702}, {"type": "node", "id": 848492707, "lat": 19.4267093, "lon": -99.1566573}, {"type": "node", "id": 848492710, "lat": 19.4253571, "lon": -99.1618867}, {"type": "node", "id": 848492712, "lat": 19.4272429, "lon": -99.1602354}, {"type": "node", "id": 994764224, "lat": 19.433904, "lon": -99.1661119}, {"type": "node", "id": 1351117499, "lat": 19.4404728, "lon": -99.1525971}, {"type": "node", "id": 1351117503, "lat": 19.4406227, "lon": -99.1527623}, {"type": "node", "id": 1351117508, "lat": 19.4405152, "lon": -99.1527896}, {"type": "node", "id": 1381614114, "lat": 19.4333625, "lon": -99.1545502}, {"type": "node", "id": 1381614116, "lat": 19.4327192, "lon": -99.1543913, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 1381614118, "lat": 19.433009, "lon": -99.1542325, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1381614122, "lat": 19.4326375, "lon": -99.154589}, {"type": "node", "id": 1381614127, "lat": 19.4326459, "lon": -99.1548094}, {"type": "node", "id": 1381614129, "lat": 19.4326504, "lon": -99.1545033}, {"type": "node", "id": 1381614135, "lat": 19.4326672, "lon": -99.1549095}, {"type": "node", "id": 1381614138, "lat": 19.4333863, "lon": -99.1542674, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 1381614144, "lat": 19.432836, "lon": -99.1542877}, {"type": "node", "id": 1381629286, "lat": 19.4317703, "lon": -99.1589743, "tags": {"highway": "give_way"}}, {"type": "node", "id": 1381629288, "lat": 19.4338763, "lon": -99.153451}, {"type": "node", "id": 1381629289, "lat": 19.4317299, "lon": -99.158905}, {"type": "node", "id": 1381629298, "lat": 19.4315805, "lon": -99.1583478}, {"type": "node", "id": 1381629300, "lat": 19.4318832, "lon": -99.1590737}, {"type": "node", "id": 1382691423, "lat": 19.4311503, "lon": -99.1592139}, {"type": "node", "id": 1382691424, "lat": 19.431261, "lon": -99.1579876, "tags": {"highway": "crossing"}}, {"type": "node", "id": 1382691425, "lat": 19.4312367, "lon": -99.1590565}, {"type": "node", "id": 1382691427, "lat": 19.4313019, "lon": -99.158885}, {"type": "node", "id": 1382691428, "lat": 19.4311094, "lon": -99.1583398}, {"type": "node", "id": 1382691429, "lat": 19.4312154, "lon": -99.1581472}, {"type": "node", "id": 1382691432, "lat": 19.4308457, "lon": -99.1593177}, {"type": "node", "id": 1382691433, "lat": 19.431368, "lon": -99.158585}, {"type": "node", "id": 1382691435, "lat": 19.4307766, "lon": -99.1595276, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 1382691436, "lat": 19.4310572, "lon": -99.1587244}, {"type": "node", "id": 1382691437, "lat": 19.431167, "lon": -99.158253}, {"type": "node", "id": 1382691438, "lat": 19.4314617, "lon": -99.1583273, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382691439, "lat": 19.4309627, "lon": -99.1588807}, {"type": "node", "id": 1382691440, "lat": 19.4309085, "lon": -99.1590308}, {"type": "node", "id": 1382691441, "lat": 19.4314175, "lon": -99.1581903, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382691442, "lat": 19.4308751, "lon": -99.1591758}, {"type": "node", "id": 1382691443, "lat": 19.431249, "lon": -99.1584921}, {"type": "node", "id": 1382691445, "lat": 19.4309843, "lon": -99.1594305, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 1382692228, "lat": 19.4307435, "lon": -99.1591397}, {"type": "node", "id": 1382692229, "lat": 19.4307017, "lon": -99.1592274}, {"type": "node", "id": 1382692231, "lat": 19.4312943, "lon": -99.1577532}, {"type": "node", "id": 1382692233, "lat": 19.4303745, "lon": -99.1597471, "tags": {"highway": "crossing"}}, {"type": "node", "id": 1382692234, "lat": 19.4313141, "lon": -99.1581706, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 1382692235, "lat": 19.4311197, "lon": -99.1584664, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382692236, "lat": 19.4308449, "lon": -99.1588998}, {"type": "node", "id": 1382692238, "lat": 19.4312127, "lon": -99.1583474}, {"type": "node", "id": 1382692240, "lat": 19.4310218, "lon": -99.1585805}, {"type": "node", "id": 1382694592, "lat": 19.4315124, "lon": -99.1588302, "tags": {"highway": "crossing"}}, {"type": "node", "id": 1382694594, "lat": 19.4314438, "lon": -99.1588396}, {"type": "node", "id": 1382694596, "lat": 19.4316222, "lon": -99.1588455}, {"type": "node", "id": 1382788723, "lat": 19.4388023, "lon": -99.1534268}, {"type": "node", "id": 1382788724, "lat": 19.4397124, "lon": -99.1556147}, {"type": "node", "id": 1382788727, "lat": 19.4401509, "lon": -99.1566694}, {"type": "node", "id": 1382788734, "lat": 19.4397772, "lon": -99.155771, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382788738, "lat": 19.4421654, "lon": -99.1614948}, {"type": "node", "id": 1382788739, "lat": 19.4384907, "lon": -99.1522199}, {"type": "node", "id": 1382788740, "lat": 19.4425087, "lon": -99.1626281, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382788743, "lat": 19.4413657, "lon": -99.1595661, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382788744, "lat": 19.4378157, "lon": -99.149143}, {"type": "node", "id": 1382788757, "lat": 19.4387497, "lon": -99.1532917}, {"type": "node", "id": 1382788759, "lat": 19.4395666, "lon": -99.1552642}, {"type": "node", "id": 1382788767, "lat": 19.4393506, "lon": -99.154745}, {"type": "node", "id": 1382788771, "lat": 19.4409477, "lon": -99.1585854, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382788773, "lat": 19.4374059, "lon": -99.1469722}, {"type": "node", "id": 1382788774, "lat": 19.4405841, "lon": -99.1577111}, {"type": "node", "id": 1382788782, "lat": 19.4427672, "lon": -99.1637177, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1382788786, "lat": 19.4381165, "lon": -99.1504983}, {"type": "node", "id": 1383544132, "lat": 19.4527965, "lon": -99.1471625, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1385760545, "lat": 19.4336932, "lon": -99.15332, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1385784711, "lat": 19.4356185, "lon": -99.1502714}, {"type": "node", "id": 1385784713, "lat": 19.4356196, "lon": -99.1504381, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 1385784716, "lat": 19.4356463, "lon": -99.1500962, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 1385794412, "lat": 19.4355992, "lon": -99.1491144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1385800622, "lat": 19.4320422, "lon": -99.1541755, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1385809389, "lat": 19.4256043, "lon": -99.1492963, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1385809390, "lat": 19.4322, "lon": -99.147947}, {"type": "node", "id": 1385809397, "lat": 19.427303, "lon": -99.1489612}, {"type": "node", "id": 1385809414, "lat": 19.4301673, "lon": -99.1483658}, {"type": "node", "id": 1385809418, "lat": 19.4312359, "lon": -99.1481456}, {"type": "node", "id": 1385809424, "lat": 19.4271903, "lon": -99.1489846}, {"type": "node", "id": 1405530566, "lat": 19.425562, "lon": -99.175159}, {"type": "node", "id": 1417722222, "lat": 19.4334788, "lon": -99.1627374}, {"type": "node", "id": 1417722225, "lat": 19.4347908, "lon": -99.1657114}, {"type": "node", "id": 1420541289, "lat": 19.433035, "lon": -99.1538644}, {"type": "node", "id": 1420541290, "lat": 19.4331697, "lon": -99.1539423}, {"type": "node", "id": 1420541292, "lat": 19.4332447, "lon": -99.1539395}, {"type": "node", "id": 1420541294, "lat": 19.4333103, "lon": -99.1539024}, {"type": "node", "id": 1420541295, "lat": 19.4336132, "lon": -99.1546161}, {"type": "node", "id": 1420660837, "lat": 19.4242421, "lon": -99.1611843}, {"type": "node", "id": 1420660838, "lat": 19.4245367, "lon": -99.1601464}, {"type": "node", "id": 1420660839, "lat": 19.4245659, "lon": -99.1595777}, {"type": "node", "id": 1420660840, "lat": 19.4246246, "lon": -99.1595907}, {"type": "node", "id": 1420660841, "lat": 19.4265558, "lon": -99.1509615, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1439994446, "lat": 19.4403725, "lon": -99.1568265}, {"type": "node", "id": 1464343312, "lat": 19.4329059, "lon": -99.1657997}, {"type": "node", "id": 1503129740, "lat": 19.4277831, "lon": -99.1679379}, {"type": "node", "id": 1869956235, "lat": 19.438264, "lon": -99.151169}, {"type": "node", "id": 1975855135, "lat": 19.4313761, "lon": -99.158043}, {"type": "node", "id": 2131738709, "lat": 19.4236042, "lon": -99.1755714}, {"type": "node", "id": 2131738715, "lat": 19.4316075, "lon": -99.1584483, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 2131738815, "lat": 19.4277398, "lon": -99.1680583, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2255928543, "lat": 19.4290643, "lon": -99.1634301}, {"type": "node", "id": 2255928568, "lat": 19.4289542, "lon": -99.1633732}, {"type": "node", "id": 2255952596, "lat": 19.4331079, "lon": -99.1540798, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 2255952598, "lat": 19.4337745, "lon": -99.1536717}, {"type": "node", "id": 2266010603, "lat": 19.4278187, "lon": -99.1676308}, {"type": "node", "id": 2266653687, "lat": 19.4310992, "lon": -99.1516423}, {"type": "node", "id": 2266653689, "lat": 19.4308548, "lon": -99.1512738}, {"type": "node", "id": 2267498797, "lat": 19.4368492, "lon": -99.1551684}, {"type": "node", "id": 2285222871, "lat": 19.4272501, "lon": -99.16728}, {"type": "node", "id": 2285222880, "lat": 19.427147, "lon": -99.1672233}, {"type": "node", "id": 2434287904, "lat": 19.4353657, "lon": -99.1488904}, {"type": "node", "id": 2434287908, "lat": 19.4353568, "lon": -99.1485272}, {"type": "node", "id": 2461279996, "lat": 19.4305154, "lon": -99.1600764, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 2461280000, "lat": 19.4306415, "lon": -99.1600759, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 2995247461, "lat": 19.4305557, "lon": -99.1662494}, {"type": "node", "id": 2995247467, "lat": 19.4313993, "lon": -99.1659542}, {"type": "node", "id": 2995248192, "lat": 19.431349, "lon": -99.1666479}, {"type": "node", "id": 2995248196, "lat": 19.4312455, "lon": -99.1662716}, {"type": "node", "id": 2995248205, "lat": 19.4310074, "lon": -99.1667894}, {"type": "node", "id": 3289788672, "lat": 19.436856, "lon": -99.1476241}, {"type": "node", "id": 3308893234, "lat": 19.4438751, "lon": -99.1505033}, {"type": "node", "id": 3308912976, "lat": 19.4431446, "lon": -99.1507262}, {"type": "node", "id": 3308912977, "lat": 19.4436587, "lon": -99.1492719}, {"type": "node", "id": 3394868774, "lat": 19.430862, "lon": -99.1664057}, {"type": "node", "id": 3396214530, "lat": 19.4242701, "lon": -99.1537239, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3396214532, "lat": 19.4257009, "lon": -99.15358, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3416675541, "lat": 19.4242927, "lon": -99.1599918}, {"type": "node", "id": 3605943825, "lat": 19.4256294, "lon": -99.1717522}, {"type": "node", "id": 3605943826, "lat": 19.425524, "lon": -99.1719805}, {"type": "node", "id": 3642877293, "lat": 19.4260346, "lon": -99.1533274}, {"type": "node", "id": 3660332613, "lat": 19.4305282, "lon": -99.1610773}, {"type": "node", "id": 3712250759, "lat": 19.4262795, "lon": -99.1672309}, {"type": "node", "id": 3735241077, "lat": 19.4245639, "lon": -99.1590906}, {"type": "node", "id": 3750511568, "lat": 19.4333772, "lon": -99.1544322, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3750511580, "lat": 19.4334195, "lon": -99.1550562}, {"type": "node", "id": 3750511581, "lat": 19.4333501, "lon": -99.1551199}, {"type": "node", "id": 3750511582, "lat": 19.4332517, "lon": -99.1551686, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3750511585, "lat": 19.4318932, "lon": -99.1576681}, {"type": "node", "id": 3750511588, "lat": 19.4308614, "lon": -99.1604068}, {"type": "node", "id": 3750511591, "lat": 19.4294448, "lon": -99.1633802}, {"type": "node", "id": 3750511595, "lat": 19.4294384, "lon": -99.1636585}, {"type": "node", "id": 3750511597, "lat": 19.4294241, "lon": -99.1634491}, {"type": "node", "id": 3750551664, "lat": 19.4322647, "lon": -99.161165}, {"type": "node", "id": 3750570260, "lat": 19.4330821, "lon": -99.1609155}, {"type": "node", "id": 3750570262, "lat": 19.4335502, "lon": -99.1619786}, {"type": "node", "id": 3750570265, "lat": 19.4338063, "lon": -99.1625762}, {"type": "node", "id": 3772750742, "lat": 19.4254665, "lon": -99.1592953}, {"type": "node", "id": 3772751004, "lat": 19.4373, "lon": -99.1617605}, {"type": "node", "id": 3772751012, "lat": 19.439675, "lon": -99.1611149}, {"type": "node", "id": 3772751018, "lat": 19.441755, "lon": -99.1605151, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3779331108, "lat": 19.4242272, "lon": -99.1744627, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3779331111, "lat": 19.4252972, "lon": -99.1721877}, {"type": "node", "id": 3779331112, "lat": 19.4255902, "lon": -99.1718616, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3779331115, "lat": 19.4256426, "lon": -99.1715995}, {"type": "node", "id": 3779331119, "lat": 19.4270386, "lon": -99.1685524}, {"type": "node", "id": 3779331123, "lat": 19.427597, "lon": -99.1682908}, {"type": "node", "id": 3779331125, "lat": 19.4278195, "lon": -99.1677278}, {"type": "node", "id": 3779331127, "lat": 19.42771, "lon": -99.1671511}, {"type": "node", "id": 3779331129, "lat": 19.4279602, "lon": -99.1665199}, {"type": "node", "id": 3779331130, "lat": 19.4285702, "lon": -99.1652147, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3779331131, "lat": 19.428906, "lon": -99.1644941}, {"type": "node", "id": 3779331134, "lat": 19.4302022, "lon": -99.1617702, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3779331135, "lat": 19.4335877, "lon": -99.1547561}, {"type": "node", "id": 3982034403, "lat": 19.4300622, "lon": -99.1599851}, {"type": "node", "id": 3982056701, "lat": 19.4415292, "lon": -99.1549913, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3993897800, "lat": 19.4294231, "lon": -99.1638552}, {"type": "node", "id": 3993897803, "lat": 19.4290299, "lon": -99.164308}, {"type": "node", "id": 3993936289, "lat": 19.4318168, "lon": -99.1590175, "tags": {"highway": "crossing"}}, {"type": "node", "id": 4521825356, "lat": 19.4367113, "lon": -99.1542284}, {"type": "node", "id": 4523950730, "lat": 19.4243317, "lon": -99.1528958}, {"type": "node", "id": 4727902559, "lat": 19.4341433, "lon": -99.1605905}, {"type": "node", "id": 4727902560, "lat": 19.4340267, "lon": -99.1606234}, {"type": "node", "id": 4750171649, "lat": 19.4290607, "lon": -99.1564195}, {"type": "node", "id": 4750171652, "lat": 19.4290046, "lon": -99.1562201}, {"type": "node", "id": 4790117950, "lat": 19.4299152, "lon": -99.1659147}, {"type": "node", "id": 5076454330, "lat": 19.4273266, "lon": -99.1493428}, {"type": "node", "id": 5120998213, "lat": 19.4368289, "lon": -99.1578479}, {"type": "node", "id": 5120998214, "lat": 19.4367184, "lon": -99.1576094}, {"type": "node", "id": 5161033096, "lat": 19.4356328, "lon": -99.1531046}, {"type": "node", "id": 5161033097, "lat": 19.4355476, "lon": -99.153148}, {"type": "node", "id": 5161033098, "lat": 19.4358437, "lon": -99.153028}, {"type": "node", "id": 5161033100, "lat": 19.4354339, "lon": -99.153278}, {"type": "node", "id": 5161033102, "lat": 19.4354525, "lon": -99.1532461}, {"type": "node", "id": 5161034511, "lat": 19.4361689, "lon": -99.1529991}, {"type": "node", "id": 5161039223, "lat": 19.4379156, "lon": -99.1591165}, {"type": "node", "id": 5161039224, "lat": 19.4380005, "lon": -99.1594036}, {"type": "node", "id": 5161039225, "lat": 19.4380003, "lon": -99.1593369}, {"type": "node", "id": 5161039226, "lat": 19.4379675, "lon": -99.1592007}, {"type": "node", "id": 5167773017, "lat": 19.4395768, "lon": -99.1546715, "tags": {"highway": "crossing"}}, {"type": "node", "id": 5168370166, "lat": 19.4405811, "lon": -99.154272}, {"type": "node", "id": 5264900950, "lat": 19.4289737, "lon": -99.1566029}, {"type": "node", "id": 5264900951, "lat": 19.4274573, "lon": -99.1557964}, {"type": "node", "id": 5264905372, "lat": 19.4241015, "lon": -99.1560642}, {"type": "node", "id": 5264905373, "lat": 19.4246565, "lon": -99.156212}, {"type": "node", "id": 5264905374, "lat": 19.4247128, "lon": -99.1559421}, {"type": "node", "id": 5264905375, "lat": 19.4246884, "lon": -99.1558163}, {"type": "node", "id": 5264905376, "lat": 19.4246339, "lon": -99.1557178}, {"type": "node", "id": 5264905377, "lat": 19.4245514, "lon": -99.155638}, {"type": "node", "id": 5264905379, "lat": 19.4243553, "lon": -99.1556444}, {"type": "node", "id": 5264905380, "lat": 19.424293, "lon": -99.155714}, {"type": "node", "id": 5264905381, "lat": 19.4242109, "lon": -99.1558282}, {"type": "node", "id": 5288014964, "lat": 19.4370293, "lon": -99.1475215, "tags": {"highway": "crossing"}}, {"type": "node", "id": 5288019701, "lat": 19.4369566, "lon": -99.1474687, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5288048139, "lat": 19.4355648, "lon": -99.1497018}, {"type": "node", "id": 5288048140, "lat": 19.4354902, "lon": -99.1496663}, {"type": "node", "id": 5288048141, "lat": 19.4353815, "lon": -99.1495317}, {"type": "node", "id": 5500839799, "lat": 19.446427, "lon": -99.1486263}, {"type": "node", "id": 5829305700, "lat": 19.4390126, "lon": -99.1533463, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 5829305701, "lat": 19.4399174, "lon": -99.1555253, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 5829509771, "lat": 19.4316425, "lon": -99.1608069}, {"type": "node", "id": 5829587710, "lat": 19.4332213, "lon": -99.164682}, {"type": "node", "id": 5830976888, "lat": 19.4279036, "lon": -99.1588457, "tags": {"highway": "mini_roundabout"}}, {"type": "node", "id": 5830976890, "lat": 19.4254288, "lon": -99.1565404, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5830989440, "lat": 19.4314963, "lon": -99.1529258}, {"type": "node", "id": 5830989441, "lat": 19.4328307, "lon": -99.1523635}, {"type": "node", "id": 5832201339, "lat": 19.4330389, "lon": -99.1544598}, {"type": "node", "id": 5832201341, "lat": 19.4364379, "lon": -99.1530671}, {"type": "node", "id": 5832540258, "lat": 19.4308946, "lon": -99.1595651, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5832540260, "lat": 19.4307678, "lon": -99.1598187}, {"type": "node", "id": 5832540261, "lat": 19.4307162, "lon": -99.1596551}, {"type": "node", "id": 5832540263, "lat": 19.4305967, "lon": -99.1599021}, {"type": "node", "id": 5832545932, "lat": 19.4302832, "lon": -99.1598736}, {"type": "node", "id": 5832581943, "lat": 19.4264618, "lon": -99.1669946}, {"type": "node", "id": 5832581947, "lat": 19.4263315, "lon": -99.1671412}, {"type": "node", "id": 5832581948, "lat": 19.4263892, "lon": -99.1670652}, {"type": "node", "id": 5832581949, "lat": 19.42655, "lon": -99.1669353, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 5839130709, "lat": 19.4259727, "lon": -99.152711}, {"type": "node", "id": 5839130710, "lat": 19.4259246, "lon": -99.1527056}, {"type": "node", "id": 5839130711, "lat": 19.425879, "lon": -99.1526814}, {"type": "node", "id": 5839130712, "lat": 19.4258411, "lon": -99.1526473}, {"type": "node", "id": 5839130713, "lat": 19.4258086, "lon": -99.1525991}, {"type": "node", "id": 5882331185, "lat": 19.436717, "lon": -99.1542678, "tags": {"highway": "crossing"}}, {"type": "node", "id": 5912724334, "lat": 19.4288004, "lon": -99.1504996}, {"type": "node", "id": 6136121784, "lat": 19.4226562, "lon": -99.158333}, {"type": "node", "id": 6146291719, "lat": 19.4397395, "lon": -99.1580819}, {"type": "node", "id": 6146291720, "lat": 19.4368003, "lon": -99.1598251}, {"type": "node", "id": 6146444858, "lat": 19.4411185, "lon": -99.1498694}, {"type": "node", "id": 6148209269, "lat": 19.4322088, "lon": -99.1480078}, {"type": "node", "id": 6148209277, "lat": 19.4265654, "lon": -99.1506669}, {"type": "node", "id": 6148209278, "lat": 19.4256832, "lon": -99.1505181}, {"type": "node", "id": 6148209280, "lat": 19.4264234, "lon": -99.150638, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 6148385717, "lat": 19.4307286, "lon": -99.155671}, {"type": "node", "id": 6148385718, "lat": 19.4338483, "lon": -99.155866}, {"type": "node", "id": 6179359280, "lat": 19.4237735, "lon": -99.1753165}, {"type": "node", "id": 6182120219, "lat": 19.4268676, "lon": -99.1668068}, {"type": "node", "id": 6182120224, "lat": 19.4369398, "lon": -99.1476619}, {"type": "node", "id": 6182120225, "lat": 19.4361787, "lon": -99.1488557}, {"type": "node", "id": 6360639683, "lat": 19.4330997, "lon": -99.1552017}, {"type": "node", "id": 6394284234, "lat": 19.4245594, "lon": -99.1556438}, {"type": "node", "id": 6428606749, "lat": 19.4353249, "lon": -99.1501762}, {"type": "node", "id": 6644579951, "lat": 19.4396614, "lon": -99.154641}, {"type": "node", "id": 6859659378, "lat": 19.4401131, "lon": -99.1529841, "tags": {"crossing": "unmarked", "highway": "crossing"}}, {"type": "node", "id": 6859659382, "lat": 19.4380368, "lon": -99.1505051, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 6859659383, "lat": 19.4381762, "lon": -99.1511823, "tags": {"crossing": "unmarked", "highway": "crossing"}}, {"type": "node", "id": 6859659384, "lat": 19.438411, "lon": -99.1522546, "tags": {"highway": "crossing"}}, {"type": "node", "id": 6859684785, "lat": 19.4388379, "lon": -99.1504145, "tags": {"highway": "crossing"}}, {"type": "node", "id": 6859684786, "lat": 19.439192, "lon": -99.1533571, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 6957010145, "lat": 19.4361474, "lon": -99.1495635}, {"type": "node", "id": 6957010146, "lat": 19.4361018, "lon": -99.1495608}, {"type": "node", "id": 6957010147, "lat": 19.4359696, "lon": -99.1495394}, {"type": "node", "id": 6957010148, "lat": 19.4358327, "lon": -99.1494731, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6979170956, "lat": 19.4320773, "lon": -99.1567805, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6979170957, "lat": 19.4321761, "lon": -99.1568399, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 7222229195, "lat": 19.4332444, "lon": -99.1499975}, {"type": "node", "id": 7335408349, "lat": 19.4244614, "lon": -99.1593508}, {"type": "node", "id": 7873370161, "lat": 19.427312, "lon": -99.1491063, "tags": {"crossing": "marked", "highway": "crossing"}}, {"type": "node", "id": 7873521995, "lat": 19.4303444, "lon": -99.1495071}, {"type": "node", "id": 7873571343, "lat": 19.4309077, "lon": -99.1514917}, {"type": "node", "id": 7876179763, "lat": 19.4367702, "lon": -99.157752}, {"type": "node", "id": 7876317331, "lat": 19.4352326, "lon": -99.1503296}, {"type": "node", "id": 7876317333, "lat": 19.4353656, "lon": -99.1504886}, {"type": "node", "id": 7876317334, "lat": 19.4354466, "lon": -99.1504976}, {"type": "node", "id": 7876317335, "lat": 19.435477, "lon": -99.150512}, {"type": "node", "id": 7876317336, "lat": 19.4355371, "lon": -99.1505656}, {"type": "node", "id": 7876317337, "lat": 19.4355658, "lon": -99.1506168}, {"type": "node", "id": 7876317338, "lat": 19.435628, "lon": -99.1501854}, {"type": "node", "id": 7876317339, "lat": 19.4356156, "lon": -99.1503555}, {"type": "node", "id": 7876317344, "lat": 19.4359987, "lon": -99.1495474}, {"type": "node", "id": 7876317345, "lat": 19.4360278, "lon": -99.1495534}, {"type": "node", "id": 7876317346, "lat": 19.4360613, "lon": -99.1495581}, {"type": "node", "id": 7876317353, "lat": 19.4354352, "lon": -99.1496134}, {"type": "node", "id": 7887548325, "lat": 19.4269334, "lon": -99.1667808}, {"type": "node", "id": 7887672499, "lat": 19.4282898, "lon": -99.1639907}, {"type": "node", "id": 7888169040, "lat": 19.4391672, "lon": -99.154304}, {"type": "node", "id": 7888328883, "lat": 19.4320462, "lon": -99.1589971}, {"type": "node", "id": 7890530150, "lat": 19.4330783, "lon": -99.153899}, {"type": "node", "id": 7890530151, "lat": 19.433107, "lon": -99.1539191}, {"type": "node", "id": 7890530152, "lat": 19.4331342, "lon": -99.1539337}, {"type": "node", "id": 7890530153, "lat": 19.433195, "lon": -99.1539446}, {"type": "node", "id": 7890530155, "lat": 19.4332182, "lon": -99.153944}, {"type": "node", "id": 7894095689, "lat": 19.4355162, "lon": -99.1542383, "tags": {"highway": "crossing"}}, {"type": "node", "id": 7894095692, "lat": 19.4340384, "lon": -99.1631381}, {"type": "node", "id": 7894357905, "lat": 19.4353164, "lon": -99.167095}, {"type": "node", "id": 7897414727, "lat": 19.4352981, "lon": -99.1670437}, {"type": "node", "id": 7897414728, "lat": 19.4353378, "lon": -99.167157}, {"type": "node", "id": 7906106225, "lat": 19.4247206, "lon": -99.1624282}, {"type": "node", "id": 7906881555, "lat": 19.4379637, "lon": -99.1498098, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 7906893021, "lat": 19.4378972, "lon": -99.1535364}, {"type": "node", "id": 7911203925, "lat": 19.4351279, "lon": -99.1576308}, {"type": "node", "id": 7911203927, "lat": 19.4351943, "lon": -99.1577851}, {"type": "node", "id": 7913603183, "lat": 19.4306062, "lon": -99.1609115}, {"type": "node", "id": 7913603184, "lat": 19.431158, "lon": -99.1597806, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 7913973064, "lat": 19.4290679, "lon": -99.1578932}, {"type": "node", "id": 7914328814, "lat": 19.4287484, "lon": -99.1630552}, {"type": "node", "id": 7914328815, "lat": 19.4286913, "lon": -99.1631131}, {"type": "node", "id": 7914371496, "lat": 19.4306144, "lon": -99.1586021, "tags": {"highway": "stop"}}, {"type": "node", "id": 7914371497, "lat": 19.4305998, "lon": -99.1585684}, {"type": "node", "id": 7920799742, "lat": 19.4301084, "lon": -99.1601443}, {"type": "node", "id": 7964878346, "lat": 19.4317653, "lon": -99.1512557}, {"type": "node", "id": 7964878347, "lat": 19.4315664, "lon": -99.1499453}, {"type": "node", "id": 7978515422, "lat": 19.4398109, "lon": -99.151856, "tags": {"barrier": "lift_gate"}}, {"type": "node", "id": 8026253475, "lat": 19.4256317, "lon": -99.1553658}, {"type": "node", "id": 8076020043, "lat": 19.4257193, "lon": -99.1537456}, {"type": "node", "id": 8076030554, "lat": 19.4254699, "lon": -99.1496188}, {"type": "node", "id": 8078863117, "lat": 19.4260036, "lon": -99.1527057}, {"type": "node", "id": 8078863118, "lat": 19.4261065, "lon": -99.152659}, {"type": "node", "id": 8078863120, "lat": 19.426037, "lon": -99.1526923}, {"type": "node", "id": 8078863123, "lat": 19.4264869, "lon": -99.1509758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8114366681, "lat": 19.4385207, "lon": -99.1672254}, {"type": "node", "id": 8134296144, "lat": 19.4370255, "lon": -99.1660759}, {"type": "node", "id": 8134296155, "lat": 19.4341565, "lon": -99.1680273}, {"type": "node", "id": 8134296156, "lat": 19.4340182, "lon": -99.168063}, {"type": "node", "id": 8136099931, "lat": 19.4340944, "lon": -99.1678051}, {"type": "node", "id": 8140757587, "lat": 19.440492, "lon": -99.1647595}, {"type": "node", "id": 8142308525, "lat": 19.4420634, "lon": -99.1615241}, {"type": "node", "id": 8142308526, "lat": 19.4423953, "lon": -99.1626592}, {"type": "node", "id": 8145321251, "lat": 19.4418972, "lon": -99.1639581}, {"type": "node", "id": 8145399409, "lat": 19.4386314, "lon": -99.1648427}, {"type": "node", "id": 8145507000, "lat": 19.4353641, "lon": -99.1650374}, {"type": "node", "id": 8145507004, "lat": 19.4353703, "lon": -99.1650812}, {"type": "node", "id": 8145507007, "lat": 19.4367089, "lon": -99.164611}, {"type": "node", "id": 8145507008, "lat": 19.4378055, "lon": -99.1640811}, {"type": "node", "id": 8145507011, "lat": 19.4378899, "lon": -99.1644467}, {"type": "node", "id": 8145723862, "lat": 19.4318516, "lon": -99.1607351}, {"type": "node", "id": 8145723866, "lat": 19.4320896, "lon": -99.1605455}, {"type": "node", "id": 8145723869, "lat": 19.4317666, "lon": -99.1619574}, {"type": "node", "id": 8145723870, "lat": 19.4359194, "lon": -99.1612979}, {"type": "node", "id": 8145723877, "lat": 19.4352253, "lon": -99.1640558}, {"type": "node", "id": 8145723880, "lat": 19.4352133, "lon": -99.1639717}, {"type": "node", "id": 8145723883, "lat": 19.4360293, "lon": -99.164373}, {"type": "node", "id": 8145881787, "lat": 19.4393235, "lon": -99.1559729}, {"type": "node", "id": 8145881792, "lat": 19.4386406, "lon": -99.1562686}, {"type": "node", "id": 8145881793, "lat": 19.4389154, "lon": -99.1572193}, {"type": "node", "id": 8145881800, "lat": 19.4397879, "lon": -99.1568311}, {"type": "node", "id": 8145881803, "lat": 19.4395338, "lon": -99.1590268}, {"type": "node", "id": 8153446526, "lat": 19.4319352, "lon": -99.1599937}, {"type": "node", "id": 8153775202, "lat": 19.4333883, "lon": -99.1568129}, {"type": "node", "id": 8153775207, "lat": 19.4330167, "lon": -99.1585568}, {"type": "node", "id": 8153775210, "lat": 19.4343063, "lon": -99.1575046}, {"type": "node", "id": 8153775214, "lat": 19.4336377, "lon": -99.1595343}, {"type": "node", "id": 8153813619, "lat": 19.4328812, "lon": -99.1604241}, {"type": "node", "id": 8154552560, "lat": 19.4332777, "lon": -99.1628453}, {"type": "node", "id": 8154552563, "lat": 19.4344402, "lon": -99.1584781}, {"type": "node", "id": 8218594634, "lat": 19.4296535, "lon": -99.1664391}, {"type": "node", "id": 8218594636, "lat": 19.4297458, "lon": -99.166252}, {"type": "node", "id": 8227345217, "lat": 19.4305021, "lon": -99.1533448}, {"type": "node", "id": 8230040943, "lat": 19.4258331, "lon": -99.1632174}, {"type": "node", "id": 8230040948, "lat": 19.4298256, "lon": -99.1625708}, {"type": "node", "id": 8230040951, "lat": 19.4308147, "lon": -99.1612234}, {"type": "node", "id": 8230040956, "lat": 19.4290074, "lon": -99.1654285}, {"type": "node", "id": 8230040958, "lat": 19.4311872, "lon": -99.1649165}, {"type": "node", "id": 8230233136, "lat": 19.4257679, "lon": -99.1610148}, {"type": "node", "id": 8230233138, "lat": 19.4282036, "lon": -99.1582196}, {"type": "node", "id": 8230397205, "lat": 19.4239651, "lon": -99.1586507}, {"type": "node", "id": 8230397209, "lat": 19.4249114, "lon": -99.1576038}, {"type": "node", "id": 8230397210, "lat": 19.4249605, "lon": -99.1563241}, {"type": "node", "id": 8230397214, "lat": 19.4250672, "lon": -99.1569029}, {"type": "node", "id": 8230403417, "lat": 19.4245893, "lon": -99.1572548}, {"type": "node", "id": 8230403427, "lat": 19.4253613, "lon": -99.1642213}, {"type": "node", "id": 8231042004, "lat": 19.426093, "lon": -99.1626645}, {"type": "node", "id": 8231042007, "lat": 19.4258056, "lon": -99.1594772}, {"type": "node", "id": 8231042009, "lat": 19.4271775, "lon": -99.1580504}, {"type": "node", "id": 8231042011, "lat": 19.4263185, "lon": -99.1574867}, {"type": "node", "id": 8231268918, "lat": 19.4264476, "lon": -99.1506434, "tags": {"barrier": "lift_gate"}}, {"type": "node", "id": 8240180545, "lat": 19.4293951, "lon": -99.1596369}, {"type": "node", "id": 8240180556, "lat": 19.4295748, "lon": -99.1597321}, {"type": "node", "id": 8246753521, "lat": 19.4415689, "lon": -99.1512241}, {"type": "node", "id": 8246902471, "lat": 19.4429739, "lon": -99.1507765}, {"type": "node", "id": 8337735222, "lat": 19.4336643, "lon": -99.1504684}, {"type": "node", "id": 8337735226, "lat": 19.4328673, "lon": -99.1526321}, {"type": "node", "id": 8337735227, "lat": 19.4325261, "lon": -99.1501785}, {"type": "node", "id": 8337735230, "lat": 19.4322482, "lon": -99.1510547}, {"type": "node", "id": 8337735233, "lat": 19.4322627, "lon": -99.148376}, {"type": "node", "id": 8337972063, "lat": 19.4353632, "lon": -99.1532011}, {"type": "node", "id": 8337972069, "lat": 19.4347664, "lon": -99.155068}, {"type": "node", "id": 8337972071, "lat": 19.4344193, "lon": -99.1545983}, {"type": "node", "id": 8337972074, "lat": 19.4336729, "lon": -99.1562011}, {"type": "node", "id": 8340764200, "lat": 19.4355936, "lon": -99.1556062}, {"type": "node", "id": 8340764202, "lat": 19.4355739, "lon": -99.1556097}, {"type": "node", "id": 8340806289, "lat": 19.4358707, "lon": -99.1524542}, {"type": "node", "id": 8342677267, "lat": 19.4245202, "lon": -99.1587894, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8347656226, "lat": 19.4403255, "lon": -99.1516319}, {"type": "node", "id": 8347656234, "lat": 19.4401215, "lon": -99.1517014}, {"type": "node", "id": 8394801746, "lat": 19.4255758, "lon": -99.1514679}, {"type": "node", "id": 8397276668, "lat": 19.4328176, "lon": -99.1588351}, {"type": "node", "id": 8507543191, "lat": 19.4400707, "lon": -99.1600779}, {"type": "node", "id": 8507543193, "lat": 19.4375229, "lon": -99.1683912}, {"type": "node", "id": 8507543196, "lat": 19.4323565, "lon": -99.1592135}, {"type": "node", "id": 8507579080, "lat": 19.4391553, "lon": -99.1589338}, {"type": "node", "id": 8511981094, "lat": 19.4370254, "lon": -99.1554025, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 8511981097, "lat": 19.4379611, "lon": -99.1538861}, {"type": "node", "id": 8511981099, "lat": 19.440057, "lon": -99.1527915}, {"type": "node", "id": 8512180605, "lat": 19.4357696, "lon": -99.1555357}, {"type": "node", "id": 8512180606, "lat": 19.4356775, "lon": -99.1553504}, {"type": "node", "id": 8512180607, "lat": 19.4354002, "lon": -99.1534389, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 8512180608, "lat": 19.4364861, "lon": -99.1531026}, {"type": "node", "id": 8512180609, "lat": 19.4365691, "lon": -99.1532596}, {"type": "node", "id": 8512180610, "lat": 19.4357158, "lon": -99.1554666}, {"type": "node", "id": 8512180611, "lat": 19.4361257, "lon": -99.15562}, {"type": "node", "id": 8512180612, "lat": 19.4338934, "lon": -99.1558445}, {"type": "node", "id": 8512180613, "lat": 19.4319578, "lon": -99.1543427, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8512180614, "lat": 19.431966, "lon": -99.1545591}, {"type": "node", "id": 8512180615, "lat": 19.4326801, "lon": -99.1552088}, {"type": "node", "id": 8512195817, "lat": 19.433163, "lon": -99.1550436}, {"type": "node", "id": 8512195819, "lat": 19.4328525, "lon": -99.1548755}, {"type": "node", "id": 8512195820, "lat": 19.4328327, "lon": -99.1549999}, {"type": "node", "id": 8512195821, "lat": 19.4332346, "lon": -99.1540596, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8512195822, "lat": 19.4330779, "lon": -99.154206, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 8512195823, "lat": 19.4352323, "lon": -99.1500666, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "yes"}}, {"type": "node", "id": 8512195828, "lat": 19.4335551, "lon": -99.154785}, {"type": "node", "id": 8512195829, "lat": 19.433525, "lon": -99.1548241}, {"type": "node", "id": 8512195830, "lat": 19.433567, "lon": -99.1546133}, {"type": "node", "id": 8512195832, "lat": 19.4333325, "lon": -99.1547116}, {"type": "node", "id": 8512195833, "lat": 19.4332925, "lon": -99.1548419}, {"type": "node", "id": 8512195834, "lat": 19.4332315, "lon": -99.1549532}, {"type": "node", "id": 8512195835, "lat": 19.4334599, "lon": -99.1549956}, {"type": "node", "id": 8512195836, "lat": 19.4327796, "lon": -99.1543288}, {"type": "node", "id": 8512195838, "lat": 19.4326476, "lon": -99.1553043, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8512195839, "lat": 19.4325961, "lon": -99.1554228}, {"type": "node", "id": 8512195845, "lat": 19.4329098, "lon": -99.1542582}, {"type": "node", "id": 8512195846, "lat": 19.4331262, "lon": -99.1543706}, {"type": "node", "id": 8512195847, "lat": 19.432961, "lon": -99.1545713}, {"type": "node", "id": 8512199346, "lat": 19.435271, "lon": -99.1499807}, {"type": "node", "id": 8512366611, "lat": 19.4360939, "lon": -99.1487719}, {"type": "node", "id": 8512366612, "lat": 19.4358416, "lon": -99.1493147}, {"type": "node", "id": 8512366613, "lat": 19.4363124, "lon": -99.1484489}, {"type": "node", "id": 8521895042, "lat": 19.4355273, "lon": -99.1492264}, {"type": "node", "id": 8521895043, "lat": 19.4354297, "lon": -99.149402}, {"type": "node", "id": 8534238761, "lat": 19.425699, "lon": -99.1553693}, {"type": "node", "id": 8534238763, "lat": 19.4309787, "lon": -99.1514014}, {"type": "node", "id": 8534238764, "lat": 19.4310727, "lon": -99.1515078}, {"type": "node", "id": 8534238765, "lat": 19.4310919, "lon": -99.1515653}, {"type": "node", "id": 8534238766, "lat": 19.430813, "lon": -99.1512075}, {"type": "node", "id": 8534238767, "lat": 19.4309126, "lon": -99.1513421}, {"type": "node", "id": 8534238768, "lat": 19.4310578, "lon": -99.1516784}, {"type": "node", "id": 8534238769, "lat": 19.4310015, "lon": -99.1517041}, {"type": "node", "id": 8534238770, "lat": 19.4309708, "lon": -99.1514673}, {"type": "node", "id": 8534238771, "lat": 19.4308656, "lon": -99.151518}, {"type": "node", "id": 8534520846, "lat": 19.4246957, "lon": -99.1560953}, {"type": "node", "id": 8534520847, "lat": 19.4243993, "lon": -99.155607}, {"type": "node", "id": 8534520848, "lat": 19.4245092, "lon": -99.155607}, {"type": "node", "id": 8551810252, "lat": 19.4270352, "lon": -99.1491598, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 8551810254, "lat": 19.4258798, "lon": -99.1534871}, {"type": "node", "id": 8628895140, "lat": 19.4387074, "lon": -99.1592722}, {"type": "node", "id": 8631710262, "lat": 19.4276493, "lon": -99.1557247}, {"type": "node", "id": 8726090771, "lat": 19.4342277, "lon": -99.1637861, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8726149346, "lat": 19.4327024, "lon": -99.1600375, "tags": {"highway": "crossing"}}, {"type": "node", "id": 8744235453, "lat": 19.4351184, "lon": -99.1500585, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "no", "traffic_signals:vibration": "yes"}}, {"type": "node", "id": 8744235455, "lat": 19.4353978, "lon": -99.1500743, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8750905235, "lat": 19.4294242, "lon": -99.1596523}, {"type": "node", "id": 8822169082, "lat": 19.4350123, "lon": -99.1662872}, {"type": "node", "id": 8822169084, "lat": 19.4350426, "lon": -99.1663672}, {"type": "node", "id": 8855256182, "lat": 19.4254615, "lon": -99.1550875, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8855256183, "lat": 19.425582, "lon": -99.1551175, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8861273676, "lat": 19.425647, "lon": -99.1542336}, {"type": "node", "id": 9191782918, "lat": 19.4356399, "lon": -99.1507726}, {"type": "node", "id": 9191782919, "lat": 19.4355962, "lon": -99.1506951}, {"type": "node", "id": 9641882849, "lat": 19.4397293, "lon": -99.1530749}, {"type": "node", "id": 9723597397, "lat": 19.4327632, "lon": -99.1508392, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 9724904787, "lat": 19.4245864, "lon": -99.1589876, "tags": {"cycleway": "asl", "direction": "forward"}}, {"type": "node", "id": 9797225079, "lat": 19.428469, "lon": -99.1632437}, {"type": "node", "id": 9927650657, "lat": 19.4315418, "lon": -99.1581604, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 9927650668, "lat": 19.4310751, "lon": -99.1593039}, {"type": "node", "id": 9927650669, "lat": 19.4313607, "lon": -99.1583042, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 9927650670, "lat": 19.4314091, "lon": -99.1584499, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 9941493385, "lat": 19.4357741, "lon": -99.1530502}, {"type": "node", "id": 9943728484, "lat": 19.4314687, "lon": -99.1586718, "tags": {"highway": "crossing"}}, {"type": "node", "id": 9943728485, "lat": 19.4314246, "lon": -99.1589141}, {"type": "node", "id": 9943728504, "lat": 19.429442, "lon": -99.1637596}, {"type": "node", "id": 9943728505, "lat": 19.4291061, "lon": -99.1642588}, {"type": "node", "id": 9943728506, "lat": 19.4289667, "lon": -99.1643898}, {"type": "node", "id": 9943728512, "lat": 19.4277265, "lon": -99.1670396}, {"type": "node", "id": 9943728515, "lat": 19.4278048, "lon": -99.1678381}, {"type": "node", "id": 9943728516, "lat": 19.4278134, "lon": -99.1675432}, {"type": "node", "id": 9943777726, "lat": 19.4293146, "lon": -99.1640921}, {"type": "node", "id": 9943777744, "lat": 19.4256476, "lon": -99.171465}, {"type": "node", "id": 10025770022, "lat": 19.4242815, "lon": -99.1612195, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10030235135, "lat": 19.4285381, "lon": -99.1607, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "crossing", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 10030235137, "lat": 19.4285984, "lon": -99.1608389, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:markings": "zebra", "highway": "crossing", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 10036744292, "lat": 19.4387099, "lon": -99.1521419, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788844, "lat": 19.4389652, "lon": -99.1534446, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788845, "lat": 19.4388329, "lon": -99.1535003, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788848, "lat": 19.4387121, "lon": -99.1534614, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788849, "lat": 19.4386615, "lon": -99.1533253, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788852, "lat": 19.4387371, "lon": -99.1532394, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788854, "lat": 19.4388828, "lon": -99.1531798, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036788855, "lat": 19.4389621, "lon": -99.1532105, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036810541, "lat": 19.4383603, "lon": -99.1504676, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036810543, "lat": 19.4382379, "lon": -99.1504141, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036810545, "lat": 19.4381043, "lon": -99.1504432, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036810547, "lat": 19.4381393, "lon": -99.1506017, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10036810549, "lat": 19.4382925, "lon": -99.1505668, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10037136273, "lat": 19.4385166, "lon": -99.1523273, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10037136277, "lat": 19.4386152, "lon": -99.1520703, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10037156395, "lat": 19.4407785, "lon": -99.1527108, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10037156397, "lat": 19.4407341, "lon": -99.1525196, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10134107980, "lat": 19.4246712, "lon": -99.1561681}, {"type": "node", "id": 10134107981, "lat": 19.4241195, "lon": -99.1560111}, {"type": "node", "id": 10134107996, "lat": 19.424523, "lon": -99.1556171}, {"type": "node", "id": 10155974408, "lat": 19.4275978, "lon": -99.1507458}, {"type": "node", "id": 10155974415, "lat": 19.4273862, "lon": -99.1503041}, {"type": "node", "id": 10156001517, "lat": 19.4273753, "lon": -99.1501286}, {"type": "node", "id": 10156001520, "lat": 19.4273663, "lon": -99.1499827}, {"type": "node", "id": 10156001526, "lat": 19.4273388, "lon": -99.1495395}, {"type": "node", "id": 10172095079, "lat": 19.4320031, "lon": -99.1602364}, {"type": "node", "id": 10172095085, "lat": 19.4326096, "lon": -99.1598163}, {"type": "node", "id": 10172143921, "lat": 19.4255556, "lon": -99.1614634}, {"type": "node", "id": 10176146790, "lat": 19.4301099, "lon": -99.1508433}, {"type": "node", "id": 10176146792, "lat": 19.4300086, "lon": -99.1502521}, {"type": "node", "id": 10176146802, "lat": 19.4304713, "lon": -99.1502351, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10176146804, "lat": 19.4297775, "lon": -99.1503007, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10176372444, "lat": 19.4394543, "lon": -99.15462, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10176372445, "lat": 19.4393223, "lon": -99.1546769, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10176372446, "lat": 19.4402486, "lon": -99.1565289, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10176372447, "lat": 19.4401186, "lon": -99.1565919, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10176372448, "lat": 19.4407289, "lon": -99.1576831, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10176372449, "lat": 19.4405989, "lon": -99.1577468, "tags": {"crossing": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10187198409, "lat": 19.4256218, "lon": -99.1636669}, {"type": "node", "id": 10203043715, "lat": 19.4312759, "lon": -99.1576821}, {"type": "node", "id": 10222154066, "lat": 19.4244401, "lon": -99.1625532}, {"type": "node", "id": 10224248515, "lat": 19.4242816, "lon": -99.1602219}, {"type": "node", "id": 10224369772, "lat": 19.4232001, "lon": -99.1558765}, {"type": "node", "id": 10224646842, "lat": 19.4291878, "lon": -99.1568716, "tags": {"barrier": "yes"}}, {"type": "node", "id": 10234534262, "lat": 19.4280889, "lon": -99.1561336, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10234534266, "lat": 19.428151, "lon": -99.1560028, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10262766670, "lat": 19.4306412, "lon": -99.1587825, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 10262766671, "lat": 19.4306173, "lon": -99.1589885}, {"type": "node", "id": 10283192301, "lat": 19.4321218, "lon": -99.1606537, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507877, "lat": 19.4339792, "lon": -99.1545636, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507878, "lat": 19.4339941, "lon": -99.1546682, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507880, "lat": 19.4338333, "lon": -99.1546957, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10594507881, "lat": 19.437304, "lon": -99.1538512, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507882, "lat": 19.4373393, "lon": -99.15399, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507883, "lat": 19.4374264, "lon": -99.1538031, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594507884, "lat": 19.4374636, "lon": -99.1539422, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10594589082, "lat": 19.4355527, "lon": -99.15449, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10656478169, "lat": 19.4403274, "lon": -99.1555255}, {"type": "node", "id": 10656478170, "lat": 19.4399808, "lon": -99.1556808, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10656478173, "lat": 19.4400142, "lon": -99.1556658, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656478177, "lat": 19.4385693, "lon": -99.1562991}, {"type": "node", "id": 10656478179, "lat": 19.4382647, "lon": -99.1564327, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656493611, "lat": 19.4371031, "lon": -99.1569488}, {"type": "node", "id": 10656493615, "lat": 19.4367666, "lon": -99.1570987, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656510239, "lat": 19.4363729, "lon": -99.1572713, "tags": {"button_operated": "no", "crossing": "uncontrolled", "crossing:markings": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10656582310, "lat": 19.4356593, "lon": -99.1575824}, {"type": "node", "id": 10656582311, "lat": 19.4347799, "lon": -99.1579657}, {"type": "node", "id": 10656582312, "lat": 19.4345125, "lon": -99.1580823, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656582318, "lat": 19.4325363, "lon": -99.1589603, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656582321, "lat": 19.4321762, "lon": -99.1591267}, {"type": "node", "id": 10656582322, "lat": 19.4318588, "lon": -99.1592796, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656582341, "lat": 19.4313833, "lon": -99.1595083, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656790195, "lat": 19.4289107, "lon": -99.1606929}, {"type": "node", "id": 10656790202, "lat": 19.4286194, "lon": -99.160829, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656790203, "lat": 19.4275177, "lon": -99.1613252}, {"type": "node", "id": 10656790204, "lat": 19.4272505, "lon": -99.161445, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10656822705, "lat": 19.4271964, "lon": -99.1614692, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:markings": "zebra", "highway": "crossing"}}, {"type": "node", "id": 10659905297, "lat": 19.4266843, "lon": -99.1616827, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10659905298, "lat": 19.4262099, "lon": -99.161892}, {"type": "node", "id": 10659905299, "lat": 19.4259133, "lon": -99.162028, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10659905300, "lat": 19.4255108, "lon": -99.1622106}, {"type": "node", "id": 10659905301, "lat": 19.4244098, "lon": -99.1627078}, {"type": "node", "id": 10659905302, "lat": 19.425266, "lon": -99.1623211, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 10660402408, "lat": 19.4247172, "lon": -99.1625691}, {"type": "node", "id": 10697775150, "lat": 19.430445, "lon": -99.1577293, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10697775151, "lat": 19.4303889, "lon": -99.1578293, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10697775152, "lat": 19.4303052, "lon": -99.1577714, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10697775153, "lat": 19.4303489, "lon": -99.1576887, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10697775154, "lat": 19.4311694, "lon": -99.1584083, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10702861275, "lat": 19.4271525, "lon": -99.1491384, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10702893507, "lat": 19.4301769, "lon": -99.1484275, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702893508, "lat": 19.4304364, "lon": -99.1501, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702893510, "lat": 19.4305173, "lon": -99.1501489, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702893511, "lat": 19.4303747, "lon": -99.1501787, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702893518, "lat": 19.4297043, "lon": -99.1503933, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702893519, "lat": 19.4296392, "lon": -99.1503289, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702916853, "lat": 19.431244, "lon": -99.1482003, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702916854, "lat": 19.4274205, "lon": -99.1508576, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702916855, "lat": 19.4274893, "lon": -99.150768, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702916856, "lat": 19.4274114, "lon": -99.1507112, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10702916857, "lat": 19.4273431, "lon": -99.1507981, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 10759924084, "lat": 19.4243628, "lon": -99.1625864}, {"type": "node", "id": 10759924086, "lat": 19.4245775, "lon": -99.1624919}, {"type": "node", "id": 10759924087, "lat": 19.42481, "lon": -99.1623883}, {"type": "node", "id": 10759924091, "lat": 19.4261731, "lon": -99.1617772}, {"type": "node", "id": 10759924093, "lat": 19.4296419, "lon": -99.1601972}, {"type": "node", "id": 10760042513, "lat": 19.4291727, "lon": -99.1638775}, {"type": "node", "id": 10760042514, "lat": 19.4285444, "lon": -99.163554}, {"type": "node", "id": 10762162122, "lat": 19.4339175, "lon": -99.1581594}, {"type": "node", "id": 10762162123, "lat": 19.4341454, "lon": -99.157859}, {"type": "node", "id": 10762162124, "lat": 19.4342018, "lon": -99.158034}, {"type": "node", "id": 10762162125, "lat": 19.4342454, "lon": -99.1578712}, {"type": "node", "id": 10762162126, "lat": 19.4343539, "lon": -99.1578434}, {"type": "node", "id": 10762162127, "lat": 19.4341938, "lon": -99.1579504, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10762162128, "lat": 19.4363216, "lon": -99.1571079, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10762162129, "lat": 19.4360343, "lon": -99.1572373}, {"type": "node", "id": 10762162131, "lat": 19.4377133, "lon": -99.1565012}, {"type": "node", "id": 10762162132, "lat": 19.4393392, "lon": -99.1557759}, {"type": "node", "id": 10762162133, "lat": 19.4405583, "lon": -99.1552428}, {"type": "node", "id": 10762162134, "lat": 19.4409893, "lon": -99.1550699}, {"type": "node", "id": 10762162135, "lat": 19.4411036, "lon": -99.1550183}, {"type": "node", "id": 10793984234, "lat": 19.4332688, "lon": -99.1539277}, {"type": "node", "id": 10794390044, "lat": 19.4353139, "lon": -99.1505001}, {"type": "node", "id": 10820419887, "lat": 19.4315543, "lon": -99.158605, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10820419899, "lat": 19.4313478, "lon": -99.1579428, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10820419901, "lat": 19.4314298, "lon": -99.1579216, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452010, "lat": 19.4314732, "lon": -99.1580696, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452011, "lat": 19.4316283, "lon": -99.1582392, "tags": {"highway": "crossing"}}, {"type": "node", "id": 10820452023, "lat": 19.4317731, "lon": -99.1594477, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452024, "lat": 19.4318106, "lon": -99.1593027, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452026, "lat": 19.4317636, "lon": -99.1591299, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452028, "lat": 19.4316818, "lon": -99.1590835, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452030, "lat": 19.4316158, "lon": -99.1592023, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452031, "lat": 19.4316607, "lon": -99.1593749, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452041, "lat": 19.431321, "lon": -99.1595383, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452043, "lat": 19.4313838, "lon": -99.1593186, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452045, "lat": 19.4313167, "lon": -99.1592657, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452049, "lat": 19.4306197, "lon": -99.1597038, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452050, "lat": 19.430506, "lon": -99.1599478, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452055, "lat": 19.4300359, "lon": -99.1602874, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452056, "lat": 19.4300423, "lon": -99.159928, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452058, "lat": 19.430009, "lon": -99.159948, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452061, "lat": 19.429939, "lon": -99.1600476, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10820452062, "lat": 19.4299444, "lon": -99.160226, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 10835748362, "lat": 19.4386975, "lon": -99.1549362}, {"type": "node", "id": 10903748709, "lat": 19.4331762, "lon": -99.1551887}, {"type": "node", "id": 10920038065, "lat": 19.4285706, "lon": -99.1639373}, {"type": "node", "id": 10920038066, "lat": 19.4285241, "lon": -99.1638387}, {"type": "node", "id": 10920038067, "lat": 19.4285072, "lon": -99.16373}, {"type": "node", "id": 10920038068, "lat": 19.4285213, "lon": -99.1636208}, {"type": "node", "id": 10920038069, "lat": 19.4285781, "lon": -99.1635003}, {"type": "node", "id": 10920038070, "lat": 19.4286349, "lon": -99.1634392}, {"type": "node", "id": 10920038071, "lat": 19.4287242, "lon": -99.163383}, {"type": "node", "id": 10920038072, "lat": 19.4291301, "lon": -99.1634988}, {"type": "node", "id": 10920038073, "lat": 19.4291768, "lon": -99.1635841}, {"type": "node", "id": 10920038074, "lat": 19.4292004, "lon": -99.1636796}, {"type": "node", "id": 10920038075, "lat": 19.4291994, "lon": -99.1637782}, {"type": "node", "id": 10920038076, "lat": 19.4291175, "lon": -99.1639672}, {"type": "node", "id": 10920038077, "lat": 19.4290372, "lon": -99.1640393}, {"type": "node", "id": 10920038078, "lat": 19.4288253, "lon": -99.1633573}, {"type": "node", "id": 10920038079, "lat": 19.4289997, "lon": -99.1633892}, {"type": "node", "id": 10920038080, "lat": 19.4289403, "lon": -99.1640826}, {"type": "node", "id": 10920038081, "lat": 19.4288356, "lon": -99.1640933}, {"type": "node", "id": 10920038082, "lat": 19.4286857, "lon": -99.1640471}, {"type": "node", "id": 10920038083, "lat": 19.4287528, "lon": -99.1640747}, {"type": "node", "id": 10920038084, "lat": 19.4286486, "lon": -99.1640212}, {"type": "node", "id": 10920038085, "lat": 19.4288796, "lon": -99.163359}, {"type": "node", "id": 11042869258, "lat": 19.4294302, "lon": -99.1602938}, {"type": "node", "id": 11108447273, "lat": 19.4279353, "lon": -99.173034}, {"type": "node", "id": 11108447276, "lat": 19.4280767, "lon": -99.1730004}, {"type": "node", "id": 11155022359, "lat": 19.4288144, "lon": -99.148578}, {"type": "node", "id": 11155022365, "lat": 19.4286596, "lon": -99.1486359}, {"type": "node", "id": 11155022366, "lat": 19.4275266, "lon": -99.148876}, {"type": "node", "id": 11155022367, "lat": 19.4272065, "lon": -99.1489359}, {"type": "node", "id": 11155022368, "lat": 19.4270032, "lon": -99.1491658}, {"type": "node", "id": 11155022369, "lat": 19.4265251, "lon": -99.1509683}, {"type": "node", "id": 11155022370, "lat": 19.4260777, "lon": -99.1526723}, {"type": "node", "id": 11155022371, "lat": 19.4272591, "lon": -99.1489259}, {"type": "node", "id": 11155022372, "lat": 19.4260414, "lon": -99.1527983}, {"type": "node", "id": 11155022374, "lat": 19.425907, "lon": -99.1532926}, {"type": "node", "id": 11155022375, "lat": 19.4257738, "lon": -99.1536095}, {"type": "node", "id": 11155022376, "lat": 19.4257261, "lon": -99.1536539}, {"type": "node", "id": 11155022377, "lat": 19.4256725, "lon": -99.1536847}, {"type": "node", "id": 11155022378, "lat": 19.4255877, "lon": -99.1536956, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11155022379, "lat": 19.4243628, "lon": -99.1537951}, {"type": "node", "id": 11155022380, "lat": 19.4242744, "lon": -99.1537707}, {"type": "node", "id": 11155022381, "lat": 19.4243586, "lon": -99.1537278}, {"type": "node", "id": 11155022382, "lat": 19.4255989, "lon": -99.1536228}, {"type": "node", "id": 11155022383, "lat": 19.4257323, "lon": -99.1535379}, {"type": "node", "id": 11158066773, "lat": 19.4372826, "lon": -99.1469931}, {"type": "node", "id": 11158370973, "lat": 19.4243588, "lon": -99.1536932}, {"type": "node", "id": 11184989142, "lat": 19.4329794, "lon": -99.1553761}, {"type": "node", "id": 11184989143, "lat": 19.432874, "lon": -99.1553317, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11184989144, "lat": 19.4334563, "lon": -99.1543367, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11184989145, "lat": 19.4334759, "lon": -99.1545668}, {"type": "node", "id": 11184989146, "lat": 19.4327792, "lon": -99.1552833, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11185031169, "lat": 19.4351618, "lon": -99.149957}, {"type": "node", "id": 11185031170, "lat": 19.4359123, "lon": -99.1494131}, {"type": "node", "id": 11185031171, "lat": 19.4361231, "lon": -99.1489893}, {"type": "node", "id": 11204050728, "lat": 19.4236515, "lon": -99.1755124}, {"type": "node", "id": 11328574289, "lat": 19.4246214, "lon": -99.1624724}, {"type": "node", "id": 11328574290, "lat": 19.4247296, "lon": -99.1625635}, {"type": "node", "id": 11352170381, "lat": 19.432665, "lon": -99.1511457}, {"type": "node", "id": 11428025631, "lat": 19.4292923, "lon": -99.1572434, "tags": {"barrier": "yes"}}, {"type": "node", "id": 11428025632, "lat": 19.4293025, "lon": -99.1570837, "tags": {"barrier": "yes"}}, {"type": "node", "id": 11430249772, "lat": 19.4269377, "lon": -99.1648156}, {"type": "node", "id": 11436330640, "lat": 19.4266336, "lon": -99.1668899}, {"type": "node", "id": 11436330641, "lat": 19.4269918, "lon": -99.1667425}, {"type": "node", "id": 11436330642, "lat": 19.4282931, "lon": -99.1639312}, {"type": "node", "id": 11436330643, "lat": 19.4282711, "lon": -99.1637526}, {"type": "node", "id": 11436330644, "lat": 19.42827, "lon": -99.1636829}, {"type": "node", "id": 11436330645, "lat": 19.4282808, "lon": -99.1635724, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11436330646, "lat": 19.4286335, "lon": -99.1631434}, {"type": "node", "id": 11436330647, "lat": 19.4299357, "lon": -99.1605419}, {"type": "node", "id": 11436330648, "lat": 19.4299732, "lon": -99.1604583}, {"type": "node", "id": 11436330649, "lat": 19.430586, "lon": -99.159437}, {"type": "node", "id": 11436330650, "lat": 19.4306438, "lon": -99.1593379}, {"type": "node", "id": 11436330651, "lat": 19.4308045, "lon": -99.1590052}, {"type": "node", "id": 11436330652, "lat": 19.4304954, "lon": -99.1595749}, {"type": "node", "id": 11436330653, "lat": 19.4309114, "lon": -99.1587557}, {"type": "node", "id": 11436330654, "lat": 19.4309671, "lon": -99.1586588}, {"type": "node", "id": 11436330655, "lat": 19.4312752, "lon": -99.158249, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11436330656, "lat": 19.4326929, "lon": -99.1551155}, {"type": "node", "id": 11436330657, "lat": 19.4326337, "lon": -99.1546764}, {"type": "node", "id": 11436330658, "lat": 19.4326869, "lon": -99.1544361}, {"type": "node", "id": 11436586312, "lat": 19.4251721, "lon": -99.1573953}, {"type": "node", "id": 11436637336, "lat": 19.4269401, "lon": -99.1557931, "tags": {"highway": "traffic_signals", "traffic_signals": "signal", "traffic_signals:direction": "backward"}}, {"type": "node", "id": 11436637337, "lat": 19.4284004, "lon": -99.1552859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11439037094, "lat": 19.4257255, "lon": -99.1553616}, {"type": "node", "id": 11439037095, "lat": 19.4309904, "lon": -99.1584522}, {"type": "node", "id": 11439037096, "lat": 19.4309248, "lon": -99.1584907}, {"type": "node", "id": 11439037097, "lat": 19.4308687, "lon": -99.1585205}, {"type": "node", "id": 11439037098, "lat": 19.4307897, "lon": -99.1585727}, {"type": "node", "id": 11439037099, "lat": 19.430624, "lon": -99.1589115}, {"type": "node", "id": 11439037100, "lat": 19.4306319, "lon": -99.1588382}, {"type": "node", "id": 11439037101, "lat": 19.4307145, "lon": -99.1586413}, {"type": "node", "id": 11439037102, "lat": 19.430613, "lon": -99.1590604, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 11439037103, "lat": 19.4254807, "lon": -99.1565362}, {"type": "node", "id": 11439037104, "lat": 19.4253752, "lon": -99.1565238}, {"type": "node", "id": 11442111497, "lat": 19.4289842, "lon": -99.1561469}, {"type": "node", "id": 11468627868, "lat": 19.4281164, "lon": -99.1641793, "tags": {"highway": "stop"}}, {"type": "node", "id": 11468645369, "lat": 19.4272679, "lon": -99.1628851, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645370, "lat": 19.4272267, "lon": -99.1628634, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468645371, "lat": 19.4263594, "lon": -99.1624069, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645372, "lat": 19.4263329, "lon": -99.162393, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468645373, "lat": 19.4259305, "lon": -99.1621812, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645374, "lat": 19.4258802, "lon": -99.1621547, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468645375, "lat": 19.425961, "lon": -99.1620062, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645376, "lat": 19.4254368, "lon": -99.1619274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645377, "lat": 19.4254092, "lon": -99.1621213, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468645378, "lat": 19.4254596, "lon": -99.1620989, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468645381, "lat": 19.4242938, "lon": -99.1611676, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468645382, "lat": 19.4243024, "lon": -99.1611315, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740617, "lat": 19.4257609, "lon": -99.160777, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 11468740618, "lat": 19.4266422, "lon": -99.1612311, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740619, "lat": 19.4268695, "lon": -99.1613492, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740620, "lat": 19.4268535, "lon": -99.1614714, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740621, "lat": 19.4272981, "lon": -99.1614236, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740623, "lat": 19.4285801, "lon": -99.1609405, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740624, "lat": 19.4286572, "lon": -99.1608113, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740625, "lat": 19.4253789, "lon": -99.1592483, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740626, "lat": 19.4262712, "lon": -99.159727, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740627, "lat": 19.4271516, "lon": -99.1601878, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740628, "lat": 19.4280433, "lon": -99.1606595, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740629, "lat": 19.4281616, "lon": -99.1606226, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740630, "lat": 19.4282039, "lon": -99.1608533, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740631, "lat": 19.4284335, "lon": -99.1607486, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740632, "lat": 19.4284789, "lon": -99.1607279, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11468740633, "lat": 19.4288973, "lon": -99.1593727, "tags": {"highway": "stop"}}, {"type": "node", "id": 11468740634, "lat": 19.4280509, "lon": -99.1589238, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740635, "lat": 19.4271171, "lon": -99.158428, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740636, "lat": 19.4262291, "lon": -99.1579565, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11468740637, "lat": 19.4252375, "lon": -99.15743, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11469919535, "lat": 19.4275024, "lon": -99.1570734, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11469919536, "lat": 19.4284031, "lon": -99.1575457, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11469919537, "lat": 19.4293005, "lon": -99.1580147, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11469919538, "lat": 19.4292582, "lon": -99.1579926, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11469919539, "lat": 19.4286222, "lon": -99.1576606}, {"type": "node", "id": 11470042682, "lat": 19.4288427, "lon": -99.1592036, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470042683, "lat": 19.4271937, "lon": -99.1626981, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470042684, "lat": 19.4265823, "lon": -99.1640115, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470042685, "lat": 19.4266088, "lon": -99.1639546, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470042686, "lat": 19.4259473, "lon": -99.1653582, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470042687, "lat": 19.4253448, "lon": -99.1666339, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124404, "lat": 19.4255519, "lon": -99.1638156, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124405, "lat": 19.4261819, "lon": -99.1624754, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124406, "lat": 19.4264598, "lon": -99.1618865, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470124407, "lat": 19.4264356, "lon": -99.1619377, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124408, "lat": 19.4267395, "lon": -99.1616599, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124409, "lat": 19.4264587, "lon": -99.1616529, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470124410, "lat": 19.4264051, "lon": -99.1616762, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124411, "lat": 19.426706, "lon": -99.1613653, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124412, "lat": 19.4271842, "lon": -99.1603588, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124413, "lat": 19.4278301, "lon": -99.1590002, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 11470124414, "lat": 19.4278453, "lon": -99.1589684, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470124415, "lat": 19.4284448, "lon": -99.1577162, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172756, "lat": 19.4276621, "lon": -99.1570312, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172757, "lat": 19.4270703, "lon": -99.1582758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172758, "lat": 19.426418, "lon": -99.1596477, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172759, "lat": 19.4259124, "lon": -99.160711, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470172760, "lat": 19.4254144, "lon": -99.1617646, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172761, "lat": 19.4252617, "lon": -99.1620903, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172762, "lat": 19.4250588, "lon": -99.1622775, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470172763, "lat": 19.4250053, "lon": -99.1623013, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172764, "lat": 19.4253168, "lon": -99.1622982, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470172765, "lat": 19.424787, "lon": -99.1631025, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470549032, "lat": 19.4254208, "lon": -99.1593923, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470549033, "lat": 19.4260807, "lon": -99.1579916, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470549034, "lat": 19.4260604, "lon": -99.1580347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470549035, "lat": 19.4269706, "lon": -99.1560918, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770715, "lat": 19.4264657, "lon": -99.1550497, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470770716, "lat": 19.4278528, "lon": -99.1544652, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770717, "lat": 19.4289407, "lon": -99.1540067, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770718, "lat": 19.4299558, "lon": -99.1535757, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770719, "lat": 19.4313154, "lon": -99.1530021, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770720, "lat": 19.4326984, "lon": -99.1524192, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470770721, "lat": 19.4326573, "lon": -99.1524366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770722, "lat": 19.4305327, "lon": -99.1546449, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770723, "lat": 19.4297351, "lon": -99.1549437, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770724, "lat": 19.4285229, "lon": -99.1553975, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770725, "lat": 19.4271432, "lon": -99.1559139, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770726, "lat": 19.4297808, "lon": -99.1559662, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770727, "lat": 19.4306424, "lon": -99.1556977, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770728, "lat": 19.4314784, "lon": -99.156459, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470770729, "lat": 19.4315057, "lon": -99.1564733, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770730, "lat": 19.4310543, "lon": -99.15653, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770731, "lat": 19.4304769, "lon": -99.1577197, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470770732, "lat": 19.4296113, "lon": -99.1579805, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827786, "lat": 19.4267097, "lon": -99.1551692, "tags": {"direction": "forward", "highway": "stop"}}, {"type": "node", "id": 11470827787, "lat": 19.4280209, "lon": -99.1542666, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827788, "lat": 19.4295533, "lon": -99.1581716, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827789, "lat": 19.4291336, "lon": -99.156679, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470827790, "lat": 19.4291157, "lon": -99.1566151, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 11470827791, "lat": 19.4290246, "lon": -99.1562913, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470827792, "lat": 19.4290722, "lon": -99.1537292, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827793, "lat": 19.4295106, "lon": -99.1548167, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827794, "lat": 19.4298343, "lon": -99.1558501, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470827795, "lat": 19.4300819, "lon": -99.1567453, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 11470827796, "lat": 19.4303374, "lon": -99.1576481, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888586, "lat": 19.4310801, "lon": -99.1583717, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888587, "lat": 19.4312522, "lon": -99.15803, "tags": {"highway": "give_way"}}, {"type": "node", "id": 11470888588, "lat": 19.4309986, "lon": -99.1566576, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888589, "lat": 19.4307561, "lon": -99.1557715, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888590, "lat": 19.4304862, "lon": -99.154785, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888591, "lat": 19.4301849, "lon": -99.1536838, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888592, "lat": 19.4297547, "lon": -99.1522644, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888593, "lat": 19.4297885, "lon": -99.1520721, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888594, "lat": 19.4298287, "lon": -99.1520553, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888595, "lat": 19.4313491, "lon": -99.156583, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888596, "lat": 19.431333, "lon": -99.1566317, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888597, "lat": 19.4316972, "lon": -99.1555276, "tags": {"highway": "stop"}}, {"type": "node", "id": 11470888598, "lat": 19.4315863, "lon": -99.1531791, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888599, "lat": 19.4310909, "lon": -99.1518299, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888600, "lat": 19.4310758, "lon": -99.1517888, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888601, "lat": 19.4312066, "lon": -99.1515418, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888602, "lat": 19.4312429, "lon": -99.1515078, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888603, "lat": 19.431183, "lon": -99.1514483, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888604, "lat": 19.4312322, "lon": -99.1514471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888605, "lat": 19.4310738, "lon": -99.1517633}, {"type": "node", "id": 11470888606, "lat": 19.4310836, "lon": -99.151703}, {"type": "node", "id": 11470888607, "lat": 19.4328165, "lon": -99.1522593, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888608, "lat": 19.4328107, "lon": -99.1522162, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888609, "lat": 19.4330738, "lon": -99.1540086, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888610, "lat": 19.4330467, "lon": -99.1542192, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11470888611, "lat": 19.4336412, "lon": -99.1530208}, {"type": "node", "id": 11470888612, "lat": 19.4333063, "lon": -99.1504402}, {"type": "node", "id": 11470888613, "lat": 19.4333151, "lon": -99.1507849, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888614, "lat": 19.4342386, "lon": -99.1502022}, {"type": "node", "id": 11470888615, "lat": 19.4334749, "lon": -99.1505562, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11470888616, "lat": 19.433436, "lon": -99.1505698, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068253, "lat": 19.4278094, "lon": -99.1650355, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068254, "lat": 19.4278414, "lon": -99.1649673, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068255, "lat": 19.4282743, "lon": -99.1636308, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068256, "lat": 19.4284108, "lon": -99.1634861, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068257, "lat": 19.4294679, "lon": -99.1615411, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068258, "lat": 19.4294422, "lon": -99.1615955, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068259, "lat": 19.4300213, "lon": -99.1603273, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068260, "lat": 19.4300026, "lon": -99.1603781, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068261, "lat": 19.4301957, "lon": -99.1601011, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068262, "lat": 19.4299051, "lon": -99.1600644, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068263, "lat": 19.4298631, "lon": -99.1600855, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068264, "lat": 19.4311467, "lon": -99.1584354, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068265, "lat": 19.431301, "lon": -99.1581971, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068266, "lat": 19.4319011, "lon": -99.156887, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471068267, "lat": 19.4318796, "lon": -99.1569343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471068268, "lat": 19.4323821, "lon": -99.1558711, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471077169, "lat": 19.4323713, "lon": -99.1558938, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471077170, "lat": 19.4326625, "lon": -99.1552626, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471077171, "lat": 19.4335996, "lon": -99.1532765, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471077172, "lat": 19.433562, "lon": -99.153358, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471077173, "lat": 19.4338575, "lon": -99.1527272, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471077174, "lat": 19.4350922, "lon": -99.150114, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471077175, "lat": 19.4350722, "lon": -99.1501562, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954733, "lat": 19.4328012, "lon": -99.1508227, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954734, "lat": 19.4326122, "lon": -99.1507677, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471954735, "lat": 19.4326055, "lon": -99.1507219, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954736, "lat": 19.4319532, "lon": -99.1511775, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954737, "lat": 19.4319149, "lon": -99.1511934, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471954738, "lat": 19.4276604, "lon": -99.1529616, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471954739, "lat": 19.4276966, "lon": -99.1529465, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954740, "lat": 19.4275456, "lon": -99.152871, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471954741, "lat": 19.4275427, "lon": -99.1528235, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11471954742, "lat": 19.4262216, "lon": -99.1535629, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11471954743, "lat": 19.4262596, "lon": -99.153547, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11489122667, "lat": 19.4319125, "lon": -99.1568618, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489158416, "lat": 19.4335738, "lon": -99.1533324, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489159352, "lat": 19.4338259, "lon": -99.1527941, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489159731, "lat": 19.4332594, "lon": -99.1540081, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489160987, "lat": 19.429325, "lon": -99.1618436, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489168253, "lat": 19.4290982, "lon": -99.1623239, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489170588, "lat": 19.4326227, "lon": -99.1553616, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489173760, "lat": 19.4314901, "lon": -99.1577915, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489174112, "lat": 19.4320404, "lon": -99.1565872, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11489183830, "lat": 19.4350536, "lon": -99.1501956, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 11490084072, "lat": 19.4262021, "lon": -99.1610043}, {"type": "node", "id": 11490970055, "lat": 19.4281033, "lon": -99.1561032}, {"type": "node", "id": 11490977126, "lat": 19.4286458, "lon": -99.1553516}, {"type": "node", "id": 11490977128, "lat": 19.4283533, "lon": -99.1551594}, {"type": "node", "id": 11490977130, "lat": 19.428566, "lon": -99.1553814}, {"type": "node", "id": 11491034256, "lat": 19.4306482, "lon": -99.1587553}, {"type": "node", "id": 11492004083, "lat": 19.4330239, "lon": -99.1522818}, {"type": "node", "id": 11496576539, "lat": 19.4274437, "lon": -99.1656744, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11496576540, "lat": 19.427843, "lon": -99.1648254, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table"}}, {"type": "node", "id": 11496576541, "lat": 19.4281406, "lon": -99.1641922, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11496576543, "lat": 19.4282793, "lon": -99.1634182, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11496622377, "lat": 19.4289576, "lon": -99.1624633, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11496622378, "lat": 19.4294545, "lon": -99.1614043, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11503750882, "lat": 19.4252877, "lon": -99.1558876}, {"type": "node", "id": 11503750883, "lat": 19.4254903, "lon": -99.1549548}, {"type": "node", "id": 11521196369, "lat": 19.4294183, "lon": -99.1635257}, {"type": "node", "id": 11524096758, "lat": 19.4272509, "lon": -99.1662214, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no"}}, {"type": "node", "id": 11524096762, "lat": 19.4273074, "lon": -99.1661014, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no"}}, {"type": "node", "id": 11524096767, "lat": 19.4278583, "lon": -99.1649314, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11524096948, "lat": 19.426328, "lon": -99.1671473, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11524130072, "lat": 19.4279275, "lon": -99.1647846, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11524130076, "lat": 19.4282867, "lon": -99.1635579, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11526643615, "lat": 19.4283877, "lon": -99.1633427, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11526643624, "lat": 19.4289813, "lon": -99.1625719, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11526643625, "lat": 19.4290489, "lon": -99.1624281, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11526643630, "lat": 19.4294837, "lon": -99.1615077, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11526643635, "lat": 19.4295528, "lon": -99.1613606, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "paving_stones", "tactile_paving": "no", "traffic_calming": "table", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528486396, "lat": 19.4275487, "lon": -99.1663665, "tags": {"highway": "stop"}}, {"type": "node", "id": 11528486397, "lat": 19.4281544, "lon": -99.1650749, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528486398, "lat": 19.4281725, "lon": -99.1650364, "tags": {"highway": "stop"}}, {"type": "node", "id": 11528486399, "lat": 19.4285186, "lon": -99.1642983, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528486400, "lat": 19.4285383, "lon": -99.1642563, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11528486401, "lat": 19.4283327, "lon": -99.1649709, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528486402, "lat": 19.428314, "lon": -99.1650107, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11528486403, "lat": 19.4276902, "lon": -99.1663415, "tags": {"highway": "stop"}}, {"type": "node", "id": 11528486404, "lat": 19.4273619, "lon": -99.1670419, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528486405, "lat": 19.4273423, "lon": -99.1670836, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11528508966, "lat": 19.4292725, "lon": -99.1627011, "tags": {"highway": "stop"}}, {"type": "node", "id": 11528508967, "lat": 19.4297684, "lon": -99.161654, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528508968, "lat": 19.4297875, "lon": -99.1616135, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11528510802, "lat": 19.4273226, "lon": -99.1671257, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "concrete", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528510803, "lat": 19.427219, "lon": -99.1670695, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "surface": "concrete", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528510808, "lat": 19.4276726, "lon": -99.1663791, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11528510809, "lat": 19.4275672, "lon": -99.1663271, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11528510814, "lat": 19.4281908, "lon": -99.1649974, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528510815, "lat": 19.4282957, "lon": -99.1650495, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528510822, "lat": 19.4286675, "lon": -99.1642566, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528510823, "lat": 19.4285629, "lon": -99.1642038, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528563469, "lat": 19.4304712, "lon": -99.1601698, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528563470, "lat": 19.4304963, "lon": -99.1601168, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 11528563471, "lat": 19.4299296, "lon": -99.1615898, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528563472, "lat": 19.4294176, "lon": -99.1626786, "tags": {"highway": "stop"}}, {"type": "node", "id": 11528563473, "lat": 19.4291632, "lon": -99.1632196, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 11528923935, "lat": 19.4291329, "lon": -99.163284, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528923936, "lat": 19.4290238, "lon": -99.1632262, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528923943, "lat": 19.4294011, "lon": -99.1627137, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11528923944, "lat": 19.4292925, "lon": -99.162659, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 11528923951, "lat": 19.4299116, "lon": -99.1616281, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11528923952, "lat": 19.4298052, "lon": -99.1615763, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 11558071215, "lat": 19.4291307, "lon": -99.1622551}, {"type": "node", "id": 11558071219, "lat": 19.4293042, "lon": -99.1618876}, {"type": "node", "id": 11559108728, "lat": 19.4275837, "lon": -99.1530863}, {"type": "node", "id": 11559142990, "lat": 19.4244783, "lon": -99.1601173}, {"type": "node", "id": 11563159862, "lat": 19.429279, "lon": -99.1582947}, {"type": "node", "id": 11563159863, "lat": 19.4293907, "lon": -99.1580618}, {"type": "node", "id": 11563278894, "lat": 19.4296298, "lon": -99.1584438}, {"type": "node", "id": 11563278895, "lat": 19.4296116, "lon": -99.1583788}, {"type": "node", "id": 11563278898, "lat": 19.4296062, "lon": -99.157982}, {"type": "node", "id": 11679163824, "lat": 19.4290483, "lon": -99.1631745}, {"type": "node", "id": 11679163825, "lat": 19.4292781, "lon": -99.1639329}, {"type": "node", "id": 11679163826, "lat": 19.4286467, "lon": -99.1643011}, {"type": "node", "id": 11682997499, "lat": 19.4334366, "lon": -99.1545181}, {"type": "node", "id": 11682997500, "lat": 19.4334265, "lon": -99.1543727}, {"type": "node", "id": 11682997515, "lat": 19.4331736, "lon": -99.1541726}, {"type": "node", "id": 11682997536, "lat": 19.4327291, "lon": -99.1550632}, {"type": "node", "id": 11682997552, "lat": 19.432861, "lon": -99.1553596}, {"type": "node", "id": 11682997553, "lat": 19.4327655, "lon": -99.1553121}, {"type": "node", "id": 11682997555, "lat": 19.4333182, "lon": -99.1541236}, {"type": "node", "id": 11682997556, "lat": 19.4334013, "lon": -99.1542346}, {"type": "node", "id": 11682997557, "lat": 19.4329881, "lon": -99.1553002}, {"type": "node", "id": 11753844084, "lat": 19.4320137, "lon": -99.1566432, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844085, "lat": 19.431906, "lon": -99.1566831, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844086, "lat": 19.432117, "lon": -99.1566958, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844087, "lat": 19.4322188, "lon": -99.1567476, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844088, "lat": 19.4319316, "lon": -99.1568199, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844089, "lat": 19.4323086, "lon": -99.1567933, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844090, "lat": 19.4320344, "lon": -99.1568722, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844091, "lat": 19.4321358, "lon": -99.1569239, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844092, "lat": 19.4323266, "lon": -99.1569237, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844093, "lat": 19.4322251, "lon": -99.1569694, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844100, "lat": 19.4326734, "lon": -99.1552293, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844101, "lat": 19.4329758, "lon": -99.1553837, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844110, "lat": 19.4325542, "lon": -99.1544514, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844115, "lat": 19.4331186, "lon": -99.1540953, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844132, "lat": 19.4338177, "lon": -99.1545884, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11753844166, "lat": 19.4306295, "lon": -99.1586298, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875026966, "lat": 19.433626, "lon": -99.1532316, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875026967, "lat": 19.4336529, "lon": -99.1534117, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875026968, "lat": 19.4336842, "lon": -99.1536205, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045326, "lat": 19.4277853, "lon": -99.1679276, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045328, "lat": 19.4276812, "lon": -99.1681678, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045340, "lat": 19.4267599, "lon": -99.1690802, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045341, "lat": 19.4273416, "lon": -99.168465}, {"type": "node", "id": 11875045353, "lat": 19.4279894, "lon": -99.1664575, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045354, "lat": 19.4279253, "lon": -99.1665974, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875045356, "lat": 19.4293099, "lon": -99.1639496, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046369, "lat": 19.4337118, "lon": -99.1538047, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046370, "lat": 19.4332284, "lon": -99.1539423, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 11875046376, "lat": 19.4336398, "lon": -99.1530117, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046377, "lat": 19.4337515, "lon": -99.1529516, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046378, "lat": 19.4337833, "lon": -99.1531244, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046379, "lat": 19.4338494, "lon": -99.153257, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046380, "lat": 19.4339383, "lon": -99.1533183, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11875046384, "lat": 19.4337931, "lon": -99.1538055, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879484767, "lat": 19.4325132, "lon": -99.1586934, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879484768, "lat": 19.432572, "lon": -99.158753, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518269, "lat": 19.4322728, "lon": -99.1588905, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518270, "lat": 19.4324701, "lon": -99.1589897, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518271, "lat": 19.4322575, "lon": -99.1590875, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518272, "lat": 19.4323516, "lon": -99.1591419, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518279, "lat": 19.4343474, "lon": -99.1577978, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518280, "lat": 19.4342706, "lon": -99.1578647, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518281, "lat": 19.4344554, "lon": -99.1579264, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518282, "lat": 19.4342869, "lon": -99.1579986, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518283, "lat": 19.4343081, "lon": -99.1581723, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518284, "lat": 19.4344092, "lon": -99.1582295, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518287, "lat": 19.4341785, "lon": -99.1580443, "tags": {"crossing": "uncontrolled", "not:highway": "crossing"}}, {"type": "node", "id": 11879518288, "lat": 19.4342698, "lon": -99.1581892, "tags": {"crossing": "uncontrolled", "not:highway": "crossing"}}, {"type": "node", "id": 11879518294, "lat": 19.4366055, "lon": -99.1569087, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518295, "lat": 19.4367, "lon": -99.1569437, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518296, "lat": 19.4364276, "lon": -99.1569818, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518297, "lat": 19.4367297, "lon": -99.1571151, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518298, "lat": 19.4366582, "lon": -99.1572474, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879518340, "lat": 19.4354768, "lon": -99.1539669}, {"type": "node", "id": 11879518343, "lat": 19.4354003, "lon": -99.1543282, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 11879518344, "lat": 19.4354166, "lon": -99.1544362, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 11879518377, "lat": 19.4356958, "lon": -99.1555591}, {"type": "node", "id": 11879518390, "lat": 19.4365523, "lon": -99.1555393}, {"type": "node", "id": 11879518439, "lat": 19.4366464, "lon": -99.1537866}, {"type": "node", "id": 11879518545, "lat": 19.4344788, "lon": -99.1580972, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612780, "lat": 19.4350512, "lon": -99.1498829, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612816, "lat": 19.4353705, "lon": -99.1490853, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612824, "lat": 19.435902, "lon": -99.1491848, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612825, "lat": 19.4359716, "lon": -99.149294, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612848, "lat": 19.4359898, "lon": -99.149545, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879612851, "lat": 19.4359696, "lon": -99.1496496, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879698624, "lat": 19.4372723, "lon": -99.1471656, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11879698625, "lat": 19.4372243, "lon": -99.1470804, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 11954529972, "lat": 19.4248815, "lon": -99.1730748}, {"type": "node", "id": 11954529986, "lat": 19.4261248, "lon": -99.1704142, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11954529988, "lat": 19.426056, "lon": -99.1705585, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11954529992, "lat": 19.4266982, "lon": -99.1692099, "tags": {"highway": "crossing"}}, {"type": "node", "id": 11954529998, "lat": 19.4269971, "lon": -99.1686031}, {"type": "node", "id": 11954530009, "lat": 19.4256247, "lon": -99.1717654, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 11954530017, "lat": 19.4248217, "lon": -99.1732021, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 11954530040, "lat": 19.4236557, "lon": -99.1755057}, {"type": "node", "id": 11954530049, "lat": 19.424265, "lon": -99.1743825, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 11954530050, "lat": 19.4241891, "lon": -99.1745343, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 11978207890, "lat": 19.432744, "lon": -99.1581975}, {"type": "node", "id": 11978207891, "lat": 19.4327188, "lon": -99.1582517}, {"type": "node", "id": 12005579363, "lat": 19.429755, "lon": -99.1598217}, {"type": "node", "id": 12010073932, "lat": 19.4378417, "lon": -99.14926, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12010073934, "lat": 19.4379816, "lon": -99.1492261, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12012953043, "lat": 19.4393604, "lon": -99.1530579, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12013315302, "lat": 19.4258343, "lon": -99.1532529}, {"type": "node", "id": 12013315308, "lat": 19.4270336, "lon": -99.1490549}, {"type": "node", "id": 12013315309, "lat": 19.4269627, "lon": -99.1491734, "tags": {"crossing": "marked", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12013315311, "lat": 19.4270313, "lon": -99.1490151}, {"type": "node", "id": 12013315312, "lat": 19.4270633, "lon": -99.1489947}, {"type": "node", "id": 12013315315, "lat": 19.4271133, "lon": -99.1489999}, {"type": "node", "id": 12013315316, "lat": 19.4270559, "lon": -99.1490395}, {"type": "node", "id": 12013315317, "lat": 19.427061, "lon": -99.1490096}, {"type": "node", "id": 12013315321, "lat": 19.4273605, "lon": -99.148907, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661209, "lat": 19.4396808, "lon": -99.1555386, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661210, "lat": 19.4398116, "lon": -99.1554786, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661213, "lat": 19.439613, "lon": -99.1556577, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661214, "lat": 19.4396773, "lon": -99.1558157, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661215, "lat": 19.4399538, "lon": -99.1558204, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661216, "lat": 19.4398227, "lon": -99.1558804, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661246, "lat": 19.426904, "lon": -99.1613665, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661247, "lat": 19.4268998, "lon": -99.1614496, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661248, "lat": 19.4270362, "lon": -99.1613861, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661251, "lat": 19.427052, "lon": -99.1615308, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661252, "lat": 19.4272053, "lon": -99.161531, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661257, "lat": 19.4266412, "lon": -99.1614929, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661258, "lat": 19.4265051, "lon": -99.1616327, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661260, "lat": 19.426683, "lon": -99.1615508, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661262, "lat": 19.4266144, "lon": -99.161712, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661263, "lat": 19.4264334, "lon": -99.161791, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12015661264, "lat": 19.4264796, "lon": -99.1618447, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12046760075, "lat": 19.426765, "lon": -99.1509181, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12046760076, "lat": 19.4262141, "lon": -99.1529464, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12056088649, "lat": 19.4258251, "lon": -99.1535293}, {"type": "node", "id": 12056088656, "lat": 19.4261067, "lon": -99.1535345}, {"type": "node", "id": 12056088659, "lat": 19.4260335, "lon": -99.1536349, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056088660, "lat": 19.4258866, "lon": -99.153826, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056088661, "lat": 19.4257262, "lon": -99.1538689, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056088665, "lat": 19.4260853, "lon": -99.1534729, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110871, "lat": 19.425959, "lon": -99.1531014, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110872, "lat": 19.4259834, "lon": -99.1531087, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110873, "lat": 19.426066, "lon": -99.1532098, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110880, "lat": 19.4259454, "lon": -99.1527079, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110889, "lat": 19.425585, "lon": -99.153624, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110890, "lat": 19.4255838, "lon": -99.1535899, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110891, "lat": 19.42559, "lon": -99.1537565, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110897, "lat": 19.4262155, "lon": -99.1538313}, {"type": "node", "id": 12056110898, "lat": 19.4258035, "lon": -99.1541783}, {"type": "node", "id": 12056110902, "lat": 19.42618, "lon": -99.153735, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12056110904, "lat": 19.4261959, "lon": -99.1535736, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110907, "lat": 19.4264492, "lon": -99.1511195, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110908, "lat": 19.426483, "lon": -99.1511287, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110909, "lat": 19.4265096, "lon": -99.1511359, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110910, "lat": 19.426612, "lon": -99.1511636, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110914, "lat": 19.4257157, "lon": -99.1510433, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110915, "lat": 19.4255525, "lon": -99.1510715, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110917, "lat": 19.4257974, "lon": -99.151114, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110918, "lat": 19.4254632, "lon": -99.1511784, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110919, "lat": 19.4255625, "lon": -99.1512434, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12056110921, "lat": 19.4257258, "lon": -99.1512103, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12145055471, "lat": 19.4278072, "lon": -99.1675146}, {"type": "node", "id": 12145055477, "lat": 19.4277414, "lon": -99.1670065}, {"type": "node", "id": 12146622407, "lat": 19.4287336, "lon": -99.1668316, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12156030142, "lat": 19.4281031, "lon": -99.1641722}, {"type": "node", "id": 12156030148, "lat": 19.4280704, "lon": -99.1644821}, {"type": "node", "id": 12211772837, "lat": 19.4352755, "lon": -99.1489039, "tags": {"access": "no", "barrier": "block"}}, {"type": "node", "id": 12644288840, "lat": 19.4297392, "lon": -99.160962}, {"type": "node", "id": 12644288842, "lat": 19.4297515, "lon": -99.1609358}, {"type": "node", "id": 12688754297, "lat": 19.4338503, "lon": -99.1535072}, {"type": "node", "id": 12688754298, "lat": 19.4333435, "lon": -99.1505933}, {"type": "node", "id": 12688754299, "lat": 19.4354094, "lon": -99.1533485}, {"type": "node", "id": 12688754300, "lat": 19.435472, "lon": -99.1532198}, {"type": "node", "id": 12688772201, "lat": 19.4354014, "lon": -99.1533859}, {"type": "node", "id": 12688772202, "lat": 19.4336943, "lon": -99.1530749}, {"type": "node", "id": 12688772203, "lat": 19.4336734, "lon": -99.152927, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12688772204, "lat": 19.4339697, "lon": -99.1534353, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12688772205, "lat": 19.4339488, "lon": -99.1534912, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12688772206, "lat": 19.43392, "lon": -99.1535689, "tags": {"crossing": "uncontrolled", "crossing:markings": "yes", "highway": "crossing"}}, {"type": "node", "id": 12688772207, "lat": 19.4337246, "lon": -99.1532519}, {"type": "node", "id": 12688772208, "lat": 19.4337592, "lon": -99.1534542}, {"type": "node", "id": 12688772209, "lat": 19.4333612, "lon": -99.1507189}, {"type": "node", "id": 12689949882, "lat": 19.4379791, "lon": -99.1505103}, {"type": "node", "id": 12689949883, "lat": 19.4369886, "lon": -99.15541}, {"type": "node", "id": 12690127164, "lat": 19.4362759, "lon": -99.1530109}, {"type": "node", "id": 12690127165, "lat": 19.4365493, "lon": -99.1531985}, {"type": "node", "id": 12690127166, "lat": 19.4368512, "lon": -99.1552577}, {"type": "node", "id": 12690127167, "lat": 19.4367938, "lon": -99.1553986}, {"type": "node", "id": 12690127168, "lat": 19.4363303, "lon": -99.1556029}, {"type": "node", "id": 12690127169, "lat": 19.4359157, "lon": -99.1556007}, {"type": "node", "id": 12690127170, "lat": 19.4356894, "lon": -99.1554085}, {"type": "node", "id": 12690127171, "lat": 19.4335146, "lon": -99.1545997}, {"type": "node", "id": 12690127172, "lat": 19.4335016, "lon": -99.1548839}, {"type": "node", "id": 12690127173, "lat": 19.4336344, "lon": -99.1547329}, {"type": "node", "id": 12690127175, "lat": 19.4346136, "lon": -99.1557233}, {"type": "node", "id": 12690127176, "lat": 19.4347651, "lon": -99.1557364}, {"type": "node", "id": 12690127177, "lat": 19.4356317, "lon": -99.1555992}, {"type": "node", "id": 12690127178, "lat": 19.4356704, "lon": -99.1555813}, {"type": "node", "id": 12690365153, "lat": 19.4351421, "lon": -99.1507549}, {"type": "node", "id": 12690365157, "lat": 19.4349459, "lon": -99.1511728}, {"type": "node", "id": 12690482190, "lat": 19.4353563, "lon": -99.1504907, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484401, "lat": 19.4356041, "lon": -99.1556043, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484403, "lat": 19.4352359, "lon": -99.1532228, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484404, "lat": 19.435243, "lon": -99.1532802, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484405, "lat": 19.4352507, "lon": -99.1533417, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484407, "lat": 19.4362632, "lon": -99.1557501, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484408, "lat": 19.4364392, "lon": -99.1557161, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484412, "lat": 19.4368209, "lon": -99.1540404, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484413, "lat": 19.4368449, "lon": -99.1541776, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484416, "lat": 19.436667, "lon": -99.1530613, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484417, "lat": 19.4359315, "lon": -99.1528773, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484420, "lat": 19.4360547, "lon": -99.1524955, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484423, "lat": 19.4359841, "lon": -99.1519731, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484426, "lat": 19.4359251, "lon": -99.1515176, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484429, "lat": 19.4358413, "lon": -99.1509414, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12690484433, "lat": 19.4357665, "lon": -99.1504535, "tags": {"crossing": "unmarked", "crossing:markings": "no", "highway": "crossing"}}, {"type": "node", "id": 12708680999, "lat": 19.4354984, "lon": -99.1531911}, {"type": "node", "id": 12728031309, "lat": 19.4262457, "lon": -99.1529546}, {"type": "node", "id": 12735644075, "lat": 19.4257586, "lon": -99.1534662}, {"type": "node", "id": 12735644076, "lat": 19.4257784, "lon": -99.1533668}, {"type": "node", "id": 12738580313, "lat": 19.4262639, "lon": -99.1529533}, {"type": "node", "id": 12738580314, "lat": 19.4274121, "lon": -99.1524528, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580315, "lat": 19.4274082, "lon": -99.1506592, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580316, "lat": 19.4293194, "lon": -99.1511098, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580317, "lat": 19.429696, "lon": -99.1504224, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580318, "lat": 19.4306767, "lon": -99.1508198, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580319, "lat": 19.430581, "lon": -99.1505472, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 12738580320, "lat": 19.4304865, "lon": -99.1502783, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580321, "lat": 19.4301887, "lon": -99.1485036, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580322, "lat": 19.4301817, "lon": -99.1484585, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12738580323, "lat": 19.4315289, "lon": -99.1501182, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580324, "lat": 19.4315215, "lon": -99.1500657, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12738580325, "lat": 19.4312492, "lon": -99.1482351, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580326, "lat": 19.4323117, "lon": -99.1487111, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580327, "lat": 19.4324485, "lon": -99.1496476, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580328, "lat": 19.4331496, "lon": -99.1493193, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580329, "lat": 19.4330675, "lon": -99.1487385, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580361, "lat": 19.4275734, "lon": -99.1488661, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580367, "lat": 19.4272975, "lon": -99.1508076, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12738580368, "lat": 19.4272427, "lon": -99.1508189, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580369, "lat": 19.429562, "lon": -99.1503446, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580370, "lat": 19.4302806, "lon": -99.1501976, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580371, "lat": 19.4303193, "lon": -99.1501898, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12738580372, "lat": 19.431369, "lon": -99.1499839, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12738580373, "lat": 19.4314247, "lon": -99.1499731, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12738580374, "lat": 19.4323341, "lon": -99.1497874, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580375, "lat": 19.4298422, "lon": -99.1508977, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 12738580376, "lat": 19.4275389, "lon": -99.1513654, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580381, "lat": 19.4332185, "lon": -99.1492356, "tags": {"highway": "stop"}}, {"type": "node", "id": 12738580382, "lat": 19.4325208, "lon": -99.149348, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740780925, "lat": 19.4330568, "lon": -99.1575252, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 12740780926, "lat": 19.4339726, "lon": -99.1558302, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780927, "lat": 19.4323601, "lon": -99.1569404, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780928, "lat": 19.4323237, "lon": -99.1567613, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780929, "lat": 19.4323434, "lon": -99.1567198, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780930, "lat": 19.4322039, "lon": -99.157014, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740780931, "lat": 19.431643, "lon": -99.1582076, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780932, "lat": 19.4316693, "lon": -99.1581509, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780933, "lat": 19.4316337, "lon": -99.1582276, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740780934, "lat": 19.4314557, "lon": -99.1587636, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780935, "lat": 19.4315612, "lon": -99.1588269}, {"type": "node", "id": 12740780936, "lat": 19.4313523, "lon": -99.1591498, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780937, "lat": 19.4313347, "lon": -99.159207, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780938, "lat": 19.4314307, "lon": -99.1594855, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780939, "lat": 19.4318972, "lon": -99.1592611, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780940, "lat": 19.4315889, "lon": -99.1592158, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780941, "lat": 19.4312344, "lon": -99.1593936, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780942, "lat": 19.431781, "lon": -99.1594793, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780943, "lat": 19.431793, "lon": -99.1595268, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780944, "lat": 19.4315885, "lon": -99.1587262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780945, "lat": 19.4315721, "lon": -99.158668, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780946, "lat": 19.4310037, "lon": -99.1596994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780947, "lat": 19.4305661, "lon": -99.1597308, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780948, "lat": 19.432206, "lon": -99.1589219, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780949, "lat": 19.432252, "lon": -99.1589003, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780950, "lat": 19.4341146, "lon": -99.1580725, "tags": {"not:highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780951, "lat": 19.4341522, "lon": -99.1580559, "tags": {"not:cycleway": "asl"}}, {"type": "node", "id": 12740780952, "lat": 19.4342177, "lon": -99.1580274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780953, "lat": 19.4342559, "lon": -99.1580115, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780954, "lat": 19.4362345, "lon": -99.1571471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780955, "lat": 19.4362737, "lon": -99.1571295, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780956, "lat": 19.4379847, "lon": -99.1563827, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780957, "lat": 19.4380244, "lon": -99.1563653, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780958, "lat": 19.4395487, "lon": -99.1556855, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780959, "lat": 19.4395876, "lon": -99.1556687, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780960, "lat": 19.4393383, "lon": -99.1547155, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740780961, "lat": 19.4392997, "lon": -99.1546225, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740780962, "lat": 19.4388691, "lon": -99.1535874, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780963, "lat": 19.4388498, "lon": -99.153541, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780964, "lat": 19.4381592, "lon": -99.150692, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780965, "lat": 19.4381491, "lon": -99.1506463, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740780966, "lat": 19.4378588, "lon": -99.149337, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740780967, "lat": 19.4378482, "lon": -99.1492893, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971660, "lat": 19.4370655, "lon": -99.1474673, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971661, "lat": 19.4370418, "lon": -99.1475019, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971666, "lat": 19.4360242, "lon": -99.1491881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971667, "lat": 19.4360075, "lon": -99.1492218, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971668, "lat": 19.4354376, "lon": -99.1501992, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971669, "lat": 19.4352958, "lon": -99.1504469, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740971670, "lat": 19.4339475, "lon": -99.1532987, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971671, "lat": 19.4339608, "lon": -99.1532704, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971672, "lat": 19.4339691, "lon": -99.1532527, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971673, "lat": 19.4336551, "lon": -99.1539228, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971674, "lat": 19.4334897, "lon": -99.1542672, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971675, "lat": 19.4334738, "lon": -99.1543003, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971676, "lat": 19.4334661, "lon": -99.1543162, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971677, "lat": 19.4329277, "lon": -99.1554853, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971678, "lat": 19.4326582, "lon": -99.1560547, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971679, "lat": 19.4326777, "lon": -99.1560135, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971680, "lat": 19.4323907, "lon": -99.1566199, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971681, "lat": 19.4337592, "lon": -99.1545963, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971682, "lat": 19.4337198, "lon": -99.1546017, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971683, "lat": 19.4352904, "lon": -99.1543464, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971684, "lat": 19.4352585, "lon": -99.1543517, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971685, "lat": 19.4352143, "lon": -99.154359, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971686, "lat": 19.4353073, "lon": -99.154454, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971687, "lat": 19.4340372, "lon": -99.1546608, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971688, "lat": 19.4340787, "lon": -99.1546537, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971689, "lat": 19.4332152, "lon": -99.1551795, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740971690, "lat": 19.4351762, "lon": -99.1532328, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971691, "lat": 19.4351447, "lon": -99.1532381, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971692, "lat": 19.4351915, "lon": -99.1533518, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971693, "lat": 19.4339457, "lon": -99.1535645, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740971694, "lat": 19.4339541, "lon": -99.1534903, "tags": {"highway": "traffic_signals", "traffic_signals": "signal", "traffic_signals:direction": "backward"}}, {"type": "node", "id": 12740971695, "lat": 19.4352078, "lon": -99.1532859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal", "traffic_signals:direction": "forward"}}, {"type": "node", "id": 12740971696, "lat": 19.434706, "lon": -99.1565672, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740971697, "lat": 19.435134, "lon": -99.1565009, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740971698, "lat": 19.4354923, "lon": -99.1564454, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740971699, "lat": 19.4362242, "lon": -99.156332, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740971700, "lat": 19.4355146, "lon": -99.1556192, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979401, "lat": 19.4366582, "lon": -99.156248, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979402, "lat": 19.4379016, "lon": -99.1559284, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979403, "lat": 19.4385048, "lon": -99.1557022, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979404, "lat": 19.4394333, "lon": -99.1553194, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979405, "lat": 19.4384116, "lon": -99.1550199, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979406, "lat": 19.4378503, "lon": -99.1551839, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979407, "lat": 19.4370736, "lon": -99.1553899, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979408, "lat": 19.4368922, "lon": -99.1540125, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979409, "lat": 19.4372845, "lon": -99.1538588, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979410, "lat": 19.4378405, "lon": -99.1536401, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979411, "lat": 19.4386327, "lon": -99.1533363, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979412, "lat": 19.4380253, "lon": -99.1537247, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979413, "lat": 19.43748, "lon": -99.1539358, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979414, "lat": 19.4369141, "lon": -99.1541514, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979415, "lat": 19.4369423, "lon": -99.1541407, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979416, "lat": 19.4369825, "lon": -99.1541254, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979417, "lat": 19.4370089, "lon": -99.1528814, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979418, "lat": 19.4375175, "lon": -99.1526454, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979419, "lat": 19.4383547, "lon": -99.1522791, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979420, "lat": 19.4384199, "lon": -99.1522507, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979421, "lat": 19.4373392, "lon": -99.1513072, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979422, "lat": 19.4368061, "lon": -99.1513827, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979423, "lat": 19.4359739, "lon": -99.1515101, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979424, "lat": 19.4360367, "lon": -99.1519654, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979425, "lat": 19.4370377, "lon": -99.1522691, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979426, "lat": 19.4361015, "lon": -99.1524846, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979427, "lat": 19.435885, "lon": -99.1509327, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979428, "lat": 19.4364854, "lon": -99.1508126, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979429, "lat": 19.4371538, "lon": -99.1506749, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979430, "lat": 19.4374464, "lon": -99.1506162, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979431, "lat": 19.4375374, "lon": -99.1505981, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979432, "lat": 19.4379982, "lon": -99.1505086, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979433, "lat": 19.4356411, "lon": -99.1506375}, {"type": "node", "id": 12740979434, "lat": 19.435819, "lon": -99.1504395, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979435, "lat": 19.4360772, "lon": -99.149616, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979436, "lat": 19.4360711, "lon": -99.1495588, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979437, "lat": 19.4361148, "lon": -99.1495616, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979438, "lat": 19.4361203, "lon": -99.1496026, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979439, "lat": 19.4338819, "lon": -99.1544442, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979440, "lat": 19.4338754, "lon": -99.1543979, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979441, "lat": 19.4340524, "lon": -99.1556765, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979442, "lat": 19.4340462, "lon": -99.1556315, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979443, "lat": 19.4343415, "lon": -99.1577565, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979444, "lat": 19.4343349, "lon": -99.1577108, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979445, "lat": 19.4364217, "lon": -99.1569377, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979446, "lat": 19.4362799, "lon": -99.1558746, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979447, "lat": 19.4362851, "lon": -99.1559142, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979448, "lat": 19.4355585, "lon": -99.1545303, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979449, "lat": 19.4355657, "lon": -99.1545795, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979450, "lat": 19.4354088, "lon": -99.1534981, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979451, "lat": 19.4354152, "lon": -99.1535426, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979452, "lat": 19.4366725, "lon": -99.1539645, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979453, "lat": 19.4366658, "lon": -99.1539189, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979454, "lat": 19.4364572, "lon": -99.1558454, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979455, "lat": 19.4365895, "lon": -99.1567938, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979456, "lat": 19.4365954, "lon": -99.1568364, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979457, "lat": 19.4365992, "lon": -99.1568638, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979458, "lat": 19.4368058, "lon": -99.1570813, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979459, "lat": 19.4359267, "lon": -99.1528438, "tags": {"traffic_calming": "bump"}}, {"type": "node", "id": 12740979460, "lat": 19.4355874, "lon": -99.1506681, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979461, "lat": 19.4356351, "lon": -99.1505817, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979462, "lat": 19.4382216, "lon": -99.1566096, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979463, "lat": 19.4382361, "lon": -99.1566461, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979464, "lat": 19.4383006, "lon": -99.1564169, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979465, "lat": 19.4377929, "lon": -99.1552881, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979466, "lat": 19.4374218, "lon": -99.1540675, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12740979467, "lat": 19.4374375, "lon": -99.1541191, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979468, "lat": 19.4371263, "lon": -99.1529642, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12740979469, "lat": 19.4369754, "lon": -99.1523774, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979470, "lat": 19.4367489, "lon": -99.1514907, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979471, "lat": 19.4362785, "lon": -99.1496998, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979473, "lat": 19.4372176, "lon": -99.1505817, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979474, "lat": 19.4372478, "lon": -99.1512329, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979475, "lat": 19.4374498, "lon": -99.1520999, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979476, "lat": 19.4375861, "lon": -99.1525746, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979477, "lat": 19.4375652, "lon": -99.1525035, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979478, "lat": 19.437625, "lon": -99.1526979, "tags": {"traffic_calming": "rumble_strip"}}, {"type": "node", "id": 12740979479, "lat": 19.4378896, "lon": -99.1535129, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979480, "lat": 19.4382963, "lon": -99.1549687, "tags": {"highway": "stop"}}, {"type": "node", "id": 12740979481, "lat": 19.4385353, "lon": -99.1556081, "tags": {"highway": "stop"}}, {"type": "node", "id": 12742110242, "lat": 19.4349014, "lon": -99.1577304, "tags": {"highway": "traffic_signals", "traffic_signals": "emergency"}}, {"type": "node", "id": 12742110243, "lat": 19.4353675, "lon": -99.1577096, "tags": {"highway": "traffic_signals", "traffic_signals": "emergency"}}, {"type": "way", "id": 4754724, "nodes": [268499917, 8076020043, 12056110891, 30341143, 268499783, 268316578], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 4856169, "nodes": [268714886, 1405530566, 35341420, 35341528, 35341551, 49591405, 31319106, 31319107, 31319108, 49595920, 49596837, 31319110, 49598064, 49594218, 49593769, 8218594634, 8218594636, 4790117950, 49594219, 49594221, 49601176, 49600813, 8145723869, 49594223, 49599659], "tags": {"highway": "residential", "lanes": "2", "name": "Calle R\u00edo Lerma", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 5122424, "nodes": [49600630, 49595446, 49595445, 2995247467, 2995248196, 49595437, 2995248205, 49593768, 49595443, 49598061, 35341409, 49596836, 49595527, 35341406, 35341405, 35341404, 11108447276, 11108447273], "tags": {"highway": "residential", "lanes": "2", "name": "Calle R\u00edo P\u00e1nuco", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 6027954, "nodes": [49594223, 8230040951, 3660332613], "tags": {"highway": "residential", "name": "Calle R\u00edo Marne", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 6029414, "nodes": [49593134, 49599961], "tags": {"highway": "residential", "name": "Calle R\u00edo Eufrates", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 6029561, "nodes": [268433388, 49594221, 49595446, 5829587710], "tags": {"highway": "residential", "name": "Calle R\u00edo Amazonas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 6029622, "nodes": [3779331134, 49600813, 49600630], "tags": {"highway": "residential", "name": "Calle R\u00edo Neva", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 6029693, "nodes": [3750511588, 5829509771], "tags": {"highway": "residential", "lanes": "2", "name": "Calle R\u00edo T\u00e1mesis", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 6029737, "nodes": [49601176, 268433370], "tags": {"highway": "residential", "name": "Calle R\u00edo Guadiana", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24685569, "nodes": [268328943, 5264905373, 10134107980, 8534520846, 268328944, 5264905374, 268384510, 5264905375, 268328945, 5264905376, 6394284234, 5264905377, 10134107996, 8534520848, 268328946, 8534520847, 5264905379, 5264905380, 268384512, 5264905381, 268328947, 268328948, 10134107981, 5264905372, 268329724], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Circular de Morelia"}}, {"type": "way", "id": 24685644, "nodes": [268329725, 268384522], "tags": {"highway": "residential", "lanes": "1", "lit": "yes", "name": "Flora", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24689815, "nodes": [1385809424, 10702861275, 269825324, 12056110910, 269822533, 12056110873, 3642877293], "tags": {"alt_name": "Avenida Arcos de Bel\u00e9n;Eje 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "share_busway", "foot": "no", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24689817, "nodes": [30385291, 1420660839, 11559142990, 1420660837], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:both": "no", "destination": "Toluca", "destination:ref": "MEX 15", "foot": "no", "highway": "primary", "lanes": "2", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 24690543, "nodes": [268384410, 10224248515, 3735241077], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "2", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "oneway:conditional": "-1 @ (Mo-Fr 06:00-09:30;PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 24695882, "nodes": [268437601, 10759924084, 10222154066, 10759924086], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "embankment": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "no", "surface": "asphalt", "surface:lanes": "asphalt|asphalt|asphalt"}}, {"type": "way", "id": 24695950, "nodes": [268438712, 11439037101, 11439037098, 11439037097, 11439037096, 11439037095, 268438714, 11470888586, 1382691428, 1382691437, 1382691429, 11470888587, 1382691424, 1382692231], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24696767, "nodes": [268448021, 11496576543, 268452679, 11468645369, 11468645370, 268451076, 11468645371, 11468645372, 268450958, 11468645373, 11468645374, 848492675], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "4", "lit": "yes", "name": "Calle Niza", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24696820, "nodes": [1420660838, 848492658, 11468740617, 848492667, 11490084072, 11468740618, 848492662], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Havre", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24696823, "nodes": [3772750742, 8231042007, 11468740626, 848492650], "tags": {"cycleway:left": "no", "cycleway:right": "track", "hazard": "school_zone", "highway": "residential", "lanes": "2", "maxspeed": "20", "maxspeed:type": "sign", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24696866, "nodes": [3982034403, 10820452058, 12005579363, 8240180556, 8750905235, 8240180545, 11468740633, 848492694], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Dinamarca", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24696958, "nodes": [3982034403, 10820452056, 11563278894, 11563278895, 11470827788, 268449860], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Roma", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 24696971, "nodes": [268449959, 848492707, 11469919535, 848492671, 11469919536, 268450211, 11469919539, 7913973064], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Berl\u00edn", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24697061, "nodes": [11563159863, 11563159862, 11470042682, 848492694], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Hamburgo", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24697149, "nodes": [268451161, 268451780, 848492658, 11470549032, 3772750742, 11470549034, 11470549033, 268451781, 8231042011, 848492707, 11470549035, 268451782], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Marsella", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24697233, "nodes": [268451780, 268452320], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Venecia", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24697307, "nodes": [268452679, 268452678], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Oslo", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 24697317, "nodes": [11430249772, 268452743], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Estrasburgo", "oneway": "yes", "parking:left": "street_side", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 24697345, "nodes": [268452852, 11496576539, 268452743], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Belgrado", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24702757, "nodes": [268499917, 11155022376, 3396214532], "tags": {"alt_name": "Eje 1 Sur", "cycleway:left": "no", "cycleway:right": "lane", "highway": "primary", "lanes": "3", "name": "Avenida Doctor R\u00edo de la Loza", "oneway": "yes", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24704083, "nodes": [268512740, 268512741, 268512830, 268513812, 268512742], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Guaymas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24704107, "nodes": [268328946, 268512830], "tags": {"highway": "residential", "lanes": "1", "name": "Cerrada Guaymas"}}, {"type": "way", "id": 24704217, "nodes": [268513754, 268513812], "tags": {"highway": "residential", "lanes": "1", "name": "Lateral Chapultepec", "surface": "asphalt"}}, {"type": "way", "id": 24836017, "nodes": [269821700, 269821983, 269821891, 269821772, 11470770716, 269821580, 11470770717, 269820959, 11470770718, 269819947, 8227345217, 11470770719, 5830989440, 11470770721, 11470770720, 5830989441, 11492004083, 269820368], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Abraham Gonz\u00e1lez", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836019, "nodes": [269820143, 11470888611, 11875046376, 269820368, 11470888613, 269820329], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "name": "Calle Donato Guerra", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24836050, "nodes": [30594785, 11470888602, 11470888601, 2266653687, 8534238768, 8534238769, 269820842, 30594786], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "2", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836098, "nodes": [1385809390, 6148209269, 8337735233, 12738580326, 269827039, 269827028, 12738580327, 269825426, 8337735227, 11471954735, 11471954734, 269820952], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "4", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836100, "nodes": [269820958, 11470827794, 269821404, 11470827795, 269820987, 11470827796, 10697775153, 269820962], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Lucerna", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836102, "nodes": [269820961, 11470770731, 10697775150, 269820962, 10697775152, 11470770732, 11563278898, 268449860], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Viena", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836103, "nodes": [269820985, 11470770730, 269820986, 269820987, 11428025632], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Mil\u00e1n", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836104, "nodes": [269820989, 11753844085, 11470770729, 11470770728, 269820985], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Budapest", "old_name": "Calle Mil\u00e1n", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836105, "nodes": [269821024, 6979170957, 6979170956, 269820989], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "name": "Calle Paris", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24836106, "nodes": [10762162124, 10762162127, 10762162123], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Paris", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836107, "nodes": [4750171652, 11470770726, 269821404, 11470770727, 6148385717, 269821267], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Lisboa", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836108, "nodes": [269821579, 11559108728, 11470827787, 269821580], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Barcelona", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836110, "nodes": [269821701, 12056110902, 12056110897, 269821700], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "lit": "yes", "name": "Calle Turin", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "perpendicular", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836111, "nodes": [268451782, 11436637336, 11470827786, 269821700], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Turin", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836117, "nodes": [269822533, 12046760076, 12728031309, 12738580313, 12738580314, 269822462], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "name": "Calle Francisco de Garay", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836146, "nodes": [269825078, 10176146790, 12738580375, 269825429, 268449691, 12738580376, 269825261], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Tres Guerras", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836172, "nodes": [269825324, 12046760075, 12738580368, 12738580367, 10702916857, 269825424, 10702916855, 10155974408, 269825425, 5912724334, 12738580369, 10702893519, 269825431, 10176146804, 10176146792, 12738580370, 12738580371, 10702893511, 269822665, 10702893510, 12738580372, 12738580373, 269826153, 7964878347, 12738580374, 269825426], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Enrico Mart\u00ednez", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836217, "nodes": [269825429, 12738580317, 10702893518, 269825431], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Plaza de la Ciudadela", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24836236, "nodes": [269826153, 12738580325, 10702916853, 1385809418], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "lit": "yes", "name": "Calle Ayuntamiento", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 24836244, "nodes": [2434287904, 12211772837, 12738580381, 269827027], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "3", "name": "Calle Iturbide", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24850463, "nodes": [270105885, 11879518344, 12740971686, 270107644, 8337972071, 12740971688, 12740971687, 10594507878, 270107493], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Ram\u00edrez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24858146, "nodes": [270105800, 8512180610, 12690127170, 8512180606, 12740979449, 12740979448, 10594589082, 270105885, 270105857, 7894095689, 11879518340, 12740979451, 12740979450, 8512180607, 12688772201, 12688754299, 270105801], "tags": {"alt_name": "Avenida de la Rep\u00fablica", "cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Plaza de la Rep\u00fablica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24858153, "nodes": [270105803, 12690484417, 12740979459, 270105886, 8340806289, 270109036, 270109146, 270109148, 270105888], "tags": {"alt_name": "Calle de la Rep\u00fablica", "cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida de la Rep\u00fablica", "parking:both": "no", "sidewalk:both": "separate", "surface": "concrete"}}, {"type": "way", "id": 24858164, "nodes": [269820952, 8337735230, 11471954736, 11471954737, 7964878346, 269826075], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858202, "nodes": [270108934, 10594507882, 12740979416, 12740979415, 12740979414, 12690484413, 4521825356], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24858225, "nodes": [270106310, 12690484412, 12740979408, 12740979409, 10594507881, 270108935], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24858235, "nodes": [270105706, 10036788855, 12012953043, 8511981099, 270106576, 1351117499, 270106577, 10037156397, 270106578], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Avenida Buenavista", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24858305, "nodes": [270214685, 270107504], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Madrid", "oneway": "yes", "parking:both": "no", "sidewalk:both": "separate", "surface": "asphalt"}}, {"type": "way", "id": 24858312, "nodes": [270105801, 12690484405, 12740971692, 12740971693, 12688772206, 270107594], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Jos\u00e9 Mar\u00eda Lafragua", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 24858321, "nodes": [270107641, 12740971700, 8340764202, 8340764200, 12690484401, 12690127177, 12690127178, 11879518377, 270105800], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ignacio L. Vallarta", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858322, "nodes": [270107641, 8337972069, 270107644], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Privada Vallarta", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858328, "nodes": [270107674, 12740971696, 12740971697, 12740971698, 12740971699, 270107741], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ezequiel Montes", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858344, "nodes": [270107875, 5168370166, 270110144, 270110343], "tags": {"highway": "residential", "name": "Calle Bernal D\u00edaz del Castillo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24858435, "nodes": [270105806, 12690484416, 12740979417, 270108936, 12740979418, 270108958, 12740979419, 6859659384, 12740979420, 1382788739], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Miguel Ramos Arizpe", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24858440, "nodes": [270108937, 270218146, 8140757587, 270217773, 270218725, 270219056, 3772751012, 270108931], "tags": {"highway": "residential", "name": "Calle Alfonso Herrera", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24858443, "nodes": [270108949, 12740979473, 270109294, 12740979474, 270108959, 12740979475, 270109029, 12740979477, 12740979476, 270108958, 12740979478, 12740979479, 7906893021, 270108957], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ignacio Mariscal", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858451, "nodes": [270109029, 12740979425, 270109030, 12740979426, 12690484420, 270105886], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ram\u00f3n Alc\u00e1zar", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858453, "nodes": [270109036, 12690484423, 12740979424, 270109037], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Pedro Baranda", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858500, "nodes": [270109285, 10036810541, 270110276, 270110222, 270110292, 270110036, 6146444858, 270110512, 270113669, 3308912977, 270114204, 270109288, 270209821, 5500839799, 270210330, 270210485, 270210846, 270211069, 270113613, 270109289, 270211467, 270211426, 1383544132, 270109290], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Zaragoza", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 24858503, "nodes": [270109148, 12690484429, 12740979427, 12740979428, 270109293, 12740979429, 270109294], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jes\u00fas de Ter\u00e1n", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858530, "nodes": [270109359, 12690484433, 12740979434, 270109371], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Loter\u00eda Nacional", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24858644, "nodes": [270110144, 270110226, 6859659378, 270110193], "tags": {"highway": "residential", "name": "Calle Orozco y Berra", "oneway": "yes"}}, {"type": "way", "id": 24858649, "nodes": [270108886, 270110222, 270110572, 270110223], "tags": {"highway": "residential", "lanes": "1", "maxspeed": "30", "name": "Calle Orozco y Berra", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24858657, "nodes": [270110275, 6859684785, 270110276], "tags": {"highway": "residential", "name": "Privada Zaragoza"}}, {"type": "way", "id": 24866752, "nodes": [30381501, 11879518284, 8154552563, 270215233, 270214903, 270219300, 270219167, 270219060, 8145723880, 8145723877, 270218721, 8145507000, 8145507004, 270217775, 270214201], "tags": {"cycleway:left": "no", "cycleway:right": "track", "destination:street": "Circuito Bicentenario", "highway": "secondary", "lanes": "4", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24866757, "nodes": [49600630, 8154552560, 1417722222, 3750570265], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Jos\u00e9 Rosas Moreno", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24866760, "nodes": [3750570260, 4727902560, 4727902559, 270214903, 6146291720, 270215588, 8628895140, 270108932, 8145881803, 1382788771], "tags": {"highway": "residential", "name": "Calle Serapio Rend\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24866763, "nodes": [270215117, 8153775214, 270215233, 270215416, 270215234, 8145881793, 8145881800, 1382788727], "tags": {"highway": "residential", "name": "Calle Sadi Carnot", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24866766, "nodes": [30381499, 11879518298, 5120998214, 7876179763, 5120998213, 270215416, 270215417, 5161039223, 5161039226, 270215455, 5161039225, 5161039224, 270215588], "tags": {"destination:street": "Serapio Rend\u00f3n", "highway": "residential", "maxspeed": "40", "name": "Calle Valent\u00edn G\u00f3mez Far\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24866767, "nodes": [270215588, 270219299, 270215589, 3772751004, 270219058, 270218723, 8145507008, 8145507011, 270217774, 270218145, 8114366681, 270215591], "tags": {"highway": "residential", "lanes": "2", "maxspeed": "40", "name": "Calle Guillermo Prieto", "oneway": "yes", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 24866830, "nodes": [1382788782, 8145321251, 270218873, 270217773, 270218538, 8145399409, 270217774, 270218016, 270217775, 270217776], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Manuel Mar\u00eda Contreras", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24866833, "nodes": [268900072, 8507543193, 270218015, 270218144, 8134296144, 270218016, 8145507007, 270218722, 270219059, 270218017], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Calle Francisco D\u00edaz Covarrubias", "oneway": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24866845, "nodes": [270218481, 270218537, 270218538, 270218724, 270219057, 270218539], "tags": {"highway": "residential", "name": "Calle Francisco Pimentel", "surface": "asphalt"}}, {"type": "way", "id": 24866855, "nodes": [270218545, 270218721, 8145723883, 270218722, 270218723, 270218724, 270218725, 270218874, 8142308526, 1382788740], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Gabino Barreda", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 24866875, "nodes": [270219584, 6146291719, 270219623, 1382788774], "tags": {"highway": "residential", "name": "Calle Antonio del Castillo", "surface": "asphalt"}}, {"type": "way", "id": 24866876, "nodes": [270219623, 270219629], "tags": {"highway": "residential"}}, {"type": "way", "id": 24872991, "nodes": [1439994446, 270283739, 270110220, 270110038], "tags": {"highway": "residential", "name": "Calle Doctor Enrique Gonz\u00e1lez Mart\u00ednez", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 50506266, "nodes": [642439650, 12146622407, 642440521, 642440522], "tags": {"highway": "residential", "lit": "24/7", "name": "Calle R\u00edo Papaloapan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 50506580, "nodes": [2255928568, 11528923936, 11679163824, 11528508966, 11528923944, 11528508967, 11528508968, 11528923952, 11528563469, 11528563470, 2461279996, 5832540263], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 50506621, "nodes": [2285222880, 11528510803, 11528486396, 11528510809, 11528486397, 11528486398, 11528510814, 11528486399, 11528486400, 11528510823, 10920038084], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 124048430, "nodes": [268447507, 8512195821, 11489159731, 1420541294, 11471077172, 11489158416, 11471077171, 11875026966, 269820143], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "1", "lit": "yes", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 124049467, "nodes": [1381629288, 12688772204, 12740971691, 12740971690, 12690484403, 8337972063, 270105802], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "name": "Calle Jos\u00e9 Mar\u00eda Lafragua", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 124049468, "nodes": [270107642, 270107674, 8153775210, 12740979444, 12740979443, 11879518279, 10762162126, 269821061], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "3", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 124049469, "nodes": [1381629298, 2131738715, 1381629289, 1381629286, 3993936289, 1381629300], "tags": {"cycleway:both": "no", "highway": "secondary_link", "lanes": "2", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 124049470, "nodes": [269821199, 8153775202, 8337972074, 270107643, 6148385718, 8512180612, 12740780926, 270107642], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Madrid", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 124161951, "nodes": [268447503, 1381614135, 1381614127, 11436330657, 1381614122, 1381614129], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 124162466, "nodes": [1382694596, 12740780935, 1382694592, 1382694594], "tags": {"cycleway:both": "no", "foot": "no", "highway": "secondary_link", "lanes": "1", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 124186644, "nodes": [270110345, 6859684786, 270110344, 270110343], "tags": {"highway": "residential", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 124496633, "nodes": [270107594, 270107619], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Lafragua", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 124506584, "nodes": [270105958, 1385784716, 7876317338, 1385784711, 7876317339, 1385784713, 270109359, 12740979461, 12740979433, 9191782918, 270105888], "tags": {"alt_name": "Calle de la Rep\u00fablica", "cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida de la Rep\u00fablica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 124509623, "nodes": [269820143, 12688772202, 11875046377, 11489159352, 11471077173, 11489183830, 11471077175, 11471077174, 8744235453, 11185031169, 30594779], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 124509634, "nodes": [6957010148, 1385794412], "tags": {"cycleway:both": "no", "highway": "primary_link", "lanes": "4", "lit": "yes", "oneway": "yes", "parking:both": "no", "sidewalk": "left", "surface": "concrete"}}, {"type": "way", "id": 128573533, "nodes": [269821061, 11879518281, 12742110242, 7911203925], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 128573549, "nodes": [1420541289, 7890530150, 7890530151, 7890530152, 1420541290, 7890530153, 7890530155, 11875046370, 1420541292, 10793984234, 1420541294], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary_link", "lanes": "1", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 128594660, "nodes": [1420660838, 11468645382, 11468645381, 10025770022, 268384573], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 130819481, "nodes": [1382788767, 10835748362, 12740979405, 270108954, 12740979406, 270108933, 12740979407, 8511981094, 12689949883, 270105809], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Iglesias", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 130848178, "nodes": [270110344, 270110226], "tags": {"highway": "residential", "name": "Calle Fray Bernardino de Sahag\u00fan", "surface": "asphalt"}}, {"type": "way", "id": 130848186, "nodes": [1382788738, 8142308525, 270219055, 270219056, 270219057, 270219058, 270219059, 270219060, 270214684], "tags": {"highway": "residential", "name": "Calle Ignacio Altamirano", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 130848187, "nodes": [1869956235, 6859659383, 12740979421, 270108959, 12740979422, 270109145, 12740979423, 12690484426, 270109146], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jos\u00e9 de Emparam", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 130848192, "nodes": [3308893234, 3308912976, 8246902471, 270110657, 270110511, 8246753521, 270110037, 8347656226, 8347656234, 270108886, 10036744292, 270108889], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Juan Aldama", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 145961902, "nodes": [1382691438, 9927650670, 1382691433, 1382691427, 1382691425, 1382691423, 9927650668, 1382691445, 5832540258], "tags": {"cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 145961903, "nodes": [268714876, 49590190, 49590191, 49590193, 49590194, 49596834, 49590196, 49598060, 49594941, 49593767, 49593361, 49599961, 1464343312, 49599657], "tags": {"highway": "residential", "lanes": "2", "name": "Calle R\u00edo Nazas", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 176477846, "nodes": [1382788739, 1869956235], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 204907162, "nodes": [3779331130, 8230040956, 642440521, 4790117950], "tags": {"highway": "residential", "lit": "24/7", "name": "Calle R\u00edo Sena", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 219443574, "nodes": [268452546, 8230403427, 11470124404, 10187198409], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Londres", "oneway": "yes", "parking:both": "street_side", "parking:left:orientation": "diagonal", "parking:right:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 220814775, "nodes": [268384490, 268513754, 11503750882, 268512742, 8855256182, 11503750883, 8861273676, 12056088661, 268499917], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lanes:backward:conditional": "1 @ (Mo-Fr 06:00-09:30;PH off)", "lanes:forward:conditional": "2 @ (Mo-Fr 00:00-24:00)", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 06:00-09:30;PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 220814779, "nodes": [268384524, 30385293], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle M\u00e9rida", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 235361237, "nodes": [5288048141, 11879612816, 2434287904, 2434287908], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida Ju\u00e1rez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 293937294, "nodes": [30594752, 12013315312, 12013315317, 12013315316, 8551810252, 1420660841, 12056110909, 8078863118], "tags": {"alt_name": "Avenida Arcos de Bel\u00e9n;Eje 1A Sur", "cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 332368289, "nodes": [49599673, 8134296155, 8136099931, 49593134, 49599655, 49599657, 5829587710, 49600630], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 352403341, "nodes": [268513827, 4523950730], "tags": {"highway": "residential", "name": "Calle Doctor Manuel Carmona y Valle", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 377353373, "nodes": [270106738, 10037156395, 1351117503, 1351117508, 270106739, 270110193, 9641882849, 270110345, 5829305700, 270106309], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Avenida Buenavista", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 395297016, "nodes": [270105811, 12690484408, 12740979454, 270107742, 12740979455, 12740979456, 12740979457, 11879518294, 268531831], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Valent\u00edn G\u00f3mez Far\u00edas", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 395297017, "nodes": [270107742, 12740979401, 12740979402, 270107762], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ezequiel Montes", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 395297018, "nodes": [270106167, 11879518296, 12740979445, 270107741, 12740979447, 12740979446, 12690484407, 270105812], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Valent\u00edn G\u00f3mez Far\u00edas", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 395300657, "nodes": [3982056701, 30381496, 10656478169], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Norte", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 395300665, "nodes": [270105705, 5829305701, 270110230, 10762162133, 10762162134, 10762162135], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Norte", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 395300667, "nodes": [270105705, 270105704], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "lit": "yes", "maxspeed": "50", "name": "Avenida Ribera de San Cosme", "oneway": "yes", "parking:both": "no", "surface": "asphalt"}}, {"type": "way", "id": 395300669, "nodes": [1382788734, 12015661214, 8145881787, 8145881792, 10656478177], "tags": {"access:lanes": "no|yes|yes", "alt_name": "Ribera de San Cosme", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 395300670, "nodes": [1382788734, 1382788724], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "lane", "foot": "yes", "highway": "secondary", "lanes": "3", "lit": "yes", "maxspeed": "50", "name": "Avenida Ribera de San Cosme", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 395300674, "nodes": [270107762, 12740979465, 270108933, 12740979467, 12740979466, 270108934], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 395300677, "nodes": [268531831, 11879518295, 10762162131], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 395300679, "nodes": [268531831, 30381499], "tags": {"cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Calle Valent\u00edn G\u00f3mez Far\u00edas", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "concrete"}}, {"type": "way", "id": 395300684, "nodes": [268437875, 10820452028, 1382694596, 12740780944, 12740780945, 10820419887, 268449562], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "foot": "no", "highway": "tertiary", "lanes": "2", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 395300692, "nodes": [268449562, 9943728484, 12740780934, 1382694594, 9943728485, 12740780936, 12740780937, 10820452045, 268438160], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "cycleway:right:width": "2.10", "foot": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 395300700, "nodes": [5832540260, 2461280000, 11528563471, 11528923951, 11528563472, 11528923943, 11528563473, 11528923935, 2255928543], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 395300713, "nodes": [5832545932, 12740780947, 10820452049, 5832540261], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 395300718, "nodes": [848492647, 12015661248, 11468740630, 268437868], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 395300726, "nodes": [848492632, 11496622377, 268448512], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Havre", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 395300728, "nodes": [10659905298, 11468645375, 10659905299, 848492675], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|none"}}, {"type": "way", "id": 395300730, "nodes": [848492662, 11470124412, 848492712, 11470124413, 11470124414, 5830976888], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Londres", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 395300732, "nodes": [268451149, 11468645377, 11468645378, 848492629], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 395300736, "nodes": [268451149, 268451150], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 396585015, "nodes": [268437337, 30381433, 11682997536, 268447503], "tags": {"cycleway:both": "no", "highway": "tertiary", "lanes": "2", "lit": "yes", "name": "Calle Ignacio Ram\u00edrez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 421567700, "nodes": [270106309, 10036788844, 10176372444, 270107873, 12015661210, 270105705], "tags": {"bicycle:lanes": "|||designated", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "4", "maxspeed": "50", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 421567703, "nodes": [270106309, 1382788723], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "2", "name": "Calle Buenavista", "oneway": "yes", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 421567704, "nodes": [1382788723, 1382788757], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "maxspeed": "50", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 479740702, "nodes": [270214495, 7897414728, 7894357905, 7897414727, 8822169084, 8822169082, 270217776], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "2", "maxheight": "default", "name": "Calle James Sullivan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 532386051, "nodes": [270105958, 270105994, 12740971668, 12740971669, 270105891, 12690365153, 12690365157, 12740971672, 12740971671, 12740971670, 11875046380, 1381629288], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 547294848, "nodes": [270105958, 5288048139, 5288048140, 7876317353, 5288048141], "tags": {"cycleway:both": "no", "foot": "no", "highway": "primary_link", "lanes": "1", "lit": "yes", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 569070989, "nodes": [270105704, 1382788734], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569070992, "nodes": [1382788724, 270105705], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569070993, "nodes": [1382788724, 12015661209, 1382788759, 1382788767, 12740780960, 10176372445, 12740780961, 7888169040, 12740780962, 12740780963, 10036788845, 1382788723], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569070994, "nodes": [10656478169, 270283740, 10656478173, 10656478170, 270105704], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Norte", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 569070999, "nodes": [30381499, 10656510239, 10656582310], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569071000, "nodes": [30381498, 10656493611], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569071004, "nodes": [270106167, 268531831], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569071012, "nodes": [10660402408, 10659905301, 31241173], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination:street": "Avenida Chapultepec", "embankment": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "no", "surface": "asphalt", "surface:lanes": "asphalt|asphalt|asphalt"}}, {"type": "way", "id": 569071013, "nodes": [848492629, 10759924091], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 569071020, "nodes": [848492710, 268451161], "tags": {"cycleway:left": "no", "cycleway:right": "track", "hazard": "school_zone", "highway": "tertiary", "lanes": "4", "maxspeed": "20", "maxspeed:type": "sign", "name": "Calle Niza", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 569071025, "nodes": [268451147, 10234534266, 11490970055, 10234534262, 11470172756, 848492671], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 569114959, "nodes": [3750511568, 1381614114, 8512195832, 8512195833, 8512195834, 8512195817, 268437337], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:width": "2.10", "foot": "no", "highway": "primary", "lanes": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 569114960, "nodes": [270107619, 1385760545], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Lafragua", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 569114962, "nodes": [1385760545, 12688772207, 11875046378, 8512195823, 8512199346, 30594779], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 569114963, "nodes": [1385760545, 269820143], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jos\u00e9 Mar\u00eda Lafragua", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 569114964, "nodes": [270107594, 2255952598, 11875046369, 12740971673, 12740971674, 12740971675, 12740971676, 11184989144, 11682997500, 3750511568], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 569114965, "nodes": [1381629288, 12688754297, 270107594], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 569114966, "nodes": [1382691438, 1382691441], "tags": {"cycleway:both": "no", "foot": "no", "highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 569114967, "nodes": [1975855135, 10820419899, 1382692231, 10203043715, 269820961], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 569114969, "nodes": [268449562, 1382691438], "tags": {"cycleway:both": "no", "foot": "no", "highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 569114972, "nodes": [268437337, 11682997557, 11184989142, 11753844101, 12740971677, 12740971679, 12740971678, 12740971680, 12740780929, 12740780928, 11753844089, 269821024, 11753844093, 12740780930, 3750511585, 12740780932, 12740780931, 12740780933, 10820452011, 1381629298, 268449562], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "cycleway:right:width": "2.10", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 569384301, "nodes": [3396214530, 11158370973, 12056110890, 3396214532], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "lit": "yes", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 PTE", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 616583448, "nodes": [270108932, 8507579080, 270219584, 270215234, 12740979463, 12740979462, 30381498], "tags": {"highway": "residential", "lanes": "3", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 616583452, "nodes": [1382788771, 10176372449, 1382788774, 1382788727, 10176372447, 12015661216, 1382788734], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "maxspeed": "50", "name": "Avenida Ribera de San Cosme", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 616588402, "nodes": [5832540263, 10820452050, 11471068261, 7920799742], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 616593861, "nodes": [270108936, 12740979469, 270109030, 270109037, 12740979470, 270109145, 270109293, 270109371, 12740979471, 270105957], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616593865, "nodes": [270219432, 8507543191, 270108931, 270219299, 8145723870, 270219300, 3750570262], "tags": {"highway": "residential", "name": "Calle Miguel E. Schultz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 616593866, "nodes": [3750570265, 270219167, 270218017, 3772751004, 270218539, 3772751012, 270218875, 3772751018], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Jos\u00e9 Rosas Moreno", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616621241, "nodes": [4790117950, 2995247461, 3394868774, 49595437, 2995248192, 49593361, 49593133, 8134296156, 49599673], "tags": {"highway": "residential", "name": "Calle R\u00edo Sena", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616621248, "nodes": [49594223, 5829509771], "tags": {"highway": "residential", "name": "Calle Plaza Carlos Finlay", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616806561, "nodes": [3712250759, 11524096948, 5832581947, 5832581948, 5832581943, 5832581949, 11436330640, 268438922, 6182120219, 7887548325, 11436330641, 268438924, 268452816, 11524096758, 268452490, 11524096762, 268452852, 11471068253, 11471068254, 11524096767, 268452450, 11524130072, 12156030148, 268452575, 268438926, 7887672499, 11436330642, 268438927, 11436330643, 11436330644, 11471068255, 11436330645, 11524130076, 268448021], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 616807402, "nodes": [268448021, 11526643615, 268438929, 9797225079, 268438931, 11436330646, 7914328815, 7914328814, 268433414, 11526643624, 268448512, 11526643625, 11489168253, 11558071215, 11558071219, 11489160987, 11471068258, 11471068257, 11526643630, 268448804, 11526643635, 12644288840, 12644288842, 11436330647, 11436330648, 11471068260, 11471068259, 10820452055, 7920799742], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 616807404, "nodes": [5832545932, 1382692233, 11436330652, 11436330649, 11436330650, 1382692229, 1382692228, 11436330651, 1382692236, 11436330653, 11436330654, 1382692240, 1382692235, 11471068264, 10697775154, 1382692238, 11436330655, 11471068265, 1382692234, 1975855135], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812002, "nodes": [5830976888, 8230233138, 11470124415, 268450211, 5264900950, 4750171649], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Londres", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812003, "nodes": [5830976888, 11468740635, 268451148, 11468740636, 268451781, 11468740637, 11436586312, 268384494], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Dinamarca", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812006, "nodes": [268384494, 30385293], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 616812008, "nodes": [3416675541, 7335408349, 3735241077], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 616812010, "nodes": [268449487, 11470770722, 268449689, 11470770723, 269820958, 268449861, 11490977126, 11490977130, 11470770724, 268451147, 8631710262, 5264900951, 11470770725, 268451782, 268449959], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Versalles", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812013, "nodes": [269820848, 11470888596, 11470888595, 269820985, 11470888597, 269821267, 269820932, 269820933, 8512180614, 8512180613, 268449487], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Atenas", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812016, "nodes": [269820961, 269820848, 11470888588, 269820986, 11470888589, 6148385717, 11470888590, 268449689, 11470888591, 269819947], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle General Prim", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812017, "nodes": [269821579, 30594790, 269821936, 269822044, 11471954743, 11471954742, 12056110904, 269821701], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812018, "nodes": [269820814, 8534238770, 7873571343, 8534238771, 30594786], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:both": "no", "highway": "primary", "lanes": "2", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812020, "nodes": [1385809397, 7873370161, 5076454330, 10156001526, 10156001520, 10156001517, 10155974415, 12738580315, 10702916856, 269825424, 10702916854, 269825261, 269822462, 11471954741, 11471954740, 269821579], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Tols\u00e1", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812021, "nodes": [269822665, 10702893508, 7873521995, 12738580321, 12738580322, 10702893507, 1385809414], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "4", "lit": "yes", "name": "Calle Emilio Dond\u00e9", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616812023, "nodes": [1420541289, 11470888609, 2255952596, 11753844115, 268447507], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 616927349, "nodes": [6957010148, 270105958], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "primary", "lanes": "6", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma Norte", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 616927355, "nodes": [270105956, 12010073934, 10036810543, 270109285, 10036810549, 270109144, 10037136277, 270108889, 10036788854, 270105706], "tags": {"bicycle:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "maxspeed": "50", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 616928402, "nodes": [270105958, 8744235455, 6428606749, 7876317331, 268447048, 11875046379, 12688772208, 270107619], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 616934804, "nodes": [268437527, 3750511568], "tags": {"cycleway:both": "no", "highway": "secondary", "lanes": "2", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 616934809, "nodes": [268437337, 11184989143, 11682997552, 11753844087, 6979170957, 11753844091, 9927650657, 1382691438], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 616934811, "nodes": [1382691441, 10820452010, 11753844090, 6979170956, 11753844086, 11682997553, 11184989146, 30381433], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 616934815, "nodes": [270107494, 10594507877, 12740971685, 12740971684, 12740971683, 11879518343, 270105857], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Ram\u00edrez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 616934816, "nodes": [4521825356, 5882331185, 2267498797, 12690127166, 270105808, 12690127167, 270105809, 270105810, 11879518390, 270105811, 12690127168, 270105812, 8512180611, 270105813, 12690127169, 270105814, 8512180605, 270105800], "tags": {"alt_name": "Avenida de la Rep\u00fablica", "cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Plaza de la Rep\u00fablica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 616934817, "nodes": [270105801, 5161033100, 5161033102, 12688754300, 12708680999, 270105802, 5161033097, 5161033096, 9941493385, 5161033098, 270105803, 270105997, 5161034511, 12690127164, 270105805, 5832201341, 8512180608, 270105806, 12690127165, 8512180609, 11879518439, 12740979453, 12740979452, 270105807, 270106310, 4521825356], "tags": {"alt_name": "Avenida de la Rep\u00fablica", "cycleway:both": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Plaza de la Rep\u00fablica", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 616977429, "nodes": [5832540261, 1382691435, 1382691432, 1382691442, 1382691440, 1382691439, 1382691436, 1382691443, 9927650669, 1382691441], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 616977431, "nodes": [30381507, 268451075], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "sign", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through;right"}}, {"type": "way", "id": 616977435, "nodes": [268531832, 10762162132], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 616977443, "nodes": [3660332613, 3779331134, 268433370, 8230040948, 268433388, 3750511591, 3750511597, 11521196369, 3750511595, 9943728504, 3993897800, 268436901, 9943777726, 268436856, 268436855, 9943728505, 3993897803, 9943728506, 3779331131, 3779331130, 11875045353, 3779331129, 11875045354, 12145055477, 9943728512, 3779331127, 268439363, 268439362, 12145055471, 9943728516, 2266010603, 3779331125, 9943728515, 11875045326, 1503129740, 2131738815, 268439359, 11875045328, 3779331123, 268439358, 11875045341, 268439357, 3779331119, 11954529998, 268439355, 11875045340, 268439886, 11954529992, 11954529986, 268439983, 11954529988, 268439354, 9943777744, 3779331115, 3605943825, 11954530009, 3779331112, 3605943826, 268443531, 3779331111, 11954529972, 268443529, 11954530017, 11954530049, 3779331108, 11954530050, 6179359280, 11954530040, 11204050728, 2131738709], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "cycleway:right:width": "2.10", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 616977446, "nodes": [270107762, 12740979403, 270108940, 12740979404, 1382788759], "tags": {"cycleway:both": "no", "highway": "residential", "motor_vehicle:conditional": "no @ (Sa 06:00-18:00)", "name": "Calle Ezequiel Montes", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 616980642, "nodes": [10920038083, 11528510822, 11679163826, 11528486401, 11528486402, 11528510815, 11528486403, 11528510808, 11528486404, 11528486405, 11528510802, 2285222871], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 617718973, "nodes": [5839130713, 12056110921, 268514242, 12056110914, 6148209278, 1385809389], "tags": {"access:lanes": "yes|yes|yes|no", "alt_name": "Eje 1 Sur", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:backward:conditional": "1 @ (Mo-Fr 06:30-09:30; PH off)", "lanes:bus": "1", "lanes:forward:conditional": "2 @ (Mo-Fr 00:00-24:00)", "lit": "yes", "name": "Avenida Doctor R\u00edo de la Loza", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 06:30-09:30; PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 617718974, "nodes": [3396214532, 268513827, 8394801746, 12056110919, 268514485], "tags": {"alt_name": "Eje 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Doctor R\u00edo de la Loza", "oneway": "yes", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 617718979, "nodes": [8078863118, 11155022370, 8078863120, 8078863117, 5839130709, 12056110880, 5839130710, 5839130711, 5839130712, 5839130713], "tags": {"cycleway:both": "no", "destination:ref": "EJE 1 SUR", "highway": "primary_link", "lanes": "1", "lit": "yes", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 642329896, "nodes": [268448804, 11496622378, 11468740623, 30381507], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 654714757, "nodes": [268451075, 10656790203], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 654714761, "nodes": [848492706, 268437868], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 656079800, "nodes": [270110221, 7978515422, 270108886], "tags": {"highway": "residential", "name": "Cerrada de Orozco y Berra", "surface": "asphalt"}}, {"type": "way", "id": 656312991, "nodes": [6148209277, 8231268918, 6148209280], "tags": {"highway": "residential", "name": "Calle Doctor Guti\u00e9rrez Zavala", "surface": "asphalt"}}, {"type": "way", "id": 656333586, "nodes": [3642877293, 12056088665, 12056088656, 269821701], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Turin", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 660019323, "nodes": [30594779, 5288048141, 8521895043, 8521895042, 1385794412], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "primary", "lanes": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 660019325, "nodes": [270105958, 30594779], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:both": "no", "highway": "primary", "lanes": "5", "lit": "yes", "name": "Avenida Rosales", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 PTE", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 679946205, "nodes": [7920799742, 3982034403], "tags": {"alt_name": "Calle Dinamarca", "cycleway:both": "no", "foot": "no", "highway": "residential", "name": "Calle Roma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 686735238, "nodes": [1869956235, 12740780964, 12740780965, 10036810547, 1382788786], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "foot": "yes", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 737742582, "nodes": [270110343, 6644579951, 5167773017, 270107873], "tags": {"highway": "residential", "name": "Calle Bernal D\u00edaz del Castillo", "surface": "asphalt"}}, {"type": "way", "id": 743234928, "nodes": [270105957, 6957010145, 12740979437, 6957010146, 12740979436, 7876317346, 7876317345, 7876317344, 11879612848, 6957010147, 6957010148], "tags": {"cycleway:both": "no", "highway": "primary_link", "lanes": "2", "lit": "yes", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 843988379, "nodes": [270108931, 270108932], "tags": {"alt_name": "Calle Tom\u00e1s Alva Edison", "highway": "residential", "name": "Calle Alfonso Herrera", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 844009536, "nodes": [1382788743, 270219432], "tags": {"highway": "residential", "name": "Calle Miguel E. Schultz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 844009538, "nodes": [270105704, 12015661215, 10176372446, 1439994446, 10176372448, 270282531, 270214904], "tags": {"cycleway:left": "no", "cycleway:right": "track", "destination": "Casco de Santo Tom\u00e1s", "destination:street": "Circuito Bicentenario", "highway": "secondary", "lanes": "4", "maxspeed": "50", "name": "Avenida Ribera de San Cosme", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 844355046, "nodes": [1381614129, 11753844110, 1385800622, 268449487], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "3", "name": "Calle Versalles", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 845432422, "nodes": [268452678, 12156030142, 11468627868, 11496576541, 268452575], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Copenhague", "oneway": "yes", "parking:left": "no", "parking:right": "lane", "parking:right:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 845518110, "nodes": [270108949, 270105957], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "5", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Rosales", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 845518112, "nodes": [7888328883, 12740780948, 12740780949, 11879518269, 270107504], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|right"}}, {"type": "way", "id": 845518113, "nodes": [270107504, 11879484768, 8153775207, 10762162122], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 845834891, "nodes": [5829509771, 8145723862, 10283192301], "tags": {"highway": "residential", "name": "Calle Plaza Carlos Finlay", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 845834892, "nodes": [49599661, 10820452031, 12740780938, 10656582341, 10820452041, 30381504], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 845834893, "nodes": [30381501, 11879518283, 11879518288, 8397276668], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 845834894, "nodes": [3750551664, 10283192301, 49599660, 8145723866, 10172095079, 8153446526, 12740780943, 12740780942, 10820452023, 49599661], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 847324973, "nodes": [7906881555, 12740780966, 12740780967, 12010073932, 1382788744], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "foot": "yes", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt", "turn:lanes": "right|right|right"}}, {"type": "way", "id": 847761141, "nodes": [270105706, 270106309], "tags": {"bicycle:lanes": "||designated", "cycleway:both": "no", "highway": "secondary", "lanes": "3", "maxspeed": "50", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847761142, "nodes": [1382788757, 270105706], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "2", "name": "Calle Buenavista", "oneway": "yes", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 847761143, "nodes": [1382788757, 10036788852, 10037136273, 1382788739], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847782544, "nodes": [1382788786, 270109285], "tags": {"highway": "residential", "name": "Calle Jes\u00fas de Ter\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847782545, "nodes": [1382788786, 10036810545, 7906881555], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "track", "foot": "yes", "highway": "secondary", "lanes": "3", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida M\u00e9xico-Tenochtitlan", "old_name": "Avenida Puente de Alvarado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847784517, "nodes": [270108956, 12740979413, 10594507884, 270108934], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 847784518, "nodes": [270108934, 270108935], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "no", "sidewalk:both": "separate", "surface": "concrete"}}, {"type": "way", "id": 847784519, "nodes": [1382788723, 10036788848, 12740979412, 270108956], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 847784520, "nodes": [270108935, 10594507883, 12740979410, 270108957], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 847784521, "nodes": [270108957, 270108956], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ignacio Mariscal", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 847784522, "nodes": [270108956, 8511981097, 270108955, 12740979480, 270108954, 12740979481, 270108940], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ignacio Mariscal", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 847784523, "nodes": [270108957, 12740979411, 10036788849, 1382788757], "tags": {"busway:left": "lane", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "tertiary", "lanes": "2", "name": "Calle Ponciano Arriaga", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 847800275, "nodes": [270107504, 11879484767, 11978207891, 11978207890, 12740780925, 269821199], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Madrid", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 847800276, "nodes": [7911203927, 7911203925], "tags": {"access": "no", "emergency": "designated", "highway": "secondary_link", "surface": "asphalt"}}, {"type": "way", "id": 848082742, "nodes": [30381504, 7913603184, 3750511588, 7913603183, 3660332613], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "cycleway:right:width": "2.10", "destination:ref": "EJE 3 PTE;EJE 2 PTE", "destination:street": "R\u00edo Mississippi;R\u00edo T\u00edber", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 848082745, "nodes": [268438160, 30381504], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "cycleway:right:width": "2.10", "foot": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 848168939, "nodes": [7913973064, 11469919538, 11469919537, 11563159863], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Berl\u00edn", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt", "turn:lanes": "left;through|through;right"}}, {"type": "way", "id": 848168940, "nodes": [848492662, 11468740619, 12015661246, 848492647], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Havre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 848168941, "nodes": [268437867, 12015661260, 11468740620, 12015661247, 848492647], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 848168942, "nodes": [30381460, 268437867], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Londres", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 848168943, "nodes": [848492685, 12015661251, 11470124408, 10659905297, 12015661262, 30381460], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|none"}}, {"type": "way", "id": 848207466, "nodes": [1381614129, 11436330658, 1381614116, 8512195836, 1381614144, 8512195845, 1381614118, 11470888610, 8512195822, 268447507], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "1", "lit": "yes", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 848546135, "nodes": [5832540263, 5832540261], "tags": {"cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 848546136, "nodes": [30381504, 12740780946, 5832540260], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 852908937, "nodes": [1382691441, 1975855135], "tags": {"cycleway:both": "no", "foot": "no", "highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 859433029, "nodes": [270107619, 11875026968, 11682997556, 1381614138, 3750511568], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 865394856, "nodes": [268384524, 268384522, 8230397209, 268384493, 8230397214, 268384490], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lanes:backward:conditional": "1 @ (Mo-Fr 06:00-09:30;PH off)", "lanes:forward:conditional": "3 @ (Mo-Fr 00:00-24:00)", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 06:00-09:30;PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 865394857, "nodes": [3735241077, 9724904787, 268384524], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lanes:backward:conditional": "1 @ (Mo-Fr 06:00-09:30;PH off)", "lanes:forward:conditional": "2 @ (Mo-Fr 00:00-24:00)", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 06:00-09:30;PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 866463959, "nodes": [268514486, 12056110918, 268514485], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Doctor Rafa\u00e9l Lucio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 866463960, "nodes": [268499917, 11155022375, 12013315302, 5839130713], "tags": {"alt_name": "Eje 1 Sur", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Doctor R\u00edo de la Loza", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 06:30-09:30; PH off)", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 866747389, "nodes": [30594752, 12013315311, 12013315309, 6148209277, 8078863123, 12056110907, 8078863120], "tags": {"alt_name": "Avenida Arcos de Bel\u00e9n;Eje 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "1", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "left", "surface": "concrete"}}, {"type": "way", "id": 866749361, "nodes": [269821701, 12056088659, 30385298], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 866749362, "nodes": [8078863118, 12056110872, 8551810254, 268499917], "tags": {"alt_name": "Avenida Arcos de Bel\u00e9n;Eje 1A Sur", "cycleway:both": "no", "highway": "primary", "lanes": "2", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "left", "surface": "concrete"}}, {"type": "way", "id": 866754071, "nodes": [30385298, 12056088660, 12056110898, 8855256183, 30385296], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "2", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 895289373, "nodes": [268452450, 11496576540, 268452742], "tags": {"highway": "living_street", "lanes": "1", "name": "Calle G\u00e9nova", "oneway": "yes", "parking:both": "no", "smoothness": "good", "surface": "paving_stones"}}, {"type": "way", "id": 903898682, "nodes": [268514485, 268514242], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Doctor Rafa\u00e9l Lucio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903898684, "nodes": [268514485, 12056110915, 8076030554], "tags": {"alt_name": "Eje 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Doctor R\u00edo de la Loza", "oneway": "yes", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 904169759, "nodes": [5832540260, 5832540263], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 904169761, "nodes": [7920799742, 5832545932], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "foot": "no", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "asphalt"}}, {"type": "way", "id": 904169762, "nodes": [10820452062, 10656790195], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination": "Zona Rosa", "destination:street": "Liverpool;Hamburgo", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "sign", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 904169764, "nodes": [5832540258, 12740780941, 268438160], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 904169765, "nodes": [5832540261, 5832540258], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 904169766, "nodes": [5832540258, 5832540260], "tags": {"cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 904169767, "nodes": [268437875, 10820452026, 1381629300, 7888328883], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 904174712, "nodes": [49599661, 268437875], "tags": {"cycleway:both": "no", "foot": "no", "highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 904174713, "nodes": [10656582321, 12740780939, 10656582322, 10820452024, 49599661], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "destination": "Chapultepec", "destination:street": "Avenida Chapultepec;Paseo de la Reforma", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 904174866, "nodes": [8397276668, 10656582318, 11879518270, 270214685], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 995415071, "nodes": [270105888, 9191782919, 12740979460, 7876317337, 7876317336, 270105889, 7876317335, 7876317334, 270105890, 7876317333, 12690482190, 10794390044, 270105891], "tags": {"cycleway:both": "no", "highway": "secondary_link", "lanes": "2", "lit": "yes", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1063024502, "nodes": [7911203927, 10656582311], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1063024503, "nodes": [7911203925, 10762162129], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1117668096, "nodes": [10759924087, 11470172763, 11470172762, 268451149], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "asphalt|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1117936420, "nodes": [10224646842, 11470827789, 11470827790, 4750171649, 11470827791, 4750171652, 11442111497, 268449861], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Roma", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1122083796, "nodes": [268438712, 11491034256, 10262766670, 11439037100, 11439037099, 10262766671, 11439037102], "tags": {"highway": "living_street", "name": "Avenida Paseo de la Reforma", "parking:left": "no", "parking:right": "lane", "parking:right:orientation": "parallel", "surface": "paving_stones"}}, {"type": "way", "id": 1136501097, "nodes": [270107494, 270107493], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "foot": "no", "highway": "tertiary", "lanes": "3", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1136501098, "nodes": [2255952598, 11875046384, 12740979440, 12740979439, 270107494], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "3", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1144982508, "nodes": [10656478177, 12740979464, 10656478179, 30381498], "tags": {"access:lanes": "no|yes|yes", "alt_name": "Ribera de San Cosme", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1144983667, "nodes": [10656493611, 12740979458, 10656493615, 11879518297, 30381499], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1144999740, "nodes": [10656582310, 12742110243, 7911203927], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1144999741, "nodes": [10656582311, 10656582312, 11879518545, 30381501], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1144999743, "nodes": [270214685, 11879518271, 10656582321], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "destination": "Chapultepec", "destination:street": "Avenida Chapultepec;Paseo de la Reforma", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1145025301, "nodes": [10656790195, 11468740624, 10656790202, 10030235137, 30381507], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination": "Zona Rosa", "destination:street": "Liverpool;Hamburgo", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "sign", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|none"}}, {"type": "way", "id": 1145025305, "nodes": [10656790203, 11468740621, 10656790204, 10656822705, 848492685], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|none"}}, {"type": "way", "id": 1145464872, "nodes": [30381460, 12015661263, 10659905298], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1145464873, "nodes": [10659905300, 11470172764, 10659905302, 268451150], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through;right"}}, {"type": "way", "id": 1145464874, "nodes": [848492675, 10659905300], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1145541394, "nodes": [268451150, 11328574290, 10660402408], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination:street": "Avenida Chapultepec", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "asphalt|asphalt|asphalt"}}, {"type": "way", "id": 1150003727, "nodes": [268438160, 10820452043, 12740780940, 10820452030, 268437875], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1150003739, "nodes": [10759924093, 11471068263, 11471068262, 10820452061, 3982034403], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1150003740, "nodes": [10030235135, 11042869258, 10759924093], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "sidewalk:right:surface": "concrete", "smoothness": "good", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1157056004, "nodes": [10759924086, 11328574289, 7906106225, 10759924087], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "markings", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "asphalt|asphalt|asphalt"}}, {"type": "way", "id": 1157056005, "nodes": [10759924091, 11470124410, 11470124409, 12015661258, 268437867], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1157056006, "nodes": [268437868, 11468740631, 11468740632, 10030235135], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1157120265, "nodes": [3982034403, 5832545932], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1157287087, "nodes": [10762162122, 12740780950, 12740780951, 11879518287, 10762162124, 12740780952, 12740780953, 11879518282, 269821061], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1157287088, "nodes": [10762162126, 11879518280, 10762162125, 10762162123], "tags": {"cycleway:both": "no", "highway": "tertiary_link", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1157287089, "nodes": [10762162129, 12740780954, 12740780955, 10762162128, 270106167], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1157287090, "nodes": [10762162131, 12740780956, 12740780957, 268531832], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1157287091, "nodes": [10762162132, 12740780958, 12740780959, 12015661213, 1382788724], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Insurgentes Centro", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt", "turn:lanes": "none|through|through"}}, {"type": "way", "id": 1160540429, "nodes": [3750570260, 8153813619, 8726149346, 270215117, 10172095085, 8507543196, 11879518272, 270214685], "tags": {"highway": "secondary", "lanes": "2", "maxheight": "default", "name": "Calle James Sullivan", "oneway": "yes", "sidewalk": "left", "surface": "asphalt"}}, {"type": "way", "id": 1160540584, "nodes": [3750570265, 3750570262, 3750570260], "tags": {"highway": "secondary", "lanes": "2", "maxheight": "default", "name": "Calle James Sullivan", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1160548267, "nodes": [49600630, 49599659, 3750551664], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calzada Manuel Villalong\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1162973057, "nodes": [3750551664, 3750570260], "tags": {"highway": "residential", "name": "Calle Serapio Rend\u00f3n", "old_name": "Calle Serapio Rend\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1163486043, "nodes": [1975855135, 10820419901, 11489173760, 11471068267, 11471068266, 11489122667, 11753844088, 269820989, 11753844084, 11489174112, 11471077169, 11471068268, 8512195839, 11489170588, 8512195838, 11471077170, 11753844100, 8512180615, 11436330656, 268447503], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1163486075, "nodes": [7920799742, 10820452062], "tags": {"access:lanes": "no|yes|yes", "bus:lanes": "designated||", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination": "Zona Rosa", "destination:street": "Liverpool;Hamburgo", "foot": "no", "highway": "secondary", "lanes": "3", "lanes:bus": "1", "lit": "yes", "maxspeed": "30", "maxspeed:source": "sign", "name": "Avenida Insurgentes Sur", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "sidewalk": "right", "surface": "asphalt", "surface:lanes": "concrete|asphalt|asphalt"}}, {"type": "way", "id": 1173535560, "nodes": [268447507, 11682997515, 268437527], "tags": {"cycleway:both": "no", "highway": "secondary", "lanes": "2", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 1174482718, "nodes": [270105957, 12740979438, 12740979435, 11879612851, 270105958], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Rosales", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 1174864066, "nodes": [30385293, 30385291], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1174880806, "nodes": [3642877293, 30385298], "tags": {"alt_name": "Avenida Arcos de Bel\u00e9n;Eje 1A Sur", "bus:lanes": "||designated", "cycleway:left": "no", "cycleway:right": "lane", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1A SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1174921545, "nodes": [268384493, 8230403417, 842912907, 842912865, 268269446, 842912875, 30879523], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Frontera", "oneway": "yes", "sidewalk": "both", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 1174921679, "nodes": [268384494, 268384493], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Frontera", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1174924632, "nodes": [842912854, 6136121784, 842912893, 8230397205, 8342677267, 268384524], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle M\u00e9rida", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1174924912, "nodes": [848492712, 11468740628, 848492706], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1174925202, "nodes": [848492710, 11470172761, 268451149], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1175166596, "nodes": [270217776, 994764224, 49599655], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "residential", "name": "Calle Manuel Mar\u00eda Contreras", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1175167413, "nodes": [270217776, 1417722225, 270218545, 8726090771, 270214684, 7894095692, 3750570265], "tags": {"highway": "secondary", "lanes": "2", "maxheight": "default", "name": "Calle James Sullivan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175167665, "nodes": [49599655, 1464343312, 49595445, 8230040958, 49594219, 642440522, 268436901], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "4", "name": "Avenida R\u00edo Rhin", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175169594, "nodes": [10760042513, 10920038076, 10920038077, 10920038080, 10920038081, 10920038083], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175169595, "nodes": [268436901, 11875045356, 11679163825, 10760042513], "tags": {"cycleway:both": "no", "highway": "tertiary", "lanes": "4", "lit": "yes", "name": "Avenida R\u00edo Rhin", "oneway": "yes", "parking:both": "no", "sidewalk:both": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175169596, "nodes": [10760042514, 11471068256, 268448021], "tags": {"cycleway:both": "no", "highway": "tertiary", "lanes": "4", "lit": "yes", "name": "Calle Niza", "oneway": "yes", "parking:both": "no", "sidewalk:both": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175169597, "nodes": [10920038084, 10920038065, 10920038066, 10920038067, 10920038068, 10760042514], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175169598, "nodes": [10920038083, 10920038082, 10920038084], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175169599, "nodes": [2255928568, 10920038079, 2255928543], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "alternating", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1175172574, "nodes": [848492675, 848492629], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "tertiary", "lanes": "4", "name": "Calle Niza", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1175175083, "nodes": [269821061, 30381501], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "destination:street": "Circuito Bicentenario", "highway": "secondary", "lanes": "4", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 1175176837, "nodes": [30385298, 268499917], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:both": "no", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1180580852, "nodes": [268384490, 8230397210, 268328943, 268329724, 842912912, 10224369772, 268513297, 842912899], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Morelia", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1203373146, "nodes": [11155022359, 11155022365, 12738580361, 11155022366, 12013315321, 11155022371, 11155022367, 12013315315, 12013315316, 12013315308, 11155022368, 11155022369, 12056110908, 11155022370, 11155022372, 12056110871, 11155022374, 12056088649, 11155022375, 11155022376, 11155022377, 11155022378, 11155022379, 11155022380], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203373147, "nodes": [11155022380, 11155022381, 12056110889, 11155022382, 3396214532, 11155022383, 12735644075, 12735644076, 5839130713], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1207073718, "nodes": [268437527, 30381435, 11682997555, 11875026967, 1385760545], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 1207610694, "nodes": [30381433, 8512195820, 8512195819, 268437526, 8512195847, 5832201339, 8512195846, 268437527], "tags": {"cycleway:both": "no", "foot": "no", "highway": "primary", "lanes": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 1232305544, "nodes": [268452742, 11430249772], "tags": {"highway": "living_street", "lanes": "1", "name": "Calle Estrasburgo", "oneway": "yes", "parking:both": "no", "surface": "paving_stones"}}, {"type": "way", "id": 1232822653, "nodes": [848492629, 11468645376, 848492710], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "4", "name": "Calle Niza", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1232832055, "nodes": [848492647, 848492685], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Havre", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1232841045, "nodes": [268451076, 268452548, 11470042685, 11470042684, 848492696], "tags": {"cycleway:both": "no", "destination": "Zona Rosa", "destination:ref": "EJE 2 PTE", "destination:street": "Florencia", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Hamburgo", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1232841047, "nodes": [10187198409, 8230040943, 8231042004, 11470124405, 268450958], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Londres", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1232841048, "nodes": [268451150, 11470172765, 848492651], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination": "Zona Rosa", "highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1232841049, "nodes": [30594788, 11470827792, 269820959], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Lucerna", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1232841050, "nodes": [269820962, 10697775151, 7914371497, 7914371496, 11753844166, 268438712], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Lucerna", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1233008419, "nodes": [5830989441, 8337735226, 1420541289], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "4", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1233008420, "nodes": [268449487, 11470888598, 5830989440], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Atenas", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1233008421, "nodes": [268449690, 12738580316, 268449691], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle General Prim", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "street_side", "parking:right:orientation": "diagonal", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1233008422, "nodes": [269819947, 11470888592, 268449690], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle General Prim", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1237116198, "nodes": [848492632, 11470042683, 268451076], "tags": {"cycleway:both": "no", "destination": "Zona Rosa", "destination:ref": "EJE 2 PTE", "destination:street": "Florencia", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Hamburgo", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1240363125, "nodes": [848492696, 11470042686, 848492635, 268452817, 268452836, 11470042687, 268451077], "tags": {"cycleway:both": "no", "destination": "Zona Rosa", "destination:ref": "EJE 2 PTE", "destination:street": "Florencia", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Hamburgo", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1240881938, "nodes": [268451075, 848492632], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "destination": "Zona Rosa", "destination:ref": "EJE 2 PTE", "destination:street": "Florencia", "highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Hamburgo", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1240885634, "nodes": [268450958, 11470124407, 11470124406, 12015661264, 30381460], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Londres", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1240897364, "nodes": [268452743, 268452711], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lanes": "1", "name": "Calle Estrasburgo", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1240900103, "nodes": [268437867, 12015661257, 11470124411, 848492662], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Londres", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1240902581, "nodes": [268384492, 268384490], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Morelia", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1240904567, "nodes": [30385296, 8026253475, 8534238761, 11439037094, 11470770715, 269821700], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Abraham Gonz\u00e1lez", "oneway": "yes", "parking:both": "lane", "parking:left:orientation": "parallel", "parking:right:orientation": "perpendicular", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1240905478, "nodes": [2266653687, 8534238765, 8534238764, 269820814], "tags": {"cycleway:both": "no", "highway": "residential", "lane_markings": "no", "lit": "yes", "name": "Calle Emilio Dond\u00e9", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1240933096, "nodes": [269821199, 12740780927, 11753844092, 269821024], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Paris", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 1242602581, "nodes": [848492694, 11468740634, 5830976888], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Dinamarca", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1242602582, "nodes": [268449860, 11428025631], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Roma", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243618429, "nodes": [30594779, 11879612780, 11470888614, 8337735222, 11470888615, 11470888616, 12688754298, 269820329], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "sidewalk:both:surface": "asphalt", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 1243620906, "nodes": [269820329, 11471954733, 9723597397, 269820952], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243620907, "nodes": [269820329, 11470888612, 7222229195, 12738580328, 269827027], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Art\u00edculo 123", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243625022, "nodes": [269820952, 11352170381, 11470888608, 11470888607, 5830989441], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "secondary", "lanes": "4", "name": "Avenida Morelos", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243625904, "nodes": [269826075, 30594785], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243625905, "nodes": [269826075, 12738580323, 12738580324, 269826153], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "lit": "yes", "name": "Calle Ayuntamiento", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "concrete"}}, {"type": "way", "id": 1243626662, "nodes": [30594785, 11470888604, 11470888603, 269820814], "tags": {"alt_name": "Eje 1 Poniente;Eje Vial 1 Poniente", "cycleway:both": "no", "highway": "primary", "lanes": "2", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "short_name": "Bucareli", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243626663, "nodes": [269820814, 8534238763, 8534238767, 2266653689, 8534238766, 12738580318, 269825078], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "4", "lit": "yes", "name": "Calle Emilio Dond\u00e9", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243631653, "nodes": [30594786, 11470888594, 11470888593, 268449690], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243631654, "nodes": [268449690, 30594788], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243632339, "nodes": [269820959, 11470827793, 269820958], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Lucerna", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243632340, "nodes": [30594788, 11471954739, 11471954738, 269821579], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Avenida Bucareli", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE 1 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243632893, "nodes": [269821580, 11490977128, 11436637337, 268451147], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "lit": "yes", "name": "Calle Barcelona", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243635719, "nodes": [30385291, 1420660840, 1420660838], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "secondary", "lanes": "1", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1243740731, "nodes": [848492667, 8230233136, 268452320, 10172143921, 11470172760, 848492710], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243740732, "nodes": [268451148, 11470172758, 848492650], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243740733, "nodes": [848492650, 11470172759, 848492667], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243740734, "nodes": [848492650, 11468740627, 848492712], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243745973, "nodes": [30385296, 268384492], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1243745974, "nodes": [268384492, 268384494], "tags": {"alt_name": "Eje 1 Sur;Eje Vial 1 Sur", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Avenida Chapultepec", "oneway": "yes", "parking:both": "no", "ref": "EJE 1 SUR", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1243745975, "nodes": [268449959, 11439037103, 5830976890, 11439037104, 268384492], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Versalles", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243784901, "nodes": [848492694, 11468740629, 848492706], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Hamburgo", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243793069, "nodes": [5830989440, 11470888599, 11470888600, 11470888605, 11470888606, 2266653687], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Atenas", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1243947870, "nodes": [268449860, 11563159863], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Viena", "oneway": "alternating", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1247087954, "nodes": [2255928543, 10920038072, 10920038073, 10920038074, 10920038075, 10760042513], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "alternating", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1247087955, "nodes": [10760042514, 10920038069, 10920038070, 10920038071, 10920038078, 10920038085, 2255928568], "tags": {"cycleway:both": "no", "highway": "primary", "lanes": "4", "lit": "yes", "maxspeed": "50", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Paseo de la Reforma", "oneway": "alternating", "parking:both": "no", "sidewalk:left": "no", "sidewalk:right": "separate", "surface": "asphalt"}}, {"type": "way", "id": 1251771346, "nodes": [848492685, 12015661252, 848492632], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Havre", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "paving_stones"}}, {"type": "way", "id": 1251774516, "nodes": [30385293, 11468740625, 3772750742], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "residential", "lanes": "2", "name": "Calle N\u00e1poles", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 1251919348, "nodes": [848492671, 8231042009, 11470172757, 268451148], "tags": {"cycleway:both": "no", "hazard": "school_zone", "highway": "residential", "lanes": "2", "maxspeed": "20", "maxspeed:type": "sign", "name": "Calle Liverpool", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1370115983, "nodes": [12688754297, 12688772205, 12740971694, 12740971695, 12690484404, 5161033102], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1370115984, "nodes": [12688772202, 12688772203, 12688772209, 12688754298], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1370115985, "nodes": [12688754297, 12688772208, 12688772207, 12688772202], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1370237821, "nodes": [3750511568, 11682997499, 11184989145, 12690127171, 8512195830, 1420541295, 12740971682, 12740971681, 11753844132, 270107494], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Ram\u00edrez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1370237822, "nodes": [270107493, 10594507880, 12690127173, 3779331135, 8512195828, 8512195829, 12690127172, 8512195835, 3750511580, 3750511581, 3750511582, 12740971689, 10903748709, 6360639683, 268437337], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "2", "name": "Calle Ignacio Ram\u00edrez", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1375435426, "nodes": [270108935, 12740979468, 270108936], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "concrete"}}, {"type": "way", "id": 1375452255, "nodes": [10762162123, 269821199], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Paris", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375454388, "nodes": [30381498, 268531832], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375454446, "nodes": [268531832, 270107762], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Tom\u00e1s Alva Edison", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375459050, "nodes": [268514242, 12056110917, 8078863123], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Enrico Mart\u00ednez", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375460242, "nodes": [269827027, 12738580329, 269827194], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Art\u00edculo 123", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375462224, "nodes": [8078863123, 11155022369, 1420660841, 269825324], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Enrico Mart\u00ednez", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375480856, "nodes": [270107642, 12690127175, 12690127176, 270107641], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Ignacio L. Vallarta", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "perpendicular", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1375484799, "nodes": [270109294, 12740979430, 12740979431, 12689949882, 12740979432, 6859659382, 1382788786], "tags": {"cycleway:both": "no", "highway": "residential", "name": "Calle Jes\u00fas de Ter\u00e1n", "oneway": "yes", "parking:both": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1376185111, "nodes": [1382788773, 11879698624, 12740971660, 12740971661, 5288014964, 6182120224, 6182120225, 11185031171, 12740971666, 12740971667, 11879612825, 11185031170, 6957010148], "tags": {"cycleway:left": "no", "cycleway:right": "track", "cycleway:right:motorcycle": "no", "cycleway:right:oneway": "yes", "cycleway:right:surface": "asphalt", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "40", "maxspeed:type": "sign", "name": "Avenida Paseo de la Reforma Norte", "oneway": "yes", "parking:both": "no", "sidewalk": "right", "surface": "asphalt"}}, {"type": "way", "id": 1376185112, "nodes": [270107493, 12740979442, 12740979441, 270107642], "tags": {"cycleway:left": "no", "cycleway:right": "track", "highway": "tertiary", "lanes": "3", "maxspeed": "40", "maxspeed:type": "sign", "name": "Calle Maestro Antonio Caso", "oneway": "yes", "parking:left": "lane", "parking:left:orientation": "parallel", "parking:right": "no", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1376191367, "nodes": [269825078, 12738580319, 12738580320, 10176146802, 269822665], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "4", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Emilio Dond\u00e9", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 1384456074, "nodes": [11158066773, 11879698625, 5288019701, 3289788672, 8512366613, 8512366611, 11879612824, 8512366612, 6957010148], "tags": {"access:lanes": "yes|yes|yes|no", "bus:lanes": "|||designated", "cycleway:both": "no", "highway": "primary", "lanes": "4", "lanes:bus": "1", "lit": "yes", "maxspeed": "50", "name": "Avenida Paseo de la Reforma Norte", "oneway": "yes", "parking:both": "no", "sidewalk": "no", "surface": "concrete"}}, {"type": "way", "id": 1384932702, "nodes": [269827027, 12738580382, 269827028], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "1", "name": "Calle Iturbide", "oneway": "yes", "parking:both": "lane", "parking:both:orientation": "parallel", "sidewalk": "both", "surface": "asphalt"}}]} \ No newline at end of file diff --git a/cache/4d864c734d3983fc21e30c5731099f873f407596.json b/cache/4d864c734d3983fc21e30c5731099f873f407596.json new file mode 100644 index 0000000..e5f8961 --- /dev/null +++ b/cache/4d864c734d3983fc21e30c5731099f873f407596.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:10:10Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 359631796, "lat": 19.4019876, "lon": -98.1543376}, {"type": "node", "id": 359631798, "lat": 19.4012649, "lon": -98.1546592}, {"type": "node", "id": 359631799, "lat": 19.3969558, "lon": -98.1553251}, {"type": "node", "id": 359632003, "lat": 19.3945323, "lon": -98.1529603}, {"type": "node", "id": 359632124, "lat": 19.4006034, "lon": -98.1507245}, {"type": "node", "id": 359632370, "lat": 19.3937554, "lon": -98.1531368}, {"type": "node", "id": 359632372, "lat": 19.3932093, "lon": -98.1523976}, {"type": "node", "id": 359632375, "lat": 19.4007058, "lon": -98.1504351}, {"type": "node", "id": 359632456, "lat": 19.3987348, "lon": -98.1550543}, {"type": "node", "id": 359632699, "lat": 19.4000043, "lon": -98.1486298}, {"type": "node", "id": 359632739, "lat": 19.3951989, "lon": -98.149257}, {"type": "node", "id": 359632768, "lat": 19.4002654, "lon": -98.1477051}, {"type": "node", "id": 359632790, "lat": 19.3953431, "lon": -98.1483172}, {"type": "node", "id": 359632837, "lat": 19.401696, "lon": -98.1535331}, {"type": "node", "id": 359632894, "lat": 19.3958059, "lon": -98.1545455}, {"type": "node", "id": 359632914, "lat": 19.3961295, "lon": -98.1549284}, {"type": "node", "id": 359633006, "lat": 19.3950806, "lon": -98.1536857}, {"type": "node", "id": 359633059, "lat": 19.3990473, "lon": -98.1531267}, {"type": "node", "id": 359633091, "lat": 19.3992061, "lon": -98.1521231}, {"type": "node", "id": 359633119, "lat": 19.3965219, "lon": -98.152511}, {"type": "node", "id": 359633316, "lat": 19.3975984, "lon": -98.1566566}, {"type": "node", "id": 359633414, "lat": 19.3997843, "lon": -98.1539324}, {"type": "node", "id": 359633433, "lat": 19.4005644, "lon": -98.1547988}, {"type": "node", "id": 359633454, "lat": 19.4006951, "lon": -98.1538021}, {"type": "node", "id": 359633619, "lat": 19.3954851, "lon": -98.1473924}, {"type": "node", "id": 359633658, "lat": 19.3950476, "lon": -98.1502428}, {"type": "node", "id": 359633753, "lat": 19.3973377, "lon": -98.1528535}, {"type": "node", "id": 359633754, "lat": 19.3970951, "lon": -98.1520733}, {"type": "node", "id": 359633780, "lat": 19.3964318, "lon": -98.1530012}, {"type": "node", "id": 359633856, "lat": 19.3979886, "lon": -98.1517298}, {"type": "node", "id": 359633880, "lat": 19.3982782, "lon": -98.1497942}, {"type": "node", "id": 359633911, "lat": 19.3991892, "lon": -98.149671}, {"type": "node", "id": 359633919, "lat": 19.3996313, "lon": -98.1468257}, {"type": "node", "id": 359633998, "lat": 19.3987284, "lon": -98.1469635}, {"type": "node", "id": 359634081, "lat": 19.3956366, "lon": -98.1464056}, {"type": "node", "id": 359634093, "lat": 19.3958249, "lon": -98.1454253}, {"type": "node", "id": 359634111, "lat": 19.3959979, "lon": -98.1444562}, {"type": "node", "id": 359634263, "lat": 19.4009593, "lon": -98.1466272}, {"type": "node", "id": 361678938, "lat": 19.3994693, "lon": -98.1478049}, {"type": "node", "id": 361678955, "lat": 19.3999257, "lon": -98.1477477}, {"type": "node", "id": 361679001, "lat": 19.3985786, "lon": -98.1479165}, {"type": "node", "id": 361679039, "lat": 19.3990182, "lon": -98.1478614}, {"type": "node", "id": 361679072, "lat": 19.3980893, "lon": -98.1479778}, {"type": "node", "id": 361679121, "lat": 19.3963098, "lon": -98.1482007}, {"type": "node", "id": 361679168, "lat": 19.3972162, "lon": -98.1480872}, {"type": "node", "id": 361679198, "lat": 19.3996052, "lon": -98.1439147}, {"type": "node", "id": 361679427, "lat": 19.3994553, "lon": -98.1449119}, {"type": "node", "id": 361679458, "lat": 19.3993265, "lon": -98.145906}, {"type": "node", "id": 361679507, "lat": 19.3991751, "lon": -98.1468942}, {"type": "node", "id": 361679664, "lat": 19.3987217, "lon": -98.1497322}, {"type": "node", "id": 361679722, "lat": 19.3988612, "lon": -98.1488233}, {"type": "node", "id": 361679768, "lat": 19.3984418, "lon": -98.1515556}, {"type": "node", "id": 361679816, "lat": 19.3985693, "lon": -98.1507249}, {"type": "node", "id": 361679888, "lat": 19.3978584, "lon": -98.1551882}, {"type": "node", "id": 361679938, "lat": 19.3981806, "lon": -98.1532302}, {"type": "node", "id": 361680107, "lat": 19.3980427, "lon": -98.1542207}, {"type": "node", "id": 361680139, "lat": 19.3972628, "lon": -98.1533483}, {"type": "node", "id": 361680187, "lat": 19.3971182, "lon": -98.1543388}, {"type": "node", "id": 361680294, "lat": 19.3978145, "lon": -98.1498645}, {"type": "node", "id": 361680313, "lat": 19.3975139, "lon": -98.1519122}, {"type": "node", "id": 361680344, "lat": 19.3974149, "lon": -98.1523703}, {"type": "node", "id": 361680401, "lat": 19.3976716, "lon": -98.1508591}, {"type": "node", "id": 361680438, "lat": 19.3979484, "lon": -98.1489355}, {"type": "node", "id": 361680537, "lat": 19.3985436, "lon": -98.145041}, {"type": "node", "id": 361680606, "lat": 19.3984006, "lon": -98.1460281}, {"type": "node", "id": 361680657, "lat": 19.3982536, "lon": -98.147022}, {"type": "node", "id": 361680694, "lat": 19.3986956, "lon": -98.1440476}, {"type": "node", "id": 361681160, "lat": 19.3966062, "lon": -98.1462736}, {"type": "node", "id": 361681231, "lat": 19.3975061, "lon": -98.1461499}, {"type": "node", "id": 361681249, "lat": 19.3954393, "lon": -98.1536333}, {"type": "node", "id": 361681272, "lat": 19.3963579, "lon": -98.1534984}, {"type": "node", "id": 361681319, "lat": 19.3981234, "lon": -98.1507878}, {"type": "node", "id": 361681431, "lat": 19.3968961, "lon": -98.144334}, {"type": "node", "id": 361681538, "lat": 19.3967524, "lon": -98.1452945}, {"type": "node", "id": 361681606, "lat": 19.3964576, "lon": -98.1472657}, {"type": "node", "id": 361681717, "lat": 19.3961741, "lon": -98.1491612}, {"type": "node", "id": 361681776, "lat": 19.3956596, "lon": -98.1521046}, {"type": "node", "id": 361681783, "lat": 19.3958129, "lon": -98.1511213}, {"type": "node", "id": 361681800, "lat": 19.3955343, "lon": -98.1526622}, {"type": "node", "id": 361681820, "lat": 19.3992989, "lon": -98.148761}, {"type": "node", "id": 361681828, "lat": 19.3992184, "lon": -98.1549879}, {"type": "node", "id": 361681840, "lat": 19.3988878, "lon": -98.1540675}, {"type": "node", "id": 361681862, "lat": 19.3961876, "lon": -98.1544992}, {"type": "node", "id": 361681930, "lat": 19.4000678, "lon": -98.1467623}, {"type": "node", "id": 361681953, "lat": 19.3973597, "lon": -98.1471495}, {"type": "node", "id": 361681989, "lat": 19.3969441, "lon": -98.1499964}, {"type": "node", "id": 361682018, "lat": 19.3996035, "lon": -98.1496115}, {"type": "node", "id": 361682069, "lat": 19.397077, "lon": -98.1490683}, {"type": "node", "id": 361682271, "lat": 19.3947341, "lon": -98.152173}, {"type": "node", "id": 361682361, "lat": 19.3965943, "lon": -98.1520122}, {"type": "node", "id": 361682487, "lat": 19.3993519, "lon": -98.1512018}, {"type": "node", "id": 361682529, "lat": 19.3994463, "lon": -98.1506049}, {"type": "node", "id": 361682903, "lat": 19.3948921, "lon": -98.1512555}, {"type": "node", "id": 361683043, "lat": 19.3977929, "lon": -98.1441917}, {"type": "node", "id": 361683155, "lat": 19.3976501, "lon": -98.1451664}, {"type": "node", "id": 424007109, "lat": 19.3933437, "lon": -98.1601743}, {"type": "node", "id": 424007112, "lat": 19.3931097, "lon": -98.1596272}, {"type": "node", "id": 424007114, "lat": 19.3919173, "lon": -98.1564142}, {"type": "node", "id": 424007116, "lat": 19.391631, "lon": -98.1557013}, {"type": "node", "id": 424007118, "lat": 19.3913612, "lon": -98.1552694}, {"type": "node", "id": 424007125, "lat": 19.3903746, "lon": -98.1522446}, {"type": "node", "id": 424008802, "lat": 19.393522, "lon": -98.1602971}, {"type": "node", "id": 424008961, "lat": 19.3918086, "lon": -98.1592852}, {"type": "node", "id": 424009029, "lat": 19.3933051, "lon": -98.1601113}, {"type": "node", "id": 424009093, "lat": 19.3931856, "lon": -98.1598357}, {"type": "node", "id": 424009115, "lat": 19.3912058, "lon": -98.1596801}, {"type": "node", "id": 424009117, "lat": 19.3914797, "lon": -98.159141}, {"type": "node", "id": 424009119, "lat": 19.3929294, "lon": -98.1591605}, {"type": "node", "id": 424009121, "lat": 19.3931818, "lon": -98.1590022}, {"type": "node", "id": 424009122, "lat": 19.3934759, "lon": -98.1580004}, {"type": "node", "id": 424009123, "lat": 19.3946682, "lon": -98.1567462}, {"type": "node", "id": 424009125, "lat": 19.3966775, "lon": -98.1555151}, {"type": "node", "id": 424009126, "lat": 19.3946942, "lon": -98.1580763}, {"type": "node", "id": 424009127, "lat": 19.3933886, "lon": -98.1554711}, {"type": "node", "id": 424009128, "lat": 19.392182, "lon": -98.1571021}, {"type": "node", "id": 424009129, "lat": 19.3930091, "lon": -98.1593784}, {"type": "node", "id": 424009135, "lat": 19.3946017, "lon": -98.1579951}, {"type": "node", "id": 424009200, "lat": 19.3943754, "lon": -98.1574104}, {"type": "node", "id": 424009301, "lat": 19.3972106, "lon": -98.1561699}, {"type": "node", "id": 424009522, "lat": 19.3956245, "lon": -98.1568469}, {"type": "node", "id": 424009594, "lat": 19.3957236, "lon": -98.1561067}, {"type": "node", "id": 424009690, "lat": 19.3954131, "lon": -98.1563416}, {"type": "node", "id": 424009756, "lat": 19.3942168, "lon": -98.1546927}, {"type": "node", "id": 424009772, "lat": 19.3937728, "lon": -98.1562328}, {"type": "node", "id": 424009915, "lat": 19.3950023, "lon": -98.155753}, {"type": "node", "id": 424009964, "lat": 19.3951253, "lon": -98.1559067}, {"type": "node", "id": 424009988, "lat": 19.3940156, "lon": -98.1567141}, {"type": "node", "id": 424020067, "lat": 19.388813, "lon": -98.1606571}, {"type": "node", "id": 424020100, "lat": 19.3904031, "lon": -98.1600416}, {"type": "node", "id": 424020121, "lat": 19.3836078, "lon": -98.1602127}, {"type": "node", "id": 424020190, "lat": 19.3831698, "lon": -98.160624}, {"type": "node", "id": 424020191, "lat": 19.3864402, "lon": -98.1575406}, {"type": "node", "id": 424020193, "lat": 19.3872118, "lon": -98.1570201}, {"type": "node", "id": 424020195, "lat": 19.3873825, "lon": -98.1568294}, {"type": "node", "id": 424020197, "lat": 19.3878188, "lon": -98.1554881}, {"type": "node", "id": 424020199, "lat": 19.3880054, "lon": -98.1551213}, {"type": "node", "id": 424020201, "lat": 19.3887004, "lon": -98.1542138}, {"type": "node", "id": 424020202, "lat": 19.3893848, "lon": -98.1538551}, {"type": "node", "id": 424020203, "lat": 19.3904196, "lon": -98.1539275}, {"type": "node", "id": 424020204, "lat": 19.3908032, "lon": -98.1539419}, {"type": "node", "id": 424020347, "lat": 19.3878857, "lon": -98.1508295}, {"type": "node", "id": 424020352, "lat": 19.3878288, "lon": -98.1501853}, {"type": "node", "id": 424020355, "lat": 19.3924111, "lon": -98.1452164}, {"type": "node", "id": 424020916, "lat": 19.3869792, "lon": -98.1572024}, {"type": "node", "id": 424021307, "lat": 19.3900314, "lon": -98.1524693}, {"type": "node", "id": 424021493, "lat": 19.3889219, "lon": -98.1504383}, {"type": "node", "id": 424021497, "lat": 19.3920916, "lon": -98.1480457}, {"type": "node", "id": 424021500, "lat": 19.3937752, "lon": -98.1469785}, {"type": "node", "id": 424021503, "lat": 19.395697, "lon": -98.146012}, {"type": "node", "id": 424021571, "lat": 19.3906809, "lon": -98.1492179}, {"type": "node", "id": 424021825, "lat": 19.3940823, "lon": -98.1513909}, {"type": "node", "id": 424021830, "lat": 19.3930271, "lon": -98.1490516}, {"type": "node", "id": 424021831, "lat": 19.3926187, "lon": -98.149307}, {"type": "node", "id": 424021832, "lat": 19.3924035, "lon": -98.1494409}, {"type": "node", "id": 424021833, "lat": 19.3931413, "lon": -98.1493135}, {"type": "node", "id": 424021835, "lat": 19.3927402, "lon": -98.1495366}, {"type": "node", "id": 424021836, "lat": 19.3927878, "lon": -98.1500965}, {"type": "node", "id": 424021837, "lat": 19.3949917, "lon": -98.1487244}, {"type": "node", "id": 424021844, "lat": 19.3950165, "lon": -98.148379}, {"type": "node", "id": 424021846, "lat": 19.3947429, "lon": -98.1500395}, {"type": "node", "id": 424021847, "lat": 19.3946873, "lon": -98.1510148}, {"type": "node", "id": 424021848, "lat": 19.394616, "lon": -98.1510676}, {"type": "node", "id": 424021849, "lat": 19.3938155, "lon": -98.15094}, {"type": "node", "id": 424021850, "lat": 19.394713, "lon": -98.1503567}, {"type": "node", "id": 424021854, "lat": 19.3943357, "lon": -98.1506039}, {"type": "node", "id": 424021927, "lat": 19.3923147, "lon": -98.1512977}, {"type": "node", "id": 424022011, "lat": 19.3930816, "lon": -98.1508848}, {"type": "node", "id": 424022014, "lat": 19.3919527, "lon": -98.1488427}, {"type": "node", "id": 424022016, "lat": 19.3908975, "lon": -98.1495128}, {"type": "node", "id": 424022033, "lat": 19.3913879, "lon": -98.1501448}, {"type": "node", "id": 424022070, "lat": 19.3923126, "lon": -98.1495186}, {"type": "node", "id": 424022109, "lat": 19.3918332, "lon": -98.1506972}, {"type": "node", "id": 424022130, "lat": 19.3926684, "lon": -98.1501625}, {"type": "node", "id": 424022371, "lat": 19.3931293, "lon": -98.1507249}, {"type": "node", "id": 424022373, "lat": 19.3931552, "lon": -98.1506827}, {"type": "node", "id": 424022376, "lat": 19.3931931, "lon": -98.1505445}, {"type": "node", "id": 424022379, "lat": 19.3939203, "lon": -98.1500298}, {"type": "node", "id": 424022382, "lat": 19.3939354, "lon": -98.1499141}, {"type": "node", "id": 424022384, "lat": 19.3940302, "lon": -98.1498547}, {"type": "node", "id": 424022386, "lat": 19.3941331, "lon": -98.1498965}, {"type": "node", "id": 424022387, "lat": 19.3948848, "lon": -98.1493825}, {"type": "node", "id": 424022405, "lat": 19.394868, "lon": -98.1495083}, {"type": "node", "id": 424022431, "lat": 19.3941636, "lon": -98.1499554}, {"type": "node", "id": 424022434, "lat": 19.3941658, "lon": -98.1500104}, {"type": "node", "id": 424022438, "lat": 19.3941102, "lon": -98.1501009}, {"type": "node", "id": 424022642, "lat": 19.3940618, "lon": -98.150121}, {"type": "node", "id": 424022645, "lat": 19.3940098, "lon": -98.1501187}, {"type": "node", "id": 424022648, "lat": 19.3939631, "lon": -98.1500945}, {"type": "node", "id": 424022650, "lat": 19.3933475, "lon": -98.150513}, {"type": "node", "id": 424022654, "lat": 19.3932089, "lon": -98.1507613}, {"type": "node", "id": 424022657, "lat": 19.3931244, "lon": -98.1508541}, {"type": "node", "id": 424022727, "lat": 19.3946619, "lon": -98.1489146}, {"type": "node", "id": 424022787, "lat": 19.3945342, "lon": -98.1485911}, {"type": "node", "id": 424022988, "lat": 19.3939764, "lon": -98.1498729}, {"type": "node", "id": 424023009, "lat": 19.394147, "lon": -98.1500618}, {"type": "node", "id": 424023011, "lat": 19.3940861, "lon": -98.1498631}, {"type": "node", "id": 424023023, "lat": 19.3887349, "lon": -98.1494264}, {"type": "node", "id": 424023347, "lat": 19.3884987, "lon": -98.1491275}, {"type": "node", "id": 424023349, "lat": 19.3874972, "lon": -98.1486116}, {"type": "node", "id": 428546537, "lat": 19.39214, "lon": -98.144061}, {"type": "node", "id": 428546783, "lat": 19.3939988, "lon": -98.144091}, {"type": "node", "id": 428546794, "lat": 19.3947151, "lon": -98.1553704}, {"type": "node", "id": 428546796, "lat": 19.3939154, "lon": -98.1499701}, {"type": "node", "id": 428546798, "lat": 19.3946965, "lon": -98.1507332}, {"type": "node", "id": 428546799, "lat": 19.3934729, "lon": -98.1503218}, {"type": "node", "id": 428546801, "lat": 19.3934984, "lon": -98.1504149}, {"type": "node", "id": 428546805, "lat": 19.3933132, "lon": -98.1497566}, {"type": "node", "id": 428546938, "lat": 19.3942185, "lon": -98.1571126}, {"type": "node", "id": 428546942, "lat": 19.3965657, "lon": -98.1522768}, {"type": "node", "id": 428546944, "lat": 19.3967845, "lon": -98.1509842}, {"type": "node", "id": 428546945, "lat": 19.3897384, "lon": -98.1483057}, {"type": "node", "id": 823357441, "lat": 19.3903813, "lon": -98.1489179}, {"type": "node", "id": 823357443, "lat": 19.3910711, "lon": -98.1476419}, {"type": "node", "id": 1529185542, "lat": 19.3916878, "lon": -98.1591799}, {"type": "node", "id": 1535948617, "lat": 19.3930953, "lon": -98.1507536}, {"type": "node", "id": 1535948618, "lat": 19.3932678, "lon": -98.1505848}, {"type": "node", "id": 1535948630, "lat": 19.3947254, "lon": -98.1509333}, {"type": "node", "id": 1535948652, "lat": 19.3966774, "lon": -98.1457963}, {"type": "node", "id": 1535948654, "lat": 19.3967623, "lon": -98.148144}, {"type": "node", "id": 1535948656, "lat": 19.3969187, "lon": -98.1472044}, {"type": "node", "id": 1535948671, "lat": 19.39758, "lon": -98.1456449}, {"type": "node", "id": 1535948675, "lat": 19.3992415, "lon": -98.146433}, {"type": "node", "id": 1535948679, "lat": 19.399527, "lon": -98.1444325}, {"type": "node", "id": 1535948696, "lat": 19.4015715, "lon": -98.1536701}, {"type": "node", "id": 1570740349, "lat": 19.3877977, "lon": -98.1504868}, {"type": "node", "id": 1570740350, "lat": 19.3877885, "lon": -98.1502571}, {"type": "node", "id": 1570740355, "lat": 19.3879017, "lon": -98.1507378}, {"type": "node", "id": 1570740402, "lat": 19.3917742, "lon": -98.1458743}, {"type": "node", "id": 3250106448, "lat": 19.387441, "lon": -98.1568825}, {"type": "node", "id": 3250106449, "lat": 19.3878525, "lon": -98.1556345}, {"type": "node", "id": 3250106450, "lat": 19.3886916, "lon": -98.1543145}, {"type": "node", "id": 3250106451, "lat": 19.3895549, "lon": -98.1539094}, {"type": "node", "id": 3250106452, "lat": 19.3901182, "lon": -98.1539569}, {"type": "node", "id": 3250106453, "lat": 19.390569, "lon": -98.15401}, {"type": "node", "id": 3250106454, "lat": 19.3912261, "lon": -98.1537953}, {"type": "node", "id": 3266152583, "lat": 19.3965647, "lon": -98.1553901}, {"type": "node", "id": 4011643563, "lat": 19.3845694, "lon": -98.1593118}, {"type": "node", "id": 4011643647, "lat": 19.3872643, "lon": -98.1570808}, {"type": "node", "id": 4011643649, "lat": 19.3874683, "lon": -98.1566986}, {"type": "node", "id": 4011643650, "lat": 19.3875375, "lon": -98.156555}, {"type": "node", "id": 4011643651, "lat": 19.3876843, "lon": -98.1563457}, {"type": "node", "id": 4011643653, "lat": 19.3876834, "lon": -98.1560256}, {"type": "node", "id": 4011643657, "lat": 19.387885, "lon": -98.1553254}, {"type": "node", "id": 4011643658, "lat": 19.3879474, "lon": -98.1553539}, {"type": "node", "id": 4011643659, "lat": 19.3883559, "lon": -98.1546508}, {"type": "node", "id": 4011643661, "lat": 19.3884572, "lon": -98.1546255}, {"type": "node", "id": 4011643663, "lat": 19.3889116, "lon": -98.1541229}, {"type": "node", "id": 4011643665, "lat": 19.388879, "lon": -98.1540675}, {"type": "node", "id": 4011643669, "lat": 19.3892844, "lon": -98.1539526}, {"type": "node", "id": 4011643671, "lat": 19.3891822, "lon": -98.1539162}, {"type": "node", "id": 4011643672, "lat": 19.389715, "lon": -98.1539121}, {"type": "node", "id": 4011643673, "lat": 19.389572, "lon": -98.1538296}, {"type": "node", "id": 4011643675, "lat": 19.3901805, "lon": -98.1538859}, {"type": "node", "id": 4011643676, "lat": 19.3906536, "lon": -98.1539476}, {"type": "node", "id": 4011643677, "lat": 19.3907157, "lon": -98.1540252}, {"type": "node", "id": 4011643678, "lat": 19.3908265, "lon": -98.1540203}, {"type": "node", "id": 4011643679, "lat": 19.3909594, "lon": -98.1539525}, {"type": "node", "id": 4011643680, "lat": 19.3914842, "lon": -98.15353}, {"type": "node", "id": 4011643681, "lat": 19.391586, "lon": -98.1535684}, {"type": "node", "id": 4011643682, "lat": 19.3919748, "lon": -98.1532172}, {"type": "node", "id": 4011643683, "lat": 19.3927227, "lon": -98.152823}, {"type": "node", "id": 4011643685, "lat": 19.3932575, "lon": -98.1524634}, {"type": "node", "id": 4011643686, "lat": 19.3936166, "lon": -98.1522007}, {"type": "node", "id": 4011643687, "lat": 19.3937984, "lon": -98.152089}, {"type": "node", "id": 4011643688, "lat": 19.3948908, "lon": -98.1513593}, {"type": "node", "id": 4011643689, "lat": 19.395117, "lon": -98.1512238}, {"type": "node", "id": 4011643690, "lat": 19.3951265, "lon": -98.1510963}, {"type": "node", "id": 4011643691, "lat": 19.3953616, "lon": -98.151185}, {"type": "node", "id": 4011643692, "lat": 19.3952248, "lon": -98.1511325}, {"type": "node", "id": 4011643693, "lat": 19.3953632, "lon": -98.1508993}, {"type": "node", "id": 4011643694, "lat": 19.3954344, "lon": -98.1509422}, {"type": "node", "id": 4011643695, "lat": 19.3955509, "lon": -98.150711}, {"type": "node", "id": 4011643696, "lat": 19.3956501, "lon": -98.1507199}, {"type": "node", "id": 4011643697, "lat": 19.3957731, "lon": -98.1504501}, {"type": "node", "id": 4011643698, "lat": 19.3959449, "lon": -98.1503307}, {"type": "node", "id": 4011643699, "lat": 19.3960099, "lon": -98.1500977}, {"type": "node", "id": 4011643700, "lat": 19.3960701, "lon": -98.1501289}, {"type": "node", "id": 4011643702, "lat": 19.3962418, "lon": -98.1496971}, {"type": "node", "id": 4011643703, "lat": 19.3963951, "lon": -98.149579}, {"type": "node", "id": 4011643704, "lat": 19.3964404, "lon": -98.1493842}, {"type": "node", "id": 4011643705, "lat": 19.3966047, "lon": -98.1491819}, {"type": "node", "id": 4011643706, "lat": 19.3966771, "lon": -98.1490986}, {"type": "node", "id": 4011643707, "lat": 19.3966716, "lon": -98.1492083}, {"type": "node", "id": 4011643708, "lat": 19.396827, "lon": -98.1490291}, {"type": "node", "id": 4011643709, "lat": 19.3967706, "lon": -98.1491396}, {"type": "node", "id": 4011643710, "lat": 19.3970922, "lon": -98.1489754}, {"type": "node", "id": 4011643711, "lat": 19.3973897, "lon": -98.1489416}, {"type": "node", "id": 4011643712, "lat": 19.3979544, "lon": -98.1488629}, {"type": "node", "id": 4011643713, "lat": 19.3984305, "lon": -98.1487962}, {"type": "node", "id": 4011643714, "lat": 19.3988702, "lon": -98.1487339}, {"type": "node", "id": 4011643715, "lat": 19.39932, "lon": -98.1486697}, {"type": "node", "id": 4011643717, "lat": 19.3997628, "lon": -98.1486046}, {"type": "node", "id": 4011643718, "lat": 19.3999277, "lon": -98.1486438}, {"type": "node", "id": 4011643719, "lat": 19.399913, "lon": -98.1485681}, {"type": "node", "id": 4147834921, "lat": 19.3997506, "lon": -98.1486815}, {"type": "node", "id": 7675138005, "lat": 19.3922868, "lon": -98.1531068}, {"type": "node", "id": 7675138006, "lat": 19.3923468, "lon": -98.1530669}, {"type": "node", "id": 7675138007, "lat": 19.3922933, "lon": -98.153002}, {"type": "node", "id": 7675138008, "lat": 19.392219, "lon": -98.1530515}, {"type": "node", "id": 7894730891, "lat": 19.4009948, "lon": -98.154713}, {"type": "node", "id": 7894730894, "lat": 19.3996738, "lon": -98.1549237}, {"type": "node", "id": 7894730896, "lat": 19.4016496, "lon": -98.1535838}, {"type": "node", "id": 7894816033, "lat": 19.4003592, "lon": -98.1495153}, {"type": "node", "id": 7894928970, "lat": 19.3999569, "lon": -98.1485581}, {"type": "node", "id": 7897270552, "lat": 19.3976287, "lon": -98.156533}, {"type": "node", "id": 7897270554, "lat": 19.3975731, "lon": -98.1542908}, {"type": "node", "id": 7897270555, "lat": 19.3975039, "lon": -98.1547674}, {"type": "node", "id": 7897270556, "lat": 19.3974226, "lon": -98.154771}, {"type": "node", "id": 7897270557, "lat": 19.3976061, "lon": -98.1547629}, {"type": "node", "id": 7897270558, "lat": 19.3984873, "lon": -98.1541401}, {"type": "node", "id": 7897270559, "lat": 19.39834, "lon": -98.1551206}, {"type": "node", "id": 7897301497, "lat": 19.394667, "lon": -98.1580589}, {"type": "node", "id": 7897313813, "lat": 19.395422, "lon": -98.1554708}, {"type": "node", "id": 7897313814, "lat": 19.3955429, "lon": -98.155675}, {"type": "node", "id": 7897313815, "lat": 19.395816, "lon": -98.1551882}, {"type": "node", "id": 7897313817, "lat": 19.39509, "lon": -98.1550715}, {"type": "node", "id": 7897327212, "lat": 19.3987911, "lon": -98.1521729}, {"type": "node", "id": 7897327213, "lat": 19.3986679, "lon": -98.153172}, {"type": "node", "id": 7897327214, "lat": 19.3983836, "lon": -98.1522271}, {"type": "node", "id": 7897327215, "lat": 19.3969792, "lon": -98.1519995}, {"type": "node", "id": 7897327216, "lat": 19.3972104, "lon": -98.1509242}, {"type": "node", "id": 7897327217, "lat": 19.39773, "lon": -98.1532982}, {"type": "node", "id": 7897370212, "lat": 19.3926988, "lon": -98.1527451}, {"type": "node", "id": 7897380464, "lat": 19.3957073, "lon": -98.1517606}, {"type": "node", "id": 7897380465, "lat": 19.3934643, "lon": -98.1522284}, {"type": "node", "id": 7897380466, "lat": 19.3940674, "lon": -98.1517981}, {"type": "node", "id": 7897380467, "lat": 19.3952014, "lon": -98.1521461}, {"type": "node", "id": 7897380468, "lat": 19.3962795, "lon": -98.1539793}, {"type": "node", "id": 7897380469, "lat": 19.3956152, "lon": -98.1540285}, {"type": "node", "id": 7897380470, "lat": 19.3953933, "lon": -98.1540501}, {"type": "node", "id": 7897380471, "lat": 19.3951621, "lon": -98.1528033}, {"type": "node", "id": 7897380472, "lat": 19.394615, "lon": -98.1529407}, {"type": "node", "id": 7897380476, "lat": 19.3954935, "lon": -98.1531863}, {"type": "node", "id": 7897392138, "lat": 19.3948319, "lon": -98.1496467}, {"type": "node", "id": 7897392139, "lat": 19.3948028, "lon": -98.1497781}, {"type": "node", "id": 7897392140, "lat": 19.3940628, "lon": -98.1514679, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 7897392141, "lat": 19.3940573, "lon": -98.15137}, {"type": "node", "id": 7897392142, "lat": 19.3941155, "lon": -98.1513826}, {"type": "node", "id": 7897392143, "lat": 19.3947257, "lon": -98.1508671}, {"type": "node", "id": 7897392144, "lat": 19.3953013, "lon": -98.1492765}, {"type": "node", "id": 7897399224, "lat": 19.3969403, "lon": -98.1490881}, {"type": "node", "id": 7897400625, "lat": 19.3958965, "lon": -98.1502813}, {"type": "node", "id": 7897400626, "lat": 19.3958083, "lon": -98.1505273}, {"type": "node", "id": 7897400627, "lat": 19.3965364, "lon": -98.149359}, {"type": "node", "id": 7897459035, "lat": 19.3978306, "lon": -98.1470788}, {"type": "node", "id": 7897459036, "lat": 19.3976585, "lon": -98.1480317}, {"type": "node", "id": 7897459037, "lat": 19.3968154, "lon": -98.1467083}, {"type": "node", "id": 7897459038, "lat": 19.3974306, "lon": -98.1466651}, {"type": "node", "id": 7897502088, "lat": 19.3936396, "lon": -98.149091}, {"type": "node", "id": 7897502089, "lat": 19.3937085, "lon": -98.1490562}, {"type": "node", "id": 7897502090, "lat": 19.394261, "lon": -98.1487766, "tags": {"noexit": "yes"}}, {"type": "node", "id": 7897502091, "lat": 19.396504, "lon": -98.1486687}, {"type": "node", "id": 7897502092, "lat": 19.3967526, "lon": -98.1486475}, {"type": "node", "id": 7897502093, "lat": 19.3962461, "lon": -98.1486796}, {"type": "node", "id": 7897502094, "lat": 19.3971434, "lon": -98.1486258}, {"type": "node", "id": 7897502095, "lat": 19.3961184, "lon": -98.1463404}, {"type": "node", "id": 7897502096, "lat": 19.3960051, "lon": -98.1473277}, {"type": "node", "id": 7897502097, "lat": 19.3954138, "lon": -98.147857}, {"type": "node", "id": 7897502098, "lat": 19.3963845, "lon": -98.1477544}, {"type": "node", "id": 7897502099, "lat": 19.3953722, "lon": -98.1475593}, {"type": "node", "id": 7897502100, "lat": 19.3953283, "lon": -98.1475232}, {"type": "node", "id": 7897502101, "lat": 19.3952834, "lon": -98.1475647}, {"type": "node", "id": 7897502102, "lat": 19.3932375, "lon": -98.1477863}, {"type": "node", "id": 7897502103, "lat": 19.3937469, "lon": -98.1493428}, {"type": "node", "id": 7897502104, "lat": 19.3937798, "lon": -98.1493406}, {"type": "node", "id": 7897502105, "lat": 19.3937926, "lon": -98.1493248}, {"type": "node", "id": 7897502106, "lat": 19.3954168, "lon": -98.1463509}, {"type": "node", "id": 7897502107, "lat": 19.3954863, "lon": -98.146418}, {"type": "node", "id": 7897502108, "lat": 19.3951605, "lon": -98.1467603}, {"type": "node", "id": 7897502109, "lat": 19.3946053, "lon": -98.1469484}, {"type": "node", "id": 7897502110, "lat": 19.3946394, "lon": -98.1470273}, {"type": "node", "id": 7897502111, "lat": 19.394919, "lon": -98.1477564}, {"type": "node", "id": 7897502112, "lat": 19.3949406, "lon": -98.1478183}, {"type": "node", "id": 7897502113, "lat": 19.3950971, "lon": -98.1468012}, {"type": "node", "id": 7897502114, "lat": 19.3941864, "lon": -98.1472453}, {"type": "node", "id": 7897502115, "lat": 19.3937019, "lon": -98.1474693}, {"type": "node", "id": 7897502116, "lat": 19.3932463, "lon": -98.1476847}, {"type": "node", "id": 7897502117, "lat": 19.3931638, "lon": -98.147719}, {"type": "node", "id": 7897502118, "lat": 19.3932525, "lon": -98.1478279}, {"type": "node", "id": 7897502119, "lat": 19.3934877, "lon": -98.14844}, {"type": "node", "id": 7897502120, "lat": 19.3935103, "lon": -98.1485034}, {"type": "node", "id": 7897502121, "lat": 19.3937927, "lon": -98.1492944}, {"type": "node", "id": 7897502122, "lat": 19.3941532, "lon": -98.1471679}, {"type": "node", "id": 7897502123, "lat": 19.3944342, "lon": -98.1479883}, {"type": "node", "id": 7897502124, "lat": 19.3944568, "lon": -98.1480501}, {"type": "node", "id": 7897502125, "lat": 19.393677, "lon": -98.1474028}, {"type": "node", "id": 7897502126, "lat": 19.3939681, "lon": -98.1482076}, {"type": "node", "id": 7897502127, "lat": 19.3939922, "lon": -98.148267}, {"type": "node", "id": 7897502128, "lat": 19.3952469, "lon": -98.1475834}, {"type": "node", "id": 7897502129, "lat": 19.3953418, "lon": -98.1474446}, {"type": "node", "id": 7897502130, "lat": 19.3950633, "lon": -98.1467178}, {"type": "node", "id": 7897502131, "lat": 19.3934263, "lon": -98.1484704}, {"type": "node", "id": 7897502132, "lat": 19.3934481, "lon": -98.1485337}, {"type": "node", "id": 7897502133, "lat": 19.3952975, "lon": -98.1476471}, {"type": "node", "id": 7897502134, "lat": 19.395343, "lon": -98.1476075}, {"type": "node", "id": 7897502135, "lat": 19.3953925, "lon": -98.1474305}, {"type": "node", "id": 7897502136, "lat": 19.3953601, "lon": -98.1473051}, {"type": "node", "id": 7897502137, "lat": 19.3952304, "lon": -98.146949}, {"type": "node", "id": 7897502138, "lat": 19.3952262, "lon": -98.1467106}, {"type": "node", "id": 7897502139, "lat": 19.3955754, "lon": -98.1463064}, {"type": "node", "id": 7897502141, "lat": 19.395582, "lon": -98.1462383}, {"type": "node", "id": 7897502142, "lat": 19.3955171, "lon": -98.1462536}, {"type": "node", "id": 7897502143, "lat": 19.395169, "lon": -98.1466633}, {"type": "node", "id": 7897502144, "lat": 19.3951273, "lon": -98.1466849}, {"type": "node", "id": 7897502145, "lat": 19.3932292, "lon": -98.1476142}, {"type": "node", "id": 7897502146, "lat": 19.3931701, "lon": -98.1478055}, {"type": "node", "id": 7897502147, "lat": 19.3932077, "lon": -98.1479099}, {"type": "node", "id": 7897502148, "lat": 19.3937213, "lon": -98.1493288}, {"type": "node", "id": 7897502149, "lat": 19.3950748, "lon": -98.1482801, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 7897502150, "lat": 19.3944752, "lon": -98.1485778, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 7897548813, "lat": 19.39797, "lon": -98.146087}, {"type": "node", "id": 7905966540, "lat": 19.3935745, "lon": -98.1558895}, {"type": "node", "id": 7905990812, "lat": 19.3923196, "lon": -98.1575377}, {"type": "node", "id": 7905990829, "lat": 19.3939003, "lon": -98.157454}, {"type": "node", "id": 7905990830, "lat": 19.3937504, "lon": -98.1576155}, {"type": "node", "id": 7905990831, "lat": 19.3935366, "lon": -98.1578656}, {"type": "node", "id": 7905990832, "lat": 19.3934114, "lon": -98.1582217}, {"type": "node", "id": 7905990833, "lat": 19.3933304, "lon": -98.1587112}, {"type": "node", "id": 7905990834, "lat": 19.3932861, "lon": -98.1588802}, {"type": "node", "id": 7905990835, "lat": 19.3915929, "lon": -98.1591236}, {"type": "node", "id": 7905990836, "lat": 19.3915334, "lon": -98.1591229}, {"type": "node", "id": 7905990837, "lat": 19.3914449, "lon": -98.1591759}, {"type": "node", "id": 7905990838, "lat": 19.3914107, "lon": -98.1592322}, {"type": "node", "id": 7905990839, "lat": 19.3913159, "lon": -98.1594864}, {"type": "node", "id": 7905990840, "lat": 19.3912558, "lon": -98.1596037}, {"type": "node", "id": 7906031494, "lat": 19.3841357, "lon": -98.1597359}, {"type": "node", "id": 7906031498, "lat": 19.3849297, "lon": -98.1589819}, {"type": "node", "id": 7906031499, "lat": 19.3852715, "lon": -98.1586667}, {"type": "node", "id": 7906031500, "lat": 19.3854815, "lon": -98.1584619}, {"type": "node", "id": 7906031501, "lat": 19.386185, "lon": -98.1577811}, {"type": "node", "id": 7906031502, "lat": 19.3871292, "lon": -98.1571032}, {"type": "node", "id": 7906039676, "lat": 19.3925148, "lon": -98.153407}, {"type": "node", "id": 7906039677, "lat": 19.3927257, "lon": -98.1538859}, {"type": "node", "id": 7906039678, "lat": 19.392185, "lon": -98.1550357}, {"type": "node", "id": 7906039679, "lat": 19.3920544, "lon": -98.1550565}, {"type": "node", "id": 7906039680, "lat": 19.392013, "lon": -98.1550407}, {"type": "node", "id": 7906039681, "lat": 19.3919808, "lon": -98.1550045}, {"type": "node", "id": 7906039682, "lat": 19.3919673, "lon": -98.1549481}, {"type": "node", "id": 7906039683, "lat": 19.3919579, "lon": -98.1548756}, {"type": "node", "id": 7906039684, "lat": 19.3919401, "lon": -98.1547911}, {"type": "node", "id": 7906043265, "lat": 19.3909962, "lon": -98.1552674}, {"type": "node", "id": 7906043266, "lat": 19.3910303, "lon": -98.1552741}, {"type": "node", "id": 7906043267, "lat": 19.3910983, "lon": -98.1552493}, {"type": "node", "id": 7906043268, "lat": 19.3911877, "lon": -98.1552155}, {"type": "node", "id": 7906043269, "lat": 19.3913212, "lon": -98.1551652}, {"type": "node", "id": 7906043270, "lat": 19.3925124, "lon": -98.1545653}, {"type": "node", "id": 7906043271, "lat": 19.3924749, "lon": -98.1545198}, {"type": "node", "id": 7906043272, "lat": 19.3924337, "lon": -98.1544932}, {"type": "node", "id": 7906043273, "lat": 19.3923639, "lon": -98.1544989}, {"type": "node", "id": 7906043274, "lat": 19.3922995, "lon": -98.1545312}, {"type": "node", "id": 7906043275, "lat": 19.3922799, "lon": -98.1545463}, {"type": "node", "id": 7906043276, "lat": 19.3922333, "lon": -98.1545957}, {"type": "node", "id": 7906043277, "lat": 19.3921636, "lon": -98.1546032}, {"type": "node", "id": 7906043278, "lat": 19.3911119, "lon": -98.1546197}, {"type": "node", "id": 7906043279, "lat": 19.3913333, "lon": -98.1546581}, {"type": "node", "id": 7906043280, "lat": 19.3913739, "lon": -98.1546645}, {"type": "node", "id": 7906043281, "lat": 19.391398, "lon": -98.1546789}, {"type": "node", "id": 7906043282, "lat": 19.3914416, "lon": -98.1546964}, {"type": "node", "id": 7906043283, "lat": 19.3914823, "lon": -98.1546916}, {"type": "node", "id": 7906043284, "lat": 19.3915289, "lon": -98.1546709}, {"type": "node", "id": 7906053785, "lat": 19.3916131, "lon": -98.1546231}, {"type": "node", "id": 7906053786, "lat": 19.3916718, "lon": -98.1546326}, {"type": "node", "id": 7906053787, "lat": 19.3917305, "lon": -98.1546661}, {"type": "node", "id": 7906053788, "lat": 19.3918072, "lon": -98.154714}, {"type": "node", "id": 7906053789, "lat": 19.3919043, "lon": -98.1547345}, {"type": "node", "id": 7906053790, "lat": 19.3919477, "lon": -98.1547254}, {"type": "node", "id": 7906053791, "lat": 19.3919802, "lon": -98.1546996}, {"type": "node", "id": 7906053792, "lat": 19.3920375, "lon": -98.1546634}, {"type": "node", "id": 7906053793, "lat": 19.3921009, "lon": -98.1546006}, {"type": "node", "id": 7906053794, "lat": 19.3920388, "lon": -98.1544465}, {"type": "node", "id": 7906053795, "lat": 19.3920085, "lon": -98.1543137}, {"type": "node", "id": 7906053796, "lat": 19.3919882, "lon": -98.1540763}, {"type": "node", "id": 7906053797, "lat": 19.3920312, "lon": -98.1535023}, {"type": "node", "id": 7906053798, "lat": 19.3941792, "lon": -98.154649}, {"type": "node", "id": 7906053799, "lat": 19.3940515, "lon": -98.1546409}, {"type": "node", "id": 7906053800, "lat": 19.3941103, "lon": -98.1546302}, {"type": "node", "id": 7906053801, "lat": 19.3939901, "lon": -98.1546979}, {"type": "node", "id": 7906053802, "lat": 19.3910096, "lon": -98.1544186}, {"type": "node", "id": 7906053803, "lat": 19.3905461, "lon": -98.154661}, {"type": "node", "id": 7906053804, "lat": 19.3903437, "lon": -98.1548005}, {"type": "node", "id": 7906053817, "lat": 19.3882369, "lon": -98.1535923}, {"type": "node", "id": 7906053818, "lat": 19.3885776, "lon": -98.1533816}, {"type": "node", "id": 7906053819, "lat": 19.3896076, "lon": -98.1527686}, {"type": "node", "id": 7906053820, "lat": 19.3898313, "lon": -98.1531153}, {"type": "node", "id": 7906053821, "lat": 19.3917149, "lon": -98.1535462}, {"type": "node", "id": 7906053823, "lat": 19.3914156, "lon": -98.1553451}, {"type": "node", "id": 7906053824, "lat": 19.3903452, "lon": -98.1522682}, {"type": "node", "id": 7906053825, "lat": 19.3903918, "lon": -98.1522776}, {"type": "node", "id": 7906053826, "lat": 19.3890213, "lon": -98.153997}, {"type": "node", "id": 7906053827, "lat": 19.3890471, "lon": -98.1540684}, {"type": "node", "id": 7906053828, "lat": 19.38804, "lon": -98.1551883}, {"type": "node", "id": 7906053829, "lat": 19.3875962, "lon": -98.1563812}, {"type": "node", "id": 7906053830, "lat": 19.3876365, "lon": -98.1565132}, {"type": "node", "id": 7906053831, "lat": 19.3875509, "lon": -98.1567098}, {"type": "node", "id": 7906053832, "lat": 19.3878947, "lon": -98.1554815}, {"type": "node", "id": 7906053833, "lat": 19.3888311, "lon": -98.1541798}, {"type": "node", "id": 7906053834, "lat": 19.3894309, "lon": -98.1539134}, {"type": "node", "id": 7906053836, "lat": 19.3898174, "lon": -98.153847}, {"type": "node", "id": 7906105185, "lat": 19.3921411, "lon": -98.1480118}, {"type": "node", "id": 7906105186, "lat": 19.3922505, "lon": -98.1483214}, {"type": "node", "id": 7906105187, "lat": 19.3924457, "lon": -98.1489014}, {"type": "node", "id": 7906105188, "lat": 19.3927166, "lon": -98.1496139, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 7906105189, "lat": 19.3930485, "lon": -98.1489621, "tags": {"highway": "turning_circle"}}, {"type": "node", "id": 7906105190, "lat": 19.3933726, "lon": -98.1511409}, {"type": "node", "id": 7906105192, "lat": 19.3926375, "lon": -98.1517071}, {"type": "node", "id": 7906105193, "lat": 19.3893752, "lon": -98.1501877}, {"type": "node", "id": 7906105194, "lat": 19.3889543, "lon": -98.1504019}, {"type": "node", "id": 7906105195, "lat": 19.3889374, "lon": -98.1504986}, {"type": "node", "id": 7906105196, "lat": 19.3888469, "lon": -98.1493183}, {"type": "node", "id": 7906105197, "lat": 19.391073, "lon": -98.146695}, {"type": "node", "id": 7906105198, "lat": 19.3917824, "lon": -98.1475546}, {"type": "node", "id": 7906105199, "lat": 19.3928079, "lon": -98.1475546}, {"type": "node", "id": 7906105200, "lat": 19.3934799, "lon": -98.1471257}, {"type": "node", "id": 7906105201, "lat": 19.3931628, "lon": -98.1506205}, {"type": "node", "id": 7906105202, "lat": 19.3932239, "lon": -98.1506696}, {"type": "node", "id": 7906105203, "lat": 19.3933026, "lon": -98.1505405}, {"type": "node", "id": 7906105204, "lat": 19.3932507, "lon": -98.1504802}, {"type": "node", "id": 7906105205, "lat": 19.3930548, "lon": -98.1507896}, {"type": "node", "id": 7906105207, "lat": 19.393168, "lon": -98.1508267}, {"type": "node", "id": 7906105208, "lat": 19.3932905, "lon": -98.1504433}, {"type": "node", "id": 7906105209, "lat": 19.3929884, "lon": -98.1490572}, {"type": "node", "id": 7906105210, "lat": 19.3930525, "lon": -98.1490773}, {"type": "node", "id": 7906105211, "lat": 19.3927099, "lon": -98.149507}, {"type": "node", "id": 7906105212, "lat": 19.3927802, "lon": -98.149521}, {"type": "node", "id": 7906105213, "lat": 19.3919095, "lon": -98.148854}, {"type": "node", "id": 7906105214, "lat": 19.3919814, "lon": -98.1488708}, {"type": "node", "id": 7906129652, "lat": 19.3877694, "lon": -98.1503332}, {"type": "node", "id": 7906129664, "lat": 19.3870203, "lon": -98.1482592}, {"type": "node", "id": 7906129665, "lat": 19.3873367, "lon": -98.1485145}, {"type": "node", "id": 7906129666, "lat": 19.3877541, "lon": -98.1486854}, {"type": "node", "id": 7906129667, "lat": 19.3880506, "lon": -98.1488499}, {"type": "node", "id": 7906129668, "lat": 19.3883097, "lon": -98.1489775}, {"type": "node", "id": 7906129669, "lat": 19.3879256, "lon": -98.1500552}, {"type": "node", "id": 7906134001, "lat": 19.3889811, "lon": -98.1496953}, {"type": "node", "id": 7906134002, "lat": 19.3891128, "lon": -98.1498047}, {"type": "node", "id": 7906139734, "lat": 19.3930888, "lon": -98.1457118}, {"type": "node", "id": 7906139735, "lat": 19.3932783, "lon": -98.146011}, {"type": "node", "id": 7906139736, "lat": 19.3931766, "lon": -98.146096}, {"type": "node", "id": 7906139737, "lat": 19.3930849, "lon": -98.1457588}, {"type": "node", "id": 7906139738, "lat": 19.3931052, "lon": -98.1456771}, {"type": "node", "id": 7906139739, "lat": 19.3931646, "lon": -98.1456301}, {"type": "node", "id": 7906139740, "lat": 19.3934111, "lon": -98.1454603}, {"type": "node", "id": 7906139741, "lat": 19.3930622, "lon": -98.1461893}, {"type": "node", "id": 7906139742, "lat": 19.3939793, "lon": -98.1455308}, {"type": "node", "id": 7906139743, "lat": 19.3935922, "lon": -98.1458098}, {"type": "node", "id": 7906139744, "lat": 19.3929107, "lon": -98.144803}, {"type": "node", "id": 7906139748, "lat": 19.393114, "lon": -98.1448871}, {"type": "node", "id": 7906139752, "lat": 19.3931444, "lon": -98.1446109}, {"type": "node", "id": 8373397746, "lat": 19.3954675, "lon": -98.1462908, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8373397747, "lat": 19.3955505, "lon": -98.1463544, "tags": {"access": "private", "barrier": "gate"}}, {"type": "node", "id": 8373467660, "lat": 19.3879031, "lon": -98.150783}, {"type": "node", "id": 8373467661, "lat": 19.3877754, "lon": -98.1504131}, {"type": "node", "id": 8373467662, "lat": 19.3878705, "lon": -98.1501194}, {"type": "node", "id": 8375818776, "lat": 19.3924449, "lon": -98.1573527}, {"type": "node", "id": 8375912613, "lat": 19.3957481, "lon": -98.1525911}, {"type": "node", "id": 8375935532, "lat": 19.3956099, "lon": -98.1524656}, {"type": "node", "id": 8385492990, "lat": 19.3969943, "lon": -98.152112}, {"type": "node", "id": 8385700645, "lat": 19.3967483, "lon": -98.1490577}, {"type": "node", "id": 8387800935, "lat": 19.3984194, "lon": -98.1488751}, {"type": "node", "id": 8394734498, "lat": 19.3887855, "lon": -98.1473871}, {"type": "node", "id": 8394811890, "lat": 19.3932235, "lon": -98.1477228}, {"type": "node", "id": 8394811891, "lat": 19.3932001, "lon": -98.1476404}, {"type": "node", "id": 8395023155, "lat": 19.3987807, "lon": -98.1493474}, {"type": "node", "id": 8409960501, "lat": 19.3868458, "lon": -98.1479689}, {"type": "node", "id": 8416683067, "lat": 19.3894074, "lon": -98.1513872}, {"type": "node", "id": 8416683068, "lat": 19.3895321, "lon": -98.151607}, {"type": "node", "id": 8488612612, "lat": 19.386861, "lon": -98.1480762}, {"type": "node", "id": 8488612613, "lat": 19.3869192, "lon": -98.1481782}, {"type": "node", "id": 8488612614, "lat": 19.3951692, "lon": -98.1511795}, {"type": "node", "id": 8488612615, "lat": 19.3937251, "lon": -98.1522484}, {"type": "node", "id": 8488612616, "lat": 19.3955984, "lon": -98.1526409}, {"type": "node", "id": 8495576868, "lat": 19.395868, "lon": -98.1508724}, {"type": "node", "id": 8495576869, "lat": 19.3960388, "lon": -98.1498331}, {"type": "node", "id": 8495576870, "lat": 19.3960511, "lon": -98.1500266}, {"type": "node", "id": 8495695271, "lat": 19.4013913, "lon": -98.1465772}, {"type": "node", "id": 8495695272, "lat": 19.4012251, "lon": -98.146597}, {"type": "node", "id": 8495710263, "lat": 19.3930282, "lon": -98.1508112}, {"type": "node", "id": 8495710264, "lat": 19.3929892, "lon": -98.1508813}, {"type": "node", "id": 8495710265, "lat": 19.3950578, "lon": -98.1460874}, {"type": "node", "id": 8495710266, "lat": 19.395071, "lon": -98.1460418}, {"type": "node", "id": 8495710267, "lat": 19.394814, "lon": -98.1453756}, {"type": "node", "id": 8495710268, "lat": 19.3947932, "lon": -98.1453585}, {"type": "node", "id": 8495710269, "lat": 19.3946972, "lon": -98.1454423}, {"type": "node", "id": 8495710270, "lat": 19.394961, "lon": -98.1461424}, {"type": "node", "id": 8495710271, "lat": 19.394992, "lon": -98.1461987}, {"type": "node", "id": 8495710272, "lat": 19.3950635, "lon": -98.1462121}, {"type": "node", "id": 8495710273, "lat": 19.3953835, "lon": -98.1460432}, {"type": "node", "id": 8495710274, "lat": 19.3954461, "lon": -98.146092, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495710275, "lat": 19.3954849, "lon": -98.1461187}, {"type": "node", "id": 8495710276, "lat": 19.3910356, "lon": -98.1480923}, {"type": "node", "id": 8495710277, "lat": 19.3911457, "lon": -98.1479341}, {"type": "node", "id": 8495710278, "lat": 19.3911596, "lon": -98.1477906}, {"type": "node", "id": 8495787094, "lat": 19.3911596, "lon": -98.1473534}, {"type": "node", "id": 8495787095, "lat": 19.3918503, "lon": -98.148146}, {"type": "node", "id": 8495787096, "lat": 19.3919038, "lon": -98.1482018}, {"type": "node", "id": 8495787097, "lat": 19.3909269, "lon": -98.1538899}, {"type": "node", "id": 8495787098, "lat": 19.3920211, "lon": -98.1538148}, {"type": "node", "id": 8495787099, "lat": 19.3937573, "lon": -98.1534339}, {"type": "node", "id": 8495787100, "lat": 19.3935745, "lon": -98.1534983}, {"type": "node", "id": 8495787101, "lat": 19.3936485, "lon": -98.1534702}, {"type": "node", "id": 8495787102, "lat": 19.393584, "lon": -98.1532569, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495787103, "lat": 19.3935543, "lon": -98.1531806}, {"type": "node", "id": 8495787104, "lat": 19.3940123, "lon": -98.1539142}, {"type": "node", "id": 8495787105, "lat": 19.3938944, "lon": -98.1536606}, {"type": "node", "id": 8495787106, "lat": 19.3940287, "lon": -98.1535909}, {"type": "node", "id": 8495787107, "lat": 19.394056, "lon": -98.1535914}, {"type": "node", "id": 8495787108, "lat": 19.3941394, "lon": -98.1537862}, {"type": "node", "id": 8495787109, "lat": 19.3941193, "lon": -98.1538416}, {"type": "node", "id": 8495787110, "lat": 19.3937694, "lon": -98.1540643}, {"type": "node", "id": 8495787111, "lat": 19.3936897, "lon": -98.1540495}, {"type": "node", "id": 8495787112, "lat": 19.3936176, "lon": -98.1539945}, {"type": "node", "id": 8495787113, "lat": 19.3935505, "lon": -98.1538577}, {"type": "node", "id": 8495787114, "lat": 19.393424, "lon": -98.1533119, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495787115, "lat": 19.3934109, "lon": -98.1532118}, {"type": "node", "id": 8495887574, "lat": 19.3955355, "lon": -98.1463693, "tags": {"barrier": "lift_gate"}}, {"type": "node", "id": 8495887575, "lat": 19.3954569, "lon": -98.1463006, "tags": {"barrier": "lift_gate"}}, {"type": "node", "id": 8495887579, "lat": 19.3930093, "lon": -98.152156}, {"type": "node", "id": 8495887580, "lat": 19.3929509, "lon": -98.1522156}, {"type": "node", "id": 8495887581, "lat": 19.3929414, "lon": -98.1523007}, {"type": "node", "id": 8495887582, "lat": 19.3929933, "lon": -98.1524241}, {"type": "node", "id": 8495887583, "lat": 19.3930502, "lon": -98.1525059}, {"type": "node", "id": 8495887584, "lat": 19.3932507, "lon": -98.1526923}, {"type": "node", "id": 8495887585, "lat": 19.3936213, "lon": -98.1530772, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495887586, "lat": 19.3937174, "lon": -98.1531451}, {"type": "node", "id": 8495973255, "lat": 19.3912874, "lon": -98.150564}, {"type": "node", "id": 8495973256, "lat": 19.3913684, "lon": -98.1507209}, {"type": "node", "id": 8495973257, "lat": 19.3913949, "lon": -98.1507517}, {"type": "node", "id": 8495973258, "lat": 19.3915524, "lon": -98.150857}, {"type": "node", "id": 8495973259, "lat": 19.3916258, "lon": -98.150861}, {"type": "node", "id": 8495973260, "lat": 19.3917694, "lon": -98.1507236, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495973261, "lat": 19.3956137, "lon": -98.1500436}, {"type": "node", "id": 8495973262, "lat": 19.3959831, "lon": -98.1499806, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495973263, "lat": 19.3960426, "lon": -98.1499671}, {"type": "node", "id": 8495973283, "lat": 19.3882336, "lon": -98.1491786}, {"type": "node", "id": 8495973284, "lat": 19.3883639, "lon": -98.1493583}, {"type": "node", "id": 8495973285, "lat": 19.3884512, "lon": -98.1493905}, {"type": "node", "id": 8495973286, "lat": 19.3885903, "lon": -98.1494173, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8495973287, "lat": 19.3887005, "lon": -98.1493828}, {"type": "node", "id": 8495973288, "lat": 19.3892899, "lon": -98.1500632}, {"type": "node", "id": 8495973289, "lat": 19.3888117, "lon": -98.1503373}, {"type": "node", "id": 8495973290, "lat": 19.3885574, "lon": -98.1506002}, {"type": "node", "id": 8495973291, "lat": 19.3888357, "lon": -98.1504419}, {"type": "node", "id": 8496021978, "lat": 19.3902083, "lon": -98.151716}, {"type": "node", "id": 8496021979, "lat": 19.3903184, "lon": -98.152062}, {"type": "node", "id": 8496021980, "lat": 19.389911, "lon": -98.153442}, {"type": "node", "id": 8496021981, "lat": 19.390073, "lon": -98.1534393}, {"type": "node", "id": 8496021982, "lat": 19.3905043, "lon": -98.1535104}, {"type": "node", "id": 8496021983, "lat": 19.3906788, "lon": -98.1535239}, {"type": "node", "id": 8496021984, "lat": 19.3952696, "lon": -98.1533709}, {"type": "node", "id": 8496021985, "lat": 19.3953443, "lon": -98.1532388}, {"type": "node", "id": 8496021986, "lat": 19.3952817, "lon": -98.1528512, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8496021987, "lat": 19.3952603, "lon": -98.1527661}, {"type": "node", "id": 8496398994, "lat": 19.3896985, "lon": -98.1496815}, {"type": "node", "id": 8496398995, "lat": 19.3898718, "lon": -98.1495354}, {"type": "node", "id": 8496398996, "lat": 19.3899009, "lon": -98.1495434}, {"type": "node", "id": 8496398997, "lat": 19.3900179, "lon": -98.1497104}, {"type": "node", "id": 8496493267, "lat": 19.3953184, "lon": -98.1454014}, {"type": "node", "id": 8496493268, "lat": 19.395498, "lon": -98.1458359}, {"type": "node", "id": 8496493269, "lat": 19.3955922, "lon": -98.1460647}, {"type": "node", "id": 8496493270, "lat": 19.3955315, "lon": -98.1460116, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8496493271, "lat": 19.3954995, "lon": -98.1459445}, {"type": "node", "id": 8520343657, "lat": 19.3956772, "lon": -98.1461408}, {"type": "node", "id": 8520343658, "lat": 19.3970179, "lon": -98.1520244}, {"type": "node", "id": 8520343659, "lat": 19.3970504, "lon": -98.1520904}, {"type": "node", "id": 8520343660, "lat": 19.3970887, "lon": -98.1519467}, {"type": "node", "id": 8520343661, "lat": 19.399711, "lon": -98.1539395}, {"type": "node", "id": 8527065051, "lat": 19.3893563, "lon": -98.1604468}, {"type": "node", "id": 8527065060, "lat": 19.3911274, "lon": -98.1597304}, {"type": "node", "id": 8536496531, "lat": 19.392381, "lon": -98.157447}, {"type": "node", "id": 8536496541, "lat": 19.3942383, "lon": -98.1557715}, {"type": "node", "id": 8731806614, "lat": 19.3983335, "lon": -98.1521629}, {"type": "node", "id": 8739883475, "lat": 19.393813, "lon": -98.1540481}, {"type": "node", "id": 8739883476, "lat": 19.3941363, "lon": -98.153816}, {"type": "node", "id": 8739883477, "lat": 19.3940751, "lon": -98.1536042}, {"type": "node", "id": 8739883478, "lat": 19.3938934, "lon": -98.1536798}, {"type": "node", "id": 8739883479, "lat": 19.3939044, "lon": -98.1536457}, {"type": "node", "id": 8816959277, "lat": 19.394963, "lon": -98.15353}, {"type": "node", "id": 8816959278, "lat": 19.3949034, "lon": -98.1535768, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8816959279, "lat": 19.3948446, "lon": -98.1536096}, {"type": "node", "id": 8816959280, "lat": 19.3945385, "lon": -98.1537303}, {"type": "node", "id": 8817485190, "lat": 19.3920538, "lon": -98.1455855}, {"type": "node", "id": 8817485191, "lat": 19.3923804, "lon": -98.1462416}, {"type": "node", "id": 8817485192, "lat": 19.3937074, "lon": -98.1531067}, {"type": "node", "id": 8817485193, "lat": 19.3936893, "lon": -98.153102}, {"type": "node", "id": 8817485194, "lat": 19.3937375, "lon": -98.1531126}, {"type": "node", "id": 8817485195, "lat": 19.3934215, "lon": -98.1468438}, {"type": "node", "id": 8817485196, "lat": 19.3934253, "lon": -98.1469075}, {"type": "node", "id": 8817485197, "lat": 19.3934215, "lon": -98.1469343}, {"type": "node", "id": 8817485198, "lat": 19.3934101, "lon": -98.1469564}, {"type": "node", "id": 8817485199, "lat": 19.3932849, "lon": -98.1470376}, {"type": "node", "id": 8817485200, "lat": 19.3932678, "lon": -98.147053}, {"type": "node", "id": 8817485201, "lat": 19.3932602, "lon": -98.1470691}, {"type": "node", "id": 8817485202, "lat": 19.3932596, "lon": -98.1472663}, {"type": "node", "id": 8820424799, "lat": 19.395028, "lon": -98.1462155}, {"type": "node", "id": 8820424800, "lat": 19.3950695, "lon": -98.1460656}, {"type": "node", "id": 8820424801, "lat": 19.3947704, "lon": -98.145355}, {"type": "node", "id": 8820424802, "lat": 19.394713, "lon": -98.145386}, {"type": "node", "id": 8820424803, "lat": 19.394701, "lon": -98.1454088}, {"type": "node", "id": 8820444013, "lat": 19.395362, "lon": -98.1492792}, {"type": "node", "id": 8820444014, "lat": 19.3915916, "lon": -98.1508698}, {"type": "node", "id": 8820513317, "lat": 19.395325, "lon": -98.1533042}, {"type": "node", "id": 8820513318, "lat": 19.3953418, "lon": -98.153275}, {"type": "node", "id": 8823319000, "lat": 19.3978965, "lon": -98.1551828}, {"type": "node", "id": 8826701942, "lat": 19.3933811, "lon": -98.158405}, {"type": "node", "id": 8826701946, "lat": 19.3933537, "lon": -98.1585703}, {"type": "node", "id": 8827322724, "lat": 19.3874592, "lon": -98.1568539}, {"type": "node", "id": 8834851449, "lat": 19.3975163, "lon": -98.14758}, {"type": "node", "id": 8834851450, "lat": 19.3972943, "lon": -98.1475955}, {"type": "node", "id": 8834851461, "lat": 19.3998475, "lon": -98.1510151}, {"type": "node", "id": 8834851462, "lat": 19.3971735, "lon": -98.1511608}, {"type": "node", "id": 8834851463, "lat": 19.3983361, "lon": -98.1521959}, {"type": "node", "id": 8834851464, "lat": 19.3983555, "lon": -98.1522192}, {"type": "way", "id": 32042022, "nodes": [359632768, 361678955, 361678938, 361679039, 361679001, 361679072, 7897459036, 361679168, 1535948654, 361679121, 359632790], "tags": {"highway": "residential", "name": "Calle Honorable Ayuntamiento", "surface": "unpaved"}}, {"type": "way", "id": 32042025, "nodes": [359632837, 7894730896, 1535948696, 359633454, 359633414, 8520343661, 361681840, 7897270558, 361680107, 7897270554, 361680187, 361681862, 359632894], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle \u00c1ngel Villaverde Rivera"}}, {"type": "way", "id": 32042037, "nodes": [361680313, 361680401, 361680294, 361680438, 4011643712, 361679072, 361680657, 361680606, 361680537, 361680694], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 26 de Julio"}}, {"type": "way", "id": 32042038, "nodes": [361679198, 1535948679, 361679427, 361679458, 1535948675, 361679507, 361679039, 4011643714], "tags": {"alt_name": "El Roble", "highway": "residential", "name": "Calle 30 de Julio"}}, {"type": "way", "id": 32042048, "nodes": [8495695271, 8495695272, 359634263, 361681930, 359633919, 361679507, 359633998, 361680657, 7897459035, 361681953, 1535948656, 361681606, 7897502096, 359633619], "tags": {"alt_name": "Calle Hidalgo", "highway": "residential", "name": "Calle Miguel Hidalgo", "surface": "unpaved"}}, {"type": "way", "id": 32042049, "nodes": [4011643700, 361681989, 361680294, 359633880, 361679664, 359633911, 361682018, 7894816033], "tags": {"highway": "residential", "name": "Calle Revoluci\u00f3n", "surface": "unpaved"}}, {"type": "way", "id": 32042055, "nodes": [359633753, 359633780], "tags": {"highway": "residential", "maxspeed": "40", "name": "Andador Los Pinos", "surface": "unpaved"}}, {"type": "way", "id": 32042056, "nodes": [359633856, 361681319, 359633880], "tags": {"highway": "residential", "name": "Privada Constituci\u00f3n", "surface": "unpaved"}}, {"type": "way", "id": 32042057, "nodes": [359633911, 361681820], "tags": {"highway": "residential", "surface": "unpaved"}}, {"type": "way", "id": 32042061, "nodes": [4011643713, 361679001, 359633998], "tags": {"highway": "residential", "surface": "unpaved"}}, {"type": "way", "id": 32679205, "nodes": [361680107, 361679888, 7897270552, 359633316], "tags": {"highway": "residential", "name": "Calle Libertad"}}, {"type": "way", "id": 32679729, "nodes": [361681431, 361681538, 1535948652, 361681160, 361681606, 7897502098, 361679121, 7897502093, 361681717, 8495576869, 8495973263, 8495576870], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 24 de Mayo", "surface": "unpaved"}}, {"type": "way", "id": 36354868, "nodes": [424020067, 8527065051, 424020100, 8527065060, 424009115, 7905990840, 7905990839, 7905990838, 7905990837, 424009117, 7905990836, 7905990835, 1529185542, 424008961, 424009119, 424009121, 7905990834, 7905990833, 8826701946, 8826701942, 7905990832, 424009122, 7905990831, 7905990830, 7905990829, 428546938, 424009123, 424009690, 424009594, 424009125], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Monte Alb\u00e1n", "surface": "unpaved"}}, {"type": "way", "id": 36354912, "nodes": [424009522, 424009594], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Miguel M\u00e1rquez"}}, {"type": "way", "id": 36354914, "nodes": [424009690, 424009964, 424009915, 428546794, 424009756, 7906053798, 7906053800], "tags": {"alt_name": "Calle Malintzi", "highway": "residential", "maxspeed": "40", "name": "Malinche"}}, {"type": "way", "id": 36354918, "nodes": [8536496541, 428546794, 7897313817, 359632894], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Los Capulines", "surface": "unpaved"}}, {"type": "way", "id": 36354919, "nodes": [359632914, 7897313815, 7897313813, 424009915], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Josefa Ortiz de Dom\u00ednguez", "surface": "unpaved"}}, {"type": "way", "id": 36354937, "nodes": [424009964, 424009988], "tags": {"highway": "residential", "maxspeed": "40"}}, {"type": "way", "id": 36356295, "nodes": [424021571, 8495787096, 424021497, 7906105185, 7906105199, 8817485202, 7906105200, 424021500, 8495710275, 8496493269, 424021503], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Doctor Juan Antonio Dur\u00e1n Apango", "surface": "unpaved"}}, {"type": "way", "id": 36356355, "nodes": [4011643685, 359632372, 8495887579, 7906105192, 424021927, 424022109, 424022033, 424022016, 424021571, 823357441, 428546945], "tags": {"highway": "tertiary", "lanes": "2", "maxspeed": "40", "name": "Calle Jorge El Ranchero Aguilar"}}, {"type": "way", "id": 36356400, "nodes": [424021825, 7897392141, 424021849, 428546801, 428546799, 428546805, 424021833, 7906105210, 424021830], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Jos\u00e9 Clemente Orozco"}}, {"type": "way", "id": 36356408, "nodes": [424021831, 7906105211, 424021835], "tags": {"highway": "residential", "name": "Calle Jos\u00e9 Clemente Orozco"}}, {"type": "way", "id": 36356409, "nodes": [424021836, 428546805, 424022727, 424021837], "tags": {"highway": "residential", "name": "Calle Rufino Tamayo"}}, {"type": "way", "id": 36356416, "nodes": [424021849, 424021854, 424021850], "tags": {"highway": "residential", "name": "Calle Frida Kahlo"}}, {"type": "way", "id": 36356417, "nodes": [424021848, 424021854], "tags": {"highway": "residential", "name": "Calle David Alfaro Siqueiros"}}, {"type": "way", "id": 36356444, "nodes": [424021927, 8495710264], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle El Pana"}}, {"type": "way", "id": 36356462, "nodes": [424022033, 424022070], "tags": {"highway": "residential", "name": "Calle Ra\u00fal Ponce de Le\u00f3n"}}, {"type": "way", "id": 36356463, "nodes": [424022109, 424022130], "tags": {"highway": "residential", "name": "Calle Gabino Aguilar"}}, {"type": "way", "id": 36356466, "nodes": [8495710263, 7906105205, 1535948617, 424022371, 424022373, 7906105201, 424022376, 7906105204, 7906105208, 428546799, 424022379], "tags": {"highway": "residential", "name": "Calle Diego Rivera", "oneway": "yes"}}, {"type": "way", "id": 36356471, "nodes": [424021844, 424021837, 424022387, 424022405, 7897392138, 7897392139, 424021846, 424021850, 428546798, 7897392143, 1535948630, 424021847, 424021848, 7897392142, 424021825], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle David Alfaro Siqueiros"}}, {"type": "way", "id": 36356478, "nodes": [424022386, 424022431, 424022434, 424023009, 424022438, 424022642, 424022645, 424022648, 424022379, 428546796, 424022382, 424022988, 424022384, 424023011, 424022386], "tags": {"highway": "residential", "junction": "roundabout", "oneway": "yes"}}, {"type": "way", "id": 68428006, "nodes": [8488612614, 4011643691, 361681783, 428546944, 7897327216, 361680401, 361681319, 361679816, 361682529, 359632375], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Constituci\u00f3n", "surface": "unpaved"}}, {"type": "way", "id": 68428011, "nodes": [823357441, 8495710276, 8495710277, 8495710278, 823357443], "tags": {"highway": "residential", "name": "Privada San Ignacio"}}, {"type": "way", "id": 68428016, "nodes": [424022014, 7906105213, 424022016], "tags": {"highway": "residential", "name": "Calle Eloy Cavazos"}}, {"type": "way", "id": 68428017, "nodes": [424022011, 8495710263, 424022130, 424022070, 7906105214, 424022014], "tags": {"highway": "residential", "name": "Calle Manolo Garc\u00eda M\u00e9ndez"}}, {"type": "way", "id": 68428021, "nodes": [424021830, 7906105209, 424021831, 424021832], "tags": {"highway": "residential", "name": "Calle Jos\u00e9 Clemente Orozco"}}, {"type": "way", "id": 139497074, "nodes": [361682903, 359633658, 359632739, 359632790, 7897502097, 359633619, 359634081, 8520343657, 424021503], "tags": {"alt_name": "Camino Real", "highway": "residential", "maxspeed": "40", "name": "L\u00e1zaro C\u00e1rdenas", "surface": "unpaved"}}, {"type": "way", "id": 139497094, "nodes": [424009126, 7897301497, 424009135, 424009200, 428546938, 424009988, 424009772, 7905966540, 424009127], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Ni\u00f1os H\u00e9roes"}}, {"type": "way", "id": 140186916, "nodes": [1535948654, 1535948656], "tags": {"highway": "residential"}}, {"type": "way", "id": 140186920, "nodes": [1535948671, 1535948652], "tags": {"highway": "residential", "name": "Privada 24 de Mayo", "surface": "unpaved"}}, {"type": "way", "id": 398403180, "nodes": [4011643698, 8495576868, 361681783, 7897380464, 361681776, 8375935532, 8488612616], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 24 de Mayo", "surface": "unpaved"}}, {"type": "way", "id": 398403181, "nodes": [4011643710, 7897502094, 361679168, 8834851450, 361681953, 7897459038, 361681231, 1535948671, 361683155, 361683043], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 5 de Junio", "surface": "unpaved"}}, {"type": "way", "id": 398403182, "nodes": [4011643706, 361681717, 8820444013, 7897392144, 359632739], "tags": {"alt_name": "Calle Cuauht\u00e9moc", "highway": "residential", "name": "Avenida Cuauht\u00e9moc"}}, {"type": "way", "id": 398403184, "nodes": [359633658, 4011643699], "tags": {"highway": "footway", "name": "Calle Revoluci\u00f3n"}}, {"type": "way", "id": 822006330, "nodes": [7675138005, 4011643681, 3250106454, 4011643679, 4011643678, 4011643677, 3250106453, 3250106452, 4011643672, 3250106451, 7906053834, 4011643669, 7906053827, 4011643663, 7906053833, 3250106450, 4011643661, 7906053828, 4011643658, 7906053832, 3250106449, 4011643651, 7906053830, 7906053831, 8827322724, 3250106448, 4011643647], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 822006331, "nodes": [7675138006, 7675138005], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 822006332, "nodes": [7675138007, 7897370212, 8495887583, 359632372, 7897380465, 7897380466, 361682903, 4011643690, 4011643693, 4011643695, 4011643697, 7897400625, 4011643699, 8495576870, 4011643702, 4011643704, 4011643705, 4011643706], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 822006333, "nodes": [7675138008, 7675138007], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 846194839, "nodes": [359631796, 359631798, 7894730891, 359633433, 7894730894, 361681828, 359632456, 7897270559, 8823319000, 361679888, 359631799], "tags": {"highway": "residential", "maxspeed": "40", "name": "Avenida Progreso"}}, {"type": "way", "id": 846201451, "nodes": [359632124, 8834851461, 361682487, 361679768, 359633856, 361680313, 359633754, 8520343659, 8385492990, 428546942, 8375912613, 8488612616, 361681800, 8496021987, 7897380471, 7897380472, 359632003, 359632370], "tags": {"highway": "residential", "maxspeed": "40", "name": "Camino Nacional", "surface": "asphalt"}}, {"type": "way", "id": 846209527, "nodes": [8395023155, 361679664, 361679816, 361679768], "tags": {"alt_name": "El Roble", "highway": "residential", "name": "Calle 30 de Julio", "surface": "unpaved"}}, {"type": "way", "id": 846210708, "nodes": [359632699, 4011643718, 4147834921, 361681820, 361679722, 8387800935, 361680438, 361682069, 7897399224, 4011643709], "tags": {"alt_name": "Boulevard Apizaco-Amaxac", "highway": "secondary", "lanes": "2", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes"}}, {"type": "way", "id": 846210710, "nodes": [4011643706, 8385700645, 4011643708, 4011643710, 4011643711, 4011643712, 4011643713, 4011643714, 4011643715, 4011643717, 4011643719, 7894928970], "tags": {"alt_name": "Boulevard Apizaco-Amaxac", "highway": "secondary", "lanes": "2", "maxspeed": "40", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes"}}, {"type": "way", "id": 846214513, "nodes": [361680606, 7897548813, 361681231, 361681160, 7897502095, 359634081], "tags": {"highway": "residential", "name": "Calle Independencia", "surface": "unpaved"}}, {"type": "way", "id": 846474484, "nodes": [7897270555, 7897270554], "tags": {"highway": "residential", "name": "Calle el Mirador"}}, {"type": "way", "id": 846474485, "nodes": [7897270557, 7897270555, 7897270556], "tags": {"highway": "residential", "name": "Privada el Mirador"}}, {"type": "way", "id": 846474486, "nodes": [7897270559, 7897270558], "tags": {"highway": "residential", "name": "Calle El Rosal", "surface": "unpaved"}}, {"type": "way", "id": 846475692, "nodes": [7897313814, 7897313813], "tags": {"highway": "residential"}}, {"type": "way", "id": 846477691, "nodes": [7897327213, 7897327212], "tags": {"highway": "residential", "surface": "unpaved"}}, {"type": "way", "id": 846477692, "nodes": [359633754, 8520343660, 8834851462], "tags": {"highway": "residential", "maxspeed": "40", "name": "Privada 26 de Julio", "surface": "unpaved"}}, {"type": "way", "id": 846477693, "nodes": [7897327217, 7897270554], "tags": {"highway": "residential", "name": "Privada del \u00c1ngel", "surface": "unpaved"}}, {"type": "way", "id": 846477694, "nodes": [361680344, 359633119], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Corregidora"}}, {"type": "way", "id": 846477695, "nodes": [359633091, 7897327212, 7897327214], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Corregidora"}}, {"type": "way", "id": 846478575, "nodes": [4011643686, 8488612615, 361682271, 7897380467, 361681776, 361682361, 7897327215, 8520343658, 8520343659], "tags": {"highway": "residential", "maxspeed": "40", "name": "Avenida Plan de Ayala", "surface": "unpaved"}}, {"type": "way", "id": 846478576, "nodes": [359633006, 361681249, 361681272, 361680139, 7897327217, 361679938], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Zaragoza", "surface": "unpaved"}}, {"type": "way", "id": 846483874, "nodes": [4011643691, 7897380467], "tags": {"highway": "residential"}}, {"type": "way", "id": 846483875, "nodes": [7897380472, 361682271, 4011643688], "tags": {"alt_name": "Camino Real", "highway": "residential", "maxspeed": "40", "name": "L\u00e1zaro C\u00e1rdenas", "surface": "unpaved"}}, {"type": "way", "id": 846483876, "nodes": [7897380470, 7897380469, 7897380468], "tags": {"highway": "residential", "name": "Privada L\u00e1zaro C\u00e1rdenas", "surface": "unpaved"}}, {"type": "way", "id": 846483877, "nodes": [424009301, 424009125, 3266152583, 359632914, 359632894, 7897380470, 359633006, 8816959277, 359632003], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle L\u00e1zaro C\u00e1rdenas"}}, {"type": "way", "id": 846483878, "nodes": [7897380476, 359633780], "tags": {"highway": "residential", "name": "Privada Los Pinos"}}, {"type": "way", "id": 846484206, "nodes": [359632914, 361681862, 7897380468, 361681272, 359633780, 359633119, 428546942, 361682361, 428546944, 361681989, 361682069], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 5 de Junio", "surface": "unpaved"}}, {"type": "way", "id": 846488098, "nodes": [424021825, 7897392140], "tags": {"highway": "residential"}}, {"type": "way", "id": 846488099, "nodes": [424022386, 424022387], "tags": {"highway": "residential", "name": "Calle Diego Rivera", "oneway": "yes"}}, {"type": "way", "id": 846488100, "nodes": [424022405, 424022431], "tags": {"highway": "residential", "name": "Calle Diego Rivera", "oneway": "yes"}}, {"type": "way", "id": 846488101, "nodes": [424022648, 428546801, 424022650, 7906105203, 1535948618, 7906105202, 424022654, 7906105207, 424022657, 424022011], "tags": {"highway": "residential", "name": "Calle Diego Rivera", "oneway": "yes"}}, {"type": "way", "id": 846489289, "nodes": [4011643709, 4011643707, 7897400627, 4011643703, 4011643700, 4011643698, 7897400626, 4011643696, 4011643694, 4011643692, 8488612614, 4011643689, 4011643688, 4011643687, 4011643686, 4011643685, 4011643683, 7675138006], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 846489291, "nodes": [424022727, 424022787], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle David Alfaro Siqueiros"}}, {"type": "way", "id": 846489892, "nodes": [7897459036, 7897459035], "tags": {"highway": "residential"}}, {"type": "way", "id": 846490012, "nodes": [7897459038, 7897459037], "tags": {"highway": "service", "name": "Privada 5 de Junio", "surface": "unpaved"}}, {"type": "way", "id": 846494282, "nodes": [7897502090, 7897502089, 7897502088], "tags": {"access": "private", "highway": "residential", "name": "Privada Cipr\u00e9s"}}, {"type": "way", "id": 846494283, "nodes": [7897502094, 7897502092, 7897502091, 7897502093], "tags": {"highway": "residential"}}, {"type": "way", "id": 846494284, "nodes": [7897502096, 7897502095], "tags": {"highway": "residential", "name": "Andador 24 de Mayo"}}, {"type": "way", "id": 846494285, "nodes": [7897502098, 7897502097], "tags": {"highway": "residential"}}, {"type": "way", "id": 846494286, "nodes": [7897502100, 7897502099], "tags": {"access": "private", "highway": "residential"}}, {"type": "way", "id": 846494287, "nodes": [7897502102, 7897502146], "tags": {"access": "private", "highway": "residential"}}, {"type": "way", "id": 846494288, "nodes": [7897502107, 7897502106], "tags": {"access": "private", "highway": "residential"}}, {"type": "way", "id": 846494289, "nodes": [7897502112, 7897502111, 7897502110, 7897502109], "tags": {"access": "private", "highway": "residential", "name": "Calle Pino"}}, {"type": "way", "id": 846494290, "nodes": [8373397747, 8495887574, 7897502107, 7897502138, 7897502108, 7897502113, 7897502110, 7897502114, 7897502115, 7897502116, 8394811890, 7897502102], "tags": {"access": "private", "highway": "residential", "name": "Calle Sabino", "oneway": "yes"}}, {"type": "way", "id": 846494291, "nodes": [7897502124, 7897502123, 7897502114, 7897502122], "tags": {"access": "private", "highway": "residential", "name": "Calle Nogal"}}, {"type": "way", "id": 846494292, "nodes": [7897502127, 7897502126, 7897502115, 7897502125], "tags": {"access": "private", "highway": "residential", "name": "Calle Olivo"}}, {"type": "way", "id": 846494293, "nodes": [7897502131, 7897502119, 7897502126, 7897502123, 7897502111, 7897502128, 7897502101, 7897502100], "tags": {"access": "private", "highway": "residential", "name": "Calle Roble", "oneway": "yes"}}, {"type": "way", "id": 846494294, "nodes": [7897502099, 7897502134, 7897502133, 7897502112, 7897502124, 7897502127, 7897502120, 7897502132], "tags": {"access": "private", "highway": "residential", "name": "Calle Roble", "oneway": "yes"}}, {"type": "way", "id": 846494295, "nodes": [7897502141, 8520343657], "tags": {"highway": "residential", "name": "Calle Sabino"}}, {"type": "way", "id": 846494296, "nodes": [7897502146, 7897502117, 8394811891, 7897502145, 7897502125, 7897502122, 7897502109, 7897502130, 7897502144, 7897502143, 7897502106, 8495887575, 8373397746], "tags": {"access": "private", "highway": "residential", "name": "Calle Sabino", "oneway": "yes"}}, {"type": "way", "id": 846494297, "nodes": [424021844, 7897502149], "tags": {"highway": "residential"}}, {"type": "way", "id": 846494298, "nodes": [424022787, 7897502150], "tags": {"highway": "residential"}}, {"type": "way", "id": 846494299, "nodes": [424022787, 424021844], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle David Alfaro Siqueiros"}}, {"type": "way", "id": 846494775, "nodes": [7897502100, 7897502129, 7897502113, 7897502130], "tags": {"access": "private", "highway": "residential", "name": "Calle Cedro", "oneway": "yes"}}, {"type": "way", "id": 846494776, "nodes": [7897502144, 7897502108, 7897502137, 7897502136, 7897502135, 7897502099], "tags": {"access": "private", "highway": "residential", "name": "Calle Cedro", "oneway": "yes"}}, {"type": "way", "id": 846494777, "nodes": [7897502104, 7897502103, 7897502148, 7897502088, 7897502132, 7897502131, 7897502147, 7897502146], "tags": {"access": "private", "highway": "residential", "name": "Calle \u00c1lamo", "oneway": "yes"}}, {"type": "way", "id": 846494778, "nodes": [7897502102, 7897502118, 7897502119, 7897502120, 7897502089, 7897502121, 7897502105, 7897502104], "tags": {"access": "private", "highway": "residential", "name": "Calle \u00c1lamo", "oneway": "yes"}}, {"type": "way", "id": 847250989, "nodes": [424008802, 424007109, 424009029, 424009093, 424007112, 424009129, 424009119, 7905990812, 424009128, 424007114, 424007116, 7906053823, 424007118, 7906043269, 7906043278, 7906053802, 4011643678], "tags": {"alt_name": "Calle Xcaret", "highway": "residential", "maxspeed": "40", "name": "Ni\u00f1os Heroes", "surface": "unpaved"}}, {"type": "way", "id": 847252039, "nodes": [7905990812, 8536496531, 8375818776, 7905966540], "tags": {"highway": "residential", "name": "Calle Chich\u00e9n-Itz\u00e1", "surface": "unpaved"}}, {"type": "way", "id": 847255259, "nodes": [424020190, 424020121, 7906031494, 4011643563, 7906031498, 7906031499, 7906031500, 7906031501, 424020191, 424020916, 7906031502, 424020193, 424020195, 4011643649, 4011643650, 7906053829, 4011643653, 424020197, 4011643657, 424020199, 4011643659, 424020201, 4011643665, 7906053826, 4011643671, 424020202, 4011643673, 7906053836, 4011643675, 424020203, 4011643676, 424020204, 8495787097, 4011643680, 4011643682, 7675138008], "tags": {"highway": "secondary", "lanes": "2", "name": "Boulevard Apizaco-Amaxac", "oneway": "yes"}}, {"type": "way", "id": 847257689, "nodes": [7906043269, 7906043268, 7906043267, 7906043266, 7906043265], "tags": {"highway": "residential", "surface": "unpaved"}}, {"type": "way", "id": 847257690, "nodes": [7906053793, 7906043277, 7906043276, 7906043275, 7906043274, 7906043273, 7906043272, 7906043271, 7906043270], "tags": {"highway": "residential"}}, {"type": "way", "id": 847257691, "nodes": [7906053797, 8495787098, 7906053796, 7906053795, 7906053794, 7906053793, 7906053792, 7906053791, 7906053790, 7906053789, 7906053788, 7906053787, 7906053786, 7906053785, 7906043284, 7906043283, 7906043282, 7906043281, 7906043280, 7906043279, 7906043278], "tags": {"highway": "residential", "surface": "unpaved"}}, {"type": "way", "id": 847257692, "nodes": [7906053800, 7906053799, 7906053801, 424009127], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Malintzi"}}, {"type": "way", "id": 847257693, "nodes": [7906053804, 7906053803, 7906053802], "tags": {"highway": "residential", "name": "Privada Chalchitepec", "surface": "unpaved"}}, {"type": "way", "id": 847257695, "nodes": [7906053820, 7906053819], "tags": {"highway": "residential"}}, {"type": "way", "id": 847257696, "nodes": [424007125, 7906053824, 424021307, 7906053819, 7906053818, 7906053817], "tags": {"alt_name": "Avenida 2 de Noviembre", "highway": "residential", "maxspeed": "40", "name": "Ni\u00f1os Heroes"}}, {"type": "way", "id": 847257697, "nodes": [7906053827, 7906053826], "tags": {"highway": "secondary_link", "lanes": "2", "oneway": "no"}}, {"type": "way", "id": 847257768, "nodes": [7906039677, 7906039676], "tags": {"highway": "residential"}}, {"type": "way", "id": 847257769, "nodes": [7906053789, 7906039684, 7906039683, 7906039682, 7906039681, 7906039680, 7906039679, 7906039678], "tags": {"highway": "residential"}}, {"type": "way", "id": 847259881, "nodes": [4011643678, 424020204, 8496021983, 7906053825, 424007125], "tags": {"alt_name": "Calle Doctor Juan Antonio Duran Apango", "highway": "residential", "maxspeed": "40", "name": "Ni\u00f1os Heroes"}}, {"type": "way", "id": 847259882, "nodes": [424009127, 424009128], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xel-H\u00e1", "surface": "unpaved"}}, {"type": "way", "id": 847263740, "nodes": [7906105187, 7906105186, 7906105185], "tags": {"highway": "residential"}}, {"type": "way", "id": 847263741, "nodes": [424021835, 7906105188], "tags": {"highway": "residential"}}, {"type": "way", "id": 847263742, "nodes": [424021830, 7906105189], "tags": {"highway": "residential"}}, {"type": "way", "id": 847263743, "nodes": [7906105192, 7906105190], "tags": {"highway": "residential", "name": "Privada El Pana"}}, {"type": "way", "id": 847263744, "nodes": [424021497, 7906105198], "tags": {"highway": "residential"}}, {"type": "way", "id": 847263745, "nodes": [7906105202, 7906105201], "tags": {"highway": "residential"}}, {"type": "way", "id": 847263746, "nodes": [424021835, 7906105212, 424021833], "tags": {"highway": "residential", "name": "Calle Jos\u00e9 Clemente Orozco"}}, {"type": "way", "id": 847263747, "nodes": [8416683067, 7906105195, 424021493], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Doctor Juan Antonio Dur\u00e1n Apango"}}, {"type": "way", "id": 847268273, "nodes": [424021493, 7906105194, 7906105193, 8496398997, 424021571], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Pedro Zedillo"}}, {"type": "way", "id": 847268455, "nodes": [7906105193, 8495973288, 7906134002, 7906134001, 424023023], "tags": {"highway": "service"}}, {"type": "way", "id": 847269366, "nodes": [424023023, 8495973287, 424023347, 7906129668, 7906129667, 7906129666, 424023349, 7906129665, 7906129664, 8488612613, 8488612612, 8409960501], "tags": {"highway": "residential", "name": "Calle 3 de Mayo", "surface": "paving_stones"}}, {"type": "way", "id": 847270444, "nodes": [7906139735, 7906139738], "tags": {"highway": "residential", "name": "Prolongaci\u00f3n Morelos"}}, {"type": "way", "id": 847270445, "nodes": [7906139740, 7906139739, 7906139738, 7906139734, 7906139737, 7906139736], "tags": {"highway": "residential", "name": "Prolongaci\u00f3n Morelos"}}, {"type": "way", "id": 847270446, "nodes": [7906139743, 7906139735, 7906139736], "tags": {"highway": "residential", "name": "Prolongaci\u00f3n Morelos"}}, {"type": "way", "id": 847270447, "nodes": [7906139748, 7906139740, 7906139743], "tags": {"highway": "residential", "name": "Prolongaci\u00f3n Morelos"}}, {"type": "way", "id": 847270449, "nodes": [424020355, 428546537], "tags": {"highway": "residential", "name": "Calle Independencia", "surface": "paving_stones"}}, {"type": "way", "id": 847270625, "nodes": [7906139736, 7906139741], "tags": {"highway": "residential"}}, {"type": "way", "id": 847270626, "nodes": [7906139742, 7906139743], "tags": {"highway": "residential"}}, {"type": "way", "id": 857787182, "nodes": [424020347, 8373467660, 1570740355, 1570740349, 8373467661, 7906129652, 1570740350, 424020352, 8373467662, 7906129669, 424023023, 7906105196, 428546945], "tags": {"highway": "residential", "maxspeed": "40", "name": "Prolongaci\u00f3n Morelos", "surface": "paving_stones"}}, {"type": "way", "id": 900936063, "nodes": [359632370, 8495887586, 8495787103, 8495787115, 7906039676, 7906053797, 7906053821, 4011643681], "tags": {"highway": "residential", "maxspeed": "40", "name": "Camino Nacional", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 901373698, "nodes": [7897502141, 7897502139, 8373397747], "tags": {"highway": "residential", "name": "Calle Sabino", "oneway": "yes"}}, {"type": "way", "id": 901373699, "nodes": [8373397746, 7897502142, 7897502141], "tags": {"highway": "residential", "name": "Calle Sabino", "oneway": "yes"}}, {"type": "way", "id": 901380144, "nodes": [359634093, 361681538], "tags": {"highway": "footway", "name": "Calle Ju\u00e1rez", "surface": "unpaved"}}, {"type": "way", "id": 901672319, "nodes": [361681800, 7897380476, 361681249], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 24 de Mayo", "surface": "unpaved"}}, {"type": "way", "id": 901674844, "nodes": [359633059, 359633091, 361682487], "tags": {"highway": "residential", "name": "Calle 20 de Agosto", "surface": "unpaved"}}, {"type": "way", "id": 901674845, "nodes": [359631799, 361680187, 361680139, 359633753, 361680344, 361680313], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle 26 de Julio", "surface": "unpaved"}}, {"type": "way", "id": 902839098, "nodes": [361679938, 7897327213, 359633059], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Zaragoza"}}, {"type": "way", "id": 902841367, "nodes": [359631799, 3266152583], "tags": {"highway": "residential", "maxspeed": "40", "name": "Avenida Progreso", "surface": "unpaved"}}, {"type": "way", "id": 903082075, "nodes": [8387800935, 4011643713], "tags": {"highway": "footway"}}, {"type": "way", "id": 903111233, "nodes": [428546945, 7906105197, 1570740402, 8817485190, 424020355, 7906139744, 7906139752, 428546783], "tags": {"highway": "tertiary", "lanes": "2", "maxspeed": "40", "name": "Prolongaci\u00f3n Morelos", "surface": "paving_stones"}}, {"type": "way", "id": 903111235, "nodes": [359632370, 8817485194, 4011643685], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Jorge El Ranchero Aguilar"}}, {"type": "way", "id": 903890137, "nodes": [428546945, 8394734498], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Jorge El Ranchero Aguilar"}}, {"type": "way", "id": 903924847, "nodes": [361679722, 8395023155], "tags": {"alt_name": "El Roble", "highway": "residential", "name": "Calle 30 de Julio", "surface": "asphalt"}}, {"type": "way", "id": 905565171, "nodes": [361679938, 361680107], "tags": {"highway": "residential", "name": "Calle Libertad", "surface": "unpaved"}}, {"type": "way", "id": 905948015, "nodes": [424021503, 359634093, 359634111], "tags": {"alt_name": "Camino Real", "highway": "residential", "maxspeed": "40", "name": "L\u00e1zaro C\u00e1rdenas"}}, {"type": "way", "id": 906381243, "nodes": [8416683068, 8416683067], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Doctor Juan Antonio Dur\u00e1n Apango"}}, {"type": "way", "id": 906381244, "nodes": [424021307, 8416683068], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Doctor Juan Antonio Dur\u00e1n Apango"}}, {"type": "way", "id": 914561689, "nodes": [8495710264, 8495710263], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle El Pana", "oneway": "yes"}}, {"type": "way", "id": 914561690, "nodes": [424022011, 8495710264], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle El Pana", "oneway": "yes"}}, {"type": "way", "id": 914561691, "nodes": [8495710268, 8495710267, 8495710266, 8820424800, 8495710265, 8495710270], "tags": {"highway": "service"}}, {"type": "way", "id": 914561692, "nodes": [8495710273, 8495710272, 8820424799, 8495710271, 8495710270, 8495710269, 8820424803, 8820424802, 8820424801, 8495710268], "tags": {"highway": "service"}}, {"type": "way", "id": 914564979, "nodes": [8495787096, 8495787095, 8495787094], "tags": {"highway": "residential"}}, {"type": "way", "id": 914564980, "nodes": [8495787100, 8495787101, 8495787099], "tags": {"highway": "service"}}, {"type": "way", "id": 914564981, "nodes": [8495787103, 8495787102, 8495787101], "tags": {"highway": "service"}}, {"type": "way", "id": 914564982, "nodes": [8495787107, 8495787106, 8739883479, 8495787105, 8739883478, 8495787104], "tags": {"highway": "residential"}}, {"type": "way", "id": 914564983, "nodes": [8495787115, 8495787114, 8495787113, 8495787112, 8495787111, 8495787110, 8739883475, 8495787104, 8495787109, 8739883476, 8495787108, 8739883477, 8495787107], "tags": {"highway": "residential"}}, {"type": "way", "id": 914575805, "nodes": [8495887583, 8495887582, 8495887581, 8495887580, 8495887579], "tags": {"highway": "service"}}, {"type": "way", "id": 914575806, "nodes": [8817485194, 8817485192, 8817485193, 8495887585, 8495887584], "tags": {"highway": "service"}}, {"type": "way", "id": 914583773, "nodes": [424022109, 8495973260, 8495973259, 8820444014, 8495973258, 8495973257, 8495973256, 8495973255], "tags": {"highway": "service"}}, {"type": "way", "id": 914583774, "nodes": [8495973263, 8495973262, 8495973261], "tags": {"highway": "residential"}}, {"type": "way", "id": 914583779, "nodes": [8495973287, 8495973286, 8495973285, 8495973284, 8495973283], "tags": {"highway": "service"}}, {"type": "way", "id": 914583780, "nodes": [8495973291, 8495973289, 8495973288], "tags": {"highway": "service"}}, {"type": "way", "id": 914583781, "nodes": [424021493, 8495973291, 8495973290], "tags": {"highway": "service"}}, {"type": "way", "id": 914590008, "nodes": [424007125, 8496021979, 8496021978], "tags": {"highway": "residential"}}, {"type": "way", "id": 914590009, "nodes": [8496021983, 8496021982, 8496021981, 8496021980], "tags": {"highway": "residential"}}, {"type": "way", "id": 914590010, "nodes": [8496021987, 8496021986, 8496021985, 8820513318, 8820513317, 8496021984], "tags": {"highway": "service"}}, {"type": "way", "id": 914633908, "nodes": [8496398997, 8496398996, 8496398995, 8496398994], "tags": {"highway": "service"}}, {"type": "way", "id": 914645841, "nodes": [8495710273, 8496493271], "tags": {"highway": "service"}}, {"type": "way", "id": 914645842, "nodes": [8495710275, 8495710274, 8495710273], "tags": {"highway": "service"}}, {"type": "way", "id": 914645843, "nodes": [8496493271, 8496493268, 8496493267], "tags": {"highway": "service"}}, {"type": "way", "id": 914645844, "nodes": [8496493271, 8496493270, 8496493269], "tags": {"highway": "service"}}, {"type": "way", "id": 942973505, "nodes": [7897327214, 8834851464, 8834851463, 8731806614, 361679768], "tags": {"highway": "residential"}}, {"type": "way", "id": 952602849, "nodes": [8816959280, 8816959279, 8816959278, 8816959277], "tags": {"highway": "service"}}, {"type": "way", "id": 952638128, "nodes": [8817485191, 8817485190], "tags": {"highway": "service"}}, {"type": "way", "id": 952638129, "nodes": [8817485202, 8817485201, 8817485200, 8817485199, 8817485198, 8817485197, 8817485196, 8817485195], "tags": {"highway": "service"}}, {"type": "way", "id": 954524134, "nodes": [8834851450, 8834851449], "tags": {"highway": "service"}}, {"type": "way", "id": 954524140, "nodes": [8834851462, 7897327216], "tags": {"highway": "residential", "name": "Privada 26 de Julio", "surface": "unpaved"}}, {"type": "way", "id": 1298848792, "nodes": [361679938, 8834851463], "tags": {"highway": "residential"}}]} \ No newline at end of file diff --git a/cache/5d197637aed3d48bbdde1e210968a00f9fe730a0.json b/cache/5d197637aed3d48bbdde1e210968a00f9fe730a0.json new file mode 100644 index 0000000..ffbab4c --- /dev/null +++ b/cache/5d197637aed3d48bbdde1e210968a00f9fe730a0.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:41:05Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/6159278b0cde4b0589fb557e619ecf118b38d0f8.json b/cache/6159278b0cde4b0589fb557e619ecf118b38d0f8.json new file mode 100644 index 0000000..2b3d5e2 --- /dev/null +++ b/cache/6159278b0cde4b0589fb557e619ecf118b38d0f8.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:16:20Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339674, "lat": 19.3845481, "lon": -99.1522672, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340092, "lat": 19.3799222, "lon": -99.1513362, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340093, "lat": 19.379682, "lon": -99.1500464, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340605, "lat": 19.3951447, "lon": -99.1460698, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340606, "lat": 19.395222, "lon": -99.1475158}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340917, "lat": 19.3843329, "lon": -99.1499247}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340976, "lat": 19.387834, "lon": -99.1469996, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340979, "lat": 19.3908318, "lon": -99.1466312}, {"type": "node", "id": 30340980, "lat": 19.3925848, "lon": -99.1463925, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341027, "lat": 19.3815048, "lon": -99.1509958}, {"type": "node", "id": 30341028, "lat": 19.3812643, "lon": -99.1497158}, {"type": "node", "id": 30341031, "lat": 19.3831178, "lon": -99.1506833}, {"type": "node", "id": 30341032, "lat": 19.3823063, "lon": -99.150839}, {"type": "node", "id": 30341033, "lat": 19.380712, "lon": -99.1511667}, {"type": "node", "id": 30341040, "lat": 19.3804623, "lon": -99.149875}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385379, "lat": 19.3952991, "lon": -99.1484528, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594502, "lat": 19.3828577, "lon": -99.1493763}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30758688, "lat": 19.3820497, "lon": -99.1495544}, {"type": "node", "id": 30758812, "lat": 19.3833767, "lon": -99.149279}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759101, "lat": 19.3861472, "lon": -99.1497004}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30788443, "lat": 19.379064, "lon": -99.1422166}, {"type": "node", "id": 30788901, "lat": 19.378004, "lon": -99.150399}, {"type": "node", "id": 30789005, "lat": 19.392468, "lon": -99.1492035}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789010, "lat": 19.385124, "lon": -99.1498351}, {"type": "node", "id": 30789024, "lat": 19.3848337, "lon": -99.1490278}, {"type": "node", "id": 30789025, "lat": 19.3862628, "lon": -99.1488677}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789027, "lat": 19.3890839, "lon": -99.148825}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789030, "lat": 19.3924797, "lon": -99.148557}, {"type": "node", "id": 30789031, "lat": 19.3924492, "lon": -99.1498776}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789036, "lat": 19.3854988, "lon": -99.1504483}, {"type": "node", "id": 30789037, "lat": 19.3863129, "lon": -99.1510278}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789511, "lat": 19.3867359, "lon": -99.1546747}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623769, "lat": 19.3869007, "lon": -99.1471178, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268623829, "lat": 19.3836078, "lon": -99.1449419, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268623830, "lat": 19.3816158, "lon": -99.1436679, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679153, "lat": 19.3910913, "lon": -99.1506531}, {"type": "node", "id": 268679231, "lat": 19.3888766, "lon": -99.1488188}, {"type": "node", "id": 268679232, "lat": 19.3866874, "lon": -99.1471428, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268679233, "lat": 19.3836273, "lon": -99.1450998, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679234, "lat": 19.3814353, "lon": -99.1437016, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679235, "lat": 19.3808926, "lon": -99.143367}, {"type": "node", "id": 268680218, "lat": 19.3848323, "lon": -99.1556101, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680219, "lat": 19.3862381, "lon": -99.1548009}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268684269, "lat": 19.3950518, "lon": -99.1454366}, {"type": "node", "id": 268684270, "lat": 19.3926019, "lon": -99.1457558}, {"type": "node", "id": 268684271, "lat": 19.3907604, "lon": -99.1460788}, {"type": "node", "id": 268684547, "lat": 19.392618, "lon": -99.1451953}, {"type": "node", "id": 268684937, "lat": 19.3882326, "lon": -99.143392}, {"type": "node", "id": 268823703, "lat": 19.3964227, "lon": -99.1474208}, {"type": "node", "id": 268823948, "lat": 19.3973647, "lon": -99.1465435}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824115, "lat": 19.395288, "lon": -99.1483022, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268824117, "lat": 19.3962208, "lon": -99.1474346}, {"type": "node", "id": 268824118, "lat": 19.3971687, "lon": -99.14656}, {"type": "node", "id": 268824329, "lat": 19.3982973, "lon": -99.1464518}, {"type": "node", "id": 268824891, "lat": 19.3981881, "lon": -99.1508021}, {"type": "node", "id": 268824895, "lat": 19.3981479, "lon": -99.1464564}, {"type": "node", "id": 268825077, "lat": 19.395557, "lon": -99.1482093}, {"type": "node", "id": 268825078, "lat": 19.3981687, "lon": -99.1480156}, {"type": "node", "id": 268825079, "lat": 19.3983237, "lon": -99.1480037}, {"type": "node", "id": 268825211, "lat": 19.3983242, "lon": -99.1481625}, {"type": "node", "id": 268825212, "lat": 19.3981713, "lon": -99.1481725}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274839859, "lat": 19.3983314, "lon": -99.1500804}, {"type": "node", "id": 274839860, "lat": 19.3981846, "lon": -99.1500912}, {"type": "node", "id": 274839861, "lat": 19.3954231, "lon": -99.1503063}, {"type": "node", "id": 274839882, "lat": 19.392951, "lon": -99.1504554}, {"type": "node", "id": 274839883, "lat": 19.3930876, "lon": -99.1504783}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840030, "lat": 19.3981887, "lon": -99.150934}, {"type": "node", "id": 274840760, "lat": 19.3983296, "lon": -99.1494131}, {"type": "node", "id": 274840761, "lat": 19.3981813, "lon": -99.149424}, {"type": "node", "id": 274840762, "lat": 19.395378, "lon": -99.1496351}, {"type": "node", "id": 274840763, "lat": 19.3938844, "lon": -99.1497513}, {"type": "node", "id": 274840764, "lat": 19.3938161, "lon": -99.1496532}, {"type": "node", "id": 274840766, "lat": 19.3926366, "lon": -99.1444382}, {"type": "node", "id": 274840981, "lat": 19.384559, "lon": -99.1523861, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274840989, "lat": 19.3918429, "lon": -99.1499244}, {"type": "node", "id": 274841034, "lat": 19.3983276, "lon": -99.1487353}, {"type": "node", "id": 274841035, "lat": 19.398178, "lon": -99.1487464}, {"type": "node", "id": 274841036, "lat": 19.3953351, "lon": -99.148971}, {"type": "node", "id": 274841037, "lat": 19.3946706, "lon": -99.149022}, {"type": "node", "id": 274841130, "lat": 19.3983284, "lon": -99.1515547}, {"type": "node", "id": 274841131, "lat": 19.3981927, "lon": -99.1515673}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 275357285, "lat": 19.3889321, "lon": -99.1482292}, {"type": "node", "id": 275357286, "lat": 19.3886947, "lon": -99.1468959}, {"type": "node", "id": 275357288, "lat": 19.3925491, "lon": -99.1470606}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358048, "lat": 19.3880072, "lon": -99.1479643, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358138, "lat": 19.3888111, "lon": -99.1475526}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275358446, "lat": 19.3925164, "lon": -99.1477361}, {"type": "node", "id": 275358447, "lat": 19.3888827, "lon": -99.1479759}, {"type": "node", "id": 275358448, "lat": 19.38781, "lon": -99.1479553}, {"type": "node", "id": 275358464, "lat": 19.3870381, "lon": -99.1483008}, {"type": "node", "id": 275361924, "lat": 19.3940912, "lon": -99.1478304}, {"type": "node", "id": 275361954, "lat": 19.3936808, "lon": -99.1476474}, {"type": "node", "id": 275361955, "lat": 19.3937349, "lon": -99.1480879}, {"type": "node", "id": 275362851, "lat": 19.3858111, "lon": -99.1514974}, {"type": "node", "id": 275362852, "lat": 19.3850674, "lon": -99.1516369}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275512762, "lat": 19.3788416, "lon": -99.1502378}, {"type": "node", "id": 275512786, "lat": 19.3785447, "lon": -99.1502955}, {"type": "node", "id": 275715032, "lat": 19.3799577, "lon": -99.1427756}, {"type": "node", "id": 275722667, "lat": 19.3805892, "lon": -99.1431722}, {"type": "node", "id": 275722668, "lat": 19.3807823, "lon": -99.1431384}, {"type": "node", "id": 275728758, "lat": 19.3920142, "lon": -99.1399879}, {"type": "node", "id": 275728946, "lat": 19.3922682, "lon": -99.1418764}, {"type": "node", "id": 275728947, "lat": 19.3923762, "lon": -99.1427295}, {"type": "node", "id": 275729015, "lat": 19.3916594, "lon": -99.1459059}, {"type": "node", "id": 275729078, "lat": 19.3916061, "lon": -99.1454075}, {"type": "node", "id": 275729079, "lat": 19.3915118, "lon": -99.1446087}, {"type": "node", "id": 275729080, "lat": 19.3913991, "lon": -99.1437184}, {"type": "node", "id": 275729251, "lat": 19.3887673, "lon": -99.14238}, {"type": "node", "id": 275729252, "lat": 19.3888943, "lon": -99.1432889}, {"type": "node", "id": 275729253, "lat": 19.3889847, "lon": -99.1441271}, {"type": "node", "id": 275729254, "lat": 19.3891133, "lon": -99.1450027}, {"type": "node", "id": 275729255, "lat": 19.3892492, "lon": -99.1459252}, {"type": "node", "id": 275729938, "lat": 19.3846442, "lon": -99.1455861}, {"type": "node", "id": 275729940, "lat": 19.3872769, "lon": -99.1436033}, {"type": "node", "id": 275729960, "lat": 19.3867522, "lon": -99.1405685}, {"type": "node", "id": 275729996, "lat": 19.3857503, "lon": -99.1464481, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730002, "lat": 19.3857187, "lon": -99.1462709, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730003, "lat": 19.3877285, "lon": -99.1462472}, {"type": "node", "id": 275730004, "lat": 19.3875614, "lon": -99.1452447}, {"type": "node", "id": 275730005, "lat": 19.3874133, "lon": -99.1443822}, {"type": "node", "id": 275730007, "lat": 19.3871084, "lon": -99.1426359}, {"type": "node", "id": 275730008, "lat": 19.3869854, "lon": -99.141955}, {"type": "node", "id": 275730011, "lat": 19.3885916, "lon": -99.1460747}, {"type": "node", "id": 275730013, "lat": 19.3884636, "lon": -99.1451094}, {"type": "node", "id": 275730014, "lat": 19.3883471, "lon": -99.1442382}, {"type": "node", "id": 275730015, "lat": 19.3880964, "lon": -99.1424803}, {"type": "node", "id": 275730016, "lat": 19.3879882, "lon": -99.1417687}, {"type": "node", "id": 275730017, "lat": 19.3876925, "lon": -99.1408738}, {"type": "node", "id": 275730018, "lat": 19.3874552, "lon": -99.1390996}, {"type": "node", "id": 275730024, "lat": 19.3906933, "lon": -99.1456109}, {"type": "node", "id": 275730025, "lat": 19.3905973, "lon": -99.1447632}, {"type": "node", "id": 275730357, "lat": 19.3949053, "lon": -99.1444652}, {"type": "node", "id": 275730358, "lat": 19.3926366, "lon": -99.1448284}, {"type": "node", "id": 275730359, "lat": 19.3915538, "lon": -99.1450104}, {"type": "node", "id": 275730360, "lat": 19.3906472, "lon": -99.145188}, {"type": "node", "id": 275730361, "lat": 19.3891855, "lon": -99.1454726}, {"type": "node", "id": 275730362, "lat": 19.3885272, "lon": -99.1455986}, {"type": "node", "id": 275730363, "lat": 19.3925543, "lon": -99.1439798}, {"type": "node", "id": 275730379, "lat": 19.3914642, "lon": -99.1441656}, {"type": "node", "id": 275730380, "lat": 19.3905512, "lon": -99.1443141}, {"type": "node", "id": 275730382, "lat": 19.3890417, "lon": -99.1445469}, {"type": "node", "id": 275730383, "lat": 19.3884046, "lon": -99.1446465}, {"type": "node", "id": 275730384, "lat": 19.3874792, "lon": -99.1447566}, {"type": "node", "id": 275730385, "lat": 19.3924325, "lon": -99.1431544}, {"type": "node", "id": 275730540, "lat": 19.3888395, "lon": -99.1428926}, {"type": "node", "id": 275730541, "lat": 19.388183, "lon": -99.1429829}, {"type": "node", "id": 275730548, "lat": 19.3889399, "lon": -99.1437209}, {"type": "node", "id": 275730549, "lat": 19.3882915, "lon": -99.1438212}, {"type": "node", "id": 275730552, "lat": 19.392208, "lon": -99.1414197}, {"type": "node", "id": 275730579, "lat": 19.3878347, "lon": -99.1413281}, {"type": "node", "id": 275730595, "lat": 19.3921094, "lon": -99.1406514, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275730830, "lat": 19.3863692, "lon": -99.1464735}, {"type": "node", "id": 275730852, "lat": 19.3875722, "lon": -99.1400512}, {"type": "node", "id": 275730890, "lat": 19.3832567, "lon": -99.1448611}, {"type": "node", "id": 275730909, "lat": 19.3829309, "lon": -99.1446568}, {"type": "node", "id": 275731024, "lat": 19.3797471, "lon": -99.1426494, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275731076, "lat": 19.37971, "lon": -99.1424506, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275731110, "lat": 19.3786085, "lon": -99.1417349}, {"type": "node", "id": 275731458, "lat": 19.3800084, "lon": -99.1426373}, {"type": "node", "id": 275731462, "lat": 19.3869063, "lon": -99.1415107}, {"type": "node", "id": 275731517, "lat": 19.387191, "lon": -99.1431398}, {"type": "node", "id": 275731590, "lat": 19.3821834, "lon": -99.1440384}, {"type": "node", "id": 275731679, "lat": 19.3868396, "lon": -99.1410585}, {"type": "node", "id": 275731728, "lat": 19.3876298, "lon": -99.140404}, {"type": "node", "id": 275731771, "lat": 19.386769, "lon": -99.1406693}, {"type": "node", "id": 275731777, "lat": 19.3880525, "lon": -99.14221}, {"type": "node", "id": 275731778, "lat": 19.3870557, "lon": -99.142349}, {"type": "node", "id": 474733239, "lat": 19.3862345, "lon": -99.1503625}, {"type": "node", "id": 848504697, "lat": 19.3980505, "lon": -99.1459591}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 972127600, "lat": 19.3954125, "lon": -99.1482103, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1654476613, "lat": 19.3949552, "lon": -99.1448128}, {"type": "node", "id": 1654476615, "lat": 19.3860759, "lon": -99.1465182}, {"type": "node", "id": 1654476619, "lat": 19.3863632, "lon": -99.1467327}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526389, "lat": 19.3956128, "lon": -99.1511109, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531864, "lat": 19.3955038, "lon": -99.1496236}, {"type": "node", "id": 2261531872, "lat": 19.3952957, "lon": -99.146717}, {"type": "node", "id": 2261531878, "lat": 19.3953466, "lon": -99.1475063}, {"type": "node", "id": 2261531882, "lat": 19.395553, "lon": -99.1502952}, {"type": "node", "id": 2261531886, "lat": 19.3956044, "lon": -99.1509968, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531892, "lat": 19.395265, "lon": -99.1460535, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531895, "lat": 19.3954594, "lon": -99.1489617}, {"type": "node", "id": 2404259811, "lat": 19.3874768, "lon": -99.139257}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604566, "lat": 19.3855991, "lon": -99.1553272}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 5134866934, "lat": 19.386033, "lon": -99.1488782}, {"type": "node", "id": 5331687767, "lat": 19.3923185, "lon": -99.1423075}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5478588609, "lat": 19.394228, "lon": -99.1492747, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834661, "lat": 19.3954234, "lon": -99.1483369, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834663, "lat": 19.3954267, "lon": -99.1483832}, {"type": "node", "id": 5834951262, "lat": 19.3878934, "lon": -99.1480119}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951265, "lat": 19.3896346, "lon": -99.1494205, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951266, "lat": 19.3905371, "lon": -99.1500223}, {"type": "node", "id": 5834951267, "lat": 19.3903668, "lon": -99.150033}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5837379698, "lat": 19.38483, "lon": -99.1457081, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5837379699, "lat": 19.3846275, "lon": -99.1457445, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 6103699465, "lat": 19.3905046, "lon": -99.1438702}, {"type": "node", "id": 6103699467, "lat": 19.3924924, "lon": -99.1435426}, {"type": "node", "id": 6106908849, "lat": 19.3912212, "lon": -99.150577}, {"type": "node", "id": 6133056828, "lat": 19.3885308, "lon": -99.1479924}, {"type": "node", "id": 6133056829, "lat": 19.3871333, "lon": -99.1463484}, {"type": "node", "id": 6133056832, "lat": 19.3884236, "lon": -99.1476}, {"type": "node", "id": 6133056833, "lat": 19.3872116, "lon": -99.1470772}, {"type": "node", "id": 6133056834, "lat": 19.3941731, "lon": -99.1461973}, {"type": "node", "id": 6133056835, "lat": 19.39409, "lon": -99.1455775}, {"type": "node", "id": 6133056836, "lat": 19.3870047, "lon": -99.1453418}, {"type": "node", "id": 6133056837, "lat": 19.3871562, "lon": -99.1429307}, {"type": "node", "id": 6133056838, "lat": 19.3883434, "lon": -99.1469368}, {"type": "node", "id": 6133056839, "lat": 19.3879554, "lon": -99.1477069}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6133311977, "lat": 19.3822525, "lon": -99.1442255}, {"type": "node", "id": 6366450919, "lat": 19.3942226, "lon": -99.1494287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 7196556558, "lat": 19.3884178, "lon": -99.1475233}, {"type": "node", "id": 7965846822, "lat": 19.3935714, "lon": -99.1500397}, {"type": "node", "id": 7965846823, "lat": 19.3934903, "lon": -99.1499556}, {"type": "node", "id": 7965846824, "lat": 19.3949426, "lon": -99.1487737}, {"type": "node", "id": 7965846825, "lat": 19.3948659, "lon": -99.1486744}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8051918559, "lat": 19.3863079, "lon": -99.1473256, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8051918561, "lat": 19.3863739, "lon": -99.1481647}, {"type": "node", "id": 8059712707, "lat": 19.3846287, "lon": -99.1517171, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8060541754, "lat": 19.3942153, "lon": -99.1490877, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063024658, "lat": 19.3958098, "lon": -99.1510966}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063269395, "lat": 19.3976762, "lon": -99.146102}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8186010146, "lat": 19.3854174, "lon": -99.1485974}, {"type": "node", "id": 8186010147, "lat": 19.3859913, "lon": -99.1485219}, {"type": "node", "id": 8186010149, "lat": 19.3859411, "lon": -99.148092}, {"type": "node", "id": 8186017343, "lat": 19.3859171, "lon": -99.148536, "tags": {"access": "private", "barrier": "gate"}}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8190543264, "lat": 19.3854641, "lon": -99.1554085}, {"type": "node", "id": 8201925193, "lat": 19.3929778, "lon": -99.1472108}, {"type": "node", "id": 8201925194, "lat": 19.3936653, "lon": -99.1470033}, {"type": "node", "id": 8201925195, "lat": 19.3929315, "lon": -99.1470837}, {"type": "node", "id": 8201925198, "lat": 19.3936721, "lon": -99.1471208}, {"type": "node", "id": 8201968873, "lat": 19.393653, "lon": -99.1466117, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8202051093, "lat": 19.3936383, "lon": -99.1462623}, {"type": "node", "id": 8204799889, "lat": 19.3946137, "lon": -99.1487018, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8204799890, "lat": 19.3945562, "lon": -99.1477838}, {"type": "node", "id": 8204799891, "lat": 19.3946386, "lon": -99.1488914}, {"type": "node", "id": 8204803725, "lat": 19.3937271, "lon": -99.147868}, {"type": "node", "id": 8204803726, "lat": 19.3934757, "lon": -99.147881}, {"type": "node", "id": 8204803727, "lat": 19.393722, "lon": -99.1477395}, {"type": "node", "id": 8204803728, "lat": 19.3934648, "lon": -99.1476628}, {"type": "node", "id": 8204803729, "lat": 19.3934673, "lon": -99.1477477}, {"type": "node", "id": 8204803730, "lat": 19.3935173, "lon": -99.1479648}, {"type": "node", "id": 8204803731, "lat": 19.3937304, "lon": -99.147949}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233244549, "lat": 19.3891659, "lon": -99.1564031}, {"type": "node", "id": 8233244550, "lat": 19.3891495, "lon": -99.1562583}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8305044751, "lat": 19.3976831, "lon": -99.1508324}, {"type": "node", "id": 8305044754, "lat": 19.3975545, "lon": -99.1508402}, {"type": "node", "id": 8392318114, "lat": 19.3858498, "lon": -99.1472366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8395534202, "lat": 19.3874999, "lon": -99.1470421}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8572473122, "lat": 19.3923993, "lon": -99.1506122}, {"type": "node", "id": 8572771484, "lat": 19.3817826, "lon": -99.1496093}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573119593, "lat": 19.3828391, "lon": -99.1444543}, {"type": "node", "id": 8573120745, "lat": 19.3834879, "lon": -99.1450124}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573147888, "lat": 19.3939404, "lon": -99.1463306, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8573147889, "lat": 19.3937843, "lon": -99.1467732}, {"type": "node", "id": 8573147890, "lat": 19.393999, "lon": -99.1467612}, {"type": "node", "id": 8573147891, "lat": 19.3939688, "lon": -99.1467821}, {"type": "node", "id": 8573147892, "lat": 19.3939773, "lon": -99.1466248}, {"type": "node", "id": 8573147893, "lat": 19.3939916, "lon": -99.1466379}, {"type": "node", "id": 8573147894, "lat": 19.3939977, "lon": -99.1466568}, {"type": "node", "id": 8573147895, "lat": 19.3937793, "lon": -99.1466537}, {"type": "node", "id": 8573147896, "lat": 19.3937914, "lon": -99.1466392}, {"type": "node", "id": 8573147897, "lat": 19.3938087, "lon": -99.1466329}, {"type": "node", "id": 8573147898, "lat": 19.3937982, "lon": -99.1467866}, {"type": "node", "id": 8573147899, "lat": 19.3939865, "lon": -99.146776}, {"type": "node", "id": 8573147900, "lat": 19.3937787, "lon": -99.1467543}, {"type": "node", "id": 8573147901, "lat": 19.3939587, "lon": -99.1466213}, {"type": "node", "id": 8573147902, "lat": 19.3937754, "lon": -99.1466726}, {"type": "node", "id": 8573147903, "lat": 19.3938165, "lon": -99.1467907}, {"type": "node", "id": 8573147904, "lat": 19.3940027, "lon": -99.1467417}, {"type": "node", "id": 8573147905, "lat": 19.3939514, "lon": -99.1466219}, {"type": "node", "id": 8573147906, "lat": 19.3939379, "lon": -99.1462259}, {"type": "node", "id": 8573147907, "lat": 19.3929593, "lon": -99.1472072}, {"type": "node", "id": 8573147908, "lat": 19.3929389, "lon": -99.1471754}, {"type": "node", "id": 8573147909, "lat": 19.3929351, "lon": -99.1470643}, {"type": "node", "id": 8573147910, "lat": 19.3929474, "lon": -99.1470494}, {"type": "node", "id": 8573147911, "lat": 19.392965, "lon": -99.1470431}, {"type": "node", "id": 8573147912, "lat": 19.3936683, "lon": -99.1471396}, {"type": "node", "id": 8573147913, "lat": 19.3936564, "lon": -99.1471541}, {"type": "node", "id": 8573147914, "lat": 19.3936393, "lon": -99.1471605}, {"type": "node", "id": 8573147915, "lat": 19.392945, "lon": -99.1471942}, {"type": "node", "id": 8573147916, "lat": 19.3936992, "lon": -99.1476513}, {"type": "node", "id": 8573175897, "lat": 19.3862786, "lon": -99.1482232}, {"type": "node", "id": 8573175898, "lat": 19.3859593, "lon": -99.1482613}, {"type": "node", "id": 8573196917, "lat": 19.3937191, "lon": -99.1476833}, {"type": "node", "id": 8573196918, "lat": 19.3937132, "lon": -99.1476645}, {"type": "node", "id": 8573196919, "lat": 19.393479, "lon": -99.1479295}, {"type": "node", "id": 8573196920, "lat": 19.393485, "lon": -99.1479481}, {"type": "node", "id": 8573196921, "lat": 19.3934991, "lon": -99.1479611}, {"type": "node", "id": 8573196922, "lat": 19.3884529, "lon": -99.1476182}, {"type": "node", "id": 8573196923, "lat": 19.3884728, "lon": -99.1476486}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 8635168499, "lat": 19.3866301, "lon": -99.147692}, {"type": "node", "id": 8635168500, "lat": 19.3867402, "lon": -99.1480245}, {"type": "node", "id": 8635168501, "lat": 19.3868243, "lon": -99.1481613}, {"type": "node", "id": 8635168502, "lat": 19.3869325, "lon": -99.148378}, {"type": "node", "id": 8840210606, "lat": 19.386298, "lon": -99.1471864}, {"type": "node", "id": 10573836757, "lat": 19.3861833, "lon": -99.1471993}, {"type": "node", "id": 10573836758, "lat": 19.3865033, "lon": -99.1471634, "tags": {"cycleway": "asl", "direction": "forward"}}, {"type": "node", "id": 10580335229, "lat": 19.3890065, "lon": -99.1468565}, {"type": "node", "id": 10580335231, "lat": 19.3921854, "lon": -99.1464469}, {"type": "node", "id": 10580335234, "lat": 19.3948221, "lon": -99.1461121}, {"type": "node", "id": 11002633301, "lat": 19.395193, "lon": -99.1460633}, {"type": "node", "id": 11002633302, "lat": 19.3952286, "lon": -99.1462051}, {"type": "node", "id": 11002633303, "lat": 19.3952899, "lon": -99.1471751}, {"type": "node", "id": 11002633304, "lat": 19.3952782, "lon": -99.1473817}, {"type": "node", "id": 11002645505, "lat": 19.3952457, "lon": -99.1471782}, {"type": "node", "id": 11002645506, "lat": 19.3951846, "lon": -99.1462082}, {"type": "node", "id": 11002645507, "lat": 19.3952849, "lon": -99.1475396}, {"type": "node", "id": 11002645508, "lat": 19.3953505, "lon": -99.1482564}, {"type": "node", "id": 11002645509, "lat": 19.3953593, "lon": -99.1483965}, {"type": "node", "id": 11002645510, "lat": 19.3954024, "lon": -99.1489657}, {"type": "node", "id": 11002645511, "lat": 19.3954468, "lon": -99.1496288}, {"type": "node", "id": 11002645512, "lat": 19.3954945, "lon": -99.1503001}, {"type": "node", "id": 11002645513, "lat": 19.3955473, "lon": -99.1510016}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11090423028, "lat": 19.3907251, "lon": -99.1466443, "tags": {"highway": "stop"}}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863861859, "lat": 19.3850836, "lon": -99.1486609}, {"type": "node", "id": 12125771324, "lat": 19.3858791, "lon": -99.1475641}, {"type": "node", "id": 12125812998, "lat": 19.3889876, "lon": -99.1485241}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12127380077, "lat": 19.3845575, "lon": -99.1498993}, {"type": "node", "id": 12127398351, "lat": 19.3862411, "lon": -99.148095}, {"type": "node", "id": 12127398352, "lat": 19.3861766, "lon": -99.1480923}, {"type": "node", "id": 12127398353, "lat": 19.3861083, "lon": -99.1480654}, {"type": "node", "id": 12127398354, "lat": 19.3860716, "lon": -99.1480654}, {"type": "node", "id": 12130238435, "lat": 19.3949881, "lon": -99.1467406}, {"type": "node", "id": 12130238436, "lat": 19.3949895, "lon": -99.1467366}, {"type": "node", "id": 12130238437, "lat": 19.3945477, "lon": -99.1467441}, {"type": "node", "id": 12130238438, "lat": 19.3949844, "lon": -99.1467427}, {"type": "node", "id": 12130238439, "lat": 19.3949843, "lon": -99.1466559}, {"type": "node", "id": 12130238440, "lat": 19.3949858, "lon": -99.1466527}, {"type": "node", "id": 12130238441, "lat": 19.394988, "lon": -99.146651}, {"type": "node", "id": 12130238442, "lat": 19.3950357, "lon": -99.1466481}, {"type": "node", "id": 12130238443, "lat": 19.3950471, "lon": -99.1466422}, {"type": "node", "id": 12130238444, "lat": 19.3950478, "lon": -99.1466316}, {"type": "node", "id": 12130238445, "lat": 19.3950344, "lon": -99.1463887}, {"type": "node", "id": 12130238446, "lat": 19.395013, "lon": -99.1463424}, {"type": "node", "id": 12130238447, "lat": 19.3949658, "lon": -99.1463273}, {"type": "node", "id": 12130238448, "lat": 19.3944465, "lon": -99.1463781}, {"type": "node", "id": 12130312333, "lat": 19.394442, "lon": -99.1463118, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12130312334, "lat": 19.3944328, "lon": -99.1461632}, {"type": "node", "id": 12130312335, "lat": 19.3945186, "lon": -99.1474393}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378415, "lat": 19.3954879, "lon": -99.1534279}, {"type": "node", "id": 12729378416, "lat": 19.3954777, "lon": -99.1534533}, {"type": "node", "id": 12729378417, "lat": 19.3954882, "lon": -99.1536081}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378420, "lat": 19.395534, "lon": -99.1534124}, {"type": "node", "id": 12729378421, "lat": 19.3955105, "lon": -99.1534511}, {"type": "node", "id": 12729378422, "lat": 19.3955224, "lon": -99.1536058}, {"type": "node", "id": 12729378423, "lat": 19.3955435, "lon": -99.1536511}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "way", "id": 4758991, "nodes": [848504697, 268823948, 268823703, 268825077], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720966, "nodes": [275730003, 275730011, 275729255, 275730024, 275729078, 268684547, 1654476613], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734709, "nodes": [972127600, 268825077, 268825078, 268825079], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206905, "nodes": [274839883, 274839861, 11002645512, 2261531882, 274839860, 274839859], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206953, "nodes": [274840760, 274840761, 2261531864, 11002645511, 274840762, 274840763], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206978, "nodes": [274840988, 274840989], "tags": {"alt_name": "Manuel C. Rej\u00f3n", "highway": "residential", "name": "Calle Tepozteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206983, "nodes": [274841036, 274841037], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274428, "nodes": [275357285, 275358447, 275358138, 275357286], "tags": {"highway": "residential", "name": "Cerrada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274701, "nodes": [275358138, 275358139, 275357288], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274754, "nodes": [30789025, 8635168502, 275358464, 275358448], "tags": {"highway": "residential", "name": "Calle Pachuquilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275239, "nodes": [6366450919, 5478588609], "tags": {"highway": "service", "surface": "asphalt"}}, {"type": "way", "id": 25275242, "nodes": [275358446, 8204803728, 275361954, 8573147916, 8573196918, 8573196917, 8204803727, 8204803725, 8204803731, 275361955], "tags": {"highway": "service"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275336, "nodes": [275362851, 275362852, 8059712707], "tags": {"access": "private", "highway": "residential", "name": "Privada Eugenia", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312283, "nodes": [275729015, 275729078, 275730359, 275729079, 275730379, 275729080], "tags": {"highway": "residential", "name": "Calle Uni\u00f3n Postal", "surface": "asphalt"}}, {"type": "way", "id": 25312314, "nodes": [30340976, 275730003, 275730004, 275730384, 275730005, 275729940, 275731517, 6133056837, 275730007, 275731778, 275730008, 275731462, 275731679, 275731771, 275729960], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Ni\u00f1os H\u00e9roes de Chapultepec", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312317, "nodes": [30340979, 268684271, 275730024, 275730360, 275730025, 275730380, 6103699465], "tags": {"highway": "residential", "name": "Calle Estafetas", "surface": "asphalt"}}, {"type": "way", "id": 25312326, "nodes": [275358047, 275358048, 6133056839, 30340976], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012731, "nodes": [30340980, 275357288, 275358446, 30789030, 30789005, 30789031, 8572473122, 6459744104], "tags": {"destination:street": "Doctor V\u00e9rtiz", "highway": "tertiary", "lanes": "2", "name": "Calle Cumbres de Acultzingo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012733, "nodes": [275728758, 275730595, 275730552, 275728946, 5331687767, 275728947, 275730385, 6103699467, 275730363, 274840766, 275730358, 268684547, 268684270, 30340980], "tags": {"highway": "tertiary", "lanes": "4", "name": "Calle Correspondencia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 152643077, "nodes": [1654476615, 275730830, 6133056829, 275730003], "tags": {"highway": "residential", "name": "Calle Miguel Negrete", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738297, "nodes": [2261526396, 274841131, 274841130], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 545569482, "nodes": [30340976, 6133056838, 275357286, 10580335229], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 545569483, "nodes": [30340978, 11090423028, 30340979, 10580335231], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 569407348, "nodes": [274840030, 8063024658], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407356, "nodes": [2261526389, 11002645514, 274840029], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407359, "nodes": [30339687, 11002645513, 2261531886], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407362, "nodes": [2261531886, 8305044754, 8305044751, 268824891], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407371, "nodes": [274840982, 30339675], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407372, "nodes": [274840982, 274840981], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407374, "nodes": [30339675, 30789037, 474733239, 30759101], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407375, "nodes": [30339674, 30339675], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716828, "nodes": [268680218, 268680219, 268680220], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716835, "nodes": [30759079, 30789511, 3443604566, 8190543264, 8397788793], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716836, "nodes": [30759079, 268680220], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735721, "nodes": [268824117, 2261531878], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735727, "nodes": [274840764, 5478588609], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569750645, "nodes": [5478834661, 972127600], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750649, "nodes": [268824115, 30340606, 30340605], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750654, "nodes": [972127600, 2261531878, 2261531872, 2261531892], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750659, "nodes": [30385379, 268824115], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 570573279, "nodes": [274841036, 11002645510, 2261531895, 274841035, 274841034], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "asphalt"}}, {"type": "way", "id": 617169949, "nodes": [275730011, 275730362, 275730013, 275730383, 275730014, 275730549, 268684937, 275730541, 275730015, 275731777, 275730016, 275730579, 275730017, 275731728, 275730852, 2404259811, 275730018], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177547, "nodes": [30788901, 275512786, 275512762, 30340093, 30341040, 30341028, 8572771484, 30758688, 30594502, 30758812, 30340918, 30789024, 5134866934, 30789025, 30789026, 268679231], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177555, "nodes": [30594516, 30789037, 30789038, 31180765, 268679153], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177557, "nodes": [5834951267, 31180763, 30789034, 474733239, 30789036, 30340916, 30341031, 30341032, 30341027, 30341033, 30340092], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241629, "nodes": [268680220, 30759097, 30759098, 30759099, 274840982], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241637, "nodes": [30759101, 30789008, 5834951265, 5834951263, 30789005], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510824, "nodes": [2261531872, 268824118, 268823948, 268824895, 268824329], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617513716, "nodes": [268825211, 268825212, 5478834663], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523305, "nodes": [274839438, 268679153, 5834951267, 5834951264, 5834951265], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617525566, "nodes": [275730357, 275730358, 275730359, 275730360, 275730361, 275730362], "tags": {"highway": "residential", "name": "Calle Alicante", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617628977, "nodes": [268684269, 6133056835, 268684270, 275729015, 268684271], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201785, "nodes": [5834951266, 5834951267], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "surface": "asphalt"}}, {"type": "way", "id": 651201786, "nodes": [30789031, 274840989, 5834951266], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201787, "nodes": [268679153, 6106908849], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 654523414, "nodes": [6133056835, 6133056834], "tags": {"highway": "residential", "name": "Calle Tarragona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523417, "nodes": [6133056838, 7196556558, 6133056832, 8573196922, 8573196923, 6133056828], "tags": {"highway": "residential", "name": "Privada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 654523418, "nodes": [6133056839, 6133056832], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "surface": "asphalt"}}, {"type": "way", "id": 654523419, "nodes": [6133056836, 6133056829, 6133056833], "tags": {"highway": "residential", "name": "Cerrada Miguel Negrete", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523420, "nodes": [274840763, 7965846822, 274839883, 274839435], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523421, "nodes": [7998736244, 274839882, 7965846823, 274840764], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654529957, "nodes": [2261531886, 2261531882, 2261531864, 2261531895], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 679941340, "nodes": [275357286, 275730011], "tags": {"highway": "residential", "name": "Calle Guipuzcoa", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 688738218, "nodes": [275731110, 275731076, 275731458, 275722668, 268623830, 275731590, 8573119593, 268623829, 275729938, 5837379698, 275730002, 1654476615, 1654476619, 268623769], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745179443, "nodes": [275358446, 31180738, 275358447, 6133056828, 275358048, 5834951262], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 832377171, "nodes": [30789027, 30789028, 30789030], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847117304, "nodes": [30759101, 5134866934, 8186010147, 8573175898, 8186010149, 12125771324, 8392318114], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847117306, "nodes": [268679232, 275729996, 5837379699, 268679233, 8573120745, 275730890, 275730909, 6133311977, 268679234, 268679235, 275722667, 275715032, 275731024, 30788443], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150770, "nodes": [5478834661, 11002645509, 30385379], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150771, "nodes": [2261531895, 5478834663, 5478834661], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 854150772, "nodes": [972127600, 268824117, 268824118, 8063269395], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150773, "nodes": [268825077, 5478834661], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150774, "nodes": [30385379, 7965846824, 274841037, 6366450919], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150775, "nodes": [268824115, 11002645508, 972127600], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156345, "nodes": [7965846822, 7965846823], "tags": {"highway": "secondary_link", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 854156346, "nodes": [7965846824, 7965846825], "tags": {"highway": "secondary_link", "lanes": "1", "surface": "asphalt"}}, {"type": "way", "id": 854156347, "nodes": [5478588609, 8204799891, 7965846825, 268824115], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156348, "nodes": [5478588609, 8060541754], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 854156349, "nodes": [6366450919, 274840763], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212807, "nodes": [268623769, 275358048], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212808, "nodes": [275358047, 5834951262, 275358448, 268679232], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212809, "nodes": [275358048, 30789027, 5834951263, 5834951266, 6106908849, 274839437], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212810, "nodes": [268679232, 268623769], "tags": {"alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 864212812, "nodes": [5834951265, 268679231, 275358047], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864303956, "nodes": [8051918561, 8051918559], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864303957, "nodes": [8051918559, 8840210606], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864687987, "nodes": [30340917, 12127380077, 30789010, 30759101], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864813907, "nodes": [8060541754, 275361924], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864815592, "nodes": [2261526389, 2261531886], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815593, "nodes": [2261526396, 2261526389], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815598, "nodes": [30339687, 274839861, 274840762, 274841036, 30385379], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815599, "nodes": [274840029, 30339687], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865060276, "nodes": [8063024658, 2261526389], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 880027732, "nodes": [8186010147, 8186017343], "tags": {"highway": "residential"}}, {"type": "way", "id": 881951123, "nodes": [8202051093, 8201968873, 8201925194], "tags": {"highway": "service"}}, {"type": "way", "id": 881951124, "nodes": [8201925194, 8201925198, 8573147912, 8573147913, 8573147914, 8201925193, 8573147907, 8573147915, 8573147908, 8201925195, 8573147909, 8573147910, 8573147911, 8201925194], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 882266475, "nodes": [8204803726, 8204803725], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266476, "nodes": [8204803729, 8204803727], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266477, "nodes": [8204803731, 8204803730, 8573196921, 8573196920, 8573196919, 8204803726, 8204803729, 8204803728], "tags": {"highway": "service"}}, {"type": "way", "id": 882267474, "nodes": [8204799891, 8204799889, 8204799890], "tags": {"highway": "service"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885396010, "nodes": [8233244551, 8233244550, 8233244549], "tags": {"highway": "service"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903606641, "nodes": [10573836757, 8840210606, 10573836758, 268679232], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Viaducto Miguel Alem\u00e1n", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903977891, "nodes": [8395534202, 30340976], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 903977892, "nodes": [268623769, 6133056833, 8395534202], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 923566536, "nodes": [8573175898, 8573175897], "tags": {"highway": "service"}}, {"type": "way", "id": 923568859, "nodes": [8573147904, 8573147890, 8573147899, 8573147891, 8573147903, 8573147898, 8573147889, 8573147900, 8573147902, 8573147895, 8573147896, 8573147897, 8573147905, 8573147901, 8573147892, 8573147893, 8573147894, 8573147904], "tags": {"highway": "service"}}, {"type": "way", "id": 923568860, "nodes": [8573147906, 8573147888, 8573147905], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 931388349, "nodes": [8635168502, 8635168501, 8635168500, 8635168499], "tags": {"highway": "service"}}, {"type": "way", "id": 1134989470, "nodes": [10580335229, 30340978], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989471, "nodes": [30340980, 8202051093, 8573147906, 6133056834, 12130312334, 10580335234], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989472, "nodes": [10580335231, 30340980], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989473, "nodes": [10580335234, 30340605], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1163653161, "nodes": [274839882, 274839883], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 1174933310, "nodes": [8063206410, 30759095, 30759096, 30789525, 30759079], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175125086, "nodes": [275729251, 275730540, 275729252, 275730548, 275729253, 275730382, 275729254, 275730361, 275729255, 30340978], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Ahorro Postal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576962, "nodes": [11002633301, 11002633302, 11002633303, 11002633304], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576963, "nodes": [11002633304, 11002645505, 11002645506, 11002633301], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576964, "nodes": [11002633304, 11002645507, 11002645508, 11002645509, 11002645510, 11002645511, 11002645512, 11002645513, 11002645514], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1251051049, "nodes": [8186017343, 8186010146, 11863861859], "tags": {"access": "private", "highway": "service"}}, {"type": "way", "id": 1309519507, "nodes": [12125812998, 275357285], "tags": {"highway": "residential"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1309809732, "nodes": [8186010149, 12127398354, 12127398353, 12127398352, 12127398351], "tags": {"highway": "service"}}, {"type": "way", "id": 1310331388, "nodes": [12130312335, 12130238448, 12130312333, 12130312334], "tags": {"highway": "service"}}, {"type": "way", "id": 1310350522, "nodes": [12130238448, 12130238447, 12130238446, 12130238445, 12130238444, 12130238443, 12130238442, 12130238441, 12130238440, 12130238439, 12130238436, 12130238435, 12130238438, 12130238437], "tags": {"highway": "service"}}, {"type": "way", "id": 1374805848, "nodes": [12729378417, 12729378416], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805849, "nodes": [12729378418, 12729378417], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805850, "nodes": [12729378416, 12729378415, 12729378420], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805851, "nodes": [12729378422, 12729378421], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805852, "nodes": [12729378424, 12729378423, 12729378422], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805853, "nodes": [12729378421, 12729378420, 12729378419], "tags": {"highway": "service", "oneway": "yes"}}]} \ No newline at end of file diff --git a/cache/66e7a735845e978fac255636b4cf057313ad8e96.json b/cache/66e7a735845e978fac255636b4cf057313ad8e96.json new file mode 100644 index 0000000..39678d8 --- /dev/null +++ b/cache/66e7a735845e978fac255636b4cf057313ad8e96.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:09:09Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/6912443bedf1ea3fd3f9a92748efbe8a9972a479.json b/cache/6912443bedf1ea3fd3f9a92748efbe8a9972a479.json new file mode 100644 index 0000000..e45d79f --- /dev/null +++ b/cache/6912443bedf1ea3fd3f9a92748efbe8a9972a479.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:17:25Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30340903, "lat": 19.3856996, "lon": -99.1597373}, {"type": "node", "id": 30340904, "lat": 19.3855537, "lon": -99.1590473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340905, "lat": 19.3853852, "lon": -99.1582603}, {"type": "node", "id": 30340906, "lat": 19.3852178, "lon": -99.1574967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340909, "lat": 19.384773, "lon": -99.1549446}, {"type": "node", "id": 30341110, "lat": 19.3859474, "lon": -99.1573205}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30384303, "lat": 19.3875045, "lon": -99.1616297}, {"type": "node", "id": 30385356, "lat": 19.3840501, "lon": -99.1632646}, {"type": "node", "id": 30385360, "lat": 19.3832214, "lon": -99.1596316}, {"type": "node", "id": 30385361, "lat": 19.3830423, "lon": -99.1588289}, {"type": "node", "id": 30385366, "lat": 19.3823046, "lon": -99.1552998}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385577, "lat": 19.3896814, "lon": -99.1634317, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594254, "lat": 19.3919338, "lon": -99.162896, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30595044, "lat": 19.396359, "lon": -99.1617941, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30758974, "lat": 19.3911798, "lon": -99.1732429}, {"type": "node", "id": 30759076, "lat": 19.3890109, "lon": -99.1636072, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30759077, "lat": 19.3888011, "lon": -99.1626713, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759080, "lat": 19.3909386, "lon": -99.1721744}, {"type": "node", "id": 30759081, "lat": 19.3907363, "lon": -99.1712879}, {"type": "node", "id": 30759082, "lat": 19.3905579, "lon": -99.1704944}, {"type": "node", "id": 30759083, "lat": 19.3904137, "lon": -99.1698528}, {"type": "node", "id": 30759084, "lat": 19.3902539, "lon": -99.1691419}, {"type": "node", "id": 30759085, "lat": 19.3901386, "lon": -99.1686292}, {"type": "node", "id": 30759086, "lat": 19.3900093, "lon": -99.1680537}, {"type": "node", "id": 30759090, "lat": 19.3883669, "lon": -99.1606494}, {"type": "node", "id": 30759092, "lat": 19.3880382, "lon": -99.1591494}, {"type": "node", "id": 30759093, "lat": 19.3878746, "lon": -99.1583942}, {"type": "node", "id": 30759094, "lat": 19.3877136, "lon": -99.1576975}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789511, "lat": 19.3867359, "lon": -99.1546747}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789555, "lat": 19.4038334, "lon": -99.1562967}, {"type": "node", "id": 30789556, "lat": 19.4018135, "lon": -99.1564058}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789564, "lat": 19.4001933, "lon": -99.156523}, {"type": "node", "id": 30789608, "lat": 19.4037424, "lon": -99.156961}, {"type": "node", "id": 30789609, "lat": 19.4017821, "lon": -99.1571008, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789610, "lat": 19.3959554, "lon": -99.1575343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789617, "lat": 19.4002353, "lon": -99.1571907}, {"type": "node", "id": 30789621, "lat": 19.4022924, "lon": -99.1571282}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 30789626, "lat": 19.3947065, "lon": -99.1583197}, {"type": "node", "id": 30789627, "lat": 19.395996, "lon": -99.1582139}, {"type": "node", "id": 30789629, "lat": 19.4002796, "lon": -99.1578942}, {"type": "node", "id": 30789639, "lat": 19.3835387, "lon": -99.1610075}, {"type": "node", "id": 30789642, "lat": 19.3882121, "lon": -99.1599523}, {"type": "node", "id": 30879851, "lat": 19.3910545, "lon": -99.164646, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879876, "lat": 19.3893334, "lon": -99.1650475}, {"type": "node", "id": 30879979, "lat": 19.3925149, "lon": -99.1659571, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879982, "lat": 19.3896669, "lon": -99.1665309, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30880012, "lat": 19.3897102, "lon": -99.1667189, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180208, "lat": 19.3807037, "lon": -99.1596107}, {"type": "node", "id": 31180210, "lat": 19.381316, "lon": -99.159409}, {"type": "node", "id": 31180442, "lat": 19.3799264, "lon": -99.1642742, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180751, "lat": 19.3925792, "lon": -99.1658217, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180771, "lat": 19.392257, "lon": -99.1643611, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268680218, "lat": 19.3848323, "lon": -99.1556101, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680219, "lat": 19.3862381, "lon": -99.1548009}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 274839056, "lat": 19.4014116, "lon": -99.159862, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274839133, "lat": 19.4015812, "lon": -99.157811}, {"type": "node", "id": 274839134, "lat": 19.4016233, "lon": -99.1570994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839135, "lat": 19.4016498, "lon": -99.1564169}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839219, "lat": 19.403328, "lon": -99.1584329}, {"type": "node", "id": 274839225, "lat": 19.4029276, "lon": -99.1584153}, {"type": "node", "id": 274839226, "lat": 19.402824, "lon": -99.1584341}, {"type": "node", "id": 274839227, "lat": 19.4024851, "lon": -99.1585269}, {"type": "node", "id": 274839228, "lat": 19.4023593, "lon": -99.1585418}, {"type": "node", "id": 274839229, "lat": 19.4016782, "lon": -99.1585052, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839231, "lat": 19.4003223, "lon": -99.1585614}, {"type": "node", "id": 274839232, "lat": 19.3985295, "lon": -99.1587167}, {"type": "node", "id": 274839233, "lat": 19.3984035, "lon": -99.1587283}, {"type": "node", "id": 274839236, "lat": 19.3983975, "lon": -99.1566803}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 274841162, "lat": 19.4014747, "lon": -99.1591528}, {"type": "node", "id": 274841235, "lat": 19.3960859, "lon": -99.1595802}, {"type": "node", "id": 274841370, "lat": 19.3914584, "lon": -99.1607406}, {"type": "node", "id": 274841371, "lat": 19.3903173, "lon": -99.1610453}, {"type": "node", "id": 274841372, "lat": 19.4004278, "lon": -99.1599537}, {"type": "node", "id": 274841373, "lat": 19.3986425, "lon": -99.1601016}, {"type": "node", "id": 274841374, "lat": 19.3984977, "lon": -99.1601128}, {"type": "node", "id": 274841375, "lat": 19.396131, "lon": -99.1602967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274841376, "lat": 19.3918743, "lon": -99.1606232}, {"type": "node", "id": 274841379, "lat": 19.396173, "lon": -99.1609452, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841382, "lat": 19.3916038, "lon": -99.1613788}, {"type": "node", "id": 274841383, "lat": 19.388294, "lon": -99.1622206}, {"type": "node", "id": 274841384, "lat": 19.3863605, "lon": -99.1627056, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841385, "lat": 19.3822616, "lon": -99.1636865, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275362223, "lat": 19.3941276, "lon": -99.1597379}, {"type": "node", "id": 275362224, "lat": 19.3941157, "lon": -99.1604533}, {"type": "node", "id": 275362225, "lat": 19.3940837, "lon": -99.1611412}, {"type": "node", "id": 275362227, "lat": 19.3940392, "lon": -99.1623582, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275363142, "lat": 19.3929403, "lon": -99.1611438}, {"type": "node", "id": 275363143, "lat": 19.3933116, "lon": -99.1604948}, {"type": "node", "id": 275363144, "lat": 19.3937248, "lon": -99.1597728}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275363146, "lat": 19.3945669, "lon": -99.1583438}, {"type": "node", "id": 275363147, "lat": 19.394987, "lon": -99.1576158}, {"type": "node", "id": 275364246, "lat": 19.3941374, "lon": -99.1593001}, {"type": "node", "id": 275364248, "lat": 19.393445, "lon": -99.1604893}, {"type": "node", "id": 275364249, "lat": 19.3930404, "lon": -99.1611679}, {"type": "node", "id": 275364495, "lat": 19.3960418, "lon": -99.1589094, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364499, "lat": 19.3858681, "lon": -99.160529}, {"type": "node", "id": 275364506, "lat": 19.3858522, "lon": -99.1604544}, {"type": "node", "id": 275364534, "lat": 19.3881922, "lon": -99.1598607}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275364819, "lat": 19.3873102, "lon": -99.1624698}, {"type": "node", "id": 275365144, "lat": 19.3877785, "lon": -99.1617953}, {"type": "node", "id": 275366627, "lat": 19.3881232, "lon": -99.1622639}, {"type": "node", "id": 275366642, "lat": 19.3895073, "lon": -99.1634765, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 275366643, "lat": 19.388853, "lon": -99.1629108, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275366644, "lat": 19.3876828, "lon": -99.1618921}, {"type": "node", "id": 275366645, "lat": 19.3873993, "lon": -99.1617044}, {"type": "node", "id": 275366646, "lat": 19.3870714, "lon": -99.1615499, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 275406302, "lat": 19.38892, "lon": -99.1632087}, {"type": "node", "id": 275406563, "lat": 19.3885291, "lon": -99.1633057}, {"type": "node", "id": 275407052, "lat": 19.389176, "lon": -99.164332}, {"type": "node", "id": 275407669, "lat": 19.3894865, "lon": -99.1657337}, {"type": "node", "id": 275407915, "lat": 19.387172, "lon": -99.1614815}, {"type": "node", "id": 275409630, "lat": 19.3942007, "lon": -99.1631037}, {"type": "node", "id": 275409853, "lat": 19.3954117, "lon": -99.163549}, {"type": "node", "id": 275410046, "lat": 19.3952557, "lon": -99.1628374}, {"type": "node", "id": 275410047, "lat": 19.3951871, "lon": -99.1620832}, {"type": "node", "id": 275511758, "lat": 19.3846416, "lon": -99.1607473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275511759, "lat": 19.3844245, "lon": -99.1607973, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275513555, "lat": 19.3807069, "lon": -99.1640625}, {"type": "node", "id": 275513562, "lat": 19.381485, "lon": -99.1638695}, {"type": "node", "id": 854385866, "lat": 19.3860688, "lon": -99.1627747}, {"type": "node", "id": 854403260, "lat": 19.3942751, "lon": -99.1590602}, {"type": "node", "id": 854403267, "lat": 19.3941669, "lon": -99.159022}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 874499048, "lat": 19.3951243, "lon": -99.1576043}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987438, "lat": 19.3962985, "lon": -99.1609345, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987444, "lat": 19.3962562, "lon": -99.160287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987447, "lat": 19.3962056, "lon": -99.1595716}, {"type": "node", "id": 900987452, "lat": 19.3961198, "lon": -99.1582009}, {"type": "node", "id": 900987455, "lat": 19.3960797, "lon": -99.1575252, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987457, "lat": 19.3960375, "lon": -99.1568498, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 1140221617, "lat": 19.3961633, "lon": -99.158896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461031, "lat": 19.3913446, "lon": -99.1639973}, {"type": "node", "id": 1420461034, "lat": 19.3926761, "lon": -99.1611436}, {"type": "node", "id": 1420461035, "lat": 19.3932259, "lon": -99.1611896}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1933202103, "lat": 19.3940683, "lon": -99.1615416}, {"type": "node", "id": 1964030273, "lat": 19.3982348, "lon": -99.1559205, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1964030274, "lat": 19.3982707, "lon": -99.1566925}, {"type": "node", "id": 1964030275, "lat": 19.3983115, "lon": -99.157367}, {"type": "node", "id": 1964030278, "lat": 19.3983592, "lon": -99.1580517}, {"type": "node", "id": 1964030279, "lat": 19.3984478, "lon": -99.1573571}, {"type": "node", "id": 1964030280, "lat": 19.3984896, "lon": -99.1580415}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3443604566, "lat": 19.3855991, "lon": -99.1553272}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 4036550995, "lat": 19.3886821, "lon": -99.1621223}, {"type": "node", "id": 4070528816, "lat": 19.400928, "lon": -99.1564682}, {"type": "node", "id": 4135213738, "lat": 19.3904719, "lon": -99.1641301}, {"type": "node", "id": 4135213749, "lat": 19.3915034, "lon": -99.1650484}, {"type": "node", "id": 4149628081, "lat": 19.3984544, "lon": -99.1593928}, {"type": "node", "id": 4149628082, "lat": 19.3985819, "lon": -99.1593826}, {"type": "node", "id": 4161648925, "lat": 19.3938674, "lon": -99.1597653}, {"type": "node", "id": 4788993870, "lat": 19.4003642, "lon": -99.1592408}, {"type": "node", "id": 5040258790, "lat": 19.3818079, "lon": -99.1599234}, {"type": "node", "id": 5132951388, "lat": 19.3934177, "lon": -99.161734}, {"type": "node", "id": 5475796533, "lat": 19.3884769, "lon": -99.1611747}, {"type": "node", "id": 5475796534, "lat": 19.3885691, "lon": -99.1616001}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5476240716, "lat": 19.3819091, "lon": -99.1599578}, {"type": "node", "id": 5494680257, "lat": 19.3872494, "lon": -99.1616227}, {"type": "node", "id": 5835040398, "lat": 19.3855363, "lon": -99.15896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040399, "lat": 19.3832, "lon": -99.1595386}, {"type": "node", "id": 5835040400, "lat": 19.3860199, "lon": -99.1612366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040401, "lat": 19.3861752, "lon": -99.1611888, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040404, "lat": 19.3859978, "lon": -99.1611383, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 5891567286, "lat": 19.388521, "lon": -99.161612, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 5891567287, "lat": 19.3886376, "lon": -99.1621335}, {"type": "node", "id": 5891567290, "lat": 19.3888999, "lon": -99.1632137}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181807, "lat": 19.3960053, "lon": -99.1563666}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133181828, "lat": 19.4014066, "lon": -99.1571144}, {"type": "node", "id": 6133225299, "lat": 19.3905788, "lon": -99.1605702}, {"type": "node", "id": 6133225300, "lat": 19.3897229, "lon": -99.1618586}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225302, "lat": 19.3906341, "lon": -99.1608382}, {"type": "node", "id": 6133225303, "lat": 19.3910014, "lon": -99.1623112}, {"type": "node", "id": 6133225304, "lat": 19.3900488, "lon": -99.1633437}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6133225306, "lat": 19.3908272, "lon": -99.1615739}, {"type": "node", "id": 6221657650, "lat": 19.4013765, "lon": -99.1598655}, {"type": "node", "id": 6221657651, "lat": 19.4014368, "lon": -99.1591553}, {"type": "node", "id": 6221657652, "lat": 19.4015287, "lon": -99.1584979, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6221657653, "lat": 19.4015059, "lon": -99.1578134}, {"type": "node", "id": 6221657655, "lat": 19.4015818, "lon": -99.1564193}, {"type": "node", "id": 6416401255, "lat": 19.3925526, "lon": -99.1611629}, {"type": "node", "id": 6416401256, "lat": 19.3922736, "lon": -99.1605793}, {"type": "node", "id": 6416401257, "lat": 19.3920442, "lon": -99.1605961}, {"type": "node", "id": 6416401258, "lat": 19.3928028, "lon": -99.1611358}, {"type": "node", "id": 6507300088, "lat": 19.3920054, "lon": -99.1627909}, {"type": "node", "id": 6507300089, "lat": 19.3920647, "lon": -99.1626115}, {"type": "node", "id": 6507300090, "lat": 19.3921543, "lon": -99.1626638}, {"type": "node", "id": 8059695780, "lat": 19.3867277, "lon": -99.1586687}, {"type": "node", "id": 8059695781, "lat": 19.3867468, "lon": -99.1587497}, {"type": "node", "id": 8059695782, "lat": 19.3857499, "lon": -99.1589983}, {"type": "node", "id": 8059695783, "lat": 19.3857308, "lon": -99.1589074}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8066221761, "lat": 19.3868926, "lon": -99.1614953}, {"type": "node", "id": 8066221762, "lat": 19.3875416, "lon": -99.161793}, {"type": "node", "id": 8066221763, "lat": 19.3873556, "lon": -99.1615543}, {"type": "node", "id": 8066221764, "lat": 19.3864869, "lon": -99.1612786}, {"type": "node", "id": 8066221765, "lat": 19.38648, "lon": -99.1612422}, {"type": "node", "id": 8066221766, "lat": 19.3864791, "lon": -99.1612052}, {"type": "node", "id": 8066221767, "lat": 19.3864842, "lon": -99.1611685}, {"type": "node", "id": 8066221768, "lat": 19.386495, "lon": -99.1611332}, {"type": "node", "id": 8066221769, "lat": 19.3865114, "lon": -99.1611005}, {"type": "node", "id": 8066335563, "lat": 19.3870984, "lon": -99.1614597, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8066625614, "lat": 19.3918124, "lon": -99.163177}, {"type": "node", "id": 8066625615, "lat": 19.3919636, "lon": -99.1630309}, {"type": "node", "id": 8081956081, "lat": 19.3919888, "lon": -99.165484, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8190543264, "lat": 19.3854641, "lon": -99.1554085}, {"type": "node", "id": 8195270562, "lat": 19.3878368, "lon": -99.1617809, "tags": {"access": "no", "barrier": "gate"}}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8229976722, "lat": 19.389823, "lon": -99.1672221}, {"type": "node", "id": 8233172131, "lat": 19.3928301, "lon": -99.1574713}, {"type": "node", "id": 8233172132, "lat": 19.3928434, "lon": -99.1577294, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172133, "lat": 19.3928446, "lon": -99.1577826}, {"type": "node", "id": 8233172134, "lat": 19.3924132, "lon": -99.1571273}, {"type": "node", "id": 8233172135, "lat": 19.3924297, "lon": -99.157472}, {"type": "node", "id": 8233172136, "lat": 19.3924575, "lon": -99.1566163}, {"type": "node", "id": 8233172137, "lat": 19.392455, "lon": -99.1564755, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233172139, "lat": 19.391311, "lon": -99.1572278}, {"type": "node", "id": 8233172140, "lat": 19.3913253, "lon": -99.1575524}, {"type": "node", "id": 8233172141, "lat": 19.387215, "lon": -99.1570084}, {"type": "node", "id": 8233172142, "lat": 19.3872835, "lon": -99.1573687}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233207642, "lat": 19.3942551, "lon": -99.156564}, {"type": "node", "id": 8233244549, "lat": 19.3891659, "lon": -99.1564031}, {"type": "node", "id": 8233244550, "lat": 19.3891495, "lon": -99.1562583}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233348336, "lat": 19.3886399, "lon": -99.1614761, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233348337, "lat": 19.3898408, "lon": -99.1611703}, {"type": "node", "id": 8233348338, "lat": 19.389752, "lon": -99.1608431}, {"type": "node", "id": 8233348339, "lat": 19.3896627, "lon": -99.1608794}, {"type": "node", "id": 8233348340, "lat": 19.3897253, "lon": -99.1612386}, {"type": "node", "id": 8233348341, "lat": 19.3885439, "lon": -99.1614951}, {"type": "node", "id": 8233380395, "lat": 19.3954445, "lon": -99.1610135}, {"type": "node", "id": 8233380396, "lat": 19.395448, "lon": -99.1611211, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233380397, "lat": 19.3954657, "lon": -99.1615154}, {"type": "node", "id": 8233488843, "lat": 19.3876168, "lon": -99.1623921}, {"type": "node", "id": 8233488844, "lat": 19.387787, "lon": -99.1630992}, {"type": "node", "id": 8233649161, "lat": 19.3912494, "lon": -99.1625266}, {"type": "node", "id": 8233649162, "lat": 19.3913443, "lon": -99.1629316, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233649163, "lat": 19.3913652, "lon": -99.1630299}, {"type": "node", "id": 8233649164, "lat": 19.3907295, "lon": -99.1622758}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8233649166, "lat": 19.3879004, "lon": -99.1623203}, {"type": "node", "id": 8233649167, "lat": 19.3880514, "lon": -99.163}, {"type": "node", "id": 8233701230, "lat": 19.3932671, "lon": -99.1621631}, {"type": "node", "id": 8233701231, "lat": 19.3933241, "lon": -99.1624542, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233701232, "lat": 19.3933404, "lon": -99.1625252}, {"type": "node", "id": 8233701233, "lat": 19.392035, "lon": -99.1619043}, {"type": "node", "id": 8233701235, "lat": 19.3917339, "lon": -99.1619767}, {"type": "node", "id": 8233994249, "lat": 19.3879848, "lon": -99.1584061}, {"type": "node", "id": 8233994250, "lat": 19.3878921, "lon": -99.1584751}, {"type": "node", "id": 8234143270, "lat": 19.3870514, "lon": -99.1601502}, {"type": "node", "id": 8234143271, "lat": 19.3870742, "lon": -99.160231}, {"type": "node", "id": 8234143272, "lat": 19.3889956, "lon": -99.1596132}, {"type": "node", "id": 8234143273, "lat": 19.3890172, "lon": -99.1596947}, {"type": "node", "id": 8236937237, "lat": 19.3948611, "lon": -99.1611721}, {"type": "node", "id": 8236937238, "lat": 19.3952877, "lon": -99.1610282}, {"type": "node", "id": 8236937239, "lat": 19.3952368, "lon": -99.1610956}, {"type": "node", "id": 8236937240, "lat": 19.3951697, "lon": -99.1611493}, {"type": "node", "id": 8236937241, "lat": 19.3950454, "lon": -99.1611768}, {"type": "node", "id": 8236937242, "lat": 19.3949359, "lon": -99.1611858}, {"type": "node", "id": 8236937243, "lat": 19.3948054, "lon": -99.1611412}, {"type": "node", "id": 8236937244, "lat": 19.3947485, "lon": -99.1610788}, {"type": "node", "id": 8236990006, "lat": 19.3894063, "lon": -99.1606443, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8236990007, "lat": 19.3890157, "lon": -99.1606801}, {"type": "node", "id": 8236990008, "lat": 19.388899, "lon": -99.1605364, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236990009, "lat": 19.3888444, "lon": -99.1604745}, {"type": "node", "id": 8237082668, "lat": 19.3925818, "lon": -99.1627194}, {"type": "node", "id": 8237082669, "lat": 19.3926081, "lon": -99.1628149, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8237082670, "lat": 19.3927624, "lon": -99.1634238}, {"type": "node", "id": 8239360997, "lat": 19.3815101, "lon": -99.1593444}, {"type": "node", "id": 8239361012, "lat": 19.3856674, "lon": -99.1628719}, {"type": "node", "id": 8239361014, "lat": 19.3858264, "lon": -99.1628333}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8239782510, "lat": 19.3834249, "lon": -99.1634121}, {"type": "node", "id": 8239810223, "lat": 19.3959622, "lon": -99.1618877}, {"type": "node", "id": 8240007615, "lat": 19.3860197, "lon": -99.1576383, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8240138231, "lat": 19.3859062, "lon": -99.1628139}, {"type": "node", "id": 8240182412, "lat": 19.3843661, "lon": -99.1592496}, {"type": "node", "id": 8240182413, "lat": 19.3843858, "lon": -99.1593398}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8395187915, "lat": 19.3820132, "lon": -99.1599303, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8558399577, "lat": 19.3931343, "lon": -99.1611838}, {"type": "node", "id": 8558509854, "lat": 19.3920329, "lon": -99.1626878}, {"type": "node", "id": 8558509855, "lat": 19.3920911, "lon": -99.1627315}, {"type": "node", "id": 8558509857, "lat": 19.3890347, "lon": -99.1606883}, {"type": "node", "id": 8558509858, "lat": 19.3890551, "lon": -99.1606896}, {"type": "node", "id": 8558509859, "lat": 19.3890002, "lon": -99.1606659}, {"type": "node", "id": 8558509860, "lat": 19.389829, "lon": -99.1611967}, {"type": "node", "id": 8558509861, "lat": 19.3898077, "lon": -99.1612153}, {"type": "node", "id": 8558509862, "lat": 19.3897239, "lon": -99.160837}, {"type": "node", "id": 8558509863, "lat": 19.3897746, "lon": -99.1608617}, {"type": "node", "id": 8558509864, "lat": 19.3897871, "lon": -99.160889}, {"type": "node", "id": 8558509865, "lat": 19.3896597, "lon": -99.1609176}, {"type": "node", "id": 8558509866, "lat": 19.389685, "lon": -99.1608493}, {"type": "node", "id": 8558509867, "lat": 19.3897194, "lon": -99.1608372}, {"type": "node", "id": 8558509868, "lat": 19.3898408, "lon": -99.161141}, {"type": "node", "id": 8558680555, "lat": 19.3918629, "lon": -99.1631211}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573018495, "lat": 19.3859332, "lon": -99.1547908}, {"type": "node", "id": 8573018496, "lat": 19.3860521, "lon": -99.1547891}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121039, "lat": 19.3951112, "lon": -99.1554851}, {"type": "node", "id": 8573121040, "lat": 19.3950955, "lon": -99.155473}, {"type": "node", "id": 8573121041, "lat": 19.3951305, "lon": -99.1554868}, {"type": "node", "id": 8573121042, "lat": 19.395042, "lon": -99.1554007}, {"type": "node", "id": 8573121043, "lat": 19.3951478, "lon": -99.1554777}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121045, "lat": 19.3949129, "lon": -99.1557245}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 10144555427, "lat": 19.3921082, "lon": -99.1655914}, {"type": "node", "id": 10144555428, "lat": 19.3924796, "lon": -99.1653704}, {"type": "node", "id": 10144555429, "lat": 19.3922649, "lon": -99.1657323}, {"type": "node", "id": 10144555430, "lat": 19.3925236, "lon": -99.1655695}, {"type": "node", "id": 10184166093, "lat": 19.3953762, "lon": -99.1569351}, {"type": "node", "id": 10184166094, "lat": 19.3955402, "lon": -99.15689}, {"type": "node", "id": 10184166095, "lat": 19.3955172, "lon": -99.1569296}, {"type": "node", "id": 10184166096, "lat": 19.39542, "lon": -99.1569332}, {"type": "node", "id": 10184166101, "lat": 19.3950445, "lon": -99.157611}, {"type": "node", "id": 10266280489, "lat": 19.3954463, "lon": -99.1610673}, {"type": "node", "id": 10266303716, "lat": 19.3951224, "lon": -99.1622297}, {"type": "node", "id": 10266303717, "lat": 19.3951186, "lon": -99.1621938}, {"type": "node", "id": 10266303718, "lat": 19.39513, "lon": -99.1621545}, {"type": "node", "id": 10266303719, "lat": 19.3951408, "lon": -99.1621314}, {"type": "node", "id": 10266303731, "lat": 19.3941088, "lon": -99.1626796}, {"type": "node", "id": 10266303732, "lat": 19.3939435, "lon": -99.1627128}, {"type": "node", "id": 10266303733, "lat": 19.3936328, "lon": -99.1624553}, {"type": "node", "id": 10266303734, "lat": 19.3937165, "lon": -99.1628461}, {"type": "node", "id": 10266303735, "lat": 19.393885, "lon": -99.1625485}, {"type": "node", "id": 10266303736, "lat": 19.393691, "lon": -99.162727}, {"type": "node", "id": 10266303737, "lat": 19.3939034, "lon": -99.1626457}, {"type": "node", "id": 10266303738, "lat": 19.3936835, "lon": -99.1626921}, {"type": "node", "id": 10266303739, "lat": 19.3938945, "lon": -99.1625988}, {"type": "node", "id": 10266303740, "lat": 19.3936736, "lon": -99.162646}, {"type": "node", "id": 10266303741, "lat": 19.3939122, "lon": -99.1626901}, {"type": "node", "id": 10266303742, "lat": 19.3936931, "lon": -99.1627367}, {"type": "node", "id": 10266303743, "lat": 19.3936629, "lon": -99.1625957}, {"type": "node", "id": 10266303752, "lat": 19.3939226, "lon": -99.1627551}, {"type": "node", "id": 10266303753, "lat": 19.393707, "lon": -99.1628017}, {"type": "node", "id": 10266303759, "lat": 19.3941693, "lon": -99.162327, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303760, "lat": 19.3940573, "lon": -99.1624348, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303762, "lat": 19.3940398, "lon": -99.1622701, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303763, "lat": 19.3939799, "lon": -99.1623724, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303764, "lat": 19.3938814, "lon": -99.1626016}, {"type": "node", "id": 10938932923, "lat": 19.3923841, "lon": -99.1658386}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11155081773, "lat": 19.3875313, "lon": -99.1568446}, {"type": "node", "id": 11155081774, "lat": 19.3865148, "lon": -99.157094}, {"type": "node", "id": 11155081775, "lat": 19.3864615, "lon": -99.1571385}, {"type": "node", "id": 11155081776, "lat": 19.3853187, "lon": -99.1574264}, {"type": "node", "id": 11155081777, "lat": 19.3852019, "lon": -99.1574169}, {"type": "node", "id": 11155081778, "lat": 19.3853036, "lon": -99.1573602}, {"type": "node", "id": 11155081779, "lat": 19.3864486, "lon": -99.1570817}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863093424, "lat": 19.4025274, "lon": -99.1571073}, {"type": "node", "id": 11863276057, "lat": 19.4033288, "lon": -99.156324}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12127463544, "lat": 19.3987256, "lon": -99.1566516}, {"type": "node", "id": 12150524791, "lat": 19.3878932, "lon": -99.1618786}, {"type": "node", "id": 12150524792, "lat": 19.3880781, "lon": -99.1620288}, {"type": "node", "id": 12150524793, "lat": 19.388432, "lon": -99.1622707}, {"type": "node", "id": 12150524794, "lat": 19.3881185, "lon": -99.1623505}, {"type": "node", "id": 12150524795, "lat": 19.3879696, "lon": -99.1622162}, {"type": "node", "id": 12150524796, "lat": 19.3882888, "lon": -99.162142}, {"type": "node", "id": 12150524797, "lat": 19.3883581, "lon": -99.1622043, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524798, "lat": 19.3880445, "lon": -99.1622838, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524799, "lat": 19.3882228, "lon": -99.1621573, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524800, "lat": 19.3880458, "lon": -99.1621985, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542801, "lat": 19.3881981, "lon": -99.1623303, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542802, "lat": 19.3883686, "lon": -99.1622868, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542803, "lat": 19.3881819, "lon": -99.162121, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542804, "lat": 19.3881308, "lon": -99.1620755, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542805, "lat": 19.3882312, "lon": -99.1623596, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542806, "lat": 19.3882723, "lon": -99.162396, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542807, "lat": 19.3884269, "lon": -99.1621869, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542808, "lat": 19.3883815, "lon": -99.1621984, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12216478464, "lat": 19.3907408, "lon": -99.1638787}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12745366117, "lat": 19.388559, "lon": -99.1609341, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12745366118, "lat": 19.3886675, "lon": -99.1614696}, {"type": "node", "id": 12745366133, "lat": 19.3889481, "lon": -99.1614041}, {"type": "node", "id": 12745380343, "lat": 19.3885245, "lon": -99.1597583}, {"type": "node", "id": 12745380344, "lat": 19.3885481, "lon": -99.1598448}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206841, "nodes": [1140221617, 274839233, 274839232, 274839231, 6221657652, 274839229, 274839228, 274839227, 274839226, 274839225, 274839219], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206842, "nodes": [30789555, 11863276057, 30789556, 274839135, 6221657655, 4070528816, 30789564, 12127463544, 274839236, 1964030274, 900987457], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206844, "nodes": [274839133, 6221657653, 30789629, 1964030280, 1964030278, 900987452], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25207022, "nodes": [274841370, 274841371], "tags": {"highway": "residential", "name": "Cerrada Tercera Luz Savi\u00f1\u00f3n", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275413, "nodes": [854403260, 275364246, 4161648925, 275364248, 275364249, 6507300090, 8558509855, 6507300088], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275452, "nodes": [854403260, 275364495], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275456, "nodes": [30789639, 275511759, 275511758, 275364506, 8234143270, 275364534, 12745380343, 8234143272, 275364636, 275364637, 275364638, 854403267], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275496, "nodes": [5475796534, 5891567286], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25280960, "nodes": [275406302, 5891567290, 275406563], "tags": {"highway": "residential", "name": "Cerrada Tercera Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25281110, "nodes": [275407915, 5475796533], "tags": {"highway": "residential", "name": "Segunda Cerrada Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281397, "nodes": [275409853, 275410046, 10266303716, 10266303717, 10266303718, 10266303719, 275410047], "tags": {"highway": "residential", "name": "Primera Cerrada de Amores", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292249, "nodes": [8233994249, 5475796543, 30789612, 8233172133, 30789613], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 39600726, "nodes": [31180208, 31180210, 8239360997, 30385361, 30340905, 30759094, 30789558, 30789559, 8233172139, 8233172134, 30789560], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 396053581, "nodes": [275366627, 12150524798, 8233649166, 8233488843, 275364819, 274841384, 854385866, 8240138231, 8239361014, 8239361012, 30385356, 8239782510, 274841385, 275513562, 275513555, 31180442], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516278209, "nodes": [6507300088, 8558509854, 6507300089, 275363142, 275363143, 275363144, 275363145, 854403267, 275363146, 275363147], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516278210, "nodes": [900987455, 1964030275, 1964030279, 30789617, 6133181828, 274839134, 30789609, 30789621, 11863093424, 30789608], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516279875, "nodes": [5040258790, 5835040399, 8240182412, 5835040398, 8059695783, 8059695780, 30759093], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 528115481, "nodes": [1933202103, 5132951388], "tags": {"highway": "residential", "name": "Cerrada Aniceto Ortega"}}, {"type": "way", "id": 569407360, "nodes": [274841379, 274841375], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407361, "nodes": [900987438, 900987444], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422233, "nodes": [275366642, 30385577], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt", "turn:lanes": "left;through|through|through|none"}}, {"type": "way", "id": 569422234, "nodes": [275366642, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422235, "nodes": [30385577, 4135213738, 30879851, 4135213749, 8081956081, 10144555427, 10144555429, 10938932923, 30879979], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422237, "nodes": [30385577, 6133225304, 275358040, 8233649163, 30594254], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569422241, "nodes": [30759077, 4036550995, 5475796534, 8233348341, 5475796533, 30759090, 30789642, 275364534, 30759092, 8233994250, 30759093, 30759094, 30759078], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422243, "nodes": [275366643, 12150542806, 12150542805, 12150542801, 275366627], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422246, "nodes": [30759077, 30385577], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422252, "nodes": [30758974, 30759080, 30759081, 30759082, 30759083, 30759084, 30759085, 30759086, 8229976722, 30880012, 30879982, 275407669, 30879876, 275407052, 30759076, 275406302, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422254, "nodes": [274841383, 12150542802, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422256, "nodes": [274841383, 275366627], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422259, "nodes": [275366627, 12150524800, 275366644, 8066221762, 275366645, 5494680257, 275366646], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422268, "nodes": [274841162, 6221657651, 4788993870, 4149628082, 4149628081, 900987447], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 569716828, "nodes": [268680218, 268680219, 268680220], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716835, "nodes": [30759079, 30789511, 3443604566, 8190543264, 8397788793], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716836, "nodes": [30759079, 268680220], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241629, "nodes": [268680220, 30759097, 30759098, 30759099, 274840982], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617252030, "nodes": [275363144, 31180746, 5475796539, 8236990009, 30759090, 8066221769, 5835040401], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252032, "nodes": [275366646, 8066221761, 5835040400], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252034, "nodes": [275407915, 8066221763, 30384303, 275365144, 12150524791, 12150524792, 12150542804, 12150542803, 12150524799, 274841383], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257347, "nodes": [31180746, 274841370, 274841382, 8233701235, 30594254, 8066625615, 31180771, 10144555428, 10144555430, 31180751], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257349, "nodes": [275364246, 275362223, 275362224, 275362225, 1933202103, 10266303762, 275362227, 10266303760, 10266303731, 275409630], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 617260932, "nodes": [275363145, 275364497, 5475796542, 8234143273, 12745380344, 30789642, 8234143271, 275364499], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260934, "nodes": [30340903, 30759092, 5475796541, 30789624], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260945, "nodes": [275363142, 6416401258, 1420461034, 6416401255, 274841382, 6133225306, 5475796540, 6133225300, 4036550995, 5891567287, 12150542807, 12150542808, 12150524797, 274841383], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260947, "nodes": [30594254, 8237082668, 8233701232, 10266303733, 10266303763, 275362227], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281174, "nodes": [900987444, 274841374, 274841373, 274841372, 6221657650, 274839056], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 617281175, "nodes": [854403267, 854403260], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281178, "nodes": [274841379, 8233380395, 8236937238, 8236937244, 275362225, 1420461035, 8558399577, 275364249], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281194, "nodes": [854403260, 275363145], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281195, "nodes": [30789627, 30789626], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654544883, "nodes": [6133225303, 6133225306], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "surface": "concrete"}}, {"type": "way", "id": 654544885, "nodes": [6133225300, 6133225304], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654544887, "nodes": [6133225299, 6133225301], "tags": {"highway": "residential", "name": "Cerrada Segunda Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 654544889, "nodes": [6133225302, 6133225305], "tags": {"highway": "residential", "name": "Cerrada Primera Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 684805551, "nodes": [8233994250, 8059695781, 8059695782, 30340904, 8240182413, 30385360, 8395187915, 5476240716], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805561, "nodes": [30789613, 275363147], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 684805562, "nodes": [4161648925, 275363144], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805563, "nodes": [274841235, 275362223, 4161648925], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 684805564, "nodes": [275363143, 275364248], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805565, "nodes": [274841370, 274841376, 6416401257, 6416401256, 275363143], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805568, "nodes": [275364249, 275363142], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 691236413, "nodes": [8066625615, 8558680555, 8066625614, 1420461031], "tags": {"highway": "living_street", "name": "Avenida Colonia del Valle", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 691236414, "nodes": [12216478464, 275358040], "tags": {"highway": "living_street", "name": "Calle Torres Adalid", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 693114314, "nodes": [6507300088, 30594254], "tags": {"highway": "tertiary", "lanes": "4", "name": "Avenida Diagonal San Antonio", "surface": "asphalt"}}, {"type": "way", "id": 745184377, "nodes": [30789625, 275363146], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745184378, "nodes": [30789624, 30789625], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204514, "nodes": [5835040404, 5835040401, 8066221764, 8066335563, 275407915], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854210244, "nodes": [1964030273, 900987458], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 864705454, "nodes": [268680219, 8573018496, 8573018495, 30340909, 30385366], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864707790, "nodes": [8059695781, 8059695780], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864707791, "nodes": [8059695783, 8059695782], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865053902, "nodes": [30595076, 268679006], "tags": {"highway": "footway", "name": "Calle Y\u00e1catas"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865102381, "nodes": [5891567286, 8195270562], "tags": {"access": "private", "highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 865102382, "nodes": [874499049, 10184166094, 10184166095, 874499048, 30789626, 854403260], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865142318, "nodes": [900987457, 11002639734, 30789557], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 865393636, "nodes": [8066221769, 8066221768, 8066221767, 8066221766, 8066221765, 8066221764], "tags": {"highway": "secondary_link", "lanes": "1", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865397850, "nodes": [275366643, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865406778, "nodes": [275366646, 8066335563], "tags": {"footway": "crossing", "highway": "footway"}}, {"type": "way", "id": 881136974, "nodes": [8195270562, 275365144], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885384870, "nodes": [8233172132, 8233172131], "tags": {"highway": "service"}}, {"type": "way", "id": 885384871, "nodes": [8233172133, 8233172132], "tags": {"highway": "service"}}, {"type": "way", "id": 885384872, "nodes": [8233172135, 8233172134], "tags": {"highway": "service"}}, {"type": "way", "id": 885384873, "nodes": [8233172137, 8233172136], "tags": {"highway": "service"}}, {"type": "way", "id": 885384874, "nodes": [8233172138, 8233172137], "tags": {"highway": "service"}}, {"type": "way", "id": 885384875, "nodes": [8233172140, 8233172139], "tags": {"highway": "service"}}, {"type": "way", "id": 885384876, "nodes": [8233172142, 8233172141], "tags": {"highway": "service"}}, {"type": "way", "id": 885389948, "nodes": [8233207642, 8233207641], "tags": {"highway": "service"}}, {"type": "way", "id": 885396010, "nodes": [8233244551, 8233244550, 8233244549], "tags": {"highway": "service"}}, {"type": "way", "id": 885406722, "nodes": [8233348336, 12745366118, 12745366133, 8233348340], "tags": {"highway": "service"}}, {"type": "way", "id": 885406724, "nodes": [8233348341, 8233348336], "tags": {"highway": "service"}}, {"type": "way", "id": 885406725, "nodes": [8233348340, 8558509865, 8233348339, 8558509866, 8558509867, 8558509862, 8233348338, 8558509863, 8558509864, 8558509868, 8233348337, 8558509860, 8558509861, 8233348340], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885409902, "nodes": [8233380396, 10266280489, 8233380395], "tags": {"highway": "service"}}, {"type": "way", "id": 885409903, "nodes": [8233380397, 8233380396], "tags": {"highway": "service"}}, {"type": "way", "id": 885422509, "nodes": [8233488844, 8233488843], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445023, "nodes": [8233649162, 8233649161], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445024, "nodes": [8233649163, 8233649162], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445025, "nodes": [8233649165, 8233649164], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445026, "nodes": [8233649167, 8233649166], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449421, "nodes": [8233701231, 8233701230], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449422, "nodes": [8233701232, 8233701231], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449423, "nodes": [8233701235, 8233701233], "tags": {"highway": "residential"}}, {"type": "way", "id": 885479063, "nodes": [30759093, 8233994249], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885479064, "nodes": [8233994249, 8233994250], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885496902, "nodes": [8234143271, 8234143270], "tags": {"highway": "residential"}}, {"type": "way", "id": 885496903, "nodes": [8234143273, 8234143272], "tags": {"highway": "residential"}}, {"type": "way", "id": 885816629, "nodes": [8236937238, 8236937239, 8236937240, 8236937241], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885816630, "nodes": [8236937241, 8236937242], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885816631, "nodes": [8236937242, 8236937237, 8236937243, 8236937244], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885823840, "nodes": [8236990009, 8236990008], "tags": {"highway": "service"}}, {"type": "way", "id": 885823841, "nodes": [8236990008, 8558509859, 8236990007, 8558509857, 8558509858, 8236990006], "tags": {"highway": "service"}}, {"type": "way", "id": 885832075, "nodes": [8237082669, 8237082668], "tags": {"highway": "residential"}}, {"type": "way", "id": 885832076, "nodes": [8237082670, 8237082669], "tags": {"highway": "residential"}}, {"type": "way", "id": 886161031, "nodes": [30341110, 8240007615], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838683, "nodes": [6133181807, 900987458], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848449, "nodes": [30789610, 30789557], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848450, "nodes": [900987455, 900987457], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848451, "nodes": [900987457, 6133181807], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850316, "nodes": [900987452, 11002639736, 30789627], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850317, "nodes": [900987452, 900987455], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850318, "nodes": [1140221617, 900987452], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850319, "nodes": [30789627, 30789610], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850320, "nodes": [30789610, 11002639735, 900987455], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850321, "nodes": [275363147, 10184166101, 874499048], "tags": {"highway": "tertiary", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851347, "nodes": [900987444, 900987447], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851348, "nodes": [900987447, 1140221617], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851349, "nodes": [900987447, 11002639738, 274841235], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "no", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 903851350, "nodes": [275364495, 11002639737, 1140221617], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851351, "nodes": [274841235, 275364495], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851352, "nodes": [275364495, 30789627], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903852229, "nodes": [274841375, 11002639739, 900987444], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852230, "nodes": [275364248, 275362224, 274841375], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852231, "nodes": [274841375, 274841235], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904185982, "nodes": [275362227, 10266303759, 275410047, 8239810223, 30595044], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 910607001, "nodes": [275363145, 275364246], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918958781, "nodes": [30759078, 8233172141, 30341110, 30340906], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 921889156, "nodes": [874499048, 30789610], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 923560967, "nodes": [8573121044, 8573121043, 8573121041, 8573121039, 8573121040, 8573121042], "tags": {"highway": "service"}}, {"type": "way", "id": 923560968, "nodes": [8063206401, 8573121045], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 991363398, "nodes": [900987458, 11002639733, 874499049], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143717, "nodes": [10184166093, 275363147], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143718, "nodes": [30789560, 10184166093], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143719, "nodes": [10184166094, 30789557], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143720, "nodes": [10184166093, 10184166096, 10184166095], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1122492891, "nodes": [10266303731, 10266303732], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492892, "nodes": [10266303733, 10266303743, 10266303740, 10266303738, 10266303736, 10266303742, 10266303753, 10266303734], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492893, "nodes": [10266303737, 10266303739, 10266303735], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492894, "nodes": [10266303737, 10266303738], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492895, "nodes": [10266303739, 10266303764, 10266303740], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492896, "nodes": [10266303732, 10266303741, 10266303737], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492897, "nodes": [10266303741, 10266303742], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492898, "nodes": [10266303735, 10266303743], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492901, "nodes": [10266303732, 10266303752, 10266303753], "tags": {"highway": "service"}}, {"type": "way", "id": 1174933309, "nodes": [30759078, 11155081773, 8063206410], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1174933310, "nodes": [8063206410, 30759095, 30759096, 30789525, 30759079], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377392, "nodes": [11155081769, 11155081772, 11155081773, 11155081774], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377393, "nodes": [11155081774, 11155081775, 11155081776, 11155081777], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377394, "nodes": [11155081777, 11155081778, 11155081779, 11155081774], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1312686382, "nodes": [12150524793, 12150542802, 12150542801, 12150524794], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686383, "nodes": [12150524794, 12150524798, 12150524795], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686384, "nodes": [12150524795, 12150524800, 12150524799, 12150524796], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686385, "nodes": [12150524793, 12150524797, 12150524796], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1376553920, "nodes": [12745366118, 12745366117], "tags": {"highway": "service"}}, {"type": "way", "id": 1376555915, "nodes": [12745380344, 12745380343], "tags": {"highway": "residential", "maxspeed": "40", "surface": "asphalt"}}]} \ No newline at end of file diff --git a/cache/7009c105cb315e49a79c9a60c7eeb12e18936ef3.json b/cache/7009c105cb315e49a79c9a60c7eeb12e18936ef3.json new file mode 100644 index 0000000..854f488 --- /dev/null +++ b/cache/7009c105cb315e49a79c9a60c7eeb12e18936ef3.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:27:52Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/78b075b5bacaf35d89591d74057340784db0748c.json b/cache/78b075b5bacaf35d89591d74057340784db0748c.json new file mode 100644 index 0000000..06e19eb --- /dev/null +++ b/cache/78b075b5bacaf35d89591d74057340784db0748c.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:56:33Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339673, "lat": 19.3818298, "lon": -99.1527789}, {"type": "node", "id": 30339674, "lat": 19.3845481, "lon": -99.1522672, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340084, "lat": 19.3811337, "lon": -99.1586457, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340092, "lat": 19.3799222, "lon": -99.1513362, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340897, "lat": 19.3870267, "lon": -99.1656112, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340903, "lat": 19.3856996, "lon": -99.1597373}, {"type": "node", "id": 30340904, "lat": 19.3855537, "lon": -99.1590473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340905, "lat": 19.3853852, "lon": -99.1582603}, {"type": "node", "id": 30340906, "lat": 19.3852178, "lon": -99.1574967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340909, "lat": 19.384773, "lon": -99.1549446}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340914, "lat": 19.3844874, "lon": -99.1516878}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340917, "lat": 19.3843329, "lon": -99.1499247}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340920, "lat": 19.3839984, "lon": -99.1474407, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340972, "lat": 19.3825154, "lon": -99.1476046}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340980, "lat": 19.3925848, "lon": -99.1463925, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341025, "lat": 19.3817425, "lon": -99.1522306}, {"type": "node", "id": 30341026, "lat": 19.3816569, "lon": -99.1518113}, {"type": "node", "id": 30341027, "lat": 19.3815048, "lon": -99.1509958}, {"type": "node", "id": 30341031, "lat": 19.3831178, "lon": -99.1506833}, {"type": "node", "id": 30341032, "lat": 19.3823063, "lon": -99.150839}, {"type": "node", "id": 30341033, "lat": 19.380712, "lon": -99.1511667}, {"type": "node", "id": 30341038, "lat": 19.3809362, "lon": -99.1524194}, {"type": "node", "id": 30341039, "lat": 19.3808565, "lon": -99.1519917}, {"type": "node", "id": 30341106, "lat": 19.3796894, "lon": -99.1591091, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341107, "lat": 19.381448, "lon": -99.1585398}, {"type": "node", "id": 30341108, "lat": 19.3828728, "lon": -99.1580781, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341110, "lat": 19.3859474, "lon": -99.1573205}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341122, "lat": 19.4001425, "lon": -99.1557524, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341168, "lat": 19.3927187, "lon": -99.1727501, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30384068, "lat": 19.3713317, "lon": -99.167953, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30384069, "lat": 19.3716554, "lon": -99.1694064, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30384303, "lat": 19.3875045, "lon": -99.1616297}, {"type": "node", "id": 30384322, "lat": 19.3814198, "lon": -99.1598148, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30385334, "lat": 19.3801278, "lon": -99.1526105}, {"type": "node", "id": 30385335, "lat": 19.3825372, "lon": -99.1520493}, {"type": "node", "id": 30385336, "lat": 19.3833387, "lon": -99.1519012}, {"type": "node", "id": 30385350, "lat": 19.3850583, "lon": -99.1676667, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385351, "lat": 19.384896, "lon": -99.1669116}, {"type": "node", "id": 30385352, "lat": 19.3847226, "lon": -99.1661743}, {"type": "node", "id": 30385353, "lat": 19.3845514, "lon": -99.1654564}, {"type": "node", "id": 30385354, "lat": 19.3843781, "lon": -99.1647061, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30385355, "lat": 19.3842163, "lon": -99.1639955}, {"type": "node", "id": 30385356, "lat": 19.3840501, "lon": -99.1632646}, {"type": "node", "id": 30385360, "lat": 19.3832214, "lon": -99.1596316}, {"type": "node", "id": 30385361, "lat": 19.3830423, "lon": -99.1588289}, {"type": "node", "id": 30385366, "lat": 19.3823046, "lon": -99.1552998}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385377, "lat": 19.3826308, "lon": -99.1570183, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385379, "lat": 19.3952991, "lon": -99.1484528, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385387, "lat": 19.3848628, "lon": -99.1557691, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385577, "lat": 19.3896814, "lon": -99.1634317, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30385579, "lat": 19.3825866, "lon": -99.1651561, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594090, "lat": 19.4010453, "lon": -99.1637491}, {"type": "node", "id": 30594093, "lat": 19.4012871, "lon": -99.1621007, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594104, "lat": 19.4019229, "lon": -99.1547508}, {"type": "node", "id": 30594234, "lat": 19.3756194, "lon": -99.166886, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594246, "lat": 19.3866956, "lon": -99.164168, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30594254, "lat": 19.3919338, "lon": -99.162896, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594263, "lat": 19.3980325, "lon": -99.1614556}, {"type": "node", "id": 30594502, "lat": 19.3828577, "lon": -99.1493763}, {"type": "node", "id": 30594512, "lat": 19.3800613, "lon": -99.1521841}, {"type": "node", "id": 30594514, "lat": 19.3824552, "lon": -99.1516295}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30595044, "lat": 19.396359, "lon": -99.1617941, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30595089, "lat": 19.3970745, "lon": -99.1649531}, {"type": "node", "id": 30595093, "lat": 19.3981137, "lon": -99.1668463}, {"type": "node", "id": 30758636, "lat": 19.3826402, "lon": -99.1526311}, {"type": "node", "id": 30758692, "lat": 19.3826012, "lon": -99.1481115}, {"type": "node", "id": 30758693, "lat": 19.3834451, "lon": -99.1524825}, {"type": "node", "id": 30758735, "lat": 19.3832521, "lon": -99.1514354}, {"type": "node", "id": 30758743, "lat": 19.3830073, "lon": -99.1500986}, {"type": "node", "id": 30758907, "lat": 19.3824527, "lon": -99.1560215}, {"type": "node", "id": 30758913, "lat": 19.3845742, "lon": -99.1557564}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30758974, "lat": 19.3911798, "lon": -99.1732429}, {"type": "node", "id": 30759076, "lat": 19.3890109, "lon": -99.1636072, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30759077, "lat": 19.3888011, "lon": -99.1626713, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759080, "lat": 19.3909386, "lon": -99.1721744}, {"type": "node", "id": 30759081, "lat": 19.3907363, "lon": -99.1712879}, {"type": "node", "id": 30759082, "lat": 19.3905579, "lon": -99.1704944}, {"type": "node", "id": 30759083, "lat": 19.3904137, "lon": -99.1698528}, {"type": "node", "id": 30759084, "lat": 19.3902539, "lon": -99.1691419}, {"type": "node", "id": 30759085, "lat": 19.3901386, "lon": -99.1686292}, {"type": "node", "id": 30759086, "lat": 19.3900093, "lon": -99.1680537}, {"type": "node", "id": 30759090, "lat": 19.3883669, "lon": -99.1606494}, {"type": "node", "id": 30759092, "lat": 19.3880382, "lon": -99.1591494}, {"type": "node", "id": 30759093, "lat": 19.3878746, "lon": -99.1583942}, {"type": "node", "id": 30759094, "lat": 19.3877136, "lon": -99.1576975}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759101, "lat": 19.3861472, "lon": -99.1497004}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30759288, "lat": 19.3833786, "lon": -99.1603132}, {"type": "node", "id": 30759290, "lat": 19.3847989, "lon": -99.1607926, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789005, "lat": 19.392468, "lon": -99.1492035}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789010, "lat": 19.385124, "lon": -99.1498351}, {"type": "node", "id": 30789024, "lat": 19.3848337, "lon": -99.1490278}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789027, "lat": 19.3890839, "lon": -99.148825}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789030, "lat": 19.3924797, "lon": -99.148557}, {"type": "node", "id": 30789031, "lat": 19.3924492, "lon": -99.1498776}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789036, "lat": 19.3854988, "lon": -99.1504483}, {"type": "node", "id": 30789037, "lat": 19.3863129, "lon": -99.1510278}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789447, "lat": 19.4001041, "lon": -99.1520792}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789511, "lat": 19.3867359, "lon": -99.1546747}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789522, "lat": 19.4001142, "lon": -99.153399}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789546, "lat": 19.3982144, "lon": -99.1550538}, {"type": "node", "id": 30789547, "lat": 19.4001258, "lon": -99.1549075}, {"type": "node", "id": 30789555, "lat": 19.4038334, "lon": -99.1562967}, {"type": "node", "id": 30789556, "lat": 19.4018135, "lon": -99.1564058}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789564, "lat": 19.4001933, "lon": -99.156523}, {"type": "node", "id": 30789608, "lat": 19.4037424, "lon": -99.156961}, {"type": "node", "id": 30789609, "lat": 19.4017821, "lon": -99.1571008, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789610, "lat": 19.3959554, "lon": -99.1575343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789617, "lat": 19.4002353, "lon": -99.1571907}, {"type": "node", "id": 30789621, "lat": 19.4022924, "lon": -99.1571282}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 30789626, "lat": 19.3947065, "lon": -99.1583197}, {"type": "node", "id": 30789627, "lat": 19.395996, "lon": -99.1582139}, {"type": "node", "id": 30789629, "lat": 19.4002796, "lon": -99.1578942}, {"type": "node", "id": 30789639, "lat": 19.3835387, "lon": -99.1610075}, {"type": "node", "id": 30789642, "lat": 19.3882121, "lon": -99.1599523}, {"type": "node", "id": 30879847, "lat": 19.3990168, "lon": -99.162669, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879848, "lat": 19.3966699, "lon": -99.1632565, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879849, "lat": 19.39436, "lon": -99.1638176, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879851, "lat": 19.3910545, "lon": -99.164646, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879876, "lat": 19.3893334, "lon": -99.1650475}, {"type": "node", "id": 30879879, "lat": 19.3829138, "lon": -99.1666163, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879880, "lat": 19.3805922, "lon": -99.1672098}, {"type": "node", "id": 30879897, "lat": 19.3782501, "lon": -99.1677693, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879898, "lat": 19.3773303, "lon": -99.1680114}, {"type": "node", "id": 30879908, "lat": 19.3693108, "lon": -99.1700055}, {"type": "node", "id": 30879951, "lat": 19.3646822, "lon": -99.1711167}, {"type": "node", "id": 30879953, "lat": 19.3637265, "lon": -99.1713551}, {"type": "node", "id": 30879956, "lat": 19.3625882, "lon": -99.1720239}, {"type": "node", "id": 30879957, "lat": 19.3621259, "lon": -99.1725394, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879975, "lat": 19.397559, "lon": -99.1671951, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879977, "lat": 19.3949748, "lon": -99.1666006, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879979, "lat": 19.3925149, "lon": -99.1659571, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879980, "lat": 19.3922687, "lon": -99.1659169, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879981, "lat": 19.3912273, "lon": -99.1661449}, {"type": "node", "id": 30879982, "lat": 19.3896669, "lon": -99.1665309, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879990, "lat": 19.387357, "lon": -99.1671, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30880008, "lat": 19.3905632, "lon": -99.1652946}, {"type": "node", "id": 30880010, "lat": 19.389854, "lon": -99.1664773, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30880012, "lat": 19.3897102, "lon": -99.1667189, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30880093, "lat": 19.3772451, "lon": -99.1633582, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30880094, "lat": 19.37694, "lon": -99.1618973}, {"type": "node", "id": 30880116, "lat": 19.3759401, "lon": -99.1683474, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31161266, "lat": 19.3825718, "lon": -99.1567587}, {"type": "node", "id": 31163297, "lat": 19.3736098, "lon": -99.1689244}, {"type": "node", "id": 31163298, "lat": 19.3732927, "lon": -99.1674651, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31164457, "lat": 19.3770192, "lon": -99.1665463}, {"type": "node", "id": 31180208, "lat": 19.3807037, "lon": -99.1596107}, {"type": "node", "id": 31180210, "lat": 19.381316, "lon": -99.159409}, {"type": "node", "id": 31180441, "lat": 19.3796062, "lon": -99.1627948}, {"type": "node", "id": 31180442, "lat": 19.3799264, "lon": -99.1642742, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 31180448, "lat": 19.3802571, "lon": -99.1657376, "tags": {"button_operated": "no", "crossing": "traffic_signals", "highway": "traffic_signals", "traffic_signals:sound": "no", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180751, "lat": 19.3925792, "lon": -99.1658217, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180752, "lat": 19.3926111, "lon": -99.1659822, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180759, "lat": 19.3926233, "lon": -99.1660438}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180771, "lat": 19.392257, "lon": -99.1643611, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31183329, "lat": 19.3928789, "lon": -99.1673331}, {"type": "node", "id": 31183330, "lat": 19.3931325, "lon": -99.1684289}, {"type": "node", "id": 31183331, "lat": 19.3932885, "lon": -99.1691139}, {"type": "node", "id": 31318020, "lat": 19.3915861, "lon": -99.1645309}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268679153, "lat": 19.3910913, "lon": -99.1506531}, {"type": "node", "id": 268679231, "lat": 19.3888766, "lon": -99.1488188}, {"type": "node", "id": 268680217, "lat": 19.3825917, "lon": -99.1568463, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680218, "lat": 19.3848323, "lon": -99.1556101, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680219, "lat": 19.3862381, "lon": -99.1548009}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824115, "lat": 19.395288, "lon": -99.1483022, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268824578, "lat": 19.3983522, "lon": -99.1559076, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 268824776, "lat": 19.398735, "lon": -99.1613915, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268824889, "lat": 19.3986745, "lon": -99.160759}, {"type": "node", "id": 268824891, "lat": 19.3981881, "lon": -99.1508021}, {"type": "node", "id": 268824912, "lat": 19.3982009, "lon": -99.152893}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 270504197, "lat": 19.3878736, "lon": -99.1697697, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 271794989, "lat": 19.361184, "lon": -99.1735557}, {"type": "node", "id": 274838902, "lat": 19.4004908, "lon": -99.1606293}, {"type": "node", "id": 274839048, "lat": 19.4010866, "lon": -99.1621388}, {"type": "node", "id": 274839054, "lat": 19.4012463, "lon": -99.1611415, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839056, "lat": 19.4014116, "lon": -99.159862, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274839133, "lat": 19.4015812, "lon": -99.157811}, {"type": "node", "id": 274839134, "lat": 19.4016233, "lon": -99.1570994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839135, "lat": 19.4016498, "lon": -99.1564169}, {"type": "node", "id": 274839137, "lat": 19.4017366, "lon": -99.1547613}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839139, "lat": 19.4018059, "lon": -99.1532683}, {"type": "node", "id": 274839219, "lat": 19.403328, "lon": -99.1584329}, {"type": "node", "id": 274839225, "lat": 19.4029276, "lon": -99.1584153}, {"type": "node", "id": 274839226, "lat": 19.402824, "lon": -99.1584341}, {"type": "node", "id": 274839227, "lat": 19.4024851, "lon": -99.1585269}, {"type": "node", "id": 274839228, "lat": 19.4023593, "lon": -99.1585418}, {"type": "node", "id": 274839229, "lat": 19.4016782, "lon": -99.1585052, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839231, "lat": 19.4003223, "lon": -99.1585614}, {"type": "node", "id": 274839232, "lat": 19.3985295, "lon": -99.1587167}, {"type": "node", "id": 274839233, "lat": 19.3984035, "lon": -99.1587283}, {"type": "node", "id": 274839236, "lat": 19.3983975, "lon": -99.1566803}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839257, "lat": 19.3978501, "lon": -99.1529093}, {"type": "node", "id": 274839258, "lat": 19.3965568, "lon": -99.155156}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274839859, "lat": 19.3983314, "lon": -99.1500804}, {"type": "node", "id": 274839860, "lat": 19.3981846, "lon": -99.1500912}, {"type": "node", "id": 274839861, "lat": 19.3954231, "lon": -99.1503063}, {"type": "node", "id": 274839882, "lat": 19.392951, "lon": -99.1504554}, {"type": "node", "id": 274839883, "lat": 19.3930876, "lon": -99.1504783}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840030, "lat": 19.3981887, "lon": -99.150934}, {"type": "node", "id": 274840031, "lat": 19.3983338, "lon": -99.1509174}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840033, "lat": 19.3990397, "lon": -99.1508367}, {"type": "node", "id": 274840760, "lat": 19.3983296, "lon": -99.1494131}, {"type": "node", "id": 274840761, "lat": 19.3981813, "lon": -99.149424}, {"type": "node", "id": 274840762, "lat": 19.395378, "lon": -99.1496351}, {"type": "node", "id": 274840763, "lat": 19.3938844, "lon": -99.1497513}, {"type": "node", "id": 274840764, "lat": 19.3938161, "lon": -99.1496532}, {"type": "node", "id": 274840980, "lat": 19.3818584, "lon": -99.1529053}, {"type": "node", "id": 274840981, "lat": 19.384559, "lon": -99.1523861, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274840989, "lat": 19.3918429, "lon": -99.1499244}, {"type": "node", "id": 274841036, "lat": 19.3953351, "lon": -99.148971}, {"type": "node", "id": 274841037, "lat": 19.3946706, "lon": -99.149022}, {"type": "node", "id": 274841105, "lat": 19.3990051, "lon": -99.1534845}, {"type": "node", "id": 274841106, "lat": 19.3990224, "lon": -99.1521636}, {"type": "node", "id": 274841112, "lat": 19.3990312, "lon": -99.1514844}, {"type": "node", "id": 274841130, "lat": 19.3983284, "lon": -99.1515547}, {"type": "node", "id": 274841131, "lat": 19.3981927, "lon": -99.1515673}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 274841162, "lat": 19.4014747, "lon": -99.1591528}, {"type": "node", "id": 274841235, "lat": 19.3960859, "lon": -99.1595802}, {"type": "node", "id": 274841237, "lat": 19.3819425, "lon": -99.1622256, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274841370, "lat": 19.3914584, "lon": -99.1607406}, {"type": "node", "id": 274841371, "lat": 19.3903173, "lon": -99.1610453}, {"type": "node", "id": 274841372, "lat": 19.4004278, "lon": -99.1599537}, {"type": "node", "id": 274841373, "lat": 19.3986425, "lon": -99.1601016}, {"type": "node", "id": 274841374, "lat": 19.3984977, "lon": -99.1601128}, {"type": "node", "id": 274841375, "lat": 19.396131, "lon": -99.1602967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274841376, "lat": 19.3918743, "lon": -99.1606232}, {"type": "node", "id": 274841377, "lat": 19.4013145, "lon": -99.1605914}, {"type": "node", "id": 274841379, "lat": 19.396173, "lon": -99.1609452, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841382, "lat": 19.3916038, "lon": -99.1613788}, {"type": "node", "id": 274841383, "lat": 19.388294, "lon": -99.1622206}, {"type": "node", "id": 274841384, "lat": 19.3863605, "lon": -99.1627056, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841385, "lat": 19.3822616, "lon": -99.1636865, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274841449, "lat": 19.3779253, "lon": -99.1663121, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274841689, "lat": 19.4006436, "lon": -99.1612085}, {"type": "node", "id": 274841700, "lat": 19.3993182, "lon": -99.1641307, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841703, "lat": 19.3996635, "lon": -99.1656211}, {"type": "node", "id": 274841705, "lat": 19.3973524, "lon": -99.1662237, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841708, "lat": 19.3876761, "lon": -99.1686408, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841709, "lat": 19.3936409, "lon": -99.1671398, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274841710, "lat": 19.3938303, "lon": -99.1670826, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274841736, "lat": 19.3983636, "lon": -99.1628325}, {"type": "node", "id": 274841739, "lat": 19.3975348, "lon": -99.1615054}, {"type": "node", "id": 274841740, "lat": 19.3978697, "lon": -99.1629561}, {"type": "node", "id": 274841741, "lat": 19.3979485, "lon": -99.1629364}, {"type": "node", "id": 274841743, "lat": 19.3973676, "lon": -99.1630822}, {"type": "node", "id": 274841744, "lat": 19.3970477, "lon": -99.1616322}, {"type": "node", "id": 274841748, "lat": 19.3999294, "lon": -99.1639846}, {"type": "node", "id": 274841751, "lat": 19.3987474, "lon": -99.1642592}, {"type": "node", "id": 275357288, "lat": 19.3925491, "lon": -99.1470606}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358048, "lat": 19.3880072, "lon": -99.1479643, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275358446, "lat": 19.3925164, "lon": -99.1477361}, {"type": "node", "id": 275361846, "lat": 19.3849103, "lon": -99.1494902}, {"type": "node", "id": 275362223, "lat": 19.3941276, "lon": -99.1597379}, {"type": "node", "id": 275362224, "lat": 19.3941157, "lon": -99.1604533}, {"type": "node", "id": 275362225, "lat": 19.3940837, "lon": -99.1611412}, {"type": "node", "id": 275362227, "lat": 19.3940392, "lon": -99.1623582, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362228, "lat": 19.3946794, "lon": -99.1652921, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362700, "lat": 19.3950176, "lon": -99.1667785, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362701, "lat": 19.3952807, "lon": -99.1679095}, {"type": "node", "id": 275362702, "lat": 19.3954137, "lon": -99.1685062, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362853, "lat": 19.3844935, "lon": -99.1517401}, {"type": "node", "id": 275363142, "lat": 19.3929403, "lon": -99.1611438}, {"type": "node", "id": 275363143, "lat": 19.3933116, "lon": -99.1604948}, {"type": "node", "id": 275363144, "lat": 19.3937248, "lon": -99.1597728}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275363146, "lat": 19.3945669, "lon": -99.1583438}, {"type": "node", "id": 275363147, "lat": 19.394987, "lon": -99.1576158}, {"type": "node", "id": 275364246, "lat": 19.3941374, "lon": -99.1593001}, {"type": "node", "id": 275364248, "lat": 19.393445, "lon": -99.1604893}, {"type": "node", "id": 275364249, "lat": 19.3930404, "lon": -99.1611679}, {"type": "node", "id": 275364495, "lat": 19.3960418, "lon": -99.1589094, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364499, "lat": 19.3858681, "lon": -99.160529}, {"type": "node", "id": 275364506, "lat": 19.3858522, "lon": -99.1604544}, {"type": "node", "id": 275364534, "lat": 19.3881922, "lon": -99.1598607}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275364792, "lat": 19.3876501, "lon": -99.1639261}, {"type": "node", "id": 275364819, "lat": 19.3873102, "lon": -99.1624698}, {"type": "node", "id": 275364857, "lat": 19.3875303, "lon": -99.1634231}, {"type": "node", "id": 275364945, "lat": 19.3865755, "lon": -99.1636509}, {"type": "node", "id": 275364957, "lat": 19.3874223, "lon": -99.1629629}, {"type": "node", "id": 275364991, "lat": 19.3864718, "lon": -99.1631977}, {"type": "node", "id": 275365144, "lat": 19.3877785, "lon": -99.1617953}, {"type": "node", "id": 275365677, "lat": 19.3833959, "lon": -99.1603882}, {"type": "node", "id": 275366627, "lat": 19.3881232, "lon": -99.1622639}, {"type": "node", "id": 275366629, "lat": 19.3814488, "lon": -99.159948, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 275366631, "lat": 19.3834255, "lon": -99.1605168}, {"type": "node", "id": 275366636, "lat": 19.3909525, "lon": -99.1647504, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275366641, "lat": 19.3926632, "lon": -99.166253, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275366642, "lat": 19.3895073, "lon": -99.1634765, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 275366643, "lat": 19.388853, "lon": -99.1629108, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275366644, "lat": 19.3876828, "lon": -99.1618921}, {"type": "node", "id": 275366645, "lat": 19.3873993, "lon": -99.1617044}, {"type": "node", "id": 275366646, "lat": 19.3870714, "lon": -99.1615499, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 275366647, "lat": 19.3845832, "lon": -99.1608414, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275367438, "lat": 19.3918265, "lon": -99.1687641}, {"type": "node", "id": 275369604, "lat": 19.3915732, "lon": -99.1676601}, {"type": "node", "id": 275404121, "lat": 19.399777, "lon": -99.1661419}, {"type": "node", "id": 275406076, "lat": 19.39198, "lon": -99.1694437}, {"type": "node", "id": 275406302, "lat": 19.38892, "lon": -99.1632087}, {"type": "node", "id": 275406563, "lat": 19.3885291, "lon": -99.1633057}, {"type": "node", "id": 275407052, "lat": 19.389176, "lon": -99.164332}, {"type": "node", "id": 275407054, "lat": 19.3888324, "lon": -99.1644189}, {"type": "node", "id": 275407055, "lat": 19.3887167, "lon": -99.1645111}, {"type": "node", "id": 275407056, "lat": 19.3873595, "lon": -99.164829}, {"type": "node", "id": 275407057, "lat": 19.3872179, "lon": -99.1648072}, {"type": "node", "id": 275407058, "lat": 19.3868544, "lon": -99.1648873}, {"type": "node", "id": 275407484, "lat": 19.3880062, "lon": -99.1646814}, {"type": "node", "id": 275407485, "lat": 19.3879752, "lon": -99.1645552}, {"type": "node", "id": 275407669, "lat": 19.3894865, "lon": -99.1657337}, {"type": "node", "id": 275407670, "lat": 19.3871915, "lon": -99.1663305}, {"type": "node", "id": 275407683, "lat": 19.387335, "lon": -99.1647124}, {"type": "node", "id": 275407684, "lat": 19.3886936, "lon": -99.1643958}, {"type": "node", "id": 275407915, "lat": 19.387172, "lon": -99.1614815}, {"type": "node", "id": 275408453, "lat": 19.3923061, "lon": -99.1709037}, {"type": "node", "id": 275408584, "lat": 19.3924849, "lon": -99.1716755, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275409630, "lat": 19.3942007, "lon": -99.1631037}, {"type": "node", "id": 275409851, "lat": 19.3965055, "lon": -99.1625235}, {"type": "node", "id": 275409853, "lat": 19.3954117, "lon": -99.163549}, {"type": "node", "id": 275410046, "lat": 19.3952557, "lon": -99.1628374}, {"type": "node", "id": 275410047, "lat": 19.3951871, "lon": -99.1620832}, {"type": "node", "id": 275410474, "lat": 19.3935191, "lon": -99.1655847}, {"type": "node", "id": 275410621, "lat": 19.3932132, "lon": -99.1641141}, {"type": "node", "id": 275410814, "lat": 19.3927375, "lon": -99.1642371}, {"type": "node", "id": 275410866, "lat": 19.3930511, "lon": -99.1657027}, {"type": "node", "id": 275441386, "lat": 19.387444, "lon": -99.1674996}, {"type": "node", "id": 275511393, "lat": 19.3868713, "lon": -99.1664158}, {"type": "node", "id": 275511498, "lat": 19.3827542, "lon": -99.1659009}, {"type": "node", "id": 275511499, "lat": 19.3865311, "lon": -99.1649606}, {"type": "node", "id": 275511500, "lat": 19.3864052, "lon": -99.1650401}, {"type": "node", "id": 275511501, "lat": 19.3850487, "lon": -99.1653737}, {"type": "node", "id": 275511502, "lat": 19.3849366, "lon": -99.1653625}, {"type": "node", "id": 275511508, "lat": 19.3863835, "lon": -99.1649499}, {"type": "node", "id": 275511509, "lat": 19.385027, "lon": -99.1652832}, {"type": "node", "id": 275511510, "lat": 19.3856875, "lon": -99.1652166}, {"type": "node", "id": 275511517, "lat": 19.3856678, "lon": -99.1651258}, {"type": "node", "id": 275511721, "lat": 19.382423, "lon": -99.1644138}, {"type": "node", "id": 275511729, "lat": 19.3838852, "lon": -99.1625384}, {"type": "node", "id": 275511758, "lat": 19.3846416, "lon": -99.1607473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275511759, "lat": 19.3844245, "lon": -99.1607973, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275511768, "lat": 19.3817845, "lon": -99.1614816}, {"type": "node", "id": 275511812, "lat": 19.3832499, "lon": -99.1603461}, {"type": "node", "id": 275511813, "lat": 19.3830231, "lon": -99.1604038}, {"type": "node", "id": 275511814, "lat": 19.3816233, "lon": -99.1607492, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275512749, "lat": 19.3784159, "lon": -99.1525637}, {"type": "node", "id": 275512756, "lat": 19.3792549, "lon": -99.1523668}, {"type": "node", "id": 275513459, "lat": 19.3792733, "lon": -99.1613253}, {"type": "node", "id": 275513555, "lat": 19.3807069, "lon": -99.1640625}, {"type": "node", "id": 275513556, "lat": 19.3803907, "lon": -99.1626083}, {"type": "node", "id": 275513557, "lat": 19.3800693, "lon": -99.1611301}, {"type": "node", "id": 275513562, "lat": 19.381485, "lon": -99.1638695}, {"type": "node", "id": 275513587, "lat": 19.3811463, "lon": -99.1624221}, {"type": "node", "id": 275513588, "lat": 19.3808219, "lon": -99.1609456}, {"type": "node", "id": 275513823, "lat": 19.3823865, "lon": -99.1659933}, {"type": "node", "id": 276454071, "lat": 19.3705299, "lon": -99.1696901}, {"type": "node", "id": 434305025, "lat": 19.3669972, "lon": -99.1705575, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 473092200, "lat": 19.3979126, "lon": -99.168711, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 473092217, "lat": 19.397588, "lon": -99.1673208}, {"type": "node", "id": 473111810, "lat": 19.3977469, "lon": -99.1680265}, {"type": "node", "id": 473196269, "lat": 19.3921321, "lon": -99.1701181}, {"type": "node", "id": 473537843, "lat": 19.3999195, "lon": -99.1667588}, {"type": "node", "id": 473537847, "lat": 19.3984346, "lon": -99.1671281}, {"type": "node", "id": 474733239, "lat": 19.3862345, "lon": -99.1503625}, {"type": "node", "id": 854385866, "lat": 19.3860688, "lon": -99.1627747}, {"type": "node", "id": 854403260, "lat": 19.3942751, "lon": -99.1590602}, {"type": "node", "id": 854403267, "lat": 19.3941669, "lon": -99.159022}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 854429424, "lat": 19.3983211, "lon": -99.1520969}, {"type": "node", "id": 854429426, "lat": 19.3983411, "lon": -99.1535357}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 854429428, "lat": 19.3983454, "lon": -99.1550438}, {"type": "node", "id": 870894651, "lat": 19.4000383, "lon": -99.167421}, {"type": "node", "id": 873739455, "lat": 19.3964164, "lon": -99.1554072, "tags": {"noexit": "yes"}}, {"type": "node", "id": 874499048, "lat": 19.3951243, "lon": -99.1576043}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987405, "lat": 19.3970104, "lon": -99.1647208, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987408, "lat": 19.3971113, "lon": -99.1646982, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987417, "lat": 19.3982061, "lon": -99.1668052}, {"type": "node", "id": 900987420, "lat": 19.3971981, "lon": -99.1649534}, {"type": "node", "id": 900987425, "lat": 19.3967933, "lon": -99.1632256, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987434, "lat": 19.3964648, "lon": -99.1617692, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987438, "lat": 19.3962985, "lon": -99.1609345, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987444, "lat": 19.3962562, "lon": -99.160287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987447, "lat": 19.3962056, "lon": -99.1595716}, {"type": "node", "id": 900987452, "lat": 19.3961198, "lon": -99.1582009}, {"type": "node", "id": 900987455, "lat": 19.3960797, "lon": -99.1575252, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987457, "lat": 19.3960375, "lon": -99.1568498, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996078, "lat": 19.3986657, "lon": -99.167342}, {"type": "node", "id": 900996079, "lat": 19.3984916, "lon": -99.1672037}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 967894723, "lat": 19.3715712, "lon": -99.1694259}, {"type": "node", "id": 967894760, "lat": 19.3705836, "lon": -99.1696771}, {"type": "node", "id": 991189753, "lat": 19.3818567, "lon": -99.1622468, "tags": {"amenity": "parking_entrance", "name": "Exit from Superama parking"}}, {"type": "node", "id": 991195193, "lat": 19.3628057, "lon": -99.1718138}, {"type": "node", "id": 1140221617, "lat": 19.3961633, "lon": -99.158896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461031, "lat": 19.3913446, "lon": -99.1639973}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1420461034, "lat": 19.3926761, "lon": -99.1611436}, {"type": "node", "id": 1420461035, "lat": 19.3932259, "lon": -99.1611896}, {"type": "node", "id": 1420541219, "lat": 19.3985758, "lon": -99.167283}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1933202103, "lat": 19.3940683, "lon": -99.1615416}, {"type": "node", "id": 1964030264, "lat": 19.3907602, "lon": -99.1649665}, {"type": "node", "id": 1964030265, "lat": 19.3908855, "lon": -99.1646836, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1964030272, "lat": 19.3981966, "lon": -99.1523056}, {"type": "node", "id": 1964030273, "lat": 19.3982348, "lon": -99.1559205, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1964030274, "lat": 19.3982707, "lon": -99.1566925}, {"type": "node", "id": 1964030275, "lat": 19.3983115, "lon": -99.157367}, {"type": "node", "id": 1964030277, "lat": 19.3983293, "lon": -99.1528864}, {"type": "node", "id": 1964030278, "lat": 19.3983592, "lon": -99.1580517}, {"type": "node", "id": 1964030279, "lat": 19.3984478, "lon": -99.1573571}, {"type": "node", "id": 1964030280, "lat": 19.3984896, "lon": -99.1580415}, {"type": "node", "id": 1964030281, "lat": 19.3985611, "lon": -99.1607721}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526389, "lat": 19.3956128, "lon": -99.1511109, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531864, "lat": 19.3955038, "lon": -99.1496236}, {"type": "node", "id": 2261531882, "lat": 19.395553, "lon": -99.1502952}, {"type": "node", "id": 2261531886, "lat": 19.3956044, "lon": -99.1509968, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531895, "lat": 19.3954594, "lon": -99.1489617}, {"type": "node", "id": 3042328471, "lat": 19.3853596, "lon": -99.1690691}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604566, "lat": 19.3855991, "lon": -99.1553272}, {"type": "node", "id": 3443604567, "lat": 19.3854365, "lon": -99.1554938}, {"type": "node", "id": 3443604568, "lat": 19.3854422, "lon": -99.1555408}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373356, "lat": 19.4001349, "lon": -99.1556124, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373357, "lat": 19.3983474, "lon": -99.1557416, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373358, "lat": 19.3982292, "lon": -99.1557517, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 3882252371, "lat": 19.3977979, "lon": -99.1660609}, {"type": "node", "id": 3882252374, "lat": 19.397698, "lon": -99.1661121}, {"type": "node", "id": 4036550995, "lat": 19.3886821, "lon": -99.1621223}, {"type": "node", "id": 4052026418, "lat": 19.3910546, "lon": -99.1653855}, {"type": "node", "id": 4070528816, "lat": 19.400928, "lon": -99.1564682}, {"type": "node", "id": 4070528818, "lat": 19.4008981, "lon": -99.1548483}, {"type": "node", "id": 4074023137, "lat": 19.391549, "lon": -99.1649518}, {"type": "node", "id": 4074023147, "lat": 19.3915983, "lon": -99.1646238}, {"type": "node", "id": 4074023153, "lat": 19.3904759, "lon": -99.1652276}, {"type": "node", "id": 4074023159, "lat": 19.390289, "lon": -99.1649564}, {"type": "node", "id": 4074023163, "lat": 19.3903101, "lon": -99.1643493}, {"type": "node", "id": 4074023164, "lat": 19.3913124, "lon": -99.1652671}, {"type": "node", "id": 4074023171, "lat": 19.3910081, "lon": -99.1653938}, {"type": "node", "id": 4074023177, "lat": 19.3915407, "lon": -99.1643818}, {"type": "node", "id": 4135213734, "lat": 19.3902497, "lon": -99.1645332}, {"type": "node", "id": 4135213735, "lat": 19.390251, "lon": -99.1648275}, {"type": "node", "id": 4135213736, "lat": 19.3903674, "lon": -99.1651037}, {"type": "node", "id": 4135213737, "lat": 19.3903685, "lon": -99.1642489}, {"type": "node", "id": 4135213738, "lat": 19.3904719, "lon": -99.1641301}, {"type": "node", "id": 4135213739, "lat": 19.39061, "lon": -99.1640319}, {"type": "node", "id": 4135213740, "lat": 19.3907031, "lon": -99.1653633}, {"type": "node", "id": 4135213741, "lat": 19.3907622, "lon": -99.1639731}, {"type": "node", "id": 4135213742, "lat": 19.390854, "lon": -99.1653969}, {"type": "node", "id": 4135213743, "lat": 19.3910344, "lon": -99.1639646}, {"type": "node", "id": 4135213745, "lat": 19.3911893, "lon": -99.1653405}, {"type": "node", "id": 4135213746, "lat": 19.3912006, "lon": -99.1640189}, {"type": "node", "id": 4135213747, "lat": 19.3914623, "lon": -99.1642411}, {"type": "node", "id": 4135213748, "lat": 19.3914216, "lon": -99.1651648}, {"type": "node", "id": 4135213749, "lat": 19.3915034, "lon": -99.1650484}, {"type": "node", "id": 4135213750, "lat": 19.3915917, "lon": -99.1647908}, {"type": "node", "id": 4149628081, "lat": 19.3984544, "lon": -99.1593928}, {"type": "node", "id": 4149628082, "lat": 19.3985819, "lon": -99.1593826}, {"type": "node", "id": 4161648925, "lat": 19.3938674, "lon": -99.1597653}, {"type": "node", "id": 4262874537, "lat": 19.3788217, "lon": -99.1629812}, {"type": "node", "id": 4262874538, "lat": 19.3781816, "lon": -99.1631267}, {"type": "node", "id": 4262874539, "lat": 19.3778771, "lon": -99.1616676}, {"type": "node", "id": 4262874540, "lat": 19.3784885, "lon": -99.1615177}, {"type": "node", "id": 4507180823, "lat": 19.3986465, "lon": -99.1609298}, {"type": "node", "id": 4507180824, "lat": 19.3986794, "lon": -99.1606875}, {"type": "node", "id": 4788993870, "lat": 19.4003642, "lon": -99.1592408}, {"type": "node", "id": 4790122833, "lat": 19.3837164, "lon": -99.1617878}, {"type": "node", "id": 5040258790, "lat": 19.3818079, "lon": -99.1599234}, {"type": "node", "id": 5119650360, "lat": 19.3977921, "lon": -99.1682155}, {"type": "node", "id": 5132951388, "lat": 19.3934177, "lon": -99.161734}, {"type": "node", "id": 5134866934, "lat": 19.386033, "lon": -99.1488782}, {"type": "node", "id": 5197168347, "lat": 19.3913889, "lon": -99.1668518}, {"type": "node", "id": 5438718989, "lat": 19.3721769, "lon": -99.1677428}, {"type": "node", "id": 5475796533, "lat": 19.3884769, "lon": -99.1611747}, {"type": "node", "id": 5475796534, "lat": 19.3885691, "lon": -99.1616001}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5476240715, "lat": 19.3818328, "lon": -99.1600761}, {"type": "node", "id": 5476240716, "lat": 19.3819091, "lon": -99.1599578}, {"type": "node", "id": 5478588609, "lat": 19.394228, "lon": -99.1492747, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5494680257, "lat": 19.3872494, "lon": -99.1616227}, {"type": "node", "id": 5547039858, "lat": 19.3685235, "lon": -99.1702019}, {"type": "node", "id": 5547039859, "lat": 19.3686418, "lon": -99.1701724}, {"type": "node", "id": 5547039862, "lat": 19.3684059, "lon": -99.1702313}, {"type": "node", "id": 5547039983, "lat": 19.368377, "lon": -99.1702385}, {"type": "node", "id": 5547039985, "lat": 19.3681383, "lon": -99.170298}, {"type": "node", "id": 5547039987, "lat": 19.3682581, "lon": -99.1702681}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951265, "lat": 19.3896346, "lon": -99.1494205, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951266, "lat": 19.3905371, "lon": -99.1500223}, {"type": "node", "id": 5834951267, "lat": 19.3903668, "lon": -99.150033}, {"type": "node", "id": 5835040398, "lat": 19.3855363, "lon": -99.15896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040399, "lat": 19.3832, "lon": -99.1595386}, {"type": "node", "id": 5835040400, "lat": 19.3860199, "lon": -99.1612366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040401, "lat": 19.3861752, "lon": -99.1611888, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040404, "lat": 19.3859978, "lon": -99.1611383, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 5891567286, "lat": 19.388521, "lon": -99.161612, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 5891567287, "lat": 19.3886376, "lon": -99.1621335}, {"type": "node", "id": 5891567290, "lat": 19.3888999, "lon": -99.1632137}, {"type": "node", "id": 5904623146, "lat": 19.3759706, "lon": -99.1683399}, {"type": "node", "id": 6106729915, "lat": 19.3995761, "lon": -99.1549496}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6106908849, "lat": 19.3912212, "lon": -99.150577}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181807, "lat": 19.3960053, "lon": -99.1563666}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133181828, "lat": 19.4014066, "lon": -99.1571144}, {"type": "node", "id": 6133225299, "lat": 19.3905788, "lon": -99.1605702}, {"type": "node", "id": 6133225300, "lat": 19.3897229, "lon": -99.1618586}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225302, "lat": 19.3906341, "lon": -99.1608382}, {"type": "node", "id": 6133225303, "lat": 19.3910014, "lon": -99.1623112}, {"type": "node", "id": 6133225304, "lat": 19.3900488, "lon": -99.1633437}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6133225306, "lat": 19.3908272, "lon": -99.1615739}, {"type": "node", "id": 6135446068, "lat": 19.3930086, "lon": -99.1679}, {"type": "node", "id": 6135446069, "lat": 19.3936122, "lon": -99.1640133}, {"type": "node", "id": 6135446073, "lat": 19.3927125, "lon": -99.1665219}, {"type": "node", "id": 6135534972, "lat": 19.3632371, "lon": -99.1715723}, {"type": "node", "id": 6221657640, "lat": 19.4010117, "lon": -99.1637485}, {"type": "node", "id": 6221657642, "lat": 19.4012253, "lon": -99.1621097}, {"type": "node", "id": 6221657648, "lat": 19.4011909, "lon": -99.1611455}, {"type": "node", "id": 6221657649, "lat": 19.4009898, "lon": -99.1606064}, {"type": "node", "id": 6221657650, "lat": 19.4013765, "lon": -99.1598655}, {"type": "node", "id": 6221657651, "lat": 19.4014368, "lon": -99.1591553}, {"type": "node", "id": 6221657652, "lat": 19.4015287, "lon": -99.1584979, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6221657653, "lat": 19.4015059, "lon": -99.1578134}, {"type": "node", "id": 6221657655, "lat": 19.4015818, "lon": -99.1564193}, {"type": "node", "id": 6366450919, "lat": 19.3942226, "lon": -99.1494287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6416401255, "lat": 19.3925526, "lon": -99.1611629}, {"type": "node", "id": 6416401256, "lat": 19.3922736, "lon": -99.1605793}, {"type": "node", "id": 6416401257, "lat": 19.3920442, "lon": -99.1605961}, {"type": "node", "id": 6416401258, "lat": 19.3928028, "lon": -99.1611358}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 6485933200, "lat": 19.391356, "lon": -99.1641227}, {"type": "node", "id": 6507300088, "lat": 19.3920054, "lon": -99.1627909}, {"type": "node", "id": 6507300089, "lat": 19.3920647, "lon": -99.1626115}, {"type": "node", "id": 6507300090, "lat": 19.3921543, "lon": -99.1626638}, {"type": "node", "id": 7888156203, "lat": 19.3983219, "lon": -99.1669772}, {"type": "node", "id": 7888156204, "lat": 19.3982349, "lon": -99.1670258}, {"type": "node", "id": 7965846822, "lat": 19.3935714, "lon": -99.1500397}, {"type": "node", "id": 7965846823, "lat": 19.3934903, "lon": -99.1499556}, {"type": "node", "id": 7965846824, "lat": 19.3949426, "lon": -99.1487737}, {"type": "node", "id": 7965846825, "lat": 19.3948659, "lon": -99.1486744}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8059695780, "lat": 19.3867277, "lon": -99.1586687}, {"type": "node", "id": 8059695781, "lat": 19.3867468, "lon": -99.1587497}, {"type": "node", "id": 8059695782, "lat": 19.3857499, "lon": -99.1589983}, {"type": "node", "id": 8059695783, "lat": 19.3857308, "lon": -99.1589074}, {"type": "node", "id": 8059712707, "lat": 19.3846287, "lon": -99.1517171, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8060212843, "lat": 19.3627294, "lon": -99.1718768}, {"type": "node", "id": 8060212844, "lat": 19.3626624, "lon": -99.1719425}, {"type": "node", "id": 8060212846, "lat": 19.3629015, "lon": -99.1717547}, {"type": "node", "id": 8060212847, "lat": 19.3630318, "lon": -99.1716769}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063024658, "lat": 19.3958098, "lon": -99.1510966}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8063886556, "lat": 19.3826902, "lon": -99.1603104}, {"type": "node", "id": 8063886561, "lat": 19.3826856, "lon": -99.1604893}, {"type": "node", "id": 8063914874, "lat": 19.3925474, "lon": -99.1658445}, {"type": "node", "id": 8063914875, "lat": 19.3925221, "lon": -99.1658961}, {"type": "node", "id": 8064038559, "lat": 19.397963, "lon": -99.1629947, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8064038562, "lat": 19.3971507, "lon": -99.1648427}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8066176223, "lat": 19.3878515, "lon": -99.1695473}, {"type": "node", "id": 8066176224, "lat": 19.3878149, "lon": -99.1692978}, {"type": "node", "id": 8066221761, "lat": 19.3868926, "lon": -99.1614953}, {"type": "node", "id": 8066221762, "lat": 19.3875416, "lon": -99.161793}, {"type": "node", "id": 8066221763, "lat": 19.3873556, "lon": -99.1615543}, {"type": "node", "id": 8066221764, "lat": 19.3864869, "lon": -99.1612786}, {"type": "node", "id": 8066221765, "lat": 19.38648, "lon": -99.1612422}, {"type": "node", "id": 8066221766, "lat": 19.3864791, "lon": -99.1612052}, {"type": "node", "id": 8066221767, "lat": 19.3864842, "lon": -99.1611685}, {"type": "node", "id": 8066221768, "lat": 19.386495, "lon": -99.1611332}, {"type": "node", "id": 8066221769, "lat": 19.3865114, "lon": -99.1611005}, {"type": "node", "id": 8066335563, "lat": 19.3870984, "lon": -99.1614597, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8066424138, "lat": 19.3849858, "lon": -99.1609621}, {"type": "node", "id": 8066475260, "lat": 19.3837869, "lon": -99.1625614, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8066625614, "lat": 19.3918124, "lon": -99.163177}, {"type": "node", "id": 8066625615, "lat": 19.3919636, "lon": -99.1630309}, {"type": "node", "id": 8066686757, "lat": 19.3925315, "lon": -99.1658693}, {"type": "node", "id": 8066686758, "lat": 19.392388, "lon": -99.1659303}, {"type": "node", "id": 8066686759, "lat": 19.3921248, "lon": -99.1659276}, {"type": "node", "id": 8075554355, "lat": 19.3936283, "lon": -99.1640953, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8081956081, "lat": 19.3919888, "lon": -99.165484, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956082, "lat": 19.3919071, "lon": -99.165596, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956083, "lat": 19.3930136, "lon": -99.1663814, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956084, "lat": 19.392934, "lon": -99.1664995, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956085, "lat": 19.3932752, "lon": -99.166606, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956086, "lat": 19.3931869, "lon": -99.1667285, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956087, "lat": 19.3935565, "lon": -99.1668475, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8081956088, "lat": 19.3934495, "lon": -99.1669665, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8186010147, "lat": 19.3859913, "lon": -99.1485219}, {"type": "node", "id": 8186010149, "lat": 19.3859411, "lon": -99.148092}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8190543264, "lat": 19.3854641, "lon": -99.1554085}, {"type": "node", "id": 8195270562, "lat": 19.3878368, "lon": -99.1617809, "tags": {"access": "no", "barrier": "gate"}}, {"type": "node", "id": 8204799891, "lat": 19.3946386, "lon": -99.1488914}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8229976722, "lat": 19.389823, "lon": -99.1672221}, {"type": "node", "id": 8229976725, "lat": 19.3937757, "lon": -99.16552}, {"type": "node", "id": 8230120179, "lat": 19.3875787, "lon": -99.1681618}, {"type": "node", "id": 8233172133, "lat": 19.3928446, "lon": -99.1577826}, {"type": "node", "id": 8233172134, "lat": 19.3924132, "lon": -99.1571273}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233172139, "lat": 19.391311, "lon": -99.1572278}, {"type": "node", "id": 8233172141, "lat": 19.387215, "lon": -99.1570084}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233348341, "lat": 19.3885439, "lon": -99.1614951}, {"type": "node", "id": 8233380395, "lat": 19.3954445, "lon": -99.1610135}, {"type": "node", "id": 8233471129, "lat": 19.3939622, "lon": -99.165473}, {"type": "node", "id": 8233471130, "lat": 19.3950963, "lon": -99.1644564}, {"type": "node", "id": 8233471131, "lat": 19.3950262, "lon": -99.1644992}, {"type": "node", "id": 8233471132, "lat": 19.395152, "lon": -99.1650948, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233471133, "lat": 19.3951696, "lon": -99.165172}, {"type": "node", "id": 8233488843, "lat": 19.3876168, "lon": -99.1623921}, {"type": "node", "id": 8233488844, "lat": 19.387787, "lon": -99.1630992}, {"type": "node", "id": 8233649161, "lat": 19.3912494, "lon": -99.1625266}, {"type": "node", "id": 8233649162, "lat": 19.3913443, "lon": -99.1629316, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233649163, "lat": 19.3913652, "lon": -99.1630299}, {"type": "node", "id": 8233649164, "lat": 19.3907295, "lon": -99.1622758}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8233649166, "lat": 19.3879004, "lon": -99.1623203}, {"type": "node", "id": 8233649167, "lat": 19.3880514, "lon": -99.163}, {"type": "node", "id": 8233701230, "lat": 19.3932671, "lon": -99.1621631}, {"type": "node", "id": 8233701231, "lat": 19.3933241, "lon": -99.1624542, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233701232, "lat": 19.3933404, "lon": -99.1625252}, {"type": "node", "id": 8233701233, "lat": 19.392035, "lon": -99.1619043}, {"type": "node", "id": 8233701235, "lat": 19.3917339, "lon": -99.1619767}, {"type": "node", "id": 8233767573, "lat": 19.3883196, "lon": -99.163354}, {"type": "node", "id": 8233767574, "lat": 19.388398, "lon": -99.1636692, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233767575, "lat": 19.3884155, "lon": -99.1637467}, {"type": "node", "id": 8233792320, "lat": 19.3945124, "lon": -99.1653342}, {"type": "node", "id": 8233994249, "lat": 19.3879848, "lon": -99.1584061}, {"type": "node", "id": 8233994250, "lat": 19.3878921, "lon": -99.1584751}, {"type": "node", "id": 8234143270, "lat": 19.3870514, "lon": -99.1601502}, {"type": "node", "id": 8234143271, "lat": 19.3870742, "lon": -99.160231}, {"type": "node", "id": 8234143272, "lat": 19.3889956, "lon": -99.1596132}, {"type": "node", "id": 8234143273, "lat": 19.3890172, "lon": -99.1596947}, {"type": "node", "id": 8234346218, "lat": 19.3998061, "lon": -99.1662679}, {"type": "node", "id": 8234429646, "lat": 19.3789015, "lon": -99.1660716}, {"type": "node", "id": 8234494181, "lat": 19.3835109, "lon": -99.1657137}, {"type": "node", "id": 8234494182, "lat": 19.3833512, "lon": -99.164964}, {"type": "node", "id": 8236554638, "lat": 19.3851871, "lon": -99.168266}, {"type": "node", "id": 8236554639, "lat": 19.3851335, "lon": -99.1680169}, {"type": "node", "id": 8236554642, "lat": 19.3852131, "lon": -99.1683874}, {"type": "node", "id": 8236554654, "lat": 19.3789624, "lon": -99.1660566}, {"type": "node", "id": 8236907909, "lat": 19.3932014, "lon": -99.1640621, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236907910, "lat": 19.3931103, "lon": -99.1636759}, {"type": "node", "id": 8236937238, "lat": 19.3952877, "lon": -99.1610282}, {"type": "node", "id": 8236937244, "lat": 19.3947485, "lon": -99.1610788}, {"type": "node", "id": 8236979494, "lat": 19.3951782, "lon": -99.1636086}, {"type": "node", "id": 8236979495, "lat": 19.3895416, "lon": -99.1636343, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236979496, "lat": 19.3898483, "lon": -99.1649216}, {"type": "node", "id": 8236990009, "lat": 19.3888444, "lon": -99.1604745}, {"type": "node", "id": 8237082668, "lat": 19.3925818, "lon": -99.1627194}, {"type": "node", "id": 8237082669, "lat": 19.3926081, "lon": -99.1628149, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8237082670, "lat": 19.3927624, "lon": -99.1634238}, {"type": "node", "id": 8237489137, "lat": 19.3735805, "lon": -99.1689321}, {"type": "node", "id": 8237489141, "lat": 19.3762062, "lon": -99.1667399}, {"type": "node", "id": 8237599522, "lat": 19.3834072, "lon": -99.1664957}, {"type": "node", "id": 8237655931, "lat": 19.3962294, "lon": -99.1649122}, {"type": "node", "id": 8239217277, "lat": 19.3834478, "lon": -99.1610768}, {"type": "node", "id": 8239217278, "lat": 19.383555, "lon": -99.1610783}, {"type": "node", "id": 8239241755, "lat": 19.3851165, "lon": -99.1641051}, {"type": "node", "id": 8239241756, "lat": 19.3851949, "lon": -99.164435, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239241757, "lat": 19.3852134, "lon": -99.1645122}, {"type": "node", "id": 8239360997, "lat": 19.3815101, "lon": -99.1593444}, {"type": "node", "id": 8239360998, "lat": 19.3816447, "lon": -99.1598792}, {"type": "node", "id": 8239361004, "lat": 19.3837875, "lon": -99.162104}, {"type": "node", "id": 8239361005, "lat": 19.3851691, "lon": -99.1614402}, {"type": "node", "id": 8239361006, "lat": 19.3851949, "lon": -99.161571, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239361007, "lat": 19.3853299, "lon": -99.1621588, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8239361008, "lat": 19.3849334, "lon": -99.1614966}, {"type": "node", "id": 8239361009, "lat": 19.3849647, "lon": -99.1616347, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239361010, "lat": 19.3850861, "lon": -99.1621953, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8239361012, "lat": 19.3856674, "lon": -99.1628719}, {"type": "node", "id": 8239361014, "lat": 19.3858264, "lon": -99.1628333}, {"type": "node", "id": 8239401255, "lat": 19.3799984, "lon": -99.1611475}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8239441660, "lat": 19.3818781, "lon": -99.1583926}, {"type": "node", "id": 8239504799, "lat": 19.3819688, "lon": -99.1606647}, {"type": "node", "id": 8239504806, "lat": 19.3832068, "lon": -99.1564885}, {"type": "node", "id": 8239748945, "lat": 19.3844375, "lon": -99.1649633}, {"type": "node", "id": 8239782510, "lat": 19.3834249, "lon": -99.1634121}, {"type": "node", "id": 8239810220, "lat": 19.3986595, "lon": -99.1636208}, {"type": "node", "id": 8239810221, "lat": 19.3987727, "lon": -99.1641939, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239810222, "lat": 19.3987849, "lon": -99.1642507}, {"type": "node", "id": 8239810223, "lat": 19.3959622, "lon": -99.1618877}, {"type": "node", "id": 8239810227, "lat": 19.4006117, "lon": -99.1622605}, {"type": "node", "id": 8239810231, "lat": 19.3965826, "lon": -99.1623335}, {"type": "node", "id": 8239810233, "lat": 19.3966681, "lon": -99.1617144}, {"type": "node", "id": 8240135664, "lat": 19.3817305, "lon": -99.160042}, {"type": "node", "id": 8240138231, "lat": 19.3859062, "lon": -99.1628139}, {"type": "node", "id": 8240138232, "lat": 19.3824637, "lon": -99.162097}, {"type": "node", "id": 8240182412, "lat": 19.3843661, "lon": -99.1592496}, {"type": "node", "id": 8240182413, "lat": 19.3843858, "lon": -99.1593398}, {"type": "node", "id": 8301847567, "lat": 19.399007, "lon": -99.1533372}, {"type": "node", "id": 8301847584, "lat": 19.399947, "lon": -99.1520915}, {"type": "node", "id": 8305044751, "lat": 19.3976831, "lon": -99.1508324}, {"type": "node", "id": 8305044754, "lat": 19.3975545, "lon": -99.1508402}, {"type": "node", "id": 8392318114, "lat": 19.3858498, "lon": -99.1472366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8395187915, "lat": 19.3820132, "lon": -99.1599303, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8395187916, "lat": 19.3817317, "lon": -99.1599028, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8395217117, "lat": 19.3818881, "lon": -99.1600912, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8397486699, "lat": 19.3733463, "lon": -99.1674513, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8397486700, "lat": 19.3732082, "lon": -99.1674861, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8397676843, "lat": 19.3873372, "lon": -99.1670078, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8397676845, "lat": 19.387375, "lon": -99.1671826, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8397699944, "lat": 19.3878614, "lon": -99.1696471, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 8397788790, "lat": 19.3860478, "lon": -99.1613569}, {"type": "node", "id": 8397788791, "lat": 19.38607, "lon": -99.1614528}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8397788794, "lat": 19.3847118, "lon": -99.1558475}, {"type": "node", "id": 8558399577, "lat": 19.3931343, "lon": -99.1611838}, {"type": "node", "id": 8558503739, "lat": 19.3950382, "lon": -99.1644783}, {"type": "node", "id": 8558503740, "lat": 19.3950583, "lon": -99.1644665}, {"type": "node", "id": 8558503741, "lat": 19.3950255, "lon": -99.1645236}, {"type": "node", "id": 8558509854, "lat": 19.3920329, "lon": -99.1626878}, {"type": "node", "id": 8558509855, "lat": 19.3920911, "lon": -99.1627315}, {"type": "node", "id": 8558602086, "lat": 19.3849803, "lon": -99.1653093}, {"type": "node", "id": 8558602087, "lat": 19.3849911, "lon": -99.1653766}, {"type": "node", "id": 8558602088, "lat": 19.3864462, "lon": -99.1649466}, {"type": "node", "id": 8558602089, "lat": 19.3864623, "lon": -99.1650115}, {"type": "node", "id": 8558602094, "lat": 19.3872786, "lon": -99.1647433}, {"type": "node", "id": 8558602095, "lat": 19.3873027, "lon": -99.1648295}, {"type": "node", "id": 8558602096, "lat": 19.3887647, "lon": -99.1643941}, {"type": "node", "id": 8558602097, "lat": 19.3887807, "lon": -99.1644772}, {"type": "node", "id": 8558680555, "lat": 19.3918629, "lon": -99.1631211}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8572473122, "lat": 19.3923993, "lon": -99.1506122}, {"type": "node", "id": 8572704324, "lat": 19.3797426, "lon": -99.1522563}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573018495, "lat": 19.3859332, "lon": -99.1547908}, {"type": "node", "id": 8573018496, "lat": 19.3860521, "lon": -99.1547891}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573175856, "lat": 19.3849048, "lon": -99.1494748}, {"type": "node", "id": 8573175857, "lat": 19.3849068, "lon": -99.1494828}, {"type": "node", "id": 8573175877, "lat": 19.3840764, "lon": -99.1479582}, {"type": "node", "id": 8573175891, "lat": 19.3841265, "lon": -99.1482489}, {"type": "node", "id": 8573175898, "lat": 19.3859593, "lon": -99.1482613}, {"type": "node", "id": 8605151545, "lat": 19.3717999, "lon": -99.1678366}, {"type": "node", "id": 8605151550, "lat": 19.3748777, "lon": -99.1670706}, {"type": "node", "id": 8605151552, "lat": 19.3745726, "lon": -99.1671465}, {"type": "node", "id": 8606404193, "lat": 19.3772953, "lon": -99.1618102}, {"type": "node", "id": 8610901276, "lat": 19.3683318, "lon": -99.1702498}, {"type": "node", "id": 8621683163, "lat": 19.3971972, "lon": -99.1646751}, {"type": "node", "id": 8646569263, "lat": 19.3864096, "lon": -99.1629228}, {"type": "node", "id": 10144555427, "lat": 19.3921082, "lon": -99.1655914}, {"type": "node", "id": 10144555428, "lat": 19.3924796, "lon": -99.1653704}, {"type": "node", "id": 10144555429, "lat": 19.3922649, "lon": -99.1657323}, {"type": "node", "id": 10144555430, "lat": 19.3925236, "lon": -99.1655695}, {"type": "node", "id": 10184166093, "lat": 19.3953762, "lon": -99.1569351}, {"type": "node", "id": 10184166094, "lat": 19.3955402, "lon": -99.15689}, {"type": "node", "id": 10184166095, "lat": 19.3955172, "lon": -99.1569296}, {"type": "node", "id": 10184166096, "lat": 19.39542, "lon": -99.1569332}, {"type": "node", "id": 10184166101, "lat": 19.3950445, "lon": -99.157611}, {"type": "node", "id": 10266303716, "lat": 19.3951224, "lon": -99.1622297}, {"type": "node", "id": 10266303717, "lat": 19.3951186, "lon": -99.1621938}, {"type": "node", "id": 10266303718, "lat": 19.39513, "lon": -99.1621545}, {"type": "node", "id": 10266303719, "lat": 19.3951408, "lon": -99.1621314}, {"type": "node", "id": 10266303731, "lat": 19.3941088, "lon": -99.1626796}, {"type": "node", "id": 10266303733, "lat": 19.3936328, "lon": -99.1624553}, {"type": "node", "id": 10266303759, "lat": 19.3941693, "lon": -99.162327, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303760, "lat": 19.3940573, "lon": -99.1624348, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303762, "lat": 19.3940398, "lon": -99.1622701, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303763, "lat": 19.3939799, "lon": -99.1623724, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10288250215, "lat": 19.3973345, "lon": -99.1661419}, {"type": "node", "id": 10288250216, "lat": 19.397676, "lon": -99.1660711}, {"type": "node", "id": 10303353748, "lat": 19.3715498, "lon": -99.1678988}, {"type": "node", "id": 10920875881, "lat": 19.3854839, "lon": -99.1555838}, {"type": "node", "id": 10938932920, "lat": 19.3925431, "lon": -99.1658325}, {"type": "node", "id": 10938932921, "lat": 19.3925071, "lon": -99.1658424}, {"type": "node", "id": 10938932922, "lat": 19.3924597, "lon": -99.1658441}, {"type": "node", "id": 10938932923, "lat": 19.3923841, "lon": -99.1658386}, {"type": "node", "id": 11002633304, "lat": 19.3952782, "lon": -99.1473817}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002639745, "lat": 19.3967681, "lon": -99.1632322}, {"type": "node", "id": 11002639746, "lat": 19.3969772, "lon": -99.164131}, {"type": "node", "id": 11002639747, "lat": 19.3970075, "lon": -99.1644115}, {"type": "node", "id": 11002639748, "lat": 19.3969281, "lon": -99.1641437}, {"type": "node", "id": 11002639749, "lat": 19.3967189, "lon": -99.1632449}, {"type": "node", "id": 11002639750, "lat": 19.3970722, "lon": -99.164707}, {"type": "node", "id": 11002639751, "lat": 19.3970941, "lon": -99.1647987}, {"type": "node", "id": 11002639752, "lat": 19.3971285, "lon": -99.1649046}, {"type": "node", "id": 11002639753, "lat": 19.3971745, "lon": -99.1650129}, {"type": "node", "id": 11002639754, "lat": 19.3982065, "lon": -99.166869}, {"type": "node", "id": 11002639755, "lat": 19.3982903, "lon": -99.1670126}, {"type": "node", "id": 11002639756, "lat": 19.3983661, "lon": -99.167127}, {"type": "node", "id": 11002639757, "lat": 19.39842, "lon": -99.1672}, {"type": "node", "id": 11002639758, "lat": 19.398482, "lon": -99.1672645}, {"type": "node", "id": 11002639759, "lat": 19.3985509, "lon": -99.1673193}, {"type": "node", "id": 11002639760, "lat": 19.3986324, "lon": -99.1673765}, {"type": "node", "id": 11002639761, "lat": 19.398707, "lon": -99.1674166}, {"type": "node", "id": 11002639762, "lat": 19.3987931, "lon": -99.1674507}, {"type": "node", "id": 11002639763, "lat": 19.4001024, "lon": -99.1677842}, {"type": "node", "id": 11002639764, "lat": 19.4001932, "lon": -99.1678104}, {"type": "node", "id": 11002645507, "lat": 19.3952849, "lon": -99.1475396}, {"type": "node", "id": 11002645508, "lat": 19.3953505, "lon": -99.1482564}, {"type": "node", "id": 11002645509, "lat": 19.3953593, "lon": -99.1483965}, {"type": "node", "id": 11002645510, "lat": 19.3954024, "lon": -99.1489657}, {"type": "node", "id": 11002645511, "lat": 19.3954468, "lon": -99.1496288}, {"type": "node", "id": 11002645512, "lat": 19.3954945, "lon": -99.1503001}, {"type": "node", "id": 11002645513, "lat": 19.3955473, "lon": -99.1510016}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11010828115, "lat": 19.3965168, "lon": -99.164842}, {"type": "node", "id": 11070566972, "lat": 19.3749449, "lon": -99.1685938}, {"type": "node", "id": 11122526376, "lat": 19.3902377, "lon": -99.1647275}, {"type": "node", "id": 11155081751, "lat": 19.400138, "lon": -99.1556597}, {"type": "node", "id": 11155081754, "lat": 19.3983493, "lon": -99.1558067}, {"type": "node", "id": 11155081755, "lat": 19.39823, "lon": -99.1558148}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11155081773, "lat": 19.3875313, "lon": -99.1568446}, {"type": "node", "id": 11155081774, "lat": 19.3865148, "lon": -99.157094}, {"type": "node", "id": 11155081775, "lat": 19.3864615, "lon": -99.1571385}, {"type": "node", "id": 11155081776, "lat": 19.3853187, "lon": -99.1574264}, {"type": "node", "id": 11155081777, "lat": 19.3852019, "lon": -99.1574169}, {"type": "node", "id": 11155081778, "lat": 19.3853036, "lon": -99.1573602}, {"type": "node", "id": 11155081779, "lat": 19.3864486, "lon": -99.1570817}, {"type": "node", "id": 11155081780, "lat": 19.3828571, "lon": -99.1579996}, {"type": "node", "id": 11155081781, "lat": 19.3811155, "lon": -99.1585492}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863093424, "lat": 19.4025274, "lon": -99.1571073}, {"type": "node", "id": 11863209653, "lat": 19.3976989, "lon": -99.1678135}, {"type": "node", "id": 11863276057, "lat": 19.4033288, "lon": -99.156324}, {"type": "node", "id": 11863297921, "lat": 19.3840587, "lon": -99.1478407}, {"type": "node", "id": 11869862328, "lat": 19.3927005, "lon": -99.1726664, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 12124058742, "lat": 19.3985556, "lon": -99.1643107}, {"type": "node", "id": 12125771324, "lat": 19.3858791, "lon": -99.1475641}, {"type": "node", "id": 12125772181, "lat": 19.3764721, "lon": -99.168218}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12126328030, "lat": 19.3849318, "lon": -99.1560992}, {"type": "node", "id": 12127053786, "lat": 19.3872493, "lon": -99.1666016}, {"type": "node", "id": 12127145919, "lat": 19.3847989, "lon": -99.1665311}, {"type": "node", "id": 12127380077, "lat": 19.3845575, "lon": -99.1498993}, {"type": "node", "id": 12127463544, "lat": 19.3987256, "lon": -99.1566516}, {"type": "node", "id": 12129079360, "lat": 19.3918789, "lon": -99.1644565}, {"type": "node", "id": 12131304592, "lat": 19.3762958, "lon": -99.1682609}, {"type": "node", "id": 12136908393, "lat": 19.3934887, "lon": -99.1640445}, {"type": "node", "id": 12136999324, "lat": 19.3944661, "lon": -99.1643076}, {"type": "node", "id": 12149179284, "lat": 19.3834592, "lon": -99.1602932, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179285, "lat": 19.3834836, "lon": -99.1604135, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179286, "lat": 19.3835094, "lon": -99.1605404, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179287, "lat": 19.3834474, "lon": -99.1606116, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179288, "lat": 19.3833623, "lon": -99.1602424, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179289, "lat": 19.3833051, "lon": -99.160332, "tags": {"crossing": "uncontrolled", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 12149179290, "lat": 19.383313, "lon": -99.1603643, "tags": {"crossing": "uncontrolled", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 12149179291, "lat": 19.3833446, "lon": -99.1604941, "tags": {"crossing": "uncontrolled", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 12149179292, "lat": 19.3828761, "lon": -99.1604411, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179293, "lat": 19.3831198, "lon": -99.1603084, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179294, "lat": 19.3828982, "lon": -99.1603688, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179295, "lat": 19.3829629, "lon": -99.160263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12149179296, "lat": 19.3830515, "lon": -99.1602886, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12149179297, "lat": 19.3835545, "lon": -99.160553, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12149179298, "lat": 19.3835909, "lon": -99.1605633, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12149179299, "lat": 19.3832295, "lon": -99.1604618, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12149179300, "lat": 19.3831475, "lon": -99.1604388, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12149277401, "lat": 19.3828308, "lon": -99.1604525, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12149277402, "lat": 19.3827742, "lon": -99.1604669, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12149277403, "lat": 19.3833549, "lon": -99.1602104, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12149277404, "lat": 19.383343, "lon": -99.1601588, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150524791, "lat": 19.3878932, "lon": -99.1618786}, {"type": "node", "id": 12150524792, "lat": 19.3880781, "lon": -99.1620288}, {"type": "node", "id": 12150524797, "lat": 19.3883581, "lon": -99.1622043, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524798, "lat": 19.3880445, "lon": -99.1622838, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524799, "lat": 19.3882228, "lon": -99.1621573, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524800, "lat": 19.3880458, "lon": -99.1621985, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542801, "lat": 19.3881981, "lon": -99.1623303, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542802, "lat": 19.3883686, "lon": -99.1622868, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542803, "lat": 19.3881819, "lon": -99.162121, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542804, "lat": 19.3881308, "lon": -99.1620755, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542805, "lat": 19.3882312, "lon": -99.1623596, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542806, "lat": 19.3882723, "lon": -99.162396, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542807, "lat": 19.3884269, "lon": -99.1621869, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542808, "lat": 19.3883815, "lon": -99.1621984, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12161213841, "lat": 19.4002351, "lon": -99.1678225}, {"type": "node", "id": 12162235997, "lat": 19.4000602, "lon": -99.1677734, "tags": {"crossing": "uncontrolled", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no"}}, {"type": "node", "id": 12216458214, "lat": 19.3908606, "lon": -99.1639565}, {"type": "node", "id": 12216458218, "lat": 19.3912319, "lon": -99.164035}, {"type": "node", "id": 12216458222, "lat": 19.3915672, "lon": -99.1644551}, {"type": "node", "id": 12216478464, "lat": 19.3907408, "lon": -99.1638787}, {"type": "node", "id": 12216478465, "lat": 19.3908324, "lon": -99.1639613}, {"type": "node", "id": 12216478468, "lat": 19.3906925, "lon": -99.164}, {"type": "node", "id": 12343491443, "lat": 19.3750541, "lon": -99.1685668}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "node", "id": 12745380343, "lat": 19.3885245, "lon": -99.1597583}, {"type": "node", "id": 12745380344, "lat": 19.3885481, "lon": -99.1598448}, {"type": "way", "id": 4758981, "nodes": [30340914, 30385336, 30385335, 30341025, 30341038, 30385334], "tags": {"highway": "residential", "name": "Calle Bonampak", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 4794199, "nodes": [30758693, 30385336, 30758735, 30341031, 30758743, 30594502, 30758692, 30340972], "tags": {"alt_name": "Calle Isabel Lozano Viuda de Betty", "highway": "residential", "name": "Calle Isabel Lozano Viuda de Betti", "surface": "asphalt"}}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 4809129, "nodes": [30594093, 6221657642, 274839048, 8239810227, 30879847, 274841736, 274841741, 274841740, 274841743, 900987425], "tags": {"alt_name": "Eje Vial 3 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Calle Amores", "oneway": "yes", "ref": "EJE 3 PTE", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 4809199, "nodes": [275366636, 1964030264, 30880008, 30880010], "tags": {"alt_name": "Eje 3 Poniente;Eje Vial 3 Poniente", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "2", "name": "Avenida Colonia del Valle", "oneway": "yes", "ref": "EJE 3 PTE", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720834, "nodes": [473092200, 5119650360, 473111810, 11863209653, 473092217, 30879975, 274841705, 10288250215, 30595089], "tags": {"highway": "tertiary", "lanes": "2", "maxspeed:type": "MX:urban", "name": "Xola", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734689, "nodes": [30879847, 274841700, 274841703, 275404121, 8234346218, 473537843, 870894651], "tags": {"highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "20", "maxspeed:type": "sign", "name": "Calle La Morena", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 24896323, "nodes": [7888156204, 30595093, 3882252374, 10288250216, 30595089], "tags": {"alt_name": "Eje 4 Sur;Eje V\u00edal 4 Sur", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Rafa\u00e9l Dond\u00e9", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 24896549, "nodes": [30340920, 11863297921, 8573175877, 8573175891, 30340918, 30340917, 30340916, 30594516, 30340914, 275362853, 30339674, 274840981, 30340912, 30758971, 30758914, 30340909, 268680218], "tags": {"alt_name": "Eje Vial 5 Sur;Eje 5 Sur", "destination:street": "Avenida Insurgentes;Divisi\u00f3n del Norte", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30; PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00; PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30; PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 25206841, "nodes": [1140221617, 274839233, 274839232, 274839231, 6221657652, 274839229, 274839228, 274839227, 274839226, 274839225, 274839219], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206842, "nodes": [30789555, 11863276057, 30789556, 274839135, 6221657655, 4070528816, 30789564, 12127463544, 274839236, 1964030274, 900987457], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206844, "nodes": [274839133, 6221657653, 30789629, 1964030280, 1964030278, 900987452], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206905, "nodes": [274839883, 274839861, 11002645512, 2261531882, 274839860, 274839859], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206953, "nodes": [274840760, 274840761, 2261531864, 11002645511, 274840762, 274840763], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206978, "nodes": [274840988, 274840989], "tags": {"alt_name": "Manuel C. Rej\u00f3n", "highway": "residential", "name": "Calle Tepozteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206992, "nodes": [274840033, 274841112, 274841106, 8301847567, 274841105], "tags": {"highway": "residential", "name": "Calle Icacos", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25207022, "nodes": [274841370, 274841371], "tags": {"highway": "residential", "name": "Cerrada Tercera Luz Savi\u00f1\u00f3n", "surface": "asphalt"}}, {"type": "way", "id": 25207086, "nodes": [274841736, 30594263], "tags": {"highway": "residential", "name": "Calle Ana Mar\u00eda Mier", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25207087, "nodes": [274841739, 274841740], "tags": {"highway": "residential", "name": "Calle Ernestina Larrainzar", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25207088, "nodes": [274841743, 274841744], "tags": {"highway": "residential", "name": "Calle Elena Arizmendi Mej\u00eda", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275227, "nodes": [30789036, 30789010, 275361846, 8573175857, 8573175856, 30789024], "tags": {"highway": "residential", "name": "Callej\u00f3n Xoco", "surface": "asphalt"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275413, "nodes": [854403260, 275364246, 4161648925, 275364248, 275364249, 6507300090, 8558509855, 6507300088], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275452, "nodes": [854403260, 275364495], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275456, "nodes": [30789639, 275511759, 275511758, 275364506, 8234143270, 275364534, 12745380343, 8234143272, 275364636, 275364637, 275364638, 854403267], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275479, "nodes": [275364819, 275364957, 275364857, 275364792], "tags": {"highway": "residential", "name": "Calle Escocia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275493, "nodes": [275364857, 275364945], "tags": {"highway": "residential", "name": "Calle Edinburgo", "surface": "asphalt"}}, {"type": "way", "id": 25275494, "nodes": [275364957, 275364991], "tags": {"highway": "residential", "name": "Calle Ferrol", "surface": "asphalt"}}, {"type": "way", "id": 25275496, "nodes": [5475796534, 5891567286], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25275886, "nodes": [31180759, 275366641], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 25280960, "nodes": [275406302, 5891567290, 275406563], "tags": {"highway": "residential", "name": "Cerrada Tercera Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25281011, "nodes": [275407052, 275407054], "tags": {"highway": "residential", "lanes": "2", "lanes:backward": "1", "lanes:forward": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "surface": "asphalt"}}, {"type": "way", "id": 25281032, "nodes": [275407484, 275407485], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 25281075, "nodes": [275407670, 275407669], "tags": {"alt_name": "Cerrada Eugenia", "highway": "residential", "name": "Calle Jos\u00e9 Mart\u00edn Mendalde", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281078, "nodes": [275407057, 8558602094, 275407683, 275407485, 275407684, 8558602096, 275407054], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281110, "nodes": [275407915, 5475796533], "tags": {"highway": "residential", "name": "Segunda Cerrada Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281385, "nodes": [275409630, 275410046, 275409851], "tags": {"highway": "residential", "name": "Segunda Cerrada Pedro Romero Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281397, "nodes": [275409853, 275410046, 10266303716, 10266303717, 10266303718, 10266303719, 275410047], "tags": {"highway": "residential", "name": "Primera Cerrada de Amores", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281452, "nodes": [275410474, 275410621], "tags": {"highway": "residential", "name": "Calle Santa Cruz Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281522, "nodes": [275410814, 275410866], "tags": {"highway": "residential", "name": "Calle Santa Cruz Sur", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292163, "nodes": [275511502, 8558602086, 275511509, 275511517, 275511508, 8558602088, 275511499], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292167, "nodes": [275511510, 275511517], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 25292214, "nodes": [30385355, 275511721], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Aniceto Ortega", "surface": "asphalt"}}, {"type": "way", "id": 25292229, "nodes": [275511768, 8239217277], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292249, "nodes": [8233994249, 5475796543, 30789612, 8233172133, 30789613], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 39600726, "nodes": [31180208, 31180210, 8239360997, 30385361, 30340905, 30759094, 30789558, 30789559, 8233172139, 8233172134, 30789560], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 72050479, "nodes": [30384068, 10303353748, 8605151545, 5438718989, 8397486700, 31163298, 8397486699, 8605151552, 8605151550, 30594234, 8237489141, 31164457, 274841449, 8234429646, 8236554654, 31180448, 30385579, 8234494182, 30385354], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 73832854, "nodes": [274839257, 268824912, 1964030277], "tags": {"highway": "residential", "name": "Calle Taj\u00edn"}}, {"type": "way", "id": 76403139, "nodes": [275409851, 30595044], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 76406268, "nodes": [900987408, 900987425, 8239810231, 900987434], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 76406269, "nodes": [900996078, 1420541219, 900996079, 473537847, 7888156203, 900987417, 3882252371, 900987420, 8064038562, 900987408], "tags": {"alt_name": "Eje 4 Sur;Eje V\u00edal 4 Sur", "highway": "primary", "lanes": "1", "name": "Rafa\u00e9l Dond\u00e9", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 80012731, "nodes": [30340980, 275357288, 275358446, 30789030, 30789005, 30789031, 8572473122, 6459744104], "tags": {"destination:street": "Doctor V\u00e9rtiz", "highway": "tertiary", "lanes": "2", "name": "Calle Cumbres de Acultzingo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738296, "nodes": [1964030281, 274841374, 4149628081, 274839233, 1964030278, 1964030275, 1964030274, 1964030273], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738297, "nodes": [2261526396, 274841131, 274841130], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes"}}, {"type": "way", "id": 216794743, "nodes": [30594104, 274839137, 4070528818, 30789547, 6106729915, 854429428, 30789546, 274839258, 274839253], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 221458085, "nodes": [274841741, 8064038559], "tags": {"highway": "residential", "name": "Ernestina Larranzar", "surface": "concrete"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 332814730, "nodes": [1964030265, 4135213735, 8236979496, 30879876, 30340897, 30385352, 8237599522, 30879879, 30879880, 30879897, 30879898, 12125772181, 12131304592, 5904623146, 30880116, 12343491443, 11070566972, 31163297, 8237489137, 30384069, 967894723, 967894760, 276454071, 30879908, 5547039859, 5547039858, 5547039862, 5547039983, 8610901276, 5547039987, 5547039985, 434305025, 30879951, 30879953, 6135534972, 8060212847, 8060212846, 991195193, 8060212843, 8060212844, 30879956, 30879957, 271794989], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Amores", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 337252534, "nodes": [8190543264, 3443604567, 3443604568, 10920875881, 8190543262], "tags": {"highway": "secondary_link", "oneway": "yes"}}, {"type": "way", "id": 351524851, "nodes": [275407057, 275407058, 275511499], "tags": {"highway": "residential", "lanes": "2", "lanes:backward": "1", "lanes:forward": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "surface": "asphalt"}}, {"type": "way", "id": 351524853, "nodes": [275511502, 30385353, 8234494181, 275511498, 275513823], "tags": {"highway": "residential", "lanes": "2", "lanes:backward": "1", "lanes:forward": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "surface": "asphalt"}}, {"type": "way", "id": 351524855, "nodes": [275407054, 8558602097, 275407055, 275407484, 275407056, 8558602095, 275407057], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 351524856, "nodes": [275511499, 8558602089, 275511500, 275511510, 275511501, 8558602087, 275511502], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 396053581, "nodes": [275366627, 12150524798, 8233649166, 8233488843, 275364819, 274841384, 854385866, 8240138231, 8239361014, 8239361012, 30385356, 8239782510, 274841385, 275513562, 275513555, 31180442], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 402788401, "nodes": [30879981, 5197168347, 275369604, 275367438, 275406076, 473196269, 275408453, 275408584, 11869862328, 30341168], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 411950792, "nodes": [4135213750, 4074023137, 4135213749, 4135213748, 4074023164, 4135213745, 4052026418, 4074023171, 4135213742, 4135213740, 30880008, 4074023153, 4135213736, 4074023159, 4135213735, 11122526376, 4135213734, 4074023163, 4135213737, 4135213738, 4135213739, 12216478468, 4135213741, 12216478465, 12216458214, 4135213743, 4135213746, 12216458218, 6485933200, 4135213747, 4074023177, 12216458222, 31318020, 4074023147, 4135213750], "tags": {"highway": "living_street", "name": "Parque Mariscal Sucre", "surface": "paving_stones"}}, {"type": "way", "id": 434683856, "nodes": [30879848, 275409853, 8236979494, 30879849, 6135446069, 12136908393, 275410621, 275410814, 31180771, 12129079360, 31318020, 30879851], "tags": {"alt_name": "Eje Vial 3 Poniente;Eje 3 Poniente;Calle Amores", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Calle Amores", "oneway": "yes", "ref": "EJE 3 PTE", "surface": "asphalt"}}, {"type": "way", "id": 479400998, "nodes": [30880094, 8606404193, 4262874539, 4262874540, 275513459, 8239401255, 275513557, 275513588, 275511814, 8239504799, 8063886561, 12149277402, 12149277401, 12149179292, 275511813], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516278209, "nodes": [6507300088, 8558509854, 6507300089, 275363142, 275363143, 275363144, 275363145, 854403267, 275363146, 275363147], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516278210, "nodes": [900987455, 1964030275, 1964030279, 30789617, 6133181828, 274839134, 30789609, 30789621, 11863093424, 30789608], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516279875, "nodes": [5040258790, 5835040399, 8240182412, 5835040398, 8059695783, 8059695780, 30759093], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 528115481, "nodes": [1933202103, 5132951388], "tags": {"highway": "residential", "name": "Cerrada Aniceto Ortega"}}, {"type": "way", "id": 569390368, "nodes": [3584373359, 3584373358], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569391059, "nodes": [1964030273, 11155081755, 3584373358], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569391062, "nodes": [3584373358, 30789546, 30789537, 30789521, 268824912, 1964030272, 854429422, 268825766, 274841131, 274840030], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407342, "nodes": [274840033, 854429424, 30789448, 1964030272, 274839257, 274839256, 274839255, 274839258], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407348, "nodes": [274840030, 8063024658], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407350, "nodes": [274840031, 274841130, 274839254, 854429424, 854429421, 1964030277, 854429426, 854429427, 854429428, 3584373357], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407356, "nodes": [2261526389, 11002645514, 274840029], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407359, "nodes": [30339687, 11002645513, 2261531886], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407360, "nodes": [274841379, 274841375], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407361, "nodes": [900987438, 900987444], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407362, "nodes": [2261531886, 8305044754, 8305044751, 268824891], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407371, "nodes": [274840982, 30339675], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407372, "nodes": [274840982, 274840981], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407374, "nodes": [30339675, 30789037, 474733239, 30759101], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407375, "nodes": [30339674, 30339675], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407377, "nodes": [274840981, 274840980], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407379, "nodes": [30339673, 30758636, 30758693, 30339674], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420042, "nodes": [274841709, 8081956088, 8081956086, 8081956084, 275366641], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420044, "nodes": [30879979, 31180759], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420045, "nodes": [30879979, 8066686758, 30879980], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Coyoac\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420046, "nodes": [1964030265, 4135213737, 275366642], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420047, "nodes": [30879980, 8066686759, 30879981, 30880010], "tags": {"highway": "tertiary", "lanes": "4", "name": "Avenida Coyoac\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420048, "nodes": [31180752, 30879979], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Coyoac\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420049, "nodes": [31180752, 31180759], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420050, "nodes": [31180759, 8081956083, 8081956085, 8081956087, 274841710], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420051, "nodes": [31180751, 275410866, 275410474, 8229976725, 8233471129, 8233792320, 275362228, 8233471133, 8237655931, 11010828115, 900987405], "tags": {"alt_name": "Klondike", "highway": "residential", "lanes": "2", "name": "Calle Mier y Pesado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420052, "nodes": [31180751, 31180752], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420053, "nodes": [275366641, 6135446073, 31183329, 6135446068, 31183330, 31183331], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420054, "nodes": [275366641, 30879980], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 569422233, "nodes": [275366642, 30385577], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt", "turn:lanes": "left;through|through|through|none"}}, {"type": "way", "id": 569422234, "nodes": [275366642, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422235, "nodes": [30385577, 4135213738, 30879851, 4135213749, 8081956081, 10144555427, 10144555429, 10938932923, 30879979], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422237, "nodes": [30385577, 6133225304, 275358040, 8233649163, 30594254], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569422241, "nodes": [30759077, 4036550995, 5475796534, 8233348341, 5475796533, 30759090, 30789642, 275364534, 30759092, 8233994250, 30759093, 30759094, 30759078], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422243, "nodes": [275366643, 12150542806, 12150542805, 12150542801, 275366627], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422246, "nodes": [30759077, 30385577], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422252, "nodes": [30758974, 30759080, 30759081, 30759082, 30759083, 30759084, 30759085, 30759086, 8229976722, 30880012, 30879982, 275407669, 30879876, 275407052, 30759076, 275406302, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422254, "nodes": [274841383, 12150542802, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422256, "nodes": [274841383, 275366627], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422259, "nodes": [275366627, 12150524800, 275366644, 8066221762, 275366645, 5494680257, 275366646], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422262, "nodes": [30384322, 8239360998, 8395187916, 5040258790, 5476240716, 12149179295, 12149179296, 12149179293, 275511812], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422268, "nodes": [274841162, 6221657651, 4788993870, 4149628082, 4149628081, 900987447], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 569422273, "nodes": [275364499, 30759290, 275366647, 8239217278], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422281, "nodes": [275511813, 275511812], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422284, "nodes": [30759288, 12149179284, 30340903], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422286, "nodes": [275511812, 12149179289, 30759288], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716821, "nodes": [268680217, 8239504806, 30758913], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716825, "nodes": [31161266, 268680217, 30385377, 30759103, 8063206412, 11155081780, 30341108, 30385361, 5835040399, 30385360, 12149277404, 12149277403, 12149179288, 30759288], "tags": {"highway": "residential", "name": "Calle San Borja", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716826, "nodes": [30758913, 268680218], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716827, "nodes": [268680218, 30385387], "tags": {"alt_name": "Eje Vial 5 Sur;Eje 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569716828, "nodes": [268680218, 268680219, 268680220], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716831, "nodes": [30385387, 8397788794], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716833, "nodes": [30340906, 30340905, 5835040398, 30340904, 30340903, 275364506, 275364499, 5835040404], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569716835, "nodes": [30759079, 30789511, 3443604566, 8190543264, 8397788793], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716836, "nodes": [30759079, 268680220], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735727, "nodes": [274840764, 5478588609], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177551, "nodes": [275512749, 275512756, 8572704324, 30594512, 30341039, 30341026, 30594514, 30758735, 30594516], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177555, "nodes": [30594516, 30789037, 30789038, 31180765, 268679153], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177557, "nodes": [5834951267, 31180763, 30789034, 474733239, 30789036, 30340916, 30341031, 30341032, 30341027, 30341033, 30340092], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237570, "nodes": [30758907, 30758913], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241629, "nodes": [268680220, 30759097, 30759098, 30759099, 274840982], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241637, "nodes": [30759101, 30789008, 5834951265, 5834951263, 30789005], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617252028, "nodes": [30385354, 8239748945, 30385353, 30385352, 12127145919, 30385351, 30385350, 8236554639, 8236554638, 8236554642, 3042328471], "tags": {"highway": "residential", "name": "Calle San Borja", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252030, "nodes": [275363144, 31180746, 5475796539, 8236990009, 30759090, 8066221769, 5835040401], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252032, "nodes": [275366646, 8066221761, 5835040400], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252034, "nodes": [275407915, 8066221763, 30384303, 275365144, 12150524791, 12150524792, 12150542804, 12150542803, 12150524799, 274841383], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252036, "nodes": [5835040400, 8239361005, 8239361008, 4790122833, 8240138232, 274841237, 991189753, 275513587, 275513556, 31180441, 4262874537, 4262874538, 30880093], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257347, "nodes": [31180746, 274841370, 274841382, 8233701235, 30594254, 8066625615, 31180771, 10144555428, 10144555430, 31180751], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257349, "nodes": [275364246, 275362223, 275362224, 275362225, 1933202103, 10266303762, 275362227, 10266303760, 10266303731, 275409630], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 617260932, "nodes": [275363145, 275364497, 5475796542, 8234143273, 12745380344, 30789642, 8234143271, 275364499], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260934, "nodes": [30340903, 30759092, 5475796541, 30789624], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260945, "nodes": [275363142, 6416401258, 1420461034, 6416401255, 274841382, 6133225306, 5475796540, 6133225300, 4036550995, 5891567287, 12150542807, 12150542808, 12150524797, 274841383], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260947, "nodes": [30594254, 8237082668, 8233701232, 10266303733, 10266303763, 275362227], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281174, "nodes": [900987444, 274841374, 274841373, 274841372, 6221657650, 274839056], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 617281175, "nodes": [854403267, 854403260], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281178, "nodes": [274841379, 8233380395, 8236937238, 8236937244, 275362225, 1420461035, 8558399577, 275364249], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281182, "nodes": [900987434, 8239810233, 274841744, 274841739, 30594263, 268824776, 274841689, 6221657648, 274839054], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281194, "nodes": [854403260, 275363145], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281195, "nodes": [30789627, 30789626], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510809, "nodes": [274839139, 30789522, 274841105, 854429426], "tags": {"highway": "residential", "lanes": "3", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523305, "nodes": [274839438, 268679153, 5834951267, 5834951264, 5834951265], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201785, "nodes": [5834951266, 5834951267], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "surface": "asphalt"}}, {"type": "way", "id": 651201786, "nodes": [30789031, 274840989, 5834951266], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201787, "nodes": [268679153, 6106908849], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 654523420, "nodes": [274840763, 7965846822, 274839883, 274839435], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523421, "nodes": [7998736244, 274839882, 7965846823, 274840764], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654529957, "nodes": [2261531886, 2261531882, 2261531864, 2261531895], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 654535474, "nodes": [275362228, 30879977, 275362700, 275362701, 275362702], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654535475, "nodes": [268824578, 274839236, 1964030279, 1964030280, 274839232, 4149628082, 274841373, 4507180824, 268824889], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 654544883, "nodes": [6133225303, 6133225306], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "surface": "concrete"}}, {"type": "way", "id": 654544885, "nodes": [6133225300, 6133225304], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654544887, "nodes": [6133225299, 6133225301], "tags": {"highway": "residential", "name": "Cerrada Segunda Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 654544889, "nodes": [6133225302, 6133225305], "tags": {"highway": "residential", "name": "Cerrada Primera Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 654760643, "nodes": [6135446069, 8075554355], "tags": {"highway": "living_street", "name": "Privada Matilde", "surface": "concrete"}}, {"type": "way", "id": 654763819, "nodes": [30594246, 275407058, 30340897, 275407670, 12127053786, 8397676843, 30879990, 8397676845, 275441386, 8230120179, 274841708, 8066176224, 8066176223, 8397699944, 270504197], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lanes:psv:forward": "1", "name": "Eugenia", "oneway": "yes", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 684805551, "nodes": [8233994250, 8059695781, 8059695782, 30340904, 8240182413, 30385360, 8395187915, 5476240716], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805561, "nodes": [30789613, 275363147], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 684805562, "nodes": [4161648925, 275363144], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805563, "nodes": [274841235, 275362223, 4161648925], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 684805564, "nodes": [275363143, 275364248], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805565, "nodes": [274841370, 274841376, 6416401257, 6416401256, 275363143], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805568, "nodes": [275364249, 275363142], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 690766119, "nodes": [30595089, 900987405], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 691236413, "nodes": [8066625615, 8558680555, 8066625614, 1420461031], "tags": {"highway": "living_street", "name": "Avenida Colonia del Valle", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 691236414, "nodes": [12216478464, 275358040], "tags": {"highway": "living_street", "name": "Calle Torres Adalid", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 693114314, "nodes": [6507300088, 30594254], "tags": {"highway": "tertiary", "lanes": "4", "name": "Avenida Diagonal San Antonio", "surface": "asphalt"}}, {"type": "way", "id": 693114315, "nodes": [4052026418, 30879981], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes"}}, {"type": "way", "id": 745184377, "nodes": [30789625, 275363146], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745184378, "nodes": [30789624, 30789625], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 785188324, "nodes": [274839258, 873739455], "tags": {"highway": "residential", "name": "Avenida Diagonal San Antonio"}}, {"type": "way", "id": 832342388, "nodes": [854429421, 274841106, 8301847584, 30789447], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 845666575, "nodes": [900987405, 30879848], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur (Xola)", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 845666576, "nodes": [900987408, 8621683163, 12124058742, 274841751, 8239810222, 274841700, 274841748, 6221657640, 30594090], "tags": {"alt_name": "Klondike", "highway": "residential", "lanes": "2", "name": "Calle Mier y Pesado", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 845666578, "nodes": [900987405, 11002639750, 900987408], "tags": {"alt_name": "Klondike", "highway": "residential", "lanes": "2", "name": "Calle Mier y Pesado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 847117304, "nodes": [30759101, 5134866934, 8186010147, 8573175898, 8186010149, 12125771324, 8392318114], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150774, "nodes": [30385379, 7965846824, 274841037, 6366450919], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156345, "nodes": [7965846822, 7965846823], "tags": {"highway": "secondary_link", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 854156347, "nodes": [5478588609, 8204799891, 7965846825, 268824115], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156349, "nodes": [6366450919, 274840763], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854203037, "nodes": [275511813, 12149179294, 8063886556, 8395217117, 5476240715, 8240135664, 275366629], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "3", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854203038, "nodes": [275511812, 12149179290, 275365677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204513, "nodes": [275365677, 275366631], "tags": {"highway": "residential", "name": "Calle San Borja", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204514, "nodes": [5835040404, 5835040401, 8066221764, 8066335563, 275407915], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204515, "nodes": [30759288, 275365677], "tags": {"highway": "residential", "name": "Calle San Borja", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204516, "nodes": [275366631, 12149179291, 12149179299, 12149179300, 275511813], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854204517, "nodes": [275366631, 12149179287, 30789639, 8239217278, 4790122833, 8239361004, 275511729, 30385356, 30385355, 30385354], "tags": {"highway": "residential", "name": "Calle San Borja", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854209475, "nodes": [30341122, 268824578], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210241, "nodes": [3584373357, 3584373356], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210243, "nodes": [268824578, 1964030273], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210244, "nodes": [1964030273, 900987458], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 854210248, "nodes": [3584373358, 3584373357], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "concrete"}}, {"type": "way", "id": 854210249, "nodes": [3584373357, 11155081754, 268824578], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212809, "nodes": [275358048, 30789027, 5834951263, 5834951266, 6106908849, 274839437], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212812, "nodes": [5834951265, 268679231, 275358047], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864687987, "nodes": [30340917, 12127380077, 30789010, 30759101], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864705454, "nodes": [268680219, 8573018496, 8573018495, 30340909, 30385366], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864705455, "nodes": [8059712707, 275362853], "tags": {"highway": "residential", "lit": "yes", "name": "Privada Eugenia", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 864707790, "nodes": [8059695781, 8059695780], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864707791, "nodes": [8059695783, 8059695782], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815592, "nodes": [2261526389, 2261531886], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815593, "nodes": [2261526396, 2261526389], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815598, "nodes": [30339687, 274839861, 274840762, 274841036, 30385379], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815599, "nodes": [274840029, 30339687], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864832719, "nodes": [30879977, 31180752], "tags": {"highway": "tertiary", "lanes": "4", "name": "Avenida Coyoac\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864835864, "nodes": [275409630, 30879849, 12136999324, 275362228], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865046081, "nodes": [854429426, 30789521], "tags": {"highway": "residential", "lanes": "2", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865060276, "nodes": [8063024658, 2261526389], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865102382, "nodes": [874499049, 10184166094, 10184166095, 874499048, 30789626, 854403260], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865142318, "nodes": [900987457, 11002639734, 30789557], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865166525, "nodes": [30879979, 8063914875, 8066686757, 8063914874, 31180751], "tags": {"alt_name": "Klondike", "highway": "residential", "lanes": "1", "name": "Calle Mier y Pesado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865393636, "nodes": [8066221769, 8066221768, 8066221767, 8066221766, 8066221765, 8066221764], "tags": {"highway": "secondary_link", "lanes": "1", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865397850, "nodes": [275366643, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865406779, "nodes": [275407670, 275511393], "tags": {"alt_name": "Cerrada Eugenia", "highway": "residential", "lanes": "2", "lanes:backward": "1", "lanes:forward": "1", "name": "Calle Jos\u00e9 Mart\u00edn Mendalde", "surface": "asphalt"}}, {"type": "way", "id": 865416030, "nodes": [8066424138, 275366647], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through;right"}}, {"type": "way", "id": 865416031, "nodes": [275511759, 12149179298, 12149179297, 12149179286, 275366631], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865422525, "nodes": [8066475260, 275511729], "tags": {"highway": "residential", "lanes": "1", "name": "Privada Juan S\u00e1nchez Azcona", "surface": "asphalt"}}, {"type": "way", "id": 867051435, "nodes": [30759076, 275366642], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt", "turn:lanes": "left;through|through|through;right|none"}}, {"type": "way", "id": 881136974, "nodes": [8195270562, 275365144], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 885419363, "nodes": [8233471133, 8233471132], "tags": {"highway": "residential"}}, {"type": "way", "id": 885419364, "nodes": [8233471132, 8558503741, 8233471131, 8558503739, 8558503740, 8233471130], "tags": {"highway": "residential"}}, {"type": "way", "id": 885422509, "nodes": [8233488844, 8233488843], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445023, "nodes": [8233649162, 8233649161], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445024, "nodes": [8233649163, 8233649162], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445025, "nodes": [8233649165, 8233649164], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445026, "nodes": [8233649167, 8233649166], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449421, "nodes": [8233701231, 8233701230], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449422, "nodes": [8233701232, 8233701231], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449423, "nodes": [8233701235, 8233701233], "tags": {"highway": "residential"}}, {"type": "way", "id": 885462663, "nodes": [8233767574, 8233767573], "tags": {"highway": "residential"}}, {"type": "way", "id": 885462664, "nodes": [8233767575, 8233767574], "tags": {"highway": "residential"}}, {"type": "way", "id": 885479063, "nodes": [30759093, 8233994249], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885479064, "nodes": [8233994249, 8233994250], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885496902, "nodes": [8234143271, 8234143270], "tags": {"highway": "residential"}}, {"type": "way", "id": 885496903, "nodes": [8234143273, 8234143272], "tags": {"highway": "residential"}}, {"type": "way", "id": 885817686, "nodes": [8236907909, 275410621], "tags": {"highway": "residential"}}, {"type": "way", "id": 885817687, "nodes": [8236907910, 8236907909], "tags": {"highway": "residential"}}, {"type": "way", "id": 885820795, "nodes": [8236979495, 275366642], "tags": {"highway": "residential"}}, {"type": "way", "id": 885820796, "nodes": [8236979496, 8236979495], "tags": {"highway": "residential"}}, {"type": "way", "id": 885829823, "nodes": [1964030281, 4507180823], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle La Morena", "oneway": "yes", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 885829824, "nodes": [4507180823, 268824776, 30879847], "tags": {"highway": "tertiary", "lanes": "2", "lit": "yes", "maxspeed": "20", "maxspeed:type": "sign", "name": "Calle La Morena", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 885829825, "nodes": [268824889, 4507180823], "tags": {"highway": "tertiary", "lanes": "1", "name": "Calle La Morena", "oneway": "yes", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 885832075, "nodes": [8237082669, 8237082668], "tags": {"highway": "residential"}}, {"type": "way", "id": 885832076, "nodes": [8237082670, 8237082669], "tags": {"highway": "residential"}}, {"type": "way", "id": 886076194, "nodes": [8239217277, 30789639], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 886076195, "nodes": [8239217277, 8239217278], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 886077262, "nodes": [8239241756, 8239241755], "tags": {"highway": "residential"}}, {"type": "way", "id": 886077263, "nodes": [8239241757, 8239241756], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093561, "nodes": [8239361006, 8239361005], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093562, "nodes": [8239361007, 8239361006], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093563, "nodes": [8239361009, 8239361008], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093564, "nodes": [8239361010, 8239361009], "tags": {"highway": "residential"}}, {"type": "way", "id": 886140362, "nodes": [8239810222, 8239810221, 8239810220], "tags": {"highway": "residential"}}, {"type": "way", "id": 886177997, "nodes": [8240182413, 8240182412], "tags": {"highway": "residential"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838683, "nodes": [6133181807, 900987458], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848449, "nodes": [30789610, 30789557], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848450, "nodes": [900987455, 900987457], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848451, "nodes": [900987457, 6133181807], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850316, "nodes": [900987452, 11002639736, 30789627], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850317, "nodes": [900987452, 900987455], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850318, "nodes": [1140221617, 900987452], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850319, "nodes": [30789627, 30789610], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850320, "nodes": [30789610, 11002639735, 900987455], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850321, "nodes": [275363147, 10184166101, 874499048], "tags": {"highway": "tertiary", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851347, "nodes": [900987444, 900987447], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851348, "nodes": [900987447, 1140221617], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851349, "nodes": [900987447, 11002639738, 274841235], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "no", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 903851350, "nodes": [275364495, 11002639737, 1140221617], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851351, "nodes": [274841235, 275364495], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851352, "nodes": [275364495, 30789627], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903852226, "nodes": [900987438, 11002639740, 274841379], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852227, "nodes": [274841377, 6221657649, 274838902, 268824889, 1964030281, 900987438], "tags": {"highway": "residential", "lane_markings": "no", "maxspeed:type": "MX:urban", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 903852228, "nodes": [900987434, 900987438], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903852229, "nodes": [274841375, 11002639739, 900987444], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852230, "nodes": [275364248, 275362224, 274841375], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852231, "nodes": [274841375, 274841235], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904185981, "nodes": [30595044, 11002639743, 900987434], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 904185982, "nodes": [275362227, 10266303759, 275410047, 8239810223, 30595044], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 904185983, "nodes": [30595044, 274841379], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904185984, "nodes": [30879848, 275409851], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904225338, "nodes": [5835040400, 8397788790], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904225339, "nodes": [5835040401, 5835040400], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 904225340, "nodes": [268680218, 8397788793], "tags": {"bicycle": "yes", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 904225341, "nodes": [8397788794, 30385377], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 910607001, "nodes": [275363145, 275364246], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957870, "nodes": [275365677, 12149179285, 275511758, 30759290, 5835040404], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957871, "nodes": [5835040404, 5835040400], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918957872, "nodes": [5835040400, 8066424138], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957873, "nodes": [8397788790, 8397788791, 274841384, 8646569263, 275364991, 275364945, 30594246], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918957874, "nodes": [30385354, 8239241757, 30594246], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 918957875, "nodes": [30594246, 275364792, 8233767575, 30759076], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 918958780, "nodes": [30385387, 12126328030, 30759104, 8063206411, 11155081777, 30340906], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918958781, "nodes": [30759078, 8233172141, 30341110, 30340906], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 918958782, "nodes": [30340906, 30341108, 8239441660, 30341107, 30340084, 30341106], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 921889156, "nodes": [874499048, 30789610], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 991363398, "nodes": [900987458, 11002639733, 874499049], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143717, "nodes": [10184166093, 275363147], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143718, "nodes": [30789560, 10184166093], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143719, "nodes": [10184166094, 30789557], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143720, "nodes": [10184166093, 10184166096, 10184166095], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1163653161, "nodes": [274839882, 274839883], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 1174928399, "nodes": [900987425, 11002639745, 11002639749, 30879848], "tags": {"alt_name": "Eje Vial 3 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "highway": "primary", "lanes": "4", "lit": "yes", "name": "Calle Amores", "oneway": "yes", "ref": "EJE 3 PTE", "surface": "asphalt"}}, {"type": "way", "id": 1174931948, "nodes": [30879851, 275366636], "tags": {"alt_name": "Eje 3 Poniente;Eje Vial 3 Poniente", "check_date:cycleway": "2024-03-03", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Avenida Colonia del Valle", "oneway": "yes", "ref": "EJE 3 PTE", "surface": "asphalt"}}, {"type": "way", "id": 1174933309, "nodes": [30759078, 11155081773, 8063206410], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1174933310, "nodes": [8063206410, 30759095, 30759096, 30789525, 30759079], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175229253, "nodes": [8397788793, 30385387], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1177454203, "nodes": [10938932923, 10938932922, 10938932921, 10938932920, 31180751], "tags": {"alt_name": "Klondike", "highway": "residential", "lanes": "1", "name": "Calle Mier y Pesado", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576964, "nodes": [11002633304, 11002645507, 11002645508, 11002645509, 11002645510, 11002645511, 11002645512, 11002645513, 11002645514], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184577928, "nodes": [11002639744, 11002639745, 11002639746, 11002639747], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577929, "nodes": [11002639747, 11002639748, 11002639749, 11002639744], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577930, "nodes": [11002639747, 11002639750, 11002639751, 11002639752, 11002639753, 11002639754, 11002639755, 11002639756, 11002639757, 11002639758, 11002639759, 11002639760, 11002639761, 11002639762, 12162235997, 11002639763, 11002639764, 12161213841], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377386, "nodes": [11155081751, 11155081754, 11155081755, 11155081756], "tags": {"highway": "busway", "lanes": "2", "name": "Avenida Cuauht\u00e9moc", "surface": "concrete"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377392, "nodes": [11155081769, 11155081772, 11155081773, 11155081774], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377393, "nodes": [11155081774, 11155081775, 11155081776, 11155081777], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377394, "nodes": [11155081777, 11155081778, 11155081779, 11155081774], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377395, "nodes": [11155081777, 11155081780, 11155081781], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1257184192, "nodes": [30879851, 1964030265], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Amores", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1259593772, "nodes": [30879980, 8081956082, 4135213748, 275366636], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1259593773, "nodes": [275366636, 1964030265], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle": "yes", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1259593774, "nodes": [275366647, 275511759], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle": "yes", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1376555915, "nodes": [12745380344, 12745380343], "tags": {"highway": "residential", "maxspeed": "40", "surface": "asphalt"}}]} \ No newline at end of file diff --git a/cache/7d96f534608174d2a5c5603be8dc5ad94e9377b8.json b/cache/7d96f534608174d2a5c5603be8dc5ad94e9377b8.json new file mode 100644 index 0000000..854f488 --- /dev/null +++ b/cache/7d96f534608174d2a5c5603be8dc5ad94e9377b8.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:27:52Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/8b4ead0bd6b148896b72cf40c01823d64d38cf75.json b/cache/8b4ead0bd6b148896b72cf40c01823d64d38cf75.json new file mode 100644 index 0000000..d65163c --- /dev/null +++ b/cache/8b4ead0bd6b148896b72cf40c01823d64d38cf75.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:21:34Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/95a01de2735117237a80aa8442e39302522f3e2b.json b/cache/95a01de2735117237a80aa8442e39302522f3e2b.json new file mode 100644 index 0000000..c06862f --- /dev/null +++ b/cache/95a01de2735117237a80aa8442e39302522f3e2b.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:46:08Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 504342111, "lat": 19.3314594, "lon": 0.8617454}, {"type": "node", "id": 504342112, "lat": 19.3404753, "lon": 0.8661871}, {"type": "node", "id": 504342114, "lat": 19.3840549, "lon": 0.8542017}, {"type": "node", "id": 504342116, "lat": 19.3912292, "lon": 0.8503626}, {"type": "node", "id": 504342117, "lat": 19.4021995, "lon": 0.836577}, {"type": "node", "id": 504342119, "lat": 19.4088725, "lon": 0.8373201}, {"type": "node", "id": 504342122, "lat": 19.4488783, "lon": 0.8544322}, {"type": "node", "id": 1711895914, "lat": 19.4579576, "lon": 0.857506}, {"type": "node", "id": 1713965186, "lat": 19.3505948, "lon": 0.863517}, {"type": "node", "id": 1713965188, "lat": 19.3444939, "lon": 0.8638383}, {"type": "node", "id": 1713965190, "lat": 19.3352546, "lon": 0.8634145}, {"type": "node", "id": 1713965192, "lat": 19.3304564, "lon": 0.8620833}, {"type": "node", "id": 1713965194, "lat": 19.3296194, "lon": 0.8624918}, {"type": "node", "id": 1713965206, "lat": 19.3389947, "lon": 0.8663926}, {"type": "node", "id": 1713965207, "lat": 19.3356572, "lon": 0.8638544}, {"type": "node", "id": 1713965209, "lat": 19.3372843, "lon": 0.865854}, {"type": "node", "id": 1713965211, "lat": 19.34596, "lon": 0.8630444}, {"type": "node", "id": 1713965214, "lat": 19.3377154, "lon": 0.8660814}, {"type": "node", "id": 1713965216, "lat": 19.351392, "lon": 0.8632026}, {"type": "node", "id": 1713965220, "lat": 19.3464312, "lon": 0.862962}, {"type": "node", "id": 1713965223, "lat": 19.3523369, "lon": 0.8621324}, {"type": "node", "id": 1713965226, "lat": 19.3509767, "lon": 0.8634038}, {"type": "node", "id": 1713965229, "lat": 19.3422524, "lon": 0.8651547}, {"type": "node", "id": 1713965243, "lat": 19.3400944, "lon": 0.8663505}, {"type": "node", "id": 1713965246, "lat": 19.3517647, "lon": 0.8629102}, {"type": "node", "id": 1713965250, "lat": 19.3455187, "lon": 0.8632294}, {"type": "node", "id": 1713965252, "lat": 19.3473438, "lon": 0.8630328}, {"type": "node", "id": 1713965254, "lat": 19.3498214, "lon": 0.8634735}, {"type": "node", "id": 1713965256, "lat": 19.3468635, "lon": 0.8629639}, {"type": "node", "id": 1713965258, "lat": 19.3334621, "lon": 0.8621633}, {"type": "node", "id": 1713965261, "lat": 19.3321734, "lon": 0.8617118}, {"type": "node", "id": 1713965263, "lat": 19.3520978, "lon": 0.8625347}, {"type": "node", "id": 1713965265, "lat": 19.3396593, "lon": 0.8664277}, {"type": "node", "id": 1713965272, "lat": 19.3369002, "lon": 0.8655066}, {"type": "node", "id": 1713965275, "lat": 19.3328117, "lon": 0.8618406}, {"type": "node", "id": 1713965277, "lat": 19.3383245, "lon": 0.8662662}, {"type": "node", "id": 1713965281, "lat": 19.3502296, "lon": 0.8635446}, {"type": "node", "id": 1713967787, "lat": 19.3572268, "lon": 0.8577502}, {"type": "node", "id": 1713967788, "lat": 19.359164, "lon": 0.8574219}, {"type": "node", "id": 1713967789, "lat": 19.366842, "lon": 0.8594746}, {"type": "node", "id": 1713967790, "lat": 19.3738894, "lon": 0.856548}, {"type": "node", "id": 1713967791, "lat": 19.3719843, "lon": 0.8581131}, {"type": "node", "id": 1713967802, "lat": 19.3695645, "lon": 0.8577838}, {"type": "node", "id": 1713967803, "lat": 19.359832, "lon": 0.85764}, {"type": "node", "id": 1713967804, "lat": 19.3715305, "lon": 0.8582869}, {"type": "node", "id": 1713967805, "lat": 19.3704562, "lon": 0.8578476}, {"type": "node", "id": 1713967807, "lat": 19.357739, "lon": 0.8575244}, {"type": "node", "id": 1713967809, "lat": 19.3677203, "lon": 0.8594143}, {"type": "node", "id": 1713967811, "lat": 19.3664634, "lon": 0.8594124}, {"type": "node", "id": 1713967813, "lat": 19.3672694, "lon": 0.859476}, {"type": "node", "id": 1713967814, "lat": 19.3712548, "lon": 0.8583014}, {"type": "node", "id": 1713967816, "lat": 19.3723307, "lon": 0.8578146}, {"type": "node", "id": 1713967818, "lat": 19.3569133, "lon": 0.8579417}, {"type": "node", "id": 1713967820, "lat": 19.3688896, "lon": 0.8586954}, {"type": "node", "id": 1713967822, "lat": 19.3658374, "lon": 0.8591447}, {"type": "node", "id": 1713967824, "lat": 19.3615908, "lon": 0.8581692}, {"type": "node", "id": 1713967826, "lat": 19.3648607, "lon": 0.8589467}, {"type": "node", "id": 1713967828, "lat": 19.3627798, "lon": 0.8585417}, {"type": "node", "id": 1713967829, "lat": 19.3697611, "lon": 0.8577078}, {"type": "node", "id": 1713967830, "lat": 19.3655305, "lon": 0.8590446}, {"type": "node", "id": 1713967831, "lat": 19.3587125, "lon": 0.857379}, {"type": "node", "id": 1713967840, "lat": 19.370983, "lon": 0.8581947}, {"type": "node", "id": 1713967842, "lat": 19.3582479, "lon": 0.8574112}, {"type": "node", "id": 1713967844, "lat": 19.3640188, "lon": 0.8587319}, {"type": "node", "id": 1713967845, "lat": 19.3557396, "lon": 0.8587973}, {"type": "node", "id": 1713967846, "lat": 19.3734752, "lon": 0.856772}, {"type": "node", "id": 1713967847, "lat": 19.3529837, "lon": 0.8609168}, {"type": "node", "id": 1713967848, "lat": 19.3701495, "lon": 0.8577108}, {"type": "node", "id": 1713967849, "lat": 19.3729486, "lon": 0.8572941}, {"type": "node", "id": 1713967850, "lat": 19.3534522, "lon": 0.8604909}, {"type": "node", "id": 1713967852, "lat": 19.3685847, "lon": 0.8590476}, {"type": "node", "id": 1713967854, "lat": 19.3681189, "lon": 0.8592839}, {"type": "node", "id": 1713967855, "lat": 19.3692806, "lon": 0.8580064}, {"type": "node", "id": 1713967857, "lat": 19.3526406, "lon": 0.8614404}, {"type": "node", "id": 1713972731, "lat": 19.3820337, "lon": 0.8538468}, {"type": "node", "id": 1713972733, "lat": 19.3824025, "lon": 0.8536027}, {"type": "node", "id": 1713972735, "lat": 19.3830979, "lon": 0.853567}, {"type": "node", "id": 1713972736, "lat": 19.3893236, "lon": 0.8519033}, {"type": "node", "id": 1713972738, "lat": 19.3822475, "lon": 0.8537312}, {"type": "node", "id": 1713972739, "lat": 19.3810999, "lon": 0.854096}, {"type": "node", "id": 1713972741, "lat": 19.3845235, "lon": 0.8543942}, {"type": "node", "id": 1713972743, "lat": 19.3781233, "lon": 0.8551147}, {"type": "node", "id": 1713972745, "lat": 19.3875579, "lon": 0.8538699}, {"type": "node", "id": 1713972746, "lat": 19.3879397, "lon": 0.8535083}, {"type": "node", "id": 1713972747, "lat": 19.3870511, "lon": 0.8541762}, {"type": "node", "id": 1713972748, "lat": 19.3826011, "lon": 0.8534739}, {"type": "node", "id": 1713972749, "lat": 19.3858283, "lon": 0.8544495}, {"type": "node", "id": 1713972753, "lat": 19.3805832, "lon": 0.8542462}, {"type": "node", "id": 1713972755, "lat": 19.3828776, "lon": 0.853489}, {"type": "node", "id": 1713972756, "lat": 19.3851584, "lon": 0.8544462}, {"type": "node", "id": 1713972758, "lat": 19.3864838, "lon": 0.8543789}, {"type": "node", "id": 1714454817, "lat": 19.3918251, "lon": 0.8498461}, {"type": "node", "id": 1714454819, "lat": 19.3923228, "lon": 0.8492961}, {"type": "node", "id": 1714454820, "lat": 19.3934794, "lon": 0.8478693}, {"type": "node", "id": 1714454822, "lat": 19.3951197, "lon": 0.8458739}, {"type": "node", "id": 1714454824, "lat": 19.3974181, "lon": 0.8429557}, {"type": "node", "id": 1714454826, "lat": 19.3984003, "lon": 0.8417977}, {"type": "node", "id": 1714454827, "lat": 19.3987613, "lon": 0.8412589}, {"type": "node", "id": 1714454829, "lat": 19.3990557, "lon": 0.8407461}, {"type": "node", "id": 1714454830, "lat": 19.3991854, "lon": 0.8401739}, {"type": "node", "id": 1714454831, "lat": 19.3993186, "lon": 0.8392821}, {"type": "node", "id": 1714454835, "lat": 19.3994973, "lon": 0.8385872}, {"type": "node", "id": 1714454836, "lat": 19.3998198, "lon": 0.8381005}, {"type": "node", "id": 1714454838, "lat": 19.4002719, "lon": 0.837558}, {"type": "node", "id": 1714454839, "lat": 19.4011411, "lon": 0.8370117}, {"type": "node", "id": 1714454841, "lat": 19.4017194, "lon": 0.8366847}, {"type": "node", "id": 1714454842, "lat": 19.4034472, "lon": 0.8367033}, {"type": "node", "id": 1714454844, "lat": 19.404404, "lon": 0.8367851}, {"type": "node", "id": 1714454845, "lat": 19.4056692, "lon": 0.8369486}, {"type": "node", "id": 1714454847, "lat": 19.4068608, "lon": 0.8370823}, {"type": "node", "id": 1714454849, "lat": 19.4108526, "lon": 0.8375431}, {"type": "node", "id": 1714454850, "lat": 19.4119052, "lon": 0.8376515}, {"type": "node", "id": 1714454852, "lat": 19.4129623, "lon": 0.8376583}, {"type": "node", "id": 1714454854, "lat": 19.4137649, "lon": 0.8377586}, {"type": "node", "id": 1714454855, "lat": 19.4149704, "lon": 0.8379964}, {"type": "node", "id": 1714454856, "lat": 19.4163407, "lon": 0.8382342}, {"type": "node", "id": 1714454857, "lat": 19.4169785, "lon": 0.8384535}, {"type": "node", "id": 1714454858, "lat": 19.4175672, "lon": 0.8386727}, {"type": "node", "id": 1714454859, "lat": 19.4183732, "lon": 0.8392672}, {"type": "node", "id": 1714454864, "lat": 19.4191652, "lon": 0.8397614}, {"type": "node", "id": 1714454865, "lat": 19.4197259, "lon": 0.8401441}, {"type": "node", "id": 1714454867, "lat": 19.4201465, "lon": 0.8406681}, {"type": "node", "id": 1714454868, "lat": 19.4205214, "lon": 0.8413221}, {"type": "node", "id": 1714454870, "lat": 19.4209385, "lon": 0.8422993}, {"type": "node", "id": 1714454871, "lat": 19.4212714, "lon": 0.8431056}, {"type": "node", "id": 1714454873, "lat": 19.4215412, "lon": 0.8435329}, {"type": "node", "id": 1714454874, "lat": 19.4220073, "lon": 0.8440123}, {"type": "node", "id": 1714454876, "lat": 19.4227432, "lon": 0.8445139}, {"type": "node", "id": 1714454877, "lat": 19.4239907, "lon": 0.8451122}, {"type": "node", "id": 1714454879, "lat": 19.4252067, "lon": 0.8456993}, {"type": "node", "id": 1714454881, "lat": 19.4261949, "lon": 0.846186}, {"type": "node", "id": 1714454882, "lat": 19.4272742, "lon": 0.8467174}, {"type": "node", "id": 1714454884, "lat": 19.4281888, "lon": 0.847245}, {"type": "node", "id": 1714454885, "lat": 19.4289002, "lon": 0.8477467}, {"type": "node", "id": 1714454886, "lat": 19.4300776, "lon": 0.8486124}, {"type": "node", "id": 1714454887, "lat": 19.4309571, "lon": 0.8492478}, {"type": "node", "id": 1714454890, "lat": 19.4317771, "lon": 0.8496529}, {"type": "node", "id": 1714454892, "lat": 19.4325585, "lon": 0.8498275}, {"type": "node", "id": 1714454894, "lat": 19.433361, "lon": 0.8499241}, {"type": "node", "id": 1714454895, "lat": 19.4340863, "lon": 0.8501062}, {"type": "node", "id": 1714454897, "lat": 19.43553, "lon": 0.8506078}, {"type": "node", "id": 1714454899, "lat": 19.4369912, "lon": 0.8508679}, {"type": "node", "id": 1714454901, "lat": 19.4383262, "lon": 0.8510686}, {"type": "node", "id": 1714454902, "lat": 19.4398995, "lon": 0.8513584}, {"type": "node", "id": 1714454904, "lat": 19.4432913, "lon": 0.8526441}, {"type": "node", "id": 1714454906, "lat": 19.444868, "lon": 0.8532163}, {"type": "node", "id": 1714454907, "lat": 19.4460687, "lon": 0.8535849}, {"type": "node", "id": 1714454910, "lat": 19.4480425, "lon": 0.8541713}, {"type": "node", "id": 1714454922, "lat": 19.4493432, "lon": 0.8545758}, {"type": "node", "id": 1714454925, "lat": 19.4497656, "lon": 0.8547153}, {"type": "node", "id": 1714454936, "lat": 19.4505171, "lon": 0.8549323}, {"type": "node", "id": 1714454937, "lat": 19.4510452, "lon": 0.8551411}, {"type": "node", "id": 1714454939, "lat": 19.4511677, "lon": 0.8551872}, {"type": "node", "id": 1714454942, "lat": 19.4514606, "lon": 0.8553029}, {"type": "node", "id": 1714454952, "lat": 19.4519908, "lon": 0.8554734}, {"type": "node", "id": 1714454958, "lat": 19.4525983, "lon": 0.8557236}, {"type": "node", "id": 1714454965, "lat": 19.4530457, "lon": 0.8559037}, {"type": "node", "id": 1714454968, "lat": 19.4534488, "lon": 0.8560387}, {"type": "node", "id": 1714454971, "lat": 19.4540658, "lon": 0.8562005}, {"type": "node", "id": 1714454975, "lat": 19.4548124, "lon": 0.8565202}, {"type": "node", "id": 1714454990, "lat": 19.4557411, "lon": 0.8568168}, {"type": "node", "id": 1714455161, "lat": 19.4585799, "lon": 0.8576918}, {"type": "node", "id": 7780778396, "lat": 19.4568659, "lon": 0.857175}, {"type": "node", "id": 7886760904, "lat": 19.4573944, "lon": 0.8573279}, {"type": "node", "id": 7887592940, "lat": 19.3497512, "lon": 0.8634648}, {"type": "node", "id": 7894111206, "lat": 19.4217945, "lon": 0.8437747}, {"type": "node", "id": 7897174188, "lat": 19.3531085, "lon": 0.8608033}, {"type": "node", "id": 7897174199, "lat": 19.3475307, "lon": 0.8630663}, {"type": "node", "id": 7897174200, "lat": 19.3700158, "lon": 0.8576819}, {"type": "node", "id": 7897174201, "lat": 19.3683609, "lon": 0.8591732}, {"type": "node", "id": 7897174202, "lat": 19.368738, "lon": 0.8588809}, {"type": "node", "id": 7897174203, "lat": 19.3690998, "lon": 0.8582559}, {"type": "node", "id": 7897174598, "lat": 19.3736595, "lon": 0.8566533}, {"type": "node", "id": 7897174599, "lat": 19.3717188, "lon": 0.8582506}, {"type": "node", "id": 7904616784, "lat": 19.406349, "lon": 0.8370249}, {"type": "node", "id": 7904624855, "lat": 19.4082935, "lon": 0.8372517}, {"type": "node", "id": 7904682472, "lat": 19.3788881, "lon": 0.8548447}, {"type": "node", "id": 7904682477, "lat": 19.3769103, "lon": 0.8555254}, {"type": "node", "id": 7906460874, "lat": 19.4473364, "lon": 0.8539615}, {"type": "node", "id": 7906460880, "lat": 19.4490638, "lon": 0.8544894}, {"type": "node", "id": 7906460889, "lat": 19.4467312, "lon": 0.8565778}, {"type": "node", "id": 7906460890, "lat": 19.4463207, "lon": 0.856491}, {"type": "node", "id": 7906460891, "lat": 19.446155, "lon": 0.8565085}, {"type": "node", "id": 7906460892, "lat": 19.4459932, "lon": 0.8564709}, {"type": "node", "id": 7906460893, "lat": 19.4456568, "lon": 0.8564991}, {"type": "node", "id": 7906460894, "lat": 19.444635, "lon": 0.8565849}, {"type": "node", "id": 7906460895, "lat": 19.4439167, "lon": 0.8567673}, {"type": "node", "id": 7906460896, "lat": 19.4435626, "lon": 0.8568048}, {"type": "node", "id": 7906460897, "lat": 19.4428443, "lon": 0.8570033}, {"type": "node", "id": 7906460898, "lat": 19.442561, "lon": 0.856998}, {"type": "node", "id": 7906460899, "lat": 19.4418781, "lon": 0.856939}, {"type": "node", "id": 7906460900, "lat": 19.4410283, "lon": 0.8569497}, {"type": "node", "id": 7906460901, "lat": 19.4405275, "lon": 0.8569229}, {"type": "node", "id": 7906460902, "lat": 19.4396979, "lon": 0.8569068}, {"type": "node", "id": 7906460903, "lat": 19.4392426, "lon": 0.8568531}, {"type": "node", "id": 7906460904, "lat": 19.439015, "lon": 0.8568478}, {"type": "node", "id": 7906460905, "lat": 19.4387013, "lon": 0.8567887}, {"type": "node", "id": 7906460906, "lat": 19.4383725, "lon": 0.8566439}, {"type": "node", "id": 7906460907, "lat": 19.4375834, "lon": 0.8565205}, {"type": "node", "id": 7906460908, "lat": 19.4367588, "lon": 0.8566439}, {"type": "node", "id": 7906460909, "lat": 19.4365311, "lon": 0.8565903}, {"type": "node", "id": 7906460910, "lat": 19.4360961, "lon": 0.8565259}, {"type": "node", "id": 7906460911, "lat": 19.4357319, "lon": 0.8565795}, {"type": "node", "id": 7906460912, "lat": 19.4348466, "lon": 0.8564508}, {"type": "node", "id": 7906460913, "lat": 19.4344571, "lon": 0.8564883}, {"type": "node", "id": 7906460914, "lat": 19.434017, "lon": 0.8565688}, {"type": "node", "id": 7906460915, "lat": 19.4332986, "lon": 0.8567405}, {"type": "node", "id": 7906460916, "lat": 19.4324639, "lon": 0.8567727}, {"type": "node", "id": 7906460917, "lat": 19.4316292, "lon": 0.856601}, {"type": "node", "id": 7906460918, "lat": 19.4306882, "lon": 0.8562684}, {"type": "node", "id": 7906460919, "lat": 19.4294994, "lon": 0.8559412}, {"type": "node", "id": 7906460920, "lat": 19.4281031, "lon": 0.8556944}, {"type": "node", "id": 7906460921, "lat": 19.4270104, "lon": 0.8556461}, {"type": "node", "id": 7906460922, "lat": 19.4263072, "lon": 0.8555818}, {"type": "node", "id": 7906460923, "lat": 19.4253713, "lon": 0.8556086}, {"type": "node", "id": 7906460924, "lat": 19.3728043, "lon": 0.8377343}, {"type": "node", "id": 7906460925, "lat": 19.373409, "lon": 0.8380723}, {"type": "node", "id": 7906460926, "lat": 19.3753245, "lon": 0.8395877}, {"type": "node", "id": 7906460927, "lat": 19.3757496, "lon": 0.8400169}, {"type": "node", "id": 7906460928, "lat": 19.3762354, "lon": 0.8407786}, {"type": "node", "id": 7906460929, "lat": 19.3768022, "lon": 0.8412856}, {"type": "node", "id": 7906460930, "lat": 19.377417, "lon": 0.8416289}, {"type": "node", "id": 7906460931, "lat": 19.3788947, "lon": 0.8420849}, {"type": "node", "id": 7906460932, "lat": 19.3797676, "lon": 0.8425006}, {"type": "node", "id": 7906460933, "lat": 19.3826749, "lon": 0.8444345}, {"type": "node", "id": 7906460934, "lat": 19.3832315, "lon": 0.8446893}, {"type": "node", "id": 7906460935, "lat": 19.384193, "lon": 0.8453491}, {"type": "node", "id": 7906460936, "lat": 19.3846965, "lon": 0.8455369}, {"type": "node", "id": 7906460937, "lat": 19.3856023, "lon": 0.8458078}, {"type": "node", "id": 7906460938, "lat": 19.387052, "lon": 0.8460814}, {"type": "node", "id": 7906460939, "lat": 19.3889521, "lon": 0.8461806}, {"type": "node", "id": 7906460940, "lat": 19.3899262, "lon": 0.8466554}, {"type": "node", "id": 7906460941, "lat": 19.393701, "lon": 0.8475941}, {"type": "node", "id": 7906460942, "lat": 19.3951229, "lon": 0.8479589}, {"type": "node", "id": 7906460943, "lat": 19.3976858, "lon": 0.8492383}, {"type": "node", "id": 7906460944, "lat": 19.3985637, "lon": 0.8496192}, {"type": "node", "id": 7906460945, "lat": 19.3998261, "lon": 0.8499545}, {"type": "node", "id": 7906460946, "lat": 19.4009393, "lon": 0.8503541}, {"type": "node", "id": 7906460947, "lat": 19.4018981, "lon": 0.8506626}, {"type": "node", "id": 7906460948, "lat": 19.4038638, "lon": 0.8514619}, {"type": "node", "id": 7906460949, "lat": 19.4053665, "lon": 0.8518213}, {"type": "node", "id": 7906460950, "lat": 19.4059282, "lon": 0.8519688}, {"type": "node", "id": 7906460951, "lat": 19.407441, "lon": 0.852465}, {"type": "node", "id": 7906460952, "lat": 19.4078154, "lon": 0.8525965}, {"type": "node", "id": 7906460953, "lat": 19.4081544, "lon": 0.8527976}, {"type": "node", "id": 7906460954, "lat": 19.4087919, "lon": 0.8529773}, {"type": "node", "id": 7906460955, "lat": 19.4113293, "lon": 0.8533528}, {"type": "node", "id": 7906460956, "lat": 19.4133986, "lon": 0.8538437}, {"type": "node", "id": 7906460957, "lat": 19.4139425, "lon": 0.8540234}, {"type": "node", "id": 7906460958, "lat": 19.4140765, "lon": 0.8540717}, {"type": "node", "id": 7906460959, "lat": 19.4155412, "lon": 0.8550158}, {"type": "node", "id": 7906460960, "lat": 19.4158195, "lon": 0.8551526}, {"type": "node", "id": 7906460961, "lat": 19.4167428, "lon": 0.8554369}, {"type": "node", "id": 7906460962, "lat": 19.4200617, "lon": 0.8558392}, {"type": "node", "id": 7906460963, "lat": 19.4217135, "lon": 0.8555496}, {"type": "node", "id": 7906460964, "lat": 19.4238991, "lon": 0.8555227}, {"type": "node", "id": 7906460965, "lat": 19.424319, "lon": 0.8554932}, {"type": "node", "id": 7906461011, "lat": 19.4006324, "lon": 0.8483353}, {"type": "node", "id": 7906461012, "lat": 19.4017286, "lon": 0.8548737}, {"type": "node", "id": 7906461013, "lat": 19.4015591, "lon": 0.8541387}, {"type": "node", "id": 7906461014, "lat": 19.4012176, "lon": 0.8533528}, {"type": "node", "id": 7906461015, "lat": 19.4011543, "lon": 0.8528084}, {"type": "node", "id": 7906461016, "lat": 19.4011062, "lon": 0.8519125}, {"type": "node", "id": 7906461017, "lat": 19.4009747, "lon": 0.8515289}, {"type": "node", "id": 7906461018, "lat": 19.400833, "lon": 0.8509067}, {"type": "node", "id": 7906461019, "lat": 19.4010303, "lon": 0.8499143}, {"type": "node", "id": 7906461020, "lat": 19.4009469, "lon": 0.8495253}, {"type": "node", "id": 7906461021, "lat": 19.4009823, "lon": 0.8488816}, {"type": "node", "id": 7906461022, "lat": 19.4008785, "lon": 0.8486026}, {"type": "node", "id": 7906461023, "lat": 19.3996338, "lon": 0.8472508}, {"type": "node", "id": 7906461024, "lat": 19.3978528, "lon": 0.8454323}, {"type": "node", "id": 7906461025, "lat": 19.3969432, "lon": 0.8443192}, {"type": "node", "id": 7906461026, "lat": 19.3968547, "lon": 0.8440992}, {"type": "node", "id": 7906461027, "lat": 19.3968509, "lon": 0.8440255}, {"type": "node", "id": 7906461028, "lat": 19.3968673, "lon": 0.8439316}, {"type": "node", "id": 7906461029, "lat": 19.396904, "lon": 0.8438042}, {"type": "node", "id": 7906461030, "lat": 19.3969571, "lon": 0.8436862}, {"type": "node", "id": 7906461031, "lat": 19.3969938, "lon": 0.8436419}, {"type": "node", "id": 7906461032, "lat": 19.3970381, "lon": 0.843607}, {"type": "node", "id": 7906461033, "lat": 19.397243, "lon": 0.8434863}, {"type": "node", "id": 7906461034, "lat": 19.397286, "lon": 0.8434515}, {"type": "node", "id": 7906461035, "lat": 19.3973948, "lon": 0.8433241}, {"type": "node", "id": 7906461036, "lat": 19.3974328, "lon": 0.8431122}, {"type": "node", "id": 7909033734, "lat": 19.3829819, "lon": 0.853518}, {"type": "node", "id": 7917491422, "lat": 19.3827685, "lon": 0.8534601}, {"type": "node", "id": 7917491423, "lat": 19.3821587, "lon": 0.8537847}, {"type": "node", "id": 7926309772, "lat": 19.390388, "lon": 0.8483157}, {"type": "node", "id": 7926309773, "lat": 19.3901615, "lon": 0.8484538}, {"type": "node", "id": 7926309774, "lat": 19.3899313, "lon": 0.8486643}, {"type": "node", "id": 7926309775, "lat": 19.3894822, "lon": 0.8491632}, {"type": "node", "id": 7926309776, "lat": 19.3893962, "lon": 0.8492745}, {"type": "node", "id": 7926309777, "lat": 19.3892519, "lon": 0.8493443}, {"type": "node", "id": 7926309778, "lat": 19.3888851, "lon": 0.8496501}, {"type": "node", "id": 7926309779, "lat": 19.3887978, "lon": 0.8497533}, {"type": "node", "id": 7926309780, "lat": 19.3886106, "lon": 0.8498767}, {"type": "node", "id": 7926309781, "lat": 19.3883803, "lon": 0.8499813}, {"type": "node", "id": 7926309782, "lat": 19.388188, "lon": 0.8500269}, {"type": "node", "id": 7926309783, "lat": 19.3878768, "lon": 0.8501101}, {"type": "node", "id": 7926309784, "lat": 19.387558, "lon": 0.85033}, {"type": "node", "id": 7926331585, "lat": 19.3869711, "lon": 0.8508128}, {"type": "node", "id": 7926331586, "lat": 19.3864043, "lon": 0.85125}, {"type": "node", "id": 7926331587, "lat": 19.386045, "lon": 0.8515182}, {"type": "node", "id": 7926331588, "lat": 19.385706, "lon": 0.8519259}, {"type": "node", "id": 7926331589, "lat": 19.3854884, "lon": 0.8521123}, {"type": "node", "id": 7926331590, "lat": 19.3853113, "lon": 0.8521861}, {"type": "node", "id": 7926331591, "lat": 19.3849115, "lon": 0.8524717}, {"type": "node", "id": 7926331592, "lat": 19.3847913, "lon": 0.8525817}, {"type": "node", "id": 7926331593, "lat": 19.3845522, "lon": 0.8528298}, {"type": "node", "id": 7926331594, "lat": 19.3842486, "lon": 0.8530793}, {"type": "node", "id": 7926331595, "lat": 19.3840551, "lon": 0.853263}, {"type": "node", "id": 7926331596, "lat": 19.383878, "lon": 0.8534507}, {"type": "node", "id": 7926331597, "lat": 19.3837805, "lon": 0.8536184}, {"type": "node", "id": 7926331598, "lat": 19.3836289, "lon": 0.8536931}, {"type": "node", "id": 11252346170, "lat": 19.4575464, "lon": 0.857376}, {"type": "node", "id": 11252346181, "lat": 19.4232835, "lon": 0.844773}, {"type": "way", "id": 159336223, "nodes": [1713965194, 1713965192, 504342111, 1713965261, 1713965275, 1713965258, 1713965190, 1713965207, 1713965272, 1713965209, 1713965214, 1713965277, 1713965206, 1713965265, 1713965243, 504342112, 1713965229, 1713965188, 1713965250, 1713965211, 1713965220, 1713965256, 1713965252, 7897174199, 7887592940, 1713965254, 1713965281, 1713965186, 1713965226, 1713965216, 1713965246, 1713965263, 1713965223, 1713967857, 1713967847, 7897174188, 1713967850, 1713967845, 1713967818, 1713967787, 1713967807, 1713967842, 1713967831, 1713967788, 1713967803, 1713967824, 1713967828, 1713967844, 1713967826, 1713967830, 1713967822, 1713967811, 1713967789, 1713967813, 1713967809, 1713967854, 7897174201, 1713967852, 7897174202, 1713967820, 7897174203, 1713967855, 1713967802, 1713967829, 7897174200, 1713967848, 1713967805, 1713967840, 1713967814, 1713967804, 7897174599, 1713967791, 1713967816, 1713967849, 1713967846, 7897174598, 1713967790, 7904682477, 1713972743, 7904682472, 1713972753, 1713972739, 1713972731, 7917491423, 1713972738, 1713972733, 1713972748, 7917491422, 1713972755, 7909033734, 1713972735, 504342114, 1713972741, 1713972756, 1713972749, 1713972758, 1713972747, 1713972745, 1713972746, 1713972736, 504342116, 1714454817, 1714454819, 1714454820, 7906460941, 1714454822, 1714454824, 1714454826, 1714454827, 1714454829, 1714454830, 1714454831, 1714454835, 1714454836, 1714454838, 1714454839, 1714454841, 504342117, 1714454842, 1714454844, 1714454845, 7904616784, 1714454847, 7904624855, 504342119, 1714454849, 1714454850, 1714454852, 1714454854, 1714454855, 1714454856, 1714454857, 1714454858, 1714454859, 1714454864, 1714454865, 1714454867, 1714454868, 1714454870, 1714454871, 1714454873, 7894111206, 1714454874, 1714454876, 11252346181, 1714454877, 1714454879, 1714454881, 1714454882, 1714454884, 1714454885, 1714454886, 1714454887, 1714454890, 1714454892, 1714454894, 1714454895, 1714454897, 1714454899, 1714454901, 1714454902, 1714454904, 1714454906, 1714454907, 7906460874, 1714454910, 504342122, 7906460880, 1714454922, 1714454925, 1714454936, 1714454937, 1714454939, 1714454942, 1714454952, 1714454958, 1714454965, 1714454968, 1714454971, 1714454975, 1714454990, 7780778396, 7886760904, 11252346170, 1711895914, 1714455161], "tags": {"highway": "primary", "itinerary": "Aguelhoc-Croisement RN18", "ref": "RN19", "ref:ar": "\u0637 \u0648 19", "source:geometry": "OrbView-3, USGS, 2005-03-31", "source:ref": "Minist\u00e8re de l'Equipement et des Transports", "surface": "unpaved"}}, {"type": "way", "id": 847283500, "nodes": [7906460889, 7906460890, 7906460891, 7906460892, 7906460893, 7906460894, 7906460895, 7906460896, 7906460897, 7906460898, 7906460899, 7906460900, 7906460901, 7906460902, 7906460903, 7906460904, 7906460905, 7906460906, 7906460907, 7906460908, 7906460909, 7906460910, 7906460911, 7906460912, 7906460913, 7906460914, 7906460915, 7906460916, 7906460917, 7906460918, 7906460919, 7906460920, 7906460921, 7906460922, 7906460923, 7906460965, 7906460964, 7906460963, 7906460962, 7906460961, 7906460960, 7906460959, 7906460958, 7906460957, 7906460956, 7906460955, 7906460954, 7906460953, 7906460952, 7906460951, 7906460950, 7906460949, 7906460948, 7906460947, 7906460946, 7906460945, 7906460944, 7906460943, 7906460942, 7906460941, 7906460940, 7906460939, 7906460938, 7906460937, 7906460936, 7906460935, 7906460934, 7906460933, 7906460932, 7906460931, 7906460930, 7906460929, 7906460928, 7906460927, 7906460926, 7906460925, 7906460924], "tags": {"highway": "path", "surface": "ground"}}, {"type": "way", "id": 847283502, "nodes": [1714454824, 7906461036, 7906461035, 7906461034, 7906461033, 7906461032, 7906461031, 7906461030, 7906461029, 7906461028, 7906461027, 7906461026, 7906461025, 7906461024, 7906461023, 7906461011, 7906461022, 7906461021, 7906461020, 7906461019, 7906460946, 7906461018, 7906461017, 7906461016, 7906461015, 7906461014, 7906461013, 7906461012], "tags": {"highway": "track", "surface": "unpaved"}}, {"type": "way", "id": 849589914, "nodes": [7926331598, 7926331597, 7926331596, 7926331595, 7926331594, 7926331593, 7926331592, 7926331591, 7926331590, 7926331589, 7926331588, 7926331587, 7926331586, 7926331585, 7926309784, 7926309783, 7926309782, 7926309781, 7926309780, 7926309779, 7926309778, 7926309777, 7926309776, 7926309775, 7926309774, 7926309773, 7926309772], "tags": {"highway": "track", "surface": "unpaved", "tracktype": "grade4"}}]} \ No newline at end of file diff --git a/cache/9b654976d00a179119ca76ea0b6d9edfa7e58dc2.json b/cache/9b654976d00a179119ca76ea0b6d9edfa7e58dc2.json new file mode 100644 index 0000000..b902ee0 --- /dev/null +++ b/cache/9b654976d00a179119ca76ea0b6d9edfa7e58dc2.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:37:01Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/a11acf198908e1c05f37798dbfeedd96fa1534f8.json b/cache/a11acf198908e1c05f37798dbfeedd96fa1534f8.json new file mode 100644 index 0000000..a8e83f8 --- /dev/null +++ b/cache/a11acf198908e1c05f37798dbfeedd96fa1534f8.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T07:19:59Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 1568054860, "lat": 19.4362722, "lon": -99.1398341}, {"type": "node", "id": 1568054863, "lat": 19.4365236, "lon": -99.1390018}, {"type": "node", "id": 1568054865, "lat": 19.4367675, "lon": -99.1397523}, {"type": "node", "id": 1568054866, "lat": 19.4361602, "lon": -99.1390723}, {"type": "node", "id": 1568054868, "lat": 19.436654, "lon": -99.1389803}, {"type": "node", "id": 1568054883, "lat": 19.4362855, "lon": -99.1390078}, {"type": "node", "id": 1568054884, "lat": 19.4365188, "lon": -99.1389693}, {"type": "node", "id": 1568054885, "lat": 19.4362918, "lon": -99.1390506}, {"type": "node", "id": 1702714535, "lat": 19.4308761, "lon": -99.1326866}, {"type": "node", "id": 1702714537, "lat": 19.4314341, "lon": -99.1333593}, {"type": "node", "id": 1702714538, "lat": 19.431354, "lon": -99.1336596}, {"type": "node", "id": 1702714539, "lat": 19.4315767, "lon": -99.134372}, {"type": "node", "id": 1702714540, "lat": 19.4315437, "lon": -99.130195}, {"type": "node", "id": 1702714541, "lat": 19.4316818, "lon": -99.1325731}, {"type": "node", "id": 1702714542, "lat": 19.4317435, "lon": -99.1321007}, {"type": "node", "id": 1702714543, "lat": 19.4317726, "lon": -99.1333076}, {"type": "node", "id": 1702714545, "lat": 19.4318142, "lon": -99.1335956}, {"type": "node", "id": 1702714547, "lat": 19.43191, "lon": -99.1343233}, {"type": "node", "id": 1702714563, "lat": 19.4330498, "lon": -99.1370691}, {"type": "node", "id": 1702714565, "lat": 19.4330827, "lon": -99.1373111}, {"type": "node", "id": 1702714567, "lat": 19.4332867, "lon": -99.1380252}, {"type": "node", "id": 1702714573, "lat": 19.433334, "lon": -99.1383263}, {"type": "node", "id": 1702714582, "lat": 19.43339, "lon": -99.1387465}, {"type": "node", "id": 1702714585, "lat": 19.4334732, "lon": -99.1393902}, {"type": "node", "id": 1702714594, "lat": 19.4334949, "lon": -99.1318942}, {"type": "node", "id": 1702714596, "lat": 19.4335348, "lon": -99.1369948}, {"type": "node", "id": 1702714602, "lat": 19.4335695, "lon": -99.1372366}, {"type": "node", "id": 1702714611, "lat": 19.4336748, "lon": -99.1379707}, {"type": "node", "id": 1702714613, "lat": 19.4336842, "lon": -99.1365296}, {"type": "node", "id": 1702714616, "lat": 19.4337011, "lon": -99.1366596}, {"type": "node", "id": 1702714627, "lat": 19.4337179, "lon": -99.1382711}, {"type": "node", "id": 1702714629, "lat": 19.4337364, "lon": -99.1362686}, {"type": "node", "id": 1702714631, "lat": 19.4337687, "lon": -99.1365172}, {"type": "node", "id": 1702714633, "lat": 19.4337869, "lon": -99.1366471}, {"type": "node", "id": 1702714636, "lat": 19.4337784, "lon": -99.1386926}, {"type": "node", "id": 1702714638, "lat": 19.4337981, "lon": -99.136733}, {"type": "node", "id": 1702714648, "lat": 19.4338461, "lon": -99.1391646}, {"type": "node", "id": 1702714650, "lat": 19.4338559, "lon": -99.1362511}, {"type": "node", "id": 1702714659, "lat": 19.4338886, "lon": -99.1365024}, {"type": "node", "id": 1702714660, "lat": 19.4339065, "lon": -99.136631}, {"type": "node", "id": 1702714661, "lat": 19.4339175, "lon": -99.1367155}, {"type": "node", "id": 1702714662, "lat": 19.433958, "lon": -99.1364923}, {"type": "node", "id": 1702714673, "lat": 19.4340543, "lon": -99.1341424}, {"type": "node", "id": 1702714682, "lat": 19.4341654, "lon": -99.1350331}, {"type": "node", "id": 1702714698, "lat": 19.4345297, "lon": -99.134982}, {"type": "node", "id": 1702714702, "lat": 19.434596, "lon": -99.1344843}, {"type": "node", "id": 1702714706, "lat": 19.4346271, "lon": -99.134805}, {"type": "node", "id": 1702714725, "lat": 19.4346972, "lon": -99.1340522}, {"type": "node", "id": 1702714732, "lat": 19.4347126, "lon": -99.1344716}, {"type": "node", "id": 1869860306, "lat": 19.436099, "lon": -99.1321427}, {"type": "node", "id": 1869860307, "lat": 19.4361266, "lon": -99.1322949}, {"type": "node", "id": 1869860308, "lat": 19.4361941, "lon": -99.1321675}, {"type": "node", "id": 1869860309, "lat": 19.4362059, "lon": -99.132239}, {"type": "node", "id": 1869866670, "lat": 19.4355165, "lon": -99.1327822}, {"type": "node", "id": 2265907831, "lat": 19.4357684, "lon": -99.1325292}, {"type": "node", "id": 2265907835, "lat": 19.4358359, "lon": -99.1321814}, {"type": "node", "id": 2265907839, "lat": 19.4358552, "lon": -99.1323349}, {"type": "node", "id": 2265907842, "lat": 19.4357975, "lon": -99.1327389}, {"type": "node", "id": 2265908628, "lat": 19.43143, "lon": -99.1311738}, {"type": "node", "id": 2265908629, "lat": 19.4307105, "lon": -99.1312699}, {"type": "node", "id": 2265908630, "lat": 19.4308215, "lon": -99.1322049}, {"type": "node", "id": 2265908631, "lat": 19.431541, "lon": -99.1321088}, {"type": "node", "id": 2265912438, "lat": 19.4315214, "lon": -99.1342305}, {"type": "node", "id": 2265912439, "lat": 19.4311527, "lon": -99.1344345}, {"type": "node", "id": 2265912440, "lat": 19.4314028, "lon": -99.1342492}, {"type": "node", "id": 2265912441, "lat": 19.4311136, "lon": -99.1344072}, {"type": "node", "id": 2265912442, "lat": 19.4310325, "lon": -99.1337141}, {"type": "node", "id": 2265912443, "lat": 19.4310569, "lon": -99.1337034}, {"type": "node", "id": 2265912444, "lat": 19.4310218, "lon": -99.1337353}, {"type": "node", "id": 2265912445, "lat": 19.4311257, "lon": -99.1344301}, {"type": "node", "id": 2265912537, "lat": 19.430791, "lon": -99.1340772}, {"type": "node", "id": 2265912538, "lat": 19.4308852, "lon": -99.1337175}, {"type": "node", "id": 2265912539, "lat": 19.4309301, "lon": -99.1340565}, {"type": "node", "id": 2265912540, "lat": 19.4307462, "lon": -99.1337382}, {"type": "node", "id": 2265913404, "lat": 19.4333574, "lon": -99.1305845}, {"type": "node", "id": 2265913406, "lat": 19.4325398, "lon": -99.1300728}, {"type": "node", "id": 2265957578, "lat": 19.43515, "lon": -99.1396686}, {"type": "node", "id": 2265957579, "lat": 19.4350184, "lon": -99.1392405}, {"type": "node", "id": 2265957580, "lat": 19.4359387, "lon": -99.1399223}, {"type": "node", "id": 2265957581, "lat": 19.435812, "lon": -99.1390933}, {"type": "node", "id": 2265962377, "lat": 19.432407, "lon": -99.1383294}, {"type": "node", "id": 2265962378, "lat": 19.4324247, "lon": -99.1384672}, {"type": "node", "id": 2265962379, "lat": 19.432211, "lon": -99.1383586}, {"type": "node", "id": 2265962380, "lat": 19.4322299, "lon": -99.1384967}, {"type": "node", "id": 2265964321, "lat": 19.4328462, "lon": -99.1364254}, {"type": "node", "id": 2265964323, "lat": 19.4329995, "lon": -99.1358161}, {"type": "node", "id": 2265964325, "lat": 19.4326732, "lon": -99.1363192}, {"type": "node", "id": 2265964327, "lat": 19.4330557, "lon": -99.1362655}, {"type": "node", "id": 2265964329, "lat": 19.4331838, "lon": -99.1365132}, {"type": "node", "id": 2265964331, "lat": 19.4331661, "lon": -99.1363782}, {"type": "node", "id": 2265964332, "lat": 19.432617, "lon": -99.1358698}, {"type": "node", "id": 2265964334, "lat": 19.4328639, "lon": -99.1365604}, {"type": "node", "id": 2265964483, "lat": 19.4333985, "lon": -99.136045}, {"type": "node", "id": 2265964484, "lat": 19.4333871, "lon": -99.1361994}, {"type": "node", "id": 2265964485, "lat": 19.4331807, "lon": -99.1360827}, {"type": "node", "id": 2265964486, "lat": 19.4332036, "lon": -99.1362312}, {"type": "node", "id": 2265964487, "lat": 19.4334163, "lon": -99.1361689}, {"type": "node", "id": 2265965072, "lat": 19.4314257, "lon": -99.1365205}, {"type": "node", "id": 2265965076, "lat": 19.431365, "lon": -99.1360895}, {"type": "node", "id": 2265968017, "lat": 19.4311318, "lon": -99.1353428}, {"type": "node", "id": 2265968019, "lat": 19.4311041, "lon": -99.1351466}, {"type": "node", "id": 2265968021, "lat": 19.4307036, "lon": -99.135411}, {"type": "node", "id": 2265968023, "lat": 19.4306759, "lon": -99.1352148}, {"type": "node", "id": 2265970423, "lat": 19.4296609, "lon": -99.1362769}, {"type": "node", "id": 2265972044, "lat": 19.429039, "lon": -99.1318515}, {"type": "node", "id": 2265972047, "lat": 19.4291238, "lon": -99.1324725}, {"type": "node", "id": 2265972049, "lat": 19.4294071, "lon": -99.1318036}, {"type": "node", "id": 2265972050, "lat": 19.429488, "lon": -99.1324188}, {"type": "node", "id": 2265994226, "lat": 19.430905, "lon": -99.1329053}, {"type": "node", "id": 2265994227, "lat": 19.4309265, "lon": -99.1330671}, {"type": "node", "id": 2265994228, "lat": 19.4309736, "lon": -99.1333992}, {"type": "node", "id": 2265994229, "lat": 19.4310071, "lon": -99.133424}, {"type": "node", "id": 2265994230, "lat": 19.431375, "lon": -99.1329302}, {"type": "node", "id": 2265994231, "lat": 19.4313006, "lon": -99.1329267}, {"type": "node", "id": 2265995561, "lat": 19.4321522, "lon": -99.1344186}, {"type": "node", "id": 2265995562, "lat": 19.4323673, "lon": -99.1347612}, {"type": "node", "id": 2265995563, "lat": 19.4323157, "lon": -99.1343928}, {"type": "node", "id": 2265995564, "lat": 19.432536, "lon": -99.1347346}, {"type": "node", "id": 2265995566, "lat": 19.4321035, "lon": -99.1349339}, {"type": "node", "id": 2265995570, "lat": 19.432554, "lon": -99.1348629}, {"type": "node", "id": 2265995572, "lat": 19.4320339, "lon": -99.1344372}, {"type": "node", "id": 2266955176, "lat": 19.4352948, "lon": -99.1367709}, {"type": "node", "id": 2266955177, "lat": 19.4360024, "lon": -99.1368914}, {"type": "node", "id": 2266955178, "lat": 19.435981, "lon": -99.1367287}, {"type": "node", "id": 2266955179, "lat": 19.4353175, "lon": -99.1369497}, {"type": "node", "id": 2266955180, "lat": 19.4355894, "lon": -99.1367866}, {"type": "node", "id": 2266955181, "lat": 19.4354799, "lon": -99.1369265}, {"type": "node", "id": 2266955182, "lat": 19.4354572, "lon": -99.1367478}, {"type": "node", "id": 2266955183, "lat": 19.4356122, "lon": -99.1369508}, {"type": "node", "id": 2266961552, "lat": 19.4357113, "lon": -99.1385751}, {"type": "node", "id": 2266961554, "lat": 19.4349614, "lon": -99.1386186}, {"type": "node", "id": 2266961556, "lat": 19.4349069, "lon": -99.1381934}, {"type": "node", "id": 2266961558, "lat": 19.4356579, "lon": -99.138085}, {"type": "node", "id": 2267007400, "lat": 19.4288467, "lon": -99.1327726}, {"type": "node", "id": 2267007401, "lat": 19.4288033, "lon": -99.1328391}, {"type": "node", "id": 2267007402, "lat": 19.429072, "lon": -99.1327893}, {"type": "node", "id": 2267007403, "lat": 19.4288258, "lon": -99.1329929}, {"type": "node", "id": 2267007404, "lat": 19.4288552, "lon": -99.1328306}, {"type": "node", "id": 2267007405, "lat": 19.4288923, "lon": -99.1333276}, {"type": "node", "id": 2267007406, "lat": 19.4290911, "lon": -99.1329207}, {"type": "node", "id": 2267007407, "lat": 19.4287292, "lon": -99.1325288}, {"type": "node", "id": 2267007408, "lat": 19.428921, "lon": -99.1332464}, {"type": "node", "id": 2267007409, "lat": 19.4290591, "lon": -99.132926}, {"type": "node", "id": 2267007410, "lat": 19.4286862, "lon": -99.1321827}, {"type": "node", "id": 2267007411, "lat": 19.4291119, "lon": -99.1332923}, {"type": "node", "id": 2267007413, "lat": 19.4290239, "lon": -99.1324885}, {"type": "node", "id": 2267007414, "lat": 19.4290222, "lon": -99.1327975}, {"type": "node", "id": 2267007416, "lat": 19.4288814, "lon": -99.1332529}, {"type": "node", "id": 2267007417, "lat": 19.4288826, "lon": -99.1329836}, {"type": "node", "id": 2267007418, "lat": 19.428991, "lon": -99.1321398}, {"type": "node", "id": 2267007419, "lat": 19.4290145, "lon": -99.132745}, {"type": "node", "id": 2267007969, "lat": 19.4292743, "lon": -99.134134}, {"type": "node", "id": 2267007971, "lat": 19.4292961, "lon": -99.1343223}, {"type": "node", "id": 2267012590, "lat": 19.429991, "lon": -99.1362268}, {"type": "node", "id": 2267012591, "lat": 19.4296198, "lon": -99.13601}, {"type": "node", "id": 2267012592, "lat": 19.4299677, "lon": -99.1360607}, {"type": "node", "id": 2267012594, "lat": 19.4297712, "lon": -99.1360799}, {"type": "node", "id": 2267012595, "lat": 19.4297522, "lon": -99.1359941}, {"type": "node", "id": 2267013451, "lat": 19.4303789, "lon": -99.1359428}, {"type": "node", "id": 2267013454, "lat": 19.4297966, "lon": -99.1360652}, {"type": "node", "id": 2267013455, "lat": 19.4299623, "lon": -99.1360102}, {"type": "node", "id": 2267013457, "lat": 19.4299201, "lon": -99.1360653}, {"type": "node", "id": 2267013459, "lat": 19.429594, "lon": -99.1358323}, {"type": "node", "id": 2267013461, "lat": 19.4299468, "lon": -99.1360407}, {"type": "node", "id": 2267013464, "lat": 19.4303518, "lon": -99.1357299}, {"type": "node", "id": 2267013466, "lat": 19.4298316, "lon": -99.136074}, {"type": "node", "id": 2267013469, "lat": 19.4297726, "lon": -99.1360397}, {"type": "node", "id": 2267016835, "lat": 19.4307565, "lon": -99.1362118}, {"type": "node", "id": 2267016838, "lat": 19.430691, "lon": -99.1369817}, {"type": "node", "id": 2267016839, "lat": 19.4312998, "lon": -99.1368938}, {"type": "node", "id": 2267016842, "lat": 19.4305881, "lon": -99.1366255}, {"type": "node", "id": 2267016850, "lat": 19.430667, "lon": -99.1367952}, {"type": "node", "id": 2267016851, "lat": 19.4304085, "lon": -99.1361633}, {"type": "node", "id": 2267016852, "lat": 19.4312758, "lon": -99.1367073}, {"type": "node", "id": 2267016856, "lat": 19.430813, "lon": -99.1365875}, {"type": "node", "id": 2267016859, "lat": 19.4305311, "lon": -99.1362499}, {"type": "node", "id": 2267025300, "lat": 19.4303345, "lon": -99.1383626}, {"type": "node", "id": 2267025303, "lat": 19.4306871, "lon": -99.138139}, {"type": "node", "id": 2267025313, "lat": 19.4303134, "lon": -99.1381903}, {"type": "node", "id": 2267025319, "lat": 19.4307081, "lon": -99.1383112}, {"type": "node", "id": 2267303347, "lat": 19.4351277, "lon": -99.1334429}, {"type": "node", "id": 2267303372, "lat": 19.4358557, "lon": -99.1331583}, {"type": "node", "id": 2267303373, "lat": 19.4354318, "lon": -99.1333956}, {"type": "node", "id": 2267303387, "lat": 19.4354275, "lon": -99.1333726}, {"type": "node", "id": 2267303393, "lat": 19.4351046, "lon": -99.1332763}, {"type": "node", "id": 2268649335, "lat": 19.4301363, "lon": -99.1335561}, {"type": "node", "id": 2268649338, "lat": 19.4301215, "lon": -99.1334421}, {"type": "node", "id": 2268649340, "lat": 19.4302907, "lon": -99.1334187}, {"type": "node", "id": 2268649342, "lat": 19.430412, "lon": -99.1331906}, {"type": "node", "id": 2268649344, "lat": 19.4305749, "lon": -99.1334921}, {"type": "node", "id": 2268649346, "lat": 19.4305319, "lon": -99.13317}, {"type": "node", "id": 2268649348, "lat": 19.4302806, "lon": -99.133336}, {"type": "node", "id": 2268649350, "lat": 19.4304274, "lon": -99.1333157}, {"type": "node", "id": 2269746258, "lat": 19.4364379, "lon": -99.1374415}, {"type": "node", "id": 2269746259, "lat": 19.4362829, "lon": -99.1378812}, {"type": "node", "id": 2269746261, "lat": 19.4359641, "lon": -99.1358909}, {"type": "node", "id": 2269746262, "lat": 19.436496, "lon": -99.1378501}, {"type": "node", "id": 2269746263, "lat": 19.4360218, "lon": -99.136306}, {"type": "node", "id": 2269746266, "lat": 19.4362508, "lon": -99.1376342}, {"type": "node", "id": 2269746267, "lat": 19.4360741, "lon": -99.1374998}, {"type": "node", "id": 2269746268, "lat": 19.4362119, "lon": -99.1358522}, {"type": "node", "id": 2269746270, "lat": 19.4360932, "lon": -99.1376581}, {"type": "node", "id": 2269746272, "lat": 19.4362728, "lon": -99.1362803}, {"type": "node", "id": 2418219465, "lat": 19.4339559, "lon": -99.1393431}, {"type": "node", "id": 2812602535, "lat": 19.4327051, "lon": -99.1394951}, {"type": "node", "id": 2812602536, "lat": 19.432665, "lon": -99.1391867}, {"type": "node", "id": 2812602537, "lat": 19.4330619, "lon": -99.1391276}, {"type": "node", "id": 2812602538, "lat": 19.4331024, "lon": -99.1390578}, {"type": "node", "id": 2812602539, "lat": 19.4332112, "lon": -99.1390095}, {"type": "node", "id": 2812602540, "lat": 19.4333022, "lon": -99.1391678}, {"type": "node", "id": 2812602541, "lat": 19.4333328, "lon": -99.1394033}, {"type": "node", "id": 2812602543, "lat": 19.4335692, "lon": -99.1397615}, {"type": "node", "id": 2812602544, "lat": 19.4335384, "lon": -99.139546}, {"type": "node", "id": 2812602545, "lat": 19.4338926, "lon": -99.139489}, {"type": "node", "id": 2812612855, "lat": 19.4333227, "lon": -99.1401248}, {"type": "node", "id": 2812612856, "lat": 19.4330449, "lon": -99.1401229}, {"type": "node", "id": 2812612857, "lat": 19.4330439, "lon": -99.1398149}, {"type": "node", "id": 2812612858, "lat": 19.4332147, "lon": -99.1398051}, {"type": "node", "id": 2812612859, "lat": 19.4332172, "lon": -99.1395879}, {"type": "node", "id": 2812613584, "lat": 19.433541, "lon": -99.1396509}, {"type": "node", "id": 2812613585, "lat": 19.4333336, "lon": -99.1396603}, {"type": "node", "id": 2812613586, "lat": 19.4333336, "lon": -99.1395825}, {"type": "node", "id": 2812613587, "lat": 19.4335296, "lon": -99.1395477}, {"type": "node", "id": 2812619829, "lat": 19.4359161, "lon": -99.1326619}, {"type": "node", "id": 2812619831, "lat": 19.436566, "lon": -99.1316449}, {"type": "node", "id": 2812619832, "lat": 19.4357808, "lon": -99.1317605}, {"type": "node", "id": 2812623128, "lat": 19.4358323, "lon": -99.1329897}, {"type": "node", "id": 2812623129, "lat": 19.4350811, "lon": -99.1331072}, {"type": "node", "id": 2812623130, "lat": 19.4350395, "lon": -99.1328069}, {"type": "node", "id": 3060049224, "lat": 19.4357193, "lon": -99.1321752}, {"type": "node", "id": 3060049225, "lat": 19.4353418, "lon": -99.1322323}, {"type": "node", "id": 3060049226, "lat": 19.4352898, "lon": -99.1318463}, {"type": "node", "id": 3060049227, "lat": 19.4356656, "lon": -99.1317877}, {"type": "node", "id": 3748114076, "lat": 19.4288152, "lon": -99.1380728}, {"type": "node", "id": 3748114077, "lat": 19.4288291, "lon": -99.1382031}, {"type": "node", "id": 3748114078, "lat": 19.4288778, "lon": -99.1380423}, {"type": "node", "id": 3748114079, "lat": 19.428878, "lon": -99.1380742}, {"type": "node", "id": 3748114080, "lat": 19.429056, "lon": -99.1379539}, {"type": "node", "id": 3748114081, "lat": 19.4290655, "lon": -99.1380205}, {"type": "node", "id": 3748114082, "lat": 19.429239, "lon": -99.1379394}, {"type": "node", "id": 3748114083, "lat": 19.4292636, "lon": -99.1381567}, {"type": "node", "id": 3748389743, "lat": 19.4288665, "lon": -99.1385938}, {"type": "node", "id": 3748389744, "lat": 19.4288829, "lon": -99.1387771}, {"type": "node", "id": 3748389745, "lat": 19.429118, "lon": -99.1387516}, {"type": "node", "id": 3748389746, "lat": 19.4292281, "lon": -99.1385427}, {"type": "node", "id": 3748389747, "lat": 19.4292552, "lon": -99.138684}, {"type": "node", "id": 3750607647, "lat": 19.4328573, "lon": -99.1347042}, {"type": "node", "id": 3750607648, "lat": 19.4326641, "lon": -99.1347317}, {"type": "node", "id": 3750607649, "lat": 19.4326142, "lon": -99.1343292}, {"type": "node", "id": 3750607650, "lat": 19.4331423, "lon": -99.1342592}, {"type": "node", "id": 3750607651, "lat": 19.43317, "lon": -99.1344524}, {"type": "node", "id": 3750607652, "lat": 19.4328305, "lon": -99.1345022}, {"type": "node", "id": 3750607653, "lat": 19.4336855, "lon": -99.1344889}, {"type": "node", "id": 3750607654, "lat": 19.4332769, "lon": -99.1345119}, {"type": "node", "id": 3750607655, "lat": 19.4332392, "lon": -99.1342433}, {"type": "node", "id": 3750607656, "lat": 19.4336423, "lon": -99.1341755}, {"type": "node", "id": 3750607693, "lat": 19.431042, "lon": -99.1346004}, {"type": "node", "id": 3750607694, "lat": 19.4311059, "lon": -99.1351289}, {"type": "node", "id": 3750607695, "lat": 19.4306741, "lon": -99.1351876}, {"type": "node", "id": 3750607696, "lat": 19.4306102, "lon": -99.1346591}, {"type": "node", "id": 3751087848, "lat": 19.4338262, "lon": -99.13842}, {"type": "node", "id": 3751087849, "lat": 19.4338833, "lon": -99.1388265}, {"type": "node", "id": 3751087850, "lat": 19.4341098, "lon": -99.1387902}, {"type": "node", "id": 3751087851, "lat": 19.4341381, "lon": -99.1383418}, {"type": "node", "id": 3816385535, "lat": 19.4337636, "lon": -99.1341734}, {"type": "node", "id": 3816385536, "lat": 19.4338868, "lon": -99.1341554}, {"type": "node", "id": 3816385537, "lat": 19.433918, "lon": -99.1344018}, {"type": "node", "id": 3816385538, "lat": 19.4337956, "lon": -99.1344197}, {"type": "node", "id": 4045323985, "lat": 19.4339235, "lon": -99.1397044}, {"type": "node", "id": 4049515325, "lat": 19.4306627, "lon": -99.1341679}, {"type": "node", "id": 4049515326, "lat": 19.4307184, "lon": -99.1345125}, {"type": "node", "id": 4049515327, "lat": 19.4309688, "lon": -99.1341183}, {"type": "node", "id": 4049515328, "lat": 19.4309789, "lon": -99.134471}, {"type": "node", "id": 4049515329, "lat": 19.4310144, "lon": -99.134416}, {"type": "node", "id": 4049515330, "lat": 19.4311588, "lon": -99.1345932}, {"type": "node", "id": 4049515331, "lat": 19.4311765, "lon": -99.1345583}, {"type": "node", "id": 4049515332, "lat": 19.4312043, "lon": -99.1345476}, {"type": "node", "id": 4049515333, "lat": 19.4312059, "lon": -99.1349013}, {"type": "node", "id": 4049515334, "lat": 19.4318493, "lon": -99.134451}, {"type": "node", "id": 4049515335, "lat": 19.4318772, "lon": -99.1344591}, {"type": "node", "id": 4049515336, "lat": 19.4318898, "lon": -99.1344832}, {"type": "node", "id": 4049515337, "lat": 19.4319378, "lon": -99.1347852}, {"type": "node", "id": 4058631209, "lat": 19.4320949, "lon": -99.1386288}, {"type": "node", "id": 4058631210, "lat": 19.4321432, "lon": -99.1390154}, {"type": "node", "id": 4058631211, "lat": 19.4323116, "lon": -99.1389917}, {"type": "node", "id": 4058631212, "lat": 19.4323156, "lon": -99.1390239}, {"type": "node", "id": 4058631213, "lat": 19.4324133, "lon": -99.1390102}, {"type": "node", "id": 4058631214, "lat": 19.4324268, "lon": -99.1391184}, {"type": "node", "id": 4058631215, "lat": 19.4324284, "lon": -99.1385819}, {"type": "node", "id": 4058631216, "lat": 19.4324865, "lon": -99.1390471, "tags": {"entrance": "main"}}, {"type": "node", "id": 4058631217, "lat": 19.4324942, "lon": -99.1391089}, {"type": "node", "id": 4058637090, "lat": 19.4315381, "lon": -99.1383385}, {"type": "node", "id": 4058637091, "lat": 19.4315112, "lon": -99.1381558}, {"type": "node", "id": 4058637092, "lat": 19.4311647, "lon": -99.1382131}, {"type": "node", "id": 4058637093, "lat": 19.4311915, "lon": -99.1383958}, {"type": "node", "id": 4166734943, "lat": 19.4333618, "lon": -99.1317514}, {"type": "node", "id": 4166734944, "lat": 19.4331928, "lon": -99.1317706}, {"type": "node", "id": 4166734945, "lat": 19.4331764, "lon": -99.1316087}, {"type": "node", "id": 4166734946, "lat": 19.4333454, "lon": -99.1315895}, {"type": "node", "id": 4166734947, "lat": 19.4333301, "lon": -99.1315127}, {"type": "node", "id": 4166734948, "lat": 19.4331612, "lon": -99.1315319}, {"type": "node", "id": 4166734949, "lat": 19.4331448, "lon": -99.13137}, {"type": "node", "id": 4166734950, "lat": 19.4333137, "lon": -99.1313508}, {"type": "node", "id": 4166734951, "lat": 19.4333041, "lon": -99.1312405}, {"type": "node", "id": 4166734953, "lat": 19.4331246, "lon": -99.1311588}, {"type": "node", "id": 4166734954, "lat": 19.4332933, "lon": -99.1311387}, {"type": "node", "id": 4216786877, "lat": 19.436162, "lon": -99.1346219}, {"type": "node", "id": 4216786878, "lat": 19.4365266, "lon": -99.1345664}, {"type": "node", "id": 4216786879, "lat": 19.4365014, "lon": -99.1343602}, {"type": "node", "id": 4216786880, "lat": 19.4361328, "lon": -99.1344071}, {"type": "node", "id": 4216786888, "lat": 19.4362395, "lon": -99.1336865}, {"type": "node", "id": 4216788689, "lat": 19.436201, "lon": -99.1334082}, {"type": "node", "id": 4216788690, "lat": 19.4360219, "lon": -99.1334377}, {"type": "node", "id": 4216788691, "lat": 19.4360563, "lon": -99.1337062}, {"type": "node", "id": 4314552016, "lat": 19.4320628, "lon": -99.1354484}, {"type": "node", "id": 4511087428, "lat": 19.4297572, "lon": -99.1325867}, {"type": "node", "id": 4511087430, "lat": 19.4295895, "lon": -99.1328993}, {"type": "node", "id": 4511087431, "lat": 19.4297851, "lon": -99.1328769}, {"type": "node", "id": 4596472225, "lat": 19.4300815, "lon": -99.1338079}, {"type": "node", "id": 4596472226, "lat": 19.4296889, "lon": -99.1338671}, {"type": "node", "id": 4596472227, "lat": 19.4293484, "lon": -99.1339196}, {"type": "node", "id": 4596472228, "lat": 19.4297207, "lon": -99.1340721}, {"type": "node", "id": 4596472229, "lat": 19.4293752, "lon": -99.1341244}, {"type": "node", "id": 4596472230, "lat": 19.4294016, "lon": -99.1342954}, {"type": "node", "id": 4596472232, "lat": 19.4297103, "lon": -99.1340007}, {"type": "node", "id": 4596472233, "lat": 19.4300995, "lon": -99.133937}, {"type": "node", "id": 4596472234, "lat": 19.4297263, "lon": -99.1341346}, {"type": "node", "id": 4596472235, "lat": 19.4301208, "lon": -99.1340801}, {"type": "node", "id": 4596472236, "lat": 19.4301345, "lon": -99.1341922}, {"type": "node", "id": 4596472237, "lat": 19.4297391, "lon": -99.1342402}, {"type": "node", "id": 4596472238, "lat": 19.4298526, "lon": -99.1346248}, {"type": "node", "id": 4596567513, "lat": 19.4318711, "lon": -99.1319374}, {"type": "node", "id": 4596567514, "lat": 19.431848, "lon": -99.1317018}, {"type": "node", "id": 4596567515, "lat": 19.4321195, "lon": -99.1316718}, {"type": "node", "id": 4596567516, "lat": 19.4321426, "lon": -99.1319074}, {"type": "node", "id": 4596567521, "lat": 19.4317885, "lon": -99.130592}, {"type": "node", "id": 4596567524, "lat": 19.4325792, "lon": -99.130439}, {"type": "node", "id": 4596567525, "lat": 19.4318608, "lon": -99.1312646}, {"type": "node", "id": 4596567526, "lat": 19.4322193, "lon": -99.1312215}, {"type": "node", "id": 4596567530, "lat": 19.4331705, "lon": -99.1311065}, {"type": "node", "id": 4596567531, "lat": 19.4332109, "lon": -99.1307308}, {"type": "node", "id": 4596567533, "lat": 19.4327128, "lon": -99.131383}, {"type": "node", "id": 4596567534, "lat": 19.4323192, "lon": -99.1314324}, {"type": "node", "id": 4596567535, "lat": 19.4323678, "lon": -99.1318669}, {"type": "node", "id": 4596567536, "lat": 19.4327613, "lon": -99.1318174}, {"type": "node", "id": 4904771630, "lat": 19.4353772, "lon": -99.133682}, {"type": "node", "id": 5116434595, "lat": 19.431688, "lon": -99.1365929}, {"type": "node", "id": 5116434596, "lat": 19.4317388, "lon": -99.1369567}, {"type": "node", "id": 5116434597, "lat": 19.431492, "lon": -99.1369955}, {"type": "node", "id": 5116434598, "lat": 19.4314412, "lon": -99.1366317}, {"type": "node", "id": 5116434611, "lat": 19.4322562, "lon": -99.1372648}, {"type": "node", "id": 5116434612, "lat": 19.4321971, "lon": -99.1368754}, {"type": "node", "id": 5116434613, "lat": 19.4318449, "lon": -99.1369355}, {"type": "node", "id": 5116434614, "lat": 19.431904, "lon": -99.1373249}, {"type": "node", "id": 5116435427, "lat": 19.4320282, "lon": -99.1384025}, {"type": "node", "id": 5116435428, "lat": 19.4319078, "lon": -99.1375124}, {"type": "node", "id": 5116435429, "lat": 19.4315678, "lon": -99.1375642}, {"type": "node", "id": 5116435430, "lat": 19.4316883, "lon": -99.1384543}, {"type": "node", "id": 5116435431, "lat": 19.4317586, "lon": -99.1360262}, {"type": "node", "id": 5116435432, "lat": 19.4316527, "lon": -99.135524}, {"type": "node", "id": 5116435433, "lat": 19.4312924, "lon": -99.1355819}, {"type": "node", "id": 5116435442, "lat": 19.4328308, "lon": -99.1348259}, {"type": "node", "id": 5116435443, "lat": 19.4328827, "lon": -99.135208}, {"type": "node", "id": 5116435444, "lat": 19.4321571, "lon": -99.135316}, {"type": "node", "id": 5116438435, "lat": 19.4304715, "lon": -99.1358568}, {"type": "node", "id": 5116438436, "lat": 19.4308468, "lon": -99.1359749}, {"type": "node", "id": 5116438437, "lat": 19.4308691, "lon": -99.1361731}, {"type": "node", "id": 5116438438, "lat": 19.4305258, "lon": -99.136215}, {"type": "node", "id": 5116454916, "lat": 19.4308659, "lon": -99.1394658}, {"type": "node", "id": 5116454917, "lat": 19.430805, "lon": -99.1390973}, {"type": "node", "id": 5116454918, "lat": 19.4304389, "lon": -99.1391653}, {"type": "node", "id": 5116454919, "lat": 19.4304998, "lon": -99.1395338}, {"type": "node", "id": 5116475216, "lat": 19.4364483, "lon": -99.1343653}, {"type": "node", "id": 5116475217, "lat": 19.4364278, "lon": -99.134208}, {"type": "node", "id": 5116475218, "lat": 19.4361183, "lon": -99.1342512}, {"type": "node", "id": 5116475219, "lat": 19.4362955, "lon": -99.1342253}, {"type": "node", "id": 5116475220, "lat": 19.4362393, "lon": -99.1337937}, {"type": "node", "id": 5116475321, "lat": 19.4360621, "lon": -99.1338197}, {"type": "node", "id": 5116475323, "lat": 19.4362705, "lon": -99.1340335}, {"type": "node", "id": 5116475324, "lat": 19.4359794, "lon": -99.13313}, {"type": "node", "id": 5116475325, "lat": 19.4361564, "lon": -99.1331035}, {"type": "node", "id": 5116475326, "lat": 19.436355, "lon": -99.133669}, {"type": "node", "id": 5116475327, "lat": 19.436302, "lon": -99.1332826}, {"type": "node", "id": 5116475328, "lat": 19.4361861, "lon": -99.1333006}, {"type": "node", "id": 5116475330, "lat": 19.4363139, "lon": -99.1333868}, {"type": "node", "id": 5116475353, "lat": 19.4362564, "lon": -99.1326135}, {"type": "node", "id": 5116475354, "lat": 19.4362703, "lon": -99.1327331}, {"type": "node", "id": 5116475356, "lat": 19.4359307, "lon": -99.1327798}, {"type": "node", "id": 5116475357, "lat": 19.4362887, "lon": -99.1328833}, {"type": "node", "id": 5116475358, "lat": 19.4359533, "lon": -99.1329334}, {"type": "node", "id": 5116475359, "lat": 19.4363179, "lon": -99.1328863}, {"type": "node", "id": 5116475360, "lat": 19.4362388, "lon": -99.1330913}, {"type": "node", "id": 5116475361, "lat": 19.4362275, "lon": -99.1330062}, {"type": "node", "id": 5116475362, "lat": 19.4363317, "lon": -99.1329907}, {"type": "node", "id": 5116475363, "lat": 19.4357363, "lon": -99.1322978}, {"type": "node", "id": 5116475364, "lat": 19.4353386, "lon": -99.1323543}, {"type": "node", "id": 5116475365, "lat": 19.4353685, "lon": -99.1325884}, {"type": "node", "id": 5116475366, "lat": 19.4354881, "lon": -99.1325712}, {"type": "node", "id": 5116475367, "lat": 19.4359364, "lon": -99.1337403}, {"type": "node", "id": 5116475368, "lat": 19.4358966, "lon": -99.1334534}, {"type": "node", "id": 5116475369, "lat": 19.4357392, "lon": -99.1337711}, {"type": "node", "id": 5116475370, "lat": 19.4355604, "lon": -99.133799}, {"type": "node", "id": 5116475371, "lat": 19.4358754, "lon": -99.1333005}, {"type": "node", "id": 5116475372, "lat": 19.4354493, "lon": -99.1335224}, {"type": "node", "id": 5116475373, "lat": 19.4355198, "lon": -99.133511}, {"type": "node", "id": 5116475374, "lat": 19.4357005, "lon": -99.133483}, {"type": "node", "id": 5117220124, "lat": 19.4306604, "lon": -99.1318595}, {"type": "node", "id": 5117220125, "lat": 19.4306686, "lon": -99.1319315}, {"type": "node", "id": 5117276848, "lat": 19.4306263, "lon": -99.1360027}, {"type": "node", "id": 5117276849, "lat": 19.430608, "lon": -99.1358404}, {"type": "node", "id": 5117291502, "lat": 19.4353762, "lon": -99.1374157}, {"type": "node", "id": 5117291504, "lat": 19.435536, "lon": -99.1373921}, {"type": "node", "id": 5117291505, "lat": 19.4353908, "lon": -99.1375263}, {"type": "node", "id": 5117438596, "lat": 19.434931, "lon": -99.1320247}, {"type": "node", "id": 5117438597, "lat": 19.4349616, "lon": -99.1322456}, {"type": "node", "id": 5117438598, "lat": 19.4351426, "lon": -99.1322201}, {"type": "node", "id": 5117438599, "lat": 19.4351358, "lon": -99.132166}, {"type": "node", "id": 5117438600, "lat": 19.4350671, "lon": -99.1321758}, {"type": "node", "id": 5117438601, "lat": 19.435046, "lon": -99.1320086}, {"type": "node", "id": 5117438602, "lat": 19.4353269, "lon": -99.1321218}, {"type": "node", "id": 5117438603, "lat": 19.4351715, "lon": -99.1321441}, {"type": "node", "id": 5117438604, "lat": 19.4351368, "lon": -99.1318702}, {"type": "node", "id": 5117438605, "lat": 19.43532, "lon": -99.1321947}, {"type": "node", "id": 5117438606, "lat": 19.4353347, "lon": -99.1323154}, {"type": "node", "id": 5117438607, "lat": 19.4349783, "lon": -99.1323658}, {"type": "node", "id": 5117438608, "lat": 19.4349942, "lon": -99.1324802}, {"type": "node", "id": 5117438609, "lat": 19.4353468, "lon": -99.1324268}, {"type": "node", "id": 5117614589, "lat": 19.4289858, "lon": -99.1333847}, {"type": "node", "id": 5117614590, "lat": 19.4290097, "lon": -99.1333809}, {"type": "node", "id": 5117614607, "lat": 19.4283401, "lon": -99.1327939}, {"type": "node", "id": 5117614608, "lat": 19.4291439, "lon": -99.1335559}, {"type": "node", "id": 5117614609, "lat": 19.4291599, "lon": -99.1336887}, {"type": "node", "id": 5117614610, "lat": 19.4284032, "lon": -99.1337982}, {"type": "node", "id": 5117651155, "lat": 19.429963, "lon": -99.1357824}, {"type": "node", "id": 5117651156, "lat": 19.429931, "lon": -99.1355654}, {"type": "node", "id": 5117651157, "lat": 19.4302739, "lon": -99.135508}, {"type": "node", "id": 5117651158, "lat": 19.4303041, "lon": -99.1357363}, {"type": "node", "id": 5117651159, "lat": 19.4302611, "lon": -99.1354118}, {"type": "node", "id": 5117651160, "lat": 19.4295503, "lon": -99.1355309}, {"type": "node", "id": 5117651163, "lat": 19.4298652, "lon": -99.1354781}, {"type": "node", "id": 5117656651, "lat": 19.4296647, "lon": -99.1378784}, {"type": "node", "id": 5117656652, "lat": 19.4296335, "lon": -99.1376861}, {"type": "node", "id": 5117656653, "lat": 19.4291298, "lon": -99.1377738}, {"type": "node", "id": 5117656654, "lat": 19.429149, "lon": -99.1379466}, {"type": "node", "id": 5117656655, "lat": 19.4291876, "lon": -99.1377637}, {"type": "node", "id": 5117656656, "lat": 19.4291552, "lon": -99.1375037}, {"type": "node", "id": 5117656657, "lat": 19.4296965, "lon": -99.1373889}, {"type": "node", "id": 5117656658, "lat": 19.4297315, "lon": -99.1376691}, {"type": "node", "id": 5117709312, "lat": 19.4341241, "lon": -99.1361034}, {"type": "node", "id": 5117709313, "lat": 19.4340981, "lon": -99.1358885}, {"type": "node", "id": 5117709314, "lat": 19.4339535, "lon": -99.1359076}, {"type": "node", "id": 5117709315, "lat": 19.4339466, "lon": -99.1361261}, {"type": "node", "id": 5117709316, "lat": 19.4337799, "lon": -99.136148}, {"type": "node", "id": 5117709318, "lat": 19.4337414, "lon": -99.1359394}, {"type": "node", "id": 5117709319, "lat": 19.4334825, "lon": -99.1359747}, {"type": "node", "id": 5117709320, "lat": 19.4335121, "lon": -99.1361851}, {"type": "node", "id": 5117709921, "lat": 19.433642, "lon": -99.1357232}, {"type": "node", "id": 5117709922, "lat": 19.4334511, "lon": -99.1357508}, {"type": "node", "id": 5117709923, "lat": 19.4333836, "lon": -99.1352705}, {"type": "node", "id": 5117709924, "lat": 19.4335796, "lon": -99.1352399}, {"type": "node", "id": 5117728385, "lat": 19.4303965, "lon": -99.1345665}, {"type": "node", "id": 5117728386, "lat": 19.4303588, "lon": -99.134299}, {"type": "node", "id": 5117728387, "lat": 19.4302418, "lon": -99.1343197}, {"type": "node", "id": 5117728388, "lat": 19.4302782, "lon": -99.1345803}, {"type": "node", "id": 5117728389, "lat": 19.4303716, "lon": -99.1343897}, {"type": "node", "id": 5117728390, "lat": 19.4304758, "lon": -99.1343638}, {"type": "node", "id": 5117728391, "lat": 19.4304524, "lon": -99.1342177}, {"type": "node", "id": 5117728392, "lat": 19.4304928, "lon": -99.134208}, {"type": "node", "id": 5117728393, "lat": 19.4304875, "lon": -99.1341515}, {"type": "node", "id": 5117728394, "lat": 19.4302275, "lon": -99.1342039}, {"type": "node", "id": 5117728395, "lat": 19.4304524, "lon": -99.1339667}, {"type": "node", "id": 5117728396, "lat": 19.4301976, "lon": -99.1340205}, {"type": "node", "id": 5117728397, "lat": 19.4304251, "lon": -99.1337834}, {"type": "node", "id": 5117728398, "lat": 19.4301768, "lon": -99.1338192}, {"type": "node", "id": 5117738855, "lat": 19.4300946, "lon": -99.1332346}, {"type": "node", "id": 5117738856, "lat": 19.430472, "lon": -99.1331823}, {"type": "node", "id": 5117738857, "lat": 19.4304241, "lon": -99.1330079}, {"type": "node", "id": 5117738859, "lat": 19.4304052, "lon": -99.1328761}, {"type": "node", "id": 5117738860, "lat": 19.4302655, "lon": -99.1328928}, {"type": "node", "id": 5117738861, "lat": 19.4302808, "lon": -99.1329946}, {"type": "node", "id": 5117738862, "lat": 19.4300679, "lon": -99.1330283}, {"type": "node", "id": 5117738863, "lat": 19.4302524, "lon": -99.1328059}, {"type": "node", "id": 5117738864, "lat": 19.4300434, "lon": -99.1328398}, {"type": "node", "id": 5117738865, "lat": 19.4302143, "lon": -99.1328121}, {"type": "node", "id": 5117738866, "lat": 19.4301942, "lon": -99.1327041}, {"type": "node", "id": 5117738867, "lat": 19.4300303, "lon": -99.1327388}, {"type": "node", "id": 5117738868, "lat": 19.4301748, "lon": -99.1325825}, {"type": "node", "id": 5117738869, "lat": 19.4300133, "lon": -99.1326073}, {"type": "node", "id": 5117738870, "lat": 19.4301666, "lon": -99.1325351}, {"type": "node", "id": 5117738871, "lat": 19.430007, "lon": -99.1325583}, {"type": "node", "id": 5117738872, "lat": 19.4303202, "lon": -99.1327962}, {"type": "node", "id": 5117738873, "lat": 19.4303045, "lon": -99.1326846}, {"type": "node", "id": 5117738874, "lat": 19.4302809, "lon": -99.1325185}, {"type": "node", "id": 5117738875, "lat": 19.4303566, "lon": -99.1325074}, {"type": "node", "id": 5117738876, "lat": 19.4303325, "lon": -99.1328831}, {"type": "node", "id": 5117761392, "lat": 19.4360982, "lon": -99.1374959}, {"type": "node", "id": 5117761394, "lat": 19.4363525, "lon": -99.1368408}, {"type": "node", "id": 5117803151, "lat": 19.4296034, "lon": -99.1381248}, {"type": "node", "id": 5117803152, "lat": 19.4293727, "lon": -99.1381624}, {"type": "node", "id": 5117803153, "lat": 19.4293473, "lon": -99.137987}, {"type": "node", "id": 5117803154, "lat": 19.429578, "lon": -99.1379494}, {"type": "node", "id": 5117832301, "lat": 19.4287936, "lon": -99.1378289}, {"type": "node", "id": 5117832302, "lat": 19.4288107, "lon": -99.1379842}, {"type": "node", "id": 5117832303, "lat": 19.429135, "lon": -99.1378931}, {"type": "node", "id": 5117832304, "lat": 19.4291173, "lon": -99.1377774}, {"type": "node", "id": 5117843895, "lat": 19.43549, "lon": -99.1390197}, {"type": "node", "id": 5117843896, "lat": 19.4354868, "lon": -99.1389976}, {"type": "node", "id": 5117843897, "lat": 19.4357439, "lon": -99.1388329}, {"type": "node", "id": 5117843899, "lat": 19.4352369, "lon": -99.1386534}, {"type": "node", "id": 5117843900, "lat": 19.435297, "lon": -99.1385702}, {"type": "node", "id": 5117843901, "lat": 19.4353026, "lon": -99.1386419}, {"type": "node", "id": 5117844462, "lat": 19.4333572, "lon": -99.1380165}, {"type": "node", "id": 5117844463, "lat": 19.4335695, "lon": -99.1379862}, {"type": "node", "id": 5117844479, "lat": 19.4338002, "lon": -99.1391715}, {"type": "node", "id": 5117844480, "lat": 19.4338154, "lon": -99.1392798}, {"type": "node", "id": 5117844481, "lat": 19.4338618, "lon": -99.1392742}, {"type": "node", "id": 5117844482, "lat": 19.4338702, "lon": -99.1393329}, {"type": "node", "id": 5117844484, "lat": 19.43291, "lon": -99.1391509}, {"type": "node", "id": 5117844511, "lat": 19.434345, "lon": -99.1392703}, {"type": "node", "id": 5117844512, "lat": 19.4344727, "lon": -99.1392499}, {"type": "node", "id": 5117844513, "lat": 19.4344937, "lon": -99.1392181}, {"type": "node", "id": 5117844514, "lat": 19.4344765, "lon": -99.1390863}, {"type": "node", "id": 5117844515, "lat": 19.4343252, "lon": -99.1391171}, {"type": "node", "id": 5117844516, "lat": 19.434221, "lon": -99.1392926}, {"type": "node", "id": 5117844517, "lat": 19.434196, "lon": -99.1391271}, {"type": "node", "id": 5117844518, "lat": 19.4343234, "lon": -99.1391034}, {"type": "node", "id": 5117844621, "lat": 19.4342575, "lon": -99.1391147}, {"type": "node", "id": 5117844632, "lat": 19.4341785, "lon": -99.1386155}, {"type": "node", "id": 5117844633, "lat": 19.4340934, "lon": -99.1386299}, {"type": "node", "id": 5117844634, "lat": 19.4340955, "lon": -99.1387925}, {"type": "node", "id": 5117844638, "lat": 19.4341029, "lon": -99.1387235}, {"type": "node", "id": 5117844645, "lat": 19.43365, "lon": -99.1387108}, {"type": "node", "id": 5117844647, "lat": 19.4331604, "lon": -99.1390015}, {"type": "node", "id": 5117855678, "lat": 19.4332545, "lon": -99.1350409}, {"type": "node", "id": 5117855679, "lat": 19.4331684, "lon": -99.1350534}, {"type": "node", "id": 5117855680, "lat": 19.4331351, "lon": -99.1347816}, {"type": "node", "id": 5117855681, "lat": 19.4332154, "lon": -99.1347685}, {"type": "node", "id": 5117855684, "lat": 19.4332712, "lon": -99.1351578}, {"type": "node", "id": 5117855686, "lat": 19.4331177, "lon": -99.1350602}, {"type": "node", "id": 5117855687, "lat": 19.4331318, "lon": -99.1351775}, {"type": "node", "id": 5117855688, "lat": 19.4330348, "lon": -99.1350725}, {"type": "node", "id": 5117855689, "lat": 19.4330006, "lon": -99.1347996}, {"type": "node", "id": 5117855698, "lat": 19.433952, "lon": -99.1346704}, {"type": "node", "id": 5117855699, "lat": 19.433926, "lon": -99.1344647}, {"type": "node", "id": 5117855700, "lat": 19.4337099, "lon": -99.1347005}, {"type": "node", "id": 5117855701, "lat": 19.4337718, "lon": -99.1342363}, {"type": "node", "id": 5117855702, "lat": 19.4336511, "lon": -99.1342496}, {"type": "node", "id": 5117855703, "lat": 19.4338012, "lon": -99.1344756}, {"type": "node", "id": 5117855704, "lat": 19.4337974, "lon": -99.1344445}, {"type": "node", "id": 5117855709, "lat": 19.4347304, "lon": -99.1343184}, {"type": "node", "id": 5117880951, "lat": 19.4329478, "lon": -99.1358234}, {"type": "node", "id": 5117880959, "lat": 19.4336548, "lon": -99.1372004}, {"type": "node", "id": 5117880960, "lat": 19.4336358, "lon": -99.1370657}, {"type": "node", "id": 5117880962, "lat": 19.4342154, "lon": -99.136549}, {"type": "node", "id": 5117880963, "lat": 19.4340526, "lon": -99.1365662}, {"type": "node", "id": 5117880964, "lat": 19.4340221, "lon": -99.1362413}, {"type": "node", "id": 5117880965, "lat": 19.4341849, "lon": -99.1362241}, {"type": "node", "id": 5117880973, "lat": 19.4338743, "lon": -99.135918}, {"type": "node", "id": 5117880975, "lat": 19.4337098, "lon": -99.1356806}, {"type": "node", "id": 5117880983, "lat": 19.4330289, "lon": -99.1360509}, {"type": "node", "id": 5117880984, "lat": 19.4330414, "lon": -99.1361508}, {"type": "node", "id": 5117920327, "lat": 19.433151, "lon": -99.1370533}, {"type": "node", "id": 5117920334, "lat": 19.4337138, "lon": -99.1357133}, {"type": "node", "id": 5117920338, "lat": 19.4335909, "lon": -99.1353324}, {"type": "node", "id": 5117930092, "lat": 19.4292076, "lon": -99.1393661}, {"type": "node", "id": 5117930093, "lat": 19.4292038, "lon": -99.1393107}, {"type": "node", "id": 5117930094, "lat": 19.4289761, "lon": -99.1393312}, {"type": "node", "id": 5117930095, "lat": 19.4289723, "lon": -99.1393051}, {"type": "node", "id": 5117930096, "lat": 19.4288956, "lon": -99.1393016}, {"type": "node", "id": 5117930097, "lat": 19.4289071, "lon": -99.1393901}, {"type": "node", "id": 5117940757, "lat": 19.4351853, "lon": -99.1338575}, {"type": "node", "id": 5117940758, "lat": 19.4353974, "lon": -99.1338244}, {"type": "node", "id": 5117940759, "lat": 19.4351655, "lon": -99.133715}, {"type": "node", "id": 5117940760, "lat": 19.4351454, "lon": -99.1335704}, {"type": "node", "id": 5117940761, "lat": 19.4353567, "lon": -99.1335372}, {"type": "node", "id": 5117940765, "lat": 19.4353195, "lon": -99.1345888}, {"type": "node", "id": 5117940768, "lat": 19.4356881, "lon": -99.1345347}, {"type": "node", "id": 5117940770, "lat": 19.4356855, "lon": -99.1345147}, {"type": "node", "id": 5117940771, "lat": 19.4357872, "lon": -99.1346057}, {"type": "node", "id": 5117940774, "lat": 19.43551, "lon": -99.1327344}, {"type": "node", "id": 5117955934, "lat": 19.4356966, "lon": -99.1375585}, {"type": "node", "id": 5117955935, "lat": 19.4357508, "lon": -99.1379489}, {"type": "node", "id": 5117955936, "lat": 19.4356204, "lon": -99.1378802}, {"type": "node", "id": 5117955938, "lat": 19.4355864, "lon": -99.1379458}, {"type": "node", "id": 5117955941, "lat": 19.4354002, "lon": -99.1375979}, {"type": "node", "id": 5117955944, "lat": 19.4355538, "lon": -99.1377803}, {"type": "node", "id": 5117955945, "lat": 19.4356065, "lon": -99.1377717}, {"type": "node", "id": 5117969381, "lat": 19.4307262, "lon": -99.1340361}, {"type": "node", "id": 5117969382, "lat": 19.430716, "lon": -99.1339584}, {"type": "node", "id": 5117969383, "lat": 19.4307515, "lon": -99.133953}, {"type": "node", "id": 5117969384, "lat": 19.4307642, "lon": -99.1338745}, {"type": "node", "id": 5117969385, "lat": 19.4305542, "lon": -99.1337652}, {"type": "node", "id": 5117969386, "lat": 19.4305946, "lon": -99.134063}, {"type": "node", "id": 5117969387, "lat": 19.4305086, "lon": -99.1345431}, {"type": "node", "id": 5117969388, "lat": 19.4305896, "lon": -99.1341407}, {"type": "node", "id": 5117969389, "lat": 19.4306073, "lon": -99.1342132}, {"type": "node", "id": 5117969390, "lat": 19.430669, "lon": -99.1342071}, {"type": "node", "id": 5117969391, "lat": 19.4304791, "lon": -99.1343722}, {"type": "node", "id": 5117969392, "lat": 19.4306515, "lon": -99.1350008}, {"type": "node", "id": 5117969397, "lat": 19.4320142, "lon": -99.1353286}, {"type": "node", "id": 5117969398, "lat": 19.4318341, "lon": -99.1353572}, {"type": "node", "id": 5117969399, "lat": 19.4319996, "lon": -99.1352252}, {"type": "node", "id": 5117969400, "lat": 19.4315616, "lon": -99.134845}, {"type": "node", "id": 5117969401, "lat": 19.4315835, "lon": -99.135}, {"type": "node", "id": 5117969402, "lat": 19.4316143, "lon": -99.1352184}, {"type": "node", "id": 5117969403, "lat": 19.4312628, "lon": -99.1352742}, {"type": "node", "id": 5117969404, "lat": 19.4312888, "lon": -99.1354444}, {"type": "node", "id": 5117969405, "lat": 19.4318195, "lon": -99.1352538}, {"type": "node", "id": 5117969406, "lat": 19.4313833, "lon": -99.1350349}, {"type": "node", "id": 5117969407, "lat": 19.4314267, "lon": -99.1352481}, {"type": "node", "id": 5117969408, "lat": 19.431231, "lon": -99.1350659}, {"type": "node", "id": 5117969409, "lat": 19.4308552, "lon": -99.1332814}, {"type": "node", "id": 5117969410, "lat": 19.4308303, "lon": -99.1331091}, {"type": "node", "id": 5117969411, "lat": 19.4305549, "lon": -99.1333291}, {"type": "node", "id": 5117969412, "lat": 19.4308793, "lon": -99.1334477}, {"type": "node", "id": 5117969413, "lat": 19.4308078, "lon": -99.1329536}, {"type": "node", "id": 5117969414, "lat": 19.4307904, "lon": -99.1328339}, {"type": "node", "id": 5117969415, "lat": 19.4307689, "lon": -99.1326849}, {"type": "node", "id": 5117969416, "lat": 19.4305192, "lon": -99.1327222}, {"type": "node", "id": 5117969417, "lat": 19.4305141, "lon": -99.1326813}, {"type": "node", "id": 5117969418, "lat": 19.4303828, "lon": -99.1327059}, {"type": "node", "id": 5117969419, "lat": 19.4307554, "lon": -99.1325918}, {"type": "node", "id": 5117969420, "lat": 19.4306221, "lon": -99.1326213}, {"type": "node", "id": 5117969421, "lat": 19.4306344, "lon": -99.132705}, {"type": "node", "id": 5117969422, "lat": 19.4307352, "lon": -99.1324523}, {"type": "node", "id": 5117969423, "lat": 19.4304927, "lon": -99.1324876}, {"type": "node", "id": 5117969424, "lat": 19.4305089, "lon": -99.1326459}, {"type": "node", "id": 5117974094, "lat": 19.4290474, "lon": -99.1389541}, {"type": "node", "id": 5117974095, "lat": 19.4290368, "lon": -99.1388583}, {"type": "node", "id": 5117974096, "lat": 19.4288934, "lon": -99.1388935}, {"type": "node", "id": 5117974097, "lat": 19.4289027, "lon": -99.1389808}, {"type": "node", "id": 5117974098, "lat": 19.4289615, "lon": -99.1388768}, {"type": "node", "id": 5117974099, "lat": 19.4289572, "lon": -99.1387675}, {"type": "node", "id": 5117974100, "lat": 19.4291108, "lon": -99.1385613}, {"type": "node", "id": 5117974101, "lat": 19.4290661, "lon": -99.1381782}, {"type": "node", "id": 5117974102, "lat": 19.4291084, "lon": -99.1379498}, {"type": "node", "id": 5117974103, "lat": 19.4291036, "lon": -99.1379019}, {"type": "node", "id": 5117974104, "lat": 19.4289452, "lon": -99.1392272}, {"type": "node", "id": 5117974105, "lat": 19.4288907, "lon": -99.1392342}, {"type": "node", "id": 5117974106, "lat": 19.4288775, "lon": -99.1391047}, {"type": "node", "id": 5117974107, "lat": 19.4291563, "lon": -99.1390695}, {"type": "node", "id": 5117974108, "lat": 19.4291642, "lon": -99.1391329}, {"type": "node", "id": 5117974109, "lat": 19.4290806, "lon": -99.1391455}, {"type": "node", "id": 5117974110, "lat": 19.4290832, "lon": -99.1392187}, {"type": "node", "id": 5118107660, "lat": 19.4298521, "lon": -99.1384793}, {"type": "node", "id": 5118107661, "lat": 19.4298091, "lon": -99.1381816}, {"type": "node", "id": 5118107662, "lat": 19.4297635, "lon": -99.1381119}, {"type": "node", "id": 5118107663, "lat": 19.4297306, "lon": -99.1381172}, {"type": "node", "id": 5118107664, "lat": 19.4297433, "lon": -99.1382406}, {"type": "node", "id": 5118107665, "lat": 19.4296623, "lon": -99.1382513}, {"type": "node", "id": 5118107666, "lat": 19.4296598, "lon": -99.138195}, {"type": "node", "id": 5118107667, "lat": 19.4294473, "lon": -99.1382057}, {"type": "node", "id": 5118107668, "lat": 19.4294676, "lon": -99.1385732}, {"type": "node", "id": 5118107669, "lat": 19.4298571, "lon": -99.1385356}, {"type": "node", "id": 5118107670, "lat": 19.429811, "lon": -99.1385401}, {"type": "node", "id": 5118107673, "lat": 19.4296416, "lon": -99.1385564}, {"type": "node", "id": 5118107675, "lat": 19.4292393, "lon": -99.1386012}, {"type": "node", "id": 5119635000, "lat": 19.4356322, "lon": -99.137095}, {"type": "node", "id": 5119856346, "lat": 19.4361195, "lon": -99.1368741}, {"type": "node", "id": 5120141447, "lat": 19.4360326, "lon": -99.1370313}, {"type": "node", "id": 5122446462, "lat": 19.4358874, "lon": -99.137528}, {"type": "node", "id": 5122446464, "lat": 19.4359405, "lon": -99.1373125}, {"type": "node", "id": 5122446465, "lat": 19.4359307, "lon": -99.137239}, {"type": "node", "id": 5122446466, "lat": 19.4356579, "lon": -99.1372802}, {"type": "node", "id": 5122446467, "lat": 19.4358601, "lon": -99.1373248}, {"type": "node", "id": 5122446473, "lat": 19.435845, "lon": -99.137252}, {"type": "node", "id": 5122446478, "lat": 19.4358496, "lon": -99.1370604}, {"type": "node", "id": 5122446479, "lat": 19.4358586, "lon": -99.1371397}, {"type": "node", "id": 5122446480, "lat": 19.4356423, "lon": -99.1371674}, {"type": "node", "id": 5122471127, "lat": 19.4360134, "lon": -99.1368897}, {"type": "node", "id": 5122471129, "lat": 19.4360198, "lon": -99.137226}, {"type": "node", "id": 5122761439, "lat": 19.4361236, "lon": -99.1378868}, {"type": "node", "id": 5122761440, "lat": 19.4361065, "lon": -99.1377578}, {"type": "node", "id": 5122761601, "lat": 19.4362093, "lon": -99.1362902}, {"type": "node", "id": 5122761602, "lat": 19.436195, "lon": -99.1361871}, {"type": "node", "id": 5122761603, "lat": 19.4361098, "lon": -99.1362004}, {"type": "node", "id": 5122761604, "lat": 19.4361223, "lon": -99.1362903}, {"type": "node", "id": 5122761607, "lat": 19.4360203, "lon": -99.1369394}, {"type": "node", "id": 5122761608, "lat": 19.4359792, "lon": -99.136946}, {"type": "node", "id": 5122761609, "lat": 19.4359852, "lon": -99.1369889}, {"type": "node", "id": 5122761610, "lat": 19.4360257, "lon": -99.1369824}, {"type": "node", "id": 5126168713, "lat": 19.4358371, "lon": -99.1371885}, {"type": "node", "id": 5126168714, "lat": 19.4358319, "lon": -99.1371431}, {"type": "node", "id": 5140311361, "lat": 19.4346941, "lon": -99.1343235}, {"type": "node", "id": 5140311365, "lat": 19.434578, "lon": -99.1348005}, {"type": "node", "id": 5140311366, "lat": 19.4345083, "lon": -99.1348102}, {"type": "node", "id": 5140350995, "lat": 19.4333573, "lon": -99.135084}, {"type": "node", "id": 5140350996, "lat": 19.4335288, "lon": -99.1350621}, {"type": "node", "id": 5140350997, "lat": 19.4335225, "lon": -99.1349897}, {"type": "node", "id": 5140350998, "lat": 19.4338773, "lon": -99.1349462}, {"type": "node", "id": 5140350999, "lat": 19.4338686, "lon": -99.1348871}, {"type": "node", "id": 5140351000, "lat": 19.4338939, "lon": -99.1350593}, {"type": "node", "id": 5140351001, "lat": 19.4335521, "lon": -99.1344765}, {"type": "node", "id": 5140351002, "lat": 19.4335606, "lon": -99.1345501}, {"type": "node", "id": 5140351003, "lat": 19.4335023, "lon": -99.1345577}, {"type": "node", "id": 5140351004, "lat": 19.4335085, "lon": -99.1346109}, {"type": "node", "id": 5140351005, "lat": 19.4332947, "lon": -99.1346385}, {"type": "node", "id": 5140351006, "lat": 19.4337476, "lon": -99.1344499}, {"type": "node", "id": 5140351007, "lat": 19.4337507, "lon": -99.1344794}, {"type": "node", "id": 5140351008, "lat": 19.4336842, "lon": -99.1344567}, {"type": "node", "id": 5140351009, "lat": 19.4335032, "lon": -99.1341989}, {"type": "node", "id": 5140351010, "lat": 19.4335262, "lon": -99.1343996}, {"type": "node", "id": 5140351011, "lat": 19.4336669, "lon": -99.1343718}, {"type": "node", "id": 5140351012, "lat": 19.4339775, "lon": -99.1348722}, {"type": "node", "id": 5140351013, "lat": 19.4333398, "lon": -99.1349594}, {"type": "node", "id": 5140351014, "lat": 19.4333108, "lon": -99.1347531}, {"type": "node", "id": 5140351015, "lat": 19.4339992, "lon": -99.1350433}, {"type": "node", "id": 5140351016, "lat": 19.4333651, "lon": -99.1351393}, {"type": "node", "id": 5140351017, "lat": 19.4334056, "lon": -99.135427}, {"type": "node", "id": 5140351018, "lat": 19.4336011, "lon": -99.1353957}, {"type": "node", "id": 5140351019, "lat": 19.4334277, "lon": -99.1355849}, {"type": "node", "id": 5140351020, "lat": 19.4336197, "lon": -99.1355532}, {"type": "node", "id": 5140366621, "lat": 19.4336262, "lon": -99.135616}, {"type": "node", "id": 5140366624, "lat": 19.4337956, "lon": -99.1356688}, {"type": "node", "id": 5140366627, "lat": 19.433787, "lon": -99.1359294}, {"type": "node", "id": 5140366628, "lat": 19.4337968, "lon": -99.1360128}, {"type": "node", "id": 5140366629, "lat": 19.4337645, "lon": -99.1360171}, {"type": "node", "id": 5140366630, "lat": 19.4340844, "lon": -99.1357735}, {"type": "node", "id": 5140366631, "lat": 19.4338609, "lon": -99.1358029}, {"type": "node", "id": 5140366632, "lat": 19.433884, "lon": -99.1357999}, {"type": "node", "id": 5140366633, "lat": 19.4339317, "lon": -99.1359957}, {"type": "node", "id": 5140366634, "lat": 19.4339631, "lon": -99.1359917}, {"type": "node", "id": 5140366635, "lat": 19.4340686, "lon": -99.1356344}, {"type": "node", "id": 5140366636, "lat": 19.4338677, "lon": -99.1356598}, {"type": "node", "id": 5842051975, "lat": 19.430924, "lon": -99.1318187}, {"type": "node", "id": 5842051976, "lat": 19.4310404, "lon": -99.1318005}, {"type": "node", "id": 5842051977, "lat": 19.4310688, "lon": -99.1320043}, {"type": "node", "id": 5842051978, "lat": 19.4309524, "lon": -99.1320225}, {"type": "node", "id": 5842051979, "lat": 19.4312622, "lon": -99.1317754}, {"type": "node", "id": 5842051980, "lat": 19.4313518, "lon": -99.1317621}, {"type": "node", "id": 5842051981, "lat": 19.4313787, "lon": -99.1319661}, {"type": "node", "id": 5842051982, "lat": 19.4312891, "lon": -99.1319793}, {"type": "node", "id": 5842051983, "lat": 19.4313357, "lon": -99.1315808}, {"type": "node", "id": 5842051984, "lat": 19.431309, "lon": -99.1313623}, {"type": "node", "id": 5842052285, "lat": 19.4311534, "lon": -99.1313836}, {"type": "node", "id": 5842052286, "lat": 19.4311801, "lon": -99.1316022}, {"type": "node", "id": 5842052287, "lat": 19.4310631, "lon": -99.1316132}, {"type": "node", "id": 5842052288, "lat": 19.4310365, "lon": -99.1313946}, {"type": "node", "id": 5842052289, "lat": 19.4308809, "lon": -99.131416}, {"type": "node", "id": 5842052290, "lat": 19.4309075, "lon": -99.1316345}, {"type": "node", "id": 5868903155, "lat": 19.43254, "lon": -99.1318452}, {"type": "node", "id": 5868903156, "lat": 19.4325546, "lon": -99.1320061}, {"type": "node", "id": 6614345398, "lat": 19.4328628, "lon": -99.1362926, "tags": {"entrance": "main"}}, {"type": "node", "id": 8034160169, "lat": 19.4338134, "lon": -99.133381}, {"type": "node", "id": 8034160170, "lat": 19.4338146, "lon": -99.1333903}, {"type": "node", "id": 8034187660, "lat": 19.4337838, "lon": -99.1329689}, {"type": "node", "id": 8034187670, "lat": 19.433837, "lon": -99.1328454}, {"type": "node", "id": 8034187676, "lat": 19.4337467, "lon": -99.1328579}, {"type": "node", "id": 8034187677, "lat": 19.4337608, "lon": -99.1329721}, {"type": "node", "id": 8034187679, "lat": 19.4338211, "lon": -99.1334412}, {"type": "node", "id": 8034246385, "lat": 19.4341089, "lon": -99.132357}, {"type": "node", "id": 8034246386, "lat": 19.4341136, "lon": -99.1323929}, {"type": "node", "id": 8034246393, "lat": 19.4338051, "lon": -99.1329932}, {"type": "node", "id": 8034246394, "lat": 19.4338105, "lon": -99.133037}, {"type": "node", "id": 8034246395, "lat": 19.4348731, "lon": -99.1331698}, {"type": "node", "id": 8034246396, "lat": 19.4349086, "lon": -99.1331522}, {"type": "node", "id": 8034246397, "lat": 19.434917, "lon": -99.133151}, {"type": "node", "id": 8034246398, "lat": 19.4349178, "lon": -99.1331573}, {"type": "node", "id": 8034246399, "lat": 19.4349323, "lon": -99.1331552}, {"type": "node", "id": 8034246400, "lat": 19.4350135, "lon": -99.133192}, {"type": "node", "id": 8034246401, "lat": 19.4350253, "lon": -99.1332843}, {"type": "node", "id": 8034246402, "lat": 19.4344389, "lon": -99.1333304}, {"type": "node", "id": 8034246404, "lat": 19.4337921, "lon": -99.133035}, {"type": "node", "id": 8034246409, "lat": 19.4337298, "lon": -99.1327149}, {"type": "node", "id": 8034246410, "lat": 19.4337264, "lon": -99.1327123}, {"type": "node", "id": 8034246414, "lat": 19.4337031, "lon": -99.13257}, {"type": "node", "id": 8034246415, "lat": 19.4336981, "lon": -99.1325627}, {"type": "node", "id": 8034246416, "lat": 19.4336969, "lon": -99.1325531}, {"type": "node", "id": 8034246417, "lat": 19.4337048, "lon": -99.1325256}, {"type": "node", "id": 8034246418, "lat": 19.4338235, "lon": -99.1323797}, {"type": "node", "id": 8034246419, "lat": 19.4338327, "lon": -99.1323865}, {"type": "node", "id": 8034246420, "lat": 19.4338631, "lon": -99.1323735}, {"type": "node", "id": 8034246421, "lat": 19.4340839, "lon": -99.1323529}, {"type": "node", "id": 8034246422, "lat": 19.4341155, "lon": -99.132347}, {"type": "node", "id": 8034246485, "lat": 19.4341112, "lon": -99.1323759}, {"type": "node", "id": 8034246486, "lat": 19.4341144, "lon": -99.1323928}, {"type": "node", "id": 8034246487, "lat": 19.4341166, "lon": -99.132411}, {"type": "node", "id": 8034246488, "lat": 19.4341244, "lon": -99.13241}, {"type": "node", "id": 8034246489, "lat": 19.4341267, "lon": -99.1324289}, {"type": "node", "id": 8034246493, "lat": 19.4341325, "lon": -99.1324892}, {"type": "node", "id": 8034246494, "lat": 19.4341383, "lon": -99.1324884}, {"type": "node", "id": 8034246495, "lat": 19.4341408, "lon": -99.1325089}, {"type": "node", "id": 8034246496, "lat": 19.4341359, "lon": -99.1325096}, {"type": "node", "id": 8034246497, "lat": 19.4343692, "lon": -99.1327933}, {"type": "node", "id": 8034246498, "lat": 19.4345702, "lon": -99.1327451}, {"type": "node", "id": 8034246499, "lat": 19.4345808, "lon": -99.1327352}, {"type": "node", "id": 8034246502, "lat": 19.4348534, "lon": -99.1329073}, {"type": "node", "id": 8034246504, "lat": 19.4338004, "lon": -99.1330384}, {"type": "node", "id": 8034246505, "lat": 19.4337998, "lon": -99.1330339}, {"type": "node", "id": 8034246506, "lat": 19.4348626, "lon": -99.1330833}, {"type": "node", "id": 8034246508, "lat": 19.4349886, "lon": -99.1331405}, {"type": "node", "id": 8034246509, "lat": 19.4349981, "lon": -99.1331391}, {"type": "node", "id": 8034246510, "lat": 19.4349988, "lon": -99.1331447}, {"type": "node", "id": 8034246511, "lat": 19.4350085, "lon": -99.1331559}, {"type": "node", "id": 8034246512, "lat": 19.4350078, "lon": -99.1332059}, {"type": "node", "id": 8034246513, "lat": 19.4350164, "lon": -99.1332719}, {"type": "node", "id": 8034246514, "lat": 19.4350177, "lon": -99.1332853}, {"type": "node", "id": 8034246517, "lat": 19.4339959, "lon": -99.1334161}, {"type": "node", "id": 8034246524, "lat": 19.4338068, "lon": -99.1333288}, {"type": "node", "id": 8034246525, "lat": 19.4338214, "lon": -99.1332608}, {"type": "node", "id": 8034246526, "lat": 19.4337978, "lon": -99.133234}, {"type": "node", "id": 8034246527, "lat": 19.4337956, "lon": -99.1332167}, {"type": "node", "id": 8034246528, "lat": 19.4338157, "lon": -99.1332138}, {"type": "node", "id": 8034246530, "lat": 19.4337983, "lon": -99.1330825}, {"type": "node", "id": 8034246531, "lat": 19.4337776, "lon": -99.1330854}, {"type": "node", "id": 8034246532, "lat": 19.4337753, "lon": -99.1330665}, {"type": "node", "id": 8034246533, "lat": 19.4337872, "lon": -99.1329957}, {"type": "node", "id": 8034246535, "lat": 19.4337538, "lon": -99.1329154}, {"type": "node", "id": 8034246546, "lat": 19.4337528, "lon": -99.1329068}, {"type": "node", "id": 8034246548, "lat": 19.4337399, "lon": -99.1328588}, {"type": "node", "id": 8034246549, "lat": 19.4337384, "lon": -99.1328471}, {"type": "node", "id": 8034246550, "lat": 19.4337412, "lon": -99.1328468}, {"type": "node", "id": 8034246551, "lat": 19.4337345, "lon": -99.1327918}, {"type": "node", "id": 8034246552, "lat": 19.4337305, "lon": -99.1327817}, {"type": "node", "id": 8034246553, "lat": 19.4337348, "lon": -99.1327561}, {"type": "node", "id": 8034246554, "lat": 19.4337327, "lon": -99.1327372}, {"type": "node", "id": 8034246555, "lat": 19.4337268, "lon": -99.1327154}, {"type": "node", "id": 8034246556, "lat": 19.4337169, "lon": -99.1327038}, {"type": "node", "id": 8034246557, "lat": 19.4337249, "lon": -99.1327028}, {"type": "node", "id": 8034246558, "lat": 19.4337195, "lon": -99.1326624}, {"type": "node", "id": 8034246559, "lat": 19.4337099, "lon": -99.1325933}, {"type": "node", "id": 8034246560, "lat": 19.4337081, "lon": -99.1325781}, {"type": "node", "id": 8034246561, "lat": 19.4337042, "lon": -99.1325787}, {"type": "node", "id": 8034246563, "lat": 19.4337042, "lon": -99.132552}, {"type": "node", "id": 8034246564, "lat": 19.4337038, "lon": -99.1325487}, {"type": "node", "id": 8034246565, "lat": 19.4337077, "lon": -99.1325482}, {"type": "node", "id": 8034246566, "lat": 19.4337026, "lon": -99.1325063}, {"type": "node", "id": 8034246567, "lat": 19.4336905, "lon": -99.1324732}, {"type": "node", "id": 8034246568, "lat": 19.4336903, "lon": -99.1324551}, {"type": "node", "id": 8034246574, "lat": 19.4337451, "lon": -99.1324005}, {"type": "node", "id": 8034246575, "lat": 19.4337556, "lon": -99.1323965}, {"type": "node", "id": 8034246576, "lat": 19.4337559, "lon": -99.1323983}, {"type": "node", "id": 8034246577, "lat": 19.4338248, "lon": -99.1323888}, {"type": "node", "id": 8034246578, "lat": 19.43384, "lon": -99.1323855}, {"type": "node", "id": 8034246579, "lat": 19.4338391, "lon": -99.1323779}, {"type": "node", "id": 8034246580, "lat": 19.4338476, "lon": -99.1323766}, {"type": "node", "id": 8034246581, "lat": 19.4338486, "lon": -99.1323849}, {"type": "node", "id": 8034246582, "lat": 19.4338642, "lon": -99.1323826}, {"type": "node", "id": 8034246583, "lat": 19.4338679, "lon": -99.1323728}, {"type": "node", "id": 8034246584, "lat": 19.4338745, "lon": -99.1323812}, {"type": "node", "id": 8034246586, "lat": 19.4341514, "lon": -99.1326293}, {"type": "node", "id": 8034246587, "lat": 19.4343259, "lon": -99.1327989}, {"type": "node", "id": 8034246588, "lat": 19.4344931, "lon": -99.1327767}, {"type": "node", "id": 8034246589, "lat": 19.4344919, "lon": -99.1327673}, {"type": "node", "id": 8034246590, "lat": 19.4345716, "lon": -99.1327566}, {"type": "node", "id": 8034246591, "lat": 19.4345818, "lon": -99.1327435}, {"type": "node", "id": 8034246592, "lat": 19.4346916, "lon": -99.1327208}, {"type": "node", "id": 8034246593, "lat": 19.4348397, "lon": -99.1329093}, {"type": "node", "id": 8034246594, "lat": 19.4338039, "lon": -99.1331279}, {"type": "node", "id": 8034246595, "lat": 19.4348766, "lon": -99.1330813}, {"type": "node", "id": 8034246596, "lat": 19.4348884, "lon": -99.1331676}, {"type": "node", "id": 8034246597, "lat": 19.4349013, "lon": -99.1331596}, {"type": "node", "id": 8034246598, "lat": 19.4349094, "lon": -99.1331584}, {"type": "node", "id": 8034246599, "lat": 19.4349895, "lon": -99.1331471}, {"type": "node", "id": 8034246600, "lat": 19.435007, "lon": -99.1331436}, {"type": "node", "id": 8034246601, "lat": 19.4350151, "lon": -99.1332049}, {"type": "node", "id": 8034246602, "lat": 19.4350107, "lon": -99.1332291}, {"type": "node", "id": 8034246603, "lat": 19.4350179, "lon": -99.1332281}, {"type": "node", "id": 8034246604, "lat": 19.4350197, "lon": -99.1332431}, {"type": "node", "id": 8034246605, "lat": 19.4350236, "lon": -99.1333322}, {"type": "node", "id": 8034246606, "lat": 19.435028, "lon": -99.1333315}, {"type": "node", "id": 8034246609, "lat": 19.4338207, "lon": -99.1334384}, {"type": "node", "id": 8034246612, "lat": 19.4338177, "lon": -99.1332311}, {"type": "node", "id": 8034246613, "lat": 19.4337956, "lon": -99.1330637}, {"type": "node", "id": 8034246616, "lat": 19.4337318, "lon": -99.1327923}, {"type": "node", "id": 8034246617, "lat": 19.4337382, "lon": -99.1327806}, {"type": "node", "id": 8034246618, "lat": 19.4337181, "lon": -99.1327137}, {"type": "node", "id": 8034246619, "lat": 19.4337195, "lon": -99.1326952}, {"type": "node", "id": 8034246621, "lat": 19.433716, "lon": -99.1326715}, {"type": "node", "id": 8034246622, "lat": 19.433715, "lon": -99.132663}, {"type": "node", "id": 8034246623, "lat": 19.4337071, "lon": -99.132603}, {"type": "node", "id": 8034246624, "lat": 19.433706, "lon": -99.1325938}, {"type": "node", "id": 8034246625, "lat": 19.4336918, "lon": -99.1324833}, {"type": "node", "id": 8034246626, "lat": 19.4336927, "lon": -99.1324729}, {"type": "node", "id": 8034246630, "lat": 19.4337307, "lon": -99.1324026}, {"type": "node", "id": 8034246631, "lat": 19.4337448, "lon": -99.1323981}, {"type": "node", "id": 8034246633, "lat": 19.4338003, "lon": -99.1323923}, {"type": "node", "id": 8034246634, "lat": 19.433869, "lon": -99.132382}, {"type": "node", "id": 8034246635, "lat": 19.4339251, "lon": -99.1323673}, {"type": "node", "id": 8034246636, "lat": 19.4339532, "lon": -99.1323636}, {"type": "node", "id": 8034246637, "lat": 19.4339614, "lon": -99.1323706}, {"type": "node", "id": 8034246638, "lat": 19.4339699, "lon": -99.1323605}, {"type": "node", "id": 8034246639, "lat": 19.4339709, "lon": -99.1323685}, {"type": "node", "id": 8034246640, "lat": 19.4340444, "lon": -99.1323537}, {"type": "node", "id": 8034246641, "lat": 19.434045, "lon": -99.132358}, {"type": "node", "id": 8034246687, "lat": 19.4349021, "lon": -99.1331656}, {"type": "node", "id": 8034246688, "lat": 19.4350129, "lon": -99.133244}, {"type": "node", "id": 8034246689, "lat": 19.4350236, "lon": -99.1332709}, {"type": "node", "id": 8034246692, "lat": 19.4338285, "lon": -99.1333257}, {"type": "node", "id": 8034246693, "lat": 19.4338037, "lon": -99.1331265}, {"type": "node", "id": 8034246694, "lat": 19.4337238, "lon": -99.1326946}, {"type": "node", "id": 8034246695, "lat": 19.4337071, "lon": -99.1325694}, {"type": "node", "id": 8034246696, "lat": 19.4336996, "lon": -99.1324822}, {"type": "node", "id": 8034246697, "lat": 19.4338317, "lon": -99.1323786}, {"type": "node", "id": 8034246698, "lat": 19.4341063, "lon": -99.1323405}, {"type": "node", "id": 8034246886, "lat": 19.4343938, "lon": -99.1333369}, {"type": "node", "id": 8034246887, "lat": 19.4338252, "lon": -99.1333}, {"type": "node", "id": 8034246889, "lat": 19.4339464, "lon": -99.1323726}, {"type": "node", "id": 8034247285, "lat": 19.4339193, "lon": -99.1323757}, {"type": "node", "id": 8034247286, "lat": 19.433926, "lon": -99.1323748}, {"type": "node", "id": 8034247287, "lat": 19.4339302, "lon": -99.1323666}, {"type": "node", "id": 8034247288, "lat": 19.4339312, "lon": -99.1323747}, {"type": "node", "id": 8034247289, "lat": 19.4339454, "lon": -99.1323647}, {"type": "node", "id": 8034247290, "lat": 19.4339541, "lon": -99.1323716}, {"type": "node", "id": 8034247291, "lat": 19.4339604, "lon": -99.132362}, {"type": "node", "id": 8034247292, "lat": 19.4339939, "lon": -99.1323654}, {"type": "node", "id": 8034247293, "lat": 19.4340144, "lon": -99.1323628}, {"type": "node", "id": 8034247294, "lat": 19.4340347, "lon": -99.13236}, {"type": "node", "id": 8034247295, "lat": 19.4340341, "lon": -99.1323551}, {"type": "node", "id": 8034247297, "lat": 19.4341011, "lon": -99.1323506}, {"type": "node", "id": 8034247298, "lat": 19.4340999, "lon": -99.1323413}, {"type": "node", "id": 8034247299, "lat": 19.4341072, "lon": -99.1323482}, {"type": "node", "id": 8034247300, "lat": 19.4341166, "lon": -99.132356}, {"type": "node", "id": 8034259486, "lat": 19.4339203, "lon": -99.133427}, {"type": "node", "id": 8034266585, "lat": 19.4349159, "lon": -99.1330368}, {"type": "node", "id": 8034266685, "lat": 19.4348754, "lon": -99.1330722}, {"type": "node", "id": 8034277585, "lat": 19.4337391, "lon": -99.1328299}, {"type": "node", "id": 8034277586, "lat": 19.4337445, "lon": -99.1328291}, {"type": "node", "id": 8034277587, "lat": 19.4337368, "lon": -99.1328103}, {"type": "node", "id": 8034277588, "lat": 19.4337189, "lon": -99.1326586}, {"type": "node", "id": 8034277589, "lat": 19.4337305, "lon": -99.132657}, {"type": "node", "id": 8034277590, "lat": 19.4337856, "lon": -99.1324018}, {"type": "node", "id": 8034277591, "lat": 19.4341533, "lon": -99.1326875}, {"type": "node", "id": 8034277592, "lat": 19.434173, "lon": -99.1327978}, {"type": "node", "id": 8034277594, "lat": 19.4343705, "lon": -99.1328046}, {"type": "node", "id": 8034277595, "lat": 19.4346931, "lon": -99.132734}, {"type": "node", "id": 8034277596, "lat": 19.4348123, "lon": -99.1327045}, {"type": "node", "id": 8034277597, "lat": 19.4348339, "lon": -99.1328826}, {"type": "node", "id": 8034277598, "lat": 19.4348545, "lon": -99.1329165}, {"type": "node", "id": 8034277599, "lat": 19.4349109, "lon": -99.1329294}, {"type": "node", "id": 8034277600, "lat": 19.4348586, "lon": -99.1331475}, {"type": "node", "id": 8034277601, "lat": 19.4350401, "lon": -99.1334273}, {"type": "node", "id": 8034277602, "lat": 19.4341907, "lon": -99.1334406}, {"type": "node", "id": 8034277603, "lat": 19.433817, "lon": -99.1331676}, {"type": "node", "id": 8034277604, "lat": 19.4338274, "lon": -99.13317}, {"type": "node", "id": 8034277605, "lat": 19.4338121, "lon": -99.1331268}, {"type": "node", "id": 8034277685, "lat": 19.4337421, "lon": -99.1328096}, {"type": "node", "id": 8034277686, "lat": 19.4337049, "lon": -99.132506}, {"type": "node", "id": 8034277688, "lat": 19.434123, "lon": -99.1324545}, {"type": "node", "id": 8034277689, "lat": 19.4341356, "lon": -99.1325646}, {"type": "node", "id": 8034277690, "lat": 19.434137, "lon": -99.1325764}, {"type": "node", "id": 8034277691, "lat": 19.4341596, "lon": -99.1326491}, {"type": "node", "id": 8034277692, "lat": 19.4341506, "lon": -99.1326878}, {"type": "node", "id": 8034277693, "lat": 19.4341642, "lon": -99.1327095}, {"type": "node", "id": 8034277694, "lat": 19.4341666, "lon": -99.1327299}, {"type": "node", "id": 8034277695, "lat": 19.4346577, "lon": -99.1327248}, {"type": "node", "id": 8034277696, "lat": 19.4346593, "lon": -99.1327386}, {"type": "node", "id": 8034277697, "lat": 19.4348267, "lon": -99.1326851}, {"type": "node", "id": 8034277698, "lat": 19.4348283, "lon": -99.1328236}, {"type": "node", "id": 8034277699, "lat": 19.4348346, "lon": -99.1328886}, {"type": "node", "id": 8034277700, "lat": 19.4348371, "lon": -99.1328882}, {"type": "node", "id": 8034277701, "lat": 19.4349157, "lon": -99.1329563}, {"type": "node", "id": 8034277702, "lat": 19.434863, "lon": -99.1331056}, {"type": "node", "id": 8034277703, "lat": 19.434868, "lon": -99.1331508}, {"type": "node", "id": 8034277704, "lat": 19.4345829, "lon": -99.1334217}, {"type": "node", "id": 8034277706, "lat": 19.4338445, "lon": -99.1332973}, {"type": "node", "id": 8034279585, "lat": 19.4337374, "lon": -99.1327557}, {"type": "node", "id": 8034279586, "lat": 19.4337349, "lon": -99.1327369}, {"type": "node", "id": 8034279587, "lat": 19.4337117, "lon": -99.1326065}, {"type": "node", "id": 8034279588, "lat": 19.4337113, "lon": -99.1326024}, {"type": "node", "id": 8034279590, "lat": 19.4337313, "lon": -99.1324068}, {"type": "node", "id": 8034279591, "lat": 19.4337846, "lon": -99.1323941}, {"type": "node", "id": 8034279592, "lat": 19.4338012, "lon": -99.1323996}, {"type": "node", "id": 8034279593, "lat": 19.4338755, "lon": -99.1323895}, {"type": "node", "id": 8034279594, "lat": 19.4341085, "lon": -99.1323776}, {"type": "node", "id": 8034279595, "lat": 19.43412, "lon": -99.1324298}, {"type": "node", "id": 8034279596, "lat": 19.43413, "lon": -99.1324687}, {"type": "node", "id": 8034279597, "lat": 19.4341448, "lon": -99.1325753}, {"type": "node", "id": 8034279598, "lat": 19.4341489, "lon": -99.1326732}, {"type": "node", "id": 8034279599, "lat": 19.4341561, "lon": -99.1327106}, {"type": "node", "id": 8034279600, "lat": 19.4341694, "lon": -99.1327529}, {"type": "node", "id": 8034279601, "lat": 19.4341688, "lon": -99.1327614}, {"type": "node", "id": 8034279602, "lat": 19.4341715, "lon": -99.1327833}, {"type": "node", "id": 8034279603, "lat": 19.4341668, "lon": -99.1327839}, {"type": "node", "id": 8034279605, "lat": 19.4348298, "lon": -99.1327139}, {"type": "node", "id": 8034279606, "lat": 19.4348288, "lon": -99.1328482}, {"type": "node", "id": 8034279607, "lat": 19.4348196, "lon": -99.1328496}, {"type": "node", "id": 8034279608, "lat": 19.4345822, "lon": -99.1334926}, {"type": "node", "id": 8034279609, "lat": 19.4345689, "lon": -99.1333887}, {"type": "node", "id": 8034279610, "lat": 19.4345593, "lon": -99.1333131}, {"type": "node", "id": 8034279611, "lat": 19.4338294, "lon": -99.1332559}, {"type": "node", "id": 8034279612, "lat": 19.43381, "lon": -99.1331686}, {"type": "node", "id": 8034279613, "lat": 19.4338174, "lon": -99.1331714}, {"type": "node", "id": 8034279614, "lat": 19.4338117, "lon": -99.1331234}, {"type": "node", "id": 8034279685, "lat": 19.4337238, "lon": -99.1326049}, {"type": "node", "id": 8034279686, "lat": 19.4336929, "lon": -99.1324547}, {"type": "node", "id": 8034279687, "lat": 19.4341587, "lon": -99.132731}, {"type": "node", "id": 8034279688, "lat": 19.4348239, "lon": -99.132884}, {"type": "node", "id": 8034279689, "lat": 19.4349035, "lon": -99.1329396}, {"type": "node", "id": 8034279690, "lat": 19.4349251, "lon": -99.1330441}, {"type": "node", "id": 8034279691, "lat": 19.4348655, "lon": -99.1331052}, {"type": "node", "id": 8034279786, "lat": 19.4339203, "lon": -99.1323834}, {"type": "node", "id": 8034279787, "lat": 19.4339945, "lon": -99.1323699}, {"type": "node", "id": 8034279789, "lat": 19.4340651, "lon": -99.1323594}, {"type": "node", "id": 8034279790, "lat": 19.4341113, "lon": -99.1323772}, {"type": "node", "id": 8034279791, "lat": 19.4341104, "lon": -99.1323933}, {"type": "node", "id": 8034279792, "lat": 19.4341202, "lon": -99.13247}, {"type": "node", "id": 8034279793, "lat": 19.4341572, "lon": -99.1326295}, {"type": "node", "id": 8034279794, "lat": 19.4341596, "lon": -99.1327386}, {"type": "node", "id": 8034279795, "lat": 19.4341615, "lon": -99.132754}, {"type": "node", "id": 8034279796, "lat": 19.4341685, "lon": -99.1327984}, {"type": "node", "id": 8034279797, "lat": 19.4343273, "lon": -99.1328104}, {"type": "node", "id": 8034279798, "lat": 19.4348435, "lon": -99.1328214}, {"type": "node", "id": 8034279799, "lat": 19.4348306, "lon": -99.1328417}, {"type": "node", "id": 8034279800, "lat": 19.4348281, "lon": -99.1328421}, {"type": "node", "id": 8034279801, "lat": 19.4349262, "lon": -99.132942}, {"type": "node", "id": 8034279802, "lat": 19.4349157, "lon": -99.1330368}, {"type": "node", "id": 8034279803, "lat": 19.4348542, "lon": -99.1331135}, {"type": "node", "id": 8034279804, "lat": 19.4348674, "lon": -99.1331462}, {"type": "node", "id": 8034279805, "lat": 19.4348706, "lon": -99.1331504}, {"type": "node", "id": 8034279806, "lat": 19.4345734, "lon": -99.1334231}, {"type": "node", "id": 8034279807, "lat": 19.4345786, "lon": -99.1333873}, {"type": "node", "id": 8034279808, "lat": 19.433839, "lon": -99.1332545}, {"type": "node", "id": 8034279809, "lat": 19.43383, "lon": -99.1332605}, {"type": "node", "id": 8034279810, "lat": 19.4338215, "lon": -99.1332617}, {"type": "node", "id": 8034279811, "lat": 19.4338214, "lon": -99.1331221}, {"type": "node", "id": 8034279885, "lat": 19.4340844, "lon": -99.1323568}, {"type": "node", "id": 8034279886, "lat": 19.4341184, "lon": -99.1324551}, {"type": "node", "id": 8034279887, "lat": 19.4341424, "lon": -99.1325637}, {"type": "node", "id": 8034279888, "lat": 19.4341548, "lon": -99.1326497}, {"type": "node", "id": 8034279889, "lat": 19.4341704, "lon": -99.1327612}, {"type": "node", "id": 8034279890, "lat": 19.4348418, "lon": -99.1326977}, {"type": "node", "id": 8034279891, "lat": 19.4349229, "lon": -99.1330166}, {"type": "node", "id": 8034279985, "lat": 19.4341515, "lon": -99.1326303}, {"type": "node", "id": 8034280085, "lat": 19.4341575, "lon": -99.132672}, {"type": "node", "id": 8034280086, "lat": 19.4349367, "lon": -99.1330276}, {"type": "node", "id": 8034280087, "lat": 19.4348639, "lon": -99.1331121}, {"type": "node", "id": 8034309295, "lat": 19.4349759, "lon": -99.1331491}, {"type": "node", "id": 8034425407, "lat": 19.433738, "lon": -99.1327804}, {"type": "node", "id": 8034425552, "lat": 19.4337344, "lon": -99.1327919}, {"type": "node", "id": 8034426632, "lat": 19.4343956, "lon": -99.1333366}, {"type": "node", "id": 8034514087, "lat": 19.4339277, "lon": -99.1328578}, {"type": "node", "id": 8034514194, "lat": 19.4339509, "lon": -99.1328546}, {"type": "node", "id": 8034525117, "lat": 19.434282, "lon": -99.1326651}, {"type": "node", "id": 8034525118, "lat": 19.4342388, "lon": -99.1323325}, {"type": "node", "id": 8034525119, "lat": 19.4343446, "lon": -99.132317}, {"type": "node", "id": 8034525120, "lat": 19.4343879, "lon": -99.1326496}, {"type": "node", "id": 8034783185, "lat": 19.4346765, "lon": -99.1327363, "tags": {"door": "yes", "entrance": "service", "level": "1", "width": "4"}}, {"type": "node", "id": 8034783385, "lat": 19.4343484, "lon": -99.1328076, "tags": {"access": "no", "door": "yes", "entrance": "service", "level": "1", "width": "5"}}, {"type": "node", "id": 8038203693, "lat": 19.4349249, "lon": -99.1332866}, {"type": "node", "id": 8038219314, "lat": 19.4349538, "lon": -99.1331522, "tags": {"door": "hinged", "entrance": "main", "level": "1", "width": "5"}}, {"type": "node", "id": 8038219317, "lat": 19.4349022, "lon": -99.1332751}, {"type": "node", "id": 8038219318, "lat": 19.4349187, "lon": -99.1332875}, {"type": "node", "id": 8038219320, "lat": 19.4349211, "lon": -99.1332571}, {"type": "node", "id": 8038219321, "lat": 19.4349146, "lon": -99.133258}, {"type": "node", "id": 8038219323, "lat": 19.4349199, "lon": -99.1332455}, {"type": "node", "id": 8038219324, "lat": 19.4349166, "lon": -99.1332202}, {"type": "node", "id": 8038219325, "lat": 19.434908, "lon": -99.133209}, {"type": "node", "id": 8038219327, "lat": 19.4349109, "lon": -99.1331707}, {"type": "node", "id": 8038219328, "lat": 19.4349029, "lon": -99.1331719}, {"type": "node", "id": 8038219340, "lat": 19.4349176, "lon": -99.1332867}, {"type": "node", "id": 8038219499, "lat": 19.4349131, "lon": -99.1332465}, {"type": "node", "id": 8038219500, "lat": 19.4349096, "lon": -99.1332212}, {"type": "node", "id": 8038219501, "lat": 19.435002, "lon": -99.1331568}, {"type": "node", "id": 8038219502, "lat": 19.4350065, "lon": -99.133193}, {"type": "node", "id": 8038219888, "lat": 19.4349157, "lon": -99.1332079}, {"type": "node", "id": 8038260986, "lat": 19.4341696, "lon": -99.1328195}, {"type": "node", "id": 8038260993, "lat": 19.4339082, "lon": -99.1328551}, {"type": "node", "id": 8038260994, "lat": 19.4338111, "lon": -99.1328489}, {"type": "node", "id": 8038260995, "lat": 19.4338192, "lon": -99.1328478}, {"type": "node", "id": 8038261093, "lat": 19.4341186, "lon": -99.1328264}, {"type": "node", "id": 8038261097, "lat": 19.4340316, "lon": -99.1328393}, {"type": "node", "id": 8038261098, "lat": 19.4340547, "lon": -99.1328396}, {"type": "node", "id": 8038261103, "lat": 19.4339036, "lon": -99.1328476}, {"type": "node", "id": 8038261104, "lat": 19.4339072, "lon": -99.1328471}, {"type": "node", "id": 8038261105, "lat": 19.4339234, "lon": -99.132853}, {"type": "node", "id": 8038261106, "lat": 19.4337678, "lon": -99.132855}, {"type": "node", "id": 8038272988, "lat": 19.4340543, "lon": -99.1328362}, {"type": "node", "id": 8038273087, "lat": 19.4340957, "lon": -99.1328295}, {"type": "node", "id": 8038273090, "lat": 19.4340757, "lon": -99.1328367}, {"type": "node", "id": 8038273091, "lat": 19.4340065, "lon": -99.1328388}, {"type": "node", "id": 8038273101, "lat": 19.4338582, "lon": -99.1328425}, {"type": "node", "id": 8038273104, "lat": 19.433924, "lon": -99.1328583}, {"type": "node", "id": 8038273106, "lat": 19.4339552, "lon": -99.1328457}, {"type": "node", "id": 8038273285, "lat": 19.4340752, "lon": -99.1328323}, {"type": "node", "id": 8038273486, "lat": 19.4339023, "lon": -99.1328366}, {"type": "node", "id": 8038282985, "lat": 19.4340311, "lon": -99.1328355}, {"type": "node", "id": 8038351454, "lat": 19.4341756, "lon": -99.1328187}, {"type": "node", "id": 8038351455, "lat": 19.4341051, "lon": -99.1328282}, {"type": "node", "id": 8038351456, "lat": 19.4339562, "lon": -99.1328539}, {"type": "node", "id": 8038417202, "lat": 19.4341052, "lon": -99.1328282}, {"type": "node", "id": 8038417203, "lat": 19.4338193, "lon": -99.1328478}, {"type": "node", "id": 8038489685, "lat": 19.4337269, "lon": -99.1326315, "tags": {"automatic_door": "no", "door": "hinged", "entrance": "main", "level": "0", "wheelchair": "yes", "width": "5"}}, {"type": "node", "id": 8038489718, "lat": 19.4337374, "lon": -99.1327556}, {"type": "node", "id": 8038489785, "lat": 19.4338972, "lon": -99.1323865, "tags": {"door": "yes", "level": "0"}}, {"type": "node", "id": 8038489803, "lat": 19.4337184, "lon": -99.1327134}, {"type": "node", "id": 8038489894, "lat": 19.4337185, "lon": -99.1326871}, {"type": "node", "id": 8038489986, "lat": 19.4337225, "lon": -99.1326865}, {"type": "node", "id": 8038489987, "lat": 19.4337205, "lon": -99.132671}, {"type": "node", "id": 8038818600, "lat": 19.4336899, "lon": -99.1324076}, {"type": "node", "id": 8038818601, "lat": 19.4336905, "lon": -99.1324356}, {"type": "node", "id": 8038818604, "lat": 19.4337032, "lon": -99.1325701}, {"type": "node", "id": 8038818689, "lat": 19.4338109, "lon": -99.132849}, {"type": "node", "id": 8038818793, "lat": 19.4336859, "lon": -99.1324169}, {"type": "node", "id": 8038818891, "lat": 19.4340149, "lon": -99.1323671}, {"type": "node", "id": 8038818892, "lat": 19.4339947, "lon": -99.1323699}, {"type": "node", "id": 8038818895, "lat": 19.4336902, "lon": -99.1324335}, {"type": "node", "id": 8038819004, "lat": 19.4338237, "lon": -99.1323799}, {"type": "node", "id": 8038819092, "lat": 19.4338315, "lon": -99.1323788}, {"type": "node", "id": 8038819094, "lat": 19.4336895, "lon": -99.132405}, {"type": "node", "id": 8038819095, "lat": 19.4336825, "lon": -99.1324086}, {"type": "node", "id": 8038819096, "lat": 19.4336881, "lon": -99.1324338}, {"type": "node", "id": 8038819190, "lat": 19.4340646, "lon": -99.1323553}, {"type": "node", "id": 8038819200, "lat": 19.4338487, "lon": -99.1323848}, {"type": "node", "id": 8038819206, "lat": 19.4337091, "lon": -99.1324048}, {"type": "node", "id": 8038819289, "lat": 19.4339698, "lon": -99.1323607}, {"type": "node", "id": 8038819297, "lat": 19.4336929, "lon": -99.1324546}, {"type": "node", "id": 8038819298, "lat": 19.4336926, "lon": -99.1324728}, {"type": "node", "id": 8038819299, "lat": 19.4337074, "lon": -99.1325252}, {"type": "node", "id": 8038819386, "lat": 19.4338191, "lon": -99.1328477}, {"type": "node", "id": 8038819388, "lat": 19.4338391, "lon": -99.1323778}, {"type": "node", "id": 8038819389, "lat": 19.4336848, "lon": -99.1324057}, {"type": "node", "id": 8038819390, "lat": 19.4336836, "lon": -99.1324172}, {"type": "node", "id": 8038819485, "lat": 19.4337098, "lon": -99.13241}, {"type": "node", "id": 8038819493, "lat": 19.4336851, "lon": -99.1324083}, {"type": "node", "id": 8038819495, "lat": 19.4337061, "lon": -99.1325616}, {"type": "node", "id": 8038819496, "lat": 19.4337193, "lon": -99.1326622}, {"type": "node", "id": 8038819785, "lat": 19.4338691, "lon": -99.1323819}, {"type": "node", "id": 8041534875, "lat": 19.4339385, "lon": -99.1328563, "tags": {"access": "no", "door": "yes", "entrance": "service", "level": "1", "name": "Entrada al Sagrario Metropolitano", "width": "5"}}, {"type": "node", "id": 8144945329, "lat": 19.4338111, "lon": -99.132849}, {"type": "node", "id": 8273117427, "lat": 19.4333945, "lon": -99.1345546}, {"type": "node", "id": 8273117428, "lat": 19.433464, "lon": -99.1345456}, {"type": "node", "id": 8273117429, "lat": 19.4333879, "lon": -99.1344975}, {"type": "node", "id": 8273117430, "lat": 19.4334575, "lon": -99.1344887}, {"type": "node", "id": 8515293319, "lat": 19.4332258, "lon": -99.130869}, {"type": "node", "id": 8515293320, "lat": 19.433146, "lon": -99.1308786}, {"type": "node", "id": 8515293322, "lat": 19.4331354, "lon": -99.1312606}, {"type": "node", "id": 8515293324, "lat": 19.4325346, "lon": -99.1305106}, {"type": "node", "id": 8515293326, "lat": 19.4324987, "lon": -99.1305153}, {"type": "node", "id": 8875453017, "lat": 19.4317324, "lon": -99.1386858}, {"type": "node", "id": 8875453018, "lat": 19.4320169, "lon": -99.1387399}, {"type": "node", "id": 8875453019, "lat": 19.4320245, "lon": -99.1387933}, {"type": "node", "id": 8875453020, "lat": 19.4317844, "lon": -99.1388313}, {"type": "node", "id": 8893473495, "lat": 19.4300281, "lon": -99.1367258}, {"type": "node", "id": 8893473496, "lat": 19.4300047, "lon": -99.1365291}, {"type": "node", "id": 8893473497, "lat": 19.4303581, "lon": -99.1364754}, {"type": "node", "id": 8893473498, "lat": 19.4303179, "lon": -99.1361772}, {"type": "node", "id": 8893473499, "lat": 19.4297862, "lon": -99.1365623}, {"type": "node", "id": 8893473500, "lat": 19.4297775, "lon": -99.1364976}, {"type": "node", "id": 8893473501, "lat": 19.4296924, "lon": -99.1365105}, {"type": "node", "id": 8893473502, "lat": 19.4297317, "lon": -99.1367819}, {"type": "node", "id": 9048766696, "lat": 19.4303235, "lon": -99.1319112}, {"type": "node", "id": 9048766697, "lat": 19.4303352, "lon": -99.1319811}, {"type": "node", "id": 9049174764, "lat": 19.4354404, "lon": -99.138883}, {"type": "node", "id": 9049174765, "lat": 19.4354579, "lon": -99.139002}, {"type": "node", "id": 9049174766, "lat": 19.4357611, "lon": -99.1389522}, {"type": "node", "id": 9049174767, "lat": 19.4354473, "lon": -99.1379658}, {"type": "node", "id": 9049174768, "lat": 19.43556, "lon": -99.1375743}, {"type": "node", "id": 9651137014, "lat": 19.4338192, "lon": -99.1332431}, {"type": "node", "id": 9651137015, "lat": 19.4337943, "lon": -99.1330527}, {"type": "node", "id": 9651137016, "lat": 19.4344288, "lon": -99.1327853}, {"type": "node", "id": 9651141828, "lat": 19.4338831, "lon": -99.1328392}, {"type": "node", "id": 9651141829, "lat": 19.4340379, "lon": -99.1328384}, {"type": "node", "id": 9651229327, "lat": 19.4338537, "lon": -99.1328431}, {"type": "node", "id": 9651233317, "lat": 19.4342759, "lon": -99.1328055}, {"type": "node", "id": 9651233318, "lat": 19.4343379, "lon": -99.1333449}, {"type": "node", "id": 9651233319, "lat": 19.4345005, "lon": -99.1333215}, {"type": "node", "id": 9651233320, "lat": 19.4342696, "lon": -99.1328063}, {"type": "node", "id": 9913627292, "lat": 19.4288374, "lon": -99.1334113}, {"type": "node", "id": 9913627293, "lat": 19.4288252, "lon": -99.1333348}, {"type": "node", "id": 9913627294, "lat": 19.4289994, "lon": -99.1333101}, {"type": "node", "id": 9913633429, "lat": 19.4290375, "lon": -99.1335702}, {"type": "node", "id": 9913633430, "lat": 19.4289745, "lon": -99.1333142}, {"type": "node", "id": 9913633431, "lat": 19.4288438, "lon": -99.1327164}, {"type": "node", "id": 9913633432, "lat": 19.4286746, "lon": -99.1333279}, {"type": "node", "id": 9913633433, "lat": 19.4286558, "lon": -99.1331787}, {"type": "node", "id": 9913633434, "lat": 19.428504, "lon": -99.1332002}, {"type": "node", "id": 9913633435, "lat": 19.4285228, "lon": -99.1333494}, {"type": "node", "id": 9913633436, "lat": 19.428634, "lon": -99.133015}, {"type": "node", "id": 9913633437, "lat": 19.4286179, "lon": -99.1328755}, {"type": "node", "id": 9913633438, "lat": 19.4284793, "lon": -99.1328936}, {"type": "node", "id": 9913633439, "lat": 19.4284954, "lon": -99.1330331}, {"type": "node", "id": 10029337094, "lat": 19.4305475, "lon": -99.1387453}, {"type": "node", "id": 10029337095, "lat": 19.4304736, "lon": -99.1387573}, {"type": "node", "id": 10029337096, "lat": 19.4304489, "lon": -99.1385957}, {"type": "node", "id": 10029337097, "lat": 19.4304742, "lon": -99.1385924}, {"type": "node", "id": 10029337098, "lat": 19.4304672, "lon": -99.1385495}, {"type": "node", "id": 10029337099, "lat": 19.4305172, "lon": -99.1385441}, {"type": "node", "id": 10029601609, "lat": 19.435865, "lon": -99.1332254}, {"type": "node", "id": 10029601610, "lat": 19.4351144, "lon": -99.1333471}, {"type": "node", "id": 10032102285, "lat": 19.4353853, "lon": -99.1398816}, {"type": "node", "id": 10032102286, "lat": 19.4352531, "lon": -99.1399027}, {"type": "node", "id": 10032102287, "lat": 19.4352285, "lon": -99.1397296}, {"type": "node", "id": 10032102288, "lat": 19.4353608, "lon": -99.1397085}, {"type": "node", "id": 10032102289, "lat": 19.4351247, "lon": -99.1394952}, {"type": "node", "id": 10032102290, "lat": 19.4351041, "lon": -99.1393551}, {"type": "node", "id": 10032102291, "lat": 19.4352957, "lon": -99.1393233}, {"type": "node", "id": 10032102292, "lat": 19.4353163, "lon": -99.1394635}, {"type": "node", "id": 10032102293, "lat": 19.4354834, "lon": -99.1393157}, {"type": "node", "id": 10032102294, "lat": 19.4354672, "lon": -99.1392108}, {"type": "node", "id": 10032102295, "lat": 19.4356921, "lon": -99.1391717}, {"type": "node", "id": 10032102296, "lat": 19.4357083, "lon": -99.1392766}, {"type": "node", "id": 10032102297, "lat": 19.4355732, "lon": -99.1399031}, {"type": "node", "id": 10032102298, "lat": 19.4355569, "lon": -99.1397982}, {"type": "node", "id": 10032102299, "lat": 19.4357818, "lon": -99.1397591}, {"type": "node", "id": 10032102300, "lat": 19.435798, "lon": -99.1398639}, {"type": "node", "id": 10032102301, "lat": 19.4366034, "lon": -99.1391732}, {"type": "node", "id": 10032102302, "lat": 19.4363845, "lon": -99.139207}, {"type": "node", "id": 10032102303, "lat": 19.4364399, "lon": -99.1396118}, {"type": "node", "id": 10032102304, "lat": 19.4366589, "lon": -99.1395781}, {"type": "node", "id": 10125131760, "lat": 19.4335865, "lon": -99.1363728}, {"type": "node", "id": 10125131761, "lat": 19.4335759, "lon": -99.1362927}, {"type": "node", "id": 10167388667, "lat": 19.4358982, "lon": -99.1326628}, {"type": "node", "id": 10167388668, "lat": 19.4366841, "lon": -99.1325471}, {"type": "node", "id": 10167443593, "lat": 19.4317934, "lon": -99.1364631}, {"type": "node", "id": 10167443594, "lat": 19.4313658, "lon": -99.1361017}, {"type": "node", "id": 10167443595, "lat": 19.4316861, "lon": -99.1360502}, {"type": "node", "id": 10167443596, "lat": 19.4317356, "lon": -99.1360422}, {"type": "node", "id": 10167443597, "lat": 19.4321121, "lon": -99.135826}, {"type": "node", "id": 10167443598, "lat": 19.4316972, "lon": -99.1355021}, {"type": "node", "id": 10167443599, "lat": 19.4317466, "lon": -99.1358802}, {"type": "node", "id": 10167443600, "lat": 19.4317971, "lon": -99.1358711}, {"type": "node", "id": 10167443601, "lat": 19.4317347, "lon": -99.1358594}, {"type": "node", "id": 10167443602, "lat": 19.4317013, "lon": -99.1358647}, {"type": "node", "id": 10167443604, "lat": 19.4317586, "lon": -99.1360189}, {"type": "node", "id": 10167443605, "lat": 19.4318489, "lon": -99.1360042}, {"type": "node", "id": 10167443606, "lat": 19.4318643, "lon": -99.1361103}, {"type": "node", "id": 10167443607, "lat": 19.431952, "lon": -99.136096}, {"type": "node", "id": 10167443608, "lat": 19.4319909, "lon": -99.1363646}, {"type": "node", "id": 10167443609, "lat": 19.431813, "lon": -99.1363936}, {"type": "node", "id": 10167443610, "lat": 19.4340097, "lon": -99.1371487}, {"type": "node", "id": 10167443611, "lat": 19.4339461, "lon": -99.1370171}, {"type": "node", "id": 10167460017, "lat": 19.4339534, "lon": -99.1370755}, {"type": "node", "id": 10167460018, "lat": 19.4339996, "lon": -99.1370703}, {"type": "node", "id": 10167460019, "lat": 19.434217, "lon": -99.1392963}, {"type": "node", "id": 10167460020, "lat": 19.4339333, "lon": -99.1391824}, {"type": "node", "id": 10167460021, "lat": 19.4341914, "lon": -99.1391361}, {"type": "node", "id": 10167460023, "lat": 19.432107, "lon": -99.1387256}, {"type": "node", "id": 10167460024, "lat": 19.4317759, "lon": -99.1387709}, {"type": "node", "id": 10167460025, "lat": 19.431745, "lon": -99.1387758}, {"type": "node", "id": 10167460047, "lat": 19.4357317, "lon": -99.138568}, {"type": "node", "id": 10167460048, "lat": 19.4353046, "lon": -99.1386294}, {"type": "node", "id": 10167460049, "lat": 19.4356125, "lon": -99.1384359}, {"type": "node", "id": 10167460050, "lat": 19.4353391, "lon": -99.1384768}, {"type": "node", "id": 10167460051, "lat": 19.4353168, "lon": -99.1383092}, {"type": "node", "id": 10167460052, "lat": 19.4355902, "lon": -99.1382683}, {"type": "node", "id": 10700764708, "lat": 19.4357416, "lon": -99.1346134}, {"type": "node", "id": 10700764711, "lat": 19.4357152, "lon": -99.1346696}, {"type": "node", "id": 10700764713, "lat": 19.4353386, "lon": -99.1347278}, {"type": "node", "id": 10703089453, "lat": 19.4342386, "lon": -99.1371156}, {"type": "node", "id": 10703089454, "lat": 19.434211, "lon": -99.1369008}, {"type": "node", "id": 10703089455, "lat": 19.4339821, "lon": -99.1369338}, {"type": "node", "id": 10822894597, "lat": 19.4299342, "lon": -99.1326853}, {"type": "node", "id": 10822894598, "lat": 19.4297679, "lon": -99.1327019}, {"type": "node", "id": 10822894599, "lat": 19.4299177, "lon": -99.1325639}, {"type": "node", "id": 10822894600, "lat": 19.4299573, "lon": -99.1328546}, {"type": "node", "id": 10822894601, "lat": 19.4296209, "lon": -99.1330881}, {"type": "node", "id": 10822894602, "lat": 19.4299783, "lon": -99.1330333}, {"type": "node", "id": 10822894603, "lat": 19.4296435, "lon": -99.1332434}, {"type": "node", "id": 10822894604, "lat": 19.4299992, "lon": -99.1331862}, {"type": "node", "id": 10822915405, "lat": 19.4295037, "lon": -99.1331367}, {"type": "node", "id": 10822915406, "lat": 19.4295279, "lon": -99.133338}, {"type": "node", "id": 10822915407, "lat": 19.4294938, "lon": -99.1333403}, {"type": "node", "id": 10822915408, "lat": 19.429529, "lon": -99.133617}, {"type": "node", "id": 10822915410, "lat": 19.4296243, "lon": -99.1331175}, {"type": "node", "id": 10822915411, "lat": 19.4293716, "lon": -99.1336392}, {"type": "node", "id": 10822915412, "lat": 19.4293485, "lon": -99.1336275}, {"type": "node", "id": 10822915413, "lat": 19.4293199, "lon": -99.1334489}, {"type": "node", "id": 10822915414, "lat": 19.4295035, "lon": -99.1334165}, {"type": "node", "id": 10822915415, "lat": 19.4293066, "lon": -99.1333625}, {"type": "node", "id": 10822915416, "lat": 19.4294183, "lon": -99.1333493}, {"type": "node", "id": 10822915417, "lat": 19.4294013, "lon": -99.1331493}, {"type": "node", "id": 10822915418, "lat": 19.4292818, "lon": -99.1331654}, {"type": "node", "id": 10823040781, "lat": 19.4297953, "lon": -99.1342311}, {"type": "node", "id": 10823040782, "lat": 19.4298172, "lon": -99.1343812}, {"type": "node", "id": 10823040783, "lat": 19.4301527, "lon": -99.1343379}, {"type": "node", "id": 10823040784, "lat": 19.4301814, "lon": -99.1345621}, {"type": "node", "id": 10823040785, "lat": 19.4298307, "lon": -99.1344754}, {"type": "node", "id": 10823040786, "lat": 19.4297013, "lon": -99.1346506}, {"type": "node", "id": 10823040787, "lat": 19.4296506, "lon": -99.1342547}, {"type": "node", "id": 10823040788, "lat": 19.4295925, "lon": -99.1346681}, {"type": "node", "id": 10823040789, "lat": 19.4295311, "lon": -99.1342743}, {"type": "node", "id": 10823040790, "lat": 19.4294635, "lon": -99.1346855}, {"type": "node", "id": 10823040795, "lat": 19.4289259, "lon": -99.1327595, "tags": {"artwork_type": "mural", "tourism": "artwork"}}, {"type": "node", "id": 10823040796, "lat": 19.4291449, "lon": -99.1332871}, {"type": "node", "id": 10823040797, "lat": 19.4291317, "lon": -99.1331931}, {"type": "node", "id": 10823040798, "lat": 19.4290986, "lon": -99.1331983}, {"type": "node", "id": 10823040800, "lat": 19.4292461, "lon": -99.1339359}, {"type": "node", "id": 10823040801, "lat": 19.4290917, "lon": -99.1339524}, {"type": "node", "id": 10823040802, "lat": 19.4291152, "lon": -99.1341525}, {"type": "node", "id": 10823040803, "lat": 19.4289852, "lon": -99.1341677}, {"type": "node", "id": 10823040804, "lat": 19.4289606, "lon": -99.1339713}, {"type": "node", "id": 10823123320, "lat": 19.429345, "lon": -99.134697}, {"type": "node", "id": 10823123321, "lat": 19.4292361, "lon": -99.1347147}, {"type": "node", "id": 10823123322, "lat": 19.4292029, "lon": -99.1345008}, {"type": "node", "id": 10823123323, "lat": 19.4289606, "lon": -99.1345332}, {"type": "node", "id": 10823123324, "lat": 19.4289325, "lon": -99.1343755}, {"type": "node", "id": 10823123325, "lat": 19.4291383, "lon": -99.13473}, {"type": "node", "id": 10823123326, "lat": 19.4291079, "lon": -99.1345141}, {"type": "node", "id": 10823123327, "lat": 19.4290595, "lon": -99.1347406}, {"type": "node", "id": 10823123328, "lat": 19.4290301, "lon": -99.1345242}, {"type": "node", "id": 10823123329, "lat": 19.4289917, "lon": -99.1347535}, {"type": "node", "id": 10865654694, "lat": 19.4342627, "lon": -99.1353278}, {"type": "node", "id": 10865654695, "lat": 19.4344429, "lon": -99.135312}, {"type": "node", "id": 10865654696, "lat": 19.4344218, "lon": -99.1351327}, {"type": "node", "id": 10865654697, "lat": 19.4342416, "lon": -99.1351566}, {"type": "node", "id": 10865654698, "lat": 19.434465, "lon": -99.1355242}, {"type": "node", "id": 10865654699, "lat": 19.4344516, "lon": -99.1353915}, {"type": "node", "id": 10865654700, "lat": 19.4342733, "lon": -99.1354114}, {"type": "node", "id": 10865654701, "lat": 19.4342863, "lon": -99.135544}, {"type": "node", "id": 10865654702, "lat": 19.4345111, "lon": -99.1351221}, {"type": "node", "id": 10865654703, "lat": 19.4345488, "lon": -99.1355143}, {"type": "node", "id": 10865654704, "lat": 19.4347006, "lon": -99.1354956}, {"type": "node", "id": 10865710905, "lat": 19.4346629, "lon": -99.1351054}, {"type": "node", "id": 10865710906, "lat": 19.4345335, "lon": -99.1353526}, {"type": "node", "id": 10865710907, "lat": 19.4344485, "lon": -99.1353608}, {"type": "node", "id": 10865710908, "lat": 19.4349912, "lon": -99.1359427}, {"type": "node", "id": 10865710909, "lat": 19.4348935, "lon": -99.135956}, {"type": "node", "id": 10865710910, "lat": 19.4348842, "lon": -99.1358797}, {"type": "node", "id": 10865710911, "lat": 19.4348462, "lon": -99.1358849}, {"type": "node", "id": 10865710912, "lat": 19.4348396, "lon": -99.1358304}, {"type": "node", "id": 10865710913, "lat": 19.4348163, "lon": -99.1358336}, {"type": "node", "id": 10865710914, "lat": 19.4348018, "lon": -99.1357134}, {"type": "node", "id": 10865710915, "lat": 19.4346211, "lon": -99.1357373}, {"type": "node", "id": 10865710916, "lat": 19.4345999, "lon": -99.1355624}, {"type": "node", "id": 10865710917, "lat": 19.4349741, "lon": -99.1355156}, {"type": "node", "id": 10865710918, "lat": 19.4349938, "lon": -99.1356545}, {"type": "node", "id": 10865710919, "lat": 19.4349565, "lon": -99.1356565}, {"type": "node", "id": 10865710931, "lat": 19.4347837, "lon": -99.1355367}, {"type": "node", "id": 10865710932, "lat": 19.4347849, "lon": -99.135545}, {"type": "node", "id": 10865710936, "lat": 19.4349135, "lon": -99.1352596}, {"type": "node", "id": 10865710937, "lat": 19.434764, "lon": -99.1353433}, {"type": "node", "id": 10865710938, "lat": 19.4347281, "lon": -99.135085}, {"type": "node", "id": 10865710939, "lat": 19.4349529, "lon": -99.1350534}, {"type": "node", "id": 10865710940, "lat": 19.4352689, "lon": -99.1351804}, {"type": "node", "id": 10865710941, "lat": 19.4349802, "lon": -99.1352496}, {"type": "node", "id": 10865710942, "lat": 19.4352442, "lon": -99.1350136}, {"type": "node", "id": 10865710943, "lat": 19.4357641, "lon": -99.1350496}, {"type": "node", "id": 10865710944, "lat": 19.4353923, "lon": -99.1350952}, {"type": "node", "id": 10865710945, "lat": 19.4353771, "lon": -99.1349906}, {"type": "node", "id": 10865710946, "lat": 19.4357565, "lon": -99.1349464}, {"type": "node", "id": 10865710947, "lat": 19.4354087, "lon": -99.1352119}, {"type": "node", "id": 10865710948, "lat": 19.4357805, "lon": -99.135165}, {"type": "node", "id": 10865710949, "lat": 19.4354251, "lon": -99.1353259}, {"type": "node", "id": 10865710950, "lat": 19.4357896, "lon": -99.1352762}, {"type": "node", "id": 10865710951, "lat": 19.4354403, "lon": -99.1354131}, {"type": "node", "id": 10865710952, "lat": 19.435797, "lon": -99.1353661}, {"type": "node", "id": 10865710953, "lat": 19.4354542, "lon": -99.135511}, {"type": "node", "id": 10865710954, "lat": 19.4357122, "lon": -99.1354774}, {"type": "node", "id": 10865710955, "lat": 19.435706, "lon": -99.1353765}, {"type": "node", "id": 10865710956, "lat": 19.4354643, "lon": -99.1356035}, {"type": "node", "id": 10865710957, "lat": 19.4357249, "lon": -99.13557}, {"type": "node", "id": 10865710958, "lat": 19.4357319, "lon": -99.1356578}, {"type": "node", "id": 10865710959, "lat": 19.435477, "lon": -99.135692}, {"type": "node", "id": 10865710960, "lat": 19.4354896, "lon": -99.1357765}, {"type": "node", "id": 10865710961, "lat": 19.4357385, "lon": -99.1357427}, {"type": "node", "id": 10865710962, "lat": 19.4354985, "lon": -99.1358583}, {"type": "node", "id": 10865710963, "lat": 19.435525, "lon": -99.1358731}, {"type": "node", "id": 10865710964, "lat": 19.4357459, "lon": -99.135838}, {"type": "node", "id": 10865710965, "lat": 19.4358134, "lon": -99.1358275}, {"type": "node", "id": 10865710966, "lat": 19.4357759, "lon": -99.1355611}, {"type": "node", "id": 10865710967, "lat": 19.4359297, "lon": -99.13581}, {"type": "node", "id": 10865710968, "lat": 19.4357949, "lon": -99.1353261}, {"type": "node", "id": 10865710969, "lat": 19.4359182, "lon": -99.1353113}, {"type": "node", "id": 10865710970, "lat": 19.4359664, "lon": -99.1355525}, {"type": "node", "id": 10865710971, "lat": 19.4358994, "lon": -99.1355566}, {"type": "node", "id": 10865710972, "lat": 19.4360044, "lon": -99.1357993}, {"type": "node", "id": 10865710973, "lat": 19.436232, "lon": -99.1357631}, {"type": "node", "id": 10865710974, "lat": 19.4359888, "lon": -99.1356981}, {"type": "node", "id": 10865710975, "lat": 19.4362194, "lon": -99.1356679}, {"type": "node", "id": 10865710976, "lat": 19.4362092, "lon": -99.1355753}, {"type": "node", "id": 10865710977, "lat": 19.4359751, "lon": -99.1356093}, {"type": "node", "id": 10865710978, "lat": 19.436127, "lon": -99.135004}, {"type": "node", "id": 10865710979, "lat": 19.4361157, "lon": -99.1349048}, {"type": "node", "id": 10865710980, "lat": 19.4361474, "lon": -99.1351452}, {"type": "node", "id": 10865710981, "lat": 19.4357804, "lon": -99.1351891}, {"type": "node", "id": 10865710982, "lat": 19.4361979, "lon": -99.1354868}, {"type": "node", "id": 10865710983, "lat": 19.4359589, "lon": -99.1355148}, {"type": "node", "id": 10865710984, "lat": 19.4361801, "lon": -99.1353849}, {"type": "node", "id": 10865710985, "lat": 19.435939, "lon": -99.1354155}, {"type": "node", "id": 10865710986, "lat": 19.436162, "lon": -99.1352822}, {"type": "node", "id": 10865710987, "lat": 19.4349992, "lon": -99.1353809}, {"type": "node", "id": 10865710988, "lat": 19.4352849, "lon": -99.1353276}, {"type": "node", "id": 10865710989, "lat": 19.4350169, "lon": -99.1355089}, {"type": "node", "id": 10865710990, "lat": 19.4353021, "lon": -99.1354682}, {"type": "node", "id": 10865710991, "lat": 19.4351197, "lon": -99.1359281}, {"type": "node", "id": 10865710992, "lat": 19.4350852, "lon": -99.1356399}, {"type": "node", "id": 10865710993, "lat": 19.4349227, "lon": -99.1353284}, {"type": "node", "id": 10865710994, "lat": 19.4349908, "lon": -99.1353205}, {"type": "node", "id": 10865710995, "lat": 19.4349784, "lon": -99.1352367}, {"type": "node", "id": 10865710996, "lat": 19.4351994, "lon": -99.1356216}, {"type": "node", "id": 10865710997, "lat": 19.4352063, "lon": -99.13567}, {"type": "node", "id": 10865710998, "lat": 19.4353281, "lon": -99.1356505}, {"type": "node", "id": 10865710999, "lat": 19.4353617, "lon": -99.1358922}, {"type": "node", "id": 10865711000, "lat": 19.4344969, "lon": -99.1357542}, {"type": "node", "id": 10865711001, "lat": 19.4344758, "lon": -99.1355793}, {"type": "node", "id": 10865711002, "lat": 19.4344103, "lon": -99.1357654}, {"type": "node", "id": 10865711003, "lat": 19.4344044, "lon": -99.1357213}, {"type": "node", "id": 10865711004, "lat": 19.4343105, "lon": -99.1357355}, {"type": "node", "id": 10865711005, "lat": 19.4342931, "lon": -99.1356064}, {"type": "node", "id": 10865711006, "lat": 19.4347533, "lon": -99.135977}, {"type": "node", "id": 10865711007, "lat": 19.4347391, "lon": -99.1358549}, {"type": "node", "id": 10865711008, "lat": 19.4347086, "lon": -99.1358585}, {"type": "node", "id": 10865711009, "lat": 19.4346948, "lon": -99.1357279}, {"type": "node", "id": 10865711010, "lat": 19.4346204, "lon": -99.1359962}, {"type": "node", "id": 10865711011, "lat": 19.4345868, "lon": -99.135742}, {"type": "node", "id": 10865711012, "lat": 19.4344963, "lon": -99.1360135}, {"type": "node", "id": 10865711013, "lat": 19.4344615, "lon": -99.1357577}, {"type": "node", "id": 10865711014, "lat": 19.4343522, "lon": -99.1360356}, {"type": "node", "id": 10865711015, "lat": 19.4357715, "lon": -99.134502}, {"type": "node", "id": 10865711016, "lat": 19.4351236, "lon": -99.1352085}, {"type": "node", "id": 11014729989, "lat": 19.436477, "lon": -99.1320157}, {"type": "node", "id": 11014729990, "lat": 19.4364619, "lon": -99.1318784}, {"type": "node", "id": 11014729991, "lat": 19.4363686, "lon": -99.1318899}, {"type": "node", "id": 11014729992, "lat": 19.4363836, "lon": -99.1320272}, {"type": "node", "id": 11014729993, "lat": 19.4362658, "lon": -99.1320331}, {"type": "node", "id": 11014729994, "lat": 19.4362507, "lon": -99.1318959}, {"type": "node", "id": 11014729995, "lat": 19.4361574, "lon": -99.1319074}, {"type": "node", "id": 11014729996, "lat": 19.4361724, "lon": -99.1320446}, {"type": "node", "id": 11014729997, "lat": 19.4360634, "lon": -99.1320626}, {"type": "node", "id": 11014729998, "lat": 19.4360484, "lon": -99.1319254}, {"type": "node", "id": 11014729999, "lat": 19.435955, "lon": -99.1319369}, {"type": "node", "id": 11014730000, "lat": 19.43597, "lon": -99.1320741}, {"type": "node", "id": 11014730001, "lat": 19.4362171, "lon": -99.1323793}, {"type": "node", "id": 11014730002, "lat": 19.4360282, "lon": -99.1324052}, {"type": "node", "id": 11014730003, "lat": 19.4360442, "lon": -99.1325374}, {"type": "node", "id": 11014730004, "lat": 19.4362331, "lon": -99.1325115}, {"type": "node", "id": 11014746639, "lat": 19.4317023, "lon": -99.1339055}, {"type": "node", "id": 11014746640, "lat": 19.4317201, "lon": -99.1338888}, {"type": "node", "id": 11014746641, "lat": 19.4317084, "lon": -99.1337832}, {"type": "node", "id": 11014746642, "lat": 19.4316871, "lon": -99.1337676}, {"type": "node", "id": 11014746643, "lat": 19.4315313, "lon": -99.1337869}, {"type": "node", "id": 11014746644, "lat": 19.4315145, "lon": -99.1338072}, {"type": "node", "id": 11014746645, "lat": 19.4315255, "lon": -99.1339071}, {"type": "node", "id": 11014746646, "lat": 19.4315461, "lon": -99.1339214}, {"type": "node", "id": 11014746647, "lat": 19.4317323, "lon": -99.1341771}, {"type": "node", "id": 11014746648, "lat": 19.4317493, "lon": -99.134154}, {"type": "node", "id": 11014746649, "lat": 19.4317386, "lon": -99.134057}, {"type": "node", "id": 11014746650, "lat": 19.4317199, "lon": -99.134044}, {"type": "node", "id": 11014746651, "lat": 19.4315617, "lon": -99.1340626}, {"type": "node", "id": 11014746652, "lat": 19.4315446, "lon": -99.1340807}, {"type": "node", "id": 11014746653, "lat": 19.4315553, "lon": -99.134178}, {"type": "node", "id": 11014746654, "lat": 19.4315764, "lon": -99.1341964}, {"type": "node", "id": 11014746655, "lat": 19.4316454, "lon": -99.1331785}, {"type": "node", "id": 11014746656, "lat": 19.4316362, "lon": -99.133107}, {"type": "node", "id": 11014746657, "lat": 19.4314438, "lon": -99.1331349}, {"type": "node", "id": 11014746658, "lat": 19.431453, "lon": -99.1332064}, {"type": "node", "id": 11014746659, "lat": 19.4315922, "lon": -99.1328018}, {"type": "node", "id": 11014746660, "lat": 19.431583, "lon": -99.1327304}, {"type": "node", "id": 11014746661, "lat": 19.4313905, "lon": -99.1327582}, {"type": "node", "id": 11014746662, "lat": 19.4313997, "lon": -99.1328297}, {"type": "node", "id": 11014746663, "lat": 19.4314258, "lon": -99.1330195}, {"type": "node", "id": 11014746664, "lat": 19.431415, "lon": -99.1329367}, {"type": "node", "id": 11014746665, "lat": 19.4315752, "lon": -99.1329132}, {"type": "node", "id": 11014746666, "lat": 19.431586, "lon": -99.1329959}, {"type": "node", "id": 11014746678, "lat": 19.4332837, "lon": -99.1305925}, {"type": "node", "id": 11014746679, "lat": 19.4332421, "lon": -99.130727}, {"type": "node", "id": 11014746680, "lat": 19.4332914, "lon": -99.1306635}, {"type": "node", "id": 11014746681, "lat": 19.433236, "lon": -99.1306702}, {"type": "node", "id": 11014746688, "lat": 19.4334102, "lon": -99.1310872}, {"type": "node", "id": 11014746689, "lat": 19.4326237, "lon": -99.1311701}, {"type": "node", "id": 11014746690, "lat": 19.4323361, "lon": -99.1312043}, {"type": "node", "id": 11014746691, "lat": 19.4324603, "lon": -99.1310663}, {"type": "node", "id": 11014746692, "lat": 19.4325329, "lon": -99.1310747}, {"type": "node", "id": 11014746693, "lat": 19.4325845, "lon": -99.1311093}, {"type": "node", "id": 11014746694, "lat": 19.4323579, "lon": -99.1311387}, {"type": "node", "id": 11014746695, "lat": 19.4324015, "lon": -99.1310917}, {"type": "node", "id": 11014802205, "lat": 19.4365014, "lon": -99.1323094}, {"type": "node", "id": 11014802206, "lat": 19.4364934, "lon": -99.1322479}, {"type": "node", "id": 11014802207, "lat": 19.436337, "lon": -99.1322709}, {"type": "node", "id": 11014802208, "lat": 19.4363451, "lon": -99.1323324}, {"type": "node", "id": 11014802209, "lat": 19.4365397, "lon": -99.1321671}, {"type": "node", "id": 11014802210, "lat": 19.4365314, "lon": -99.1320891}, {"type": "node", "id": 11014802211, "lat": 19.4363913, "lon": -99.1321058}, {"type": "node", "id": 11014802212, "lat": 19.4363995, "lon": -99.1321838}, {"type": "node", "id": 11014802213, "lat": 19.436317, "lon": -99.132261}, {"type": "node", "id": 11014802214, "lat": 19.4363009, "lon": -99.1321258}, {"type": "node", "id": 11014802215, "lat": 19.4362357, "lon": -99.1321345}, {"type": "node", "id": 11014802216, "lat": 19.4362519, "lon": -99.1322697}, {"type": "node", "id": 11016336328, "lat": 19.4318759, "lon": -99.1343278}, {"type": "node", "id": 11016336335, "lat": 19.4317845, "lon": -99.1335991}, {"type": "node", "id": 11223728167, "lat": 19.4321091, "lon": -99.1349742, "tags": {"access": "customers", "amenity": "parking_entrance", "entrance": "yes", "parking": "multi-storey"}}, {"type": "node", "id": 11276685677, "lat": 19.4315652, "lon": -99.1342868}, {"type": "node", "id": 11276685678, "lat": 19.4315298, "lon": -99.1342922}, {"type": "node", "id": 11276685679, "lat": 19.4314022, "lon": -99.1337707}, {"type": "node", "id": 11276685680, "lat": 19.4313713, "lon": -99.1337753}, {"type": "node", "id": 11276685681, "lat": 19.4314592, "lon": -99.1341953}, {"type": "node", "id": 11276685682, "lat": 19.4313757, "lon": -99.134051}, {"type": "node", "id": 11276685683, "lat": 19.4313721, "lon": -99.134024}, {"type": "node", "id": 11276685684, "lat": 19.4314041, "lon": -99.1340192}, {"type": "node", "id": 11276685685, "lat": 19.4314267, "lon": -99.1342002}, {"type": "node", "id": 11276685686, "lat": 19.431406, "lon": -99.1340464}, {"type": "node", "id": 11276685687, "lat": 19.4314649, "lon": -99.1342397}, {"type": "node", "id": 11277950618, "lat": 19.4313116, "lon": -99.1330098}, {"type": "node", "id": 11277950619, "lat": 19.4313026, "lon": -99.1329415}, {"type": "node", "id": 11277950620, "lat": 19.4312902, "lon": -99.132848}, {"type": "node", "id": 11277950621, "lat": 19.4309873, "lon": -99.1334158}, {"type": "node", "id": 11277950622, "lat": 19.4313729, "lon": -99.1329154}, {"type": "node", "id": 11277950625, "lat": 19.4309666, "lon": -99.1328962}, {"type": "node", "id": 11277950626, "lat": 19.4312804, "lon": -99.1327786}, {"type": "node", "id": 11277950627, "lat": 19.4309565, "lon": -99.1328278}, {"type": "node", "id": 11278072445, "lat": 19.4317469, "lon": -99.1333115}, {"type": "node", "id": 11278072447, "lat": 19.4316511, "lon": -99.1325774}, {"type": "node", "id": 11278072448, "lat": 19.4316857, "lon": -99.132605}, {"type": "node", "id": 11278072449, "lat": 19.4308802, "lon": -99.1327179}, {"type": "node", "id": 11650508549, "lat": 19.4364228, "lon": -99.1394906}, {"type": "node", "id": 11650508550, "lat": 19.4364469, "lon": -99.1394816}, {"type": "node", "id": 11650508551, "lat": 19.4364008, "lon": -99.139334}, {"type": "node", "id": 11650508552, "lat": 19.4364667, "lon": -99.1394644}, {"type": "node", "id": 11650508553, "lat": 19.4364799, "lon": -99.1394411}, {"type": "node", "id": 11650508554, "lat": 19.4364849, "lon": -99.1394145}, {"type": "node", "id": 11650508555, "lat": 19.4364811, "lon": -99.1393877}, {"type": "node", "id": 11650508556, "lat": 19.436469, "lon": -99.1393638}, {"type": "node", "id": 11650508557, "lat": 19.43645, "lon": -99.1393456}, {"type": "node", "id": 11650508558, "lat": 19.4364264, "lon": -99.1393353}, {"type": "node", "id": 11698675213, "lat": 19.4355782, "lon": -99.132081}, {"type": "node", "id": 11698675214, "lat": 19.435431, "lon": -99.1321019}, {"type": "node", "id": 11698675215, "lat": 19.4354119, "lon": -99.1319515}, {"type": "node", "id": 11698675216, "lat": 19.4355591, "lon": -99.1319305}, {"type": "node", "id": 11751664538, "lat": 19.4340815, "lon": -99.135493}, {"type": "node", "id": 11751664539, "lat": 19.4340469, "lon": -99.1351874}, {"type": "node", "id": 11751664540, "lat": 19.4339032, "lon": -99.135206}, {"type": "node", "id": 11751664541, "lat": 19.433938, "lon": -99.1355112}, {"type": "node", "id": 11751664542, "lat": 19.433825, "lon": -99.1352161}, {"type": "node", "id": 11751664543, "lat": 19.4338537, "lon": -99.1354646}, {"type": "node", "id": 11751664544, "lat": 19.4339317, "lon": -99.1354547}, {"type": "node", "id": 11751664545, "lat": 19.434089, "lon": -99.1355593}, {"type": "node", "id": 11751664546, "lat": 19.4338675, "lon": -99.1355874}, {"type": "node", "id": 12007782652, "lat": 19.432527, "lon": -99.1304458}, {"type": "node", "id": 12046573870, "lat": 19.4339628, "lon": -99.1370144}, {"type": "node", "id": 12046573871, "lat": 19.4336041, "lon": -99.1368398}, {"type": "node", "id": 12046573872, "lat": 19.4339312, "lon": -99.1367903}, {"type": "node", "id": 12046573873, "lat": 19.4336616, "lon": -99.1363615}, {"type": "node", "id": 12046573874, "lat": 19.4336508, "lon": -99.1362815}, {"type": "node", "id": 12046573875, "lat": 19.4339242, "lon": -99.1362406}, {"type": "node", "id": 12046573876, "lat": 19.4337128, "lon": -99.1367459}, {"type": "node", "id": 12046573877, "lat": 19.4339748, "lon": -99.136621}, {"type": "node", "id": 12046573878, "lat": 19.4339861, "lon": -99.136705}, {"type": "node", "id": 12046573879, "lat": 19.4340095, "lon": -99.1363105}, {"type": "node", "id": 12046573880, "lat": 19.4339351, "lon": -99.136322}, {"type": "node", "id": 12046573881, "lat": 19.433999, "lon": -99.1362304}, {"type": "node", "id": 12046573882, "lat": 19.4339386, "lon": -99.1363478}, {"type": "node", "id": 12046573883, "lat": 19.4340131, "lon": -99.1363369}, {"type": "node", "id": 12046573886, "lat": 19.4338486, "lon": -99.1383924}, {"type": "node", "id": 12299967268, "lat": 19.4360369, "lon": -99.1372236}, {"type": "node", "id": 12299967269, "lat": 19.4356682, "lon": -99.1373541}, {"type": "node", "id": 12299967270, "lat": 19.4358688, "lon": -99.1373899}, {"type": "node", "id": 12299967272, "lat": 19.4357399, "lon": -99.1375516}, {"type": "node", "id": 12299967278, "lat": 19.4354983, "lon": -99.1373977}, {"type": "node", "id": 12299967279, "lat": 19.4357088, "lon": -99.1373479}, {"type": "node", "id": 12299967280, "lat": 19.4356555, "lon": -99.1369442}, {"type": "node", "id": 12299967281, "lat": 19.4356328, "lon": -99.1367802}, {"type": "node", "id": 12299967282, "lat": 19.4354352, "lon": -99.1369329}, {"type": "node", "id": 12299967283, "lat": 19.4354106, "lon": -99.1367544}, {"type": "node", "id": 12403540093, "lat": 19.4333345, "lon": -99.1373506}, {"type": "node", "id": 12403540094, "lat": 19.4333624, "lon": -99.1375518}, {"type": "node", "id": 12403540095, "lat": 19.4336249, "lon": -99.137511}, {"type": "node", "id": 12403540096, "lat": 19.4335971, "lon": -99.1373098}, {"type": "node", "id": 12403540097, "lat": 19.4348771, "lon": -99.1372677}, {"type": "node", "id": 12403540098, "lat": 19.4348707, "lon": -99.1372208}, {"type": "node", "id": 12403540099, "lat": 19.4348335, "lon": -99.1372265}, {"type": "node", "id": 12403540100, "lat": 19.43484, "lon": -99.1372734}, {"type": "node", "id": 12403601501, "lat": 19.4348505, "lon": -99.1373505}, {"type": "node", "id": 12403601502, "lat": 19.4350259, "lon": -99.1373235}, {"type": "node", "id": 12403601503, "lat": 19.4349958, "lon": -99.1371033}, {"type": "node", "id": 12403601504, "lat": 19.4348204, "lon": -99.1371302}, {"type": "node", "id": 12403601505, "lat": 19.4350236, "lon": -99.1375351}, {"type": "node", "id": 12403601506, "lat": 19.4349908, "lon": -99.1374962}, {"type": "node", "id": 12403601507, "lat": 19.434949, "lon": -99.1374761}, {"type": "node", "id": 12403601508, "lat": 19.4348871, "lon": -99.1374788}, {"type": "node", "id": 12403601509, "lat": 19.4350413, "lon": -99.1376008}, {"type": "node", "id": 12403601510, "lat": 19.4348279, "lon": -99.1374891}, {"type": "node", "id": 12403601511, "lat": 19.4350556, "lon": -99.1377331}, {"type": "node", "id": 12403601512, "lat": 19.4345304, "lon": -99.1378006}, {"type": "node", "id": 12403601513, "lat": 19.4345001, "lon": -99.1375351}, {"type": "node", "id": 12403601514, "lat": 19.4345024, "lon": -99.1375237}, {"type": "node", "id": 12403601515, "lat": 19.4348491, "lon": -99.1374761}, {"type": "node", "id": 12403601516, "lat": 19.4348063, "lon": -99.1371254}, {"type": "node", "id": 12403601517, "lat": 19.4344596, "lon": -99.137173}, {"type": "node", "id": 12403601518, "lat": 19.4322028, "lon": -99.1356502}, {"type": "node", "id": 12403601519, "lat": 19.4324178, "lon": -99.1356207}, {"type": "node", "id": 12403601520, "lat": 19.4323905, "lon": -99.1353974}, {"type": "node", "id": 12403601521, "lat": 19.4321755, "lon": -99.1354269}, {"type": "node", "id": 12403601538, "lat": 19.4328723, "lon": -99.1382766}, {"type": "node", "id": 12403601539, "lat": 19.4328182, "lon": -99.1382845}, {"type": "node", "id": 12403601540, "lat": 19.4330757, "lon": -99.1383476}, {"type": "node", "id": 12403601541, "lat": 19.432831, "lon": -99.1383832}, {"type": "node", "id": 12403601542, "lat": 19.4328248, "lon": -99.1379106}, {"type": "node", "id": 12403601543, "lat": 19.4330154, "lon": -99.1378828}, {"type": "node", "id": 12403601544, "lat": 19.4331313, "lon": -99.1390261}, {"type": "node", "id": 12403601545, "lat": 19.4330946, "lon": -99.139124}, {"type": "node", "id": 12403601546, "lat": 19.4332615, "lon": -99.1390462}, {"type": "node", "id": 12403601547, "lat": 19.433283, "lon": -99.1390904}, {"type": "node", "id": 12587112384, "lat": 19.4355281, "lon": -99.137579}, {"type": "node", "id": 12587112385, "lat": 19.4355408, "lon": -99.1375771}, {"type": "node", "id": 12587112386, "lat": 19.4355788, "lon": -99.1378864}, {"type": "node", "id": 12587112387, "lat": 19.4353003, "lon": -99.139053}, {"type": "node", "id": 12590646890, "lat": 19.4350725, "lon": -99.1396071}, {"type": "node", "id": 12590646891, "lat": 19.4352078, "lon": -99.1400407}, {"type": "node", "id": 12590646892, "lat": 19.4351046, "lon": -99.1396759}, {"type": "node", "id": 12590646893, "lat": 19.4350961, "lon": -99.1396044}, {"type": "node", "id": 12608698532, "lat": 19.4357323, "lon": -99.1347939}, {"type": "node", "id": 12608698533, "lat": 19.4353558, "lon": -99.1348526}, {"type": "node", "id": 12608698534, "lat": 19.4360757, "lon": -99.1347404}, {"type": "node", "id": 12608698535, "lat": 19.4360595, "lon": -99.1346164}, {"type": "node", "id": 12608698536, "lat": 19.4357492, "lon": -99.1346644}, {"type": "node", "id": 12608698537, "lat": 19.4356674, "lon": -99.1343619}, {"type": "node", "id": 12608698538, "lat": 19.435614, "lon": -99.1343701}, {"type": "node", "id": 12608698539, "lat": 19.4356116, "lon": -99.1343529}, {"type": "node", "id": 12608698540, "lat": 19.4355668, "lon": -99.1343598}, {"type": "node", "id": 12608698541, "lat": 19.4355719, "lon": -99.1343979}, {"type": "node", "id": 12608698542, "lat": 19.4352989, "lon": -99.1344397}, {"type": "node", "id": 12608698543, "lat": 19.4352914, "lon": -99.1343853}, {"type": "node", "id": 12608698544, "lat": 19.435551, "lon": -99.1343456}, {"type": "node", "id": 12608698545, "lat": 19.4355421, "lon": -99.1342775}, {"type": "node", "id": 12608698546, "lat": 19.4352816, "lon": -99.1343145}, {"type": "node", "id": 12608698547, "lat": 19.4356555, "lon": -99.1342614}, {"type": "node", "id": 12608698548, "lat": 19.4354244, "lon": -99.1342942}, {"type": "node", "id": 12608698549, "lat": 19.4353756, "lon": -99.1339239}, {"type": "node", "id": 12608698550, "lat": 19.4352305, "lon": -99.1339435}, {"type": "node", "id": 12608698551, "lat": 19.4354934, "lon": -99.133908}, {"type": "node", "id": 12608698552, "lat": 19.4353902, "lon": -99.1340347}, {"type": "node", "id": 12608698553, "lat": 19.4354355, "lon": -99.1340282}, {"type": "node", "id": 12608698554, "lat": 19.435446, "lon": -99.1341106}, {"type": "node", "id": 12608698555, "lat": 19.4354011, "lon": -99.1341171}, {"type": "node", "id": 12608698556, "lat": 19.4356116, "lon": -99.133892}, {"type": "node", "id": 12608698557, "lat": 19.43565, "lon": -99.134215}, {"type": "node", "id": 12608698558, "lat": 19.435719, "lon": -99.1342058}, {"type": "node", "id": 12608698559, "lat": 19.4357251, "lon": -99.1338766}, {"type": "node", "id": 12608698560, "lat": 19.4358251, "lon": -99.1342372}, {"type": "node", "id": 12608698561, "lat": 19.4358055, "lon": -99.1340663}, {"type": "node", "id": 12608698562, "lat": 19.4358519, "lon": -99.1340603}, {"type": "node", "id": 12608698563, "lat": 19.435838, "lon": -99.133942}, {"type": "node", "id": 12608698564, "lat": 19.4358075, "lon": -99.1339461}, {"type": "node", "id": 12608698565, "lat": 19.4357981, "lon": -99.1338668}, {"type": "node", "id": 12608698566, "lat": 19.4357318, "lon": -99.1339328}, {"type": "node", "id": 12608698567, "lat": 19.4356873, "lon": -99.1339387}, {"type": "node", "id": 12608698568, "lat": 19.4358592, "lon": -99.1338585}, {"type": "node", "id": 12608698569, "lat": 19.4358747, "lon": -99.1339939}, {"type": "node", "id": 12608698570, "lat": 19.4358447, "lon": -99.1339978}, {"type": "node", "id": 12608698571, "lat": 19.4358483, "lon": -99.1340289}, {"type": "node", "id": 12608698572, "lat": 19.4358784, "lon": -99.134025}, {"type": "node", "id": 12608698573, "lat": 19.4359843, "lon": -99.1340432}, {"type": "node", "id": 12608698574, "lat": 19.4359583, "lon": -99.1338451}, {"type": "node", "id": 12608698575, "lat": 19.4360077, "lon": -99.1342218}, {"type": "node", "id": 12608698576, "lat": 19.4358263, "lon": -99.1342476}, {"type": "node", "id": 12608698577, "lat": 19.4360393, "lon": -99.1344627}, {"type": "node", "id": 12608698578, "lat": 19.4356713, "lon": -99.1343944}, {"type": "node", "id": 12608698579, "lat": 19.4360241, "lon": -99.1343469}, {"type": "node", "id": 12608698580, "lat": 19.4356407, "lon": -99.134477}, {"type": "node", "id": 12608698581, "lat": 19.4356362, "lon": -99.1344437}, {"type": "node", "id": 12608698582, "lat": 19.4353879, "lon": -99.1344813}, {"type": "node", "id": 12608698583, "lat": 19.4353924, "lon": -99.1345146}, {"type": "node", "id": 12608698584, "lat": 19.435911, "lon": -99.1346394}, {"type": "node", "id": 12608698585, "lat": 19.435879, "lon": -99.1346443}, {"type": "node", "id": 12608698586, "lat": 19.4359045, "lon": -99.1345907}, {"type": "node", "id": 12608698587, "lat": 19.4358713, "lon": -99.1345957}, {"type": "node", "id": 12608698588, "lat": 19.4359852, "lon": -99.1346279}, {"type": "node", "id": 12608698589, "lat": 19.4360253, "lon": -99.1346217}, {"type": "node", "id": 12608698590, "lat": 19.4360189, "lon": -99.1345736}, {"type": "node", "id": 12608698591, "lat": 19.4359788, "lon": -99.1345796}, {"type": "node", "id": 12608698592, "lat": 19.4360081, "lon": -99.1344673}, {"type": "node", "id": 12608698593, "lat": 19.4359796, "lon": -99.1344715}, {"type": "node", "id": 12608698594, "lat": 19.4359332, "lon": -99.1344783}, {"type": "node", "id": 12608698595, "lat": 19.4359002, "lon": -99.1344831}, {"type": "node", "id": 12608698596, "lat": 19.4360102, "lon": -99.1344853}, {"type": "node", "id": 12608698597, "lat": 19.4359818, "lon": -99.1344891}, {"type": "node", "id": 12608698598, "lat": 19.4359353, "lon": -99.1344952}, {"type": "node", "id": 12608698599, "lat": 19.4359023, "lon": -99.1344996}, {"type": "node", "id": 12763232086, "lat": 19.4305389, "lon": -99.1385878}, {"type": "node", "id": 12763232087, "lat": 19.4307721, "lon": -99.1385513}, {"type": "node", "id": 12763232088, "lat": 19.4307927, "lon": -99.1386989}, {"type": "node", "id": 12763232089, "lat": 19.4305595, "lon": -99.1387355}, {"type": "way", "id": 143292663, "nodes": [1568054865, 1568054860, 1568054866, 1568054885, 1568054883, 1568054884, 1568054863, 1568054868, 1568054865]}, {"type": "way", "id": 158032442, "nodes": [1702714627, 1702714573, 1702714567, 5117844462, 5117844463, 1702714611, 1702714627], "tags": {"addr:housenumber": "27", "building": "yes", "name": "Casa Jose de la Borda"}}, {"type": "way", "id": 158032443, "nodes": [1702714565, 1702714563, 5117920327, 1702714596, 1702714602, 1702714565], "tags": {"addr:housenumber": "39", "building": "yes", "name": "Casa del Marqu\u00e9s de Prado Alegre"}}, {"type": "way", "id": 158032448, "nodes": [1702714650, 1702714659, 1702714662, 12046573877, 1702714660, 1702714661, 1702714638, 1702714633, 1702714616, 1702714613, 1702714631, 1702714629, 1702714650], "tags": {"alt_name": "Oratorio de San Felipe Neri", "amenity": "place_of_worship", "building": "church", "denomination": "catholic", "name": "Iglesia de la Profesa", "religion": "christian", "wikidata": "Q7698749", "wikimedia_commons": "Category:La Profesa", "wikipedia": "es:La Profesa"}}, {"type": "way", "id": 158032453, "nodes": [1702714542, 5868903156, 1702714594, 11014746688, 2265913404, 11014746678, 11014746680, 11014746681, 11014746679, 4596567531, 8515293319, 8515293320, 4596567530, 11014746689, 11014746693, 11014746692, 11014746691, 11014746695, 11014746694, 11014746690, 4596567526, 4596567525, 4596567521, 8515293326, 8515293324, 12007782652, 4596567524, 2265913406, 1702714540, 1702714542]}, {"type": "way", "id": 158032454, "nodes": [1702714648, 5117844479, 5117844480, 5117844481, 5117844482, 1702714585, 1702714582, 5117844645, 1702714636, 1702714648], "tags": {"addr:housenumber": "17", "building": "yes", "internet_access": "wlan", "internet_access:fee": "no", "name": "Palacio de Iturbide", "opening_hours": "Mo-Su 10:00-19:00", "tourism": "attraction", "wikidata": "Q130898", "wikimedia_commons": "Category:Palace of Iturbide", "wikipedia": "es:Palacio de Iturbide"}}, {"type": "way", "id": 158032455, "nodes": [1702714547, 1702714545, 11016336335, 1702714538, 11276685680, 11276685679, 11276685681, 11276685685, 11276685686, 11276685682, 2265912440, 11276685687, 2265912438, 11276685678, 11276685677, 1702714539, 11016336328, 1702714547]}, {"type": "way", "id": 158032456, "nodes": [1702714543, 11278072445, 1702714537, 2265994230, 11277950622, 2265994231, 11277950620, 11277950626, 11277950627, 11277950625, 2265994226, 11278072449, 1702714535, 11278072447, 1702714541, 11278072448, 1702714543]}, {"type": "way", "id": 217316689, "nodes": [2265907839, 1869860307, 1869860309, 1869860308, 1869860306, 2265907835, 2265907839], "tags": {"alt_name": "La Ense\u00f1anza", "amenity": "place_of_worship", "building": "church", "denomination": "catholic", "name": "Nuestra Se\u00f1ora del Pilar", "religion": "christian", "wikidata": "Q6462320", "wikipedia": "en:La Ense\u00f1anza Church"}}, {"type": "way", "id": 217316690, "nodes": [2265907842, 1869866670, 5117940774, 5116475366, 2265907831, 2265907842], "tags": {"building": "yes", "name": "Museo de la Caricatura", "tourism": "museum", "wikidata": "Q5039534", "wikipedia": "en:Caricature Museum, Mexico City"}}, {"type": "way", "id": 217316707, "nodes": [2265908631, 2265908630, 2265908629, 2265908628, 2265908631]}, {"type": "way", "id": 217317272, "nodes": [1702714538, 2265912443, 2265912442, 2265912444, 2265912441, 2265912445, 2265912439, 1702714539, 11276685677, 11276685678, 2265912438, 11276685687, 2265912440, 11276685682, 11276685683, 11276685684, 11276685680, 1702714538], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "5", "addr:street": "20 de Noviembre", "brand": "Palacio de Hierro", "brand:wikidata": "Q5351735", "building": "retail", "building:architecture": "art_deco", "contact:phone": "+52 55 57289905", "contact:website": "http://elpalaciodehierro.com", "name": "Palacio de Hierro", "opening_hours": "Mo-Sa 11:00-21:00; Su 11:00-19:30", "shop": "department_store"}}, {"type": "way", "id": 217317507, "nodes": [2265912539, 2265912537, 5117969384, 2265912540, 2265912538, 2265912539], "tags": {"amenity": "place_of_worship", "building": "yes", "denomination": "roman_catholic", "name": "Templo de San Bernardo", "religion": "christian"}}, {"type": "way", "id": 217322988, "nodes": [2265957580, 12590646891, 2265957578, 12590646892, 12590646893, 12590646890, 2265957579, 2265957581, 2265957580]}, {"type": "way", "id": 217323312, "nodes": [2265962378, 2265962380, 2265962379, 2265962377, 2265962378], "tags": {"amenity": "library", "building": "yes", "name": "Biblioteca de la Suprema Corte de Justicia"}}, {"type": "way", "id": 217323362, "nodes": [2265964327, 6614345398, 2265964325, 2265964332, 5117880951, 2265964323, 5117880983, 5117880984, 2265964327], "tags": {"building": "yes", "name": "Casa de los Condes de Miravalle"}}, {"type": "way", "id": 217323364, "nodes": [2265964331, 2265964329, 2265964334, 2265964321, 2265964331], "tags": {"building": "yes", "name": "Casino Espa\u00f1ol"}}, {"type": "way", "id": 217323406, "nodes": [2265964483, 2265964487, 2265964484, 2265964486, 2265964485, 2265964483], "tags": {"building": "yes", "fee": "no", "name": "Museo del Estanquillo", "tourism": "museum", "wikidata": "Q6034430", "wikimedia_commons": "Category:Museo del Estanquillo, Mexico City", "wikipedia": "en:Museo del Estanquillo"}}, {"type": "way", "id": 217323494, "nodes": [10167443593, 2265965072, 10167443594, 10167443595, 10167443596, 10167443593], "tags": {"alt_name": "Foto Valpara\u00edso", "building": "yes", "building:levels": "3", "historic": "manor", "name": "Casa de los Condes de San Mateo de Valpara\u00edso"}}, {"type": "way", "id": 217323880, "nodes": [2265968017, 2265968021, 2265968023, 2265968019, 2265968017], "tags": {"building": "yes", "name": "Casa del Conde de San Bartolom\u00e9 de Xala"}}, {"type": "way", "id": 217324317, "nodes": [2265970423, 2267012591, 2267012595, 2267012594, 2267013466, 2267013457, 2267012592, 2267012590, 2265970423], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "76", "addr:postcode": "06000", "addr:street": "Calle Rep\u00fablica de El Salvador", "amenity": "place_of_worship", "building": "yes", "denomination": "roman_catholic", "name": "San Agust\u00edn", "religion": "christian"}}, {"type": "way", "id": 217324707, "nodes": [2265972050, 2265972047, 2265972044, 2265972049, 2265972050], "tags": {"addr:housenumber": "30", "addr:postcode": "06060", "addr:street": "Pino Su\u00e1rez", "building": "yes", "name": "Museo de la Ciudad de M\u00e9xico", "opening_hours": "Tu-Su 10:00-18:00", "tourism": "museum", "wikidata": "Q1402600", "wikipedia": "en:Museum of Mexico City"}}, {"type": "way", "id": 217326786, "nodes": [1702714537, 2265994229, 11277950621, 2265994228, 2265994227, 11277950618, 11277950619, 2265994230, 1702714537], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "92", "addr:street": "Venustiano Carranza", "brand": "Liverpool", "brand:wikidata": "Q1143318", "building": "retail", "building:architecture": "art_deco", "building:colour": "lightgrey", "building:levels": "7", "name": "Liverpool", "roof:levels": "0", "roof:shape": "flat", "shop": "department_store", "wheelchair": "limited"}}, {"type": "way", "id": 217326933, "nodes": [2265995563, 2265995562, 2265995564, 2265995570, 2265995566, 2265995572, 2265995561, 2265995563], "tags": {"building": "yes", "name": "Gran Hotel de la Ciudad de M\u00e9xico", "tourism": "hotel"}}, {"type": "way", "id": 217428855, "nodes": [2266955177, 12299967280, 2266955183, 2266955180, 12299967281, 2266955178, 2266955177], "tags": {"building": "transportation", "name": "Metro Allende"}}, {"type": "way", "id": 217428856, "nodes": [2266955181, 12299967282, 2266955179, 2266955176, 12299967283, 2266955182, 2266955181], "tags": {"building": "transportation", "name": "Metro Allende"}}, {"type": "way", "id": 217429445, "nodes": [10167460047, 2266961558, 2266961556, 2266961554, 5117843900, 10167460048, 10167460047]}, {"type": "way", "id": 217434882, "nodes": [2267007413, 2267007407, 2267007410, 2267007418, 2267007413], "tags": {"building": "yes", "name": "Plaza Comercial Oaxaca La Paja", "shop": "mall"}}, {"type": "way", "id": 217434884, "nodes": [2267007419, 10823040795, 2267007400, 2267007404, 2267007401, 2267007403, 2267007417, 2267007408, 2267007416, 2267007405, 9913633430, 9913627294, 2267007411, 10823040798, 2267007409, 2267007406, 2267007402, 2267007414, 2267007419], "tags": {"amenity": "place_of_worship", "building": "church", "denomination": "catholic", "name": "Iglesia de Jes\u00fas Nazareno", "religion": "christian", "wikidata": "Q16577558", "wikimedia_commons": "Category:Jesus Nazareno Church, historic center of Mexico City", "wikipedia": "es:Iglesia de Jes\u00fas Nazareno (Ciudad de M\u00e9xico)"}}, {"type": "way", "id": 217435395, "nodes": [2267013451, 2267013455, 2267013461, 2267013457, 2267013466, 2267013454, 2267013469, 2267012595, 2267012591, 2267013459, 5117651155, 5117651158, 2267013464, 2267013451], "tags": {"amenity": "parking", "building": "yes", "parking": "multi-storey"}}, {"type": "way", "id": 217435784, "nodes": [2267016851, 2267013451, 2267013455, 2267012592, 2267012590, 8893473498, 2267016851], "tags": {"building": "yes"}}, {"type": "way", "id": 217435785, "nodes": [2267016839, 2267016838, 2267016850, 2267016852, 2267016839], "tags": {"building": "commercial"}}, {"type": "way", "id": 217435787, "nodes": [2267016856, 2267016842, 2267016859, 2267016835, 2267016856], "tags": {"building": "commercial"}}, {"type": "way", "id": 217436698, "nodes": [2267025319, 2267025303, 2267025313, 2267025300, 2267025319], "tags": {"amenity": "parking", "building": "yes", "parking": "multi-storey"}}, {"type": "way", "id": 217468148, "nodes": [2267303372, 2267303393, 10029601610, 2267303347, 2267303373, 2267303387, 5116475371, 10029601609, 2267303372], "tags": {"building": "yes", "name": "Pasaje Catedral", "shop": "mall"}}, {"type": "way", "id": 217580062, "nodes": [2268649344, 5117969411, 2268649346, 5117738856, 2268649342, 2268649350, 2268649348, 2268649340, 2268649338, 2268649335, 2268649344], "tags": {"building": "industrial"}}, {"type": "way", "id": 217661365, "nodes": [2269746262, 2269746259, 2269746266, 2269746270, 2269746267, 5117761392, 2269746258, 2269746262], "tags": {"building": "yes", "name": "Montep\u00edo Luz Savi\u00f1\u00f3n"}}, {"type": "way", "id": 217661366, "nodes": [2269746272, 2269746268, 2269746261, 2269746263, 5122761604, 5122761603, 5122761602, 5122761601, 2269746272], "tags": {"alt_name": "Instituto de Ciencia y Tecnolog\u00eda del Distrito Federal", "building": "yes", "name": "Casa de los Condes de Heras y Soto"}}, {"type": "way", "id": 276670014, "nodes": [2812602535, 2812602536, 5117844484, 2812602537, 12403601545, 2812602538, 12403601544, 5117844647, 2812602539, 12403601546, 12403601547, 2812602540, 2812602541, 2812602535], "tags": {"amenity": "parking", "building": "yes", "parking": "street_side"}}, {"type": "way", "id": 276670015, "nodes": [4045323985, 2812602543, 2812602544, 2812602545, 4045323985], "tags": {"building": "commercial"}}, {"type": "way", "id": 276670833, "nodes": [2812612855, 2812612856, 2812612857, 2812612858, 2812612859, 2812613586, 2812612855], "tags": {"addr:housenumber": "5", "addr:postcode": "06010", "addr:street": "Gante", "amenity": "place_of_worship", "building": "yes", "denomination": "methodist", "name": "Templo de la Sant\u00edsima Trinidad (Iglesia Metodista de M\u00e9xico)", "religion": "christian"}}, {"type": "way", "id": 276670950, "nodes": [2812613584, 2812613585, 2812613586, 2812613587, 2812613584], "tags": {"building": "commercial"}}, {"type": "way", "id": 276671572, "nodes": [10167388667, 10167388668, 2812619831, 2812619832, 2265907835, 1869860306, 1869860308, 1869860309, 1869860307, 2265907839, 10167388667]}, {"type": "way", "id": 276671945, "nodes": [2812623128, 2812623129, 2812623130, 5117940774, 1869866670, 2265907842, 2812623128], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "18", "addr:postcode": "06010", "addr:street": "Rep\u00fablica de Guatemala", "amenity": "arts_centre", "building": "yes", "name": "Centro Cultural de Espa\u00f1a en M\u00e9xico", "phone": "01 55 5521 1925", "website": "http://ccemx.org/", "wheelchair": "limited", "wikidata": "Q5062814", "wikimedia_commons": "Category:Centro Cultural de Espa\u00f1a en M\u00e9xico", "wikipedia": "es:Centro Cultural de Espa\u00f1a en M\u00e9xico"}}, {"type": "way", "id": 301852708, "nodes": [3060049224, 3060049225, 5117438602, 3060049226, 3060049227, 3060049224]}, {"type": "way", "id": 371232672, "nodes": [3748114083, 5117974101, 3748114077, 3748114076, 3748114079, 3748114078, 3748114081, 3748114080, 5117974102, 5117656654, 3748114082, 3748114083], "tags": {"building": "yes"}}, {"type": "way", "id": 371259390, "nodes": [3748389747, 5118107675, 3748389746, 5117974100, 3748389743, 3748389744, 5117974099, 3748389745, 3748389747], "tags": {"building": "yes"}}, {"type": "way", "id": 371495601, "nodes": [3750607647, 3750607648, 3750607649, 3750607650, 3750607651, 3750607652, 3750607647], "tags": {"building": "yes", "historic": "yes"}}, {"type": "way", "id": 371495602, "nodes": [5140351011, 5140351008, 5140351001, 8273117430, 8273117429, 3750607654, 3750607655, 5140351009, 5140351010, 5140351011], "tags": {"building": "yes", "historic": "yes"}}, {"type": "way", "id": 371495613, "nodes": [3750607693, 3750607694, 3750607695, 5117969392, 3750607696, 3750607693], "tags": {"building": "commercial", "operator": "Parisina"}}, {"type": "way", "id": 371543692, "nodes": [3751087848, 3751087849, 5117844634, 3751087850, 5117844638, 5117844633, 5117844632, 3751087851, 12046573886, 3751087848], "tags": {"building": "yes", "name": "Plaza Madero", "shop": "mall"}}, {"type": "way", "id": 378234102, "nodes": [3816385535, 3816385536, 3816385537, 3816385538, 5117855701, 3816385535], "tags": {"building": "hotel"}}, {"type": "way", "id": 402556580, "nodes": [4049515327, 4049515329, 4049515328, 4049515326, 5117969390, 4049515325, 4049515327], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "79", "addr:postcode": "06000", "addr:street": "Venustiano Carranza", "building": "commercial"}}, {"type": "way", "id": 402556581, "nodes": [4049515337, 4049515336, 4049515335, 4049515334, 4049515332, 4049515331, 4049515330, 4049515333, 5117969400, 4049515337], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "72", "addr:street": "Venustiano Carranza", "building": "retail"}}, {"type": "way", "id": 403513741, "nodes": [4058631217, 4058631214, 4058631213, 4058631212, 4058631211, 4058631210, 10167460023, 4058631209, 4058631215, 4058631216, 4058631217], "tags": {"addr:city": "Cuauht\u00e9moc", "addr:housenumber": "27", "addr:postcode": "06000", "addr:street": "16 de Septiembre", "amenity": "community_centre", "building": "yes", "contact:phone": "+52 55 57224200", "name": "Club de Banqueros de M\u00e9xico"}}, {"type": "way", "id": 403515317, "nodes": [4058637090, 4058637091, 4058637092, 4058637093, 4058637090], "tags": {"addr:city": "Cuauht\u00e9moc", "addr:housenumber": "39", "addr:postcode": "06000", "addr:street": "Venustiano Carranza", "building": "commercial"}}, {"type": "way", "id": 415682427, "nodes": [4166734943, 4166734944, 4166734945, 4166734946, 4166734943]}, {"type": "way", "id": 415682429, "nodes": [4166734947, 4166734948, 4166734949, 4166734950, 4166734947]}, {"type": "way", "id": 415682431, "nodes": [4166734951, 8515293322, 4166734953, 4166734954, 4166734951]}, {"type": "way", "id": 421942558, "nodes": [4216786877, 4216786878, 4216786879, 5116475216, 4216786880, 4216786877], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "74", "addr:postcode": "06000", "addr:street": "Donceles", "building": "commercial", "name": "Edificio Plancarte y Labastida"}}, {"type": "way", "id": 421942559, "nodes": [4216786888, 4216788689, 4216788690, 4216788691, 4216786888], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "86", "addr:postcode": "06000", "addr:street": "Donceles", "building": "commercial"}}, {"type": "way", "id": 432388970, "nodes": [10167443597, 4314552016, 10167443598, 10167443599, 10167443600, 10167443597], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "43", "addr:postcode": "06010", "addr:street": "Palma", "brand": "Nike Factory Store", "brand:wikidata": "Q483915", "building": "yes", "name": "Nike Factory Store", "official_name": "Nike Factory Store Centro Hist\u00f3rico", "operator": "Nike", "shop": "clothes"}}, {"type": "way", "id": 464547176, "nodes": [4596472233, 4596472225, 4596472226, 4596472232, 4596472233], "tags": {"addr:housenumber": "93", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 464547177, "nodes": [4596472229, 4596472227, 4596472226, 4596472232, 4596472228, 4596472229], "tags": {"addr:housenumber": "65", "addr:street": "Ciclov\u00eda 20 de Noviembre", "building": "yes", "building:levels": "11"}}, {"type": "way", "id": 464547179, "nodes": [4596472230, 4596472229, 4596472228, 4596472234, 4596472237, 10823040787, 10823040789, 4596472230], "tags": {"addr:housenumber": "102", "addr:street": "Calle Rep\u00fablica de El Salvador", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 464547182, "nodes": [4596472235, 4596472233, 4596472232, 4596472228, 4596472234, 4596472235], "tags": {"addr:housenumber": "91", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 464547183, "nodes": [4596472236, 4596472235, 4596472234, 4596472237, 10823040781, 4596472236], "tags": {"addr:housenumber": "89", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 464560115, "nodes": [4596567516, 4596567515, 4596567514, 4596567513, 4596567516]}, {"type": "way", "id": 464560117, "nodes": [4596567536, 5868903155, 4596567535, 4596567534, 4596567533, 4596567536]}, {"type": "way", "id": 526045671, "nodes": [5116434598, 5116434597, 5116434596, 5116434595, 5116434598], "tags": {"addr:housenumber": "45", "addr:street": "Isabel la Catolica", "alt_name": "Edificio Miguel E. Abed Apycsa", "building": "yes", "building:architecture": "art_deco", "height": "60", "name": "Edificio Miguel E. Abed II", "office": "government"}}, {"type": "way", "id": 526045675, "nodes": [5116434614, 5116434611, 5116434612, 5116434613, 5116434614], "tags": {"building": "retail", "building:levels": "4"}}, {"type": "way", "id": 526045679, "nodes": [5116435430, 5116435427, 5116435428, 5116435429, 5116435430], "tags": {"building": "yes", "building:levels": "10"}}, {"type": "way", "id": 526045680, "nodes": [2265965076, 5116435431, 10167443601, 10167443602, 5116435432, 5116435433, 2265965076], "tags": {"building": "yes", "building:levels": "3mm"}}, {"type": "way", "id": 526045683, "nodes": [5116435444, 5116435443, 5116435442, 2265995570, 2265995566, 11223728167, 5116435444], "tags": {"building": "yes"}}, {"type": "way", "id": 526046102, "nodes": [5116438435, 5116438438, 5116438437, 5116438436, 5117276848, 5117276849, 5116438435], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "66", "addr:postcode": "06020", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "yes", "name": "Novedades Cristal", "operator": "Grupo Julios", "shop": "department_store"}}, {"type": "way", "id": 526047440, "nodes": [5116454919, 5116454916, 5116454917, 5116454918, 5116454919], "tags": {"amenity": "parking", "building": "yes", "parking": "street_side"}}, {"type": "way", "id": 526052855, "nodes": [5116475216, 5116475217, 5116475219, 5116475218, 4216786880, 5116475216], "tags": {"building": "yes"}}, {"type": "way", "id": 526052856, "nodes": [5116475219, 5116475323, 5116475220, 5116475321, 5116475218, 5116475219], "tags": {"building": "yes"}}, {"type": "way", "id": 526052859, "nodes": [4216788690, 5116475324, 5116475325, 5116475328, 4216788689, 4216788690], "tags": {"building": "yes"}}, {"type": "way", "id": 526052860, "nodes": [4216786888, 5116475326, 5116475330, 5116475327, 5116475328, 4216788689, 4216786888], "tags": {"building": "yes"}}, {"type": "way", "id": 526052869, "nodes": [5116475354, 5116475356, 2812619829, 5116475353, 5116475354], "tags": {"building": "yes"}}, {"type": "way", "id": 526052870, "nodes": [5116475356, 5116475354, 5116475357, 5116475358, 5116475356], "tags": {"building": "yes"}}, {"type": "way", "id": 526052871, "nodes": [5116475359, 5116475357, 5116475358, 5116475324, 5116475325, 5116475360, 5116475361, 5116475362, 5116475359], "tags": {"building": "yes"}}, {"type": "way", "id": 526052872, "nodes": [2265907831, 5116475363, 5116475364, 5117438609, 5116475365, 5116475366, 2265907831], "tags": {"building": "yes"}}, {"type": "way", "id": 526052873, "nodes": [5116475367, 5116475368, 5116475374, 5116475369, 5116475367], "tags": {"building": "yes"}}, {"type": "way", "id": 526052874, "nodes": [5116475369, 5116475370, 5116475373, 5116475374, 5116475369], "tags": {"building": "yes"}}, {"type": "way", "id": 526052875, "nodes": [5116475368, 5116475371, 2267303387, 2267303373, 5116475372, 5116475373, 5116475374, 5116475368], "tags": {"building": "yes"}}, {"type": "way", "id": 526187434, "nodes": [5117438596, 5117438597, 5117438598, 5117438599, 5117438600, 5117438601, 5117438596], "tags": {"building": "yes"}}, {"type": "way", "id": 526187435, "nodes": [5117438602, 5117438603, 5117438604, 3060049226, 5117438602], "tags": {"building": "yes"}}, {"type": "way", "id": 526187436, "nodes": [5117438597, 5117438598, 5117438605, 5117438606, 5117438607, 5117438597], "tags": {"building": "yes"}}, {"type": "way", "id": 526187437, "nodes": [5117438607, 5117438608, 5117438609, 5116475364, 5117438606, 5117438607], "tags": {"building": "yes"}}, {"type": "way", "id": 526209033, "nodes": [5117614610, 5117614609, 5117614608, 9913633429, 5117614590, 5117614589, 9913627292, 9913627293, 2267007405, 2267007416, 2267007408, 2267007417, 2267007403, 2267007401, 2267007404, 2267007400, 9913633431, 5117614607, 5117614610]}, {"type": "way", "id": 526213096, "nodes": [5117651155, 5117651156, 5117651157, 5117651158, 5117651155], "tags": {"building": "yes"}}, {"type": "way", "id": 526213097, "nodes": [5117651157, 5117651159, 5117651163, 5117651160, 2267013459, 5117651155, 5117651156, 5117651157], "tags": {"building": "yes"}}, {"type": "way", "id": 526213838, "nodes": [5117656651, 5117656652, 5117656655, 5117656653, 5117656654, 5117656651], "tags": {"amenity": "library", "building": "yes", "name": "San Felipe Neri"}}, {"type": "way", "id": 526213840, "nodes": [5117656655, 5117656656, 5117656657, 5117656658, 5117656652, 5117656655], "tags": {"building": "yes"}}, {"type": "way", "id": 526219776, "nodes": [5117709312, 5117709313, 5117709314, 5140366634, 5140366633, 5117709315, 5117709312], "tags": {"building": "apartments"}}, {"type": "way", "id": 526219777, "nodes": [5140366629, 5140366628, 5140366627, 5117709318, 5117709319, 5117709320, 5117709316, 5140366629], "tags": {"building": "commercial"}}, {"type": "way", "id": 526219778, "nodes": [5140351020, 5140366621, 5117709921, 5117709922, 5140351019, 5140351020], "tags": {"building": "apartments"}}, {"type": "way", "id": 526222523, "nodes": [5117728385, 5117728389, 5117728386, 5117728387, 5117728388, 5117728385], "tags": {"building": "yes"}}, {"type": "way", "id": 526222524, "nodes": [5117728389, 5117728390, 5117728391, 5117728392, 5117728393, 5117728394, 5117728387, 5117728386, 5117728389], "tags": {"building": "yes"}}, {"type": "way", "id": 526222525, "nodes": [5117728393, 5117728395, 5117728396, 5117728394, 5117728393], "tags": {"building": "yes"}}, {"type": "way", "id": 526222526, "nodes": [5117728395, 5117728397, 5117728398, 5117728396, 5117728395], "tags": {"building": "yes"}}, {"type": "way", "id": 526223557, "nodes": [2268649338, 2268649340, 2268649348, 2268649350, 2268649342, 5117738855, 2268649338], "tags": {"building": "yes"}}, {"type": "way", "id": 526223559, "nodes": [5117738856, 5117738857, 5117738859, 5117738876, 5117738860, 5117738861, 5117738862, 5117738855, 2268649342, 5117738856], "tags": {"building": "yes"}}, {"type": "way", "id": 526223560, "nodes": [5117738861, 5117738860, 5117738863, 5117738865, 5117738864, 5117738862, 5117738861], "tags": {"building": "yes"}}, {"type": "way", "id": 526223562, "nodes": [5117738865, 5117738866, 5117738867, 5117738864, 5117738865], "tags": {"building": "yes"}}, {"type": "way", "id": 526223563, "nodes": [5117738866, 5117738868, 5117738869, 5117738867, 5117738866], "tags": {"building": "yes"}}, {"type": "way", "id": 526223565, "nodes": [5117738868, 5117738870, 5117738871, 5117738869, 5117738868], "tags": {"building": "yes"}}, {"type": "way", "id": 526223567, "nodes": [5117738872, 5117738873, 5117738866, 5117738865, 5117738863, 5117738872], "tags": {"building": "yes"}}, {"type": "way", "id": 526223568, "nodes": [5117738873, 5117738874, 5117738870, 5117738868, 5117738866, 5117738873], "tags": {"building": "yes"}}, {"type": "way", "id": 526223570, "nodes": [5117738859, 5117969418, 5117738875, 5117738874, 5117738873, 5117738872, 5117738876, 5117738859], "tags": {"building": "yes"}}, {"type": "way", "id": 526226276, "nodes": [2269746258, 5117761394, 5119856346, 5122471127, 5122761607, 5122761610, 5120141447, 5117761392, 2269746258], "tags": {"addr:city": "Mexico", "addr:housename": "Hospital del Divino Salvador", "addr:street": "Calle Donceles", "building": "yes", "historic": "yes", "name": "Hospital del Divino Salvador", "wikidata": "Q9004964", "wikipedia": "en:Hospital del Divino Salvador"}}, {"type": "way", "id": 526231441, "nodes": [5117803151, 5117803152, 5117803153, 5117803154, 5117803151], "tags": {"building": "yes"}}, {"type": "way", "id": 526234163, "nodes": [5117832301, 5117832302, 5117974103, 5117832303, 5117832304, 5117832301], "tags": {"building": "yes"}}, {"type": "way", "id": 526236375, "nodes": [12587112387, 5117843895, 5117843896, 9049174765, 9049174764, 5117843897, 2266961552, 5117843901, 5117843899, 12587112387], "tags": {"building": "yes", "name": "Museo del Ej\u00e9rcito y Fuerza A\u00e9rea Mexicanos Bethlemitas", "tourism": "museum"}}, {"type": "way", "id": 526236415, "nodes": [5117844511, 5117844512, 5117844513, 5117844514, 5117844515, 5117844511], "tags": {"building": "yes"}}, {"type": "way", "id": 526236417, "nodes": [5117844511, 5117844516, 5117844517, 5117844621, 5117844518, 5117844515, 5117844511], "tags": {"building": "yes"}}, {"type": "way", "id": 526236419, "nodes": [10167460019, 2418219465, 10167460020, 10167460021, 10167460019], "tags": {"alt_name": "El Corona", "amenity": "pub", "branch": "\"Filomeno Mata", "building": "yes", "cuisine": "mexican", "name": "Sal\u00f3n Corona", "source": "Survey", "wifi": "no"}}, {"type": "way", "id": 526238910, "nodes": [5117855678, 5117855679, 5117855680, 5117855681, 5117855678], "tags": {"addr:housenumber": "67", "addr:street": "Francisco I. Madero", "building": "retail", "building:levels": "7"}}, {"type": "way", "id": 526238912, "nodes": [5117855678, 5117855684, 5117855687, 5117855686, 5117855679, 5117855678], "tags": {"addr:housenumber": "62", "addr:street": "Francisco I Madero", "building": "retail", "building:levels": "2", "roof:levels": "1"}}, {"type": "way", "id": 526238913, "nodes": [5117855687, 5117855686, 5117855688, 5117855689, 5116435442, 5116435443, 5117855687], "tags": {"building": "yes"}}, {"type": "way", "id": 526238917, "nodes": [5117855698, 5117855699, 5117855703, 5140351007, 3750607653, 5117855700, 5117855698], "tags": {"building": "yes"}}, {"type": "way", "id": 526238918, "nodes": [5117855701, 5117855702, 5140351011, 5140351008, 5140351006, 5140351007, 5117855703, 5117855704, 5117855701], "tags": {"building": "yes"}}, {"type": "way", "id": 526242029, "nodes": [10167443610, 5117880959, 5117880960, 10167443611, 10167460017, 10167460018, 10167443610], "tags": {"building": "yes", "building:levels": "3"}}, {"type": "way", "id": 526242030, "nodes": [5117880962, 5117880963, 5117880964, 5117880965, 5117880962], "tags": {"building": "yes"}}, {"type": "way", "id": 526242033, "nodes": [5117880973, 5140366631, 5140366632, 5140366636, 5140366624, 5117880975, 5117920334, 5117709318, 5140366627, 5117880973], "tags": {"building": "yes"}}, {"type": "way", "id": 526248131, "nodes": [5117709319, 5117709922, 5117709921, 5117920334, 5117709318, 5117709319], "tags": {"building": "yes"}}, {"type": "way", "id": 526248135, "nodes": [5140366632, 5140366631, 5117880973, 5117709314, 5117709313, 5140366630, 5140366632], "tags": {"building": "yes"}}, {"type": "way", "id": 526249379, "nodes": [5117930092, 5117930093, 5117930094, 5117930095, 5117930096, 5117930097, 5117930092], "tags": {"addr:housenumber": "12", "addr:street": "Vizca\u00ednas", "building": "apartments", "building:levels": "5", "roof:levels": "0"}}, {"type": "way", "id": 526250681, "nodes": [1702714732, 5140311361, 5117855709, 1702714725, 1702714673, 1702714682, 1702714698, 5140311366, 5140311365, 1702714706, 1702714702, 1702714732], "tags": {"brand": "Nacional Monte de Piedad", "brand:wikidata": "Q3402106", "building": "yes", "image": "https://photos.app.goo.gl/DJmjXD8pZyizDKMH6", "name": "Nacional Monte de Piedad", "shop": "pawnbroker"}}, {"type": "way", "id": 526250683, "nodes": [5117940757, 5117940758, 4904771630, 5117940759, 5117940757], "tags": {"building": "yes"}}, {"type": "way", "id": 526250684, "nodes": [5117940759, 5117940760, 5117940761, 4904771630, 5117940759], "tags": {"building": "yes"}}, {"type": "way", "id": 526250685, "nodes": [10700764713, 5117940765, 5117940768, 5117940770, 10865711015, 5117940771, 10700764708, 12608698536, 10700764711, 10700764713], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "84", "addr:postcode": "06000", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 526250689, "nodes": [2812623130, 5117438608, 5117438609, 5116475365, 5116475366, 5117940774, 2812623130], "tags": {"building": "residential"}}, {"type": "way", "id": 526251312, "nodes": [5117940760, 2267303347, 2267303373, 5116475372, 5117940761, 5117940760], "tags": {"building": "yes"}}, {"type": "way", "id": 526251313, "nodes": [5117940758, 4904771630, 5117940761, 5116475372, 5116475373, 5116475370, 5117940758], "tags": {"building": "yes"}}, {"type": "way", "id": 526251314, "nodes": [2267303393, 2812623129, 2812623128, 2267303372, 2267303393], "tags": {"building": "yes"}}, {"type": "way", "id": 526251928, "nodes": [2269746267, 5122446462, 12299967272, 5117955934, 5117955935, 5122761439, 5122761440, 2269746270, 2269746267], "tags": {"building": "yes"}}, {"type": "way", "id": 526251929, "nodes": [5117955936, 12587112386, 5117955938, 9049174767, 5117955941, 12587112384, 5117955944, 5117955945, 5117955936], "tags": {"amenity": "library", "building": "yes", "name": "Biblioteca del Congreso de la Uni\u00f3n", "old_name": "Iglesia de Santa Clara", "wikidata": "Q6542700", "wikipedia": "es:Biblioteca del H. Congreso de la Uni\u00f3n"}}, {"type": "way", "id": 526253301, "nodes": [5117969381, 5117969382, 5117969383, 5117969384, 2265912540, 5117969385, 5117969386, 5117969381], "tags": {"building": "yes"}}, {"type": "way", "id": 526253302, "nodes": [4049515326, 5117969387, 5117969391, 5117728391, 5117728392, 5117728393, 5117969388, 5117969389, 5117969390, 4049515326], "tags": {"building": "yes"}}, {"type": "way", "id": 526253303, "nodes": [5117969388, 5117969386, 5117969385, 5117728397, 5117728395, 5117728393, 5117969388], "tags": {"building": "yes"}}, {"type": "way", "id": 526253304, "nodes": [5117969387, 5117969391, 5117728389, 5117728385, 5117969387], "tags": {"building": "yes"}}, {"type": "way", "id": 526253306, "nodes": [5117969397, 5117969398, 5117969405, 5117969399, 5117969397], "tags": {"building": "yes"}}, {"type": "way", "id": 526253307, "nodes": [5117969399, 4049515337, 5117969400, 5117969401, 5117969402, 5117969407, 5117969403, 5117969404, 5117969398, 5117969405, 5117969399], "tags": {"building": "yes"}}, {"type": "way", "id": 526253308, "nodes": [5117969402, 5117969401, 5117969406, 5117969407, 5117969402], "tags": {"building": "yes"}}, {"type": "way", "id": 526253309, "nodes": [5117969401, 5117969400, 4049515333, 5117969408, 5117969406, 5117969401], "tags": {"building": "yes"}}, {"type": "way", "id": 526253310, "nodes": [5117969407, 5117969406, 5117969408, 5117969403, 5117969407], "tags": {"building": "yes"}}, {"type": "way", "id": 526253311, "nodes": [5117969409, 5117969410, 2268649346, 5117969411, 5117969409], "tags": {"building": "yes"}}, {"type": "way", "id": 526253312, "nodes": [5117969409, 5117969411, 2268649344, 5117969412, 5117969409], "tags": {"building": "yes"}}, {"type": "way", "id": 526253313, "nodes": [5117969410, 5117969413, 5117738857, 5117738856, 2268649346, 5117969410], "tags": {"building": "yes"}}, {"type": "way", "id": 526253314, "nodes": [5117969413, 5117969414, 5117738859, 5117738857, 5117969413], "tags": {"building": "yes"}}, {"type": "way", "id": 526253315, "nodes": [5117969414, 5117969415, 5117969421, 5117969416, 5117969417, 5117969418, 5117738859, 5117969414], "tags": {"building": "yes"}}, {"type": "way", "id": 526253316, "nodes": [5117969415, 5117969419, 5117969420, 5117969421, 5117969415], "tags": {"building": "yes"}}, {"type": "way", "id": 526253317, "nodes": [5117969419, 5117969422, 5117969423, 5117969424, 5117969419], "tags": {"building": "yes"}}, {"type": "way", "id": 526253318, "nodes": [5117969424, 5117969423, 5117738875, 5117969418, 5117969417, 5117969424], "tags": {"building": "yes"}}, {"type": "way", "id": 526253912, "nodes": [5117974094, 5117974095, 5117974098, 5117974096, 5117974097, 5117974094], "tags": {"building": "yes"}}, {"type": "way", "id": 526253915, "nodes": [5117974100, 5117974101, 3748114077, 3748389743, 5117974100], "tags": {"building": "yes"}}, {"type": "way", "id": 526253916, "nodes": [5117974102, 5117974103, 5117832302, 3748114076, 3748114079, 3748114078, 3748114081, 3748114080, 5117974102], "tags": {"building": "yes"}}, {"type": "way", "id": 526253918, "nodes": [5117974104, 5117974105, 5117974106, 5117974107, 5117974108, 5117974109, 5117974110, 5117974104], "tags": {"addr:housenumber": "18B", "addr:street": "Vizca\u00ednas", "building": "apartments", "building:levels": "3", "roof:levels": "0"}}, {"type": "way", "id": 526270780, "nodes": [5118107660, 5118107661, 5118107662, 5118107663, 5118107664, 5118107665, 5118107666, 5118107667, 5118107668, 5118107673, 5118107670, 5118107669, 5118107660], "tags": {"building": "yes"}}, {"type": "way", "id": 526543079, "nodes": [2266955183, 12299967280, 2266955177, 5122471127, 5122761607, 5122761608, 5122761609, 5122761610, 5120141447, 5122446478, 5119635000, 2266955183], "tags": {"building": "yes"}}, {"type": "way", "id": 526839752, "nodes": [5122446467, 12299967270, 5122446462, 2269746267, 12299967268, 5122471129, 5122446465, 5122446464, 5122446467], "tags": {"building": "transportation", "name": "Metro Allende"}}, {"type": "way", "id": 526839753, "nodes": [5122446464, 5122446465, 5122446473, 5122446466, 12299967269, 12299967279, 5122446467, 5122446464], "tags": {"building": "yes"}}, {"type": "way", "id": 526839755, "nodes": [5122446480, 5122446466, 5122446473, 5126168713, 5126168714, 5122446480], "tags": {"building": "yes"}}, {"type": "way", "id": 526839756, "nodes": [5122446480, 5126168714, 5122446479, 5122446478, 5119635000, 5122446480], "tags": {"building": "yes"}}, {"type": "way", "id": 529086178, "nodes": [5140350995, 5140351016, 5140351000, 5140350998, 5140350997, 5140350996, 5140350995], "tags": {"building": "retail"}}, {"type": "way", "id": 529086179, "nodes": [5140351000, 5140351015, 5140351012, 5140350999, 5140350998, 5140351000], "tags": {"building": "yes"}}, {"type": "way", "id": 529086180, "nodes": [5140351001, 8273117430, 8273117428, 8273117427, 8273117429, 3750607654, 5140351005, 5140351004, 5140351003, 5140351002, 5140351001], "tags": {"building": "yes", "name": "Museo Mexicano del Dise\u00f1o", "short_name": "mumedi", "tourism": "museum"}}, {"type": "way", "id": 529086181, "nodes": [5140351009, 3750607656, 5117855702, 5140351011, 5140351010, 5140351009], "tags": {"building": "yes", "historic": "yes"}}, {"type": "way", "id": 529086182, "nodes": [5140350998, 5140350999, 5140351013, 5140350995, 5140350996, 5140350997, 5140350998], "tags": {"building": "retail"}}, {"type": "way", "id": 529086183, "nodes": [5140351005, 5140351014, 5117855700, 3750607653, 5140351008, 5140351001, 5140351002, 5140351003, 5140351004, 5140351005], "tags": {"addr:housenumber": "71", "addr:street": "Francisco y Madero", "building": "retail", "building:levels": "2"}}, {"type": "way", "id": 529086184, "nodes": [5140351012, 5117855698, 5117855700, 5140351014, 5140351013, 5140350999, 5140351012], "tags": {"addr:housenumber": "70", "addr:street": "Francisco y Madero", "building": "retail", "building:levels": "3"}}, {"type": "way", "id": 529086185, "nodes": [5140351018, 5140351020, 5140351019, 5140351017, 5140351018], "tags": {"building": "apartments"}}, {"type": "way", "id": 529086186, "nodes": [5140351017, 5117709923, 5117709924, 5117920338, 5140351018, 5140351017], "tags": {"building": "apartments"}}, {"type": "way", "id": 529086190, "nodes": [5140366627, 5117880973, 5117709314, 5140366634, 5140366633, 5117709315, 5117709316, 5140366629, 5140366628, 5140366627], "tags": {"building": "yes"}}, {"type": "way", "id": 529086191, "nodes": [5140366630, 5140366635, 5140366636, 5140366632, 5140366630], "tags": {"building": "yes"}}, {"type": "way", "id": 618043862, "nodes": [5842051975, 5842051976, 5842051977, 5842051978, 5842051975]}, {"type": "way", "id": 618043863, "nodes": [5842051979, 5842051980, 5842051981, 5842051982, 5842051979]}, {"type": "way", "id": 618043864, "nodes": [5842051983, 5842051984, 5842052285, 5842052286, 5842051983]}, {"type": "way", "id": 618043865, "nodes": [5842052287, 5842052288, 5842052289, 5842052290, 5842052287]}, {"type": "way", "id": 862398526, "nodes": [8034525120, 8034525119, 8034525118, 8034525117, 8034525120], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 862420735, "nodes": [8034279590, 8034246630, 8034246574, 8034246631, 8034246575, 8034246576, 8034279591, 8034277590, 8034279592, 8034246633, 8034246577, 8038819004, 8034246418, 8038819092, 8034246697, 8034246419, 8034246578, 8034246579, 8038819388, 8034246580, 8034246581, 8038819200, 8034246582, 8034246420, 8034246583, 8034246634, 8038819785, 8034246584, 8034279593, 8038489785, 8034279786, 8034247285, 8034247286, 8034246635, 8034247287, 8034247288, 8034246889, 8034247289, 8034246636, 8034247290, 8034246637, 8034247291, 8038819289, 8034246638, 8034246639, 8034247292, 8034279787, 8038818892, 8038818891, 8034247293, 8034247294, 8034247295, 8034246640, 8034246641, 8038819190, 8034279789, 8034279885, 8034246421, 8034247297, 8034247298, 8034246698, 8034247299, 8034246422, 8034247300, 8034246385, 8034246485, 8034279790, 8034279594, 8034279791, 8034246386, 8034246486, 8034246487, 8034246488, 8034246489, 8034279595, 8034277688, 8034279886, 8034279792, 8034279596, 8034246493, 8034246494, 8034246495, 8034246496, 8034279887, 8034277689, 8034277690, 8034279597, 8034246586, 8034279985, 8034279793, 8034277691, 8034279888, 8034280085, 8034279598, 8034277692, 8034277591, 8034279599, 8034277693, 8034277694, 8034279687, 8034279794, 8034279795, 8034279600, 8034279889, 8034279601, 8034279602, 8034279603, 8034279796, 8034277592, 8038351454, 8038260986, 8038261093, 8038417202, 8038351455, 8038273087, 8038273285, 8038273090, 8038261098, 8038272988, 9651141829, 8038261097, 8038282985, 8038273091, 8038273106, 8038351456, 8034514194, 8041534875, 8034514087, 8038273104, 8038261105, 8038260993, 8038261104, 8038261103, 8038273486, 9651141828, 8038273101, 9651229327, 8034187670, 8038417203, 8038260995, 8038260994, 8144945329, 8038818689, 8038261106, 8034187676, 8034246548, 8034246549, 8034246550, 8034277585, 8034277586, 8034277685, 8034277587, 8034246551, 8034425552, 8034246616, 8034246552, 8034246617, 8034425407, 8034246553, 8034279585, 8038489718, 8034279586, 8034246554, 8034246409, 8034246555, 8034246410, 8038489803, 8034246618, 8034246556, 8034246557, 8034246694, 8034246619, 8038489894, 8038489986, 8038489987, 8034246621, 8034246622, 8034246558, 8038819496, 8034277588, 8034277589, 8038489685, 8034279685, 8034279587, 8034279588, 8034246623, 8034246624, 8034246559, 8034246560, 8034246561, 8038818604, 8034246414, 8034246695, 8038819495, 8034246415, 8034246416, 8034246563, 8034246564, 8034246565, 8034246417, 8038819299, 8034277686, 8034246566, 8034246696, 8034246625, 8034246567, 8034246626, 8038819298, 8034246568, 8034279686, 8038819297, 8038818601, 8038818895, 8038819096, 8038818793, 8038819390, 8038819095, 8038819493, 8038819389, 8038819094, 8038818600, 8038819206, 8038819485, 8034279590], "tags": {"building": "yes", "building:levels": "1", "building:levels:underground": "1", "denomination": "catholic", "description:en": "Built by Lorenzo Rodr\u00edguez during the the Baroque period between 1749 and 1760, to house the archives and vestments of the archbishop. It also functioned and continues to function as a place to receive Eucharist and register parishioners.", "height": "15", "historic": "building", "image": "https://photos.app.goo.gl/goh6KVuAz5NAkftK8", "indoor": "level", "level": "0", "name": "Parroquia de la Asunci\u00f3n - Sagrario Metropolitano", "name:en": "Metropolitan Tabernacle", "wall": "yes", "wheelchair": "limited", "wikimedia_commons": "File:EntranceSagrariumDF.JPG"}}, {"type": "way", "id": 862852010, "nodes": [8034246587, 8034279797, 8034783385, 8034277594, 8034246497, 9651137016, 8034246588, 8034246589, 8034246590, 8034246498, 8034246591, 8034246499, 8034277695, 8034277696, 8034783185, 8034277595, 8034246592, 8034277596, 8034277697, 8034279890, 8034279605, 8034279798, 8034277698, 8034279799, 8034279800, 8034279606, 8034279607, 8034279688, 8034277597, 8034277699, 8034277700, 8034246593, 8034246502, 8034277598, 8034279689, 8034277599, 8034279801, 8034277701, 8034279891, 8034280086, 8034279690, 8034266585, 8034279802, 8034266685, 8034246595, 8034246506, 8034279691, 8034277702, 8034280087, 8034279803, 8034277600, 8034279804, 8034277703, 8034279805, 8034246395, 8034246596, 8038219317, 8038219340, 8038219318, 8038203693, 8038219320, 8038219321, 8038219499, 8038219323, 8038219324, 8038219500, 8038219325, 8038219888, 8038219327, 8038219328, 8034246687, 8034246597, 8034246598, 8034246396, 8034246397, 8034246398, 8034246399, 8038219314, 8034309295, 8034246599, 8034246508, 8034246509, 8034246510, 8034246600, 8034246511, 8038219501, 8038219502, 8034246400, 8034246601, 8034246512, 8034246602, 8034246603, 8034246604, 8034246688, 8034246513, 8034246689, 8034246401, 8034246514, 8034246605, 8034246606, 8034277601, 8034279608, 8034279806, 8034277704, 8034279807, 8034279609, 8034279610, 9651233319, 8034246402, 8034426632, 8034246886, 9651233318, 8034277602, 8034246517, 8034259486, 8034187679, 8034246609, 8034160170, 8034160169, 8034246524, 8034246692, 8034246887, 8034277706, 8034279808, 8034279611, 8034279809, 8034279810, 8034246525, 9651137014, 8034246612, 8034246526, 8034246527, 8034246528, 8034279612, 8034277603, 8034279613, 8034277604, 8034279811, 8034279614, 8034277605, 8034246594, 8034246693, 8034246530, 8034246531, 8034246532, 8034246613, 9651137015, 8034246404, 8034246505, 8034246504, 8034246394, 8034246393, 8034246533, 8034187660, 8034187677, 8034246535, 8034246546, 8034187676, 8038261106, 8038818689, 8144945329, 8038260994, 8038819386, 8038260995, 8038417203, 8034187670, 9651229327, 8038273101, 9651141828, 8038273486, 8038261103, 8038261104, 8038260993, 8038261105, 8038273104, 8034514087, 8041534875, 8034514194, 8038351456, 8038273106, 8038273091, 8038282985, 8038261097, 9651141829, 8038272988, 8038261098, 8038273090, 8038273285, 8038273087, 8038351455, 8038417202, 8038261093, 8038260986, 8038351454, 9651233320, 9651233317, 8034246587], "tags": {"amenity": "place_of_worship", "building": "church", "building:levels": "2", "building:levels:underground": "1", "denomination": "catholic", "description": "La Catedral Metropolitana de la Asunci\u00f3n de la Sant\u00edsima Virgen Mar\u00eda a los cielos de la Ciudad de M\u00e9xico es la sede de la Arquidi\u00f3cesis Primada de M\u00e9xico. Se inicio su construcci\u00f3n en 1570.", "height": "67", "historic": "building", "indoor": "level", "level": "0", "name": "Catedral Metropolitana de la Ciudad de M\u00e9xico", "religion": "christian", "wall": "yes", "wheelchair": "limited", "wikidata": "Q610961", "wikimedia_commons": "File:Zocalo cathedral.jpg", "wikipedia": "es:Catedral Metropolitana de la Ciudad de M\u00e9xico"}}, {"type": "way", "id": 862873648, "nodes": [8034246587, 8034279797, 8034783385, 8034277594, 8034246497, 9651137016, 8034246588, 8034246589, 8034246590, 8034246498, 8034246591, 8034246499, 8034277695, 8034277696, 8034783185, 8034277595, 8034246592, 8034277596, 8034277697, 8034279890, 8034279605, 8034279798, 8034277698, 8034279799, 8034279800, 8034279606, 8034279607, 8034279688, 8034277597, 8034277699, 8034277700, 8034246593, 8034246502, 8034277598, 8034279689, 8034277599, 8034279801, 8034277701, 8034279891, 8034280086, 8034279690, 8034266585, 8034279802, 8034266685, 8034246595, 8034246506, 8034279691, 8034277702, 8034280087, 8034279803, 8034277600, 8034279804, 8034277703, 8034279805, 8034246395, 8034246596, 8038219317, 8038219340, 8038219318, 8038203693, 8038219320, 8038219321, 8038219499, 8038219323, 8038219324, 8038219500, 8038219325, 8038219888, 8038219327, 8038219328, 8034246687, 8034246597, 8034246598, 8034246396, 8034246397, 8034246398, 8034246399, 8038219314, 8034309295, 8034246599, 8034246508, 8034246509, 8034246510, 8034246600, 8034246511, 8038219501, 8038219502, 8034246400, 8034246601, 8034246512, 8034246602, 8034246603, 8034246604, 8034246688, 8034246513, 8034246689, 8034246401, 8034246514, 8034246605, 8034246606, 8034277601, 8034279608, 8034279806, 8034277704, 8034279807, 8034279609, 8034279610, 9651233319, 8034246402, 8034426632, 8034246886, 9651233318, 8034277602, 8034246517, 8034259486, 8034187679, 8034246609, 8034160170, 8034160169, 8034246524, 8034246692, 8034246887, 8034277706, 8034279808, 8034279611, 8034279809, 8034279810, 8034246525, 9651137014, 8034246612, 8034246526, 8034246527, 8034246528, 8034279612, 8034277603, 8034279613, 8034277604, 8034279811, 8034279614, 8034277605, 8034246594, 8034246693, 8034246530, 8034246531, 8034246532, 8034246613, 9651137015, 8034246404, 8034246505, 8034246504, 8034246394, 8034246393, 8034246533, 8034187660, 8034187677, 8034246535, 8034246546, 8034187676, 8038261106, 8038818689, 8144945329, 8038260994, 8038260995, 8038417203, 8034187670, 9651229327, 8038273101, 9651141828, 8038273486, 8038261103, 8038261104, 8038260993, 8038261105, 8038273104, 8034514087, 8041534875, 8034514194, 8038351456, 8038273106, 8038273091, 8038282985, 8038261097, 9651141829, 8038272988, 8038261098, 8038273090, 8038273285, 8038273087, 8038351455, 8038417202, 8038261093, 8038260986, 8038351454, 9651233320, 9651233317, 8034246587], "tags": {"building": "cathedral", "building:levels": "2", "building:levels:underground": "1", "denomination": "catholic", "image": "https://commons.wikimedia.org/wiki/File:Catedral_de_M%C3%A9xico.jpg", "image:0": "https://photos.app.goo.gl/kgGr5rBrvy2ayUzS9", "indoor": "level", "level": "-1", "name": "Catedral Metropolitana de la Ciudad de M\u00e9xico", "tourism": "attraction", "wall": "yes", "wheelchair": "no", "wikidata": "Q610961", "wikipedia": "es:Catedral Metropolitana de la Ciudad de M\u00e9xico"}}, {"type": "way", "id": 959166365, "nodes": [8875453017, 4058631209, 10167460023, 8875453018, 8875453019, 8875453020, 10167460024, 10167460025, 8875453017], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "14", "addr:postcode": "06000", "addr:street": "Calle Venustiano Carranza", "amenity": "place_of_worship", "building": "yes", "denomination": "roman_catholic", "name": "Iglesia del Colegio de Ni\u00f1as", "religion": "christian"}}, {"type": "way", "id": 961434452, "nodes": [8893473496, 8893473499, 8893473500, 8893473501, 2265970423, 2267012590, 8893473498, 8893473497, 8893473496], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "69", "addr:postcode": "06000", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "temple", "name": "Ex-iglesia de San Agust\u00edn / Ex-Biblioteca Nacional"}}, {"type": "way", "id": 961434453, "nodes": [8893473495, 8893473502, 8893473501, 8893473500, 8893473499, 8893473496, 8893473495], "tags": {"building": "temple", "name": "Ex-Capilla de la Tercera Orden / Ex-Biblioteca Nacional"}}, {"type": "way", "id": 977925640, "nodes": [5117220125, 5117220124, 9048766696, 9048766697, 5117220125], "tags": {"amenity": "place_of_worship", "building": "yes", "denomination": "greek_catholic", "name": "Porta C\u00e6li", "religion": "christian"}}, {"type": "way", "id": 977977433, "nodes": [5117843896, 9049174766, 5117843897, 9049174764, 9049174765, 5117843896], "tags": {"building": "church", "name": "Capilla de Betlemitas"}}, {"type": "way", "id": 977977434, "nodes": [5117291504, 9049174768, 12587112385, 12587112384, 5117955941, 5117291505, 5117291502, 12299967278, 5117291504], "tags": {"building": "transportation", "name": "Metro Allende"}}, {"type": "way", "id": 1081655392, "nodes": [9913633432, 9913633433, 9913633434, 9913633435, 9913633432]}, {"type": "way", "id": 1081655393, "nodes": [9913633436, 9913633437, 9913633438, 9913633439, 9913633436]}, {"type": "way", "id": 1095151073, "nodes": [10029337094, 10029337095, 10029337096, 10029337097, 10029337098, 10029337099, 10029337094], "tags": {"building": "yes", "name": "Fussion", "shop": "radiotechnics"}}, {"type": "way", "id": 1095452898, "nodes": [10032102288, 10032102287, 10032102286, 10032102285, 10032102288]}, {"type": "way", "id": 1095452899, "nodes": [10032102292, 10032102291, 10032102290, 10032102289, 10032102292]}, {"type": "way", "id": 1095452900, "nodes": [10032102296, 10032102295, 10032102294, 10032102293, 10032102296]}, {"type": "way", "id": 1095452901, "nodes": [10032102300, 10032102299, 10032102298, 10032102297, 10032102300]}, {"type": "way", "id": 1095452902, "nodes": [10032102304, 10032102303, 11650508549, 11650508550, 11650508552, 11650508553, 11650508554, 11650508555, 11650508556, 11650508557, 11650508558, 11650508551, 10032102302, 10032102301, 10032102304]}, {"type": "way", "id": 1106469832, "nodes": [12046573873, 10125131760, 10125131761, 12046573874, 12046573873], "tags": {"building": "yes", "image": "https://photos.app.goo.gl/mDj2r35WHoggD7teA", "man_made": "tower", "tower:type": "bell_tower"}}, {"type": "way", "id": 1111171272, "nodes": [10167443604, 10167443605, 10167443606, 10167443607, 10167443608, 10167443609, 10167443604], "tags": {"building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1111171273, "nodes": [10167460049, 10167460050, 10167460051, 10167460052, 10167460049]}, {"type": "way", "id": 1150580342, "nodes": [10167443610, 10703089453, 10703089454, 10703089455, 10167460018, 10167443610], "tags": {"addr:housenumber": "35", "addr:street": "Calle 5 de Mayo", "building": "yes", "building:architecture": "art_deco"}}, {"type": "way", "id": 1163740442, "nodes": [10822894597, 10822894598, 4511087428, 10822894599, 10822894597], "tags": {"addr:housenumber": "25", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 1163740443, "nodes": [4511087431, 10822894600, 10822894597, 10822894598, 4511087431], "tags": {"addr:housenumber": "109", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 1163740444, "nodes": [4511087430, 10822894601, 10822894602, 10822894600, 4511087431, 4511087430], "tags": {"addr:housenumber": "107", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163740445, "nodes": [10822894601, 10822915410, 10822894603, 10822894604, 10822894602, 10822894601], "tags": {"addr:housenumber": "105", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163740447, "nodes": [10822915408, 10822915411, 10822915412, 10822915413, 10822915414, 10822915408], "tags": {"addr:housenumber": "110", "building": "yes", "building:levels": "7"}}, {"type": "way", "id": 1163740448, "nodes": [10822915413, 10822915415, 10822915416, 10822915407, 10822915414, 10822915413], "tags": {"addr:housenumber": "114", "building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1163740449, "nodes": [10822915416, 10822915417, 10822915418, 10822915415, 10822915416], "tags": {"addr:housenumber": "116", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163740450, "nodes": [10822915416, 10822915407, 10822915406, 10822915405, 10822915417, 10822915416], "tags": {"addr:housenumber": "13", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764233, "nodes": [10823040782, 10823040783, 4596472236, 10823040781, 10823040782], "tags": {"addr:housenumber": "87", "addr:street": "Calle Rep\u00fablica de Uruguay", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764234, "nodes": [10823040782, 10823040785, 4596472238, 10823040784, 10823040783, 10823040782], "tags": {"addr:housenumber": "24", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "5", "layer": "1"}}, {"type": "way", "id": 1163764235, "nodes": [4596472238, 10823040786, 10823040787, 4596472237, 10823040781, 10823040782, 4596472238], "tags": {"addr:housenumber": "26", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764236, "nodes": [10823040786, 10823040788, 10823040789, 10823040787, 10823040786], "tags": {"addr:housenumber": "28", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764237, "nodes": [10823040788, 10823040790, 4596472230, 10823040789, 10823040788], "tags": {"addr:housenumber": "30", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764238, "nodes": [2267007411, 10823040796, 10823040797, 10823040798, 2267007411], "tags": {"building": "yes", "man_made": "tower", "tower:type": "bell_tower"}}, {"type": "way", "id": 1163764242, "nodes": [2267007969, 10823040800, 10823040801, 10823040802, 2267007969], "tags": {"addr:housenumber": "77", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 1163764243, "nodes": [10823040802, 10823040803, 10823040804, 10823040801, 10823040802], "tags": {"addr:housenumber": "79", "building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1163764251, "nodes": [10823123320, 10823123321, 10823123322, 10823123326, 10823123328, 10823123323, 10823123324, 2267007971, 10823123320], "tags": {"addr:housenumber": "103", "addr:street": "Calle Rep\u00fablica de El Salvador", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1163764252, "nodes": [10823123325, 10823123326, 10823123322, 10823123321, 10823123325], "tags": {"addr:housenumber": "34", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1163764253, "nodes": [10823123325, 10823123327, 10823123328, 10823123326, 10823123325], "tags": {"addr:housenumber": "36", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1163764254, "nodes": [10823123327, 10823123329, 10823123323, 10823123328, 10823123327], "tags": {"addr:housenumber": "38", "addr:street": "Calle 5 de Febrero", "building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1168336942, "nodes": [10865654694, 10865654695, 10865654696, 10865654697, 10865654694], "tags": {"building": "yes", "building:levels": "4", "name": "Hotel Washington", "tourism": "hotel"}}, {"type": "way", "id": 1168336943, "nodes": [10865654698, 10865654699, 10865654700, 10865654701, 10865654698], "tags": {"building": "yes", "building:levels": "4", "name": "Hotel Zamora", "tourism": "hotel"}}, {"type": "way", "id": 1168336944, "nodes": [10865654699, 10865710907, 10865654695, 10865654694, 10865654700, 10865654699], "tags": {"addr:street": "Calle 5 de Mayo", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336945, "nodes": [10865654702, 10865710906, 10865654703, 10865654704, 10865710905, 10865654702], "tags": {"building": "yes", "building:architecture": "modernism", "building:levels": "6", "name": "Edificio Alcaiceria"}}, {"type": "way", "id": 1168336946, "nodes": [10865710906, 10865710907, 10865654699, 10865654698, 10865654703, 10865710906], "tags": {"addr:street": "Callej\u00f3n de la Cazuela", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1168336947, "nodes": [10865710906, 10865654702, 10865654696, 10865654695, 10865710907, 10865710906], "tags": {"addr:housenumber": "13", "addr:street": "Calle Palma Norte", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1168336948, "nodes": [10865710908, 10865710909, 10865710910, 10865710911, 10865710912, 10865710913, 10865710914, 10865711009, 10865710915, 10865710916, 10865710931, 10865710932, 10865710917, 10865710918, 10865710919, 10865710908], "tags": {"amenity": "parking", "building": "yes", "parking": "multi-storey"}}, {"type": "way", "id": 1168336949, "nodes": [10865710936, 10865710993, 10865710937, 10865710938, 10865710939, 10865710995, 10865710941, 10865710936], "tags": {"addr:housenumber": "5", "addr:street": "Calle Palma Norte", "building": "yes", "building:levels": "5", "name": "Centro Joyero Palma"}}, {"type": "way", "id": 1168336950, "nodes": [10865710940, 10865711016, 10865710995, 10865710939, 10865710942, 10865710940], "tags": {"addr:housenumber": "73", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336951, "nodes": [10865710943, 10865710944, 10865710945, 10865710946, 10865710943], "tags": {"addr:housenumber": "308", "addr:street": "Calle Palma Norte", "building": "yes", "building:levels": "6", "name": "Edificio Mexico"}}, {"type": "way", "id": 1168336952, "nodes": [10865710944, 10865710947, 10865710948, 10865710943, 10865710944], "tags": {"addr:housenumber": "76", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1168336953, "nodes": [10865710947, 10865710949, 10865710950, 10865710981, 10865710948, 10865710947], "tags": {"addr:housenumber": "74A", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336954, "nodes": [10865710949, 10865710951, 10865710955, 10865710952, 10865710968, 10865710950, 10865710949], "tags": {"addr:housenumber": "72", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1168336955, "nodes": [10865710951, 10865710953, 10865710954, 10865710955, 10865710951], "tags": {"addr:housenumber": "68", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1168336956, "nodes": [10865710953, 10865710956, 10865710957, 10865710954, 10865710953], "tags": {"addr:housenumber": "66", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1168336957, "nodes": [10865710957, 10865710958, 10865710959, 10865710956, 10865710957], "tags": {"addr:housenumber": "64", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1168336958, "nodes": [10865710959, 10865710960, 10865710961, 10865710958, 10865710959], "tags": {"addr:housenumber": "62", "addr:street": "Calle Tacuba", "building": "yes", "building:architecture": "art_deco", "building:levels": "3"}}, {"type": "way", "id": 1168336959, "nodes": [10865710960, 10865710962, 10865710963, 10865710964, 10865710961, 10865710960], "tags": {"addr:housenumber": "60", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "4", "name": "Edificio Mediavilla"}}, {"type": "way", "id": 1168336960, "nodes": [10865710965, 10865710964, 10865710961, 10865710958, 10865710957, 10865710966, 10865710965], "tags": {"building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336962, "nodes": [10865710972, 10865710967, 10865710971, 10865710970, 10865710977, 10865710974, 10865710972], "tags": {"addr:housenumber": "7", "addr:street": "Calle Rep\u00fablica de Chile", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 1168336963, "nodes": [10865710973, 10865710972, 10865710974, 10865710975, 10865710973], "tags": {"addr:housenumber": "55", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1168336964, "nodes": [10865710975, 10865710976, 10865710977, 10865710974, 10865710975], "tags": {"addr:housenumber": "57", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "4"}}, {"type": "way", "id": 1168336965, "nodes": [10865710943, 10865710978, 10865710979, 10865710946, 10865710943], "tags": {"addr:housenumber": "330", "addr:street": "Calle Palma Norte", "building": "yes", "building:architecture": "art_deco", "building:levels": "4"}}, {"type": "way", "id": 1168336966, "nodes": [10865710980, 10865710981, 10865710948, 10865710943, 10865710978, 10865710980], "tags": {"addr:housenumber": "67", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336967, "nodes": [10865710976, 10865710982, 10865710983, 10865710970, 10865710977, 10865710976], "tags": {"addr:housenumber": "59", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336968, "nodes": [10865710982, 10865710984, 10865710985, 10865710983, 10865710982], "tags": {"addr:housenumber": "61", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336969, "nodes": [10865710984, 10865710986, 10865710969, 10865710985, 10865710984], "tags": {"addr:housenumber": "63", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336970, "nodes": [10865710986, 10865710980, 10865710981, 10865710950, 10865710968, 10865710969, 10865710986], "tags": {"addr:housenumber": "65", "addr:street": "Calle Donceles", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336971, "nodes": [10865710995, 10865710941, 10865710994, 10865710987, 10865710988, 10865710940, 10865711016, 10865710995], "tags": {"addr:housenumber": "71", "addr:street": "Calle Tacuba", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336972, "nodes": [10865710987, 10865710989, 10865710990, 10865710988, 10865710987], "tags": {"addr:housenumber": "69", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336973, "nodes": [10865710991, 10865710908, 10865710919, 10865710918, 10865710992, 10865710991], "tags": {"addr:housenumber": "6", "addr:street": "Calle Isabel la Cat\u00f3lica", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336974, "nodes": [10865710989, 10865710917, 10865710932, 10865710931, 10865710937, 10865710993, 10865710936, 10865710941, 10865710994, 10865710987, 10865710989], "tags": {"addr:street": "Callej\u00f3n de la Cazuela", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336975, "nodes": [10865710992, 10865710996, 10865710997, 10865710998, 10865710990, 10865710989, 10865710917, 10865710918, 10865710992], "tags": {"addr:housenumber": "65", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336976, "nodes": [10865710999, 10865710991, 10865710992, 10865710996, 10865710997, 10865710998, 10865710999], "tags": {"addr:housenumber": "2", "addr:street": "Calle Isabel la Cat\u00f3lica", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336977, "nodes": [10865710915, 10865711011, 10865711000, 10865711001, 10865710916, 10865710915], "tags": {"addr:housenumber": "19", "addr:street": "Callej\u00f3n de la Cazuela", "building": "yes", "building:levels": "6"}}, {"type": "way", "id": 1168336978, "nodes": [10865711000, 10865711013, 10865711002, 10865711003, 10865711004, 10865711005, 10865711001, 10865711000], "tags": {"addr:housenumber": "48", "addr:street": "Calle 5 de Mayo", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336979, "nodes": [10865711006, 10865711007, 10865711008, 10865711009, 10865710914, 10865710913, 10865710912, 10865710911, 10865710910, 10865710909, 10865711006], "tags": {"addr:housenumber": "10", "addr:street": "Calle Isabel la Cat\u00f3lica", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336980, "nodes": [10865711006, 10865711010, 10865711011, 10865710915, 10865711009, 10865711008, 10865711007, 10865711006], "tags": {"addr:housenumber": "12", "addr:street": "Calle Isabel la Cat\u00f3lica", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 1168336981, "nodes": [10865711010, 10865711012, 10865711013, 10865711000, 10865711011, 10865711010], "tags": {"addr:housenumber": "14", "addr:street": "Calle Isabel la Cat\u00f3lica", "building": "yes", "building:levels": "3"}}, {"type": "way", "id": 1168336982, "nodes": [10865711012, 10865711014, 10865711004, 10865711003, 10865711002, 10865711013, 10865711012], "tags": {"addr:housenumber": "46", "building": "yes", "building:levels": "4", "name": "Casa de las Ajaracas"}}, {"type": "way", "id": 1185813522, "nodes": [11014746639, 11014746640, 11014746641, 11014746642, 11014746643, 11014746644, 11014746645, 11014746646, 11014746639]}, {"type": "way", "id": 1185813523, "nodes": [11014746647, 11014746648, 11014746649, 11014746650, 11014746651, 11014746652, 11014746653, 11014746654, 11014746647]}, {"type": "way", "id": 1185813524, "nodes": [11014746655, 11014746656, 11014746657, 11014746658, 11014746655]}, {"type": "way", "id": 1185813525, "nodes": [11014746659, 11014746660, 11014746661, 11014746662, 11014746659]}, {"type": "way", "id": 1185813526, "nodes": [11014746663, 11014746664, 11014746665, 11014746666, 11014746663]}, {"type": "way", "id": 1185821582, "nodes": [11014729989, 11014729990, 11014729991, 11014729992, 11014729989]}, {"type": "way", "id": 1185821583, "nodes": [11014729993, 11014729994, 11014729995, 11014729996, 11014729993]}, {"type": "way", "id": 1185821584, "nodes": [11014729997, 11014729998, 11014729999, 11014730000, 11014729997]}, {"type": "way", "id": 1185821585, "nodes": [11014730001, 11014730002, 11014730003, 11014730004, 11014730001]}, {"type": "way", "id": 1185821586, "nodes": [11014802205, 11014802206, 11014802207, 11014802208, 11014802205]}, {"type": "way", "id": 1185821587, "nodes": [11014802209, 11014802210, 11014802211, 11014802212, 11014802209]}, {"type": "way", "id": 1185821588, "nodes": [11014802213, 11014802214, 11014802215, 11014802216, 11014802213]}, {"type": "way", "id": 1186027585, "nodes": [11277950619, 11277950618, 2265994227, 2265994226, 11277950625, 11277950620, 2265994231, 11277950619], "tags": {"addr:housenumber": "94", "addr:street": "Calle Venustiano Carranza", "building": "retail", "building:colour": "lightgrey", "building:levels": "4", "roof:levels": "0", "roof:shape": "flat"}}, {"type": "way", "id": 1258404122, "nodes": [11698675213, 11698675214, 11698675215, 11698675216, 11698675213]}, {"type": "way", "id": 1264992243, "nodes": [11751664538, 11751664539, 11751664540, 11751664544, 11751664541, 11751664538], "tags": {"building": "yes"}}, {"type": "way", "id": 1264992244, "nodes": [11751664540, 11751664542, 11751664543, 11751664544, 11751664540], "tags": {"building": "yes"}}, {"type": "way", "id": 1264992245, "nodes": [11751664543, 11751664546, 11751664545, 11751664538, 11751664541, 11751664544, 11751664543], "tags": {"building": "yes"}}, {"type": "way", "id": 1300593818, "nodes": [12046573870, 10167443611, 5117880960, 12046573871, 12046573872, 12046573870], "tags": {"building": "yes"}}, {"type": "way", "id": 1300593819, "nodes": [1702714662, 12046573882, 12046573883, 12046573879, 12046573880, 12046573875, 1702714650, 1702714659, 1702714662], "tags": {"building": "church"}}, {"type": "way", "id": 1300593820, "nodes": [1702714613, 12046573873, 12046573874, 1702714629, 1702714631, 1702714613], "tags": {"building": "church"}}, {"type": "way", "id": 1300593821, "nodes": [1702714638, 12046573876, 1702714616, 1702714633, 1702714638], "tags": {"building": "church"}}, {"type": "way", "id": 1300593822, "nodes": [12046573877, 12046573878, 1702714661, 1702714660, 12046573877], "tags": {"building": "church"}}, {"type": "way", "id": 1300593823, "nodes": [12046573879, 12046573880, 12046573875, 12046573881, 12046573879], "tags": {"building": "yes", "image": "https://photos.app.goo.gl/mDj2r35WHoggD7teA", "man_made": "tower", "tower:type": "bell_tower"}}, {"type": "way", "id": 1340897493, "nodes": [12403540096, 12403540093, 12403540094, 12403540095, 12403540096], "tags": {"building": "yes"}}, {"type": "way", "id": 1340897494, "nodes": [12403601504, 12403540099, 12403540098, 12403540097, 12403540100, 12403601501, 12403601502, 12403601503, 12403601504], "tags": {"building": "yes"}}, {"type": "way", "id": 1340897495, "nodes": [12403601513, 12403601512, 12403601511, 12403601509, 12403601505, 12403601506, 12403601507, 12403601508, 12403601510, 12403601513], "tags": {"building": "yes"}}, {"type": "way", "id": 1340897496, "nodes": [12403601517, 12403601514, 12403601515, 12403601516, 12403601517], "tags": {"building": "yes"}}, {"type": "way", "id": 1340897497, "nodes": [12403601521, 12403601518, 12403601519, 12403601520, 12403601521], "tags": {"building": "yes"}}, {"type": "way", "id": 1340897499, "nodes": [12403601543, 12403601542, 12403601538, 12403601539, 12403601541, 12403601540, 12403601543], "tags": {"building": "yes", "building:levels": "5"}}, {"type": "way", "id": 1361854798, "nodes": [12608698532, 10700764711, 10700764713, 12608698533, 12608698532], "tags": {"addr:housenumber": "315", "addr:street": "Calle Palma Norte", "building": "yes"}}, {"type": "way", "id": 1361854799, "nodes": [12608698532, 12608698534, 12608698535, 12608698589, 12608698588, 12608698584, 12608698585, 12608698536, 10700764711, 12608698532], "tags": {"addr:housenumber": "335", "addr:street": "Calle Palma Norte", "building": "yes"}}, {"type": "way", "id": 1361854800, "nodes": [5117940768, 5117940770, 12608698578, 12608698537, 12608698538, 12608698539, 12608698540, 12608698541, 12608698542, 5117940765, 5117940768]}, {"type": "way", "id": 1361854801, "nodes": [12608698543, 12608698544, 12608698545, 12608698548, 12608698546, 12608698543], "tags": {"addr:housenumber": "90", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1361854802, "nodes": [12608698542, 12608698543, 12608698544, 12608698545, 12608698547, 12608698537, 12608698538, 12608698539, 12608698540, 12608698541, 12608698542], "tags": {"addr:housenumber": "88", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1361854803, "nodes": [12608698548, 12608698555, 12608698552, 12608698549, 12608698550, 12608698546, 12608698548], "tags": {"addr:housenumber": "92", "addr:street": "Calle Tacuba", "building": "yes"}}, {"type": "way", "id": 1361854804, "nodes": [12608698545, 12608698551, 12608698549, 12608698552, 12608698553, 12608698554, 12608698555, 12608698548, 12608698545], "tags": {"addr:housenumber": "4", "addr:street": "Calle Rep\u00fablica de Brasil", "building": "yes"}}, {"type": "way", "id": 1361854805, "nodes": [12608698545, 12608698551, 12608698556, 12608698557, 12608698547, 12608698545], "tags": {"addr:housenumber": "6", "addr:street": "Calle Rep\u00fablica de Brasil", "building": "yes"}}, {"type": "way", "id": 1361854806, "nodes": [12608698557, 12608698558, 12608698567, 12608698566, 12608698559, 12608698556, 12608698557], "tags": {"addr:housenumber": "8", "addr:street": "Calle Rep\u00fablica de Brasil", "building": "yes"}}, {"type": "way", "id": 1361854807, "nodes": [12608698547, 12608698560, 12608698561, 12608698562, 12608698571, 12608698570, 12608698563, 12608698564, 12608698565, 12608698559, 12608698566, 12608698567, 12608698558, 12608698557, 12608698547], "tags": {"addr:housenumber": "10", "addr:street": "Calle Rep\u00fablica de Brasil", "building": "yes"}}, {"type": "way", "id": 1361854808, "nodes": [12608698565, 12608698568, 12608698569, 12608698570, 12608698563, 12608698564, 12608698565], "tags": {"addr:housenumber": "12", "addr:street": "Calle Rep\u00fablica de Brasil", "building": "yes"}}, {"type": "way", "id": 1361854809, "nodes": [12608698562, 12608698571, 12608698572, 12608698569, 12608698568, 12608698574, 12608698573, 12608698562], "tags": {"addr:housenumber": "85", "addr:street": "Calle Donceles", "building": "yes"}}, {"type": "way", "id": 1361854810, "nodes": [12608698561, 12608698562, 12608698573, 12608698575, 12608698576, 12608698560, 12608698561], "tags": {"addr:housenumber": "83", "addr:street": "Calle Donceles", "building": "yes"}}, {"type": "way", "id": 1361854811, "nodes": [12608698536, 10700764708, 5117940771, 10865711015, 12608698595, 12608698599, 12608698598, 12608698594, 12608698593, 12608698597, 12608698596, 12608698592, 12608698577, 12608698535, 12608698589, 12608698590, 12608698591, 12608698588, 12608698584, 12608698586, 12608698587, 12608698585, 12608698536], "tags": {"addr:housenumber": "75", "addr:street": "Calle Donceles", "building": "yes"}}, {"type": "way", "id": 1361854812, "nodes": [5117940770, 12608698578, 12608698579, 12608698577, 12608698592, 12608698593, 12608698594, 12608698595, 10865711015, 5117940770], "tags": {"addr:housenumber": "79", "addr:street": "Calle Donceles", "building": "yes"}}, {"type": "way", "id": 1361854813, "nodes": [12608698579, 12608698575, 12608698576, 12608698560, 12608698547, 12608698537, 12608698578, 12608698579], "tags": {"addr:housenumber": "81", "addr:street": "Calle Donceles", "building": "yes"}}, {"type": "way", "id": 1361854814, "nodes": [12608698580, 12608698581, 12608698582, 12608698583, 12608698580]}, {"type": "way", "id": 1378439062, "nodes": [12763232086, 12763232087, 12763232088, 12763232089, 12763232086], "tags": {"building": "yes", "name": "Barrio Downtown Mexico City Hostel", "tourism": "hotel"}}, {"type": "relation", "id": 6191295, "members": [{"type": "way", "ref": 158032453, "role": "outer"}, {"type": "way", "ref": 415682427, "role": "inner"}, {"type": "way", "ref": 415682429, "role": "inner"}, {"type": "way", "ref": 415682431, "role": "inner"}, {"type": "way", "ref": 464560117, "role": "inner"}, {"type": "way", "ref": 464560115, "role": "inner"}], "tags": {"building": "public", "image": "https://photos.app.goo.gl/bW4NCmQPpnPvHCtu7", "name": "Palacio Nacional", "name:en": "National Palace", "name:hi": "\u0930\u093e\u0937\u094d\u091f\u094d\u0930\u0940\u092f \u092e\u0939\u0932", "name:ko": "\uad6d\ub9bd\uad81\uc804", "tourism": "attraction", "type": "multipolygon", "wikidata": "Q1517884", "wikipedia": "en:National Palace (Mexico)"}}, {"type": "relation", "id": 8545653, "members": [{"type": "way", "ref": 217316707, "role": "outer"}, {"type": "way", "ref": 618043865, "role": "inner"}, {"type": "way", "ref": 618043862, "role": "inner"}, {"type": "way", "ref": 618043863, "role": "inner"}, {"type": "way", "ref": 618043864, "role": "inner"}], "tags": {"amenity": "courthouse", "building": "yes", "name": "Suprema Corte de Justicia de la Naci\u00f3n", "type": "multipolygon"}}, {"type": "relation", "id": 14390757, "members": [{"type": "way", "ref": 526209033, "role": "outer"}, {"type": "way", "ref": 1081655392, "role": "inner"}, {"type": "way", "ref": 1081655393, "role": "inner"}], "tags": {"building": "hospital", "building:levels": "6", "name": "Hospital de Jes\u00fas", "type": "multipolygon", "wikidata": "Q5908694", "wikipedia": "es:Hospital de Jes\u00fas (M\u00e9xico)"}}, {"type": "relation", "id": 14592228, "members": [{"type": "way", "ref": 1095452898, "role": "inner"}, {"type": "way", "ref": 1095452899, "role": "inner"}, {"type": "way", "ref": 1095452900, "role": "inner"}, {"type": "way", "ref": 1095452901, "role": "inner"}, {"type": "way", "ref": 217322988, "role": "outer"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "5", "addr:postcode": "06000", "addr:street": "Calle Tacuba", "building": "yes", "museum": "history", "name": "Palacio de Miner\u00eda", "operator": "Universidad Nacional Aut\u00f3noma de M\u00e9xico", "operator:short": "UNAM", "operator:type": "public", "tourism": "museum", "type": "multipolygon", "wikidata": "Q3431087", "wikipedia": "es:Palacio de Miner\u00eda"}}, {"type": "relation", "id": 14592229, "members": [{"type": "way", "ref": 1095452902, "role": "inner"}, {"type": "way", "ref": 143292663, "role": "outer"}], "tags": {"building": "yes", "name": "Museo Nacional de Arte", "tourism": "museum", "type": "multipolygon", "wikidata": "Q1138147", "wikipedia": "es:Museo Nacional de Arte (M\u00e9xico)"}}, {"type": "relation", "id": 14785455, "members": [{"type": "way", "ref": 217429445, "role": "outer"}, {"type": "way", "ref": 1111171273, "role": "inner"}], "tags": {"addr:housenumber": "17", "addr:street": "Calle Tacuba", "alt_name": "mide", "building": "yes", "name": "Museo Interactivo de Econom\u00eda", "tourism": "museum", "type": "multipolygon", "wikidata": "Q6045328", "wikipedia": "en:Interactive Museum of Economics"}}, {"type": "relation", "id": 16031597, "members": [{"type": "way", "ref": 158032455, "role": "outer"}, {"type": "way", "ref": 1185813523, "role": "inner"}, {"type": "way", "ref": 1185813522, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "2", "addr:neighbourhood": "Colonia Centro", "addr:postcode": "06000", "addr:street": "Plaza de la Constituci\u00f3n", "alt_name": "Ex-Palacio del Ayuntamiento", "amenity": "townhall", "building": "government", "check_date": "2024-08-31", "name": "Antiguo Palacio del Ayuntamiento", "smoking": "no", "townhall:type": "city", "type": "multipolygon", "wikidata": "Q130950", "wikimedia_commons": "Category:Antiguo Palacio del Ayuntamiento", "wikipedia": "es:Antiguo Palacio del Ayuntamiento"}}, {"type": "relation", "id": 16031598, "members": [{"type": "way", "ref": 158032456, "role": "outer"}, {"type": "way", "ref": 1185813526, "role": "inner"}, {"type": "way", "ref": 1185813525, "role": "inner"}, {"type": "way", "ref": 1185813524, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "1", "addr:postcode": "06000", "addr:street": "Plaza de la Constituci\u00f3n (Z\u00f3calo)", "building": "civic", "building:colour": "tan", "building:levels": "6", "name": "Edificio de Gobierno", "roof:shape": "flat", "smoking": "no", "type": "multipolygon"}}, {"type": "relation", "id": 16031626, "members": [{"type": "way", "ref": 276671572, "role": "outer"}, {"type": "way", "ref": 1185821585, "role": "inner"}, {"type": "way", "ref": 1185821588, "role": "inner"}, {"type": "way", "ref": 1185821586, "role": "inner"}, {"type": "way", "ref": 1185821587, "role": "inner"}, {"type": "way", "ref": 1185821582, "role": "inner"}, {"type": "way", "ref": 1185821583, "role": "inner"}, {"type": "way", "ref": 1185821584, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xicos", "addr:housenumber": "23", "addr:postcode": "06020", "addr:street": "Luis Gonz\u00e1lez Obreg\u00f3n", "amenity": "college", "building": "college", "building:levels": "3", "name": "El Colegio Nacional", "operator": "El Colegio Nacional", "roof:levels": "1", "roof:shape": "flat", "type": "multipolygon", "website": "https://colegionacional.org.mx/", "wikipedia": "es:El Colegio Nacional (M\u00e9xico)"}}, {"type": "relation", "id": 17315598, "members": [{"type": "way", "ref": 301852708, "role": "outer"}, {"type": "way", "ref": 1258404122, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "12", "addr:postcode": "06010", "addr:street": "Rep\u00fablica de Argentinia", "building": "yes", "building:levels": "3", "name": "Casa del Marqu\u00e9s del Apartado", "type": "multipolygon"}}, {"type": "relation", "id": 18737436, "members": [{"type": "way", "ref": 1361854800, "role": "outer"}, {"type": "way", "ref": 1361854814, "role": "inner"}], "tags": {"addr:housenumber": "86", "addr:street": "Calle Tacuba", "building": "yes", "type": "multipolygon"}}]} \ No newline at end of file diff --git a/cache/a54777e07d3de2237d4d25854054a9c9b9c8d69a.json b/cache/a54777e07d3de2237d4d25854054a9c9b9c8d69a.json new file mode 100644 index 0000000..f39cc09 --- /dev/null +++ b/cache/a54777e07d3de2237d4d25854054a9c9b9c8d69a.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T04:00:01Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 368053255, "lat": 40.7563977, "lon": -73.9875606, "tags": {"addr:state": "NY", "building": "yes", "ele": "16", "gnis:feature_id": "2072078", "name": "Rialto Building", "source": "USGS Geonames"}}, {"type": "node", "id": 368053261, "lat": 40.755, "lon": -73.9886111, "tags": {"addr:state": "NY", "building": "yes", "ele": "15", "gnis:feature_id": "2072075", "name": "Brotherhood In Action Building", "source": "USGS Geonames"}}, {"type": "node", "id": 368053267, "lat": 40.7555556, "lon": -73.9872222, "tags": {"addr:state": "NY", "building": "yes", "ele": "16", "gnis:feature_id": "2072076", "name": "Crossroads Building", "source": "USGS Geonames"}}, {"type": "node", "id": 368055556, "lat": 40.7591683, "lon": -73.9945325, "tags": {"addr:state": "NY", "building": "yes", "ele": "9", "gnis:feature_id": "2083191", "name": "Manhattan Plaza", "source": "USGS Geonames", "wikidata": "Q6749290"}}, {"type": "node", "id": 368055562, "lat": 40.7563784, "lon": -73.9874825, "tags": {"addr:state": "NY", "building": "yes", "ele": "16", "gnis:feature_id": "2083211", "name": "Reuters Building", "source": "USGS Geonames"}}, {"type": "node", "id": 477284505, "lat": 40.7573846, "lon": -73.9932168}, {"type": "node", "id": 477284535, "lat": 40.7574639, "lon": -73.9931589}, {"type": "node", "id": 477284549, "lat": 40.7575515, "lon": -73.993095}, {"type": "node", "id": 530697773, "lat": 40.7595862, "lon": -73.9852738}, {"type": "node", "id": 530697776, "lat": 40.7601051, "lon": -73.9850388}, {"type": "node", "id": 999473007, "lat": 40.7556002, "lon": -73.9855693}, {"type": "node", "id": 999473011, "lat": 40.7560845, "lon": -73.9852163}, {"type": "node", "id": 999473016, "lat": 40.7564089, "lon": -73.9859377}, {"type": "node", "id": 999473019, "lat": 40.7564166, "lon": -73.9859557}, {"type": "node", "id": 999473022, "lat": 40.7559962, "lon": -73.9862118}, {"type": "node", "id": 999473024, "lat": 40.7559648, "lon": -73.9862169}, {"type": "node", "id": 999473028, "lat": 40.7557768, "lon": -73.9860236}, {"type": "node", "id": 999473051, "lat": 40.7555108, "lon": -73.9838616}, {"type": "node", "id": 999473055, "lat": 40.7550316, "lon": -73.9842172}, {"type": "node", "id": 1241337400, "lat": 40.7571569, "lon": -73.9933828}, {"type": "node", "id": 1241337402, "lat": 40.7560875, "lon": -73.9908279}, {"type": "node", "id": 1241337403, "lat": 40.7576387, "lon": -73.9930314}, {"type": "node", "id": 1241337404, "lat": 40.7565693, "lon": -73.9904765}, {"type": "node", "id": 1251556673, "lat": 40.7557187, "lon": -73.9866146}, {"type": "node", "id": 1251556675, "lat": 40.7560898, "lon": -73.9867175}, {"type": "node", "id": 1251556677, "lat": 40.7564199, "lon": -73.9864603}, {"type": "node", "id": 1251556680, "lat": 40.7561887, "lon": -73.9864598}, {"type": "node", "id": 1251556682, "lat": 40.7551913, "lon": -73.9867838}, {"type": "node", "id": 1251556686, "lat": 40.7563903, "lon": -73.9863915}, {"type": "node", "id": 1251556696, "lat": 40.7553724, "lon": -73.9872145}, {"type": "node", "id": 1251556697, "lat": 40.7558308, "lon": -73.9868832}, {"type": "node", "id": 1251556700, "lat": 40.756005, "lon": -73.9865209}, {"type": "node", "id": 1251556705, "lat": 40.756237, "lon": -73.9865962}, {"type": "node", "id": 1279511190, "lat": 40.7542135, "lon": -73.9871657}, {"type": "node", "id": 1279511191, "lat": 40.7544696, "lon": -73.9877721}, {"type": "node", "id": 1279511193, "lat": 40.7542089, "lon": -73.9879635}, {"type": "node", "id": 1279511199, "lat": 40.7539536, "lon": -73.9873568}, {"type": "node", "id": 1279511201, "lat": 40.754189, "lon": -73.9879163}, {"type": "node", "id": 1279511203, "lat": 40.7540862, "lon": -73.9879933}, {"type": "node", "id": 1279511204, "lat": 40.7538681, "lon": -73.9874849}, {"type": "node", "id": 1279511206, "lat": 40.7539741, "lon": -73.9874056}, {"type": "node", "id": 1329122515, "lat": 40.757077, "lon": -73.9916893}, {"type": "node", "id": 1426252015, "lat": 40.7564365, "lon": -73.9863784}, {"type": "node", "id": 1514463000, "lat": 40.7554248, "lon": -73.9892493}, {"type": "node", "id": 1514463003, "lat": 40.7557433, "lon": -73.9900141}, {"type": "node", "id": 1514463005, "lat": 40.7557777, "lon": -73.9899899}, {"type": "node", "id": 1514463007, "lat": 40.7557885, "lon": -73.9901556}, {"type": "node", "id": 1514463009, "lat": 40.7557984, "lon": -73.9896727}, {"type": "node", "id": 1514463011, "lat": 40.7558336, "lon": -73.9901226}, {"type": "node", "id": 1514463013, "lat": 40.7559004, "lon": -73.9904212}, {"type": "node", "id": 1514463015, "lat": 40.7558887, "lon": -73.9889274}, {"type": "node", "id": 1514463017, "lat": 40.7558937, "lon": -73.9898963}, {"type": "node", "id": 1514463018, "lat": 40.7559454, "lon": -73.9903882}, {"type": "node", "id": 1514463021, "lat": 40.7559718, "lon": -73.9895445}, {"type": "node", "id": 1514463022, "lat": 40.7559941, "lon": -73.9905036}, {"type": "node", "id": 1514463023, "lat": 40.7560675, "lon": -73.9897681}, {"type": "node", "id": 1514463025, "lat": 40.7561521, "lon": -73.9897151}, {"type": "node", "id": 1514463028, "lat": 40.7562056, "lon": -73.9896742}, {"type": "node", "id": 1514463031, "lat": 40.756208, "lon": -73.9898478}, {"type": "node", "id": 1514463033, "lat": 40.7562535, "lon": -73.9898142}, {"type": "node", "id": 1514463035, "lat": 40.7563198, "lon": -73.9901134}, {"type": "node", "id": 1514463038, "lat": 40.7563653, "lon": -73.9900798}, {"type": "node", "id": 1514463040, "lat": 40.7563684, "lon": -73.9902288}, {"type": "node", "id": 1574211071, "lat": 40.7594252, "lon": -73.9868523}, {"type": "node", "id": 1574211073, "lat": 40.7593779, "lon": -73.9859945}, {"type": "node", "id": 1574211076, "lat": 40.7599025, "lon": -73.9865022}, {"type": "node", "id": 1574211080, "lat": 40.7596139, "lon": -73.9858214}, {"type": "node", "id": 1636820396, "lat": 40.756473, "lon": -73.9921975}, {"type": "node", "id": 1700814792, "lat": 40.7578823, "lon": -73.987079}, {"type": "node", "id": 1700814794, "lat": 40.7586695, "lon": -73.9855289}, {"type": "node", "id": 1700814795, "lat": 40.7581537, "lon": -73.9857275}, {"type": "node", "id": 1700814796, "lat": 40.7583367, "lon": -73.9867407}, {"type": "node", "id": 1700814797, "lat": 40.7590449, "lon": -73.9864228}, {"type": "node", "id": 1700814799, "lat": 40.7586441, "lon": -73.9869427}, {"type": "node", "id": 1700814800, "lat": 40.7579997, "lon": -73.9858551}, {"type": "node", "id": 1700814801, "lat": 40.7575083, "lon": -73.9862096}, {"type": "node", "id": 1709910398, "lat": 40.7581298, "lon": -73.9923025}, {"type": "node", "id": 1709910413, "lat": 40.7578135, "lon": -73.9922517}, {"type": "node", "id": 1709910415, "lat": 40.7576329, "lon": -73.9925944}, {"type": "node", "id": 1709910416, "lat": 40.7578724, "lon": -73.9924209}, {"type": "node", "id": 1709910419, "lat": 40.7577954, "lon": -73.9920592}, {"type": "node", "id": 1709910420, "lat": 40.7579509, "lon": -73.9919466}, {"type": "node", "id": 1709910421, "lat": 40.757674, "lon": -73.9923505}, {"type": "node", "id": 1709910428, "lat": 40.7575641, "lon": -73.992431}, {"type": "node", "id": 1709910440, "lat": 40.7579422, "lon": -73.9924374}, {"type": "node", "id": 1709910443, "lat": 40.7577425, "lon": -73.9925141}, {"type": "node", "id": 1709910444, "lat": 40.7577442, "lon": -73.9920976}, {"type": "node", "id": 1709910446, "lat": 40.7581084, "lon": -73.9923175}, {"type": "node", "id": 1709910447, "lat": 40.7578941, "lon": -73.9924729}, {"type": "node", "id": 1709910450, "lat": 40.7579741, "lon": -73.9919301}, {"type": "node", "id": 1709916296, "lat": 40.7578219, "lon": -73.9924561}, {"type": "node", "id": 1709916298, "lat": 40.7577521, "lon": -73.992293}, {"type": "node", "id": 1719348017, "lat": 40.754233, "lon": -73.9872117}, {"type": "node", "id": 1719348018, "lat": 40.7543361, "lon": -73.9871347}, {"type": "node", "id": 1719348019, "lat": 40.754554, "lon": -73.9876432}, {"type": "node", "id": 1719348020, "lat": 40.7544485, "lon": -73.987722}, {"type": "node", "id": 1719757704, "lat": 40.7587548, "lon": -73.9930766}, {"type": "node", "id": 1719757705, "lat": 40.7588473, "lon": -73.9925418}, {"type": "node", "id": 1719757707, "lat": 40.7588308, "lon": -73.9929943}, {"type": "node", "id": 1719757709, "lat": 40.7588395, "lon": -73.9930151}, {"type": "node", "id": 1719757711, "lat": 40.7588478, "lon": -73.9933}, {"type": "node", "id": 1719757713, "lat": 40.7588728, "lon": -73.9929638}, {"type": "node", "id": 1719757715, "lat": 40.7588815, "lon": -73.9929846}, {"type": "node", "id": 1719757717, "lat": 40.7588926, "lon": -73.9927246}, {"type": "node", "id": 1719757719, "lat": 40.7589066, "lon": -73.9927144}, {"type": "node", "id": 1719757720, "lat": 40.7589143, "lon": -73.9927767}, {"type": "node", "id": 1719757729, "lat": 40.7589466, "lon": -73.9929373}, {"type": "node", "id": 1719757730, "lat": 40.7589476, "lon": -73.9927525}, {"type": "node", "id": 1719757731, "lat": 40.7589555, "lon": -73.9929588}, {"type": "node", "id": 1719757733, "lat": 40.7589573, "lon": -73.9932206}, {"type": "node", "id": 1719757735, "lat": 40.7589659, "lon": -73.9932414}, {"type": "node", "id": 1719757737, "lat": 40.7589929, "lon": -73.9931947}, {"type": "node", "id": 1719757746, "lat": 40.7590015, "lon": -73.9929254}, {"type": "node", "id": 1719757750, "lat": 40.7590016, "lon": -73.9932155}, {"type": "node", "id": 1719757771, "lat": 40.7590072, "lon": -73.9928957}, {"type": "node", "id": 1719757774, "lat": 40.7590493, "lon": -73.9925695}, {"type": "node", "id": 1719757776, "lat": 40.7590518, "lon": -73.993152}, {"type": "node", "id": 1719757777, "lat": 40.7590604, "lon": -73.9931728}, {"type": "node", "id": 1719757780, "lat": 40.7590662, "lon": -73.9925573}, {"type": "node", "id": 1719757782, "lat": 40.7590864, "lon": -73.9926586}, {"type": "node", "id": 1719757790, "lat": 40.7590871, "lon": -73.9931263}, {"type": "node", "id": 1719757791, "lat": 40.7590958, "lon": -73.9931471}, {"type": "node", "id": 1719757793, "lat": 40.7591065, "lon": -73.9926619}, {"type": "node", "id": 1719757794, "lat": 40.7591323, "lon": -73.9929628}, {"type": "node", "id": 1719757796, "lat": 40.7591395, "lon": -73.9929302}, {"type": "node", "id": 1719757798, "lat": 40.7591605, "lon": -73.992915}, {"type": "node", "id": 1719757802, "lat": 40.7591741, "lon": -73.9930632}, {"type": "node", "id": 1719757805, "lat": 40.7592033, "lon": -73.9926006}, {"type": "node", "id": 1719757808, "lat": 40.7592578, "lon": -73.9928392}, {"type": "node", "id": 1719757812, "lat": 40.7592681, "lon": -73.9928609}, {"type": "node", "id": 1719757825, "lat": 40.7593013, "lon": -73.9928338}, {"type": "node", "id": 1719757826, "lat": 40.7595499, "lon": -73.9948742}, {"type": "node", "id": 1719757827, "lat": 40.7596455, "lon": -73.9951018}, {"type": "node", "id": 1719757828, "lat": 40.7596854, "lon": -73.9947508}, {"type": "node", "id": 1719757829, "lat": 40.7596931, "lon": -73.9947693}, {"type": "node", "id": 1719757830, "lat": 40.7597108, "lon": -73.9943559}, {"type": "node", "id": 1719757832, "lat": 40.7597248, "lon": -73.994722}, {"type": "node", "id": 1719757835, "lat": 40.759742, "lon": -73.9944791}, {"type": "node", "id": 1719757838, "lat": 40.7597432, "lon": -73.9947659}, {"type": "node", "id": 1719757840, "lat": 40.7597555, "lon": -73.9949922}, {"type": "node", "id": 1719757854, "lat": 40.7597577, "lon": -73.9944676}, {"type": "node", "id": 1719757855, "lat": 40.7597648, "lon": -73.9950144}, {"type": "node", "id": 1719757856, "lat": 40.7597652, "lon": -73.9945344}, {"type": "node", "id": 1719757858, "lat": 40.7597809, "lon": -73.9945229}, {"type": "node", "id": 1719757862, "lat": 40.759817, "lon": -73.9946087}, {"type": "node", "id": 1719757867, "lat": 40.7598228, "lon": -73.9949429}, {"type": "node", "id": 1719757874, "lat": 40.7598332, "lon": -73.9945968}, {"type": "node", "id": 1719757876, "lat": 40.7598411, "lon": -73.9949543}, {"type": "node", "id": 1719757884, "lat": 40.7598515, "lon": -73.9946866}, {"type": "node", "id": 1719757885, "lat": 40.7598586, "lon": -73.9946574}, {"type": "node", "id": 1719757886, "lat": 40.7598797, "lon": -73.9942323}, {"type": "node", "id": 1719757891, "lat": 40.7599025, "lon": -73.9951003}, {"type": "node", "id": 1719757900, "lat": 40.7599403, "lon": -73.9943765}, {"type": "node", "id": 1719757902, "lat": 40.759956, "lon": -73.994365}, {"type": "node", "id": 1719757905, "lat": 40.75996, "lon": -73.9944235}, {"type": "node", "id": 1719757914, "lat": 40.7599757, "lon": -73.994412}, {"type": "node", "id": 1719757915, "lat": 40.7599773, "lon": -73.9947504}, {"type": "node", "id": 1719757916, "lat": 40.7599844, "lon": -73.9947177}, {"type": "node", "id": 1719757919, "lat": 40.7599889, "lon": -73.994778}, {"type": "node", "id": 1719757922, "lat": 40.7599926, "lon": -73.994501}, {"type": "node", "id": 1719757925, "lat": 40.7600083, "lon": -73.9944895}, {"type": "node", "id": 1719757927, "lat": 40.7600121, "lon": -73.9945475}, {"type": "node", "id": 1719757929, "lat": 40.7600278, "lon": -73.994536}, {"type": "node", "id": 1719757931, "lat": 40.760049, "lon": -73.9949215}, {"type": "node", "id": 1719757934, "lat": 40.7600603, "lon": -73.9946622}, {"type": "node", "id": 1719757940, "lat": 40.7600671, "lon": -73.9949082}, {"type": "node", "id": 1719757945, "lat": 40.7600901, "lon": -73.9949629}, {"type": "node", "id": 1739195061, "lat": 40.7603954, "lon": -73.9857272}, {"type": "node", "id": 1739195064, "lat": 40.7599185, "lon": -73.9860743}, {"type": "node", "id": 1739195065, "lat": 40.7576928, "lon": -73.9866646}, {"type": "node", "id": 1751597891, "lat": 40.7584128, "lon": -73.9855641}, {"type": "node", "id": 1751597892, "lat": 40.7583394, "lon": -73.985656}, {"type": "node", "id": 1751597895, "lat": 40.7583489, "lon": -73.9856299}, {"type": "node", "id": 1751597897, "lat": 40.75855, "lon": -73.9855749}, {"type": "node", "id": 1751597901, "lat": 40.758454, "lon": -73.9855597}, {"type": "node", "id": 1751597914, "lat": 40.7583918, "lon": -73.9855752}, {"type": "node", "id": 1751597916, "lat": 40.7583773, "lon": -73.9855874}, {"type": "node", "id": 1751597922, "lat": 40.7584738, "lon": -73.9855652}, {"type": "node", "id": 1751597924, "lat": 40.7583636, "lon": -73.9856036}, {"type": "node", "id": 1751597928, "lat": 40.7582666, "lon": -73.985684}, {"type": "node", "id": 1751597933, "lat": 40.7585088, "lon": -73.9855898}, {"type": "node", "id": 1751597936, "lat": 40.7584323, "lon": -73.9855594}, {"type": "node", "id": 1751622337, "lat": 40.7602867, "lon": -73.9869495}, {"type": "node", "id": 1751622339, "lat": 40.7607497, "lon": -73.9870173}, {"type": "node", "id": 1751622341, "lat": 40.7604164, "lon": -73.987262}, {"type": "node", "id": 1751622343, "lat": 40.7607031, "lon": -73.9869108}, {"type": "node", "id": 1751622346, "lat": 40.760622, "lon": -73.9867168}, {"type": "node", "id": 1751622348, "lat": 40.7603406, "lon": -73.9869149}, {"type": "node", "id": 1751631903, "lat": 40.7605899, "lon": -73.9867402}, {"type": "node", "id": 1751640908, "lat": 40.7601523, "lon": -73.9859074}, {"type": "node", "id": 1751640909, "lat": 40.7600561, "lon": -73.9863907}, {"type": "node", "id": 1751640911, "lat": 40.7601122, "lon": -73.9865261}, {"type": "node", "id": 1751640912, "lat": 40.7602335, "lon": -73.9868232, "tags": {"addr:housenumber": "261", "addr:street": "West 47th Street", "entrance": "main"}}, {"type": "node", "id": 1751640915, "lat": 40.7602851, "lon": -73.9862252}, {"type": "node", "id": 1751640916, "lat": 40.7599931, "lon": -73.9862521, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751655519, "lat": 40.7604736, "lon": -73.9859114, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751655522, "lat": 40.7606248, "lon": -73.9862739, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751714396, "lat": 40.7608924, "lon": -73.9857161}, {"type": "node", "id": 1751714397, "lat": 40.7610149, "lon": -73.9860073}, {"type": "node", "id": 1751714399, "lat": 40.7611706, "lon": -73.9856257, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751719370, "lat": 40.7617434, "lon": -73.9857789}, {"type": "node", "id": 1751721290, "lat": 40.7614415, "lon": -73.9858102, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751737192, "lat": 40.7588418, "lon": -73.9874188, "tags": {"addr:housenumber": "249", "addr:street": "West 45th Street", "entrance": "main"}}, {"type": "node", "id": 1751737194, "lat": 40.7583509, "lon": -73.9868749, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751737196, "lat": 40.7591159, "lon": -73.9865418, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751737228, "lat": 40.7588386, "lon": -73.9866476}, {"type": "node", "id": 1751762438, "lat": 40.7588073, "lon": -73.9873348, "tags": {"entrance": "main"}}, {"type": "node", "id": 1751769680, "lat": 40.7581732, "lon": -73.9882131, "tags": {"addr:housenumber": "246", "addr:street": "West 44th Street", "entrance": "main"}}, {"type": "node", "id": 1751769863, "lat": 40.7583731, "lon": -73.9882377, "tags": {"entrance": "main", "name": "NY Gift Shop", "shop": "gift"}}, {"type": "node", "id": 1752649769, "lat": 40.7581054, "lon": -73.9876036, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752649776, "lat": 40.7580601, "lon": -73.9874952}, {"type": "node", "id": 1752649778, "lat": 40.7579814, "lon": -73.9871435, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752663261, "lat": 40.7588448, "lon": -73.9878693, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752663274, "lat": 40.7585877, "lon": -73.9872581, "tags": {"addr:housenumber": "236", "addr:street": "West 45th Street", "entrance": "main"}}, {"type": "node", "id": 1752663275, "lat": 40.7587727, "lon": -73.9876976, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752663697, "lat": 40.7587805, "lon": -73.9884541, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752679995, "lat": 40.7562118, "lon": -73.9877031, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752683398, "lat": 40.7555563, "lon": -73.9881052, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752685324, "lat": 40.7590271, "lon": -73.985916, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752685325, "lat": 40.7593968, "lon": -73.9860392}, {"type": "node", "id": 1752785204, "lat": 40.7567252, "lon": -73.9881798, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752785237, "lat": 40.7564984, "lon": -73.9876789, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752785246, "lat": 40.7593137, "lon": -73.9889749, "tags": {"addr:housenumber": "302", "addr:street": "West 45th Street", "entrance": "main"}}, {"type": "node", "id": 1752785248, "lat": 40.7569661, "lon": -73.9872927, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752808065, "lat": 40.7600521, "lon": -73.9868556, "tags": {"entrance": "main"}}, {"type": "node", "id": 1752919044, "lat": 40.7577573, "lon": -73.9891587}, {"type": "node", "id": 1752942859, "lat": 40.7566464, "lon": -73.9855567}, {"type": "node", "id": 1752942862, "lat": 40.7565956, "lon": -73.9859744}, {"type": "node", "id": 1752942863, "lat": 40.757127, "lon": -73.9857678}, {"type": "node", "id": 1752942872, "lat": 40.757126, "lon": -73.9857305}, {"type": "node", "id": 1752942880, "lat": 40.7564316, "lon": -73.9855893}, {"type": "node", "id": 1752942886, "lat": 40.7569584, "lon": -73.9853274}, {"type": "node", "id": 1752942901, "lat": 40.7566055, "lon": -73.9854597}, {"type": "node", "id": 1752946323, "lat": 40.7555764, "lon": -73.9855115}, {"type": "node", "id": 1752946325, "lat": 40.7564143, "lon": -73.9860416}, {"type": "node", "id": 1752946326, "lat": 40.7558513, "lon": -73.9861692}, {"type": "node", "id": 1752946327, "lat": 40.7558217, "lon": -73.9861144}, {"type": "node", "id": 1752946329, "lat": 40.7563618, "lon": -73.9860933}, {"type": "node", "id": 1752946330, "lat": 40.7560608, "lon": -73.9851597}, {"type": "node", "id": 1753205380, "lat": 40.7564099, "lon": -73.9855278, "tags": {"entrance": "main"}}, {"type": "node", "id": 1757245093, "lat": 40.7619627, "lon": -73.9855578}, {"type": "node", "id": 1757245095, "lat": 40.7618155, "lon": -73.9852127}, {"type": "node", "id": 1757245096, "lat": 40.7615345, "lon": -73.9860316}, {"type": "node", "id": 1757245097, "lat": 40.762022, "lon": -73.9857553}, {"type": "node", "id": 1757245105, "lat": 40.7620506, "lon": -73.9857673}, {"type": "node", "id": 1757245111, "lat": 40.761957, "lon": -73.9855959}, {"type": "node", "id": 1757245113, "lat": 40.7615781, "lon": -73.9853851}, {"type": "node", "id": 1757245117, "lat": 40.7616624, "lon": -73.9863477}, {"type": "node", "id": 1757245122, "lat": 40.7621458, "lon": -73.9859945}, {"type": "node", "id": 1757245131, "lat": 40.7619899, "lon": -73.9856765, "tags": {"entrance": "main"}}, {"type": "node", "id": 1757245137, "lat": 40.761776, "lon": -73.985856}, {"type": "node", "id": 1757251094, "lat": 40.7610708, "lon": -73.9861403}, {"type": "node", "id": 1757251096, "lat": 40.76129, "lon": -73.9859077, "tags": {"entrance": "main"}}, {"type": "node", "id": 1757277491, "lat": 40.7608993, "lon": -73.9863724}, {"type": "node", "id": 1757277492, "lat": 40.7606476, "lon": -73.9857739}, {"type": "node", "id": 1757277493, "lat": 40.761105, "lon": -73.9862216}, {"type": "node", "id": 1757277494, "lat": 40.7608534, "lon": -73.9856231}, {"type": "node", "id": 1757291022, "lat": 40.7605467, "lon": -73.9856333, "tags": {"entrance": "main"}}, {"type": "node", "id": 1757291030, "lat": 40.7607725, "lon": -73.9860721, "tags": {"entrance": "main"}}, {"type": "node", "id": 1758006036, "lat": 40.7564537, "lon": -73.993615}, {"type": "node", "id": 1762449346, "lat": 40.7609113, "lon": -73.9850108}, {"type": "node", "id": 1762449347, "lat": 40.7604506, "lon": -73.9853393}, {"type": "node", "id": 1781191068, "lat": 40.7594101, "lon": -73.987246}, {"type": "node", "id": 1807980698, "lat": 40.7564106, "lon": -73.9935118, "tags": {"entrance": "yes"}}, {"type": "node", "id": 1807980702, "lat": 40.7564412, "lon": -73.9935852, "tags": {"entrance": "yes"}}, {"type": "node", "id": 1873813915, "lat": 40.7590094, "lon": -73.9924293}, {"type": "node", "id": 2179502339, "lat": 40.76212, "lon": -73.985935, "tags": {"conveying": "no", "description": "C,E trains Uptown & Queens", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 2275780476, "lat": 40.7551069, "lon": -73.9851054}, {"type": "node", "id": 2275780483, "lat": 40.7546299, "lon": -73.985459}, {"type": "node", "id": 2505255385, "lat": 40.7585171, "lon": -73.9944606}, {"type": "node", "id": 2505255396, "lat": 40.7589205, "lon": -73.9954056}, {"type": "node", "id": 2505255397, "lat": 40.7589127, "lon": -73.9941704}, {"type": "node", "id": 2505255405, "lat": 40.759038, "lon": -73.9956839}, {"type": "node", "id": 2505255418, "lat": 40.7591915, "lon": -73.994833}, {"type": "node", "id": 2505255422, "lat": 40.7594301, "lon": -73.995398}, {"type": "node", "id": 2582513345, "lat": 40.7611445, "lon": -73.9875559}, {"type": "node", "id": 2582513346, "lat": 40.7610291, "lon": -73.9876351}, {"type": "node", "id": 2582513347, "lat": 40.7609062, "lon": -73.9873475}, {"type": "node", "id": 2582513348, "lat": 40.760973, "lon": -73.9873127}, {"type": "node", "id": 2639531732, "lat": 40.7592219, "lon": -73.9863727}, {"type": "node", "id": 2639531738, "lat": 40.7592905, "lon": -73.9865346}, {"type": "node", "id": 2639531750, "lat": 40.7593915, "lon": -73.9867727}, {"type": "node", "id": 2639531762, "lat": 40.7594647, "lon": -73.9861965}, {"type": "node", "id": 2639531774, "lat": 40.7595319, "lon": -73.9863576}, {"type": "node", "id": 2639531780, "lat": 40.7596328, "lon": -73.9865957}, {"type": "node", "id": 2639531784, "lat": 40.7596657, "lon": -73.9866758}, {"type": "node", "id": 2639531790, "lat": 40.7596659, "lon": -73.9874047}, {"type": "node", "id": 2639531792, "lat": 40.7596716, "lon": -73.98731}, {"type": "node", "id": 2639531794, "lat": 40.7596857, "lon": -73.9873443, "tags": {"amenity": "parking", "layer": "-1", "parking": "underground", "wheelchair": "yes"}}, {"type": "node", "id": 2639531798, "lat": 40.7597001, "lon": -73.986024, "tags": {"entrance": "main"}}, {"type": "node", "id": 2639531799, "lat": 40.7597004, "lon": -73.98738}, {"type": "node", "id": 2639531803, "lat": 40.7597941, "lon": -73.987716}, {"type": "node", "id": 2639531805, "lat": 40.7598102, "lon": -73.98721}, {"type": "node", "id": 2639531811, "lat": 40.7598685, "lon": -73.9871687}, {"type": "node", "id": 2639531821, "lat": 40.759947, "lon": -73.9871924}, {"type": "node", "id": 2639531823, "lat": 40.7599624, "lon": -73.9872298}, {"type": "node", "id": 2639531831, "lat": 40.7600682, "lon": -73.987479}, {"type": "node", "id": 2639531833, "lat": 40.7600814, "lon": -73.9875094}, {"type": "node", "id": 2639531842, "lat": 40.7608972, "lon": -73.9873262}, {"type": "node", "id": 2639531852, "lat": 40.7609532, "lon": -73.9872845}, {"type": "node", "id": 2639531858, "lat": 40.7610415, "lon": -73.9876696}, {"type": "node", "id": 2639531866, "lat": 40.7611633, "lon": -73.9875421}, {"type": "node", "id": 2639531868, "lat": 40.761179, "lon": -73.9875749}, {"type": "node", "id": 2639786956, "lat": 40.7564749, "lon": -73.9864712}, {"type": "node", "id": 2639786960, "lat": 40.7565537, "lon": -73.9862939}, {"type": "node", "id": 2639786962, "lat": 40.7565921, "lon": -73.9863867}, {"type": "node", "id": 2639786963, "lat": 40.7567792, "lon": -73.9862087}, {"type": "node", "id": 2639786964, "lat": 40.7567961, "lon": -73.9862607}, {"type": "node", "id": 2639786965, "lat": 40.7568814, "lon": -73.9861508}, {"type": "node", "id": 2639786966, "lat": 40.7568983, "lon": -73.9862027}, {"type": "node", "id": 2639786967, "lat": 40.7574919, "lon": -73.9861682}, {"type": "node", "id": 2639786968, "lat": 40.7575205, "lon": -73.9862007}, {"type": "node", "id": 2639786969, "lat": 40.7575088, "lon": -73.9860866}, {"type": "node", "id": 2639786970, "lat": 40.7575624, "lon": -73.986171}, {"type": "node", "id": 2639786975, "lat": 40.7576712, "lon": -73.9866144}, {"type": "node", "id": 2639786983, "lat": 40.7577365, "lon": -73.9866383}, {"type": "node", "id": 2639786988, "lat": 40.7578148, "lon": -73.9869635}, {"type": "node", "id": 2639786989, "lat": 40.7578291, "lon": -73.9869537}, {"type": "node", "id": 2639786990, "lat": 40.7578468, "lon": -73.9868981}, {"type": "node", "id": 2639786994, "lat": 40.7579067, "lon": -73.9870169}, {"type": "node", "id": 2639786996, "lat": 40.757921, "lon": -73.9870504}, {"type": "node", "id": 2639787000, "lat": 40.757971, "lon": -73.9869694}, {"type": "node", "id": 2639787003, "lat": 40.7579938, "lon": -73.987023}, {"type": "node", "id": 2639787007, "lat": 40.7580111, "lon": -73.9869397}, {"type": "node", "id": 2639787017, "lat": 40.758132, "lon": -73.9863216}, {"type": "node", "id": 2639787020, "lat": 40.7581592, "lon": -73.9862366}, {"type": "node", "id": 2639787021, "lat": 40.7581628, "lon": -73.9862609}, {"type": "node", "id": 2639787024, "lat": 40.758207, "lon": -73.9867948}, {"type": "node", "id": 2639787026, "lat": 40.7582471, "lon": -73.9868071}, {"type": "node", "id": 2639787027, "lat": 40.758249, "lon": -73.9865972}, {"type": "node", "id": 2639787028, "lat": 40.758262, "lon": -73.9868402}, {"type": "node", "id": 2639787029, "lat": 40.7582669, "lon": -73.9866394}, {"type": "node", "id": 2639787030, "lat": 40.7582946, "lon": -73.9867046}, {"type": "node", "id": 2639787031, "lat": 40.7582979, "lon": -73.9866172}, {"type": "node", "id": 2639787032, "lat": 40.758315, "lon": -73.9866895}, {"type": "node", "id": 2639790537, "lat": 40.7579851, "lon": -73.9870025}, {"type": "node", "id": 2639790538, "lat": 40.7580004, "lon": -73.9869911}, {"type": "node", "id": 2639790539, "lat": 40.7582341, "lon": -73.9868171}, {"type": "node", "id": 2643780356, "lat": 40.7558917, "lon": -73.9853568}, {"type": "node", "id": 2643822052, "lat": 40.7556956, "lon": -73.9858325}, {"type": "node", "id": 2643822053, "lat": 40.7557015, "lon": -73.9858281}, {"type": "node", "id": 2643822054, "lat": 40.7558748, "lon": -73.9861995}, {"type": "node", "id": 2643822055, "lat": 40.7558933, "lon": -73.9862134}, {"type": "node", "id": 2643822056, "lat": 40.7559176, "lon": -73.9862208}, {"type": "node", "id": 2643822057, "lat": 40.7559385, "lon": -73.9862208}, {"type": "node", "id": 2643822109, "lat": 40.7563765, "lon": -73.9860873}, {"type": "node", "id": 2643822115, "lat": 40.756388, "lon": -73.9860794}, {"type": "node", "id": 2643822128, "lat": 40.7564038, "lon": -73.9860618}, {"type": "node", "id": 2643822146, "lat": 40.756421, "lon": -73.9860172}, {"type": "node", "id": 2643822149, "lat": 40.7564217, "lon": -73.9859782}, {"type": "node", "id": 2643822151, "lat": 40.7564228, "lon": -73.9859998}, {"type": "node", "id": 2649092004, "lat": 40.7565419, "lon": -73.9923615}, {"type": "node", "id": 2653624216, "lat": 40.7599636, "lon": -73.9860438}, {"type": "node", "id": 2653624219, "lat": 40.760004, "lon": -73.9860146}, {"type": "node", "id": 2653624225, "lat": 40.760092, "lon": -73.985951}, {"type": "node", "id": 2653624231, "lat": 40.7601763, "lon": -73.9852091}, {"type": "node", "id": 2653624233, "lat": 40.7601987, "lon": -73.9852621}, {"type": "node", "id": 2653624236, "lat": 40.7602422, "lon": -73.9853649}, {"type": "node", "id": 2653624237, "lat": 40.7602671, "lon": -73.9858218}, {"type": "node", "id": 2653624239, "lat": 40.7603292, "lon": -73.9855707}, {"type": "node", "id": 2653624241, "lat": 40.7603548, "lon": -73.9857572}, {"type": "node", "id": 2653624242, "lat": 40.7603731, "lon": -73.9856745}, {"type": "node", "id": 2653652188, "lat": 40.7595976, "lon": -73.9851983}, {"type": "node", "id": 2653652189, "lat": 40.7596202, "lon": -73.985248}, {"type": "node", "id": 2653652190, "lat": 40.7596268, "lon": -73.9851586}, {"type": "node", "id": 2653652191, "lat": 40.7596324, "lon": -73.9851691}, {"type": "node", "id": 2653652202, "lat": 40.7600071, "lon": -73.985009}, {"type": "node", "id": 2653652203, "lat": 40.76001, "lon": -73.9850215}, {"type": "node", "id": 2653652207, "lat": 40.7600481, "lon": -73.9849926}, {"type": "node", "id": 2653652209, "lat": 40.7600767, "lon": -73.9850593}, {"type": "node", "id": 2653764641, "lat": 40.7587556, "lon": -73.9868613}, {"type": "node", "id": 2653764644, "lat": 40.7588102, "lon": -73.9869907}, {"type": "node", "id": 2653764647, "lat": 40.7589337, "lon": -73.9865026}, {"type": "node", "id": 2653764650, "lat": 40.7589424, "lon": -73.9868945}, {"type": "node", "id": 2653764653, "lat": 40.7589576, "lon": -73.9865611}, {"type": "node", "id": 2656117896, "lat": 40.7607059, "lon": -73.9859124}, {"type": "node", "id": 2656117897, "lat": 40.760776, "lon": -73.9856798}, {"type": "node", "id": 2656117903, "lat": 40.7608406, "lon": -73.9862331}, {"type": "node", "id": 2656117916, "lat": 40.7609447, "lon": -73.9858405}, {"type": "node", "id": 2656117928, "lat": 40.7610278, "lon": -73.9862782}, {"type": "node", "id": 2656512443, "lat": 40.7557692, "lon": -73.9867332}, {"type": "node", "id": 2656672091, "lat": 40.7555166, "lon": -73.9875562}, {"type": "node", "id": 2656672093, "lat": 40.7556292, "lon": -73.9878303}, {"type": "node", "id": 2656672095, "lat": 40.7556742, "lon": -73.9879306}, {"type": "node", "id": 2656672098, "lat": 40.7559072, "lon": -73.9877618}, {"type": "node", "id": 2656672109, "lat": 40.7560724, "lon": -73.9874107}, {"type": "node", "id": 2656672116, "lat": 40.7561404, "lon": -73.9875862}, {"type": "node", "id": 2657554315, "lat": 40.7557927, "lon": -73.9901526}, {"type": "node", "id": 2657554318, "lat": 40.7559042, "lon": -73.9904185}, {"type": "node", "id": 2657554323, "lat": 40.755985, "lon": -73.9904821}, {"type": "node", "id": 2657554325, "lat": 40.7560139, "lon": -73.990489}, {"type": "node", "id": 2657554326, "lat": 40.7560174, "lon": -73.9904955}, {"type": "node", "id": 2657554340, "lat": 40.7562491, "lon": -73.9898175}, {"type": "node", "id": 2657554342, "lat": 40.7563566, "lon": -73.9902375}, {"type": "node", "id": 2657554343, "lat": 40.7563584, "lon": -73.9902049}, {"type": "node", "id": 2657554344, "lat": 40.7563595, "lon": -73.9902427}, {"type": "node", "id": 2657554345, "lat": 40.7563609, "lon": -73.990083}, {"type": "node", "id": 2673426498, "lat": 40.7581787, "lon": -73.9858277}, {"type": "node", "id": 2673426546, "lat": 40.758685, "lon": -73.9855584}, {"type": "node", "id": 2676905390, "lat": 40.7575947, "lon": -73.9887735}, {"type": "node", "id": 2676905392, "lat": 40.7583324, "lon": -73.9893401}, {"type": "node", "id": 2676905393, "lat": 40.7584177, "lon": -73.989542}, {"type": "node", "id": 2676905396, "lat": 40.7584788, "lon": -73.989497}, {"type": "node", "id": 2676905398, "lat": 40.7585358, "lon": -73.989632}, {"type": "node", "id": 2678581854, "lat": 40.7603413, "lon": -73.9863606}, {"type": "node", "id": 2688185281, "lat": 40.7582723, "lon": -73.9937772}, {"type": "node", "id": 2688185288, "lat": 40.7584378, "lon": -73.9941721}, {"type": "node", "id": 2688185293, "lat": 40.758404, "lon": -73.9936816}, {"type": "node", "id": 2688185298, "lat": 40.7584681, "lon": -73.993835}, {"type": "node", "id": 2688185305, "lat": 40.7587079, "lon": -73.9936609}, {"type": "node", "id": 2688185306, "lat": 40.7588019, "lon": -73.9939079}, {"type": "node", "id": 2709402615, "lat": 40.754042, "lon": -73.9936485}, {"type": "node", "id": 2709402626, "lat": 40.754062, "lon": -73.9948866}, {"type": "node", "id": 2709402639, "lat": 40.754091, "lon": -73.9930315}, {"type": "node", "id": 2709402649, "lat": 40.7541187, "lon": -73.9929851}, {"type": "node", "id": 2709402669, "lat": 40.7541604, "lon": -73.9951188}, {"type": "node", "id": 2709402681, "lat": 40.7541779, "lon": -73.9939709}, {"type": "node", "id": 2709402717, "lat": 40.7542128, "lon": -73.9940536}, {"type": "node", "id": 2709402721, "lat": 40.7542154, "lon": -73.9933266}, {"type": "node", "id": 2709402729, "lat": 40.7542225, "lon": -73.9950733}, {"type": "node", "id": 2709402744, "lat": 40.7542622, "lon": -73.9941708, "tags": {"access": "yes", "automatic_door": "yes", "door": "sliding", "entrance": "main", "level": "0", "wheelchair": "yes"}}, {"type": "node", "id": 2709402746, "lat": 40.7542784, "lon": -73.9934761}, {"type": "node", "id": 2709402750, "lat": 40.7542995, "lon": -73.9947126}, {"type": "node", "id": 2709402752, "lat": 40.7543065, "lon": -73.9950117}, {"type": "node", "id": 2709402754, "lat": 40.7543135, "lon": -73.9942925}, {"type": "node", "id": 2709402756, "lat": 40.754315, "lon": -73.9935629}, {"type": "node", "id": 2709402758, "lat": 40.7543179, "lon": -73.9928398}, {"type": "node", "id": 2709402766, "lat": 40.7543505, "lon": -73.9939532}, {"type": "node", "id": 2709402787, "lat": 40.7543979, "lon": -73.9949447}, {"type": "node", "id": 2709402789, "lat": 40.7543996, "lon": -73.9940752}, {"type": "node", "id": 2709402798, "lat": 40.7544144, "lon": -73.9937985}, {"type": "node", "id": 2709402806, "lat": 40.7544228, "lon": -73.9945518}, {"type": "node", "id": 2709402824, "lat": 40.7544477, "lon": -73.9941947}, {"type": "node", "id": 2709402825, "lat": 40.7544492, "lon": -73.9938811}, {"type": "node", "id": 2709402826, "lat": 40.7544503, "lon": -73.9937735}, {"type": "node", "id": 2709402827, "lat": 40.7544515, "lon": -73.9931545}, {"type": "node", "id": 2709402828, "lat": 40.7544689, "lon": -73.9946608}, {"type": "node", "id": 2709402830, "lat": 40.7544831, "lon": -73.9939615}, {"type": "node", "id": 2709402831, "lat": 40.7544853, "lon": -73.9938567}, {"type": "node", "id": 2709402838, "lat": 40.7545062, "lon": -73.9937327}, {"type": "node", "id": 2709402840, "lat": 40.7545062, "lon": -73.9938414}, {"type": "node", "id": 2709402842, "lat": 40.7545143, "lon": -73.9937387}, {"type": "node", "id": 2709402846, "lat": 40.7545356, "lon": -73.9937232}, {"type": "node", "id": 2709402848, "lat": 40.7545381, "lon": -73.9937291}, {"type": "node", "id": 2709402850, "lat": 40.7545395, "lon": -73.9939204}, {"type": "node", "id": 2709402852, "lat": 40.7545406, "lon": -73.9938163}, {"type": "node", "id": 2709402854, "lat": 40.7545428, "lon": -73.9937997}, {"type": "node", "id": 2709402856, "lat": 40.7545454, "lon": -73.9948429}, {"type": "node", "id": 2709402858, "lat": 40.75455, "lon": -73.9941201}, {"type": "node", "id": 2709402861, "lat": 40.7545511, "lon": -73.9933907}, {"type": "node", "id": 2709402862, "lat": 40.7545515, "lon": -73.9937109}, {"type": "node", "id": 2709402864, "lat": 40.7545542, "lon": -73.9937173}, {"type": "node", "id": 2709402866, "lat": 40.7545715, "lon": -73.9949044}, {"type": "node", "id": 2709402870, "lat": 40.7545916, "lon": -73.9936816}, {"type": "node", "id": 2709402873, "lat": 40.7545953, "lon": -73.9936678}, {"type": "node", "id": 2709402875, "lat": 40.7545984, "lon": -73.9949681}, {"type": "node", "id": 2709402879, "lat": 40.7546164, "lon": -73.9942739}, {"type": "node", "id": 2709402881, "lat": 40.7546207, "lon": -73.9937429}, {"type": "node", "id": 2709402885, "lat": 40.7546315, "lon": -73.9937501}, {"type": "node", "id": 2709402887, "lat": 40.7546412, "lon": -73.9947727}, {"type": "node", "id": 2709402890, "lat": 40.7546494, "lon": -73.9943525}, {"type": "node", "id": 2709402892, "lat": 40.754651, "lon": -73.9936272}, {"type": "node", "id": 2709402896, "lat": 40.7546583, "lon": -73.9949244}, {"type": "node", "id": 2709402898, "lat": 40.7546604, "lon": -73.9943785}, {"type": "node", "id": 2709402904, "lat": 40.7546673, "lon": -73.9948346}, {"type": "node", "id": 2709402908, "lat": 40.7546746, "lon": -73.994963}, {"type": "node", "id": 2709402913, "lat": 40.754686, "lon": -73.9937103}, {"type": "node", "id": 2709402917, "lat": 40.7546925, "lon": -73.9948943}, {"type": "node", "id": 2709402919, "lat": 40.7546941, "lon": -73.9948982}, {"type": "node", "id": 2709402931, "lat": 40.754706, "lon": -73.9944872}, {"type": "node", "id": 2709402936, "lat": 40.754715, "lon": -73.9948779}, {"type": "node", "id": 2709402938, "lat": 40.7547193, "lon": -73.9937893}, {"type": "node", "id": 2709402942, "lat": 40.7547223, "lon": -73.9947134}, {"type": "node", "id": 2709402955, "lat": 40.7547329, "lon": -73.9949205}, {"type": "node", "id": 2709402985, "lat": 40.7547735, "lon": -73.9948353}, {"type": "node", "id": 2709403000, "lat": 40.7547959, "lon": -73.9950699}, {"type": "node", "id": 2709403018, "lat": 40.7548404, "lon": -73.9946269}, {"type": "node", "id": 2709403024, "lat": 40.7548514, "lon": -73.9941019}, {"type": "node", "id": 2709403029, "lat": 40.7548543, "lon": -73.9950275}, {"type": "node", "id": 2709403046, "lat": 40.7549013, "lon": -73.9945821}, {"type": "node", "id": 2709403049, "lat": 40.7549057, "lon": -73.9945925}, {"type": "node", "id": 2709403052, "lat": 40.754914, "lon": -73.9945728}, {"type": "node", "id": 2709403056, "lat": 40.7549144, "lon": -73.9949834}, {"type": "node", "id": 2709403062, "lat": 40.7549185, "lon": -73.9945832}, {"type": "node", "id": 2709403065, "lat": 40.7549258, "lon": -73.9946402}, {"type": "node", "id": 2709403074, "lat": 40.7549377, "lon": -73.9946315}, {"type": "node", "id": 2709403077, "lat": 40.7549612, "lon": -73.9946871}, {"type": "node", "id": 2709403079, "lat": 40.7549696, "lon": -73.9946809}, {"type": "node", "id": 2709403085, "lat": 40.7549724, "lon": -73.994941}, {"type": "node", "id": 2709403093, "lat": 40.7550013, "lon": -73.9947559}, {"type": "node", "id": 2709403095, "lat": 40.7550028, "lon": -73.9946567}, {"type": "node", "id": 2709403101, "lat": 40.7550175, "lon": -73.9944973}, {"type": "node", "id": 2709403104, "lat": 40.7550212, "lon": -73.9947005}, {"type": "node", "id": 2709403106, "lat": 40.7550253, "lon": -73.9946975}, {"type": "node", "id": 2709403115, "lat": 40.7550338, "lon": -73.9948964}, {"type": "node", "id": 2709403116, "lat": 40.7550385, "lon": -73.9947288}, {"type": "node", "id": 2709403117, "lat": 40.7550424, "lon": -73.9945552}, {"type": "node", "id": 2709403122, "lat": 40.7550658, "lon": -73.9946108}, {"type": "node", "id": 2709403143, "lat": 40.7551504, "lon": -73.9948114}, {"type": "node", "id": 2709413095, "lat": 40.7547825, "lon": -73.9946693}, {"type": "node", "id": 2709493992, "lat": 40.7542343, "lon": -73.9921794}, {"type": "node", "id": 2709493995, "lat": 40.7542988, "lon": -73.9921325}, {"type": "node", "id": 2709493998, "lat": 40.7543524, "lon": -73.9920936}, {"type": "node", "id": 2709493999, "lat": 40.754367, "lon": -73.9924954}, {"type": "node", "id": 2709494000, "lat": 40.7543841, "lon": -73.9923355}, {"type": "node", "id": 2709494004, "lat": 40.7544377, "lon": -73.9922965}, {"type": "node", "id": 2709494009, "lat": 40.7544672, "lon": -73.9927339}, {"type": "node", "id": 2709494010, "lat": 40.7544851, "lon": -73.9924095}, {"type": "node", "id": 2709494011, "lat": 40.7545111, "lon": -73.9923906}, {"type": "node", "id": 2709494015, "lat": 40.7545258, "lon": -73.9919676}, {"type": "node", "id": 2709494018, "lat": 40.7545446, "lon": -73.9924704}, {"type": "node", "id": 2709494019, "lat": 40.7545536, "lon": -73.9924638}, {"type": "node", "id": 2709494022, "lat": 40.7545781, "lon": -73.9925503}, {"type": "node", "id": 2709494025, "lat": 40.7545871, "lon": -73.9925437}, {"type": "node", "id": 2709494028, "lat": 40.7545996, "lon": -73.993049}, {"type": "node", "id": 2709494029, "lat": 40.7546027, "lon": -73.9923241}, {"type": "node", "id": 2709494030, "lat": 40.7546112, "lon": -73.9926293}, {"type": "node", "id": 2709494032, "lat": 40.7546357, "lon": -73.9924027}, {"type": "node", "id": 2709494033, "lat": 40.7546464, "lon": -73.99188}, {"type": "node", "id": 2709494034, "lat": 40.7546551, "lon": -73.9930086}, {"type": "node", "id": 2709494035, "lat": 40.7546585, "lon": -73.9922836}, {"type": "node", "id": 2709494036, "lat": 40.7546659, "lon": -73.9932065}, {"type": "node", "id": 2709494038, "lat": 40.7547033, "lon": -73.9925628}, {"type": "node", "id": 2709494040, "lat": 40.7547051, "lon": -73.9918374}, {"type": "node", "id": 2709494041, "lat": 40.7547148, "lon": -73.9923452}, {"type": "node", "id": 2709494043, "lat": 40.7547309, "lon": -73.9933619}, {"type": "node", "id": 2709494044, "lat": 40.7547315, "lon": -73.9933615}, {"type": "node", "id": 2709494046, "lat": 40.7547791, "lon": -73.9921959}, {"type": "node", "id": 2709494049, "lat": 40.7548351, "lon": -73.9928779}, {"type": "node", "id": 2709494050, "lat": 40.7548378, "lon": -73.9921533}, {"type": "node", "id": 2709494052, "lat": 40.7548708, "lon": -73.9922319}, {"type": "node", "id": 2709494053, "lat": 40.7549009, "lon": -73.9930351}, {"type": "node", "id": 2709494055, "lat": 40.7549377, "lon": -73.992392}, {"type": "node", "id": 2709494056, "lat": 40.7549381, "lon": -73.9923916}, {"type": "node", "id": 2709494058, "lat": 40.7549956, "lon": -73.9939927}, {"type": "node", "id": 2709494059, "lat": 40.7550307, "lon": -73.9940764}, {"type": "node", "id": 2709494060, "lat": 40.7550404, "lon": -73.9939601}, {"type": "node", "id": 2709494061, "lat": 40.755054, "lon": -73.9939657}, {"type": "node", "id": 2709494062, "lat": 40.7550568, "lon": -73.9933329}, {"type": "node", "id": 2709494063, "lat": 40.7550709, "lon": -73.9934402}, {"type": "node", "id": 2709494064, "lat": 40.7550753, "lon": -73.994044}, {"type": "node", "id": 2709494065, "lat": 40.755081, "lon": -73.9940292}, {"type": "node", "id": 2709494066, "lat": 40.7550945, "lon": -73.993423}, {"type": "node", "id": 2709494067, "lat": 40.7550966, "lon": -73.9942332}, {"type": "node", "id": 2709494068, "lat": 40.7551025, "lon": -73.9939305}, {"type": "node", "id": 2709494069, "lat": 40.7551085, "lon": -73.9939447}, {"type": "node", "id": 2709494070, "lat": 40.7551111, "lon": -73.9929078}, {"type": "node", "id": 2709494071, "lat": 40.7551167, "lon": -73.9935496}, {"type": "node", "id": 2709494072, "lat": 40.7551242, "lon": -73.9939793}, {"type": "node", "id": 2709494074, "lat": 40.7551298, "lon": -73.9935809}, {"type": "node", "id": 2709494075, "lat": 40.7551302, "lon": -73.9939935}, {"type": "node", "id": 2709494077, "lat": 40.7551324, "lon": -73.993908}, {"type": "node", "id": 2709494078, "lat": 40.7551386, "lon": -73.9939229}, {"type": "node", "id": 2709494079, "lat": 40.7551412, "lon": -73.9935318}, {"type": "node", "id": 2709494080, "lat": 40.7551441, "lon": -73.9928838}, {"type": "node", "id": 2709494081, "lat": 40.7551537, "lon": -73.9939579}, {"type": "node", "id": 2709494082, "lat": 40.7551543, "lon": -73.993563}, {"type": "node", "id": 2709494083, "lat": 40.7551594, "lon": -73.9939715}, {"type": "node", "id": 2709494084, "lat": 40.7551617, "lon": -73.9938867}, {"type": "node", "id": 2709494085, "lat": 40.7551662, "lon": -73.9938684}, {"type": "node", "id": 2709494086, "lat": 40.7551686, "lon": -73.9944068}, {"type": "node", "id": 2709494087, "lat": 40.755171, "lon": -73.9930511}, {"type": "node", "id": 2709494089, "lat": 40.7551894, "lon": -73.9939497}, {"type": "node", "id": 2709494091, "lat": 40.7551971, "lon": -73.9939556}, {"type": "node", "id": 2709494093, "lat": 40.7552049, "lon": -73.9930264}, {"type": "node", "id": 2709494094, "lat": 40.7552275, "lon": -73.994364}, {"type": "node", "id": 2709494095, "lat": 40.7552305, "lon": -73.9938215}, {"type": "node", "id": 2709494096, "lat": 40.755243, "lon": -73.9944009}, {"type": "node", "id": 2709494100, "lat": 40.7552582, "lon": -73.9944517}, {"type": "node", "id": 2709494101, "lat": 40.7552629, "lon": -73.9944483}, {"type": "node", "id": 2709494102, "lat": 40.7552661, "lon": -73.9939054}, {"type": "node", "id": 2709494103, "lat": 40.7552686, "lon": -73.9931785}, {"type": "node", "id": 2709494104, "lat": 40.755272, "lon": -73.9944699}, {"type": "node", "id": 2709494105, "lat": 40.7552841, "lon": -73.9944733}, {"type": "node", "id": 2709494106, "lat": 40.7552891, "lon": -73.9943179}, {"type": "node", "id": 2709494107, "lat": 40.7552899, "lon": -73.9940929}, {"type": "node", "id": 2709494108, "lat": 40.7552937, "lon": -73.9947046}, {"type": "node", "id": 2709494110, "lat": 40.755305, "lon": -73.9943558}, {"type": "node", "id": 2709494111, "lat": 40.7553156, "lon": -73.9945884}, {"type": "node", "id": 2709494113, "lat": 40.7553232, "lon": -73.994592}, {"type": "node", "id": 2709494114, "lat": 40.7553254, "lon": -73.9944043}, {"type": "node", "id": 2709494115, "lat": 40.7553281, "lon": -73.9945782}, {"type": "node", "id": 2709494116, "lat": 40.7553292, "lon": -73.9944382}, {"type": "node", "id": 2709494117, "lat": 40.755332, "lon": -73.9940622}, {"type": "node", "id": 2709494118, "lat": 40.755334, "lon": -73.9944249}, {"type": "node", "id": 2709494119, "lat": 40.7553433, "lon": -73.9942624}, {"type": "node", "id": 2709494120, "lat": 40.7553485, "lon": -73.9942748}, {"type": "node", "id": 2709494121, "lat": 40.7553526, "lon": -73.9946618}, {"type": "node", "id": 2709494122, "lat": 40.7553569, "lon": -73.9942525}, {"type": "node", "id": 2709494124, "lat": 40.7553742, "lon": -73.9945455}, {"type": "node", "id": 2709494126, "lat": 40.7553848, "lon": -73.9943612}, {"type": "node", "id": 2709494127, "lat": 40.7553855, "lon": -73.9945475}, {"type": "node", "id": 2709494128, "lat": 40.7553991, "lon": -73.9942219}, {"type": "node", "id": 2709494130, "lat": 40.7554146, "lon": -73.9946168}, {"type": "node", "id": 2709494132, "lat": 40.7554302, "lon": -73.9950151}, {"type": "node", "id": 2709494135, "lat": 40.755459, "lon": -73.9941784}, {"type": "node", "id": 2709494136, "lat": 40.7554658, "lon": -73.9936499}, {"type": "node", "id": 2709494138, "lat": 40.755474, "lon": -73.9945736}, {"type": "node", "id": 2709494140, "lat": 40.7555169, "lon": -73.9952248}, {"type": "node", "id": 2709494141, "lat": 40.7555186, "lon": -73.9941351}, {"type": "node", "id": 2709494143, "lat": 40.7555422, "lon": -73.9951494}, {"type": "node", "id": 2709494146, "lat": 40.7555605, "lon": -73.9951937}, {"type": "node", "id": 2709494147, "lat": 40.7555678, "lon": -73.9938909}, {"type": "node", "id": 2709494149, "lat": 40.7555816, "lon": -73.9940893}, {"type": "node", "id": 2709494150, "lat": 40.7555897, "lon": -73.9944896}, {"type": "node", "id": 2709494154, "lat": 40.7556293, "lon": -73.9950871}, {"type": "node", "id": 2709494155, "lat": 40.7556349, "lon": -73.9940506}, {"type": "node", "id": 2709494157, "lat": 40.7556353, "lon": -73.994966}, {"type": "node", "id": 2709494160, "lat": 40.7556481, "lon": -73.995131}, {"type": "node", "id": 2709494161, "lat": 40.7556493, "lon": -73.9944463}, {"type": "node", "id": 2709494162, "lat": 40.7556515, "lon": -73.9949768}, {"type": "node", "id": 2709494163, "lat": 40.7556642, "lon": -73.9950054}, {"type": "node", "id": 2709494164, "lat": 40.7556726, "lon": -73.9950561}, {"type": "node", "id": 2709494165, "lat": 40.7556738, "lon": -73.994998}, {"type": "node", "id": 2709494166, "lat": 40.7556767, "lon": -73.9950532}, {"type": "node", "id": 2709494168, "lat": 40.7556811, "lon": -73.9950529}, {"type": "node", "id": 2709494171, "lat": 40.7556938, "lon": -73.9950431}, {"type": "node", "id": 2709494173, "lat": 40.7556944, "lon": -73.9950826}, {"type": "node", "id": 2709494174, "lat": 40.755695, "lon": -73.9950974}, {"type": "node", "id": 2709494175, "lat": 40.7556957, "lon": -73.994927}, {"type": "node", "id": 2709494176, "lat": 40.7556962, "lon": -73.9951003}, {"type": "node", "id": 2709494177, "lat": 40.7556975, "lon": -73.9949384}, {"type": "node", "id": 2709494178, "lat": 40.7557057, "lon": -73.9949776}, {"type": "node", "id": 2709494179, "lat": 40.7557091, "lon": -73.9949339}, {"type": "node", "id": 2709494180, "lat": 40.7557119, "lon": -73.9949731}, {"type": "node", "id": 2709494181, "lat": 40.7557123, "lon": -73.9944006}, {"type": "node", "id": 2709494182, "lat": 40.7557223, "lon": -73.9949657}, {"type": "node", "id": 2709494183, "lat": 40.7557234, "lon": -73.9950204}, {"type": "node", "id": 2709494184, "lat": 40.755726, "lon": -73.9951723}, {"type": "node", "id": 2709494185, "lat": 40.7557282, "lon": -73.995017}, {"type": "node", "id": 2709494188, "lat": 40.7557333, "lon": -73.9949578}, {"type": "node", "id": 2709494189, "lat": 40.7557405, "lon": -73.9950107}, {"type": "node", "id": 2709494190, "lat": 40.7557408, "lon": -73.9950474}, {"type": "node", "id": 2709494193, "lat": 40.7557518, "lon": -73.9950026}, {"type": "node", "id": 2709494194, "lat": 40.7557535, "lon": -73.995042}, {"type": "node", "id": 2709494195, "lat": 40.755754, "lon": -73.9950535}, {"type": "node", "id": 2709494196, "lat": 40.7557541, "lon": -73.9948637}, {"type": "node", "id": 2709494197, "lat": 40.7557576, "lon": -73.9948993}, {"type": "node", "id": 2709494198, "lat": 40.755758, "lon": -73.9948609}, {"type": "node", "id": 2709494199, "lat": 40.7557611, "lon": -73.9948805}, {"type": "node", "id": 2709494200, "lat": 40.7557621, "lon": -73.9949333}, {"type": "node", "id": 2709494201, "lat": 40.7557636, "lon": -73.9949008}, {"type": "node", "id": 2709494202, "lat": 40.7557656, "lon": -73.9943618}, {"type": "node", "id": 2709494204, "lat": 40.7557695, "lon": -73.994928}, {"type": "node", "id": 2709494205, "lat": 40.7557721, "lon": -73.9948948}, {"type": "node", "id": 2709494206, "lat": 40.7557799, "lon": -73.9949761}, {"type": "node", "id": 2709494207, "lat": 40.7557803, "lon": -73.9949413}, {"type": "node", "id": 2709494209, "lat": 40.7557843, "lon": -73.9951268}, {"type": "node", "id": 2709494210, "lat": 40.7557855, "lon": -73.994972}, {"type": "node", "id": 2709494211, "lat": 40.7557855, "lon": -73.9951297}, {"type": "node", "id": 2709494212, "lat": 40.7557856, "lon": -73.9947607}, {"type": "node", "id": 2709494214, "lat": 40.7557996, "lon": -73.9950061}, {"type": "node", "id": 2709494215, "lat": 40.7558069, "lon": -73.9948361}, {"type": "node", "id": 2709494217, "lat": 40.7558093, "lon": -73.994818}, {"type": "node", "id": 2709494218, "lat": 40.7558116, "lon": -73.995013}, {"type": "node", "id": 2709494220, "lat": 40.7558174, "lon": -73.9948615}, {"type": "node", "id": 2709494221, "lat": 40.7558234, "lon": -73.9948572}, {"type": "node", "id": 2709494222, "lat": 40.7558404, "lon": -73.9948983}, {"type": "node", "id": 2709494224, "lat": 40.7558417, "lon": -73.9950857}, {"type": "node", "id": 2709629942, "lat": 40.7554721, "lon": -73.9917413, "tags": {"addr:housenumber": "306", "addr:postcode": "10018", "addr:street": "West 39th Street", "entrance": "yes"}}, {"type": "node", "id": 2709629971, "lat": 40.755263, "lon": -73.9916025}, {"type": "node", "id": 2709630015, "lat": 40.7539565, "lon": -73.9896085}, {"type": "node", "id": 2709630028, "lat": 40.7540709, "lon": -73.9910657}, {"type": "node", "id": 2709630032, "lat": 40.7541126, "lon": -73.9892453}, {"type": "node", "id": 2709630034, "lat": 40.7541242, "lon": -73.989273}, {"type": "node", "id": 2709630037, "lat": 40.7541413, "lon": -73.9892244}, {"type": "node", "id": 2709630039, "lat": 40.7541529, "lon": -73.9892521}, {"type": "node", "id": 2709630040, "lat": 40.7541582, "lon": -73.9912728}, {"type": "node", "id": 2709630041, "lat": 40.75417, "lon": -73.989453}, {"type": "node", "id": 2709630043, "lat": 40.754185, "lon": -73.9912533}, {"type": "node", "id": 2709630045, "lat": 40.7542044, "lon": -73.9913766}, {"type": "node", "id": 2709630047, "lat": 40.7542167, "lon": -73.9902264}, {"type": "node", "id": 2709630049, "lat": 40.7542293, "lon": -73.9913584}, {"type": "node", "id": 2709630050, "lat": 40.7542358, "lon": -73.991451}, {"type": "node", "id": 2709630052, "lat": 40.7542524, "lon": -73.9915052}, {"type": "node", "id": 2709630053, "lat": 40.7542607, "lon": -73.9914328}, {"type": "node", "id": 2709630054, "lat": 40.7542621, "lon": -73.9903343}, {"type": "node", "id": 2709630055, "lat": 40.7542755, "lon": -73.9896325}, {"type": "node", "id": 2709630056, "lat": 40.7542821, "lon": -73.9914836}, {"type": "node", "id": 2709630057, "lat": 40.754304, "lon": -73.9897002}, {"type": "node", "id": 2709630058, "lat": 40.7543043, "lon": -73.9896116}, {"type": "node", "id": 2709630059, "lat": 40.7543084, "lon": -73.9908926}, {"type": "node", "id": 2709630061, "lat": 40.7543319, "lon": -73.9916937}, {"type": "node", "id": 2709630062, "lat": 40.7543487, "lon": -73.9890734}, {"type": "node", "id": 2709630063, "lat": 40.754359, "lon": -73.9898308}, {"type": "node", "id": 2709630064, "lat": 40.7543759, "lon": -73.9906046}, {"type": "node", "id": 2709630065, "lat": 40.7543957, "lon": -73.9910997}, {"type": "node", "id": 2709630066, "lat": 40.7544301, "lon": -73.9900709}, {"type": "node", "id": 2709630067, "lat": 40.7544488, "lon": -73.9907777}, {"type": "node", "id": 2709630068, "lat": 40.7544518, "lon": -73.9900552}, {"type": "node", "id": 2709630069, "lat": 40.7544568, "lon": -73.9900631}, {"type": "node", "id": 2709630070, "lat": 40.7544704, "lon": -73.9900993}, {"type": "node", "id": 2709630071, "lat": 40.7544811, "lon": -73.9900454}, {"type": "node", "id": 2709630072, "lat": 40.7544959, "lon": -73.9900807}, {"type": "node", "id": 2709630073, "lat": 40.7544972, "lon": -73.9901631}, {"type": "node", "id": 2709630074, "lat": 40.7545117, "lon": -73.9894606}, {"type": "node", "id": 2709630075, "lat": 40.7545184, "lon": -73.9902133}, {"type": "node", "id": 2709630076, "lat": 40.7545402, "lon": -73.9895283}, {"type": "node", "id": 2709630077, "lat": 40.7545558, "lon": -73.9915166}, {"type": "node", "id": 2709630078, "lat": 40.7545603, "lon": -73.9915272}, {"type": "node", "id": 2709630079, "lat": 40.7545678, "lon": -73.9915079}, {"type": "node", "id": 2709630080, "lat": 40.7545838, "lon": -73.9910982}, {"type": "node", "id": 2709630081, "lat": 40.7545952, "lon": -73.9896589}, {"type": "node", "id": 2709630082, "lat": 40.754611, "lon": -73.9904334}, {"type": "node", "id": 2709630083, "lat": 40.7546322, "lon": -73.9912132}, {"type": "node", "id": 2709630084, "lat": 40.7546821, "lon": -73.9911596}, {"type": "node", "id": 2709630085, "lat": 40.7546839, "lon": -73.9906066}, {"type": "node", "id": 2709630086, "lat": 40.7546845, "lon": -73.9906078}, {"type": "node", "id": 2709630087, "lat": 40.7546877, "lon": -73.9911728}, {"type": "node", "id": 2709630088, "lat": 40.7547003, "lon": -73.9911464}, {"type": "node", "id": 2709630089, "lat": 40.7547058, "lon": -73.9911596}, {"type": "node", "id": 2709630090, "lat": 40.7547078, "lon": -73.9899264}, {"type": "node", "id": 2709630091, "lat": 40.7547172, "lon": -73.9914151}, {"type": "node", "id": 2709630092, "lat": 40.7547301, "lon": -73.9911419}, {"type": "node", "id": 2709630093, "lat": 40.754731, "lon": -73.991124}, {"type": "node", "id": 2709630094, "lat": 40.7547365, "lon": -73.9911372}, {"type": "node", "id": 2709630095, "lat": 40.7547558, "lon": -73.9900405}, {"type": "node", "id": 2709630096, "lat": 40.754795, "lon": -73.9909444}, {"type": "node", "id": 2709630097, "lat": 40.7548151, "lon": -73.9913437}, {"type": "node", "id": 2709630098, "lat": 40.7548189, "lon": -73.990927}, {"type": "node", "id": 2709630099, "lat": 40.7548211, "lon": -73.9909323}, {"type": "node", "id": 2709630100, "lat": 40.7548379, "lon": -73.9910462}, {"type": "node", "id": 2709630101, "lat": 40.7548464, "lon": -73.9909139}, {"type": "node", "id": 2709630102, "lat": 40.7548503, "lon": -73.9917341}, {"type": "node", "id": 2709630103, "lat": 40.7548523, "lon": -73.9910529}, {"type": "node", "id": 2709630104, "lat": 40.7548926, "lon": -73.9910236}, {"type": "node", "id": 2709630105, "lat": 40.7549219, "lon": -73.9904349}, {"type": "node", "id": 2709630106, "lat": 40.7549373, "lon": -73.9912548}, {"type": "node", "id": 2709630107, "lat": 40.7549779, "lon": -73.9909615}, {"type": "node", "id": 2709630108, "lat": 40.7549815, "lon": -73.9920451}, {"type": "node", "id": 2709630109, "lat": 40.7550097, "lon": -73.9909383}, {"type": "node", "id": 2709630110, "lat": 40.7550585, "lon": -73.9907594}, {"type": "node", "id": 2709630111, "lat": 40.7550628, "lon": -73.9911634}, {"type": "node", "id": 2709630112, "lat": 40.7550854, "lon": -73.9915627}, {"type": "node", "id": 2709630113, "lat": 40.7550947, "lon": -73.9911402}, {"type": "node", "id": 2709630114, "lat": 40.7551327, "lon": -73.9918926}, {"type": "node", "id": 2709630115, "lat": 40.7551463, "lon": -73.9919249}, {"type": "node", "id": 2709630116, "lat": 40.7551785, "lon": -73.9918593}, {"type": "node", "id": 2709630117, "lat": 40.7551825, "lon": -73.9925217}, {"type": "node", "id": 2709630118, "lat": 40.7551897, "lon": -73.991071}, {"type": "node", "id": 2709630119, "lat": 40.7551921, "lon": -73.9918916}, {"type": "node", "id": 2709630120, "lat": 40.7552031, "lon": -73.9918413}, {"type": "node", "id": 2709630121, "lat": 40.7552081, "lon": -73.9914732}, {"type": "node", "id": 2709630122, "lat": 40.7552148, "lon": -73.9925985}, {"type": "node", "id": 2709630123, "lat": 40.7552267, "lon": -73.9919743}, {"type": "node", "id": 2709630124, "lat": 40.755245, "lon": -73.99267}, {"type": "node", "id": 2709630125, "lat": 40.7552603, "lon": -73.9920533}, {"type": "node", "id": 2709630126, "lat": 40.7552717, "lon": -73.9925571}, {"type": "node", "id": 2709630127, "lat": 40.7552777, "lon": -73.9925713}, {"type": "node", "id": 2709630128, "lat": 40.7552998, "lon": -73.9920246}, {"type": "node", "id": 2709630129, "lat": 40.7553236, "lon": -73.991389}, {"type": "node", "id": 2709630130, "lat": 40.7553287, "lon": -73.9925155}, {"type": "node", "id": 2709630131, "lat": 40.7553347, "lon": -73.9925297}, {"type": "node", "id": 2709630132, "lat": 40.7553394, "lon": -73.9917845}, {"type": "node", "id": 2709630133, "lat": 40.7553484, "lon": -73.9929153}, {"type": "node", "id": 2709630134, "lat": 40.7553653, "lon": -73.9921799}, {"type": "node", "id": 2709630136, "lat": 40.7553814, "lon": -73.9924771}, {"type": "node", "id": 2709630137, "lat": 40.7553827, "lon": -73.9929958}, {"type": "node", "id": 2709630138, "lat": 40.7553931, "lon": -73.9923682}, {"type": "node", "id": 2709630139, "lat": 40.7554115, "lon": -73.9925485}, {"type": "node", "id": 2709630140, "lat": 40.7554167, "lon": -73.9930764}, {"type": "node", "id": 2709630141, "lat": 40.7554201, "lon": -73.9923488}, {"type": "node", "id": 2709630142, "lat": 40.7554451, "lon": -73.9929503}, {"type": "node", "id": 2709630143, "lat": 40.755449, "lon": -73.993153}, {"type": "node", "id": 2709630144, "lat": 40.7554501, "lon": -73.9929557}, {"type": "node", "id": 2709630145, "lat": 40.7554523, "lon": -73.9924254}, {"type": "node", "id": 2709630146, "lat": 40.7554548, "lon": -73.9917001}, {"type": "node", "id": 2709630147, "lat": 40.7554587, "lon": -73.9921118}, {"type": "node", "id": 2709630148, "lat": 40.7554696, "lon": -73.9912802}, {"type": "node", "id": 2709630149, "lat": 40.7554793, "lon": -73.9930307}, {"type": "node", "id": 2709630150, "lat": 40.7554807, "lon": -73.9930166}, {"type": "node", "id": 2709630151, "lat": 40.7554825, "lon": -73.9924968}, {"type": "node", "id": 2709630152, "lat": 40.7554893, "lon": -73.9917824}, {"type": "node", "id": 2709630153, "lat": 40.7554916, "lon": -73.9921897}, {"type": "node", "id": 2709630154, "lat": 40.7555148, "lon": -73.9933092}, {"type": "node", "id": 2709630155, "lat": 40.7555186, "lon": -73.9929058}, {"type": "node", "id": 2709630156, "lat": 40.7555191, "lon": -73.9928976}, {"type": "node", "id": 2709630157, "lat": 40.755523, "lon": -73.9918618}, {"type": "node", "id": 2709630158, "lat": 40.7555261, "lon": -73.9922716}, {"type": "node", "id": 2709630159, "lat": 40.7555445, "lon": -73.99297}, {"type": "node", "id": 2709630160, "lat": 40.7555518, "lon": -73.993393}, {"type": "node", "id": 2709630161, "lat": 40.755556, "lon": -73.9929748}, {"type": "node", "id": 2709630162, "lat": 40.7555799, "lon": -73.9928533}, {"type": "node", "id": 2709630163, "lat": 40.7555859, "lon": -73.9927421}, {"type": "node", "id": 2709630164, "lat": 40.7555885, "lon": -73.9920172}, {"type": "node", "id": 2709630165, "lat": 40.7556058, "lon": -73.9916033}, {"type": "node", "id": 2709630166, "lat": 40.7556109, "lon": -73.9916084}, {"type": "node", "id": 2709630167, "lat": 40.7556135, "lon": -73.9929329}, {"type": "node", "id": 2709630168, "lat": 40.7556182, "lon": -73.9935487}, {"type": "node", "id": 2709630169, "lat": 40.7556213, "lon": -73.9920951}, {"type": "node", "id": 2709630170, "lat": 40.7556339, "lon": -73.9916802}, {"type": "node", "id": 2709630171, "lat": 40.755637, "lon": -73.9916708}, {"type": "node", "id": 2709630172, "lat": 40.7556413, "lon": -73.9915775}, {"type": "node", "id": 2709630173, "lat": 40.7556441, "lon": -73.9915842}, {"type": "node", "id": 2709630174, "lat": 40.7556517, "lon": -73.992905}, {"type": "node", "id": 2709630175, "lat": 40.7556558, "lon": -73.9921769}, {"type": "node", "id": 2709630176, "lat": 40.7556674, "lon": -73.9917579}, {"type": "node", "id": 2709630177, "lat": 40.7556703, "lon": -73.9916465}, {"type": "node", "id": 2709630178, "lat": 40.7556727, "lon": -73.9916519}, {"type": "node", "id": 2709630179, "lat": 40.755684, "lon": -73.9929817}, {"type": "node", "id": 2709630181, "lat": 40.7557023, "lon": -73.9911105}, {"type": "node", "id": 2709630183, "lat": 40.7557497, "lon": -73.9931374}, {"type": "node", "id": 2709630185, "lat": 40.7557667, "lon": -73.9919934}, {"type": "node", "id": 2709630187, "lat": 40.7557864, "lon": -73.9932199}, {"type": "node", "id": 2709630188, "lat": 40.7557915, "lon": -73.9914678}, {"type": "node", "id": 2709630189, "lat": 40.7558018, "lon": -73.9910379}, {"type": "node", "id": 2709630190, "lat": 40.7558049, "lon": -73.9915482}, {"type": "node", "id": 2709630191, "lat": 40.7558144, "lon": -73.9910287}, {"type": "node", "id": 2709630192, "lat": 40.7558204, "lon": -73.9915368}, {"type": "node", "id": 2709630193, "lat": 40.7558217, "lon": -73.9925702}, {"type": "node", "id": 2709630194, "lat": 40.7558219, "lon": -73.9940362}, {"type": "node", "id": 2709630195, "lat": 40.7558285, "lon": -73.9914098}, {"type": "node", "id": 2709630196, "lat": 40.7558385, "lon": -73.9914336}, {"type": "node", "id": 2709630197, "lat": 40.7558399, "lon": -73.9916313}, {"type": "node", "id": 2709630198, "lat": 40.7558517, "lon": -73.9933749}, {"type": "node", "id": 2709630199, "lat": 40.7558751, "lon": -73.9915022}, {"type": "node", "id": 2709630200, "lat": 40.7558978, "lon": -73.9923035}, {"type": "node", "id": 2709630201, "lat": 40.755907, "lon": -73.9915819}, {"type": "node", "id": 2709630202, "lat": 40.7559136, "lon": -73.9938896}, {"type": "node", "id": 2709630203, "lat": 40.7559138, "lon": -73.9942527}, {"type": "node", "id": 2709630204, "lat": 40.7559265, "lon": -73.9913335}, {"type": "node", "id": 2709630206, "lat": 40.755928, "lon": -73.9913372}, {"type": "node", "id": 2709630207, "lat": 40.7559392, "lon": -73.99395}, {"type": "node", "id": 2709630208, "lat": 40.7559397, "lon": -73.9914562}, {"type": "node", "id": 2709630209, "lat": 40.7559407, "lon": -73.9913231}, {"type": "node", "id": 2709630210, "lat": 40.7559421, "lon": -73.9909356}, {"type": "node", "id": 2709630211, "lat": 40.7559409, "lon": -73.9916622}, {"type": "node", "id": 2709630212, "lat": 40.7559486, "lon": -73.9913418}, {"type": "node", "id": 2709630214, "lat": 40.7559608, "lon": -73.9938144}, {"type": "node", "id": 2709630215, "lat": 40.7559679, "lon": -73.9914357}, {"type": "node", "id": 2709630217, "lat": 40.7559723, "lon": -73.9915352}, {"type": "node", "id": 2709630218, "lat": 40.756089, "lon": -73.9932005}, {"type": "node", "id": 2709630219, "lat": 40.7559738, "lon": -73.9913234}, {"type": "node", "id": 2709630220, "lat": 40.7559739, "lon": -73.9938453}, {"type": "node", "id": 2709630222, "lat": 40.7559816, "lon": -73.991468}, {"type": "node", "id": 2709630223, "lat": 40.7559977, "lon": -73.9939217}, {"type": "node", "id": 2709630224, "lat": 40.756001, "lon": -73.9925429}, {"type": "node", "id": 2709630225, "lat": 40.7560043, "lon": -73.9939168}, {"type": "node", "id": 2709630226, "lat": 40.7560063, "lon": -73.9918175}, {"type": "node", "id": 2709630227, "lat": 40.7560049, "lon": -73.9939183}, {"type": "node", "id": 2709630228, "lat": 40.7560085, "lon": -73.9914483}, {"type": "node", "id": 2709630229, "lat": 40.7560086, "lon": -73.9914059}, {"type": "node", "id": 2709630230, "lat": 40.7560157, "lon": -73.9939225}, {"type": "node", "id": 2709630231, "lat": 40.75602, "lon": -73.9937705}, {"type": "node", "id": 2709630233, "lat": 40.7560237, "lon": -73.9930456}, {"type": "node", "id": 2709630235, "lat": 40.756025, "lon": -73.993986}, {"type": "node", "id": 2709630236, "lat": 40.7560284, "lon": -73.9914952}, {"type": "node", "id": 2709630237, "lat": 40.7560301, "lon": -73.9939564}, {"type": "node", "id": 2709630238, "lat": 40.7560312, "lon": -73.9941666}, {"type": "node", "id": 2709630239, "lat": 40.7560347, "lon": -73.9941749}, {"type": "node", "id": 2709630240, "lat": 40.756037, "lon": -73.9938129}, {"type": "node", "id": 2709630241, "lat": 40.7560375, "lon": -73.993951}, {"type": "node", "id": 2709630242, "lat": 40.7560377, "lon": -73.9939955}, {"type": "node", "id": 2709630243, "lat": 40.7560408, "lon": -73.9919002}, {"type": "node", "id": 2709630245, "lat": 40.7560478, "lon": -73.9945782}, {"type": "node", "id": 2709630246, "lat": 40.75605, "lon": -73.9940244}, {"type": "node", "id": 2709630247, "lat": 40.7560519, "lon": -73.9939851}, {"type": "node", "id": 2709630248, "lat": 40.7560545, "lon": -73.9940555}, {"type": "node", "id": 2709630251, "lat": 40.7560593, "lon": -73.993892}, {"type": "node", "id": 2709630252, "lat": 40.7560604, "lon": -73.9940264}, {"type": "node", "id": 2709630253, "lat": 40.7560605, "lon": -73.991571}, {"type": "node", "id": 2709630254, "lat": 40.7560636, "lon": -73.9938757}, {"type": "node", "id": 2709630256, "lat": 40.7560646, "lon": -73.9940588}, {"type": "node", "id": 2709630257, "lat": 40.7560747, "lon": -73.9912499}, {"type": "node", "id": 2709630258, "lat": 40.7560758, "lon": -73.9938813}, {"type": "node", "id": 2709630260, "lat": 40.7560764, "lon": -73.9940866}, {"type": "node", "id": 2709630262, "lat": 40.7560783, "lon": -73.993725}, {"type": "node", "id": 2709630264, "lat": 40.7560837, "lon": -73.9940813}, {"type": "node", "id": 2709630266, "lat": 40.7560884, "lon": -73.9939604}, {"type": "node", "id": 2709630270, "lat": 40.7560895, "lon": -73.9939135}, {"type": "node", "id": 2709630272, "lat": 40.7560951, "lon": -73.9941306}, {"type": "node", "id": 2709630274, "lat": 40.7560968, "lon": -73.9937689}, {"type": "node", "id": 2709630276, "lat": 40.7560969, "lon": -73.9939542}, {"type": "node", "id": 2709630278, "lat": 40.7560981, "lon": -73.9939072}, {"type": "node", "id": 2709630279, "lat": 40.7561, "lon": -73.9927789}, {"type": "node", "id": 2709630280, "lat": 40.7561039, "lon": -73.9939941}, {"type": "node", "id": 2709630281, "lat": 40.7561043, "lon": -73.9945377}, {"type": "node", "id": 2709630282, "lat": 40.7561052, "lon": -73.9937888}, {"type": "node", "id": 2709630283, "lat": 40.7561094, "lon": -73.9913322}, {"type": "node", "id": 2709630284, "lat": 40.7561094, "lon": -73.9939836}, {"type": "node", "id": 2709630285, "lat": 40.7562557, "lon": -73.993594}, {"type": "node", "id": 2709630286, "lat": 40.756113, "lon": -73.9939424}, {"type": "node", "id": 2709630287, "lat": 40.7561177, "lon": -73.9939825}, {"type": "node", "id": 2709630288, "lat": 40.7561205, "lon": -73.9938476}, {"type": "node", "id": 2709630289, "lat": 40.7561234, "lon": -73.993832}, {"type": "node", "id": 2709630290, "lat": 40.756127, "lon": -73.9940485}, {"type": "node", "id": 2709630291, "lat": 40.7561288, "lon": -73.9938845}, {"type": "node", "id": 2709630292, "lat": 40.7561329, "lon": -73.9928574}, {"type": "node", "id": 2709630293, "lat": 40.7561337, "lon": -73.9938564}, {"type": "node", "id": 2709630294, "lat": 40.7561344, "lon": -73.9938804}, {"type": "node", "id": 2709630295, "lat": 40.7561346, "lon": -73.9940429}, {"type": "node", "id": 2709630296, "lat": 40.7561367, "lon": -73.9921284}, {"type": "node", "id": 2709630297, "lat": 40.7561413, "lon": -73.9940381}, {"type": "node", "id": 2709630298, "lat": 40.7561429, "lon": -73.9914113}, {"type": "node", "id": 2709630299, "lat": 40.7561434, "lon": -73.9939189}, {"type": "node", "id": 2709630300, "lat": 40.7561455, "lon": -73.9948139}, {"type": "node", "id": 2709630301, "lat": 40.7561521, "lon": -73.9938998}, {"type": "node", "id": 2709630302, "lat": 40.7561536, "lon": -73.9940876}, {"type": "node", "id": 2709630303, "lat": 40.7561562, "lon": -73.9939094}, {"type": "node", "id": 2709630304, "lat": 40.7561625, "lon": -73.9939496}, {"type": "node", "id": 2709630305, "lat": 40.7561681, "lon": -73.994492}, {"type": "node", "id": 2709630306, "lat": 40.7561688, "lon": -73.9939391}, {"type": "node", "id": 2709630307, "lat": 40.756175, "lon": -73.9914871}, {"type": "node", "id": 2709630308, "lat": 40.7561821, "lon": -73.9929748}, {"type": "node", "id": 2709630309, "lat": 40.7561834, "lon": -73.9947287}, {"type": "node", "id": 2709630310, "lat": 40.7561859, "lon": -73.9940047}, {"type": "node", "id": 2709630311, "lat": 40.7561941, "lon": -73.9939987}, {"type": "node", "id": 2709630312, "lat": 40.7561965, "lon": -73.9938673}, {"type": "node", "id": 2709630313, "lat": 40.7562019, "lon": -73.9947735}, {"type": "node", "id": 2709630315, "lat": 40.7562133, "lon": -73.9940438}, {"type": "node", "id": 2709630316, "lat": 40.7562382, "lon": -73.9923695}, {"type": "node", "id": 2709630317, "lat": 40.7562377, "lon": -73.9931074}, {"type": "node", "id": 2709630318, "lat": 40.7562414, "lon": -73.9938343}, {"type": "node", "id": 2709630319, "lat": 40.7562472, "lon": -73.9946831}, {"type": "node", "id": 2709630321, "lat": 40.7562576, "lon": -73.9940113}, {"type": "node", "id": 2709630322, "lat": 40.7562757, "lon": -73.9917282}, {"type": "node", "id": 2709630323, "lat": 40.7562803, "lon": -73.9932089}, {"type": "node", "id": 2709630324, "lat": 40.7562839, "lon": -73.9936585}, {"type": "node", "id": 2709630325, "lat": 40.7562874, "lon": -73.9938005}, {"type": "node", "id": 2709630326, "lat": 40.7562853, "lon": -73.9923345}, {"type": "node", "id": 2709630327, "lat": 40.7563025, "lon": -73.9939783}, {"type": "node", "id": 2709630328, "lat": 40.7563124, "lon": -73.9937261}, {"type": "node", "id": 2709630329, "lat": 40.7563224, "lon": -73.9927189}, {"type": "node", "id": 2709630330, "lat": 40.7563298, "lon": -73.9937694}, {"type": "node", "id": 2709630331, "lat": 40.7563325, "lon": -73.9926089}, {"type": "node", "id": 2709630332, "lat": 40.7563371, "lon": -73.9926056}, {"type": "node", "id": 2709630333, "lat": 40.7563485, "lon": -73.9939445}, {"type": "node", "id": 2709630334, "lat": 40.7563541, "lon": -73.9924988}, {"type": "node", "id": 2709630335, "lat": 40.7563654, "lon": -73.9926875}, {"type": "node", "id": 2709630336, "lat": 40.7563723, "lon": -73.9926879}, {"type": "node", "id": 2709630337, "lat": 40.7563717, "lon": -73.9928363}, {"type": "node", "id": 2709630338, "lat": 40.756391, "lon": -73.9939134}, {"type": "node", "id": 2709630339, "lat": 40.7564005, "lon": -73.9934874}, {"type": "node", "id": 2709630340, "lat": 40.756418, "lon": -73.9947137}, {"type": "node", "id": 2709630341, "lat": 40.7564193, "lon": -73.9926535}, {"type": "node", "id": 2709630342, "lat": 40.7564322, "lon": -73.9922273}, {"type": "node", "id": 2709630343, "lat": 40.7564273, "lon": -73.9929689}, {"type": "node", "id": 2709630344, "lat": 40.7564275, "lon": -73.9935522}, {"type": "node", "id": 2709630345, "lat": 40.7564515, "lon": -73.9947935}, {"type": "node", "id": 2709630347, "lat": 40.7564561, "lon": -73.9936134}, {"type": "node", "id": 2709630348, "lat": 40.7564601, "lon": -73.9928969}, {"type": "node", "id": 2709630350, "lat": 40.7564646, "lon": -73.9946799}, {"type": "node", "id": 2709630351, "lat": 40.7564698, "lon": -73.9930704}, {"type": "node", "id": 2709630353, "lat": 40.7564763, "lon": -73.9947755}, {"type": "node", "id": 2709630354, "lat": 40.756501, "lon": -73.9923916}, {"type": "node", "id": 2709630355, "lat": 40.7564957, "lon": -73.9931371}, {"type": "node", "id": 2709630356, "lat": 40.7564981, "lon": -73.9947597}, {"type": "node", "id": 2709630357, "lat": 40.7565, "lon": -73.9935814}, {"type": "node", "id": 2709630358, "lat": 40.7565047, "lon": -73.9930038}, {"type": "node", "id": 2709630359, "lat": 40.7565097, "lon": -73.9934084}, {"type": "node", "id": 2709630361, "lat": 40.7565104, "lon": -73.9948566}, {"type": "node", "id": 2709630363, "lat": 40.7565253, "lon": -73.9947399}, {"type": "node", "id": 2709630365, "lat": 40.7565347, "lon": -73.9946297}, {"type": "node", "id": 2709630367, "lat": 40.7565361, "lon": -73.9938049}, {"type": "node", "id": 2709630369, "lat": 40.7565367, "lon": -73.9934733}, {"type": "node", "id": 2709630371, "lat": 40.7565378, "lon": -73.9947435}, {"type": "node", "id": 2709630373, "lat": 40.7565425, "lon": -73.9933846}, {"type": "node", "id": 2709630375, "lat": 40.7565427, "lon": -73.9935507}, {"type": "node", "id": 2709630377, "lat": 40.7565456, "lon": -73.9931011}, {"type": "node", "id": 2709630379, "lat": 40.756566, "lon": -73.992546}, {"type": "node", "id": 2709630381, "lat": 40.7565602, "lon": -73.9948204}, {"type": "node", "id": 2709630383, "lat": 40.7565622, "lon": -73.9948043}, {"type": "node", "id": 2709630385, "lat": 40.756563, "lon": -73.993536}, {"type": "node", "id": 2709630387, "lat": 40.756568, "lon": -73.9947089}, {"type": "node", "id": 2709630396, "lat": 40.7565775, "lon": -73.993359}, {"type": "node", "id": 2709630398, "lat": 40.7565806, "lon": -73.9937727}, {"type": "node", "id": 2709630400, "lat": 40.7565867, "lon": -73.9935186}, {"type": "node", "id": 2709630402, "lat": 40.7565958, "lon": -73.9935118}, {"type": "node", "id": 2709630404, "lat": 40.7565938, "lon": -73.9933987}, {"type": "node", "id": 2709630406, "lat": 40.7566049, "lon": -73.9935623}, {"type": "node", "id": 2709630408, "lat": 40.7566068, "lon": -73.9925161}, {"type": "node", "id": 2709630410, "lat": 40.756614, "lon": -73.9935558}, {"type": "node", "id": 2709630411, "lat": 40.7566227, "lon": -73.9937423}, {"type": "node", "id": 2709630412, "lat": 40.7566309, "lon": -73.9934861}, {"type": "node", "id": 2709630413, "lat": 40.7566354, "lon": -73.9946726}, {"type": "node", "id": 2709630414, "lat": 40.7566367, "lon": -73.9933178}, {"type": "node", "id": 2709630415, "lat": 40.7566384, "lon": -73.9946577}, {"type": "node", "id": 2709630416, "lat": 40.7566537, "lon": -73.9933554}, {"type": "node", "id": 2709630417, "lat": 40.7566544, "lon": -73.9945427}, {"type": "node", "id": 2709630419, "lat": 40.7566626, "lon": -73.9947314}, {"type": "node", "id": 2709630421, "lat": 40.7566646, "lon": -73.9941228}, {"type": "node", "id": 2709630423, "lat": 40.7566668, "lon": -73.9937104}, {"type": "node", "id": 2709630425, "lat": 40.7566725, "lon": -73.9947388}, {"type": "node", "id": 2709630426, "lat": 40.7566794, "lon": -73.9934712}, {"type": "node", "id": 2709630427, "lat": 40.7566877, "lon": -73.9946219}, {"type": "node", "id": 2709630428, "lat": 40.7566958, "lon": -73.9935105}, {"type": "node", "id": 2709630429, "lat": 40.7566968, "lon": -73.9934586}, {"type": "node", "id": 2709630430, "lat": 40.7566946, "lon": -73.9927251}, {"type": "node", "id": 2709630431, "lat": 40.7567093, "lon": -73.9934496}, {"type": "node", "id": 2709630432, "lat": 40.7567105, "lon": -73.9933144}, {"type": "node", "id": 2709630433, "lat": 40.7567108, "lon": -73.9936787}, {"type": "node", "id": 2709630434, "lat": 40.7567133, "lon": -73.993498}, {"type": "node", "id": 2709630435, "lat": 40.7567218, "lon": -73.994703}, {"type": "node", "id": 2709630436, "lat": 40.7567248, "lon": -73.9940792}, {"type": "node", "id": 2709630437, "lat": 40.7567257, "lon": -73.9934889}, {"type": "node", "id": 2709630438, "lat": 40.7567264, "lon": -73.9942701}, {"type": "node", "id": 2709630439, "lat": 40.7567381, "lon": -73.9934288}, {"type": "node", "id": 2709630440, "lat": 40.7567409, "lon": -73.9928309}, {"type": "node", "id": 2709630441, "lat": 40.7567536, "lon": -73.9934175}, {"type": "node", "id": 2709630442, "lat": 40.7567545, "lon": -73.9934682}, {"type": "node", "id": 2709630443, "lat": 40.7567634, "lon": -73.993225}, {"type": "node", "id": 2709630444, "lat": 40.7567685, "lon": -73.9934068}, {"type": "node", "id": 2709630445, "lat": 40.7567704, "lon": -73.9934567}, {"type": "node", "id": 2709630446, "lat": 40.7567707, "lon": -73.9936354}, {"type": "node", "id": 2709630447, "lat": 40.7567712, "lon": -73.9943771}, {"type": "node", "id": 2709630448, "lat": 40.7567721, "lon": -73.9932699}, {"type": "node", "id": 2709630449, "lat": 40.7567798, "lon": -73.9932643}, {"type": "node", "id": 2709630450, "lat": 40.7567849, "lon": -73.9940356}, {"type": "node", "id": 2709630451, "lat": 40.756785, "lon": -73.9934462}, {"type": "node", "id": 2709630452, "lat": 40.7567865, "lon": -73.9942265}, {"type": "node", "id": 2709630453, "lat": 40.7567949, "lon": -73.9944363}, {"type": "node", "id": 2709630454, "lat": 40.7567967, "lon": -73.9933862}, {"type": "node", "id": 2709630455, "lat": 40.756803, "lon": -73.9942658}, {"type": "node", "id": 2709630456, "lat": 40.7568062, "lon": -73.9933514}, {"type": "node", "id": 2709630457, "lat": 40.7568127, "lon": -73.9934244}, {"type": "node", "id": 2709630458, "lat": 40.7568151, "lon": -73.9933729}, {"type": "node", "id": 2709630459, "lat": 40.7568278, "lon": -73.9935941}, {"type": "node", "id": 2709630460, "lat": 40.7568298, "lon": -73.9945195}, {"type": "node", "id": 2709630461, "lat": 40.7568311, "lon": -73.9934111}, {"type": "node", "id": 2709630462, "lat": 40.7568313, "lon": -73.9943335}, {"type": "node", "id": 2709630463, "lat": 40.7568452, "lon": -73.9939918}, {"type": "node", "id": 2709630464, "lat": 40.7568631, "lon": -73.9942222}, {"type": "node", "id": 2709630465, "lat": 40.7568631, "lon": -73.994599}, {"type": "node", "id": 2709630466, "lat": 40.7568728, "lon": -73.9931449}, {"type": "node", "id": 2709630467, "lat": 40.7568874, "lon": -73.9942802}, {"type": "node", "id": 2709630468, "lat": 40.7568891, "lon": -73.9935498}, {"type": "node", "id": 2709630469, "lat": 40.7568954, "lon": -73.994676}, {"type": "node", "id": 2709630470, "lat": 40.7569026, "lon": -73.9939503}, {"type": "node", "id": 2709630471, "lat": 40.756916, "lon": -73.9943485}, {"type": "node", "id": 2709630472, "lat": 40.7569234, "lon": -73.9932667}, {"type": "node", "id": 2709630473, "lat": 40.7569367, "lon": -73.9943335}, {"type": "node", "id": 2709630474, "lat": 40.7569478, "lon": -73.9942365}, {"type": "node", "id": 2709630475, "lat": 40.7569497, "lon": -73.9939162}, {"type": "node", "id": 2709630476, "lat": 40.7569688, "lon": -73.9941083}, {"type": "node", "id": 2709630477, "lat": 40.7569716, "lon": -73.9944168}, {"type": "node", "id": 2709630478, "lat": 40.7569764, "lon": -73.9943048}, {"type": "node", "id": 2709630479, "lat": 40.7569844, "lon": -73.994299}, {"type": "node", "id": 2709630480, "lat": 40.7569871, "lon": -73.9941518}, {"type": "node", "id": 2709630481, "lat": 40.7569894, "lon": -73.9944593}, {"type": "node", "id": 2709630482, "lat": 40.7569981, "lon": -73.9938811}, {"type": "node", "id": 2709630483, "lat": 40.7570048, "lon": -73.9944962}, {"type": "node", "id": 2709630484, "lat": 40.7570063, "lon": -73.9934651}, {"type": "node", "id": 2709630485, "lat": 40.7570124, "lon": -73.9942124}, {"type": "node", "id": 2709630486, "lat": 40.7570159, "lon": -73.9940742}, {"type": "node", "id": 2709630487, "lat": 40.7570234, "lon": -73.994392}, {"type": "node", "id": 2709630488, "lat": 40.7570337, "lon": -73.9942632}, {"type": "node", "id": 2709630489, "lat": 40.7570357, "lon": -73.9942618}, {"type": "node", "id": 2709630490, "lat": 40.7570371, "lon": -73.9944247}, {"type": "node", "id": 2709630491, "lat": 40.7570483, "lon": -73.9938447}, {"type": "node", "id": 2709630492, "lat": 40.7570643, "lon": -73.994039}, {"type": "node", "id": 2709630493, "lat": 40.7570655, "lon": -73.9941739}, {"type": "node", "id": 2709630494, "lat": 40.7570696, "lon": -73.9943426}, {"type": "node", "id": 2709630495, "lat": 40.7570747, "lon": -73.9943548}, {"type": "node", "id": 2709630496, "lat": 40.7570826, "lon": -73.9940826}, {"type": "node", "id": 2709630497, "lat": 40.7570889, "lon": -73.9942298}, {"type": "node", "id": 2709630498, "lat": 40.7570945, "lon": -73.9944312}, {"type": "node", "id": 2709630499, "lat": 40.7570946, "lon": -73.9938111}, {"type": "node", "id": 2709630500, "lat": 40.7571039, "lon": -73.9944245}, {"type": "node", "id": 2709630501, "lat": 40.7571123, "lon": -73.9944736}, {"type": "node", "id": 2709630502, "lat": 40.7571216, "lon": -73.9944668}, {"type": "node", "id": 2709630503, "lat": 40.7571297, "lon": -73.9944861}, {"type": "node", "id": 2709630504, "lat": 40.7571327, "lon": -73.9940463}, {"type": "node", "id": 2709630505, "lat": 40.7571362, "lon": -73.9945015}, {"type": "node", "id": 2709630506, "lat": 40.7571405, "lon": -73.9937779}, {"type": "node", "id": 2709630507, "lat": 40.7571486, "lon": -73.9941865}, {"type": "node", "id": 2709630508, "lat": 40.7571742, "lon": -73.9942476}, {"type": "node", "id": 2709630509, "lat": 40.7571791, "lon": -73.9940127}, {"type": "node", "id": 2709630510, "lat": 40.757225, "lon": -73.9939794}, {"type": "node", "id": 2709630511, "lat": 40.7572331, "lon": -73.9940525}, {"type": "node", "id": 2709630512, "lat": 40.7572503, "lon": -73.9940399}, {"type": "node", "id": 2709630513, "lat": 40.7572565, "lon": -73.9941083}, {"type": "node", "id": 2709630514, "lat": 40.7572574, "lon": -73.9941951}, {"type": "node", "id": 2709630515, "lat": 40.7572598, "lon": -73.9941855}, {"type": "node", "id": 2709630516, "lat": 40.7572611, "lon": -73.9942038}, {"type": "node", "id": 2709630517, "lat": 40.7572772, "lon": -73.9941729}, {"type": "node", "id": 2709630518, "lat": 40.7572821, "lon": -73.9941693}, {"type": "node", "id": 2709630519, "lat": 40.7572856, "lon": -73.9941746}, {"type": "node", "id": 2709630520, "lat": 40.7573262, "lon": -73.9943443}, {"type": "node", "id": 2709630521, "lat": 40.7573314, "lon": -73.9943567}, {"type": "node", "id": 2709630522, "lat": 40.7573548, "lon": -73.9943397}, {"type": "node", "id": 2709680716, "lat": 40.7590276, "lon": -73.9944435, "tags": {"addr:housenumber": "454", "addr:postcode": "10036", "addr:street": "West 42nd Street"}}, {"type": "node", "id": 2709680743, "lat": 40.7572881, "lon": -73.9936749}, {"type": "node", "id": 2709680745, "lat": 40.7573332, "lon": -73.9936426}, {"type": "node", "id": 2709680749, "lat": 40.757375, "lon": -73.9938849}, {"type": "node", "id": 2709680750, "lat": 40.7573823, "lon": -73.9938983}, {"type": "node", "id": 2709680752, "lat": 40.7574219, "lon": -73.993579}, {"type": "node", "id": 2709680754, "lat": 40.7574192, "lon": -73.9939859}, {"type": "node", "id": 2709680756, "lat": 40.7574201, "lon": -73.9938526}, {"type": "node", "id": 2709680758, "lat": 40.7574471, "lon": -73.9940523}, {"type": "node", "id": 2709680760, "lat": 40.7574653, "lon": -73.9935479}, {"type": "node", "id": 2709680761, "lat": 40.7574649, "lon": -73.9938205}, {"type": "node", "id": 2709680763, "lat": 40.7574845, "lon": -73.9941414}, {"type": "node", "id": 2709680765, "lat": 40.7575089, "lon": -73.993789}, {"type": "node", "id": 2709680767, "lat": 40.7575136, "lon": -73.9938029}, {"type": "node", "id": 2709680768, "lat": 40.7575184, "lon": -73.9942221}, {"type": "node", "id": 2709680770, "lat": 40.757536, "lon": -73.9939011}, {"type": "node", "id": 2709680772, "lat": 40.7575504, "lon": -73.9938906}, {"type": "node", "id": 2709680774, "lat": 40.7575515, "lon": -73.9943008}, {"type": "node", "id": 2709680776, "lat": 40.7575523, "lon": -73.993758}, {"type": "node", "id": 2709680778, "lat": 40.7575639, "lon": -73.9939675}, {"type": "node", "id": 2709680779, "lat": 40.7576013, "lon": -73.9940566}, {"type": "node", "id": 2709680781, "lat": 40.7576352, "lon": -73.9941372}, {"type": "node", "id": 2709680783, "lat": 40.7576683, "lon": -73.9942159}, {"type": "node", "id": 2709680785, "lat": 40.7579469, "lon": -73.9952545}, {"type": "node", "id": 2709680789, "lat": 40.7580105, "lon": -73.9931447}, {"type": "node", "id": 2709680792, "lat": 40.758139, "lon": -73.9934594}, {"type": "node", "id": 2709680796, "lat": 40.7581466, "lon": -73.9947576}, {"type": "node", "id": 2709680802, "lat": 40.7581574, "lon": -73.9957566}, {"type": "node", "id": 2709680811, "lat": 40.7582591, "lon": -73.9950264}, {"type": "node", "id": 2709680813, "lat": 40.7582637, "lon": -73.9946722}, {"type": "node", "id": 2709680818, "lat": 40.7582715, "lon": -73.9937752}, {"type": "node", "id": 2709680819, "lat": 40.7582726, "lon": -73.9933624}, {"type": "node", "id": 2709680825, "lat": 40.7583193, "lon": -73.9955315}, {"type": "node", "id": 2709680826, "lat": 40.7583197, "lon": -73.9933282}, {"type": "node", "id": 2709680831, "lat": 40.7583413, "lon": -73.9934149}, {"type": "node", "id": 2709680837, "lat": 40.7583536, "lon": -73.9956133}, {"type": "node", "id": 2709680841, "lat": 40.7583641, "lon": -73.993296}, {"type": "node", "id": 2709680843, "lat": 40.7583693, "lon": -73.9936033}, {"type": "node", "id": 2709680846, "lat": 40.7583762, "lon": -73.9949409}, {"type": "node", "id": 2709680848, "lat": 40.7583779, "lon": -73.9928745}, {"type": "node", "id": 2709680850, "lat": 40.75838, "lon": -73.9954871}, {"type": "node", "id": 2709680857, "lat": 40.7583948, "lon": -73.993376}, {"type": "node", "id": 2709680860, "lat": 40.758399, "lon": -73.9933791}, {"type": "node", "id": 2709680862, "lat": 40.7583993, "lon": -73.9935816}, {"type": "node", "id": 2709680866, "lat": 40.7584017, "lon": -73.9936807}, {"type": "node", "id": 2709680869, "lat": 40.7584034, "lon": -73.9933823}, {"type": "node", "id": 2709680871, "lat": 40.7584084, "lon": -73.9935749}, {"type": "node", "id": 2709680875, "lat": 40.7584258, "lon": -73.9949046}, {"type": "node", "id": 2709680879, "lat": 40.7584326, "lon": -73.9936609}, {"type": "node", "id": 2709680884, "lat": 40.7584683, "lon": -73.9938347}, {"type": "node", "id": 2709680888, "lat": 40.7584847, "lon": -73.9933108}, {"type": "node", "id": 2709680889, "lat": 40.7584856, "lon": -73.9933227}, {"type": "node", "id": 2709680891, "lat": 40.7585432, "lon": -73.9932683}, {"type": "node", "id": 2709680900, "lat": 40.758602, "lon": -73.9953249}, {"type": "node", "id": 2709680902, "lat": 40.7586103, "lon": -73.9934283}, {"type": "node", "id": 2709680911, "lat": 40.7586437, "lon": -73.9935077}, {"type": "node", "id": 2709680944, "lat": 40.7588044, "lon": -73.9938906}, {"type": "node", "id": 2709702476, "lat": 40.7553244, "lon": -73.9871003, "tags": {"addr:housenumber": "561", "addr:postcode": "10018", "addr:street": "7th Avenue"}}, {"type": "node", "id": 2709703912, "lat": 40.7536953, "lon": -73.9851497}, {"type": "node", "id": 2709703951, "lat": 40.7539293, "lon": -73.9849784}, {"type": "node", "id": 2709703953, "lat": 40.75396, "lon": -73.9857799}, {"type": "node", "id": 2709703959, "lat": 40.7540654, "lon": -73.9860288}, {"type": "node", "id": 2709703962, "lat": 40.754094, "lon": -73.9853704}, {"type": "node", "id": 2709703968, "lat": 40.754213, "lon": -73.9858399}, {"type": "node", "id": 2709703970, "lat": 40.7542395, "lon": -73.9859018}, {"type": "node", "id": 2709703973, "lat": 40.754301, "lon": -73.985857}, {"type": "node", "id": 2709703975, "lat": 40.7543298, "lon": -73.9859252}, {"type": "node", "id": 2709703978, "lat": 40.7543312, "lon": -73.9851967}, {"type": "node", "id": 2709703981, "lat": 40.7543361, "lon": -73.9866707}, {"type": "node", "id": 2709703984, "lat": 40.7544313, "lon": -73.9854348}, {"type": "node", "id": 2709703987, "lat": 40.7544613, "lon": -73.9860883}, {"type": "node", "id": 2709703990, "lat": 40.7544802, "lon": -73.9870036}, {"type": "node", "id": 2709703993, "lat": 40.7545108, "lon": -73.9856228}, {"type": "node", "id": 2709703995, "lat": 40.7545658, "lon": -73.9857531}, {"type": "node", "id": 2709703997, "lat": 40.754588, "lon": -73.987263}, {"type": "node", "id": 2709703999, "lat": 40.7545953, "lon": -73.986966}, {"type": "node", "id": 2709704009, "lat": 40.7546186, "lon": -73.9871438}, {"type": "node", "id": 2709704011, "lat": 40.7546407, "lon": -73.987197}, {"type": "node", "id": 2709704013, "lat": 40.7546508, "lon": -73.9859547}, {"type": "node", "id": 2709704015, "lat": 40.7546534, "lon": -73.9871365}, {"type": "node", "id": 2709704018, "lat": 40.7546545, "lon": -73.9874231}, {"type": "node", "id": 2709704020, "lat": 40.7546699, "lon": -73.9871761}, {"type": "node", "id": 2709704022, "lat": 40.7546765, "lon": -73.9865651}, {"type": "node", "id": 2709704024, "lat": 40.7546771, "lon": -73.9871195}, {"type": "node", "id": 2709704026, "lat": 40.75468, "lon": -73.9874842}, {"type": "node", "id": 2709704028, "lat": 40.7546895, "lon": -73.9871901}, {"type": "node", "id": 2709704030, "lat": 40.7547125, "lon": -73.9856422}, {"type": "node", "id": 2709704032, "lat": 40.754733, "lon": -73.9870793}, {"type": "node", "id": 2709704034, "lat": 40.7547388, "lon": -73.9871512}, {"type": "node", "id": 2709704037, "lat": 40.7547576, "lon": -73.987671}, {"type": "node", "id": 2709704039, "lat": 40.7547756, "lon": -73.9869101}, {"type": "node", "id": 2709704041, "lat": 40.7547906, "lon": -73.9872163}, {"type": "node", "id": 2709704043, "lat": 40.7547942, "lon": -73.9871114}, {"type": "node", "id": 2709704044, "lat": 40.7548199, "lon": -73.9873836}, {"type": "node", "id": 2709704046, "lat": 40.7548255, "lon": -73.9873002}, {"type": "node", "id": 2709704049, "lat": 40.7548269, "lon": -73.9871902}, {"type": "node", "id": 2709704051, "lat": 40.7548433, "lon": -73.9872874}, {"type": "node", "id": 2709704053, "lat": 40.7548442, "lon": -73.9859548}, {"type": "node", "id": 2709704057, "lat": 40.7548639, "lon": -73.9871917}, {"type": "node", "id": 2709704060, "lat": 40.7548687, "lon": -73.9873485}, {"type": "node", "id": 2709704062, "lat": 40.7548782, "lon": -73.9860376}, {"type": "node", "id": 2709704066, "lat": 40.7548814, "lon": -73.9865016}, {"type": "node", "id": 2709704068, "lat": 40.7548975, "lon": -73.9875704}, {"type": "node", "id": 2709704073, "lat": 40.7549019, "lon": -73.9860938}, {"type": "node", "id": 2709704075, "lat": 40.7549223, "lon": -73.9872643}, {"type": "node", "id": 2709704077, "lat": 40.7549368, "lon": -73.9872996}, {"type": "node", "id": 2709704080, "lat": 40.7549463, "lon": -73.9875353}, {"type": "node", "id": 2709704082, "lat": 40.7549691, "lon": -73.9858254}, {"type": "node", "id": 2709704084, "lat": 40.7549815, "lon": -73.9858548}, {"type": "node", "id": 2709704086, "lat": 40.7550174, "lon": -73.9868354}, {"type": "node", "id": 2709704088, "lat": 40.7550273, "lon": -73.9856149}, {"type": "node", "id": 2709704091, "lat": 40.7550431, "lon": -73.9857084}, {"type": "node", "id": 2709704092, "lat": 40.7550474, "lon": -73.9864382}, {"type": "node", "id": 2709704093, "lat": 40.7550498, "lon": -73.9859856}, {"type": "node", "id": 2709704094, "lat": 40.7550612, "lon": -73.9856952}, {"type": "node", "id": 2709704096, "lat": 40.7550635, "lon": -73.9857566}, {"type": "node", "id": 2709704097, "lat": 40.7550677, "lon": -73.985792}, {"type": "node", "id": 2709704099, "lat": 40.7550926, "lon": -73.9860867}, {"type": "node", "id": 2709704100, "lat": 40.7551024, "lon": -73.9858743}, {"type": "node", "id": 2709704102, "lat": 40.7551785, "lon": -73.9860238}, {"type": "node", "id": 2709704103, "lat": 40.7551893, "lon": -73.9852924}, {"type": "node", "id": 2709704104, "lat": 40.755225, "lon": -73.9873349}, {"type": "node", "id": 2709704105, "lat": 40.7552552, "lon": -73.9854498}, {"type": "node", "id": 2709704108, "lat": 40.7553207, "lon": -73.9863599}, {"type": "node", "id": 2709704109, "lat": 40.7553505, "lon": -73.9856944}, {"type": "node", "id": 2709704110, "lat": 40.7556077, "lon": -73.9862789}, {"type": "node", "id": 2709860978, "lat": 40.7606825, "lon": -73.9949137}, {"type": "node", "id": 2709860999, "lat": 40.7607093, "lon": -73.9949762}, {"type": "node", "id": 2709861005, "lat": 40.7607174, "lon": -73.9949799}, {"type": "node", "id": 2709861007, "lat": 40.7607229, "lon": -73.9950129}, {"type": "node", "id": 2709861009, "lat": 40.7607294, "lon": -73.995008}, {"type": "node", "id": 2709861015, "lat": 40.7607385, "lon": -73.9950492}, {"type": "node", "id": 2709861024, "lat": 40.760755, "lon": -73.995037}, {"type": "node", "id": 2709861027, "lat": 40.7607643, "lon": -73.99508}, {"type": "node", "id": 2709861030, "lat": 40.7607649, "lon": -73.9950967}, {"type": "node", "id": 2709861034, "lat": 40.7607699, "lon": -73.995093}, {"type": "node", "id": 2709861038, "lat": 40.7607712, "lon": -73.9950748}, {"type": "node", "id": 2709861042, "lat": 40.7607756, "lon": -73.9951385}, {"type": "node", "id": 2709861045, "lat": 40.7607788, "lon": -73.9951293}, {"type": "node", "id": 2709861050, "lat": 40.7608007, "lon": -73.9951972}, {"type": "node", "id": 2709861054, "lat": 40.7608018, "lon": -73.9948253}, {"type": "node", "id": 2709861062, "lat": 40.7608223, "lon": -73.994904}, {"type": "node", "id": 2709861067, "lat": 40.7608295, "lon": -73.9948899}, {"type": "node", "id": 2709861069, "lat": 40.7608351, "lon": -73.9949337}, {"type": "node", "id": 2709861075, "lat": 40.7608432, "lon": -73.9949739}, {"type": "node", "id": 2709861078, "lat": 40.760844, "lon": -73.9949271}, {"type": "node", "id": 2709861083, "lat": 40.7608585, "lon": -73.9947769}, {"type": "node", "id": 2709861086, "lat": 40.760859, "lon": -73.9949622}, {"type": "node", "id": 2709861090, "lat": 40.7608626, "lon": -73.9950193}, {"type": "node", "id": 2709861091, "lat": 40.7608732, "lon": -73.9950115}, {"type": "node", "id": 2709861094, "lat": 40.7608808, "lon": -73.9950294}, {"type": "node", "id": 2709861096, "lat": 40.7608883, "lon": -73.9950469}, {"type": "node", "id": 2709861098, "lat": 40.7608975, "lon": -73.9950506}, {"type": "node", "id": 2709861107, "lat": 40.7609189, "lon": -73.9949179}, {"type": "node", "id": 2709861110, "lat": 40.7609218, "lon": -73.9951075}, {"type": "node", "id": 2709861115, "lat": 40.7609247, "lon": -73.9947279}, {"type": "node", "id": 2709861121, "lat": 40.7609291, "lon": -73.9949472}, {"type": "node", "id": 2709861124, "lat": 40.7609355, "lon": -73.9951393}, {"type": "node", "id": 2709861128, "lat": 40.7609442, "lon": -73.9949824}, {"type": "node", "id": 2709861136, "lat": 40.7609739, "lon": -73.9951108}, {"type": "node", "id": 2709861139, "lat": 40.7609746, "lon": -73.9948766}, {"type": "node", "id": 2709861141, "lat": 40.760976, "lon": -73.9948798}, {"type": "node", "id": 2709861144, "lat": 40.7609817, "lon": -73.9951163}, {"type": "node", "id": 2709861146, "lat": 40.7609865, "lon": -73.994872}, {"type": "node", "id": 2709861148, "lat": 40.7609923, "lon": -73.9949003}, {"type": "node", "id": 2709861150, "lat": 40.760994, "lon": -73.9951072}, {"type": "node", "id": 2709861152, "lat": 40.7609943, "lon": -73.9950975}, {"type": "node", "id": 2709861169, "lat": 40.7610569, "lon": -73.9950511}, {"type": "node", "id": 2709861209, "lat": 40.7612478, "lon": -73.9950214}, {"type": "node", "id": 2709861241, "lat": 40.761085, "lon": -73.9946367}, {"type": "node", "id": 2709861277, "lat": 40.7615472, "lon": -73.9942956}, {"type": "node", "id": 2709861378, "lat": 40.76171, "lon": -73.9946803}, {"type": "node", "id": 2709878736, "lat": 40.7592365, "lon": -73.9922413}, {"type": "node", "id": 2709878737, "lat": 40.7592885, "lon": -73.9922033}, {"type": "node", "id": 2709878738, "lat": 40.7593188, "lon": -73.992436}, {"type": "node", "id": 2709878739, "lat": 40.7593229, "lon": -73.9924329}, {"type": "node", "id": 2709878740, "lat": 40.7593604, "lon": -73.9921507}, {"type": "node", "id": 2709878741, "lat": 40.7593708, "lon": -73.992398}, {"type": "node", "id": 2709878742, "lat": 40.7593768, "lon": -73.9925604}, {"type": "node", "id": 2709878743, "lat": 40.7594184, "lon": -73.9921083}, {"type": "node", "id": 2709878744, "lat": 40.7594427, "lon": -73.9923454}, {"type": "node", "id": 2709878745, "lat": 40.7594434, "lon": -73.9927179}, {"type": "node", "id": 2709878747, "lat": 40.7594481, "lon": -73.9927144}, {"type": "node", "id": 2709878749, "lat": 40.7594567, "lon": -73.992502}, {"type": "node", "id": 2709878751, "lat": 40.75946, "lon": -73.9925097}, {"type": "node", "id": 2709878753, "lat": 40.7594703, "lon": -73.992767}, {"type": "node", "id": 2709878755, "lat": 40.7594801, "lon": -73.9920632}, {"type": "node", "id": 2709878757, "lat": 40.7594932, "lon": -73.992821}, {"type": "node", "id": 2709878759, "lat": 40.7594962, "lon": -73.992472}, {"type": "node", "id": 2709878761, "lat": 40.7594983, "lon": -73.9926673}, {"type": "node", "id": 2709878763, "lat": 40.7594998, "lon": -73.9924806}, {"type": "node", "id": 2709878765, "lat": 40.7595017, "lon": -73.9926752}, {"type": "node", "id": 2709878767, "lat": 40.7595049, "lon": -73.992879}, {"type": "node", "id": 2709878769, "lat": 40.7595147, "lon": -73.9928718}, {"type": "node", "id": 2709878770, "lat": 40.7595153, "lon": -73.9923374}, {"type": "node", "id": 2709878771, "lat": 40.7595363, "lon": -73.9920221}, {"type": "node", "id": 2709878772, "lat": 40.7595542, "lon": -73.9924295}, {"type": "node", "id": 2709878773, "lat": 40.7595621, "lon": -73.9926311}, {"type": "node", "id": 2709878774, "lat": 40.7595708, "lon": -73.9930348}, {"type": "node", "id": 2709878775, "lat": 40.7595709, "lon": -73.9928307}, {"type": "node", "id": 2709878777, "lat": 40.7595769, "lon": -73.9922924}, {"type": "node", "id": 2709878779, "lat": 40.7595843, "lon": -73.9926837}, {"type": "node", "id": 2709878781, "lat": 40.7595869, "lon": -73.9922197}, {"type": "node", "id": 2709878783, "lat": 40.7595886, "lon": -73.9928726}, {"type": "node", "id": 2709878785, "lat": 40.7595949, "lon": -73.992335}, {"type": "node", "id": 2709878787, "lat": 40.7596011, "lon": -73.9919748}, {"type": "node", "id": 2709878789, "lat": 40.7596042, "lon": -73.9919822}, {"type": "node", "id": 2709878791, "lat": 40.7596055, "lon": -73.993117}, {"type": "node", "id": 2709878793, "lat": 40.7596071, "lon": -73.9927377}, {"type": "node", "id": 2709878795, "lat": 40.7596086, "lon": -73.9930072}, {"type": "node", "id": 2709878797, "lat": 40.7596121, "lon": -73.9922013}, {"type": "node", "id": 2709878799, "lat": 40.759614, "lon": -73.9930201}, {"type": "node", "id": 2709878801, "lat": 40.759615, "lon": -73.9931101}, {"type": "node", "id": 2709878803, "lat": 40.7596155, "lon": -73.9927574}, {"type": "node", "id": 2709878805, "lat": 40.7596187, "lon": -73.9923937}, {"type": "node", "id": 2709878806, "lat": 40.7596217, "lon": -73.9929491}, {"type": "node", "id": 2709878808, "lat": 40.759626, "lon": -73.9923123}, {"type": "node", "id": 2709878810, "lat": 40.7596374, "lon": -73.9929861}, {"type": "node", "id": 2709878812, "lat": 40.7596387, "lon": -73.9930021}, {"type": "node", "id": 2709878814, "lat": 40.7596403, "lon": -73.9930815}, {"type": "node", "id": 2709878816, "lat": 40.7596416, "lon": -73.9931732}, {"type": "node", "id": 2709878818, "lat": 40.7596434, "lon": -73.9929817}, {"type": "node", "id": 2709878820, "lat": 40.7596436, "lon": -73.9930892}, {"type": "node", "id": 2709878822, "lat": 40.7596438, "lon": -73.9927367}, {"type": "node", "id": 2709878824, "lat": 40.7596482, "lon": -73.9923633}, {"type": "node", "id": 2709878826, "lat": 40.7596534, "lon": -73.9929743}, {"type": "node", "id": 2709878828, "lat": 40.7596538, "lon": -73.9927701}, {"type": "node", "id": 2709878830, "lat": 40.7596548, "lon": -73.992793}, {"type": "node", "id": 2709878832, "lat": 40.7596569, "lon": -73.9927678}, {"type": "node", "id": 2709878834, "lat": 40.7596593, "lon": -73.9928036}, {"type": "node", "id": 2709878836, "lat": 40.7596614, "lon": -73.9927882}, {"type": "node", "id": 2709878838, "lat": 40.7596631, "lon": -73.9930649}, {"type": "node", "id": 2709878840, "lat": 40.7596653, "lon": -73.9919375}, {"type": "node", "id": 2709878842, "lat": 40.7596659, "lon": -73.9927988}, {"type": "node", "id": 2709878843, "lat": 40.7596667, "lon": -73.9932327}, {"type": "node", "id": 2709878845, "lat": 40.7596688, "lon": -73.99298}, {"type": "node", "id": 2709878847, "lat": 40.7596715, "lon": -73.992812}, {"type": "node", "id": 2709878849, "lat": 40.7596738, "lon": -73.9930671}, {"type": "node", "id": 2709878851, "lat": 40.7596768, "lon": -73.9921539}, {"type": "node", "id": 2709878853, "lat": 40.7596786, "lon": -73.9925355}, {"type": "node", "id": 2709878854, "lat": 40.7596944, "lon": -73.9930521}, {"type": "node", "id": 2709878855, "lat": 40.7596961, "lon": -73.9930393}, {"type": "node", "id": 2709878856, "lat": 40.7597056, "lon": -73.9928878}, {"type": "node", "id": 2709878857, "lat": 40.7597062, "lon": -73.9923209}, {"type": "node", "id": 2709878858, "lat": 40.7597149, "lon": -73.9925212}, {"type": "node", "id": 2709878859, "lat": 40.7597182, "lon": -73.992723}, {"type": "node", "id": 2709878860, "lat": 40.7597224, "lon": -73.9929276}, {"type": "node", "id": 2709878861, "lat": 40.7597225, "lon": -73.9922621}, {"type": "node", "id": 2709878862, "lat": 40.7597227, "lon": -73.9923599}, {"type": "node", "id": 2709878864, "lat": 40.7597232, "lon": -73.9918952}, {"type": "node", "id": 2709878866, "lat": 40.7597386, "lon": -73.992929}, {"type": "node", "id": 2709878868, "lat": 40.7597403, "lon": -73.9929331}, {"type": "node", "id": 2709878870, "lat": 40.7597433, "lon": -73.9929123}, {"type": "node", "id": 2709878872, "lat": 40.7597478, "lon": -73.9934243}, {"type": "node", "id": 2709878874, "lat": 40.7597494, "lon": -73.9929265}, {"type": "node", "id": 2709878876, "lat": 40.7597559, "lon": -73.9929956}, {"type": "node", "id": 2709878878, "lat": 40.7597618, "lon": -73.9924346}, {"type": "node", "id": 2709878880, "lat": 40.7597666, "lon": -73.9929993}, {"type": "node", "id": 2709878882, "lat": 40.7597755, "lon": -73.9924769}, {"type": "node", "id": 2709878884, "lat": 40.7597765, "lon": -73.9930745}, {"type": "node", "id": 2709878886, "lat": 40.7597766, "lon": -73.992888}, {"type": "node", "id": 2709878888, "lat": 40.7597787, "lon": -73.9924746}, {"type": "node", "id": 2709878890, "lat": 40.759781, "lon": -73.9926775}, {"type": "node", "id": 2709878892, "lat": 40.7597817, "lon": -73.9935045}, {"type": "node", "id": 2709878894, "lat": 40.7597836, "lon": -73.9922174}, {"type": "node", "id": 2709878896, "lat": 40.7597852, "lon": -73.9928816}, {"type": "node", "id": 2709878898, "lat": 40.7597936, "lon": -73.9925198}, {"type": "node", "id": 2709878900, "lat": 40.7597957, "lon": -73.9922553}, {"type": "node", "id": 2709878901, "lat": 40.7597987, "lon": -73.9922531}, {"type": "node", "id": 2709878903, "lat": 40.7598017, "lon": -73.993134}, {"type": "node", "id": 2709878905, "lat": 40.7598077, "lon": -73.9931296}, {"type": "node", "id": 2709878907, "lat": 40.7598079, "lon": -73.9935665}, {"type": "node", "id": 2709878909, "lat": 40.7598102, "lon": -73.9929674}, {"type": "node", "id": 2709878911, "lat": 40.7598122, "lon": -73.9922944}, {"type": "node", "id": 2709878913, "lat": 40.7598138, "lon": -73.9927384}, {"type": "node", "id": 2709878917, "lat": 40.7598273, "lon": -73.9925939}, {"type": "node", "id": 2709878919, "lat": 40.7598306, "lon": -73.9936204}, {"type": "node", "id": 2709878921, "lat": 40.7598366, "lon": -73.9931979}, {"type": "node", "id": 2709878923, "lat": 40.7598407, "lon": -73.9932076}, {"type": "node", "id": 2709878925, "lat": 40.7598414, "lon": -73.9923764}, {"type": "node", "id": 2709878927, "lat": 40.7598428, "lon": -73.9931933}, {"type": "node", "id": 2709878929, "lat": 40.7598434, "lon": -73.9926319}, {"type": "node", "id": 2709878931, "lat": 40.759845, "lon": -73.9924823}, {"type": "node", "id": 2709878933, "lat": 40.7598469, "lon": -73.993203}, {"type": "node", "id": 2709878934, "lat": 40.7598481, "lon": -73.9924135}, {"type": "node", "id": 2709878935, "lat": 40.7598489, "lon": -73.9929391}, {"type": "node", "id": 2709878936, "lat": 40.7598491, "lon": -73.9924717}, {"type": "node", "id": 2709878937, "lat": 40.7598514, "lon": -73.9924214}, {"type": "node", "id": 2709878938, "lat": 40.7598549, "lon": -73.9924085}, {"type": "node", "id": 2709878939, "lat": 40.7598566, "lon": -73.9922107}, {"type": "node", "id": 2709878941, "lat": 40.7598566, "lon": -73.9936818}, {"type": "node", "id": 2709878943, "lat": 40.7598624, "lon": -73.9924134}, {"type": "node", "id": 2709878947, "lat": 40.7598755, "lon": -73.9930021}, {"type": "node", "id": 2709878949, "lat": 40.7598781, "lon": -73.9924505}, {"type": "node", "id": 2709878951, "lat": 40.7598818, "lon": -73.9937413}, {"type": "node", "id": 2709878952, "lat": 40.7598821, "lon": -73.9930196}, {"type": "node", "id": 2709878954, "lat": 40.7598841, "lon": -73.9926068}, {"type": "node", "id": 2709878956, "lat": 40.7598887, "lon": -73.9933213}, {"type": "node", "id": 2709878958, "lat": 40.7598894, "lon": -73.9926831}, {"type": "node", "id": 2709878960, "lat": 40.7599054, "lon": -73.9933091}, {"type": "node", "id": 2709878962, "lat": 40.7599072, "lon": -73.9938261}, {"type": "node", "id": 2709878964, "lat": 40.7599096, "lon": -73.9925337}, {"type": "node", "id": 2709878966, "lat": 40.75991, "lon": -73.9926681}, {"type": "node", "id": 2709878968, "lat": 40.7599143, "lon": -73.99333}, {"type": "node", "id": 2709878970, "lat": 40.7599151, "lon": -73.9938203}, {"type": "node", "id": 2709878972, "lat": 40.7599159, "lon": -73.9927458}, {"type": "node", "id": 2709878974, "lat": 40.7599178, "lon": -73.9929935}, {"type": "node", "id": 2709878976, "lat": 40.7599193, "lon": -73.992988}, {"type": "node", "id": 2709878978, "lat": 40.7599207, "lon": -73.9930004}, {"type": "node", "id": 2709878979, "lat": 40.7599225, "lon": -73.9934827}, {"type": "node", "id": 2709878980, "lat": 40.7599234, "lon": -73.9923688}, {"type": "node", "id": 2709878981, "lat": 40.7599272, "lon": -73.9925753}, {"type": "node", "id": 2709878982, "lat": 40.7599298, "lon": -73.9933962}, {"type": "node", "id": 2709878983, "lat": 40.7599318, "lon": -73.9933717}, {"type": "node", "id": 2709878985, "lat": 40.7599328, "lon": -73.9935071}, {"type": "node", "id": 2709878987, "lat": 40.7599344, "lon": -73.9931431}, {"type": "node", "id": 2709878989, "lat": 40.7599392, "lon": -73.9933893}, {"type": "node", "id": 2709878991, "lat": 40.7599402, "lon": -73.9939041}, {"type": "node", "id": 2709878993, "lat": 40.7599418, "lon": -73.9933098}, {"type": "node", "id": 2709878995, "lat": 40.7599453, "lon": -73.9935365}, {"type": "node", "id": 2709878997, "lat": 40.7599469, "lon": -73.9935403}, {"type": "node", "id": 2709878999, "lat": 40.7599486, "lon": -73.9926398}, {"type": "node", "id": 2709879001, "lat": 40.7599504, "lon": -73.9935485}, {"type": "node", "id": 2709879003, "lat": 40.7599505, "lon": -73.9935377}, {"type": "node", "id": 2709879005, "lat": 40.759954, "lon": -73.9935458}, {"type": "node", "id": 2709879007, "lat": 40.7599549, "lon": -73.9928559}, {"type": "node", "id": 2709879009, "lat": 40.759956, "lon": -73.9934582}, {"type": "node", "id": 2709879011, "lat": 40.759959, "lon": -73.9934879}, {"type": "node", "id": 2709879013, "lat": 40.7599594, "lon": -73.9933515}, {"type": "node", "id": 2709879015, "lat": 40.7599654, "lon": -73.9928808}, {"type": "node", "id": 2709879017, "lat": 40.7599668, "lon": -73.9931087}, {"type": "node", "id": 2709879019, "lat": 40.7599683, "lon": -73.9928787}, {"type": "node", "id": 2709879021, "lat": 40.7599703, "lon": -73.9931169}, {"type": "node", "id": 2709879022, "lat": 40.7599712, "lon": -73.9935979}, {"type": "node", "id": 2709879024, "lat": 40.7599715, "lon": -73.9935174}, {"type": "node", "id": 2709879026, "lat": 40.7599738, "lon": -73.9939837}, {"type": "node", "id": 2709879028, "lat": 40.7599751, "lon": -73.9927025}, {"type": "node", "id": 2709879032, "lat": 40.759991, "lon": -73.9925287}, {"type": "node", "id": 2709879034, "lat": 40.759992, "lon": -73.9929348}, {"type": "node", "id": 2709879036, "lat": 40.7599964, "lon": -73.9936575}, {"type": "node", "id": 2709879038, "lat": 40.759999, "lon": -73.9928087}, {"type": "node", "id": 2709879040, "lat": 40.7600038, "lon": -73.9928202}, {"type": "node", "id": 2709879044, "lat": 40.7600069, "lon": -73.9940621}, {"type": "node", "id": 2709879046, "lat": 40.7600124, "lon": -73.9940581}, {"type": "node", "id": 2709879048, "lat": 40.7600137, "lon": -73.992798}, {"type": "node", "id": 2709879050, "lat": 40.7600169, "lon": -73.9925899}, {"type": "node", "id": 2709879052, "lat": 40.7600324, "lon": -73.9937346}, {"type": "node", "id": 2709879054, "lat": 40.7600394, "lon": -73.9937512}, {"type": "node", "id": 2709879056, "lat": 40.7600462, "lon": -73.9941382}, {"type": "node", "id": 2709879058, "lat": 40.760051, "lon": -73.9930584}, {"type": "node", "id": 2709879060, "lat": 40.7600515, "lon": -73.9928905}, {"type": "node", "id": 2709879062, "lat": 40.7600525, "lon": -73.9928898}, {"type": "node", "id": 2709879064, "lat": 40.7600561, "lon": -73.9929013}, {"type": "node", "id": 2709879066, "lat": 40.7600598, "lon": -73.9937972}, {"type": "node", "id": 2709879068, "lat": 40.7600623, "lon": -73.9937344}, {"type": "node", "id": 2709879070, "lat": 40.7600645, "lon": -73.9937196}, {"type": "node", "id": 2709879073, "lat": 40.7600661, "lon": -73.9938121}, {"type": "node", "id": 2709879078, "lat": 40.7600728, "lon": -73.993828}, {"type": "node", "id": 2709879081, "lat": 40.7600765, "lon": -73.9937849}, {"type": "node", "id": 2709879084, "lat": 40.7600792, "lon": -73.9931253}, {"type": "node", "id": 2709879086, "lat": 40.7600801, "lon": -73.9935963}, {"type": "node", "id": 2709879089, "lat": 40.7600803, "lon": -73.993794}, {"type": "node", "id": 2709879091, "lat": 40.760086, "lon": -73.993806}, {"type": "node", "id": 2709879093, "lat": 40.76009, "lon": -73.9938154}, {"type": "node", "id": 2709879094, "lat": 40.7600936, "lon": -73.9938752}, {"type": "node", "id": 2709879096, "lat": 40.7601004, "lon": -73.9938912}, {"type": "node", "id": 2709879098, "lat": 40.7601007, "lon": -73.9930108}, {"type": "node", "id": 2709879100, "lat": 40.7601043, "lon": -73.9930194}, {"type": "node", "id": 2709879101, "lat": 40.7601043, "lon": -73.9932888}, {"type": "node", "id": 2709879103, "lat": 40.7601054, "lon": -73.9931873}, {"type": "node", "id": 2709879105, "lat": 40.7601085, "lon": -73.9938643}, {"type": "node", "id": 2709879106, "lat": 40.7601124, "lon": -73.9942948}, {"type": "node", "id": 2709879108, "lat": 40.7601125, "lon": -73.9938735}, {"type": "node", "id": 2709879110, "lat": 40.7601135, "lon": -73.9936753}, {"type": "node", "id": 2709879112, "lat": 40.7601181, "lon": -73.9928418}, {"type": "node", "id": 2709879113, "lat": 40.7601206, "lon": -73.9936786}, {"type": "node", "id": 2709879115, "lat": 40.7601222, "lon": -73.9928389}, {"type": "node", "id": 2709879117, "lat": 40.7601311, "lon": -73.9932479}, {"type": "node", "id": 2709879120, "lat": 40.7601385, "lon": -73.9938545}, {"type": "node", "id": 2709879123, "lat": 40.7601394, "lon": -73.9932631}, {"type": "node", "id": 2709879132, "lat": 40.7601463, "lon": -73.9943749}, {"type": "node", "id": 2709879138, "lat": 40.7601483, "lon": -73.9937443}, {"type": "node", "id": 2709879140, "lat": 40.7601535, "lon": -73.9937566}, {"type": "node", "id": 2709879143, "lat": 40.7601547, "lon": -73.9943687}, {"type": "node", "id": 2709879145, "lat": 40.7601581, "lon": -73.9934161}, {"type": "node", "id": 2709879147, "lat": 40.7601608, "lon": -73.9939496}, {"type": "node", "id": 2709879149, "lat": 40.7601722, "lon": -73.9929698}, {"type": "node", "id": 2709879150, "lat": 40.7601744, "lon": -73.9939397}, {"type": "node", "id": 2709879151, "lat": 40.7601784, "lon": -73.9944693}, {"type": "node", "id": 2709879152, "lat": 40.7601816, "lon": -73.993823}, {"type": "node", "id": 2709879157, "lat": 40.7601866, "lon": -73.9944442}, {"type": "node", "id": 2709879159, "lat": 40.7601946, "lon": -73.9940297}, {"type": "node", "id": 2709879160, "lat": 40.7601959, "lon": -73.9934076}, {"type": "node", "id": 2709879163, "lat": 40.7602005, "lon": -73.9930366}, {"type": "node", "id": 2709879169, "lat": 40.7602139, "lon": -73.9940156}, {"type": "node", "id": 2709879175, "lat": 40.760218, "lon": -73.9940252}, {"type": "node", "id": 2709879177, "lat": 40.7602221, "lon": -73.9934695}, {"type": "node", "id": 2709879179, "lat": 40.7602257, "lon": -73.9935488}, {"type": "node", "id": 2709879180, "lat": 40.7602267, "lon": -73.9930987}, {"type": "node", "id": 2709879182, "lat": 40.7602303, "lon": -73.9942085}, {"type": "node", "id": 2709879184, "lat": 40.7602413, "lon": -73.9944233}, {"type": "node", "id": 2709879186, "lat": 40.7602421, "lon": -73.9941164}, {"type": "node", "id": 2709879188, "lat": 40.7602459, "lon": -73.9931853}, {"type": "node", "id": 2709879190, "lat": 40.7602473, "lon": -73.9940038}, {"type": "node", "id": 2709879192, "lat": 40.7602481, "lon": -73.9940935}, {"type": "node", "id": 2709879194, "lat": 40.7602485, "lon": -73.9935321}, {"type": "node", "id": 2709879196, "lat": 40.7602523, "lon": -73.9931593}, {"type": "node", "id": 2709879198, "lat": 40.7602536, "lon": -73.9936147}, {"type": "node", "id": 2709879199, "lat": 40.7602541, "lon": -73.9941076}, {"type": "node", "id": 2709879202, "lat": 40.7602611, "lon": -73.994291}, {"type": "node", "id": 2709879203, "lat": 40.7602642, "lon": -73.9942887}, {"type": "node", "id": 2709879205, "lat": 40.7602691, "lon": -73.9941802}, {"type": "node", "id": 2709879207, "lat": 40.76027, "lon": -73.9936027}, {"type": "node", "id": 2709879209, "lat": 40.7602765, "lon": -73.9940728}, {"type": "node", "id": 2709879215, "lat": 40.7602778, "lon": -73.9945098}, {"type": "node", "id": 2709879219, "lat": 40.7602824, "lon": -73.9941701}, {"type": "node", "id": 2709879221, "lat": 40.7602874, "lon": -73.993759}, {"type": "node", "id": 2709879223, "lat": 40.760293, "lon": -73.9943664}, {"type": "node", "id": 2709879224, "lat": 40.7602969, "lon": -73.9936664}, {"type": "node", "id": 2709879225, "lat": 40.7602997, "lon": -73.9933126}, {"type": "node", "id": 2709879226, "lat": 40.7603065, "lon": -73.9947725}, {"type": "node", "id": 2709879227, "lat": 40.7603079, "lon": -73.9944036}, {"type": "node", "id": 2709879228, "lat": 40.7603101, "lon": -73.9938128}, {"type": "node", "id": 2709879229, "lat": 40.7603105, "lon": -73.9933239}, {"type": "node", "id": 2709879230, "lat": 40.7603152, "lon": -73.9942478}, {"type": "node", "id": 2709879232, "lat": 40.7603214, "lon": -73.9937259}, {"type": "node", "id": 2709879233, "lat": 40.7603241, "lon": -73.9937321}, {"type": "node", "id": 2709879236, "lat": 40.760333, "lon": -73.9944695}, {"type": "node", "id": 2709879237, "lat": 40.7603331, "lon": -73.9944632}, {"type": "node", "id": 2709879238, "lat": 40.7603366, "lon": -73.9933858}, {"type": "node", "id": 2709879240, "lat": 40.7603423, "lon": -73.9933816}, {"type": "node", "id": 2709879242, "lat": 40.7603425, "lon": -73.9944695}, {"type": "node", "id": 2709879248, "lat": 40.7603454, "lon": -73.994124}, {"type": "node", "id": 2709879249, "lat": 40.7603468, "lon": -73.993786}, {"type": "node", "id": 2709879253, "lat": 40.7603543, "lon": -73.9944975}, {"type": "node", "id": 2709879257, "lat": 40.7603656, "lon": -73.9934465}, {"type": "node", "id": 2709879258, "lat": 40.7603685, "lon": -73.9945072}, {"type": "node", "id": 2709879260, "lat": 40.7603687, "lon": -73.9934442}, {"type": "node", "id": 2709879262, "lat": 40.7603694, "lon": -73.9947265}, {"type": "node", "id": 2709879264, "lat": 40.7603701, "lon": -73.9943582}, {"type": "node", "id": 2709879266, "lat": 40.7603715, "lon": -73.9938443}, {"type": "node", "id": 2709879269, "lat": 40.7603783, "lon": -73.9942017}, {"type": "node", "id": 2709879270, "lat": 40.7603795, "lon": -73.9945575}, {"type": "node", "id": 2709879272, "lat": 40.7603803, "lon": -73.994535}, {"type": "node", "id": 2709879277, "lat": 40.7603934, "lon": -73.9935124}, {"type": "node", "id": 2709879279, "lat": 40.7603937, "lon": -73.9944323}, {"type": "node", "id": 2709879281, "lat": 40.7603948, "lon": -73.9944167}, {"type": "node", "id": 2709879282, "lat": 40.7603966, "lon": -73.9935101}, {"type": "node", "id": 2709879284, "lat": 40.7603971, "lon": -73.9939049}, {"type": "node", "id": 2709879286, "lat": 40.7604013, "lon": -73.9946311}, {"type": "node", "id": 2709879289, "lat": 40.7604017, "lon": -73.9940829}, {"type": "node", "id": 2709879291, "lat": 40.7604027, "lon": -73.9946123}, {"type": "node", "id": 2709879293, "lat": 40.7604033, "lon": -73.9944839}, {"type": "node", "id": 2709879294, "lat": 40.7604036, "lon": -73.9944233}, {"type": "node", "id": 2709879296, "lat": 40.7604047, "lon": -73.9944584}, {"type": "node", "id": 2709879301, "lat": 40.7604162, "lon": -73.9945143}, {"type": "node", "id": 2709879303, "lat": 40.7604198, "lon": -73.9945117}, {"type": "node", "id": 2709879305, "lat": 40.7604223, "lon": -73.9939645}, {"type": "node", "id": 2709879307, "lat": 40.7604234, "lon": -73.9942708}, {"type": "node", "id": 2709879309, "lat": 40.7604235, "lon": -73.9935738}, {"type": "node", "id": 2709879311, "lat": 40.7604246, "lon": -73.9946862}, {"type": "node", "id": 2709879313, "lat": 40.760429, "lon": -73.9945191}, {"type": "node", "id": 2709879315, "lat": 40.760434, "lon": -73.9943115}, {"type": "node", "id": 2709879317, "lat": 40.7604345, "lon": -73.9941605}, {"type": "node", "id": 2709879319, "lat": 40.760435, "lon": -73.9944976}, {"type": "node", "id": 2709879321, "lat": 40.7604358, "lon": -73.9939546}, {"type": "node", "id": 2709879323, "lat": 40.7604389, "lon": -73.9944948}, {"type": "node", "id": 2709879325, "lat": 40.7604433, "lon": -73.9945053}, {"type": "node", "id": 2709879327, "lat": 40.7604485, "lon": -73.9936329}, {"type": "node", "id": 2709879329, "lat": 40.7604496, "lon": -73.9943649}, {"type": "node", "id": 2709879333, "lat": 40.7604521, "lon": -73.9943872}, {"type": "node", "id": 2709879335, "lat": 40.7604527, "lon": -73.9945753}, {"type": "node", "id": 2709879337, "lat": 40.7604535, "lon": -73.9943741}, {"type": "node", "id": 2709879338, "lat": 40.7604549, "lon": -73.9943611}, {"type": "node", "id": 2709879340, "lat": 40.7604584, "lon": -73.9945671}, {"type": "node", "id": 2709879341, "lat": 40.7604608, "lon": -73.9943585}, {"type": "node", "id": 2709879343, "lat": 40.7604618, "lon": -73.9941021}, {"type": "node", "id": 2709879344, "lat": 40.760463, "lon": -73.994578}, {"type": "node", "id": 2709879345, "lat": 40.7604668, "lon": -73.9945609}, {"type": "node", "id": 2709879346, "lat": 40.7604699, "lon": -73.9940351}, {"type": "node", "id": 2709879347, "lat": 40.7604739, "lon": -73.9936931}, {"type": "node", "id": 2709879348, "lat": 40.7604889, "lon": -73.9946392}, {"type": "node", "id": 2709879349, "lat": 40.7604986, "lon": -73.9937514}, {"type": "node", "id": 2709879350, "lat": 40.7605075, "lon": -73.9942101}, {"type": "node", "id": 2709879351, "lat": 40.7605207, "lon": -73.9945494}, {"type": "node", "id": 2709879352, "lat": 40.7605242, "lon": -73.9938119}, {"type": "node", "id": 2709879353, "lat": 40.7605252, "lon": -73.9945602}, {"type": "node", "id": 2709879356, "lat": 40.7605422, "lon": -73.9946002}, {"type": "node", "id": 2709879358, "lat": 40.7605494, "lon": -73.9938716}, {"type": "node", "id": 2709879360, "lat": 40.7605503, "lon": -73.994542}, {"type": "node", "id": 2709879369, "lat": 40.7605667, "lon": -73.9945811}, {"type": "node", "id": 2709879371, "lat": 40.7605834, "lon": -73.9939521}, {"type": "node", "id": 2709879373, "lat": 40.7606002, "lon": -73.9940009}, {"type": "node", "id": 2709879376, "lat": 40.7606124, "lon": -73.9941334}, {"type": "node", "id": 2709879378, "lat": 40.7606459, "lon": -73.9941089}, {"type": "node", "id": 2709879380, "lat": 40.7606693, "lon": -73.9942652}, {"type": "node", "id": 2709879383, "lat": 40.760679, "lon": -73.9942489}, {"type": "node", "id": 2709879385, "lat": 40.7606827, "lon": -73.9942552}, {"type": "node", "id": 2709879387, "lat": 40.7607082, "lon": -73.9942302}, {"type": "node", "id": 2709879389, "lat": 40.760788, "lon": -73.9944205}, {"type": "node", "id": 2709892572, "lat": 40.7586737, "lon": -73.9889503}, {"type": "node", "id": 2709892573, "lat": 40.7588045, "lon": -73.989261}, {"type": "node", "id": 2709892575, "lat": 40.7589112, "lon": -73.9887773}, {"type": "node", "id": 2709892578, "lat": 40.7589373, "lon": -73.9895783}, {"type": "node", "id": 2709892580, "lat": 40.7590289, "lon": -73.9890568}, {"type": "node", "id": 2709892582, "lat": 40.7590376, "lon": -73.9898164}, {"type": "node", "id": 2709892584, "lat": 40.7590421, "lon": -73.989088}, {"type": "node", "id": 2709892587, "lat": 40.7590777, "lon": -73.9894761}, {"type": "node", "id": 2709892589, "lat": 40.7590922, "lon": -73.9890108}, {"type": "node", "id": 2709892593, "lat": 40.7590928, "lon": -73.9895119}, {"type": "node", "id": 2709892594, "lat": 40.7590963, "lon": -73.9892111}, {"type": "node", "id": 2709892596, "lat": 40.7591029, "lon": -73.9899715}, {"type": "node", "id": 2709892599, "lat": 40.759106, "lon": -73.9890436}, {"type": "node", "id": 2709892600, "lat": 40.759123, "lon": -73.9891916}, {"type": "node", "id": 2709892602, "lat": 40.7591528, "lon": -73.9894682}, {"type": "node", "id": 2709892604, "lat": 40.7591537, "lon": -73.9886007}, {"type": "node", "id": 2709892606, "lat": 40.7591635, "lon": -73.9893672}, {"type": "node", "id": 2709892608, "lat": 40.7591662, "lon": -73.9893287}, {"type": "node", "id": 2709892610, "lat": 40.7591773, "lon": -73.9893206}, {"type": "node", "id": 2709892612, "lat": 40.7591779, "lon": -73.9893566}, {"type": "node", "id": 2709892614, "lat": 40.7592046, "lon": -73.9902131}, {"type": "node", "id": 2709892616, "lat": 40.7592098, "lon": -73.989691}, {"type": "node", "id": 2709892618, "lat": 40.7592149, "lon": -73.9894895}, {"type": "node", "id": 2709892620, "lat": 40.7592205, "lon": -73.9895092}, {"type": "node", "id": 2709892622, "lat": 40.7592245, "lon": -73.9897126}, {"type": "node", "id": 2709892623, "lat": 40.759238, "lon": -73.9896705}, {"type": "node", "id": 2709892625, "lat": 40.7592418, "lon": -73.9894699}, {"type": "node", "id": 2709892627, "lat": 40.7592494, "lon": -73.989488}, {"type": "node", "id": 2709892629, "lat": 40.7592647, "lon": -73.9896143}, {"type": "node", "id": 2709892631, "lat": 40.7592719, "lon": -73.9894716}, {"type": "node", "id": 2709892633, "lat": 40.7592852, "lon": -73.9889131}, {"type": "node", "id": 2709892635, "lat": 40.7592854, "lon": -73.9895308}, {"type": "node", "id": 2709892637, "lat": 40.759287, "lon": -73.9896671}, {"type": "node", "id": 2709892639, "lat": 40.7592871, "lon": -73.9889117}, {"type": "node", "id": 2709892640, "lat": 40.7592941, "lon": -73.9895245}, {"type": "node", "id": 2709892642, "lat": 40.7593075, "lon": -73.9895832}, {"type": "node", "id": 2709892644, "lat": 40.7593149, "lon": -73.9895778}, {"type": "node", "id": 2709892647, "lat": 40.7593339, "lon": -73.9897752}, {"type": "node", "id": 2709892649, "lat": 40.7593353, "lon": -73.9905236}, {"type": "node", "id": 2709892651, "lat": 40.7593371, "lon": -73.9896306}, {"type": "node", "id": 2709892653, "lat": 40.7593429, "lon": -73.9897967}, {"type": "node", "id": 2709892655, "lat": 40.7593692, "lon": -73.9898253}, {"type": "node", "id": 2709892657, "lat": 40.7593693, "lon": -73.9906044}, {"type": "node", "id": 2709892659, "lat": 40.7593912, "lon": -73.9898776}, {"type": "node", "id": 2709892661, "lat": 40.7594042, "lon": -73.9906873}, {"type": "node", "id": 2709892662, "lat": 40.7594425, "lon": -73.9896961}, {"type": "node", "id": 2709892664, "lat": 40.7594446, "lon": -73.9900383}, {"type": "node", "id": 2709892666, "lat": 40.7594511, "lon": -73.9893412}, {"type": "node", "id": 2709892668, "lat": 40.7594581, "lon": -73.9898289}, {"type": "node", "id": 2709892670, "lat": 40.759464, "lon": -73.9893318}, {"type": "node", "id": 2709892672, "lat": 40.7594663, "lon": -73.9898924}, {"type": "node", "id": 2709892674, "lat": 40.759467, "lon": -73.9897541}, {"type": "node", "id": 2709892676, "lat": 40.7594692, "lon": -73.9908415}, {"type": "node", "id": 2709892677, "lat": 40.7594733, "lon": -73.989394}, {"type": "node", "id": 2709892678, "lat": 40.7594805, "lon": -73.9898821}, {"type": "node", "id": 2709892679, "lat": 40.7594954, "lon": -73.9894464}, {"type": "node", "id": 2709892680, "lat": 40.7595057, "lon": -73.9909284}, {"type": "node", "id": 2709892681, "lat": 40.7595168, "lon": -73.9903915}, {"type": "node", "id": 2709892682, "lat": 40.7595176, "lon": -73.9894992}, {"type": "node", "id": 2709892683, "lat": 40.7595186, "lon": -73.9908056}, {"type": "node", "id": 2709892684, "lat": 40.7595238, "lon": -73.9894946}, {"type": "node", "id": 2709892685, "lat": 40.7595285, "lon": -73.9908114}, {"type": "node", "id": 2709892686, "lat": 40.7595423, "lon": -73.9910153}, {"type": "node", "id": 2709892687, "lat": 40.7595508, "lon": -73.9904723}, {"type": "node", "id": 2709892688, "lat": 40.7595543, "lon": -73.990893}, {"type": "node", "id": 2709892689, "lat": 40.7595551, "lon": -73.9908924}, {"type": "node", "id": 2709892690, "lat": 40.7595566, "lon": -73.9908776}, {"type": "node", "id": 2709892691, "lat": 40.7595639, "lon": -73.9896077}, {"type": "node", "id": 2709892693, "lat": 40.759565, "lon": -73.9908983}, {"type": "node", "id": 2709892695, "lat": 40.7595697, "lon": -73.9896035}, {"type": "node", "id": 2709892696, "lat": 40.7595717, "lon": -73.9907799}, {"type": "node", "id": 2709892698, "lat": 40.7595749, "lon": -73.9907876}, {"type": "node", "id": 2709892700, "lat": 40.7595754, "lon": -73.9903488}, {"type": "node", "id": 2709892701, "lat": 40.7595789, "lon": -73.9911021}, {"type": "node", "id": 2709892703, "lat": 40.7595855, "lon": -73.9901756}, {"type": "node", "id": 2709892705, "lat": 40.7595884, "lon": -73.9896657}, {"type": "node", "id": 2709892706, "lat": 40.7595908, "lon": -73.9909799}, {"type": "node", "id": 2709892708, "lat": 40.7595917, "lon": -73.9909793}, {"type": "node", "id": 2709892710, "lat": 40.7595925, "lon": -73.9907648}, {"type": "node", "id": 2709892712, "lat": 40.7595932, "lon": -73.9909645}, {"type": "node", "id": 2709892714, "lat": 40.7595934, "lon": -73.9908359}, {"type": "node", "id": 2709892716, "lat": 40.7595957, "lon": -73.9907725}, {"type": "node", "id": 2709892717, "lat": 40.7595982, "lon": -73.9908473}, {"type": "node", "id": 2709892719, "lat": 40.7596005, "lon": -73.9901647}, {"type": "node", "id": 2709892721, "lat": 40.7596016, "lon": -73.9909851}, {"type": "node", "id": 2709892723, "lat": 40.7596031, "lon": -73.9897233}, {"type": "node", "id": 2709892725, "lat": 40.7596082, "lon": -73.9908668}, {"type": "node", "id": 2709892727, "lat": 40.7596104, "lon": -73.989718}, {"type": "node", "id": 2709892729, "lat": 40.7596104, "lon": -73.9904289}, {"type": "node", "id": 2709892731, "lat": 40.7596115, "lon": -73.9908745}, {"type": "node", "id": 2709892733, "lat": 40.7596143, "lon": -73.9911863}, {"type": "node", "id": 2709892734, "lat": 40.7596167, "lon": -73.990819}, {"type": "node", "id": 2709892736, "lat": 40.7596211, "lon": -73.9902136}, {"type": "node", "id": 2709892738, "lat": 40.7596215, "lon": -73.9908303}, {"type": "node", "id": 2709892740, "lat": 40.7596274, "lon": -73.9910668}, {"type": "node", "id": 2709892742, "lat": 40.7596281, "lon": -73.9910496}, {"type": "node", "id": 2709892744, "lat": 40.759629, "lon": -73.9908517}, {"type": "node", "id": 2709892745, "lat": 40.75963, "lon": -73.9909228}, {"type": "node", "id": 2709892747, "lat": 40.7596323, "lon": -73.9908593}, {"type": "node", "id": 2709892749, "lat": 40.7596348, "lon": -73.9909341}, {"type": "node", "id": 2709892751, "lat": 40.7596368, "lon": -73.9910703}, {"type": "node", "id": 2709892753, "lat": 40.759637, "lon": -73.9907324}, {"type": "node", "id": 2709892755, "lat": 40.7596384, "lon": -73.9907183}, {"type": "node", "id": 2709892762, "lat": 40.7596414, "lon": -73.9912507}, {"type": "node", "id": 2709892764, "lat": 40.7596448, "lon": -73.990403}, {"type": "node", "id": 2709892766, "lat": 40.7596448, "lon": -73.9909537}, {"type": "node", "id": 2709892768, "lat": 40.7596453, "lon": -73.9905118}, {"type": "node", "id": 2709892769, "lat": 40.759646, "lon": -73.9912474}, {"type": "node", "id": 2709892770, "lat": 40.759648, "lon": -73.9909613}, {"type": "node", "id": 2709892771, "lat": 40.7596533, "lon": -73.9909058}, {"type": "node", "id": 2709892772, "lat": 40.7596581, "lon": -73.9909172}, {"type": "node", "id": 2709892773, "lat": 40.7596631, "lon": -73.9911508}, {"type": "node", "id": 2709892774, "lat": 40.7596642, "lon": -73.9911372}, {"type": "node", "id": 2709892775, "lat": 40.7596656, "lon": -73.9909385}, {"type": "node", "id": 2709892777, "lat": 40.7596664, "lon": -73.9907976}, {"type": "node", "id": 2709892779, "lat": 40.7596688, "lon": -73.9909462}, {"type": "node", "id": 2709892780, "lat": 40.7596735, "lon": -73.9908193}, {"type": "node", "id": 2709892782, "lat": 40.7596751, "lon": -73.9908051}, {"type": "node", "id": 2709892784, "lat": 40.7596789, "lon": -73.9904838}, {"type": "node", "id": 2709892786, "lat": 40.7596855, "lon": -73.990684}, {"type": "node", "id": 2709892788, "lat": 40.7596862, "lon": -73.9910344}, {"type": "node", "id": 2709892790, "lat": 40.7596907, "lon": -73.9910449}, {"type": "node", "id": 2709892792, "lat": 40.7596998, "lon": -73.9910243}, {"type": "node", "id": 2709892794, "lat": 40.759703, "lon": -73.9908845}, {"type": "node", "id": 2709892795, "lat": 40.7597043, "lon": -73.991035}, {"type": "node", "id": 2709892797, "lat": 40.7597081, "lon": -73.9914093}, {"type": "node", "id": 2709892799, "lat": 40.7597101, "lon": -73.9909061}, {"type": "node", "id": 2709892802, "lat": 40.7597089, "lon": -73.9906635}, {"type": "node", "id": 2709892803, "lat": 40.7597116, "lon": -73.990892}, {"type": "node", "id": 2709892804, "lat": 40.7597127, "lon": -73.9914059}, {"type": "node", "id": 2709892805, "lat": 40.7597218, "lon": -73.9903468}, {"type": "node", "id": 2709892806, "lat": 40.7597221, "lon": -73.9907709}, {"type": "node", "id": 2709892807, "lat": 40.759731, "lon": -73.9903687}, {"type": "node", "id": 2709892808, "lat": 40.7597353, "lon": -73.9914738}, {"type": "node", "id": 2709892809, "lat": 40.7597379, "lon": -73.9909696}, {"type": "node", "id": 2709892810, "lat": 40.7597432, "lon": -73.9907449}, {"type": "node", "id": 2709892811, "lat": 40.7597466, "lon": -73.9909903}, {"type": "node", "id": 2709892812, "lat": 40.759748, "lon": -73.9903277}, {"type": "node", "id": 2709892813, "lat": 40.7597482, "lon": -73.9909788}, {"type": "node", "id": 2709892814, "lat": 40.7597491, "lon": -73.9904078}, {"type": "node", "id": 2709892815, "lat": 40.759757, "lon": -73.9904267}, {"type": "node", "id": 2709892816, "lat": 40.7597572, "lon": -73.9903496}, {"type": "node", "id": 2709892817, "lat": 40.7597586, "lon": -73.9908577}, {"type": "node", "id": 2709892819, "lat": 40.7597653, "lon": -73.9901086}, {"type": "node", "id": 2709892821, "lat": 40.7597715, "lon": -73.9910591}, {"type": "node", "id": 2709892823, "lat": 40.759776, "lon": -73.9907209}, {"type": "node", "id": 2709892825, "lat": 40.7597761, "lon": -73.9903881}, {"type": "node", "id": 2709892827, "lat": 40.7597801, "lon": -73.9910656}, {"type": "node", "id": 2709892829, "lat": 40.759781, "lon": -73.9903036}, {"type": "node", "id": 2709892831, "lat": 40.7597828, "lon": -73.9914345}, {"type": "node", "id": 2709892833, "lat": 40.7597837, "lon": -73.9904072}, {"type": "node", "id": 2709892835, "lat": 40.7597843, "lon": -73.991438}, {"type": "node", "id": 2709892837, "lat": 40.7597952, "lon": -73.9909446}, {"type": "node", "id": 2709892839, "lat": 40.7598039, "lon": -73.9908045}, {"type": "node", "id": 2709892841, "lat": 40.7598095, "lon": -73.9908005}, {"type": "node", "id": 2709892843, "lat": 40.7598307, "lon": -73.9910288}, {"type": "node", "id": 2709892845, "lat": 40.7598405, "lon": -73.9909154}, {"type": "node", "id": 2709892847, "lat": 40.7598425, "lon": -73.9908962}, {"type": "node", "id": 2709892849, "lat": 40.7598456, "lon": -73.9909274}, {"type": "node", "id": 2709892851, "lat": 40.7598482, "lon": -73.9909097}, {"type": "node", "id": 2709892853, "lat": 40.7598499, "lon": -73.9907711}, {"type": "node", "id": 2709892855, "lat": 40.7598505, "lon": -73.9902528}, {"type": "node", "id": 2709892857, "lat": 40.7598533, "lon": -73.9909218}, {"type": "node", "id": 2709892859, "lat": 40.759855, "lon": -73.9906634}, {"type": "node", "id": 2709892861, "lat": 40.7598593, "lon": -73.9907783}, {"type": "node", "id": 2709892863, "lat": 40.7598646, "lon": -73.9906864}, {"type": "node", "id": 2709892865, "lat": 40.7598647, "lon": -73.9917821}, {"type": "node", "id": 2709892866, "lat": 40.7598813, "lon": -73.9906442}, {"type": "node", "id": 2709892868, "lat": 40.7598825, "lon": -73.9909911}, {"type": "node", "id": 2709892870, "lat": 40.7598826, "lon": -73.9907255}, {"type": "node", "id": 2709892872, "lat": 40.7598846, "lon": -73.9903336}, {"type": "node", "id": 2709892875, "lat": 40.7598869, "lon": -73.9908639}, {"type": "node", "id": 2709892877, "lat": 40.7598884, "lon": -73.9908518}, {"type": "node", "id": 2709892880, "lat": 40.7598896, "lon": -73.9907422}, {"type": "node", "id": 2709892883, "lat": 40.759891, "lon": -73.9906672}, {"type": "node", "id": 2709892886, "lat": 40.7598977, "lon": -73.9908739}, {"type": "node", "id": 2709892889, "lat": 40.7599043, "lon": -73.9907455}, {"type": "node", "id": 2709892892, "lat": 40.7599091, "lon": -73.9907062}, {"type": "node", "id": 2709892895, "lat": 40.7599097, "lon": -73.9907582}, {"type": "node", "id": 2709892898, "lat": 40.7599111, "lon": -73.9906225}, {"type": "node", "id": 2709892901, "lat": 40.759915, "lon": -73.9906318}, {"type": "node", "id": 2709892904, "lat": 40.759916, "lon": -73.9917456}, {"type": "node", "id": 2709892907, "lat": 40.7599161, "lon": -73.9907229}, {"type": "node", "id": 2709892909, "lat": 40.7599237, "lon": -73.9909611}, {"type": "node", "id": 2709892910, "lat": 40.759925, "lon": -73.9907304}, {"type": "node", "id": 2709892912, "lat": 40.7599292, "lon": -73.9908103}, {"type": "node", "id": 2709892914, "lat": 40.7599295, "lon": -73.9909568}, {"type": "node", "id": 2709892916, "lat": 40.7599299, "lon": -73.9909439}, {"type": "node", "id": 2709892918, "lat": 40.7599303, "lon": -73.9907431}, {"type": "node", "id": 2709892920, "lat": 40.7599324, "lon": -73.9906191}, {"type": "node", "id": 2709892922, "lat": 40.759933, "lon": -73.9908193}, {"type": "node", "id": 2709892924, "lat": 40.7599375, "lon": -73.9909544}, {"type": "node", "id": 2709892926, "lat": 40.7599376, "lon": -73.9906031}, {"type": "node", "id": 2709892929, "lat": 40.7599423, "lon": -73.9908415}, {"type": "node", "id": 2709892930, "lat": 40.7599433, "lon": -73.9906959}, {"type": "node", "id": 2709892931, "lat": 40.7599455, "lon": -73.9908491}, {"type": "node", "id": 2709892932, "lat": 40.7599456, "lon": -73.9907014}, {"type": "node", "id": 2709892933, "lat": 40.7599478, "lon": -73.9910185}, {"type": "node", "id": 2709892934, "lat": 40.7599518, "lon": -73.9907939}, {"type": "node", "id": 2709892935, "lat": 40.7599528, "lon": -73.9904897}, {"type": "node", "id": 2709892936, "lat": 40.7599556, "lon": -73.9908029}, {"type": "node", "id": 2709892937, "lat": 40.7599606, "lon": -73.9910092}, {"type": "node", "id": 2709892938, "lat": 40.7599611, "lon": -73.9906829}, {"type": "node", "id": 2709892939, "lat": 40.7599631, "lon": -73.9917121}, {"type": "node", "id": 2709892941, "lat": 40.759966, "lon": -73.9917192}, {"type": "node", "id": 2709892943, "lat": 40.7599662, "lon": -73.9908241}, {"type": "node", "id": 2709892944, "lat": 40.7599677, "lon": -73.9909009}, {"type": "node", "id": 2709892946, "lat": 40.7599678, "lon": -73.9906852}, {"type": "node", "id": 2709892948, "lat": 40.7599694, "lon": -73.9908316}, {"type": "node", "id": 2709892950, "lat": 40.7599702, "lon": -73.9906976}, {"type": "node", "id": 2709892952, "lat": 40.7599717, "lon": -73.9920421}, {"type": "node", "id": 2709892954, "lat": 40.7599727, "lon": -73.9909127}, {"type": "node", "id": 2709892956, "lat": 40.7599772, "lon": -73.9918943}, {"type": "node", "id": 2709892958, "lat": 40.7599856, "lon": -73.9905682}, {"type": "node", "id": 2709892960, "lat": 40.7599905, "lon": -73.9908843}, {"type": "node", "id": 2709892962, "lat": 40.7599955, "lon": -73.9908961}, {"type": "node", "id": 2709892964, "lat": 40.7599986, "lon": -73.9921076}, {"type": "node", "id": 2709892966, "lat": 40.7600013, "lon": -73.9907696}, {"type": "node", "id": 2709892967, "lat": 40.7600041, "lon": -73.9919597}, {"type": "node", "id": 2709892969, "lat": 40.7600048, "lon": -73.9921032}, {"type": "node", "id": 2709892971, "lat": 40.7600106, "lon": -73.9907917}, {"type": "node", "id": 2709892973, "lat": 40.7600115, "lon": -73.9907732}, {"type": "node", "id": 2709892974, "lat": 40.7600122, "lon": -73.9916772}, {"type": "node", "id": 2709892975, "lat": 40.7600151, "lon": -73.9916843}, {"type": "node", "id": 2709892976, "lat": 40.7600192, "lon": -73.9906478}, {"type": "node", "id": 2709892977, "lat": 40.7600233, "lon": -73.9906448}, {"type": "node", "id": 2709892978, "lat": 40.7600242, "lon": -73.9918608}, {"type": "node", "id": 2709892979, "lat": 40.7600285, "lon": -73.9918713}, {"type": "node", "id": 2709892980, "lat": 40.760037, "lon": -73.9919363}, {"type": "node", "id": 2709892982, "lat": 40.7600377, "lon": -73.9921831}, {"type": "node", "id": 2709892984, "lat": 40.7600388, "lon": -73.9908646}, {"type": "node", "id": 2709892986, "lat": 40.7600505, "lon": -73.9908721}, {"type": "node", "id": 2709892988, "lat": 40.7600559, "lon": -73.9919822}, {"type": "node", "id": 2709892989, "lat": 40.7600606, "lon": -73.9916427}, {"type": "node", "id": 2709892991, "lat": 40.7600619, "lon": -73.9907365}, {"type": "node", "id": 2709892993, "lat": 40.7600653, "lon": -73.9919643}, {"type": "node", "id": 2709892995, "lat": 40.7600689, "lon": -73.991973}, {"type": "node", "id": 2709892997, "lat": 40.76007, "lon": -73.9922616}, {"type": "node", "id": 2709892999, "lat": 40.7600727, "lon": -73.991959}, {"type": "node", "id": 2709893001, "lat": 40.7600762, "lon": -73.9919678}, {"type": "node", "id": 2709893003, "lat": 40.7600776, "lon": -73.9918364}, {"type": "node", "id": 2709893005, "lat": 40.7600948, "lon": -73.9918782}, {"type": "node", "id": 2709893006, "lat": 40.7600973, "lon": -73.990838}, {"type": "node", "id": 2709893008, "lat": 40.7600987, "lon": -73.9919518}, {"type": "node", "id": 2709893010, "lat": 40.7601013, "lon": -73.9923378}, {"type": "node", "id": 2709893012, "lat": 40.7601029, "lon": -73.9908339}, {"type": "node", "id": 2709893014, "lat": 40.760109, "lon": -73.9916083}, {"type": "node", "id": 2709893016, "lat": 40.7601228, "lon": -73.9909037}, {"type": "node", "id": 2709893018, "lat": 40.7601245, "lon": -73.9909025}, {"type": "node", "id": 2709893020, "lat": 40.7601256, "lon": -73.9920172}, {"type": "node", "id": 2709893022, "lat": 40.7601433, "lon": -73.9918437}, {"type": "node", "id": 2709893023, "lat": 40.7601585, "lon": -73.9920972}, {"type": "node", "id": 2709893025, "lat": 40.7601652, "lon": -73.991156}, {"type": "node", "id": 2709893027, "lat": 40.7601663, "lon": -73.9911586}, {"type": "node", "id": 2709893029, "lat": 40.7601663, "lon": -73.9924957}, {"type": "node", "id": 2709893031, "lat": 40.760168, "lon": -73.9923043}, {"type": "node", "id": 2709893033, "lat": 40.7601694, "lon": -73.9922894}, {"type": "node", "id": 2709893035, "lat": 40.7601697, "lon": -73.9923277}, {"type": "node", "id": 2709893037, "lat": 40.7601699, "lon": -73.991565}, {"type": "node", "id": 2709893038, "lat": 40.7601729, "lon": -73.9923163}, {"type": "node", "id": 2709893040, "lat": 40.7601738, "lon": -73.9923001}, {"type": "node", "id": 2709893042, "lat": 40.760182, "lon": -73.9919683}, {"type": "node", "id": 2709893044, "lat": 40.7601824, "lon": -73.9923343}, {"type": "node", "id": 2709893046, "lat": 40.7601884, "lon": -73.9910595}, {"type": "node", "id": 2709893048, "lat": 40.7601901, "lon": -73.9910584}, {"type": "node", "id": 2709893050, "lat": 40.7601908, "lon": -73.9921757}, {"type": "node", "id": 2709893052, "lat": 40.7601917, "lon": -73.9918093}, {"type": "node", "id": 2709893053, "lat": 40.7602001, "lon": -73.992578}, {"type": "node", "id": 2709893054, "lat": 40.7602077, "lon": -73.9917979}, {"type": "node", "id": 2709893055, "lat": 40.7602135, "lon": -73.9924109}, {"type": "node", "id": 2709893056, "lat": 40.7602137, "lon": -73.9924309}, {"type": "node", "id": 2709893057, "lat": 40.760214, "lon": -73.9918132}, {"type": "node", "id": 2709893058, "lat": 40.7602164, "lon": -73.9920518}, {"type": "node", "id": 2709893059, "lat": 40.7602168, "lon": -73.9911218}, {"type": "node", "id": 2709893060, "lat": 40.7602171, "lon": -73.9924596}, {"type": "node", "id": 2709893061, "lat": 40.7602207, "lon": -73.9924319}, {"type": "node", "id": 2709893062, "lat": 40.7602287, "lon": -73.9924513}, {"type": "node", "id": 2709893063, "lat": 40.7602306, "lon": -73.9924613}, {"type": "node", "id": 2709893065, "lat": 40.7602308, "lon": -73.9915216}, {"type": "node", "id": 2709893066, "lat": 40.7602328, "lon": -73.9926574}, {"type": "node", "id": 2709893077, "lat": 40.7602383, "lon": -73.9919283}, {"type": "node", "id": 2709893080, "lat": 40.7602387, "lon": -73.9917758}, {"type": "node", "id": 2709893083, "lat": 40.760245, "lon": -73.9917912}, {"type": "node", "id": 2709893086, "lat": 40.760247, "lon": -73.9922342}, {"type": "node", "id": 2709893089, "lat": 40.76025, "lon": -73.9921335}, {"type": "node", "id": 2709893092, "lat": 40.7602503, "lon": -73.9919198}, {"type": "node", "id": 2709893094, "lat": 40.7602526, "lon": -73.9917659}, {"type": "node", "id": 2709893096, "lat": 40.7602546, "lon": -73.9925392}, {"type": "node", "id": 2709893099, "lat": 40.7602556, "lon": -73.9922553}, {"type": "node", "id": 2709893102, "lat": 40.7602561, "lon": -73.992529}, {"type": "node", "id": 2709893105, "lat": 40.7602643, "lon": -73.9922761}, {"type": "node", "id": 2709893108, "lat": 40.7602652, "lon": -73.9927364}, {"type": "node", "id": 2709893111, "lat": 40.7602653, "lon": -73.9922558}, {"type": "node", "id": 2709893114, "lat": 40.7602668, "lon": -73.9917681}, {"type": "node", "id": 2709893116, "lat": 40.7602682, "lon": -73.9924345}, {"type": "node", "id": 2709893119, "lat": 40.7602682, "lon": -73.9927343}, {"type": "node", "id": 2709893121, "lat": 40.7602726, "lon": -73.9920118}, {"type": "node", "id": 2709893124, "lat": 40.7602807, "lon": -73.9924413}, {"type": "node", "id": 2709893126, "lat": 40.7602866, "lon": -73.9918161}, {"type": "node", "id": 2709893129, "lat": 40.7602943, "lon": -73.9923534}, {"type": "node", "id": 2709893131, "lat": 40.7602948, "lon": -73.9925015}, {"type": "node", "id": 2709893134, "lat": 40.7602969, "lon": -73.9921002}, {"type": "node", "id": 2709893137, "lat": 40.7602971, "lon": -73.9914745}, {"type": "node", "id": 2709893138, "lat": 40.7602974, "lon": -73.9924872}, {"type": "node", "id": 2709893140, "lat": 40.7603006, "lon": -73.9928133}, {"type": "node", "id": 2709893142, "lat": 40.760303, "lon": -73.9916971}, {"type": "node", "id": 2709893144, "lat": 40.7603053, "lon": -73.9923714}, {"type": "node", "id": 2709893146, "lat": 40.7603063, "lon": -73.9920935}, {"type": "node", "id": 2709893147, "lat": 40.7603063, "lon": -73.992423}, {"type": "node", "id": 2709893149, "lat": 40.760308, "lon": -73.9917388}, {"type": "node", "id": 2709893151, "lat": 40.7603081, "lon": -73.9924062}, {"type": "node", "id": 2709893153, "lat": 40.7603083, "lon": -73.9923593}, {"type": "node", "id": 2709893155, "lat": 40.7603116, "lon": -73.9921883}, {"type": "node", "id": 2709893156, "lat": 40.7603134, "lon": -73.992391}, {"type": "node", "id": 2709893157, "lat": 40.7603135, "lon": -73.9917226}, {"type": "node", "id": 2709893158, "lat": 40.7603162, "lon": -73.9920801}, {"type": "node", "id": 2709893159, "lat": 40.7603247, "lon": -73.9924678}, {"type": "node", "id": 2709893160, "lat": 40.7603266, "lon": -73.992393}, {"type": "node", "id": 2709893161, "lat": 40.7603278, "lon": -73.9917868}, {"type": "node", "id": 2709893162, "lat": 40.7603282, "lon": -73.9921764}, {"type": "node", "id": 2709893164, "lat": 40.7603292, "lon": -73.9916971}, {"type": "node", "id": 2709893166, "lat": 40.7603321, "lon": -73.9917179}, {"type": "node", "id": 2709893167, "lat": 40.7603325, "lon": -73.9923774}, {"type": "node", "id": 2709893169, "lat": 40.7603352, "lon": -73.9924728}, {"type": "node", "id": 2709893171, "lat": 40.7603363, "lon": -73.9917281}, {"type": "node", "id": 2709893173, "lat": 40.7603365, "lon": -73.9917148}, {"type": "node", "id": 2709893175, "lat": 40.7603405, "lon": -73.9921136}, {"type": "node", "id": 2709893176, "lat": 40.760341, "lon": -73.9917248}, {"type": "node", "id": 2709893178, "lat": 40.7603525, "lon": -73.9914351}, {"type": "node", "id": 2709893180, "lat": 40.7603537, "lon": -73.9924596}, {"type": "node", "id": 2709893182, "lat": 40.760354, "lon": -73.9920796}, {"type": "node", "id": 2709893183, "lat": 40.7603561, "lon": -73.9917615}, {"type": "node", "id": 2709893185, "lat": 40.7603586, "lon": -73.9925678}, {"type": "node", "id": 2709893187, "lat": 40.7603618, "lon": -73.9920984}, {"type": "node", "id": 2709893189, "lat": 40.7603622, "lon": -73.9924626}, {"type": "node", "id": 2709893191, "lat": 40.7603665, "lon": -73.9929734}, {"type": "node", "id": 2709893192, "lat": 40.7603693, "lon": -73.99165}, {"type": "node", "id": 2709893194, "lat": 40.7603698, "lon": -73.9925716}, {"type": "node", "id": 2709893196, "lat": 40.7603714, "lon": -73.9927629}, {"type": "node", "id": 2709893198, "lat": 40.7603746, "lon": -73.9921962}, {"type": "node", "id": 2709893200, "lat": 40.7603765, "lon": -73.9923461}, {"type": "node", "id": 2709893202, "lat": 40.7603789, "lon": -73.9922377}, {"type": "node", "id": 2709893203, "lat": 40.7603815, "lon": -73.9923426}, {"type": "node", "id": 2709893205, "lat": 40.7603825, "lon": -73.9918257}, {"type": "node", "id": 2709893207, "lat": 40.7603911, "lon": -73.9926468}, {"type": "node", "id": 2709893208, "lat": 40.7603957, "lon": -73.9926285}, {"type": "node", "id": 2709893209, "lat": 40.7603959, "lon": -73.992181}, {"type": "node", "id": 2709893210, "lat": 40.7603965, "lon": -73.9928239}, {"type": "node", "id": 2709893211, "lat": 40.7603986, "lon": -73.9927436}, {"type": "node", "id": 2709893212, "lat": 40.7603988, "lon": -73.993052}, {"type": "node", "id": 2709893213, "lat": 40.7604018, "lon": -73.9921952}, {"type": "node", "id": 2709893214, "lat": 40.7604023, "lon": -73.9926505}, {"type": "node", "id": 2709893215, "lat": 40.7604049, "lon": -73.9930476}, {"type": "node", "id": 2709893216, "lat": 40.7604058, "lon": -73.9928055}, {"type": "node", "id": 2709893217, "lat": 40.7604082, "lon": -73.992795}, {"type": "node", "id": 2709893218, "lat": 40.7604095, "lon": -73.9928146}, {"type": "node", "id": 2709893219, "lat": 40.7604119, "lon": -73.9928613}, {"type": "node", "id": 2709893220, "lat": 40.7604128, "lon": -73.9923197}, {"type": "node", "id": 2709893221, "lat": 40.7604154, "lon": -73.9924248}, {"type": "node", "id": 2709893222, "lat": 40.7604167, "lon": -73.9927307}, {"type": "node", "id": 2709893223, "lat": 40.7604214, "lon": -73.9927855}, {"type": "node", "id": 2709893224, "lat": 40.7604247, "lon": -73.9916105}, {"type": "node", "id": 2709893226, "lat": 40.7604248, "lon": -73.9928521}, {"type": "node", "id": 2709893228, "lat": 40.7604252, "lon": -73.9927246}, {"type": "node", "id": 2709893230, "lat": 40.7604282, "lon": -73.9923087}, {"type": "node", "id": 2709893232, "lat": 40.7604282, "lon": -73.9927075}, {"type": "node", "id": 2709893239, "lat": 40.7604286, "lon": -73.9928613}, {"type": "node", "id": 2709893241, "lat": 40.7604301, "lon": -73.9916253}, {"type": "node", "id": 2709893243, "lat": 40.7604302, "lon": -73.9931093}, {"type": "node", "id": 2709893244, "lat": 40.7604338, "lon": -73.9929145}, {"type": "node", "id": 2709893246, "lat": 40.7604348, "lon": -73.9928647}, {"type": "node", "id": 2709893248, "lat": 40.7604389, "lon": -73.9929109}, {"type": "node", "id": 2709893250, "lat": 40.7604402, "lon": -73.9927722}, {"type": "node", "id": 2709893251, "lat": 40.7604414, "lon": -73.9925206}, {"type": "node", "id": 2709893253, "lat": 40.7604423, "lon": -73.9927707}, {"type": "node", "id": 2709893255, "lat": 40.7604424, "lon": -73.9929195}, {"type": "node", "id": 2709893257, "lat": 40.7604427, "lon": -73.9924053}, {"type": "node", "id": 2709893259, "lat": 40.7604444, "lon": -73.992711}, {"type": "node", "id": 2709893261, "lat": 40.7604489, "lon": -73.9927729}, {"type": "node", "id": 2709893262, "lat": 40.7604543, "lon": -73.9927861}, {"type": "node", "id": 2709893264, "lat": 40.7604567, "lon": -73.9916899}, {"type": "node", "id": 2709893266, "lat": 40.7604569, "lon": -73.9931742}, {"type": "node", "id": 2709893268, "lat": 40.7604654, "lon": -73.9925789}, {"type": "node", "id": 2709893270, "lat": 40.7604665, "lon": -73.9928169}, {"type": "node", "id": 2709893272, "lat": 40.7604705, "lon": -73.9927746}, {"type": "node", "id": 2709893274, "lat": 40.7604709, "lon": -73.992839}, {"type": "node", "id": 2709893276, "lat": 40.7604722, "lon": -73.9928308}, {"type": "node", "id": 2709893278, "lat": 40.7604739, "lon": -73.9925996}, {"type": "node", "id": 2709893279, "lat": 40.7604754, "lon": -73.9924847}, {"type": "node", "id": 2709893281, "lat": 40.7604815, "lon": -73.9928062}, {"type": "node", "id": 2709893283, "lat": 40.7604831, "lon": -73.9917541}, {"type": "node", "id": 2709893285, "lat": 40.7604836, "lon": -73.9932391}, {"type": "node", "id": 2709893287, "lat": 40.7604933, "lon": -73.9919534}, {"type": "node", "id": 2709893289, "lat": 40.7604945, "lon": -73.9924689}, {"type": "node", "id": 2709893291, "lat": 40.7604979, "lon": -73.9926579}, {"type": "node", "id": 2709893293, "lat": 40.7605017, "lon": -73.9919738}, {"type": "node", "id": 2709893294, "lat": 40.7605043, "lon": -73.9924618}, {"type": "node", "id": 2709893296, "lat": 40.7605087, "lon": -73.9928723}, {"type": "node", "id": 2709893298, "lat": 40.7605136, "lon": -73.9928688}, {"type": "node", "id": 2709893300, "lat": 40.7605148, "lon": -73.9929694}, {"type": "node", "id": 2709893302, "lat": 40.7605152, "lon": -73.9926607}, {"type": "node", "id": 2709893304, "lat": 40.7605203, "lon": -73.993213}, {"type": "node", "id": 2709893305, "lat": 40.7605295, "lon": -73.9921038}, {"type": "node", "id": 2709893307, "lat": 40.7605353, "lon": -73.9933647}, {"type": "node", "id": 2709893309, "lat": 40.7605372, "lon": -73.993214}, {"type": "node", "id": 2709893311, "lat": 40.7605378, "lon": -73.9921239}, {"type": "node", "id": 2709893313, "lat": 40.7605394, "lon": -73.9933618}, {"type": "node", "id": 2709893315, "lat": 40.7605402, "lon": -73.9930311}, {"type": "node", "id": 2709893317, "lat": 40.7605434, "lon": -73.9926375}, {"type": "node", "id": 2709893319, "lat": 40.7605459, "lon": -73.9929473}, {"type": "node", "id": 2709893320, "lat": 40.7605488, "lon": -73.9919137}, {"type": "node", "id": 2709893322, "lat": 40.7605596, "lon": -73.9928361}, {"type": "node", "id": 2709893324, "lat": 40.7605616, "lon": -73.9919447}, {"type": "node", "id": 2709893326, "lat": 40.7605643, "lon": -73.9934224}, {"type": "node", "id": 2709893327, "lat": 40.7605658, "lon": -73.9919417}, {"type": "node", "id": 2709893328, "lat": 40.7605669, "lon": -73.993096}, {"type": "node", "id": 2709893329, "lat": 40.7605693, "lon": -73.992619}, {"type": "node", "id": 2709893330, "lat": 40.7605768, "lon": -73.9927181}, {"type": "node", "id": 2709893331, "lat": 40.760581, "lon": -73.9928208}, {"type": "node", "id": 2709893332, "lat": 40.7605811, "lon": -73.9933321}, {"type": "node", "id": 2709893333, "lat": 40.7605838, "lon": -73.9933148}, {"type": "node", "id": 2709893334, "lat": 40.7605845, "lon": -73.9931804}, {"type": "node", "id": 2709893335, "lat": 40.7605903, "lon": -73.9931945}, {"type": "node", "id": 2709893336, "lat": 40.760591, "lon": -73.9929124}, {"type": "node", "id": 2709893337, "lat": 40.7605919, "lon": -73.9934895}, {"type": "node", "id": 2709893338, "lat": 40.7605936, "lon": -73.9931609}, {"type": "node", "id": 2709893339, "lat": 40.7606029, "lon": -73.9925949}, {"type": "node", "id": 2709893340, "lat": 40.7606078, "lon": -73.9928018}, {"type": "node", "id": 2709893341, "lat": 40.7606141, "lon": -73.9926915}, {"type": "node", "id": 2709893342, "lat": 40.7606173, "lon": -73.9935512}, {"type": "node", "id": 2709893343, "lat": 40.7606176, "lon": -73.9920668}, {"type": "node", "id": 2709893344, "lat": 40.7606233, "lon": -73.9931528}, {"type": "node", "id": 2709893346, "lat": 40.7606246, "lon": -73.9928093}, {"type": "node", "id": 2709893347, "lat": 40.7606255, "lon": -73.9932644}, {"type": "node", "id": 2709893349, "lat": 40.7606291, "lon": -73.9931669}, {"type": "node", "id": 2709893351, "lat": 40.7606321, "lon": -73.9932805}, {"type": "node", "id": 2709893353, "lat": 40.7606347, "lon": -73.9926767}, {"type": "node", "id": 2709893354, "lat": 40.7606391, "lon": -73.9928781}, {"type": "node", "id": 2709893356, "lat": 40.7606409, "lon": -73.9928739}, {"type": "node", "id": 2709893358, "lat": 40.7606449, "lon": -73.9936183}, {"type": "node", "id": 2709893360, "lat": 40.7606461, "lon": -73.9927689}, {"type": "node", "id": 2709893362, "lat": 40.760647, "lon": -73.9931359}, {"type": "node", "id": 2709893363, "lat": 40.7606489, "lon": -73.9928682}, {"type": "node", "id": 2709893365, "lat": 40.76065, "lon": -73.9932831}, {"type": "node", "id": 2709893366, "lat": 40.7606516, "lon": -73.9921489}, {"type": "node", "id": 2709893367, "lat": 40.7606546, "lon": -73.993114}, {"type": "node", "id": 2709893368, "lat": 40.7606571, "lon": -73.993242}, {"type": "node", "id": 2709893369, "lat": 40.7606578, "lon": -73.9927857}, {"type": "node", "id": 2709893374, "lat": 40.7606637, "lon": -73.9932579}, {"type": "node", "id": 2709893376, "lat": 40.760666, "lon": -73.9926543}, {"type": "node", "id": 2709893378, "lat": 40.7606699, "lon": -73.9936791}, {"type": "node", "id": 2709893380, "lat": 40.7606745, "lon": -73.9929556}, {"type": "node", "id": 2709893382, "lat": 40.7606748, "lon": -73.9926553}, {"type": "node", "id": 2709893384, "lat": 40.760675, "lon": -73.9933437}, {"type": "node", "id": 2709893386, "lat": 40.760682, "lon": -73.9928446}, {"type": "node", "id": 2709893388, "lat": 40.7606879, "lon": -73.9932407}, {"type": "node", "id": 2709893389, "lat": 40.7606971, "lon": -73.9930838}, {"type": "node", "id": 2709893391, "lat": 40.7606977, "lon": -73.9927319}, {"type": "node", "id": 2709893393, "lat": 40.7607021, "lon": -73.9927182}, {"type": "node", "id": 2709893395, "lat": 40.7607025, "lon": -73.9934107}, {"type": "node", "id": 2709893397, "lat": 40.7607029, "lon": -73.9932441}, {"type": "node", "id": 2709893399, "lat": 40.7607178, "lon": -73.992309}, {"type": "node", "id": 2709893401, "lat": 40.7607276, "lon": -73.993638}, {"type": "node", "id": 2709893403, "lat": 40.7607279, "lon": -73.9934725}, {"type": "node", "id": 2709893404, "lat": 40.7607344, "lon": -73.9936704}, {"type": "node", "id": 2709893406, "lat": 40.7607362, "lon": -73.9938404}, {"type": "node", "id": 2709893408, "lat": 40.7607367, "lon": -73.9936601}, {"type": "node", "id": 2709893410, "lat": 40.7607399, "lon": -73.9931146}, {"type": "node", "id": 2709893412, "lat": 40.7607473, "lon": -73.9936781}, {"type": "node", "id": 2709893414, "lat": 40.7607494, "lon": -73.993211}, {"type": "node", "id": 2709893416, "lat": 40.7607555, "lon": -73.9935396}, {"type": "node", "id": 2709893418, "lat": 40.7607576, "lon": -73.9925961}, {"type": "node", "id": 2709893419, "lat": 40.7607644, "lon": -73.9925839}, {"type": "node", "id": 2709893421, "lat": 40.7607782, "lon": -73.9937736}, {"type": "node", "id": 2709893423, "lat": 40.760779, "lon": -73.9937545}, {"type": "node", "id": 2709893425, "lat": 40.7607828, "lon": -73.9924661}, {"type": "node", "id": 2709893427, "lat": 40.7607838, "lon": -73.9926597}, {"type": "node", "id": 2709893429, "lat": 40.760787, "lon": -73.9937752}, {"type": "node", "id": 2709893431, "lat": 40.7607873, "lon": -73.992463}, {"type": "node", "id": 2709893433, "lat": 40.7607949, "lon": -73.992663}, {"type": "node", "id": 2709893434, "lat": 40.7607962, "lon": -73.9937977}, {"type": "node", "id": 2709893436, "lat": 40.7608007, "lon": -73.9937945}, {"type": "node", "id": 2709893438, "lat": 40.7608007, "lon": -73.993997}, {"type": "node", "id": 2709893440, "lat": 40.7608073, "lon": -73.9931671}, {"type": "node", "id": 2709893442, "lat": 40.7608088, "lon": -73.9935017}, {"type": "node", "id": 2709893444, "lat": 40.7608117, "lon": -73.9935782}, {"type": "node", "id": 2709893446, "lat": 40.7608171, "lon": -73.9938344}, {"type": "node", "id": 2709893448, "lat": 40.7608198, "lon": -73.9935284}, {"type": "node", "id": 2709893450, "lat": 40.7608207, "lon": -73.9925436}, {"type": "node", "id": 2709893452, "lat": 40.7608209, "lon": -73.9936004}, {"type": "node", "id": 2709893453, "lat": 40.7608277, "lon": -73.9940628}, {"type": "node", "id": 2709893454, "lat": 40.7608288, "lon": -73.9936201}, {"type": "node", "id": 2709893455, "lat": 40.7608299, "lon": -73.9936}, {"type": "node", "id": 2709893456, "lat": 40.7608366, "lon": -73.9932384}, {"type": "node", "id": 2709893457, "lat": 40.7608429, "lon": -73.9939138}, {"type": "node", "id": 2709893458, "lat": 40.7608439, "lon": -73.9932561}, {"type": "node", "id": 2709893459, "lat": 40.7608485, "lon": -73.993371}, {"type": "node", "id": 2709893460, "lat": 40.7608529, "lon": -73.9926215}, {"type": "node", "id": 2709893461, "lat": 40.7608591, "lon": -73.9936975}, {"type": "node", "id": 2709893462, "lat": 40.7608599, "lon": -73.9939549}, {"type": "node", "id": 2709893463, "lat": 40.7608631, "lon": -73.9931274}, {"type": "node", "id": 2709893464, "lat": 40.7608699, "lon": -73.9931439}, {"type": "node", "id": 2709893465, "lat": 40.7608719, "lon": -73.993716}, {"type": "node", "id": 2709893466, "lat": 40.7608727, "lon": -73.9933262}, {"type": "node", "id": 2709893467, "lat": 40.7608729, "lon": -73.9934306}, {"type": "node", "id": 2709893468, "lat": 40.7608736, "lon": -73.9930195}, {"type": "node", "id": 2709893470, "lat": 40.7608736, "lon": -73.9937024}, {"type": "node", "id": 2709893472, "lat": 40.7608764, "lon": -73.9937407}, {"type": "node", "id": 2709893474, "lat": 40.7608785, "lon": -73.9935307}, {"type": "node", "id": 2709893475, "lat": 40.7608808, "lon": -73.9937376}, {"type": "node", "id": 2709893477, "lat": 40.7608815, "lon": -73.9933475}, {"type": "node", "id": 2709893479, "lat": 40.7608838, "lon": -73.9927011}, {"type": "node", "id": 2709893481, "lat": 40.7608877, "lon": -73.9940319}, {"type": "node", "id": 2709893483, "lat": 40.7608897, "lon": -73.9931921}, {"type": "node", "id": 2709893485, "lat": 40.7608902, "lon": -73.9940183}, {"type": "node", "id": 2709893487, "lat": 40.7608924, "lon": -73.9931987}, {"type": "node", "id": 2709893488, "lat": 40.7608928, "lon": -73.9937805}, {"type": "node", "id": 2709893490, "lat": 40.7608933, "lon": -73.9940456}, {"type": "node", "id": 2709893492, "lat": 40.760894, "lon": -73.9940274}, {"type": "node", "id": 2709893494, "lat": 40.7608982, "lon": -73.9942342}, {"type": "node", "id": 2709893496, "lat": 40.7608997, "lon": -73.9932164}, {"type": "node", "id": 2709893498, "lat": 40.760903, "lon": -73.9932243}, {"type": "node", "id": 2709893500, "lat": 40.7609059, "lon": -73.9930978}, {"type": "node", "id": 2709893502, "lat": 40.7609124, "lon": -73.9931137}, {"type": "node", "id": 2709893503, "lat": 40.7609141, "lon": -73.9932968}, {"type": "node", "id": 2709893505, "lat": 40.7609174, "lon": -73.9927828}, {"type": "node", "id": 2709893507, "lat": 40.7609236, "lon": -73.9932729}, {"type": "node", "id": 2709893509, "lat": 40.7609291, "lon": -73.9932861}, {"type": "node", "id": 2709893516, "lat": 40.7609294, "lon": -73.9943099}, {"type": "node", "id": 2709893518, "lat": 40.7609296, "lon": -73.9933902}, {"type": "node", "id": 2709893520, "lat": 40.760932, "lon": -73.9930792}, {"type": "node", "id": 2709893521, "lat": 40.7609322, "lon": -73.9930552}, {"type": "node", "id": 2709893523, "lat": 40.7609326, "lon": -73.99385}, {"type": "node", "id": 2709893525, "lat": 40.7609329, "lon": -73.9931613}, {"type": "node", "id": 2709893527, "lat": 40.7609386, "lon": -73.9931751}, {"type": "node", "id": 2709893529, "lat": 40.7609439, "lon": -73.9930843}, {"type": "node", "id": 2709893531, "lat": 40.7609448, "lon": -73.993692}, {"type": "node", "id": 2709893532, "lat": 40.7609462, "lon": -73.9931936}, {"type": "node", "id": 2709893534, "lat": 40.7609468, "lon": -73.994171}, {"type": "node", "id": 2709893536, "lat": 40.7609473, "lon": -73.9933776}, {"type": "node", "id": 2709893538, "lat": 40.7609488, "lon": -73.9934367}, {"type": "node", "id": 2709893540, "lat": 40.7609495, "lon": -73.9938912}, {"type": "node", "id": 2709893542, "lat": 40.7609559, "lon": -73.9941931}, {"type": "node", "id": 2709893544, "lat": 40.7609562, "lon": -73.9930374}, {"type": "node", "id": 2709893545, "lat": 40.7609628, "lon": -73.9934707}, {"type": "node", "id": 2709893546, "lat": 40.7609659, "lon": -73.9931556}, {"type": "node", "id": 2709893547, "lat": 40.7609675, "lon": -73.993144}, {"type": "node", "id": 2709893548, "lat": 40.7609677, "lon": -73.9932415}, {"type": "node", "id": 2709893549, "lat": 40.7609682, "lon": -73.993067}, {"type": "node", "id": 2709893550, "lat": 40.7609696, "lon": -73.9932908}, {"type": "node", "id": 2709893552, "lat": 40.7609704, "lon": -73.9932578}, {"type": "node", "id": 2709893553, "lat": 40.760971, "lon": -73.9930515}, {"type": "node", "id": 2709893555, "lat": 40.7609735, "lon": -73.9932556}, {"type": "node", "id": 2709893557, "lat": 40.7609749, "lon": -73.9931619}, {"type": "node", "id": 2709893559, "lat": 40.7609796, "lon": -73.9933151}, {"type": "node", "id": 2709893561, "lat": 40.7609807, "lon": -73.9932829}, {"type": "node", "id": 2709893563, "lat": 40.7609817, "lon": -73.9939827}, {"type": "node", "id": 2709893565, "lat": 40.7609828, "lon": -73.9929418}, {"type": "node", "id": 2709893567, "lat": 40.7609834, "lon": -73.993867}, {"type": "node", "id": 2709893568, "lat": 40.7609883, "lon": -73.9929379}, {"type": "node", "id": 2709893570, "lat": 40.7609908, "lon": -73.9933072}, {"type": "node", "id": 2709893572, "lat": 40.7609928, "lon": -73.993126}, {"type": "node", "id": 2709893574, "lat": 40.7609981, "lon": -73.9932381}, {"type": "node", "id": 2709893576, "lat": 40.7609992, "lon": -73.9932231}, {"type": "node", "id": 2709893577, "lat": 40.7610002, "lon": -73.9931439}, {"type": "node", "id": 2709893578, "lat": 40.7610018, "lon": -73.9931287}, {"type": "node", "id": 2709893579, "lat": 40.7610033, "lon": -73.9933378}, {"type": "node", "id": 2709893580, "lat": 40.7610092, "lon": -73.9938487}, {"type": "node", "id": 2709893581, "lat": 40.7610103, "lon": -73.9937437}, {"type": "node", "id": 2709893582, "lat": 40.7610105, "lon": -73.9939328}, {"type": "node", "id": 2709893583, "lat": 40.7610199, "lon": -73.9939655}, {"type": "node", "id": 2709893584, "lat": 40.7610205, "lon": -73.9930162}, {"type": "node", "id": 2709893585, "lat": 40.7610256, "lon": -73.9932043}, {"type": "node", "id": 2709893586, "lat": 40.7610337, "lon": -73.9941092}, {"type": "node", "id": 2709893587, "lat": 40.7610367, "lon": -73.9932107}, {"type": "node", "id": 2709893588, "lat": 40.7610419, "lon": -73.9938205}, {"type": "node", "id": 2709893589, "lat": 40.7610521, "lon": -73.9930929}, {"type": "node", "id": 2709893591, "lat": 40.7610604, "lon": -73.9937081}, {"type": "node", "id": 2709893592, "lat": 40.7610779, "lon": -73.9941064}, {"type": "node", "id": 2709893595, "lat": 40.7610861, "lon": -73.9931755}, {"type": "node", "id": 2709893598, "lat": 40.761119, "lon": -73.9932555}, {"type": "node", "id": 2709893601, "lat": 40.7611292, "lon": -73.9937583}, {"type": "node", "id": 2709893604, "lat": 40.7611425, "lon": -73.9938782}, {"type": "node", "id": 2709893607, "lat": 40.7611497, "lon": -73.9938956}, {"type": "node", "id": 2709893610, "lat": 40.7611625, "lon": -73.9938391}, {"type": "node", "id": 2709893613, "lat": 40.7612093, "lon": -73.9938532}, {"type": "node", "id": 2709893617, "lat": 40.7612316, "lon": -73.9940949}, {"type": "node", "id": 2709893620, "lat": 40.7612497, "lon": -73.9935734}, {"type": "node", "id": 2709893622, "lat": 40.7612709, "lon": -73.9938094}, {"type": "node", "id": 2709893626, "lat": 40.7612813, "lon": -73.9936501}, {"type": "node", "id": 2709893628, "lat": 40.7612913, "lon": -73.9940524}, {"type": "node", "id": 2709893631, "lat": 40.7612941, "lon": -73.9940595}, {"type": "node", "id": 2709893634, "lat": 40.7613145, "lon": -73.9937309}, {"type": "node", "id": 2709893637, "lat": 40.7613379, "lon": -73.9937617}, {"type": "node", "id": 2709893640, "lat": 40.7613558, "lon": -73.9940156}, {"type": "node", "id": 2709893643, "lat": 40.7614228, "lon": -73.993968}, {"type": "node", "id": 2709897887, "lat": 40.7604936, "lon": -73.9913363}, {"type": "node", "id": 2709897889, "lat": 40.7605908, "lon": -73.9912645}, {"type": "node", "id": 2709897891, "lat": 40.760594, "lon": -73.9915716}, {"type": "node", "id": 2709897893, "lat": 40.7606079, "lon": -73.9915823}, {"type": "node", "id": 2709897896, "lat": 40.76064, "lon": -73.9912281}, {"type": "node", "id": 2709897898, "lat": 40.7606559, "lon": -73.991526}, {"type": "node", "id": 2709897899, "lat": 40.7606618, "lon": -73.9915398}, {"type": "node", "id": 2709897900, "lat": 40.7606705, "lon": -73.991729}, {"type": "node", "id": 2709897901, "lat": 40.760674, "lon": -73.9915335}, {"type": "node", "id": 2709897902, "lat": 40.7606923, "lon": -73.9915765}, {"type": "node", "id": 2709897903, "lat": 40.7606677, "lon": -73.9912082}, {"type": "node", "id": 2709897904, "lat": 40.7606972, "lon": -73.9915137}, {"type": "node", "id": 2709897905, "lat": 40.7606973, "lon": -73.9918131}, {"type": "node", "id": 2709897906, "lat": 40.7607224, "lon": -73.9916402}, {"type": "node", "id": 2709897907, "lat": 40.7607246, "lon": -73.9914262}, {"type": "node", "id": 2709897908, "lat": 40.7607288, "lon": -73.991887}, {"type": "node", "id": 2709897910, "lat": 40.7607306, "lon": -73.991154}, {"type": "node", "id": 2709897912, "lat": 40.760733, "lon": -73.9911595}, {"type": "node", "id": 2709897914, "lat": 40.7607388, "lon": -73.9916786}, {"type": "node", "id": 2709897916, "lat": 40.7607442, "lon": -73.9914828}, {"type": "node", "id": 2709897918, "lat": 40.7607465, "lon": -73.9914773}, {"type": "node", "id": 2709897920, "lat": 40.7607477, "lon": -73.9917758}, {"type": "node", "id": 2709897922, "lat": 40.7607585, "lon": -73.991801}, {"type": "node", "id": 2709897924, "lat": 40.7607622, "lon": -73.9915249}, {"type": "node", "id": 2709897926, "lat": 40.76077, "lon": -73.9917925}, {"type": "node", "id": 2709897928, "lat": 40.7607714, "lon": -73.9917847}, {"type": "node", "id": 2709897930, "lat": 40.7607525, "lon": -73.991406}, {"type": "node", "id": 2709897932, "lat": 40.7607891, "lon": -73.9915909}, {"type": "node", "id": 2709897934, "lat": 40.7608009, "lon": -73.991102}, {"type": "node", "id": 2709897935, "lat": 40.7608067, "lon": -73.991632}, {"type": "node", "id": 2709897937, "lat": 40.7608077, "lon": -73.9914359}, {"type": "node", "id": 2709897939, "lat": 40.7608137, "lon": -73.9913485}, {"type": "node", "id": 2709897941, "lat": 40.7608175, "lon": -73.9913574}, {"type": "node", "id": 2709897943, "lat": 40.760825, "lon": -73.9921269}, {"type": "node", "id": 2709897945, "lat": 40.7608264, "lon": -73.9913392}, {"type": "node", "id": 2709897947, "lat": 40.7608298, "lon": -73.9921234}, {"type": "node", "id": 2709897949, "lat": 40.760835, "lon": -73.9913593}, {"type": "node", "id": 2709897951, "lat": 40.7608579, "lon": -73.992204}, {"type": "node", "id": 2709897953, "lat": 40.7608661, "lon": -73.9910539}, {"type": "node", "id": 2709897955, "lat": 40.7608662, "lon": -73.9913098}, {"type": "node", "id": 2709897957, "lat": 40.7608711, "lon": -73.9915844}, {"type": "node", "id": 2709897959, "lat": 40.7608723, "lon": -73.9913816}, {"type": "node", "id": 2709897961, "lat": 40.7608748, "lon": -73.9913298}, {"type": "node", "id": 2709897962, "lat": 40.7608812, "lon": -73.99129}, {"type": "node", "id": 2709897965, "lat": 40.760884, "lon": -73.9912966}, {"type": "node", "id": 2709897967, "lat": 40.7608914, "lon": -73.9922825}, {"type": "node", "id": 2709897974, "lat": 40.7608945, "lon": -73.9912802}, {"type": "node", "id": 2709897976, "lat": 40.7608971, "lon": -73.9914395}, {"type": "node", "id": 2709897979, "lat": 40.7609036, "lon": -73.9913014}, {"type": "node", "id": 2709897981, "lat": 40.7609092, "lon": -73.9914721}, {"type": "node", "id": 2709897982, "lat": 40.7609148, "lon": -73.9916788}, {"type": "node", "id": 2709897985, "lat": 40.7609223, "lon": -73.9910124}, {"type": "node", "id": 2709897986, "lat": 40.7609249, "lon": -73.992361}, {"type": "node", "id": 2709897988, "lat": 40.7609337, "lon": -73.9915294}, {"type": "node", "id": 2709897990, "lat": 40.7609367, "lon": -73.9912491}, {"type": "node", "id": 2709897992, "lat": 40.7609378, "lon": -73.9917326}, {"type": "node", "id": 2709897994, "lat": 40.7609383, "lon": -73.991526}, {"type": "node", "id": 2709897996, "lat": 40.7609392, "lon": -73.9913322}, {"type": "node", "id": 2709897998, "lat": 40.7609414, "lon": -73.9913178}, {"type": "node", "id": 2709898000, "lat": 40.7609441, "lon": -73.9921403}, {"type": "node", "id": 2709898002, "lat": 40.7609457, "lon": -73.9912703}, {"type": "node", "id": 2709898004, "lat": 40.7609464, "lon": -73.9912419}, {"type": "node", "id": 2709898005, "lat": 40.7609511, "lon": -73.9921567}, {"type": "node", "id": 2709898006, "lat": 40.7609584, "lon": -73.9924395}, {"type": "node", "id": 2709898007, "lat": 40.7609594, "lon": -73.992129}, {"type": "node", "id": 2709898008, "lat": 40.760961, "lon": -73.9913923}, {"type": "node", "id": 2709898009, "lat": 40.7609612, "lon": -73.9912767}, {"type": "node", "id": 2709898010, "lat": 40.7609664, "lon": -73.9921454}, {"type": "node", "id": 2709898011, "lat": 40.7609672, "lon": -73.9917109}, {"type": "node", "id": 2709898012, "lat": 40.7609704, "lon": -73.9916013}, {"type": "node", "id": 2709898013, "lat": 40.7609705, "lon": -73.9920195}, {"type": "node", "id": 2709898014, "lat": 40.7609742, "lon": -73.9913989}, {"type": "node", "id": 2709898015, "lat": 40.760975, "lon": -73.9912664}, {"type": "node", "id": 2709898016, "lat": 40.7609753, "lon": -73.9909733}, {"type": "node", "id": 2709898017, "lat": 40.7609769, "lon": -73.9920345}, {"type": "node", "id": 2709898018, "lat": 40.7609776, "lon": -73.9922188}, {"type": "node", "id": 2709898019, "lat": 40.7609836, "lon": -73.9912866}, {"type": "node", "id": 2709898020, "lat": 40.7609846, "lon": -73.9922352}, {"type": "node", "id": 2709898021, "lat": 40.7609909, "lon": -73.9912813}, {"type": "node", "id": 2709898022, "lat": 40.760992, "lon": -73.992518}, {"type": "node", "id": 2709898023, "lat": 40.7609929, "lon": -73.9922075}, {"type": "node", "id": 2709898024, "lat": 40.7609965, "lon": -73.9912944}, {"type": "node", "id": 2709898025, "lat": 40.7609967, "lon": -73.9920752}, {"type": "node", "id": 2709898026, "lat": 40.7609999, "lon": -73.9922239}, {"type": "node", "id": 2709898028, "lat": 40.7610027, "lon": -73.9916884}, {"type": "node", "id": 2709898030, "lat": 40.7610043, "lon": -73.9914773}, {"type": "node", "id": 2709898032, "lat": 40.7610052, "lon": -73.9920952}, {"type": "node", "id": 2709898034, "lat": 40.7610079, "lon": -73.9920245}, {"type": "node", "id": 2709898036, "lat": 40.7610101, "lon": -73.9912671}, {"type": "node", "id": 2709898038, "lat": 40.7610105, "lon": -73.9920097}, {"type": "node", "id": 2709898040, "lat": 40.7610112, "lon": -73.9922973}, {"type": "node", "id": 2709898042, "lat": 40.7610147, "lon": -73.9920195}, {"type": "node", "id": 2709898044, "lat": 40.7610157, "lon": -73.9912802}, {"type": "node", "id": 2709898046, "lat": 40.7610159, "lon": -73.9915046}, {"type": "node", "id": 2709898048, "lat": 40.7610182, "lon": -73.9923137}, {"type": "node", "id": 2709898051, "lat": 40.7610188, "lon": -73.9913466}, {"type": "node", "id": 2709898053, "lat": 40.7610217, "lon": -73.9920568}, {"type": "node", "id": 2709898055, "lat": 40.7610239, "lon": -73.9914627}, {"type": "node", "id": 2709898057, "lat": 40.7610251, "lon": -73.9913613}, {"type": "node", "id": 2709898059, "lat": 40.7610255, "lon": -73.9925965}, {"type": "node", "id": 2709898061, "lat": 40.761026, "lon": -73.9912553}, {"type": "node", "id": 2709898063, "lat": 40.7610264, "lon": -73.992286}, {"type": "node", "id": 2709898065, "lat": 40.7610278, "lon": -73.9915732}, {"type": "node", "id": 2709898068, "lat": 40.7610334, "lon": -73.9923024}, {"type": "node", "id": 2709898070, "lat": 40.7610348, "lon": -73.9917635}, {"type": "node", "id": 2709898072, "lat": 40.7610356, "lon": -73.9914901}, {"type": "node", "id": 2709898074, "lat": 40.7610372, "lon": -73.991333}, {"type": "node", "id": 2709898076, "lat": 40.7610383, "lon": -73.9918649}, {"type": "node", "id": 2709898078, "lat": 40.7610421, "lon": -73.9920679}, {"type": "node", "id": 2709898080, "lat": 40.7610433, "lon": -73.9913472}, {"type": "node", "id": 2709898082, "lat": 40.7610447, "lon": -73.9923758}, {"type": "node", "id": 2709898085, "lat": 40.7610517, "lon": -73.9923922}, {"type": "node", "id": 2709898087, "lat": 40.7610542, "lon": -73.991365}, {"type": "node", "id": 2709898089, "lat": 40.7610545, "lon": -73.9916359}, {"type": "node", "id": 2709898091, "lat": 40.7610582, "lon": -73.9926731}, {"type": "node", "id": 2709898093, "lat": 40.7610583, "lon": -73.9913745}, {"type": "node", "id": 2709898095, "lat": 40.7610599, "lon": -73.9923645}, {"type": "node", "id": 2709898097, "lat": 40.761061, "lon": -73.9913341}, {"type": "node", "id": 2709898100, "lat": 40.7610614, "lon": -73.9915341}, {"type": "node", "id": 2709898102, "lat": 40.7610654, "lon": -73.9917651}, {"type": "node", "id": 2709898104, "lat": 40.761066, "lon": -73.9915449}, {"type": "node", "id": 2709898106, "lat": 40.7610669, "lon": -73.9923809}, {"type": "node", "id": 2709898109, "lat": 40.7610681, "lon": -73.9919473}, {"type": "node", "id": 2709898111, "lat": 40.7610709, "lon": -73.9919412}, {"type": "node", "id": 2709898117, "lat": 40.7610735, "lon": -73.9913633}, {"type": "node", "id": 2709898118, "lat": 40.7610735, "lon": -73.991735}, {"type": "node", "id": 2709898119, "lat": 40.761074, "lon": -73.9914258}, {"type": "node", "id": 2709898120, "lat": 40.7610756, "lon": -73.9921464}, {"type": "node", "id": 2709898121, "lat": 40.761079, "lon": -73.9912162}, {"type": "node", "id": 2709898122, "lat": 40.7610813, "lon": -73.9917533}, {"type": "node", "id": 2709898123, "lat": 40.7610825, "lon": -73.9914195}, {"type": "node", "id": 2709898124, "lat": 40.7610825, "lon": -73.991805}, {"type": "node", "id": 2709898125, "lat": 40.7610842, "lon": -73.9914496}, {"type": "node", "id": 2709898126, "lat": 40.7610868, "lon": -73.9927401}, {"type": "node", "id": 2709898127, "lat": 40.7610918, "lon": -73.9916083}, {"type": "node", "id": 2709898128, "lat": 40.7610921, "lon": -73.991689}, {"type": "node", "id": 2709898130, "lat": 40.7610927, "lon": -73.9914434}, {"type": "node", "id": 2709898132, "lat": 40.7610965, "lon": -73.9916191}, {"type": "node", "id": 2709898134, "lat": 40.7610984, "lon": -73.9917932}, {"type": "node", "id": 2709898136, "lat": 40.7611012, "lon": -73.9914949}, {"type": "node", "id": 2709898138, "lat": 40.7611026, "lon": -73.9917135}, {"type": "node", "id": 2709898139, "lat": 40.7611036, "lon": -73.9918166}, {"type": "node", "id": 2709898141, "lat": 40.7611068, "lon": -73.9920253}, {"type": "node", "id": 2709898144, "lat": 40.7611073, "lon": -73.9918142}, {"type": "node", "id": 2709898145, "lat": 40.761109, "lon": -73.9915132}, {"type": "node", "id": 2709898147, "lat": 40.7611091, "lon": -73.9922249}, {"type": "node", "id": 2709898150, "lat": 40.7611111, "lon": -73.991675}, {"type": "node", "id": 2709898152, "lat": 40.7611116, "lon": -73.9914872}, {"type": "node", "id": 2709898154, "lat": 40.761113, "lon": -73.9912957}, {"type": "node", "id": 2709898156, "lat": 40.7611194, "lon": -73.9915055}, {"type": "node", "id": 2709898158, "lat": 40.7611215, "lon": -73.9916995}, {"type": "node", "id": 2709898160, "lat": 40.7611283, "lon": -73.9918988}, {"type": "node", "id": 2709898163, "lat": 40.7611361, "lon": -73.9915756}, {"type": "node", "id": 2709898165, "lat": 40.7611362, "lon": -73.991893}, {"type": "node", "id": 2709898167, "lat": 40.7611393, "lon": -73.9921017}, {"type": "node", "id": 2709898169, "lat": 40.7611426, "lon": -73.9923034}, {"type": "node", "id": 2709898171, "lat": 40.7611445, "lon": -73.9919974}, {"type": "node", "id": 2709898173, "lat": 40.761145, "lon": -73.9915965}, {"type": "node", "id": 2709898175, "lat": 40.7611454, "lon": -73.9915687}, {"type": "node", "id": 2709898177, "lat": 40.7611458, "lon": -73.9913727}, {"type": "node", "id": 2709898179, "lat": 40.7611543, "lon": -73.9915896}, {"type": "node", "id": 2709898181, "lat": 40.7611558, "lon": -73.9917783}, {"type": "node", "id": 2709898182, "lat": 40.7611624, "lon": -73.9916398}, {"type": "node", "id": 2709898184, "lat": 40.7611642, "lon": -73.9919829}, {"type": "node", "id": 2709898186, "lat": 40.7611704, "lon": -73.9920702}, {"type": "node", "id": 2709898188, "lat": 40.7611713, "lon": -73.9921767}, {"type": "node", "id": 2709898190, "lat": 40.761172, "lon": -73.9916623}, {"type": "node", "id": 2709898192, "lat": 40.7611726, "lon": -73.9916323}, {"type": "node", "id": 2709898195, "lat": 40.7611731, "lon": -73.9920767}, {"type": "node", "id": 2709898197, "lat": 40.7611743, "lon": -73.9920673}, {"type": "node", "id": 2709898199, "lat": 40.7611762, "lon": -73.9923819}, {"type": "node", "id": 2709898201, "lat": 40.7611821, "lon": -73.9916547}, {"type": "node", "id": 2709898203, "lat": 40.7611826, "lon": -73.9914588}, {"type": "node", "id": 2709898205, "lat": 40.7611832, "lon": -73.9918613}, {"type": "node", "id": 2709898207, "lat": 40.761186, "lon": -73.991868}, {"type": "node", "id": 2709898209, "lat": 40.7611893, "lon": -73.9918567}, {"type": "node", "id": 2709898211, "lat": 40.7611919, "lon": -73.9918636}, {"type": "node", "id": 2709898213, "lat": 40.7611982, "lon": -73.9920582}, {"type": "node", "id": 2709898214, "lat": 40.7612014, "lon": -73.9924666}, {"type": "node", "id": 2709898216, "lat": 40.7612054, "lon": -73.9922565}, {"type": "node", "id": 2709898218, "lat": 40.7612094, "lon": -73.9915215}, {"type": "node", "id": 2709898221, "lat": 40.7612097, "lon": -73.9924604}, {"type": "node", "id": 2709898223, "lat": 40.7612121, "lon": -73.9919475}, {"type": "node", "id": 2709898224, "lat": 40.7612184, "lon": -73.9919623}, {"type": "node", "id": 2709898227, "lat": 40.761224, "lon": -73.9919387}, {"type": "node", "id": 2709898228, "lat": 40.761227, "lon": -73.9930712}, {"type": "node", "id": 2709898229, "lat": 40.7612303, "lon": -73.9919535}, {"type": "node", "id": 2709898230, "lat": 40.7612303, "lon": -73.9921332}, {"type": "node", "id": 2709898231, "lat": 40.761235, "lon": -73.9925452}, {"type": "node", "id": 2709898232, "lat": 40.7612374, "lon": -73.9920096}, {"type": "node", "id": 2709898233, "lat": 40.7612438, "lon": -73.9920245}, {"type": "node", "id": 2709898234, "lat": 40.7612461, "lon": -73.9916075}, {"type": "node", "id": 2709898235, "lat": 40.7612464, "lon": -73.9921212}, {"type": "node", "id": 2709898236, "lat": 40.7612482, "lon": -73.9920017}, {"type": "node", "id": 2709898237, "lat": 40.7612545, "lon": -73.9920165}, {"type": "node", "id": 2709898238, "lat": 40.7612605, "lon": -73.9931495}, {"type": "node", "id": 2709898239, "lat": 40.7612627, "lon": -73.9926101}, {"type": "node", "id": 2709898240, "lat": 40.7612737, "lon": -73.9922072}, {"type": "node", "id": 2709898242, "lat": 40.7612743, "lon": -73.9920019}, {"type": "node", "id": 2709898244, "lat": 40.7612799, "lon": -73.9916867}, {"type": "node", "id": 2709898246, "lat": 40.7612805, "lon": -73.9922011}, {"type": "node", "id": 2709898255, "lat": 40.7612826, "lon": -73.9931331}, {"type": "node", "id": 2709898257, "lat": 40.7612943, "lon": -73.9931743}, {"type": "node", "id": 2709898259, "lat": 40.7612988, "lon": -73.993171}, {"type": "node", "id": 2709898261, "lat": 40.7613049, "lon": -73.99322}, {"type": "node", "id": 2709898263, "lat": 40.7613068, "lon": -73.9922853}, {"type": "node", "id": 2709898266, "lat": 40.7613076, "lon": -73.9920798}, {"type": "node", "id": 2709898268, "lat": 40.7613117, "lon": -73.993215}, {"type": "node", "id": 2709898269, "lat": 40.7613134, "lon": -73.9917651}, {"type": "node", "id": 2709898272, "lat": 40.7613142, "lon": -73.9922799}, {"type": "node", "id": 2709898273, "lat": 40.7613291, "lon": -73.9932768}, {"type": "node", "id": 2709898274, "lat": 40.7613334, "lon": -73.9921394}, {"type": "node", "id": 2709898276, "lat": 40.761337, "lon": -73.9932709}, {"type": "node", "id": 2709898278, "lat": 40.7613432, "lon": -73.9918507}, {"type": "node", "id": 2709898280, "lat": 40.7613479, "lon": -73.9923596}, {"type": "node", "id": 2709898282, "lat": 40.7613483, "lon": -73.9918469}, {"type": "node", "id": 2709898285, "lat": 40.7613544, "lon": -73.9933117}, {"type": "node", "id": 2709898288, "lat": 40.7613578, "lon": -73.9933092}, {"type": "node", "id": 2709898291, "lat": 40.7613737, "lon": -73.9933464}, {"type": "node", "id": 2709898293, "lat": 40.7613758, "lon": -73.9919269}, {"type": "node", "id": 2709898297, "lat": 40.7613809, "lon": -73.9919231}, {"type": "node", "id": 2709898300, "lat": 40.7613816, "lon": -73.9924393}, {"type": "node", "id": 2709898303, "lat": 40.7613912, "lon": -73.9934651}, {"type": "node", "id": 2709898306, "lat": 40.7614142, "lon": -73.992001}, {"type": "node", "id": 2709898308, "lat": 40.7614153, "lon": -73.992519}, {"type": "node", "id": 2709898311, "lat": 40.7614174, "lon": -73.9930336}, {"type": "node", "id": 2709898314, "lat": 40.761437, "lon": -73.9930794}, {"type": "node", "id": 2709898316, "lat": 40.7614397, "lon": -73.9920608}, {"type": "node", "id": 2709898318, "lat": 40.7614476, "lon": -73.9930715}, {"type": "node", "id": 2709898321, "lat": 40.7614478, "lon": -73.9920798}, {"type": "node", "id": 2709898324, "lat": 40.761458, "lon": -73.9929006}, {"type": "node", "id": 2709898327, "lat": 40.7614648, "lon": -73.9929164}, {"type": "node", "id": 2709898331, "lat": 40.7614688, "lon": -73.992926}, {"type": "node", "id": 2709898334, "lat": 40.7614697, "lon": -73.9929128}, {"type": "node", "id": 2709898336, "lat": 40.7614737, "lon": -73.9929223}, {"type": "node", "id": 2709898339, "lat": 40.7614809, "lon": -73.9921579}, {"type": "node", "id": 2709898342, "lat": 40.7614914, "lon": -73.9929789}, {"type": "node", "id": 2709898345, "lat": 40.7614919, "lon": -73.9932042}, {"type": "node", "id": 2709898348, "lat": 40.7615013, "lon": -73.9931973}, {"type": "node", "id": 2709898351, "lat": 40.7615097, "lon": -73.993246}, {"type": "node", "id": 2709898354, "lat": 40.7615146, "lon": -73.9922376}, {"type": "node", "id": 2709898357, "lat": 40.7615315, "lon": -73.9934669}, {"type": "node", "id": 2709898360, "lat": 40.7615466, "lon": -73.9935022}, {"type": "node", "id": 2709898363, "lat": 40.7615483, "lon": -73.9923173}, {"type": "node", "id": 2709898366, "lat": 40.7615565, "lon": -73.9935271}, {"type": "node", "id": 2709898369, "lat": 40.7615567, "lon": -73.9928308}, {"type": "node", "id": 2709898371, "lat": 40.761559, "lon": -73.9938581}, {"type": "node", "id": 2709898373, "lat": 40.7615735, "lon": -73.9934823}, {"type": "node", "id": 2709898376, "lat": 40.761582, "lon": -73.992397}, {"type": "node", "id": 2709898378, "lat": 40.7615839, "lon": -73.9935069}, {"type": "node", "id": 2709898380, "lat": 40.7615852, "lon": -73.9935943}, {"type": "node", "id": 2709898382, "lat": 40.7615888, "lon": -73.9929061}, {"type": "node", "id": 2709898384, "lat": 40.7615899, "lon": -73.9929053}, {"type": "node", "id": 2709898386, "lat": 40.7616249, "lon": -73.9932925}, {"type": "node", "id": 2709898389, "lat": 40.7616353, "lon": -73.9933171}, {"type": "node", "id": 2709898391, "lat": 40.7616501, "lon": -73.9931731}, {"type": "node", "id": 2709898392, "lat": 40.7616601, "lon": -73.9933507}, {"type": "node", "id": 2709898393, "lat": 40.7616644, "lon": -73.9932065}, {"type": "node", "id": 2709898394, "lat": 40.7616645, "lon": -73.9937801}, {"type": "node", "id": 2709898395, "lat": 40.761667, "lon": -73.9933669}, {"type": "node", "id": 2709898397, "lat": 40.7616678, "lon": -73.99316}, {"type": "node", "id": 2709898399, "lat": 40.7616684, "lon": -73.9933445}, {"type": "node", "id": 2709898401, "lat": 40.7616801, "lon": -73.9931949}, {"type": "node", "id": 2709898403, "lat": 40.7616928, "lon": -73.9932248}, {"type": "node", "id": 2709898405, "lat": 40.7616932, "lon": -73.9933564}, {"type": "node", "id": 2709898409, "lat": 40.7616982, "lon": -73.9933527}, {"type": "node", "id": 2709898411, "lat": 40.7617089, "lon": -73.9927184}, {"type": "node", "id": 2709898413, "lat": 40.761711, "lon": -73.9933452}, {"type": "node", "id": 2709898425, "lat": 40.761741, "lon": -73.9927937}, {"type": "node", "id": 2709898427, "lat": 40.7617431, "lon": -73.9934735}, {"type": "node", "id": 2709898437, "lat": 40.7617858, "lon": -73.9932807}, {"type": "node", "id": 2709898439, "lat": 40.7617888, "lon": -73.9932877}, {"type": "node", "id": 2709898440, "lat": 40.761797, "lon": -73.9932724}, {"type": "node", "id": 2709898443, "lat": 40.7618, "lon": -73.9932794}, {"type": "node", "id": 2709898445, "lat": 40.7618047, "lon": -73.9931422}, {"type": "node", "id": 2709898448, "lat": 40.7618182, "lon": -73.993418}, {"type": "node", "id": 2709898450, "lat": 40.7618202, "lon": -73.9934226}, {"type": "node", "id": 2709898454, "lat": 40.7618424, "lon": -73.9930311}, {"type": "node", "id": 2709898456, "lat": 40.7618481, "lon": -73.9932439}, {"type": "node", "id": 2709898458, "lat": 40.7618641, "lon": -73.9933902}, {"type": "node", "id": 2709898460, "lat": 40.7619137, "lon": -73.9933535}, {"type": "node", "id": 2709898462, "lat": 40.761934, "lon": -73.9933325}, {"type": "node", "id": 2709898464, "lat": 40.761936, "lon": -73.9933371}, {"type": "node", "id": 2709898472, "lat": 40.7619622, "lon": -73.9933116}, {"type": "node", "id": 2709906367, "lat": 40.7601839, "lon": -73.9886075}, {"type": "node", "id": 2709906368, "lat": 40.7602063, "lon": -73.9886752}, {"type": "node", "id": 2709906369, "lat": 40.760211, "lon": -73.9886718}, {"type": "node", "id": 2709906371, "lat": 40.7602321, "lon": -73.9887365}, {"type": "node", "id": 2709906373, "lat": 40.7602594, "lon": -73.9888012}, {"type": "node", "id": 2709906375, "lat": 40.7602855, "lon": -73.9877725}, {"type": "node", "id": 2709906377, "lat": 40.7602866, "lon": -73.9888657}, {"type": "node", "id": 2709906378, "lat": 40.7603032, "lon": -73.9885206}, {"type": "node", "id": 2709906380, "lat": 40.7603043, "lon": -73.9885232}, {"type": "node", "id": 2709906382, "lat": 40.7603131, "lon": -73.9889287}, {"type": "node", "id": 2709906384, "lat": 40.7603215, "lon": -73.987858}, {"type": "node", "id": 2709906386, "lat": 40.7603327, "lon": -73.9878499}, {"type": "node", "id": 2709906387, "lat": 40.7603331, "lon": -73.9878855}, {"type": "node", "id": 2709906389, "lat": 40.7603356, "lon": -73.9889821}, {"type": "node", "id": 2709906391, "lat": 40.7603443, "lon": -73.9878774}, {"type": "node", "id": 2709906393, "lat": 40.7603456, "lon": -73.9877287}, {"type": "node", "id": 2709906395, "lat": 40.7603561, "lon": -73.9886462}, {"type": "node", "id": 2709906397, "lat": 40.7603614, "lon": -73.9890433}, {"type": "node", "id": 2709906399, "lat": 40.7603697, "lon": -73.9878229}, {"type": "node", "id": 2709906400, "lat": 40.7603725, "lon": -73.9881216}, {"type": "node", "id": 2709906401, "lat": 40.7603813, "lon": -73.9878504}, {"type": "node", "id": 2709906402, "lat": 40.7603816, "lon": -73.9878142}, {"type": "node", "id": 2709906403, "lat": 40.7603834, "lon": -73.9887109}, {"type": "node", "id": 2709906404, "lat": 40.7603932, "lon": -73.9878417}, {"type": "node", "id": 2709906405, "lat": 40.7604035, "lon": -73.9876865}, {"type": "node", "id": 2709906407, "lat": 40.7604035, "lon": -73.9884509}, {"type": "node", "id": 2709906408, "lat": 40.7604046, "lon": -73.9884865}, {"type": "node", "id": 2709906410, "lat": 40.7604049, "lon": -73.9881989}, {"type": "node", "id": 2709906412, "lat": 40.7604105, "lon": -73.9887754}, {"type": "node", "id": 2709906414, "lat": 40.760415, "lon": -73.9886033}, {"type": "node", "id": 2709906416, "lat": 40.7604152, "lon": -73.9884788}, {"type": "node", "id": 2709906418, "lat": 40.7604177, "lon": -73.9879221}, {"type": "node", "id": 2709906420, "lat": 40.7604181, "lon": -73.9881986}, {"type": "node", "id": 2709906421, "lat": 40.7604184, "lon": -73.9880881}, {"type": "node", "id": 2709906423, "lat": 40.7604189, "lon": -73.9885204}, {"type": "node", "id": 2709906425, "lat": 40.7604193, "lon": -73.9879038}, {"type": "node", "id": 2709906427, "lat": 40.7604293, "lon": -73.9886372}, {"type": "node", "id": 2709906429, "lat": 40.7604359, "lon": -73.9882822}, {"type": "node", "id": 2709906431, "lat": 40.760437, "lon": -73.9885072}, {"type": "node", "id": 2709906432, "lat": 40.7604371, "lon": -73.9888384}, {"type": "node", "id": 2709906434, "lat": 40.7604472, "lon": -73.9880082}, {"type": "node", "id": 2709906436, "lat": 40.7604524, "lon": -73.9880044}, {"type": "node", "id": 2709906443, "lat": 40.7604596, "lon": -73.9888918}, {"type": "node", "id": 2709906445, "lat": 40.7604601, "lon": -73.9881681}, {"type": "node", "id": 2709906448, "lat": 40.7604628, "lon": -73.9885684}, {"type": "node", "id": 2709906450, "lat": 40.7604637, "lon": -73.9882504}, {"type": "node", "id": 2709906452, "lat": 40.7604647, "lon": -73.9881552}, {"type": "node", "id": 2709906454, "lat": 40.7604662, "lon": -73.9880533}, {"type": "node", "id": 2709906456, "lat": 40.7604726, "lon": -73.9880303}, {"type": "node", "id": 2709906458, "lat": 40.7604737, "lon": -73.9886049}, {"type": "node", "id": 2709906460, "lat": 40.7604853, "lon": -73.988953}, {"type": "node", "id": 2709906461, "lat": 40.7604866, "lon": -73.9886357}, {"type": "node", "id": 2709906463, "lat": 40.7604874, "lon": -73.9880378}, {"type": "node", "id": 2709906465, "lat": 40.760505, "lon": -73.9882203}, {"type": "node", "id": 2709906467, "lat": 40.760514, "lon": -73.9882254}, {"type": "node", "id": 2709906469, "lat": 40.7605188, "lon": -73.9894289}, {"type": "node", "id": 2709906471, "lat": 40.760521, "lon": -73.9886306}, {"type": "node", "id": 2709906473, "lat": 40.7605339, "lon": -73.9887254}, {"type": "node", "id": 2709906474, "lat": 40.7605364, "lon": -73.988002}, {"type": "node", "id": 2709906476, "lat": 40.760545, "lon": -73.989491}, {"type": "node", "id": 2709906478, "lat": 40.7605546, "lon": -73.9887103}, {"type": "node", "id": 2709906480, "lat": 40.7605608, "lon": -73.9887894}, {"type": "node", "id": 2709906481, "lat": 40.7605633, "lon": -73.9885997}, {"type": "node", "id": 2709906482, "lat": 40.7605677, "lon": -73.9885951}, {"type": "node", "id": 2709906483, "lat": 40.7605688, "lon": -73.9880793}, {"type": "node", "id": 2709906484, "lat": 40.7605712, "lon": -73.9895532}, {"type": "node", "id": 2709906485, "lat": 40.7605754, "lon": -73.9886952}, {"type": "node", "id": 2709906486, "lat": 40.7605775, "lon": -73.9885986}, {"type": "node", "id": 2709906487, "lat": 40.7605925, "lon": -73.9881682}, {"type": "node", "id": 2709906488, "lat": 40.7605974, "lon": -73.9896154}, {"type": "node", "id": 2709906489, "lat": 40.760598, "lon": -73.9886787}, {"type": "node", "id": 2709906490, "lat": 40.7606023, "lon": -73.9887591}, {"type": "node", "id": 2709906491, "lat": 40.7606025, "lon": -73.9886664}, {"type": "node", "id": 2709906492, "lat": 40.7606031, "lon": -73.9881604}, {"type": "node", "id": 2709906493, "lat": 40.7606071, "lon": -73.9885771}, {"type": "node", "id": 2709906494, "lat": 40.7606119, "lon": -73.9885886}, {"type": "node", "id": 2709906495, "lat": 40.7606235, "lon": -73.9896776}, {"type": "node", "id": 2709906496, "lat": 40.7606293, "lon": -73.9886295}, {"type": "node", "id": 2709906497, "lat": 40.7606329, "lon": -73.9888813}, {"type": "node", "id": 2709906498, "lat": 40.7606349, "lon": -73.9886428}, {"type": "node", "id": 2709906499, "lat": 40.7606368, "lon": -73.9885554}, {"type": "node", "id": 2709906500, "lat": 40.7606417, "lon": -73.9885669}, {"type": "node", "id": 2709906501, "lat": 40.7606456, "lon": -73.9889229}, {"type": "node", "id": 2709906502, "lat": 40.7606456, "lon": -73.9893365}, {"type": "node", "id": 2709906504, "lat": 40.7606482, "lon": -73.9889291}, {"type": "node", "id": 2709906506, "lat": 40.7606491, "lon": -73.9886402}, {"type": "node", "id": 2709906508, "lat": 40.7606493, "lon": -73.9889202}, {"type": "node", "id": 2709906509, "lat": 40.7606544, "lon": -73.9887388}, {"type": "node", "id": 2709906511, "lat": 40.7606577, "lon": -73.9886088}, {"type": "node", "id": 2709906513, "lat": 40.7606606, "lon": -73.9889449}, {"type": "node", "id": 2709906515, "lat": 40.760662, "lon": -73.9888601}, {"type": "node", "id": 2709906517, "lat": 40.7606629, "lon": -73.9886212}, {"type": "node", "id": 2709906519, "lat": 40.7606644, "lon": -73.9888657}, {"type": "node", "id": 2709906521, "lat": 40.7606717, "lon": -73.9893987}, {"type": "node", "id": 2709906522, "lat": 40.7606751, "lon": -73.9898}, {"type": "node", "id": 2709906524, "lat": 40.7606821, "lon": -73.9887186}, {"type": "node", "id": 2709906526, "lat": 40.7606884, "lon": -73.9885179}, {"type": "node", "id": 2709906528, "lat": 40.7606885, "lon": -73.9888482}, {"type": "node", "id": 2709906530, "lat": 40.7606889, "lon": -73.9890121}, {"type": "node", "id": 2709906532, "lat": 40.7606952, "lon": -73.9888357}, {"type": "node", "id": 2709906533, "lat": 40.7606956, "lon": -73.9885019}, {"type": "node", "id": 2709906535, "lat": 40.7606979, "lon": -73.9894609}, {"type": "node", "id": 2709906537, "lat": 40.7607008, "lon": -73.9898611}, {"type": "node", "id": 2709906539, "lat": 40.7607055, "lon": -73.9888874}, {"type": "node", "id": 2709906541, "lat": 40.7607111, "lon": -73.9889082}, {"type": "node", "id": 2709906543, "lat": 40.7607139, "lon": -73.9885841}, {"type": "node", "id": 2709906545, "lat": 40.760714, "lon": -73.9888938}, {"type": "node", "id": 2709906546, "lat": 40.7607163, "lon": -73.9890271}, {"type": "node", "id": 2709906548, "lat": 40.7607242, "lon": -73.988481}, {"type": "node", "id": 2709906550, "lat": 40.760726, "lon": -73.9885842}, {"type": "node", "id": 2709906552, "lat": 40.7607286, "lon": -73.9899271}, {"type": "node", "id": 2709906554, "lat": 40.7607375, "lon": -73.9884714}, {"type": "node", "id": 2709906556, "lat": 40.7607424, "lon": -73.989089}, {"type": "node", "id": 2709906558, "lat": 40.760743, "lon": -73.9889727}, {"type": "node", "id": 2709906560, "lat": 40.7607495, "lon": -73.9899767}, {"type": "node", "id": 2709906561, "lat": 40.7607528, "lon": -73.9891137}, {"type": "node", "id": 2709906563, "lat": 40.7607569, "lon": -73.9889796}, {"type": "node", "id": 2709906565, "lat": 40.7607627, "lon": -73.9889933}, {"type": "node", "id": 2709906567, "lat": 40.7607711, "lon": -73.9885513}, {"type": "node", "id": 2709906569, "lat": 40.7607715, "lon": -73.9900288}, {"type": "node", "id": 2709906575, "lat": 40.7607755, "lon": -73.9885481}, {"type": "node", "id": 2709906577, "lat": 40.7607789, "lon": -73.9891756}, {"type": "node", "id": 2709906579, "lat": 40.7607888, "lon": -73.9890552}, {"type": "node", "id": 2709906581, "lat": 40.7607905, "lon": -73.9894747}, {"type": "node", "id": 2709906583, "lat": 40.7607934, "lon": -73.9890663}, {"type": "node", "id": 2709906584, "lat": 40.7607942, "lon": -73.9900828}, {"type": "node", "id": 2709906586, "lat": 40.7607985, "lon": -73.9894938}, {"type": "node", "id": 2709906588, "lat": 40.7607992, "lon": -73.98908}, {"type": "node", "id": 2709906589, "lat": 40.7608038, "lon": -73.98863}, {"type": "node", "id": 2709906590, "lat": 40.7608044, "lon": -73.9893833}, {"type": "node", "id": 2709906591, "lat": 40.7608086, "lon": -73.9886265}, {"type": "node", "id": 2709906592, "lat": 40.7608167, "lon": -73.9892655}, {"type": "node", "id": 2709906593, "lat": 40.7608169, "lon": -73.9901367}, {"type": "node", "id": 2709906595, "lat": 40.7608229, "lon": -73.9891436}, {"type": "node", "id": 2709906596, "lat": 40.7608269, "lon": -73.9895583}, {"type": "node", "id": 2709906598, "lat": 40.7608275, "lon": -73.9891547}, {"type": "node", "id": 2709906600, "lat": 40.7608306, "lon": -73.9894455}, {"type": "node", "id": 2709906602, "lat": 40.7608379, "lon": -73.9894651}, {"type": "node", "id": 2709906603, "lat": 40.7608382, "lon": -73.9901873}, {"type": "node", "id": 2709906604, "lat": 40.7608428, "lon": -73.9893273}, {"type": "node", "id": 2709906605, "lat": 40.7608446, "lon": -73.9887269}, {"type": "node", "id": 2709906606, "lat": 40.7608492, "lon": -73.9887235}, {"type": "node", "id": 2709906607, "lat": 40.7608532, "lon": -73.9893521}, {"type": "node", "id": 2709906608, "lat": 40.7608549, "lon": -73.9892197}, {"type": "node", "id": 2709906609, "lat": 40.7608561, "lon": -73.9895082}, {"type": "node", "id": 2709906610, "lat": 40.7608571, "lon": -73.9887567}, {"type": "node", "id": 2709906611, "lat": 40.7608595, "lon": -73.990238}, {"type": "node", "id": 2709906612, "lat": 40.7608607, "lon": -73.9892334}, {"type": "node", "id": 2709906613, "lat": 40.7608618, "lon": -73.9887533}, {"type": "node", "id": 2709906614, "lat": 40.7608654, "lon": -73.9895303}, {"type": "node", "id": 2709906615, "lat": 40.7608668, "lon": -73.9898264}, {"type": "node", "id": 2709906616, "lat": 40.7608676, "lon": -73.9887819}, {"type": "node", "id": 2709906617, "lat": 40.7608691, "lon": -73.9896587}, {"type": "node", "id": 2709906618, "lat": 40.7608793, "lon": -73.989414}, {"type": "node", "id": 2709906619, "lat": 40.7608811, "lon": -73.9902891}, {"type": "node", "id": 2709906620, "lat": 40.7608821, "lon": -73.9903265}, {"type": "node", "id": 2709906621, "lat": 40.7608877, "lon": -73.9898761}, {"type": "node", "id": 2709906622, "lat": 40.7608891, "lon": -73.9892936}, {"type": "node", "id": 2709906623, "lat": 40.7608898, "lon": -73.9903097}, {"type": "node", "id": 2709906624, "lat": 40.7608906, "lon": -73.9903467}, {"type": "node", "id": 2709906625, "lat": 40.7608923, "lon": -73.9897217}, {"type": "node", "id": 2709906626, "lat": 40.7608938, "lon": -73.9893046}, {"type": "node", "id": 2709906627, "lat": 40.7608949, "lon": -73.9903436}, {"type": "node", "id": 2709906628, "lat": 40.7608996, "lon": -73.9893183}, {"type": "node", "id": 2709906629, "lat": 40.7609024, "lon": -73.9896344}, {"type": "node", "id": 2709906630, "lat": 40.7609054, "lon": -73.9888715}, {"type": "node", "id": 2709906631, "lat": 40.7609096, "lon": -73.9899282}, {"type": "node", "id": 2709906632, "lat": 40.7609162, "lon": -73.9895012}, {"type": "node", "id": 2709906633, "lat": 40.7609196, "lon": -73.9904022}, {"type": "node", "id": 2709906634, "lat": 40.76092, "lon": -73.9897876}, {"type": "node", "id": 2709906635, "lat": 40.7609241, "lon": -73.9904214}, {"type": "node", "id": 2709906636, "lat": 40.7609256, "lon": -73.9893802}, {"type": "node", "id": 2709906637, "lat": 40.7609281, "lon": -73.9896956}, {"type": "node", "id": 2709906638, "lat": 40.7609303, "lon": -73.9893913}, {"type": "node", "id": 2709906639, "lat": 40.7609324, "lon": -73.9899821}, {"type": "node", "id": 2709906640, "lat": 40.7609419, "lon": -73.9889581}, {"type": "node", "id": 2709906641, "lat": 40.7609432, "lon": -73.9895653}, {"type": "node", "id": 2709906642, "lat": 40.7609521, "lon": -73.9895865}, {"type": "node", "id": 2709906643, "lat": 40.7609551, "lon": -73.990036}, {"type": "node", "id": 2709906644, "lat": 40.7609576, "lon": -73.9894711}, {"type": "node", "id": 2709906645, "lat": 40.7609577, "lon": -73.9894564}, {"type": "node", "id": 2709906646, "lat": 40.7609656, "lon": -73.9894751}, {"type": "node", "id": 2709906647, "lat": 40.7609712, "lon": -73.9903588}, {"type": "node", "id": 2709906648, "lat": 40.7609738, "lon": -73.9903651}, {"type": "node", "id": 2709906649, "lat": 40.7609776, "lon": -73.9896471}, {"type": "node", "id": 2709906650, "lat": 40.7609784, "lon": -73.9890448}, {"type": "node", "id": 2709906651, "lat": 40.7609834, "lon": -73.989536}, {"type": "node", "id": 2709906652, "lat": 40.7609865, "lon": -73.9905692}, {"type": "node", "id": 2709906653, "lat": 40.7609868, "lon": -73.9895254}, {"type": "node", "id": 2709906654, "lat": 40.7609879, "lon": -73.9902759}, {"type": "node", "id": 2709906655, "lat": 40.7609934, "lon": -73.9895563}, {"type": "node", "id": 2709906656, "lat": 40.7609936, "lon": -73.9895416}, {"type": "node", "id": 2709906657, "lat": 40.7609966, "lon": -73.9902967}, {"type": "node", "id": 2709906658, "lat": 40.7610015, "lon": -73.9895603}, {"type": "node", "id": 2709906659, "lat": 40.7610058, "lon": -73.9891099}, {"type": "node", "id": 2709906660, "lat": 40.7610128, "lon": -73.9897291}, {"type": "node", "id": 2709906661, "lat": 40.7610179, "lon": -73.9896178}, {"type": "node", "id": 2709906662, "lat": 40.7610186, "lon": -73.9901889}, {"type": "node", "id": 2709906663, "lat": 40.7610212, "lon": -73.9896072}, {"type": "node", "id": 2709906664, "lat": 40.7610261, "lon": -73.9902947}, {"type": "node", "id": 2709906665, "lat": 40.7610275, "lon": -73.990247}, {"type": "node", "id": 2709906666, "lat": 40.761028, "lon": -73.9896234}, {"type": "node", "id": 2709906667, "lat": 40.7610365, "lon": -73.9903194}, {"type": "node", "id": 2709906668, "lat": 40.7610379, "lon": -73.9902346}, {"type": "node", "id": 2709906669, "lat": 40.7610386, "lon": -73.9897903}, {"type": "node", "id": 2709906670, "lat": 40.7610423, "lon": -73.9891965}, {"type": "node", "id": 2709906671, "lat": 40.7610426, "lon": -73.9905282}, {"type": "node", "id": 2709906672, "lat": 40.7610458, "lon": -73.9898074}, {"type": "node", "id": 2709906673, "lat": 40.761046, "lon": -73.9899698}, {"type": "node", "id": 2709906674, "lat": 40.7610492, "lon": -73.9897026}, {"type": "node", "id": 2709906675, "lat": 40.7610548, "lon": -73.989687}, {"type": "node", "id": 2709906676, "lat": 40.7610586, "lon": -73.9897064}, {"type": "node", "id": 2709906677, "lat": 40.7610673, "lon": -73.9900204}, {"type": "node", "id": 2709906678, "lat": 40.7610716, "lon": -73.9898686}, {"type": "node", "id": 2709906679, "lat": 40.7610751, "lon": -73.9897637}, {"type": "node", "id": 2709906680, "lat": 40.7610768, "lon": -73.9897527}, {"type": "node", "id": 2709906681, "lat": 40.7610788, "lon": -73.9892831}, {"type": "node", "id": 2709906682, "lat": 40.7610788, "lon": -73.9898857}, {"type": "node", "id": 2709906683, "lat": 40.7610822, "lon": -73.9897809}, {"type": "node", "id": 2709906684, "lat": 40.7610846, "lon": -73.9902087}, {"type": "node", "id": 2709906685, "lat": 40.7610878, "lon": -73.9897654}, {"type": "node", "id": 2709906686, "lat": 40.7610887, "lon": -73.9900711}, {"type": "node", "id": 2709906687, "lat": 40.7610904, "lon": -73.9902478}, {"type": "node", "id": 2709906688, "lat": 40.7610916, "lon": -73.9897847}, {"type": "node", "id": 2709906689, "lat": 40.7611044, "lon": -73.990281}, {"type": "node", "id": 2709906690, "lat": 40.7611046, "lon": -73.989947}, {"type": "node", "id": 2709906691, "lat": 40.7611053, "lon": -73.9904825}, {"type": "node", "id": 2709906692, "lat": 40.7611062, "lon": -73.9893482}, {"type": "node", "id": 2709906693, "lat": 40.7611075, "lon": -73.990263}, {"type": "node", "id": 2709906695, "lat": 40.7611081, "lon": -73.9898421}, {"type": "node", "id": 2709906696, "lat": 40.7611098, "lon": -73.989831}, {"type": "node", "id": 2709906698, "lat": 40.7611102, "lon": -73.9901222}, {"type": "node", "id": 2709906699, "lat": 40.7611139, "lon": -73.9899645}, {"type": "node", "id": 2709906701, "lat": 40.7611152, "lon": -73.9898592}, {"type": "node", "id": 2709906702, "lat": 40.7611208, "lon": -73.9898437}, {"type": "node", "id": 2709906703, "lat": 40.7611212, "lon": -73.9908791}, {"type": "node", "id": 2709906705, "lat": 40.7611252, "lon": -73.9898646}, {"type": "node", "id": 2709906706, "lat": 40.7611314, "lon": -73.9901746}, {"type": "node", "id": 2709906708, "lat": 40.7611391, "lon": -73.9900243}, {"type": "node", "id": 2709906709, "lat": 40.7611409, "lon": -73.9901461}, {"type": "node", "id": 2709906711, "lat": 40.7611411, "lon": -73.9899204}, {"type": "node", "id": 2709906712, "lat": 40.761142, "lon": -73.9894334}, {"type": "node", "id": 2709906713, "lat": 40.7611434, "lon": -73.9899109}, {"type": "node", "id": 2709906715, "lat": 40.7611462, "lon": -73.9902099}, {"type": "node", "id": 2709906716, "lat": 40.7611496, "lon": -73.9899386}, {"type": "node", "id": 2709906718, "lat": 40.7611513, "lon": -73.9902062}, {"type": "node", "id": 2709906719, "lat": 40.7611537, "lon": -73.9899241}, {"type": "node", "id": 2709906720, "lat": 40.7611581, "lon": -73.9899439}, {"type": "node", "id": 2709906722, "lat": 40.7611627, "lon": -73.9901978}, {"type": "node", "id": 2709906723, "lat": 40.7611672, "lon": -73.9908452}, {"type": "node", "id": 2709906725, "lat": 40.7611687, "lon": -73.9900556}, {"type": "node", "id": 2709906726, "lat": 40.7611696, "lon": -73.9904356}, {"type": "node", "id": 2709906728, "lat": 40.7611731, "lon": -73.9895177}, {"type": "node", "id": 2709906729, "lat": 40.7611755, "lon": -73.9899875}, {"type": "node", "id": 2709906730, "lat": 40.7611764, "lon": -73.9899971}, {"type": "node", "id": 2709906732, "lat": 40.7611765, "lon": -73.9895152}, {"type": "node", "id": 2709906733, "lat": 40.7611765, "lon": -73.991009}, {"type": "node", "id": 2709906735, "lat": 40.7611821, "lon": -73.9901162}, {"type": "node", "id": 2709906736, "lat": 40.7611895, "lon": -73.9900038}, {"type": "node", "id": 2709906738, "lat": 40.7611914, "lon": -73.9901094}, {"type": "node", "id": 2709906739, "lat": 40.7611999, "lon": -73.9895814}, {"type": "node", "id": 2709906741, "lat": 40.7612035, "lon": -73.9910724}, {"type": "node", "id": 2709906742, "lat": 40.761204, "lon": -73.9901681}, {"type": "node", "id": 2709906743, "lat": 40.7612043, "lon": -73.9895782}, {"type": "node", "id": 2709906745, "lat": 40.7612114, "lon": -73.9908126}, {"type": "node", "id": 2709906746, "lat": 40.7612133, "lon": -73.9901614}, {"type": "node", "id": 2709906748, "lat": 40.7612176, "lon": -73.9899866}, {"type": "node", "id": 2709906749, "lat": 40.7612195, "lon": -73.9909773}, {"type": "node", "id": 2709906751, "lat": 40.7612226, "lon": -73.9909751}, {"type": "node", "id": 2709906752, "lat": 40.7612244, "lon": -73.9909887}, {"type": "node", "id": 2709906753, "lat": 40.7612285, "lon": -73.991131}, {"type": "node", "id": 2709906754, "lat": 40.7612295, "lon": -73.990392}, {"type": "node", "id": 2709906755, "lat": 40.7612329, "lon": -73.9896597}, {"type": "node", "id": 2709906756, "lat": 40.7612372, "lon": -73.9896565}, {"type": "node", "id": 2709906757, "lat": 40.7612417, "lon": -73.9899658}, {"type": "node", "id": 2709906758, "lat": 40.7612544, "lon": -73.9911917}, {"type": "node", "id": 2709906759, "lat": 40.7612556, "lon": -73.99078}, {"type": "node", "id": 2709906760, "lat": 40.7612654, "lon": -73.9901001}, {"type": "node", "id": 2709906761, "lat": 40.7612659, "lon": -73.989738}, {"type": "node", "id": 2709906762, "lat": 40.7612668, "lon": -73.9909425}, {"type": "node", "id": 2709906763, "lat": 40.7612708, "lon": -73.9897344}, {"type": "node", "id": 2709906764, "lat": 40.7612719, "lon": -73.9900954}, {"type": "node", "id": 2709906765, "lat": 40.7612753, "lon": -73.9900455}, {"type": "node", "id": 2709906766, "lat": 40.7612754, "lon": -73.9901036}, {"type": "node", "id": 2709906767, "lat": 40.7612849, "lon": -73.9909441}, {"type": "node", "id": 2709906768, "lat": 40.7612884, "lon": -73.9903396}, {"type": "node", "id": 2709906769, "lat": 40.7612914, "lon": -73.9903469}, {"type": "node", "id": 2709906770, "lat": 40.7612945, "lon": -73.9909666}, {"type": "node", "id": 2709906771, "lat": 40.7613001, "lon": -73.9907432}, {"type": "node", "id": 2709906772, "lat": 40.7613014, "lon": -73.9907463}, {"type": "node", "id": 2709906773, "lat": 40.7613044, "lon": -73.9898143}, {"type": "node", "id": 2709906774, "lat": 40.7613076, "lon": -73.9909569}, {"type": "node", "id": 2709906775, "lat": 40.7613105, "lon": -73.9900199}, {"type": "node", "id": 2709906776, "lat": 40.761311, "lon": -73.9909099}, {"type": "node", "id": 2709906777, "lat": 40.7613164, "lon": -73.9909892}, {"type": "node", "id": 2709906778, "lat": 40.7613202, "lon": -73.9909864}, {"type": "node", "id": 2709906779, "lat": 40.7613272, "lon": -73.9898684}, {"type": "node", "id": 2709906780, "lat": 40.7613292, "lon": -73.9900643}, {"type": "node", "id": 2709906781, "lat": 40.761332, "lon": -73.9898648}, {"type": "node", "id": 2709906782, "lat": 40.7613414, "lon": -73.9910479}, {"type": "node", "id": 2709906783, "lat": 40.7613434, "lon": -73.9898917}, {"type": "node", "id": 2709906784, "lat": 40.761348, "lon": -73.9902962}, {"type": "node", "id": 2709906785, "lat": 40.7613511, "lon": -73.9903034}, {"type": "node", "id": 2709906786, "lat": 40.7613518, "lon": -73.9910754}, {"type": "node", "id": 2709906787, "lat": 40.7613551, "lon": -73.9914282}, {"type": "node", "id": 2709906788, "lat": 40.7613568, "lon": -73.9908762}, {"type": "node", "id": 2709906789, "lat": 40.7613633, "lon": -73.9910318}, {"type": "node", "id": 2709906790, "lat": 40.7613662, "lon": -73.9911093}, {"type": "node", "id": 2709906791, "lat": 40.7613747, "lon": -73.9910586}, {"type": "node", "id": 2709906792, "lat": 40.7613769, "lon": -73.9899715}, {"type": "node", "id": 2709906793, "lat": 40.7613885, "lon": -73.9915065}, {"type": "node", "id": 2709906794, "lat": 40.7613897, "lon": -73.9906773}, {"type": "node", "id": 2709906795, "lat": 40.7613916, "lon": -73.9911688}, {"type": "node", "id": 2709906796, "lat": 40.761403, "lon": -73.9909847}, {"type": "node", "id": 2709906797, "lat": 40.7614055, "lon": -73.9911877}, {"type": "node", "id": 2709906798, "lat": 40.761407, "lon": -73.9912133}, {"type": "node", "id": 2709906799, "lat": 40.7614114, "lon": -73.9902595}, {"type": "node", "id": 2709906800, "lat": 40.7614142, "lon": -73.991208}, {"type": "node", "id": 2709906801, "lat": 40.7614146, "lon": -73.9915678}, {"type": "node", "id": 2709906802, "lat": 40.7614149, "lon": -73.990908}, {"type": "node", "id": 2709906803, "lat": 40.7614163, "lon": -73.9911506}, {"type": "node", "id": 2709906804, "lat": 40.7614231, "lon": -73.9915616}, {"type": "node", "id": 2709906805, "lat": 40.7614257, "lon": -73.9911728}, {"type": "node", "id": 2709906806, "lat": 40.7614356, "lon": -73.9910613}, {"type": "node", "id": 2709906807, "lat": 40.7614369, "lon": -73.9909597}, {"type": "node", "id": 2709906808, "lat": 40.7614642, "lon": -73.9913477}, {"type": "node", "id": 2709906809, "lat": 40.7614705, "lon": -73.990867}, {"type": "node", "id": 2709906810, "lat": 40.7614778, "lon": -73.9902111}, {"type": "node", "id": 2709906811, "lat": 40.7614815, "lon": -73.9906096}, {"type": "node", "id": 2709906812, "lat": 40.7614835, "lon": -73.9906143}, {"type": "node", "id": 2709906813, "lat": 40.7614839, "lon": -73.9917472}, {"type": "node", "id": 2709906814, "lat": 40.7614892, "lon": -73.9913294}, {"type": "node", "id": 2709906815, "lat": 40.7614978, "lon": -73.991737}, {"type": "node", "id": 2709906817, "lat": 40.7614982, "lon": -73.9913332}, {"type": "node", "id": 2709906819, "lat": 40.7615223, "lon": -73.991408}, {"type": "node", "id": 2709906821, "lat": 40.7615248, "lon": -73.9913943}, {"type": "node", "id": 2709906823, "lat": 40.761527, "lon": -73.991232}, {"type": "node", "id": 2709906825, "lat": 40.761528, "lon": -73.9908247}, {"type": "node", "id": 2709906827, "lat": 40.7615317, "lon": -73.9911056}, {"type": "node", "id": 2709906836, "lat": 40.7615319, "lon": -73.9910013}, {"type": "node", "id": 2709906839, "lat": 40.7615338, "lon": -73.9918642}, {"type": "node", "id": 2709906841, "lat": 40.7615409, "lon": -73.9916908}, {"type": "node", "id": 2709906843, "lat": 40.7615432, "lon": -73.9905703}, {"type": "node", "id": 2709906845, "lat": 40.7615449, "lon": -73.9911365}, {"type": "node", "id": 2709906847, "lat": 40.7615456, "lon": -73.9917018}, {"type": "node", "id": 2709906849, "lat": 40.7615484, "lon": -73.9914693}, {"type": "node", "id": 2709906851, "lat": 40.7615489, "lon": -73.9912834}, {"type": "node", "id": 2709906853, "lat": 40.76155, "lon": -73.9908764}, {"type": "node", "id": 2709906856, "lat": 40.7615511, "lon": -73.990773}, {"type": "node", "id": 2709906858, "lat": 40.7615535, "lon": -73.9914814}, {"type": "node", "id": 2709906860, "lat": 40.7615536, "lon": -73.9911301}, {"type": "node", "id": 2709906862, "lat": 40.7615608, "lon": -73.9910691}, {"type": "node", "id": 2709906864, "lat": 40.7615648, "lon": -73.9912841}, {"type": "node", "id": 2709906866, "lat": 40.7615696, "lon": -73.9911678}, {"type": "node", "id": 2709906869, "lat": 40.7615803, "lon": -73.9911928}, {"type": "node", "id": 2709906871, "lat": 40.7615821, "lon": -73.9916749}, {"type": "node", "id": 2709906873, "lat": 40.7615835, "lon": -73.9919809}, {"type": "node", "id": 2709906875, "lat": 40.7615841, "lon": -73.9909629}, {"type": "node", "id": 2709906877, "lat": 40.7615844, "lon": -73.990851}, {"type": "node", "id": 2709906880, "lat": 40.761585, "lon": -73.9909512}, {"type": "node", "id": 2709906884, "lat": 40.7615865, "lon": -73.9918042}, {"type": "node", "id": 2709906886, "lat": 40.7615898, "lon": -73.9917894}, {"type": "node", "id": 2709906888, "lat": 40.761591, "lon": -73.9913455}, {"type": "node", "id": 2709906891, "lat": 40.7615911, "lon": -73.9916962}, {"type": "node", "id": 2709906893, "lat": 40.7615933, "lon": -73.9918203}, {"type": "node", "id": 2709906895, "lat": 40.7615938, "lon": -73.9917913}, {"type": "node", "id": 2709906897, "lat": 40.7616009, "lon": -73.9918381}, {"type": "node", "id": 2709906899, "lat": 40.7616012, "lon": -73.9905275}, {"type": "node", "id": 2709906901, "lat": 40.7616014, "lon": -73.9911444}, {"type": "node", "id": 2709906904, "lat": 40.7616108, "lon": -73.990729}, {"type": "node", "id": 2709906906, "lat": 40.7616108, "lon": -73.9918348}, {"type": "node", "id": 2709906908, "lat": 40.7616108, "lon": -73.9918412}, {"type": "node", "id": 2709906910, "lat": 40.7616119, "lon": -73.9910315}, {"type": "node", "id": 2709906914, "lat": 40.761617, "lon": -73.9909276}, {"type": "node", "id": 2709906919, "lat": 40.7616226, "lon": -73.9910387}, {"type": "node", "id": 2709906921, "lat": 40.761623, "lon": -73.9907575}, {"type": "node", "id": 2709906923, "lat": 40.7616291, "lon": -73.9919197}, {"type": "node", "id": 2709906925, "lat": 40.7616312, "lon": -73.9919084}, {"type": "node", "id": 2709906927, "lat": 40.761634, "lon": -73.9912208}, {"type": "node", "id": 2709906929, "lat": 40.7616381, "lon": -73.9919407}, {"type": "node", "id": 2709906933, "lat": 40.7616397, "lon": -73.9909109}, {"type": "node", "id": 2709906936, "lat": 40.76164, "lon": -73.9919116}, {"type": "node", "id": 2709906940, "lat": 40.7616571, "lon": -73.9914051}, {"type": "node", "id": 2709906944, "lat": 40.761681, "lon": -73.9907148}, {"type": "node", "id": 2709906945, "lat": 40.7616815, "lon": -73.9910854}, {"type": "node", "id": 2709906954, "lat": 40.7617038, "lon": -73.9916132}, {"type": "node", "id": 2709906956, "lat": 40.7617136, "lon": -73.991703}, {"type": "node", "id": 2709906959, "lat": 40.7617184, "lon": -73.991714}, {"type": "node", "id": 2709906962, "lat": 40.761722, "lon": -73.9915573}, {"type": "node", "id": 2709906964, "lat": 40.7617239, "lon": -73.9916958}, {"type": "node", "id": 2709906968, "lat": 40.7617285, "lon": -73.9917066}, {"type": "node", "id": 2709906973, "lat": 40.7617347, "lon": -73.9908409}, {"type": "node", "id": 2709906974, "lat": 40.7617354, "lon": -73.9916873}, {"type": "node", "id": 2709906982, "lat": 40.7617532, "lon": -73.9917299}, {"type": "node", "id": 2709906992, "lat": 40.761772, "lon": -73.9909286}, {"type": "node", "id": 2709906997, "lat": 40.761785, "lon": -73.9918047}, {"type": "node", "id": 2709907007, "lat": 40.7618013, "lon": -73.9909972}, {"type": "node", "id": 2709915246, "lat": 40.7605499, "lon": -73.9875808}, {"type": "node", "id": 2709915248, "lat": 40.7606718, "lon": -73.9874913}, {"type": "node", "id": 2709915249, "lat": 40.7606833, "lon": -73.9878948}, {"type": "node", "id": 2709915250, "lat": 40.7607112, "lon": -73.9879786}, {"type": "node", "id": 2709915251, "lat": 40.7607171, "lon": -73.9879743}, {"type": "node", "id": 2709915253, "lat": 40.7607448, "lon": -73.9880578}, {"type": "node", "id": 2709915254, "lat": 40.760762, "lon": -73.9879413}, {"type": "node", "id": 2709915255, "lat": 40.7607708, "lon": -73.9879447}, {"type": "node", "id": 2709915256, "lat": 40.760771, "lon": -73.9881194}, {"type": "node", "id": 2709915258, "lat": 40.7607888, "lon": -73.9874053}, {"type": "node", "id": 2709915259, "lat": 40.7607957, "lon": -73.9880204}, {"type": "node", "id": 2709915260, "lat": 40.7607973, "lon": -73.9880071}, {"type": "node", "id": 2709915261, "lat": 40.7608051, "lon": -73.9878053}, {"type": "node", "id": 2709915263, "lat": 40.7608115, "lon": -73.9882148}, {"type": "node", "id": 2709915264, "lat": 40.7608155, "lon": -73.9882119}, {"type": "node", "id": 2709915265, "lat": 40.760818, "lon": -73.988004}, {"type": "node", "id": 2709915266, "lat": 40.760825, "lon": -73.9879049}, {"type": "node", "id": 2709915268, "lat": 40.760827, "lon": -73.9880094}, {"type": "node", "id": 2709915269, "lat": 40.7608294, "lon": -73.9879154}, {"type": "node", "id": 2709915270, "lat": 40.7608351, "lon": -73.9873713}, {"type": "node", "id": 2709915272, "lat": 40.7608442, "lon": -73.9879848}, {"type": "node", "id": 2709915273, "lat": 40.7608468, "lon": -73.9879562}, {"type": "node", "id": 2709915274, "lat": 40.760848, "lon": -73.9879939}, {"type": "node", "id": 2709915275, "lat": 40.7608503, "lon": -73.9878864}, {"type": "node", "id": 2709915277, "lat": 40.7608515, "lon": -73.9879673}, {"type": "node", "id": 2709915278, "lat": 40.7608547, "lon": -73.9878969}, {"type": "node", "id": 2709915279, "lat": 40.760872, "lon": -73.9879377}, {"type": "node", "id": 2709915280, "lat": 40.7608767, "lon": -73.9879487}, {"type": "node", "id": 2709915282, "lat": 40.7608767, "lon": -73.98837}, {"type": "node", "id": 2709915283, "lat": 40.7608813, "lon": -73.9878636}, {"type": "node", "id": 2709915284, "lat": 40.7608813, "lon": -73.9883666}, {"type": "node", "id": 2709915285, "lat": 40.7608873, "lon": -73.9879842}, {"type": "node", "id": 2709915287, "lat": 40.7608891, "lon": -73.9878524}, {"type": "node", "id": 2709915288, "lat": 40.7609015, "lon": -73.9879737}, {"type": "node", "id": 2709915289, "lat": 40.7609034, "lon": -73.9880221}, {"type": "node", "id": 2709915290, "lat": 40.7609078, "lon": -73.9879259}, {"type": "node", "id": 2709915292, "lat": 40.7609106, "lon": -73.98845}, {"type": "node", "id": 2709915293, "lat": 40.7609118, "lon": -73.9879978}, {"type": "node", "id": 2709915294, "lat": 40.7609155, "lon": -73.9880274}, {"type": "node", "id": 2709915295, "lat": 40.7609213, "lon": -73.9879281}, {"type": "node", "id": 2709915297, "lat": 40.7609221, "lon": -73.9877193}, {"type": "node", "id": 2709915298, "lat": 40.7609305, "lon": -73.987822}, {"type": "node", "id": 2709915299, "lat": 40.7609378, "lon": -73.9883251}, {"type": "node", "id": 2709915300, "lat": 40.7609439, "lon": -73.9881175}, {"type": "node", "id": 2709915301, "lat": 40.7609446, "lon": -73.987911}, {"type": "node", "id": 2709915302, "lat": 40.7609446, "lon": -73.9885301}, {"type": "node", "id": 2709915303, "lat": 40.7609472, "lon": -73.988102}, {"type": "node", "id": 2709915304, "lat": 40.760948, "lon": -73.9883296}, {"type": "node", "id": 2709915305, "lat": 40.7609559, "lon": -73.9877988}, {"type": "node", "id": 2709915307, "lat": 40.7609627, "lon": -73.9878977}, {"type": "node", "id": 2709915308, "lat": 40.7609649, "lon": -73.9879588}, {"type": "node", "id": 2709915309, "lat": 40.7609684, "lon": -73.9876853}, {"type": "node", "id": 2709915311, "lat": 40.7609717, "lon": -73.9884052}, {"type": "node", "id": 2709915312, "lat": 40.7609744, "lon": -73.9883924}, {"type": "node", "id": 2709915313, "lat": 40.7609753, "lon": -73.9879834}, {"type": "node", "id": 2709915314, "lat": 40.7609786, "lon": -73.9886101}, {"type": "node", "id": 2709915316, "lat": 40.7609817, "lon": -73.9880898}, {"type": "node", "id": 2709915317, "lat": 40.760982, "lon": -73.9884096}, {"type": "node", "id": 2709915318, "lat": 40.7610057, "lon": -73.9884852}, {"type": "node", "id": 2709915319, "lat": 40.761007, "lon": -73.9880581}, {"type": "node", "id": 2709915321, "lat": 40.7610084, "lon": -73.9884724}, {"type": "node", "id": 2709915322, "lat": 40.761016, "lon": -73.9884897}, {"type": "node", "id": 2709915323, "lat": 40.7610256, "lon": -73.9887206}, {"type": "node", "id": 2709915324, "lat": 40.7610275, "lon": -73.9878557}, {"type": "node", "id": 2709915326, "lat": 40.7610275, "lon": -73.9882712}, {"type": "node", "id": 2709915327, "lat": 40.7610278, "lon": -73.9882662}, {"type": "node", "id": 2709915328, "lat": 40.7610299, "lon": -73.9872281}, {"type": "node", "id": 2709915330, "lat": 40.7610304, "lon": -73.9876398}, {"type": "node", "id": 2709915331, "lat": 40.7610474, "lon": -73.9882445}, {"type": "node", "id": 2709915332, "lat": 40.7610538, "lon": -73.988334}, {"type": "node", "id": 2709915333, "lat": 40.7610615, "lon": -73.9883513}, {"type": "node", "id": 2709915335, "lat": 40.7610624, "lon": -73.9883385}, {"type": "node", "id": 2709915337, "lat": 40.7610627, "lon": -73.9876817}, {"type": "node", "id": 2709915339, "lat": 40.7610855, "lon": -73.9878116}, {"type": "node", "id": 2709915340, "lat": 40.7610861, "lon": -73.9877367}, {"type": "node", "id": 2709915341, "lat": 40.7610876, "lon": -73.9882223}, {"type": "node", "id": 2709915342, "lat": 40.7610878, "lon": -73.988414}, {"type": "node", "id": 2709915344, "lat": 40.7610951, "lon": -73.9884315}, {"type": "node", "id": 2709915345, "lat": 40.7610954, "lon": -73.9880106}, {"type": "node", "id": 2709915346, "lat": 40.7610964, "lon": -73.9884186}, {"type": "node", "id": 2709915348, "lat": 40.7610965, "lon": -73.9878366}, {"type": "node", "id": 2709915349, "lat": 40.7611058, "lon": -73.9878471}, {"type": "node", "id": 2709915350, "lat": 40.7611192, "lon": -73.9882968}, {"type": "node", "id": 2709915351, "lat": 40.7611297, "lon": -73.9889665}, {"type": "node", "id": 2709915353, "lat": 40.7611304, "lon": -73.9881885}, {"type": "node", "id": 2709915354, "lat": 40.7611373, "lon": -73.9879206}, {"type": "node", "id": 2709915355, "lat": 40.7611407, "lon": -73.9879373}, {"type": "node", "id": 2709915356, "lat": 40.7611532, "lon": -73.9883768}, {"type": "node", "id": 2709915358, "lat": 40.7611535, "lon": -73.9879665}, {"type": "node", "id": 2709915359, "lat": 40.7611612, "lon": -73.9879025}, {"type": "node", "id": 2709915360, "lat": 40.7611621, "lon": -73.9877998}, {"type": "node", "id": 2709915362, "lat": 40.7611636, "lon": -73.9878032}, {"type": "node", "id": 2709915363, "lat": 40.7611693, "lon": -73.9877481}, {"type": "node", "id": 2709915364, "lat": 40.7611782, "lon": -73.9875968}, {"type": "node", "id": 2709915365, "lat": 40.7611782, "lon": -73.9890806}, {"type": "node", "id": 2709915367, "lat": 40.7611803, "lon": -73.987773}, {"type": "node", "id": 2709915368, "lat": 40.7611807, "lon": -73.9877857}, {"type": "node", "id": 2709915369, "lat": 40.7611857, "lon": -73.987884}, {"type": "node", "id": 2709915370, "lat": 40.7611872, "lon": -73.9884569}, {"type": "node", "id": 2709915372, "lat": 40.7611969, "lon": -73.9883451}, {"type": "node", "id": 2709915373, "lat": 40.7612016, "lon": -73.9876519}, {"type": "node", "id": 2709915374, "lat": 40.7612051, "lon": -73.987721}, {"type": "node", "id": 2709915376, "lat": 40.7612109, "lon": -73.9891576}, {"type": "node", "id": 2709915377, "lat": 40.7612138, "lon": -73.9878732}, {"type": "node", "id": 2709915378, "lat": 40.7612244, "lon": -73.9878738}, {"type": "node", "id": 2709915379, "lat": 40.7612263, "lon": -73.9877049}, {"type": "node", "id": 2709915381, "lat": 40.7612308, "lon": -73.9884248}, {"type": "node", "id": 2709915382, "lat": 40.7612372, "lon": -73.987903}, {"type": "node", "id": 2709915383, "lat": 40.7612455, "lon": -73.9892391}, {"type": "node", "id": 2709915384, "lat": 40.7612785, "lon": -73.9893169}, {"type": "node", "id": 2709915386, "lat": 40.7612931, "lon": -73.9883791}, {"type": "node", "id": 2709915387, "lat": 40.7612942, "lon": -73.9878598}, {"type": "node", "id": 2709915388, "lat": 40.7613017, "lon": -73.9890987}, {"type": "node", "id": 2709915390, "lat": 40.7613045, "lon": -73.988406}, {"type": "node", "id": 2709915391, "lat": 40.7613055, "lon": -73.988515}, {"type": "node", "id": 2709915392, "lat": 40.7613148, "lon": -73.9891296}, {"type": "node", "id": 2709915393, "lat": 40.7613577, "lon": -73.9890576}, {"type": "node", "id": 2709915395, "lat": 40.7613629, "lon": -73.9880178}, {"type": "node", "id": 2709915396, "lat": 40.761369, "lon": -73.9883234}, {"type": "node", "id": 2709915397, "lat": 40.7613708, "lon": -73.9890884}, {"type": "node", "id": 2709915398, "lat": 40.7613786, "lon": -73.989554}, {"type": "node", "id": 2709915399, "lat": 40.7613804, "lon": -73.9883503}, {"type": "node", "id": 2709915400, "lat": 40.7613814, "lon": -73.9891392}, {"type": "node", "id": 2709915401, "lat": 40.7613995, "lon": -73.988918}, {"type": "node", "id": 2709915402, "lat": 40.7614068, "lon": -73.9896202}, {"type": "node", "id": 2709915403, "lat": 40.7614099, "lon": -73.9887606}, {"type": "node", "id": 2709915405, "lat": 40.7614144, "lon": -73.989217}, {"type": "node", "id": 2709915406, "lat": 40.7614294, "lon": -73.9881744}, {"type": "node", "id": 2709915407, "lat": 40.7614322, "lon": -73.988995}, {"type": "node", "id": 2709915408, "lat": 40.7614412, "lon": -73.989508}, {"type": "node", "id": 2709915410, "lat": 40.7614421, "lon": -73.9889878}, {"type": "node", "id": 2709915411, "lat": 40.7614432, "lon": -73.989706}, {"type": "node", "id": 2709915412, "lat": 40.7614502, "lon": -73.9895293}, {"type": "node", "id": 2709915414, "lat": 40.7614552, "lon": -73.9884061}, {"type": "node", "id": 2709915415, "lat": 40.7614632, "lon": -73.9882541}, {"type": "node", "id": 2709915416, "lat": 40.7614668, "lon": -73.9895761}, {"type": "node", "id": 2709915417, "lat": 40.7614683, "lon": -73.9895663}, {"type": "node", "id": 2709915419, "lat": 40.7614747, "lon": -73.9895813}, {"type": "node", "id": 2709915420, "lat": 40.7614765, "lon": -73.9897904}, {"type": "node", "id": 2709915421, "lat": 40.7614767, "lon": -73.9890692}, {"type": "node", "id": 2709915422, "lat": 40.7614785, "lon": -73.989789}, {"type": "node", "id": 2709915424, "lat": 40.7614818, "lon": -73.9888248}, {"type": "node", "id": 2709915425, "lat": 40.7614924, "lon": -73.9888498}, {"type": "node", "id": 2709915426, "lat": 40.7614934, "lon": -73.9889556}, {"type": "node", "id": 2709915428, "lat": 40.7615, "lon": -73.9896643}, {"type": "node", "id": 2709915429, "lat": 40.7615029, "lon": -73.9896497}, {"type": "node", "id": 2709915430, "lat": 40.7615105, "lon": -73.9896675}, {"type": "node", "id": 2709915431, "lat": 40.7615108, "lon": -73.9883653}, {"type": "node", "id": 2709915433, "lat": 40.7615171, "lon": -73.9898876}, {"type": "node", "id": 2709915435, "lat": 40.7615199, "lon": -73.9888327}, {"type": "node", "id": 2709915437, "lat": 40.7615271, "lon": -73.9890349}, {"type": "node", "id": 2709915438, "lat": 40.761534, "lon": -73.9897482}, {"type": "node", "id": 2709915439, "lat": 40.7615362, "lon": -73.9890392}, {"type": "node", "id": 2709915440, "lat": 40.7615378, "lon": -73.9897343}, {"type": "node", "id": 2709915442, "lat": 40.7615401, "lon": -73.9897437}, {"type": "node", "id": 2709915443, "lat": 40.7615406, "lon": -73.9899428}, {"type": "node", "id": 2709915444, "lat": 40.761544, "lon": -73.9897531}, {"type": "node", "id": 2709915446, "lat": 40.7615453, "lon": -73.9899394}, {"type": "node", "id": 2709915447, "lat": 40.7615496, "lon": -73.9889144}, {"type": "node", "id": 2709915448, "lat": 40.7615501, "lon": -73.9895061}, {"type": "node", "id": 2709915449, "lat": 40.7615529, "lon": -73.9895128}, {"type": "node", "id": 2709915452, "lat": 40.7615532, "lon": -73.9895235}, {"type": "node", "id": 2709915453, "lat": 40.7615536, "lon": -73.9889122}, {"type": "node", "id": 2709915455, "lat": 40.7615577, "lon": -73.988769}, {"type": "node", "id": 2709915456, "lat": 40.7615601, "lon": -73.9889177}, {"type": "node", "id": 2709915457, "lat": 40.7615618, "lon": -73.9886573}, {"type": "node", "id": 2709915458, "lat": 40.7615619, "lon": -73.9890995}, {"type": "node", "id": 2709915460, "lat": 40.761564, "lon": -73.9891222}, {"type": "node", "id": 2709915461, "lat": 40.7615693, "lon": -73.9887964}, {"type": "node", "id": 2709915462, "lat": 40.7615735, "lon": -73.9898461}, {"type": "node", "id": 2709915463, "lat": 40.7615736, "lon": -73.9898315}, {"type": "node", "id": 2709915465, "lat": 40.7615753, "lon": -73.9890105}, {"type": "node", "id": 2709915466, "lat": 40.7615795, "lon": -73.9893984}, {"type": "node", "id": 2709915467, "lat": 40.7615804, "lon": -73.989841}, {"type": "node", "id": 2709915468, "lat": 40.761581, "lon": -73.9889953}, {"type": "node", "id": 2709915470, "lat": 40.7615825, "lon": -73.9895912}, {"type": "node", "id": 2709915471, "lat": 40.7615827, "lon": -73.9897123}, {"type": "node", "id": 2709915472, "lat": 40.7615846, "lon": -73.9889926}, {"type": "node", "id": 2709915474, "lat": 40.7615859, "lon": -73.9889786}, {"type": "node", "id": 2709915475, "lat": 40.7615868, "lon": -73.9897221}, {"type": "node", "id": 2709915476, "lat": 40.7615885, "lon": -73.9890129}, {"type": "node", "id": 2709915477, "lat": 40.76159, "lon": -73.989609}, {"type": "node", "id": 2709915478, "lat": 40.7615904, "lon": -73.9891844}, {"type": "node", "id": 2709915479, "lat": 40.7615915, "lon": -73.989597}, {"type": "node", "id": 2709915480, "lat": 40.7615925, "lon": -73.9898695}, {"type": "node", "id": 2709915482, "lat": 40.7616016, "lon": -73.9896987}, {"type": "node", "id": 2709915483, "lat": 40.7616017, "lon": -73.9890703}, {"type": "node", "id": 2709915484, "lat": 40.7616039, "lon": -73.9898963}, {"type": "node", "id": 2709915485, "lat": 40.761607, "lon": -73.9890554}, {"type": "node", "id": 2709915486, "lat": 40.7616102, "lon": -73.9894707}, {"type": "node", "id": 2709915487, "lat": 40.7616105, "lon": -73.9897044}, {"type": "node", "id": 2709915490, "lat": 40.7616146, "lon": -73.9890732}, {"type": "node", "id": 2709915491, "lat": 40.7616148, "lon": -73.9889704}, {"type": "node", "id": 2709915493, "lat": 40.761615, "lon": -73.9886182}, {"type": "node", "id": 2709915494, "lat": 40.7616168, "lon": -73.9896762}, {"type": "node", "id": 2709915495, "lat": 40.7616176, "lon": -73.9901093}, {"type": "node", "id": 2709915496, "lat": 40.7616177, "lon": -73.9889773}, {"type": "node", "id": 2709915498, "lat": 40.7616193, "lon": -73.9897992}, {"type": "node", "id": 2709915502, "lat": 40.7616246, "lon": -73.9898115}, {"type": "node", "id": 2709915503, "lat": 40.7616256, "lon": -73.9896809}, {"type": "node", "id": 2709915504, "lat": 40.7616267, "lon": -73.9890761}, {"type": "node", "id": 2709915506, "lat": 40.7616319, "lon": -73.9889578}, {"type": "node", "id": 2709915508, "lat": 40.761633, "lon": -73.9888641}, {"type": "node", "id": 2709915509, "lat": 40.7616343, "lon": -73.9890588}, {"type": "node", "id": 2709915510, "lat": 40.7616348, "lon": -73.9889647}, {"type": "node", "id": 2709915511, "lat": 40.7616374, "lon": -73.9888507}, {"type": "node", "id": 2709915513, "lat": 40.7616398, "lon": -73.9896832}, {"type": "node", "id": 2709915514, "lat": 40.7616457, "lon": -73.9890405}, {"type": "node", "id": 2709915515, "lat": 40.7616467, "lon": -73.9895564}, {"type": "node", "id": 2709915516, "lat": 40.7616489, "lon": -73.989048}, {"type": "node", "id": 2709915519, "lat": 40.7616539, "lon": -73.9891377}, {"type": "node", "id": 2709915520, "lat": 40.7616548, "lon": -73.988941}, {"type": "node", "id": 2709915522, "lat": 40.7616551, "lon": -73.989789}, {"type": "node", "id": 2709915525, "lat": 40.7616605, "lon": -73.9889544}, {"type": "node", "id": 2709915528, "lat": 40.7616607, "lon": -73.9889237}, {"type": "node", "id": 2709915531, "lat": 40.7616618, "lon": -73.9887284}, {"type": "node", "id": 2709915532, "lat": 40.7616621, "lon": -73.9890284}, {"type": "node", "id": 2709915533, "lat": 40.7616652, "lon": -73.9891391}, {"type": "node", "id": 2709915534, "lat": 40.7616653, "lon": -73.989036}, {"type": "node", "id": 2709915537, "lat": 40.7616666, "lon": -73.9889323}, {"type": "node", "id": 2709915538, "lat": 40.7616723, "lon": -73.9889457}, {"type": "node", "id": 2709915540, "lat": 40.7616727, "lon": -73.9889279}, {"type": "node", "id": 2709915541, "lat": 40.7616762, "lon": -73.9900663}, {"type": "node", "id": 2709915542, "lat": 40.7616777, "lon": -73.9897724}, {"type": "node", "id": 2709915545, "lat": 40.7616817, "lon": -73.9890066}, {"type": "node", "id": 2709915546, "lat": 40.7616819, "lon": -73.9896394}, {"type": "node", "id": 2709915550, "lat": 40.7616873, "lon": -73.9890198}, {"type": "node", "id": 2709915555, "lat": 40.7616953, "lon": -73.9889966}, {"type": "node", "id": 2709915556, "lat": 40.7616956, "lon": -73.9888079}, {"type": "node", "id": 2709915557, "lat": 40.7617009, "lon": -73.9890098}, {"type": "node", "id": 2709915562, "lat": 40.7617152, "lon": -73.9891024}, {"type": "node", "id": 2709915570, "lat": 40.7617265, "lon": -73.9890941}, {"type": "node", "id": 2709915572, "lat": 40.761729, "lon": -73.9888865}, {"type": "node", "id": 2709915597, "lat": 40.7617622, "lon": -73.9889648}, {"type": "node", "id": 2709915600, "lat": 40.7617665, "lon": -73.9889616}, {"type": "node", "id": 2709915617, "lat": 40.7617999, "lon": -73.9890402}, {"type": "node", "id": 2710031801, "lat": 40.7611765, "lon": -73.9871188}, {"type": "node", "id": 2710031802, "lat": 40.761235, "lon": -73.9870763}, {"type": "node", "id": 2710031803, "lat": 40.7612611, "lon": -73.9871703}, {"type": "node", "id": 2710031804, "lat": 40.7612647, "lon": -73.987147}, {"type": "node", "id": 2710031805, "lat": 40.7612799, "lon": -73.9872151}, {"type": "node", "id": 2710031806, "lat": 40.7612858, "lon": -73.9870394}, {"type": "node", "id": 2710031807, "lat": 40.7612902, "lon": -73.9872076}, {"type": "node", "id": 2710031808, "lat": 40.7613088, "lon": -73.9874339}, {"type": "node", "id": 2710031809, "lat": 40.761317, "lon": -73.9873033}, {"type": "node", "id": 2710031810, "lat": 40.7613222, "lon": -73.9872838}, {"type": "node", "id": 2710031811, "lat": 40.7613323, "lon": -73.9873396}, {"type": "node", "id": 2710031812, "lat": 40.7613428, "lon": -73.9873329}, {"type": "node", "id": 2710031813, "lat": 40.7613539, "lon": -73.98699}, {"type": "node", "id": 2710031814, "lat": 40.7613571, "lon": -73.9873988}, {"type": "node", "id": 2710031815, "lat": 40.7613661, "lon": -73.9872303}, {"type": "node", "id": 2710031816, "lat": 40.7613762, "lon": -73.987223}, {"type": "node", "id": 2710031817, "lat": 40.7613782, "lon": -73.9875989}, {"type": "node", "id": 2710031818, "lat": 40.7613909, "lon": -73.9872894}, {"type": "node", "id": 2710031819, "lat": 40.7613915, "lon": -73.9872592}, {"type": "node", "id": 2710031820, "lat": 40.7613937, "lon": -73.987296}, {"type": "node", "id": 2710031821, "lat": 40.7613971, "lon": -73.9872551}, {"type": "node", "id": 2710031822, "lat": 40.7614044, "lon": -73.9876612}, {"type": "node", "id": 2710031823, "lat": 40.7614085, "lon": -73.9872825}, {"type": "node", "id": 2710031824, "lat": 40.7614262, "lon": -73.9876453}, {"type": "node", "id": 2710031825, "lat": 40.7614495, "lon": -73.9877007}, {"type": "node", "id": 2710031826, "lat": 40.7614608, "lon": -73.9872445}, {"type": "node", "id": 2710031827, "lat": 40.7614641, "lon": -73.9872521}, {"type": "node", "id": 2710031828, "lat": 40.7614729, "lon": -73.9877565}, {"type": "node", "id": 2710031829, "lat": 40.7614731, "lon": -73.9878325}, {"type": "node", "id": 2710031830, "lat": 40.761478, "lon": -73.9877528}, {"type": "node", "id": 2710031831, "lat": 40.7614879, "lon": -73.9872348}, {"type": "node", "id": 2710031832, "lat": 40.7615015, "lon": -73.9878116}, {"type": "node", "id": 2710031835, "lat": 40.7615282, "lon": -73.9871532}, {"type": "node", "id": 2710031836, "lat": 40.7615381, "lon": -73.987564}, {"type": "node", "id": 2710031837, "lat": 40.7615563, "lon": -73.9873985}, {"type": "node", "id": 2710031838, "lat": 40.761556, "lon": -73.9873206}, {"type": "node", "id": 2710031839, "lat": 40.7615613, "lon": -73.987294}, {"type": "node", "id": 2710031840, "lat": 40.7615614, "lon": -73.9876194}, {"type": "node", "id": 2710031841, "lat": 40.7615632, "lon": -73.9873378}, {"type": "node", "id": 2710031842, "lat": 40.7615666, "lon": -73.9871253}, {"type": "node", "id": 2710031843, "lat": 40.7615686, "lon": -73.9873115}, {"type": "node", "id": 2710031844, "lat": 40.7615751, "lon": -73.9873291}, {"type": "node", "id": 2710031845, "lat": 40.7615811, "lon": -73.9872797}, {"type": "node", "id": 2710031846, "lat": 40.7615846, "lon": -73.9876754}, {"type": "node", "id": 2710031847, "lat": 40.761593, "lon": -73.9873718}, {"type": "node", "id": 2710031849, "lat": 40.7616086, "lon": -73.9877324}, {"type": "node", "id": 2710031850, "lat": 40.7616185, "lon": -73.9874242}, {"type": "node", "id": 2710031851, "lat": 40.7616194, "lon": -73.9872518}, {"type": "node", "id": 2710031852, "lat": 40.7616447, "lon": -73.9874865}, {"type": "node", "id": 2710031853, "lat": 40.7616587, "lon": -73.9867682}, {"type": "node", "id": 2710031855, "lat": 40.7616671, "lon": -73.9876903}, {"type": "node", "id": 2710031856, "lat": 40.761668, "lon": -73.9875419}, {"type": "node", "id": 2710031858, "lat": 40.7616866, "lon": -73.9872029}, {"type": "node", "id": 2710031859, "lat": 40.7616872, "lon": -73.9883409}, {"type": "node", "id": 2710031860, "lat": 40.7616914, "lon": -73.9875977}, {"type": "node", "id": 2710031861, "lat": 40.7616929, "lon": -73.9872181}, {"type": "node", "id": 2710031862, "lat": 40.7617134, "lon": -73.9877987}, {"type": "node", "id": 2710031864, "lat": 40.7617156, "lon": -73.98832}, {"type": "node", "id": 2710031869, "lat": 40.7617597, "lon": -73.987765}, {"type": "node", "id": 2710031879, "lat": 40.7618115, "lon": -73.9871318}, {"type": "node", "id": 2710031880, "lat": 40.7618136, "lon": -73.9878932}, {"type": "node", "id": 2710031884, "lat": 40.7618244, "lon": -73.9882411}, {"type": "node", "id": 2710031913, "lat": 40.7619281, "lon": -73.9881658}, {"type": "node", "id": 2716126869, "lat": 40.7592986, "lon": -73.9884907}, {"type": "node", "id": 2716126873, "lat": 40.7594299, "lon": -73.9888057}, {"type": "node", "id": 2716126875, "lat": 40.7594379, "lon": -73.988824}, {"type": "node", "id": 2716126878, "lat": 40.7594796, "lon": -73.9887934}, {"type": "node", "id": 2716126879, "lat": 40.7594878, "lon": -73.9888128}, {"type": "node", "id": 2716126881, "lat": 40.7595369, "lon": -73.9883175}, {"type": "node", "id": 2716126882, "lat": 40.7595486, "lon": -73.9889036}, {"type": "node", "id": 2716126885, "lat": 40.7595862, "lon": -73.9889927}, {"type": "node", "id": 2716126886, "lat": 40.7595902, "lon": -73.9891862}, {"type": "node", "id": 2716126888, "lat": 40.7595952, "lon": -73.9882698}, {"type": "node", "id": 2716126889, "lat": 40.7595967, "lon": -73.9892028}, {"type": "node", "id": 2716126890, "lat": 40.7595969, "lon": -73.9882739}, {"type": "node", "id": 2716126891, "lat": 40.7596136, "lon": -73.9891092}, {"type": "node", "id": 2716126893, "lat": 40.7596259, "lon": -73.9891385}, {"type": "node", "id": 2716126895, "lat": 40.759631, "lon": -73.9885432}, {"type": "node", "id": 2716126896, "lat": 40.7596381, "lon": -73.9891296}, {"type": "node", "id": 2716126897, "lat": 40.759645, "lon": -73.989146}, {"type": "node", "id": 2716126899, "lat": 40.7596509, "lon": -73.9888289}, {"type": "node", "id": 2716126900, "lat": 40.7596547, "lon": -73.9886905}, {"type": "node", "id": 2716126901, "lat": 40.759665, "lon": -73.988219}, {"type": "node", "id": 2716126903, "lat": 40.7596689, "lon": -73.9893745}, {"type": "node", "id": 2716126905, "lat": 40.7596682, "lon": -73.9886325}, {"type": "node", "id": 2716126906, "lat": 40.7596833, "lon": -73.9884794}, {"type": "node", "id": 2716126907, "lat": 40.7596885, "lon": -73.988918}, {"type": "node", "id": 2716126908, "lat": 40.7596916, "lon": -73.9884992}, {"type": "node", "id": 2716126913, "lat": 40.7596918, "lon": -73.9886828}, {"type": "node", "id": 2716126914, "lat": 40.7596954, "lon": -73.9894376}, {"type": "node", "id": 2716126917, "lat": 40.7597188, "lon": -73.9881785}, {"type": "node", "id": 2716126919, "lat": 40.7597193, "lon": -73.9881796}, {"type": "node", "id": 2716126920, "lat": 40.7597251, "lon": -73.9892729}, {"type": "node", "id": 2716126922, "lat": 40.7597447, "lon": -73.9893195}, {"type": "node", "id": 2716126924, "lat": 40.7597455, "lon": -73.9884737}, {"type": "node", "id": 2716126925, "lat": 40.7597531, "lon": -73.9884286}, {"type": "node", "id": 2716126926, "lat": 40.7597606, "lon": -73.9895926}, {"type": "node", "id": 2716126929, "lat": 40.7597609, "lon": -73.9888472}, {"type": "node", "id": 2716126931, "lat": 40.7597653, "lon": -73.9893868}, {"type": "node", "id": 2716126932, "lat": 40.7597677, "lon": -73.9885266}, {"type": "node", "id": 2716126933, "lat": 40.7597708, "lon": -73.9884157}, {"type": "node", "id": 2716126936, "lat": 40.759773, "lon": -73.988139}, {"type": "node", "id": 2716126937, "lat": 40.759781, "lon": -73.989641}, {"type": "node", "id": 2716126938, "lat": 40.7597796, "lon": -73.9889875}, {"type": "node", "id": 2716126940, "lat": 40.7597836, "lon": -73.988446}, {"type": "node", "id": 2716126942, "lat": 40.7597854, "lon": -73.9894347}, {"type": "node", "id": 2716126944, "lat": 40.75979, "lon": -73.9885795}, {"type": "node", "id": 2716126945, "lat": 40.7598016, "lon": -73.9892779}, {"type": "node", "id": 2716126946, "lat": 40.7598052, "lon": -73.9889465}, {"type": "node", "id": 2716126949, "lat": 40.7598201, "lon": -73.9884194}, {"type": "node", "id": 2716126950, "lat": 40.7598281, "lon": -73.9893411}, {"type": "node", "id": 2716126952, "lat": 40.7598316, "lon": -73.9893351}, {"type": "node", "id": 2716126953, "lat": 40.7598389, "lon": -73.9890267}, {"type": "node", "id": 2716126955, "lat": 40.7598412, "lon": -73.989534}, {"type": "node", "id": 2716126957, "lat": 40.7598428, "lon": -73.989788}, {"type": "node", "id": 2716126958, "lat": 40.7598492, "lon": -73.988783}, {"type": "node", "id": 2716126959, "lat": 40.7598528, "lon": -73.9893857}, {"type": "node", "id": 2716126962, "lat": 40.7598616, "lon": -73.9895824}, {"type": "node", "id": 2716126964, "lat": 40.7598619, "lon": -73.9885272}, {"type": "node", "id": 2716126965, "lat": 40.7598628, "lon": -73.9890836}, {"type": "node", "id": 2716126966, "lat": 40.7598628, "lon": -73.9898387}, {"type": "node", "id": 2716126969, "lat": 40.7598709, "lon": -73.9883825}, {"type": "node", "id": 2716126970, "lat": 40.7598722, "lon": -73.9885518}, {"type": "node", "id": 2716126971, "lat": 40.7598743, "lon": -73.98838}, {"type": "node", "id": 2716126974, "lat": 40.7598915, "lon": -73.9888837}, {"type": "node", "id": 2716126976, "lat": 40.7598915, "lon": -73.9891519}, {"type": "node", "id": 2716126977, "lat": 40.7598931, "lon": -73.9884355}, {"type": "node", "id": 2716126978, "lat": 40.7598959, "lon": -73.9890596}, {"type": "node", "id": 2716126980, "lat": 40.7598989, "lon": -73.9892862}, {"type": "node", "id": 2716126982, "lat": 40.7599111, "lon": -73.9891983}, {"type": "node", "id": 2716126984, "lat": 40.7599123, "lon": -73.9894894}, {"type": "node", "id": 2716126986, "lat": 40.7599153, "lon": -73.9884883}, {"type": "node", "id": 2716126988, "lat": 40.7599186, "lon": -73.9891137}, {"type": "node", "id": 2716126989, "lat": 40.7599204, "lon": -73.9885437}, {"type": "node", "id": 2716126991, "lat": 40.7599209, "lon": -73.9897313}, {"type": "node", "id": 2716126993, "lat": 40.7599239, "lon": -73.9884821}, {"type": "node", "id": 2716126994, "lat": 40.7599275, "lon": -73.9899926}, {"type": "node", "id": 2716126996, "lat": 40.7599331, "lon": -73.9895388}, {"type": "node", "id": 2716126998, "lat": 40.7599413, "lon": -73.9891678}, {"type": "node", "id": 2716127000, "lat": 40.7599419, "lon": -73.9897813}, {"type": "node", "id": 2716127001, "lat": 40.7599429, "lon": -73.9885273}, {"type": "node", "id": 2716127002, "lat": 40.759964, "lon": -73.9892219}, {"type": "node", "id": 2716127004, "lat": 40.7599675, "lon": -73.9894493}, {"type": "node", "id": 2716127006, "lat": 40.7599717, "lon": -73.9886657}, {"type": "node", "id": 2716127008, "lat": 40.7599771, "lon": -73.9898895}, {"type": "node", "id": 2716127009, "lat": 40.7599852, "lon": -73.99013}, {"type": "node", "id": 2716127012, "lat": 40.7599876, "lon": -73.9899489}, {"type": "node", "id": 2716127013, "lat": 40.7599883, "lon": -73.9894986}, {"type": "node", "id": 2716127014, "lat": 40.7599884, "lon": -73.9896717}, {"type": "node", "id": 2716127015, "lat": 40.7599909, "lon": -73.9886517}, {"type": "node", "id": 2716127018, "lat": 40.7599949, "lon": -73.9898766}, {"type": "node", "id": 2716127020, "lat": 40.7599954, "lon": -73.9898777}, {"type": "node", "id": 2716127021, "lat": 40.7599967, "lon": -73.9899704}, {"type": "node", "id": 2716127022, "lat": 40.7599987, "lon": -73.9899408}, {"type": "node", "id": 2716127025, "lat": 40.7600043, "lon": -73.9901753}, {"type": "node", "id": 2716127026, "lat": 40.7600086, "lon": -73.9897197}, {"type": "node", "id": 2716127027, "lat": 40.7600283, "lon": -73.9891954}, {"type": "node", "id": 2716127028, "lat": 40.7600308, "lon": -73.9898504}, {"type": "node", "id": 2716127032, "lat": 40.7600313, "lon": -73.9898516}, {"type": "node", "id": 2716127033, "lat": 40.7600348, "lon": -73.9891704}, {"type": "node", "id": 2716127034, "lat": 40.7600357, "lon": -73.9892132}, {"type": "node", "id": 2716127035, "lat": 40.7600424, "lon": -73.9887741}, {"type": "node", "id": 2716127038, "lat": 40.7600436, "lon": -73.9900832}, {"type": "node", "id": 2716127039, "lat": 40.760044, "lon": -73.9896312}, {"type": "node", "id": 2716127040, "lat": 40.7600449, "lon": -73.9898402}, {"type": "node", "id": 2716127041, "lat": 40.7600451, "lon": -73.9900866}, {"type": "node", "id": 2716127045, "lat": 40.7600542, "lon": -73.9892165}, {"type": "node", "id": 2716127046, "lat": 40.7600589, "lon": -73.9892131}, {"type": "node", "id": 2716127047, "lat": 40.7600601, "lon": -73.9903082}, {"type": "node", "id": 2716127050, "lat": 40.7600641, "lon": -73.9896793}, {"type": "node", "id": 2716127051, "lat": 40.7600653, "lon": -73.9892284}, {"type": "node", "id": 2716127052, "lat": 40.7600665, "lon": -73.9898917}, {"type": "node", "id": 2716127053, "lat": 40.760077, "lon": -73.9900589}, {"type": "node", "id": 2716127057, "lat": 40.7600909, "lon": -73.9889179}, {"type": "node", "id": 2716127058, "lat": 40.7600911, "lon": -73.9892898}, {"type": "node", "id": 2716127059, "lat": 40.7600913, "lon": -73.9896218}, {"type": "node", "id": 2716127061, "lat": 40.7600934, "lon": -73.9903874}, {"type": "node", "id": 2716127063, "lat": 40.7600975, "lon": -73.9901076}, {"type": "node", "id": 2716127064, "lat": 40.7601, "lon": -73.9889112}, {"type": "node", "id": 2716127070, "lat": 40.7601132, "lon": -73.9902417}, {"type": "node", "id": 2716127071, "lat": 40.7601136, "lon": -73.9889719}, {"type": "node", "id": 2716127073, "lat": 40.7601173, "lon": -73.9896836}, {"type": "node", "id": 2716127076, "lat": 40.7601197, "lon": -73.9893578}, {"type": "node", "id": 2716127077, "lat": 40.7601222, "lon": -73.9902631}, {"type": "node", "id": 2716127078, "lat": 40.7601267, "lon": -73.9904666}, {"type": "node", "id": 2716127079, "lat": 40.7601273, "lon": -73.9895102}, {"type": "node", "id": 2716127082, "lat": 40.7601286, "lon": -73.9902707}, {"type": "node", "id": 2716127083, "lat": 40.7601331, "lon": -73.9898433}, {"type": "node", "id": 2716127085, "lat": 40.7601336, "lon": -73.9900138}, {"type": "node", "id": 2716127087, "lat": 40.7601363, "lon": -73.989026}, {"type": "node", "id": 2716127089, "lat": 40.7601435, "lon": -73.9897459}, {"type": "node", "id": 2716127090, "lat": 40.7601444, "lon": -73.9894165}, {"type": "node", "id": 2716127091, "lat": 40.7601483, "lon": -73.9898602}, {"type": "node", "id": 2716127093, "lat": 40.7601545, "lon": -73.9900635}, {"type": "node", "id": 2716127095, "lat": 40.7601545, "lon": -73.990343}, {"type": "node", "id": 2716127097, "lat": 40.7601548, "lon": -73.9895757}, {"type": "node", "id": 2716127099, "lat": 40.760155, "lon": -73.9897375}, {"type": "node", "id": 2716127101, "lat": 40.7601551, "lon": -73.9903319}, {"type": "node", "id": 2716127104, "lat": 40.7601591, "lon": -73.9890801}, {"type": "node", "id": 2716127106, "lat": 40.7601599, "lon": -73.9905457}, {"type": "node", "id": 2716127109, "lat": 40.7601618, "lon": -73.9903499}, {"type": "node", "id": 2716127110, "lat": 40.7601649, "lon": -73.9899911}, {"type": "node", "id": 2716127113, "lat": 40.7601666, "lon": -73.989995}, {"type": "node", "id": 2716127116, "lat": 40.7601706, "lon": -73.9894788}, {"type": "node", "id": 2716127118, "lat": 40.760171, "lon": -73.9898153}, {"type": "node", "id": 2716127120, "lat": 40.7601826, "lon": -73.9898032}, {"type": "node", "id": 2716127123, "lat": 40.7601849, "lon": -73.9891415}, {"type": "node", "id": 2716127125, "lat": 40.7601878, "lon": -73.9904221}, {"type": "node", "id": 2716127127, "lat": 40.7601883, "lon": -73.9904111}, {"type": "node", "id": 2716127129, "lat": 40.7601932, "lon": -73.9906249}, {"type": "node", "id": 2716127131, "lat": 40.7601951, "lon": -73.990429}, {"type": "node", "id": 2716127134, "lat": 40.760196, "lon": -73.9898749}, {"type": "node", "id": 2716127137, "lat": 40.760196, "lon": -73.9899736}, {"type": "node", "id": 2716127139, "lat": 40.7602089, "lon": -73.9901996}, {"type": "node", "id": 2716127140, "lat": 40.7602091, "lon": -73.9902121}, {"type": "node", "id": 2716127143, "lat": 40.7602107, "lon": -73.9892029}, {"type": "node", "id": 2716127146, "lat": 40.7602136, "lon": -73.9892008}, {"type": "node", "id": 2716127147, "lat": 40.7602147, "lon": -73.9900198}, {"type": "node", "id": 2716127149, "lat": 40.7602179, "lon": -73.9899269}, {"type": "node", "id": 2716127150, "lat": 40.760221, "lon": -73.9905013}, {"type": "node", "id": 2716127153, "lat": 40.7602216, "lon": -73.9904903}, {"type": "node", "id": 2716127154, "lat": 40.7602265, "lon": -73.9907041}, {"type": "node", "id": 2716127155, "lat": 40.7602284, "lon": -73.9905082}, {"type": "node", "id": 2716127156, "lat": 40.7602317, "lon": -73.9907167}, {"type": "node", "id": 2716127159, "lat": 40.7602353, "lon": -73.9899143}, {"type": "node", "id": 2716127160, "lat": 40.7602361, "lon": -73.990273}, {"type": "node", "id": 2716127162, "lat": 40.7602422, "lon": -73.9892687}, {"type": "node", "id": 2716127163, "lat": 40.7602424, "lon": -73.9902913}, {"type": "node", "id": 2716127166, "lat": 40.7602443, "lon": -73.9899356}, {"type": "node", "id": 2716127167, "lat": 40.7602446, "lon": -73.9902775}, {"type": "node", "id": 2716127168, "lat": 40.7602475, "lon": -73.989756}, {"type": "node", "id": 2716127169, "lat": 40.7602487, "lon": -73.9897588}, {"type": "node", "id": 2716127173, "lat": 40.7602543, "lon": -73.9905805}, {"type": "node", "id": 2716127176, "lat": 40.7602549, "lon": -73.9905695}, {"type": "node", "id": 2716127177, "lat": 40.7602617, "lon": -73.9905874}, {"type": "node", "id": 2716127178, "lat": 40.7602624, "lon": -73.9901333}, {"type": "node", "id": 2716127181, "lat": 40.7602669, "lon": -73.9893275}, {"type": "node", "id": 2716127182, "lat": 40.7602678, "lon": -73.9901567}, {"type": "node", "id": 2716127183, "lat": 40.7602681, "lon": -73.98995}, {"type": "node", "id": 2716127185, "lat": 40.7602694, "lon": -73.9903522}, {"type": "node", "id": 2716127188, "lat": 40.7602757, "lon": -73.9903705}, {"type": "node", "id": 2716127189, "lat": 40.7602771, "lon": -73.9897345}, {"type": "node", "id": 2716127190, "lat": 40.7602779, "lon": -73.9903566}, {"type": "node", "id": 2716127191, "lat": 40.7602843, "lon": -73.9899065}, {"type": "node", "id": 2716127192, "lat": 40.7602902, "lon": -73.9899204}, {"type": "node", "id": 2716127194, "lat": 40.760293, "lon": -73.9893898}, {"type": "node", "id": 2716127195, "lat": 40.7602939, "lon": -73.9906714}, {"type": "node", "id": 2716127196, "lat": 40.7603013, "lon": -73.9902363}, {"type": "node", "id": 2716127198, "lat": 40.7603027, "lon": -73.9904314}, {"type": "node", "id": 2716127200, "lat": 40.7603029, "lon": -73.9899112}, {"type": "node", "id": 2716127201, "lat": 40.7603033, "lon": -73.9897969}, {"type": "node", "id": 2716127203, "lat": 40.7603071, "lon": -73.9907028}, {"type": "node", "id": 2716127204, "lat": 40.7603072, "lon": -73.9899216}, {"type": "node", "id": 2716127206, "lat": 40.7603089, "lon": -73.9904496}, {"type": "node", "id": 2716127207, "lat": 40.7603111, "lon": -73.9904358}, {"type": "node", "id": 2716127210, "lat": 40.7603205, "lon": -73.9894552}, {"type": "node", "id": 2716127211, "lat": 40.7603252, "lon": -73.9898489}, {"type": "node", "id": 2716127213, "lat": 40.7603345, "lon": -73.9903155}, {"type": "node", "id": 2716127214, "lat": 40.7603347, "lon": -73.9899016}, {"type": "node", "id": 2716127216, "lat": 40.7603353, "lon": -73.9907903}, {"type": "node", "id": 2716127217, "lat": 40.7603359, "lon": -73.9905106}, {"type": "node", "id": 2716127219, "lat": 40.7603391, "lon": -73.990779}, {"type": "node", "id": 2716127222, "lat": 40.7603422, "lon": -73.9905288}, {"type": "node", "id": 2716127223, "lat": 40.7603444, "lon": -73.990515}, {"type": "node", "id": 2716127225, "lat": 40.7603462, "lon": -73.9908162}, {"type": "node", "id": 2716127227, "lat": 40.7603465, "lon": -73.989517}, {"type": "node", "id": 2716127228, "lat": 40.7603466, "lon": -73.9907821}, {"type": "node", "id": 2716127230, "lat": 40.7603497, "lon": -73.9908137}, {"type": "node", "id": 2716127235, "lat": 40.7603575, "lon": -73.9908445}, {"type": "node", "id": 2716127237, "lat": 40.7603588, "lon": -73.990811}, {"type": "node", "id": 2716127240, "lat": 40.7603601, "lon": -73.9910223}, {"type": "node", "id": 2716127241, "lat": 40.7603614, "lon": -73.9908417}, {"type": "node", "id": 2716127243, "lat": 40.7603616, "lon": -73.9899657}, {"type": "node", "id": 2716127244, "lat": 40.7603619, "lon": -73.9908087}, {"type": "node", "id": 2716127246, "lat": 40.7603659, "lon": -73.99066}, {"type": "node", "id": 2716127247, "lat": 40.7603678, "lon": -73.9903946}, {"type": "node", "id": 2716127249, "lat": 40.760368, "lon": -73.9902056}, {"type": "node", "id": 2716127251, "lat": 40.7603682, "lon": -73.9901883}, {"type": "node", "id": 2716127253, "lat": 40.7603687, "lon": -73.9908325}, {"type": "node", "id": 2716127255, "lat": 40.7603712, "lon": -73.9908307}, {"type": "node", "id": 2716127256, "lat": 40.7603727, "lon": -73.9895793}, {"type": "node", "id": 2716127257, "lat": 40.7603796, "lon": -73.9908971}, {"type": "node", "id": 2716127260, "lat": 40.760384, "lon": -73.9902437}, {"type": "node", "id": 2716127262, "lat": 40.7603866, "lon": -73.9899407}, {"type": "node", "id": 2716127263, "lat": 40.7603867, "lon": -73.9899475}, {"type": "node", "id": 2716127264, "lat": 40.7603893, "lon": -73.9899362}, {"type": "node", "id": 2716127266, "lat": 40.7603898, "lon": -73.9908995}, {"type": "node", "id": 2716127267, "lat": 40.760392, "lon": -73.9908881}, {"type": "node", "id": 2716127268, "lat": 40.7603923, "lon": -73.9907498}, {"type": "node", "id": 2716127270, "lat": 40.7603936, "lon": -73.9899356}, {"type": "node", "id": 2716127272, "lat": 40.7603977, "lon": -73.9899395}, {"type": "node", "id": 2716127273, "lat": 40.7603979, "lon": -73.9907363}, {"type": "node", "id": 2716127274, "lat": 40.7604003, "lon": -73.989645}, {"type": "node", "id": 2716127276, "lat": 40.7604011, "lon": -73.9904738}, {"type": "node", "id": 2716127277, "lat": 40.7604028, "lon": -73.9907749}, {"type": "node", "id": 2716127278, "lat": 40.7604059, "lon": -73.9902958}, {"type": "node", "id": 2716127279, "lat": 40.7604072, "lon": -73.9907718}, {"type": "node", "id": 2716127282, "lat": 40.7604077, "lon": -73.9900762}, {"type": "node", "id": 2716127283, "lat": 40.7604078, "lon": -73.9907376}, {"type": "node", "id": 2716127284, "lat": 40.7604093, "lon": -73.9899311}, {"type": "node", "id": 2716127287, "lat": 40.7604103, "lon": -73.9898467}, {"type": "node", "id": 2716127288, "lat": 40.760413, "lon": -73.9899399}, {"type": "node", "id": 2716127289, "lat": 40.7604138, "lon": -73.9908011}, {"type": "node", "id": 2716127291, "lat": 40.7604182, "lon": -73.9907979}, {"type": "node", "id": 2716127293, "lat": 40.7604199, "lon": -73.9907665}, {"type": "node", "id": 2716127294, "lat": 40.7604224, "lon": -73.9909771}, {"type": "node", "id": 2716127295, "lat": 40.7604231, "lon": -73.9907642}, {"type": "node", "id": 2716127297, "lat": 40.7604247, "lon": -73.9904182}, {"type": "node", "id": 2716127298, "lat": 40.7604265, "lon": -73.9897074}, {"type": "node", "id": 2716127299, "lat": 40.760427, "lon": -73.9906156}, {"type": "node", "id": 2716127301, "lat": 40.7604298, "lon": -73.9907881}, {"type": "node", "id": 2716127303, "lat": 40.7604324, "lon": -73.9907862}, {"type": "node", "id": 2716127304, "lat": 40.7604341, "lon": -73.9901391}, {"type": "node", "id": 2716127305, "lat": 40.7604344, "lon": -73.990553}, {"type": "node", "id": 2716127307, "lat": 40.7604345, "lon": -73.9901401}, {"type": "node", "id": 2716127308, "lat": 40.7604375, "lon": -73.9908575}, {"type": "node", "id": 2716127310, "lat": 40.7604384, "lon": -73.9903403}, {"type": "node", "id": 2716127311, "lat": 40.7604401, "lon": -73.9901533}, {"type": "node", "id": 2716127312, "lat": 40.760441, "lon": -73.9899196}, {"type": "node", "id": 2716127313, "lat": 40.7604471, "lon": -73.9904714}, {"type": "node", "id": 2716127314, "lat": 40.7604484, "lon": -73.9897594}, {"type": "node", "id": 2716127315, "lat": 40.7604486, "lon": -73.9908568}, {"type": "node", "id": 2716127316, "lat": 40.7604513, "lon": -73.990032}, {"type": "node", "id": 2716127318, "lat": 40.760453, "lon": -73.9902881}, {"type": "node", "id": 2716127319, "lat": 40.7604532, "lon": -73.9908436}, {"type": "node", "id": 2716127320, "lat": 40.7604534, "lon": -73.9907053}, {"type": "node", "id": 2716127321, "lat": 40.7604552, "lon": -73.9897757}, {"type": "node", "id": 2716127322, "lat": 40.7604553, "lon": -73.9900416}, {"type": "node", "id": 2716127323, "lat": 40.7604591, "lon": -73.9906918}, {"type": "node", "id": 2716127324, "lat": 40.7604603, "lon": -73.9903924}, {"type": "node", "id": 2716127326, "lat": 40.760464, "lon": -73.9907305}, {"type": "node", "id": 2716127327, "lat": 40.7604664, "lon": -73.99032}, {"type": "node", "id": 2716127328, "lat": 40.7604684, "lon": -73.9907273}, {"type": "node", "id": 2716127329, "lat": 40.760469, "lon": -73.9906932}, {"type": "node", "id": 2716127330, "lat": 40.7604691, "lon": -73.9897789}, {"type": "node", "id": 2716127332, "lat": 40.760475, "lon": -73.9907567}, {"type": "node", "id": 2716127334, "lat": 40.760476, "lon": -73.9902449}, {"type": "node", "id": 2716127337, "lat": 40.7604771, "lon": -73.9897981}, {"type": "node", "id": 2716127339, "lat": 40.7604794, "lon": -73.9907535}, {"type": "node", "id": 2716127341, "lat": 40.7604811, "lon": -73.9907221}, {"type": "node", "id": 2716127344, "lat": 40.7604811, "lon": -73.9909344}, {"type": "node", "id": 2716127346, "lat": 40.7604812, "lon": -73.9900102}, {"type": "node", "id": 2716127349, "lat": 40.7604838, "lon": -73.9904447}, {"type": "node", "id": 2716127351, "lat": 40.760484, "lon": -73.9897931}, {"type": "node", "id": 2716127355, "lat": 40.7604843, "lon": -73.9907198}, {"type": "node", "id": 2716127357, "lat": 40.7604845, "lon": -73.9902652}, {"type": "node", "id": 2716127359, "lat": 40.7604882, "lon": -73.9905711}, {"type": "node", "id": 2716127361, "lat": 40.760491, "lon": -73.9907436}, {"type": "node", "id": 2716127364, "lat": 40.7604935, "lon": -73.9907418}, {"type": "node", "id": 2716127366, "lat": 40.7604987, "lon": -73.990813}, {"type": "node", "id": 2716127369, "lat": 40.7605039, "lon": -73.9904925}, {"type": "node", "id": 2716127373, "lat": 40.7605097, "lon": -73.9908124}, {"type": "node", "id": 2716127375, "lat": 40.7605117, "lon": -73.9900827}, {"type": "node", "id": 2716127389, "lat": 40.7605122, "lon": -73.9905976}, {"type": "node", "id": 2716127391, "lat": 40.7605144, "lon": -73.9907992}, {"type": "node", "id": 2716127392, "lat": 40.7605146, "lon": -73.9906608}, {"type": "node", "id": 2716127394, "lat": 40.7605205, "lon": -73.990648}, {"type": "node", "id": 2716127398, "lat": 40.7605252, "lon": -73.990686}, {"type": "node", "id": 2716127401, "lat": 40.7605296, "lon": -73.9906828}, {"type": "node", "id": 2716127403, "lat": 40.7605306, "lon": -73.9906414}, {"type": "node", "id": 2716127405, "lat": 40.7605306, "lon": -73.990655}, {"type": "node", "id": 2716127408, "lat": 40.7605362, "lon": -73.9907122}, {"type": "node", "id": 2716127411, "lat": 40.7605377, "lon": -73.9906719}, {"type": "node", "id": 2716127414, "lat": 40.7605406, "lon": -73.990709}, {"type": "node", "id": 2716127416, "lat": 40.7605409, "lon": -73.9906896}, {"type": "node", "id": 2716127419, "lat": 40.7605414, "lon": -73.9907247}, {"type": "node", "id": 2716127423, "lat": 40.7605423, "lon": -73.9908899}, {"type": "node", "id": 2716127425, "lat": 40.7605486, "lon": -73.9906757}, {"type": "node", "id": 2716127427, "lat": 40.7605517, "lon": -73.9907153}, {"type": "node", "id": 2716127429, "lat": 40.7605546, "lon": -73.9905571}, {"type": "node", "id": 2716127432, "lat": 40.7605577, "lon": -73.9905645}, {"type": "node", "id": 2716127435, "lat": 40.7605594, "lon": -73.9907097}, {"type": "node", "id": 2716127438, "lat": 40.7605599, "lon": -73.9907686}, {"type": "node", "id": 2716127440, "lat": 40.7605614, "lon": -73.9905522}, {"type": "node", "id": 2716127443, "lat": 40.7605631, "lon": -73.9907494}, {"type": "node", "id": 2716127446, "lat": 40.7605645, "lon": -73.9905596}, {"type": "node", "id": 2716127448, "lat": 40.7605647, "lon": -73.9904483}, {"type": "node", "id": 2716127450, "lat": 40.7605672, "lon": -73.9904541}, {"type": "node", "id": 2716127453, "lat": 40.7605721, "lon": -73.9907708}, {"type": "node", "id": 2716127457, "lat": 40.760573, "lon": -73.9907422}, {"type": "node", "id": 2716127460, "lat": 40.7605778, "lon": -73.9906576}, {"type": "node", "id": 2716127461, "lat": 40.7605837, "lon": -73.9900304}, {"type": "node", "id": 2716127465, "lat": 40.7605845, "lon": -73.9900727}, {"type": "node", "id": 2716127466, "lat": 40.7605883, "lon": -73.9905423}, {"type": "node", "id": 2716127469, "lat": 40.7605926, "lon": -73.9900921}, {"type": "node", "id": 2716127471, "lat": 40.760593, "lon": -73.9906466}, {"type": "node", "id": 2716127476, "lat": 40.7605933, "lon": -73.9900534}, {"type": "node", "id": 2716127478, "lat": 40.7605958, "lon": -73.9904333}, {"type": "node", "id": 2716127480, "lat": 40.7605971, "lon": -73.9907035}, {"type": "node", "id": 2716127483, "lat": 40.7606035, "lon": -73.9908454}, {"type": "node", "id": 2716127486, "lat": 40.760606, "lon": -73.9905846}, {"type": "node", "id": 2716127488, "lat": 40.7606123, "lon": -73.9906925}, {"type": "node", "id": 2716127490, "lat": 40.7606145, "lon": -73.9901442}, {"type": "node", "id": 2716127494, "lat": 40.760616, "lon": -73.9905911}, {"type": "node", "id": 2716127497, "lat": 40.7606205, "lon": -73.9904923}, {"type": "node", "id": 2716127499, "lat": 40.7606206, "lon": -73.9906225}, {"type": "node", "id": 2716127501, "lat": 40.7606222, "lon": -73.990606}, {"type": "node", "id": 2716127504, "lat": 40.7606291, "lon": -73.9906059}, {"type": "node", "id": 2716127507, "lat": 40.7606348, "lon": -73.9906195}, {"type": "node", "id": 2716127509, "lat": 40.7606364, "lon": -73.9901964}, {"type": "node", "id": 2716127512, "lat": 40.7606368, "lon": -73.9906547}, {"type": "node", "id": 2716127514, "lat": 40.7606448, "lon": -73.99055}, {"type": "node", "id": 2716127517, "lat": 40.7606466, "lon": -73.9906476}, {"type": "node", "id": 2716127519, "lat": 40.7606494, "lon": -73.9906848}, {"type": "node", "id": 2716127521, "lat": 40.7606544, "lon": -73.9902513}, {"type": "node", "id": 2716127523, "lat": 40.7606583, "lon": -73.9902485}, {"type": "node", "id": 2716127526, "lat": 40.7606592, "lon": -73.9906776}, {"type": "node", "id": 2716127529, "lat": 40.7606655, "lon": -73.990535}, {"type": "node", "id": 2716127533, "lat": 40.7606768, "lon": -73.9903045}, {"type": "node", "id": 2716127536, "lat": 40.7606798, "lon": -73.990569}, {"type": "node", "id": 2716127538, "lat": 40.7606864, "lon": -73.9903275}, {"type": "node", "id": 2716127540, "lat": 40.7606987, "lon": -73.9907715}, {"type": "node", "id": 2716127543, "lat": 40.7607002, "lon": -73.9907751}, {"type": "node", "id": 2716127547, "lat": 40.7607023, "lon": -73.9903284}, {"type": "node", "id": 2716127549, "lat": 40.76071, "lon": -73.9905027}, {"type": "node", "id": 2716127551, "lat": 40.7607111, "lon": -73.9903495}, {"type": "node", "id": 2716127555, "lat": 40.7607359, "lon": -73.9904084}, {"type": "node", "id": 2716127558, "lat": 40.7607494, "lon": -73.9907346}, {"type": "node", "id": 2716127560, "lat": 40.7607602, "lon": -73.9904662}, {"type": "node", "id": 2716127562, "lat": 40.7607939, "lon": -73.9907023}, {"type": "node", "id": 2716127567, "lat": 40.7608441, "lon": -73.9906658}, {"type": "node", "id": 2716231288, "lat": 40.7562748, "lon": -73.9870909}, {"type": "node", "id": 2716231289, "lat": 40.7562754, "lon": -73.9870715}, {"type": "node", "id": 2716231292, "lat": 40.7562765, "lon": -73.9870633}, {"type": "node", "id": 2716231293, "lat": 40.7562754, "lon": -73.9871104}, {"type": "node", "id": 2716231296, "lat": 40.7562765, "lon": -73.9871193}, {"type": "node", "id": 2716231297, "lat": 40.7562809, "lon": -73.9870451}, {"type": "node", "id": 2716231300, "lat": 40.7562807, "lon": -73.9871381}, {"type": "node", "id": 2716231301, "lat": 40.7562866, "lon": -73.9870272}, {"type": "node", "id": 2716231303, "lat": 40.7562834, "lon": -73.9871466}, {"type": "node", "id": 2716231305, "lat": 40.7562933, "lon": -73.9870104}, {"type": "node", "id": 2716231307, "lat": 40.7562907, "lon": -73.9871641}, {"type": "node", "id": 2716231309, "lat": 40.7562968, "lon": -73.9870041}, {"type": "node", "id": 2716231311, "lat": 40.7562949, "lon": -73.9871719}, {"type": "node", "id": 2716231313, "lat": 40.7562995, "lon": -73.987179}, {"type": "node", "id": 2716231320, "lat": 40.7563067, "lon": -73.9869904}, {"type": "node", "id": 2716231322, "lat": 40.7563106, "lon": -73.9871932}, {"type": "node", "id": 2716231324, "lat": 40.7563177, "lon": -73.9869777}, {"type": "node", "id": 2716231326, "lat": 40.7563224, "lon": -73.9872067}, {"type": "node", "id": 2716231328, "lat": 40.7563296, "lon": -73.9869649}, {"type": "node", "id": 2716231329, "lat": 40.7563349, "lon": -73.9872197}, {"type": "node", "id": 2716231332, "lat": 40.7563421, "lon": -73.9869559}, {"type": "node", "id": 2716231333, "lat": 40.7563413, "lon": -73.987226}, {"type": "node", "id": 2716231336, "lat": 40.7563482, "lon": -73.9869521}, {"type": "node", "id": 2716231337, "lat": 40.7563456, "lon": -73.9872228}, {"type": "node", "id": 2716231339, "lat": 40.7563624, "lon": -73.9869454}, {"type": "node", "id": 2716231341, "lat": 40.7563774, "lon": -73.9869395}, {"type": "node", "id": 2716231343, "lat": 40.7563929, "lon": -73.9869344}, {"type": "node", "id": 2716231345, "lat": 40.7563933, "lon": -73.9874312}, {"type": "node", "id": 2716231347, "lat": 40.7564242, "lon": -73.9874087}, {"type": "node", "id": 2716231348, "lat": 40.7564314, "lon": -73.9875204, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716231351, "lat": 40.7564859, "lon": -73.9876494}, {"type": "node", "id": 2716231353, "lat": 40.7565139, "lon": -73.9877155}, {"type": "node", "id": 2716231355, "lat": 40.756562, "lon": -73.9867685}, {"type": "node", "id": 2716231356, "lat": 40.7565754, "lon": -73.9868004}, {"type": "node", "id": 2716231359, "lat": 40.7566325, "lon": -73.9872553}, {"type": "node", "id": 2716231360, "lat": 40.756654, "lon": -73.9880458}, {"type": "node", "id": 2716231363, "lat": 40.7566649, "lon": -73.9880379}, {"type": "node", "id": 2716231364, "lat": 40.7566756, "lon": -73.9866851}, {"type": "node", "id": 2716231366, "lat": 40.7566782, "lon": -73.9873635}, {"type": "node", "id": 2716231368, "lat": 40.7567156, "lon": -73.9867017}, {"type": "node", "id": 2716231370, "lat": 40.7567251, "lon": -73.9874739}, {"type": "node", "id": 2716231372, "lat": 40.7567277, "lon": -73.9882195}, {"type": "node", "id": 2716231374, "lat": 40.7567386, "lon": -73.9882115}, {"type": "node", "id": 2716231376, "lat": 40.7567495, "lon": -73.9875426}, {"type": "node", "id": 2716231378, "lat": 40.7567556, "lon": -73.9882854}, {"type": "node", "id": 2716231379, "lat": 40.7568353, "lon": -73.9877448}, {"type": "node", "id": 2716231382, "lat": 40.7568806, "lon": -73.98715}, {"type": "node", "id": 2716231383, "lat": 40.7568897, "lon": -73.9878729}, {"type": "node", "id": 2716231386, "lat": 40.7568993, "lon": -73.9871362}, {"type": "node", "id": 2716231387, "lat": 40.7569014, "lon": -73.987199}, {"type": "node", "id": 2716231389, "lat": 40.7569209, "lon": -73.9871855}, {"type": "node", "id": 2716231391, "lat": 40.7569671, "lon": -73.9880555}, {"type": "node", "id": 2716231393, "lat": 40.7569912, "lon": -73.9881124}, {"type": "node", "id": 2716231395, "lat": 40.7570816, "lon": -73.9875641}, {"type": "node", "id": 2716231397, "lat": 40.7570979, "lon": -73.9883637}, {"type": "node", "id": 2716231398, "lat": 40.7572134, "lon": -73.9878748}, {"type": "node", "id": 2716231401, "lat": 40.7572874, "lon": -73.9895385}, {"type": "node", "id": 2716231402, "lat": 40.7572914, "lon": -73.9888197}, {"type": "node", "id": 2716231404, "lat": 40.7573441, "lon": -73.988183}, {"type": "node", "id": 2716231405, "lat": 40.7574162, "lon": -73.9898589}, {"type": "node", "id": 2716231407, "lat": 40.7575165, "lon": -73.9900989}, {"type": "node", "id": 2716231409, "lat": 40.7575376, "lon": -73.988639}, {"type": "node", "id": 2716231410, "lat": 40.7575493, "lon": -73.9901775}, {"type": "node", "id": 2716231411, "lat": 40.7576118, "lon": -73.9897176}, {"type": "node", "id": 2716231413, "lat": 40.7576585, "lon": -73.9896839}, {"type": "node", "id": 2716231415, "lat": 40.757712, "lon": -73.9899576}, {"type": "node", "id": 2716231417, "lat": 40.7577511, "lon": -73.99065}, {"type": "node", "id": 2716231419, "lat": 40.7577579, "lon": -73.9899219}, {"type": "node", "id": 2716231421, "lat": 40.7577692, "lon": -73.9891849}, {"type": "node", "id": 2716231423, "lat": 40.7577698, "lon": -73.9899483}, {"type": "node", "id": 2716231425, "lat": 40.7577715, "lon": -73.9899121}, {"type": "node", "id": 2716231427, "lat": 40.7577827, "lon": -73.989939}, {"type": "node", "id": 2716231429, "lat": 40.757784, "lon": -73.9907287}, {"type": "node", "id": 2716231431, "lat": 40.7577923, "lon": -73.990002}, {"type": "node", "id": 2716231434, "lat": 40.7577972, "lon": -73.9906167}, {"type": "node", "id": 2716231437, "lat": 40.7578091, "lon": -73.9906222}, {"type": "node", "id": 2716231439, "lat": 40.7578168, "lon": -73.9908074}, {"type": "node", "id": 2716231444, "lat": 40.7578202, "lon": -73.9898769}, {"type": "node", "id": 2716231457, "lat": 40.757822, "lon": -73.9899751}, {"type": "node", "id": 2716231461, "lat": 40.7578275, "lon": -73.9900795}, {"type": "node", "id": 2716231464, "lat": 40.7578298, "lon": -73.9906956}, {"type": "node", "id": 2716231468, "lat": 40.7578322, "lon": -73.9906818}, {"type": "node", "id": 2716231470, "lat": 40.7578419, "lon": -73.9907009}, {"type": "node", "id": 2716231474, "lat": 40.7578432, "lon": -73.9905975}, {"type": "node", "id": 2716231475, "lat": 40.7578468, "lon": -73.9905809}, {"type": "node", "id": 2716231478, "lat": 40.7578497, "lon": -73.990886}, {"type": "node", "id": 2716231479, "lat": 40.7578521, "lon": -73.9899533}, {"type": "node", "id": 2716231481, "lat": 40.7578568, "lon": -73.9900584}, {"type": "node", "id": 2716231483, "lat": 40.7578568, "lon": -73.9905737}, {"type": "node", "id": 2716231485, "lat": 40.757863, "lon": -73.9907741}, {"type": "node", "id": 2716231487, "lat": 40.757865, "lon": -73.9907605}, {"type": "node", "id": 2716231489, "lat": 40.7578653, "lon": -73.9906579}, {"type": "node", "id": 2716231491, "lat": 40.7578684, "lon": -73.9905789}, {"type": "node", "id": 2716231493, "lat": 40.7578748, "lon": -73.9907796}, {"type": "node", "id": 2716231494, "lat": 40.7578761, "lon": -73.9906762}, {"type": "node", "id": 2716231496, "lat": 40.7578771, "lon": -73.9906615}, {"type": "node", "id": 2716231498, "lat": 40.7578797, "lon": -73.9906596}, {"type": "node", "id": 2716231501, "lat": 40.7578834, "lon": -73.9909668}, {"type": "node", "id": 2716231502, "lat": 40.7578897, "lon": -73.9906524}, {"type": "node", "id": 2716231505, "lat": 40.757891, "lon": -73.9906514}, {"type": "node", "id": 2716231506, "lat": 40.7578935, "lon": -73.9906372}, {"type": "node", "id": 2716231509, "lat": 40.7578958, "lon": -73.9908527}, {"type": "node", "id": 2716231510, "lat": 40.7578979, "lon": -73.9908391}, {"type": "node", "id": 2716231512, "lat": 40.7578981, "lon": -73.9907366}, {"type": "node", "id": 2716231514, "lat": 40.7579012, "lon": -73.9906576}, {"type": "node", "id": 2716231516, "lat": 40.7579021, "lon": -73.9895079}, {"type": "node", "id": 2716231518, "lat": 40.7579076, "lon": -73.9908582}, {"type": "node", "id": 2716231520, "lat": 40.7579089, "lon": -73.9907549}, {"type": "node", "id": 2716231522, "lat": 40.7579099, "lon": -73.9907401}, {"type": "node", "id": 2716231524, "lat": 40.7579125, "lon": -73.9907383}, {"type": "node", "id": 2716231525, "lat": 40.757915, "lon": -73.9902891}, {"type": "node", "id": 2716231528, "lat": 40.7579153, "lon": -73.9910432}, {"type": "node", "id": 2716231529, "lat": 40.7579225, "lon": -73.990731}, {"type": "node", "id": 2716231532, "lat": 40.7579239, "lon": -73.99073}, {"type": "node", "id": 2716231533, "lat": 40.7579263, "lon": -73.9907159}, {"type": "node", "id": 2716231536, "lat": 40.7579292, "lon": -73.9909337}, {"type": "node", "id": 2716231537, "lat": 40.757931, "lon": -73.9908152}, {"type": "node", "id": 2716231540, "lat": 40.7579316, "lon": -73.9909199}, {"type": "node", "id": 2716231541, "lat": 40.7579341, "lon": -73.9907363}, {"type": "node", "id": 2716231543, "lat": 40.7579378, "lon": -73.991027}, {"type": "node", "id": 2716231545, "lat": 40.7579418, "lon": -73.9908336}, {"type": "node", "id": 2716231547, "lat": 40.7579428, "lon": -73.9908188}, {"type": "node", "id": 2716231549, "lat": 40.7579454, "lon": -73.9908169}, {"type": "node", "id": 2716231551, "lat": 40.7579547, "lon": -73.9911478}, {"type": "node", "id": 2716231552, "lat": 40.7579554, "lon": -73.9908097}, {"type": "node", "id": 2716231554, "lat": 40.7579567, "lon": -73.9908087}, {"type": "node", "id": 2716231555, "lat": 40.7579592, "lon": -73.9907946}, {"type": "node", "id": 2716231557, "lat": 40.7579618, "lon": -73.9905114}, {"type": "node", "id": 2716231558, "lat": 40.7579647, "lon": -73.990896}, {"type": "node", "id": 2716231560, "lat": 40.7579669, "lon": -73.9908149}, {"type": "node", "id": 2716231561, "lat": 40.7579733, "lon": -73.991112}, {"type": "node", "id": 2716231563, "lat": 40.7579765, "lon": -73.9908995}, {"type": "node", "id": 2716231564, "lat": 40.7579802, "lon": -73.9912087}, {"type": "node", "id": 2716231566, "lat": 40.7579864, "lon": -73.9905702}, {"type": "node", "id": 2716231567, "lat": 40.7579905, "lon": -73.9908894}, {"type": "node", "id": 2716231569, "lat": 40.7579929, "lon": -73.9908753}, {"type": "node", "id": 2716231571, "lat": 40.7579947, "lon": -73.9905901}, {"type": "node", "id": 2716231572, "lat": 40.7579997, "lon": -73.9911153}, {"type": "node", "id": 2716231574, "lat": 40.7580005, "lon": -73.991194}, {"type": "node", "id": 2716231576, "lat": 40.7580082, "lon": -73.9911357}, {"type": "node", "id": 2716231578, "lat": 40.7580192, "lon": -73.9906488}, {"type": "node", "id": 2716231583, "lat": 40.7580275, "lon": -73.9906688}, {"type": "node", "id": 2716231584, "lat": 40.7580334, "lon": -73.9898224}, {"type": "node", "id": 2716231586, "lat": 40.7580432, "lon": -73.9894048}, {"type": "node", "id": 2716231587, "lat": 40.7580448, "lon": -73.9913624}, {"type": "node", "id": 2716231589, "lat": 40.7580478, "lon": -73.990848}, {"type": "node", "id": 2716231590, "lat": 40.7580521, "lon": -73.9907275}, {"type": "node", "id": 2716231592, "lat": 40.7580583, "lon": -73.9908524}, {"type": "node", "id": 2716231593, "lat": 40.7580604, "lon": -73.9907474}, {"type": "node", "id": 2716231595, "lat": 40.7580647, "lon": -73.9913479}, {"type": "node", "id": 2716231596, "lat": 40.7580682, "lon": -73.9899057}, {"type": "node", "id": 2716231598, "lat": 40.7580685, "lon": -73.9909596}, {"type": "node", "id": 2716231600, "lat": 40.7580698, "lon": -73.9914222}, {"type": "node", "id": 2716231601, "lat": 40.7580731, "lon": -73.9910527}, {"type": "node", "id": 2716231603, "lat": 40.7580806, "lon": -73.9909239}, {"type": "node", "id": 2716231604, "lat": 40.7580831, "lon": -73.9909095}, {"type": "node", "id": 2716231605, "lat": 40.7580847, "lon": -73.9910804}, {"type": "node", "id": 2716231606, "lat": 40.7580858, "lon": -73.9908082}, {"type": "node", "id": 2716231607, "lat": 40.7580876, "lon": -73.9914419}, {"type": "node", "id": 2716231608, "lat": 40.7580872, "lon": -73.9906088}, {"type": "node", "id": 2716231609, "lat": 40.7580953, "lon": -73.9910239}, {"type": "node", "id": 2716231611, "lat": 40.7581063, "lon": -73.9913681}, {"type": "node", "id": 2716231612, "lat": 40.7581152, "lon": -73.9913894}, {"type": "node", "id": 2716231614, "lat": 40.7581206, "lon": -73.9906888}, {"type": "node", "id": 2716231615, "lat": 40.7581286, "lon": -73.9909162}, {"type": "node", "id": 2716231617, "lat": 40.7581299, "lon": -73.9908006}, {"type": "node", "id": 2716231618, "lat": 40.7581304, "lon": -73.9905777}, {"type": "node", "id": 2716231620, "lat": 40.7581376, "lon": -73.9909377}, {"type": "node", "id": 2716231622, "lat": 40.7581421, "lon": -73.9905817}, {"type": "node", "id": 2716231623, "lat": 40.7581467, "lon": -73.9909311}, {"type": "node", "id": 2716231625, "lat": 40.758154, "lon": -73.9907688}, {"type": "node", "id": 2716231626, "lat": 40.758154, "lon": -73.9908583}, {"type": "node", "id": 2716231628, "lat": 40.7581557, "lon": -73.9901152}, {"type": "node", "id": 2716231629, "lat": 40.7581567, "lon": -73.9908689}, {"type": "node", "id": 2716231631, "lat": 40.7581617, "lon": -73.9909672}, {"type": "node", "id": 2716231632, "lat": 40.7581638, "lon": -73.9906577}, {"type": "node", "id": 2716231634, "lat": 40.758169, "lon": -73.9906443}, {"type": "node", "id": 2716231635, "lat": 40.7581725, "lon": -73.9905598}, {"type": "node", "id": 2716231637, "lat": 40.7581747, "lon": -73.989719}, {"type": "node", "id": 2716231638, "lat": 40.7581755, "lon": -73.9906617}, {"type": "node", "id": 2716231640, "lat": 40.7581774, "lon": -73.9905716}, {"type": "node", "id": 2716231641, "lat": 40.7581813, "lon": -73.9913139}, {"type": "node", "id": 2716231643, "lat": 40.7581879, "lon": -73.99085}, {"type": "node", "id": 2716231644, "lat": 40.7581892, "lon": -73.9909517}, {"type": "node", "id": 2716231646, "lat": 40.7581893, "lon": -73.9909472}, {"type": "node", "id": 2716231647, "lat": 40.7581895, "lon": -73.9892989}, {"type": "node", "id": 2716231649, "lat": 40.7581929, "lon": -73.9913418}, {"type": "node", "id": 2716231650, "lat": 40.7581947, "lon": -73.9909649}, {"type": "node", "id": 2716231652, "lat": 40.7581952, "lon": -73.9906125}, {"type": "node", "id": 2716231653, "lat": 40.758197, "lon": -73.9907378}, {"type": "node", "id": 2716231655, "lat": 40.7581993, "lon": -73.9906224}, {"type": "node", "id": 2716231656, "lat": 40.7582008, "lon": -73.9905393}, {"type": "node", "id": 2716231658, "lat": 40.7582024, "lon": -73.9907243}, {"type": "node", "id": 2716231659, "lat": 40.7582057, "lon": -73.9905511}, {"type": "node", "id": 2716231661, "lat": 40.7582058, "lon": -73.9906397}, {"type": "node", "id": 2716231662, "lat": 40.758209, "lon": -73.9897965}, {"type": "node", "id": 2716231664, "lat": 40.7582092, "lon": -73.9907406}, {"type": "node", "id": 2716231665, "lat": 40.7582108, "lon": -73.9906515}, {"type": "node", "id": 2716231667, "lat": 40.7582122, "lon": -73.9909239}, {"type": "node", "id": 2716231668, "lat": 40.7582158, "lon": -73.9909325}, {"type": "node", "id": 2716231670, "lat": 40.7582184, "lon": -73.9917553}, {"type": "node", "id": 2716231671, "lat": 40.7582173, "lon": -73.9909202}, {"type": "node", "id": 2716231678, "lat": 40.7582227, "lon": -73.9905927}, {"type": "node", "id": 2716231679, "lat": 40.758227, "lon": -73.990603}, {"type": "node", "id": 2716231681, "lat": 40.7582286, "lon": -73.9906925}, {"type": "node", "id": 2716231682, "lat": 40.7582318, "lon": -73.9908183}, {"type": "node", "id": 2716231684, "lat": 40.7582327, "lon": -73.9907023}, {"type": "node", "id": 2716231685, "lat": 40.7582342, "lon": -73.9906193}, {"type": "node", "id": 2716231688, "lat": 40.7582354, "lon": -73.9908031}, {"type": "node", "id": 2716231689, "lat": 40.7582368, "lon": -73.9892647}, {"type": "node", "id": 2716231691, "lat": 40.7582391, "lon": -73.9906311}, {"type": "node", "id": 2716231692, "lat": 40.7582396, "lon": -73.9907187}, {"type": "node", "id": 2716231694, "lat": 40.7582435, "lon": -73.989878}, {"type": "node", "id": 2716231696, "lat": 40.7582437, "lon": -73.9908181}, {"type": "node", "id": 2716231697, "lat": 40.7582441, "lon": -73.9907295}, {"type": "node", "id": 2716231699, "lat": 40.7582509, "lon": -73.9905031}, {"type": "node", "id": 2716231700, "lat": 40.758254, "lon": -73.9909049}, {"type": "node", "id": 2716231702, "lat": 40.7582548, "lon": -73.9907218}, {"type": "node", "id": 2716231703, "lat": 40.7582554, "lon": -73.9904874}, {"type": "node", "id": 2716231705, "lat": 40.7582561, "lon": -73.9906727}, {"type": "node", "id": 2716231706, "lat": 40.7582608, "lon": -73.9897586}, {"type": "node", "id": 2716231708, "lat": 40.7582613, "lon": -73.9907692}, {"type": "node", "id": 2716231709, "lat": 40.7582633, "lon": -73.9906899}, {"type": "node", "id": 2716231711, "lat": 40.7582646, "lon": -73.9908972}, {"type": "node", "id": 2716231712, "lat": 40.7582662, "lon": -73.9907809}, {"type": "node", "id": 2716231714, "lat": 40.7582687, "lon": -73.9908828}, {"type": "node", "id": 2716231715, "lat": 40.7582716, "lon": -73.9907097}, {"type": "node", "id": 2716231717, "lat": 40.7582735, "lon": -73.9897639}, {"type": "node", "id": 2716231718, "lat": 40.7582739, "lon": -73.9907962}, {"type": "node", "id": 2716231720, "lat": 40.7582745, "lon": -73.9908869}, {"type": "node", "id": 2716231721, "lat": 40.7582766, "lon": -73.9906713}, {"type": "node", "id": 2716231723, "lat": 40.7582769, "lon": -73.990567}, {"type": "node", "id": 2716231724, "lat": 40.7582779, "lon": -73.9908058}, {"type": "node", "id": 2716231726, "lat": 40.7582792, "lon": -73.9893659}, {"type": "node", "id": 2716231728, "lat": 40.7582795, "lon": -73.9906782}, {"type": "node", "id": 2716231729, "lat": 40.7582831, "lon": -73.9906869}, {"type": "node", "id": 2716231731, "lat": 40.7582869, "lon": -73.9892295}, {"type": "node", "id": 2716231732, "lat": 40.7582843, "lon": -73.9905831}, {"type": "node", "id": 2716231734, "lat": 40.7582876, "lon": -73.9907502}, {"type": "node", "id": 2716231735, "lat": 40.7582878, "lon": -73.9892322}, {"type": "node", "id": 2716231737, "lat": 40.7582888, "lon": -73.9905674}, {"type": "node", "id": 2716231738, "lat": 40.758289, "lon": -73.9893891}, {"type": "node", "id": 2716231740, "lat": 40.7582918, "lon": -73.9897359}, {"type": "node", "id": 2716231741, "lat": 40.7582925, "lon": -73.98975}, {"type": "node", "id": 2716231743, "lat": 40.7582929, "lon": -73.9907628}, {"type": "node", "id": 2716231744, "lat": 40.7582935, "lon": -73.9893555}, {"type": "node", "id": 2716231746, "lat": 40.7582944, "lon": -73.9908495}, {"type": "node", "id": 2716231747, "lat": 40.7582991, "lon": -73.9908608}, {"type": "node", "id": 2716231749, "lat": 40.7582999, "lon": -73.990777}, {"type": "node", "id": 2716231750, "lat": 40.7583004, "lon": -73.9904549}, {"type": "node", "id": 2716231752, "lat": 40.7583021, "lon": -73.9912136}, {"type": "node", "id": 2716231753, "lat": 40.7583032, "lon": -73.9893787}, {"type": "node", "id": 2716231755, "lat": 40.758304, "lon": -73.990787}, {"type": "node", "id": 2716231756, "lat": 40.7583103, "lon": -73.9906469}, {"type": "node", "id": 2716231757, "lat": 40.7583167, "lon": -73.9896028}, {"type": "node", "id": 2716231758, "lat": 40.7583172, "lon": -73.9906623}, {"type": "node", "id": 2716231759, "lat": 40.758318, "lon": -73.9912515}, {"type": "node", "id": 2716231760, "lat": 40.7583192, "lon": -73.991162}, {"type": "node", "id": 2716231761, "lat": 40.7583193, "lon": -73.9897158}, {"type": "node", "id": 2716231762, "lat": 40.7583207, "lon": -73.9906484}, {"type": "node", "id": 2716231766, "lat": 40.758321, "lon": -73.9896131}, {"type": "node", "id": 2716231768, "lat": 40.7583222, "lon": -73.9908294}, {"type": "node", "id": 2716231769, "lat": 40.7583232, "lon": -73.9912706}, {"type": "node", "id": 2716231771, "lat": 40.7583242, "lon": -73.9920088}, {"type": "node", "id": 2716231772, "lat": 40.7583267, "lon": -73.9897334}, {"type": "node", "id": 2716231774, "lat": 40.7583269, "lon": -73.9908407}, {"type": "node", "id": 2716231775, "lat": 40.7583318, "lon": -73.9911922}, {"type": "node", "id": 2716231777, "lat": 40.7583338, "lon": -73.9905349}, {"type": "node", "id": 2716231778, "lat": 40.7583422, "lon": -73.9907273}, {"type": "node", "id": 2716231780, "lat": 40.7583426, "lon": -73.9898056}, {"type": "node", "id": 2716231781, "lat": 40.7583516, "lon": -73.9911385}, {"type": "node", "id": 2716231783, "lat": 40.7583517, "lon": -73.9907396}, {"type": "node", "id": 2716231784, "lat": 40.7583528, "lon": -73.9898298}, {"type": "node", "id": 2716231786, "lat": 40.7583556, "lon": -73.9895486}, {"type": "node", "id": 2716231787, "lat": 40.7583556, "lon": -73.990724}, {"type": "node", "id": 2716231789, "lat": 40.7583562, "lon": -73.9920855}, {"type": "node", "id": 2716231790, "lat": 40.7583579, "lon": -73.9919843}, {"type": "node", "id": 2716231791, "lat": 40.7583608, "lon": -73.9896996}, {"type": "node", "id": 2716231793, "lat": 40.7583637, "lon": -73.9897064}, {"type": "node", "id": 2716231794, "lat": 40.758364, "lon": -73.9895686}, {"type": "node", "id": 2716231797, "lat": 40.7583671, "lon": -73.9906149}, {"type": "node", "id": 2716231799, "lat": 40.7583677, "lon": -73.9897872}, {"type": "node", "id": 2716231800, "lat": 40.7583736, "lon": -73.9911241}, {"type": "node", "id": 2716231803, "lat": 40.7583773, "lon": -73.9908044}, {"type": "node", "id": 2716231804, "lat": 40.758378, "lon": -73.9898114}, {"type": "node", "id": 2716231807, "lat": 40.7583855, "lon": -73.9908067}, {"type": "node", "id": 2716231809, "lat": 40.7583995, "lon": -73.9906923}, {"type": "node", "id": 2716231810, "lat": 40.758401, "lon": -73.9916225}, {"type": "node", "id": 2716231812, "lat": 40.758405, "lon": -73.9895127}, {"type": "node", "id": 2716231813, "lat": 40.7584064, "lon": -73.9911002}, {"type": "node", "id": 2716231815, "lat": 40.7584098, "lon": -73.9902714}, {"type": "node", "id": 2716231820, "lat": 40.75842, "lon": -73.9916682}, {"type": "node", "id": 2716231823, "lat": 40.7584291, "lon": -73.9896497}, {"type": "node", "id": 2716231824, "lat": 40.7584309, "lon": -73.9911923}, {"type": "node", "id": 2716231826, "lat": 40.758433, "lon": -73.9907724}, {"type": "node", "id": 2716231827, "lat": 40.7584345, "lon": -73.9897384}, {"type": "node", "id": 2716231829, "lat": 40.758442, "lon": -73.9903537}, {"type": "node", "id": 2716231832, "lat": 40.7584527, "lon": -73.9896192}, {"type": "node", "id": 2716231833, "lat": 40.7584539, "lon": -73.991584}, {"type": "node", "id": 2716231835, "lat": 40.758459, "lon": -73.9897205}, {"type": "node", "id": 2716231836, "lat": 40.758474, "lon": -73.9904306}, {"type": "node", "id": 2716231839, "lat": 40.7584772, "lon": -73.9916266}, {"type": "node", "id": 2716231841, "lat": 40.7584824, "lon": -73.9923879}, {"type": "node", "id": 2716231842, "lat": 40.7584893, "lon": -73.9897039}, {"type": "node", "id": 2716231844, "lat": 40.7584918, "lon": -73.9918869}, {"type": "node", "id": 2716231845, "lat": 40.7585022, "lon": -73.9903104}, {"type": "node", "id": 2716231847, "lat": 40.7585074, "lon": -73.9905111}, {"type": "node", "id": 2716231848, "lat": 40.7585083, "lon": -73.9919264}, {"type": "node", "id": 2716231850, "lat": 40.7585111, "lon": -73.9903115}, {"type": "node", "id": 2716231851, "lat": 40.7585174, "lon": -73.9919199}, {"type": "node", "id": 2716231856, "lat": 40.7585198, "lon": -73.9890638}, {"type": "node", "id": 2716231858, "lat": 40.7585264, "lon": -73.9919413}, {"type": "node", "id": 2716231859, "lat": 40.7585315, "lon": -73.9890916}, {"type": "node", "id": 2716231861, "lat": 40.7585321, "lon": -73.9910088}, {"type": "node", "id": 2716231862, "lat": 40.7585342, "lon": -73.9903873}, {"type": "node", "id": 2716231864, "lat": 40.7585379, "lon": -73.990374}, {"type": "node", "id": 2716231865, "lat": 40.7585398, "lon": -73.9905891}, {"type": "node", "id": 2716231867, "lat": 40.7585403, "lon": -73.9890852}, {"type": "node", "id": 2716231868, "lat": 40.7585445, "lon": -73.9903919}, {"type": "node", "id": 2716231870, "lat": 40.7585477, "lon": -73.9896616}, {"type": "node", "id": 2716231871, "lat": 40.7585616, "lon": -73.9915056}, {"type": "node", "id": 2716231873, "lat": 40.7585637, "lon": -73.9911054}, {"type": "node", "id": 2716231875, "lat": 40.758564, "lon": -73.9918344}, {"type": "node", "id": 2716231876, "lat": 40.7585678, "lon": -73.9904677}, {"type": "node", "id": 2716231878, "lat": 40.7585704, "lon": -73.9911005}, {"type": "node", "id": 2716231879, "lat": 40.7585714, "lon": -73.9904544}, {"type": "node", "id": 2716231881, "lat": 40.7585716, "lon": -73.9915478}, {"type": "node", "id": 2716231882, "lat": 40.7585775, "lon": -73.9915435}, {"type": "node", "id": 2716231884, "lat": 40.7585781, "lon": -73.9906682}, {"type": "node", "id": 2716231885, "lat": 40.7585894, "lon": -73.9911671}, {"type": "node", "id": 2716231887, "lat": 40.7585898, "lon": -73.990255}, {"type": "node", "id": 2716231888, "lat": 40.7585906, "lon": -73.9918946}, {"type": "node", "id": 2716231890, "lat": 40.7585933, "lon": -73.9902449}, {"type": "node", "id": 2716231891, "lat": 40.7585962, "lon": -73.9911622}, {"type": "node", "id": 2716231893, "lat": 40.7586007, "lon": -73.9901314}, {"type": "node", "id": 2716231895, "lat": 40.7586104, "lon": -73.9907445}, {"type": "node", "id": 2716231896, "lat": 40.7586158, "lon": -73.990318}, {"type": "node", "id": 2716231897, "lat": 40.7586232, "lon": -73.9903354}, {"type": "node", "id": 2716231898, "lat": 40.7586253, "lon": -73.9903219}, {"type": "node", "id": 2716231899, "lat": 40.7586273, "lon": -73.9912578}, {"type": "node", "id": 2716231900, "lat": 40.758634, "lon": -73.9912529}, {"type": "node", "id": 2716231901, "lat": 40.7586452, "lon": -73.9908265}, {"type": "node", "id": 2716231902, "lat": 40.7586492, "lon": -73.9903984}, {"type": "node", "id": 2716231904, "lat": 40.7586509, "lon": -73.9902036}, {"type": "node", "id": 2716231905, "lat": 40.7586525, "lon": -73.991318}, {"type": "node", "id": 2716231907, "lat": 40.7586542, "lon": -73.9904056}, {"type": "node", "id": 2716231908, "lat": 40.7586522, "lon": -73.9900937}, {"type": "node", "id": 2716231910, "lat": 40.758656, "lon": -73.9920515}, {"type": "node", "id": 2716231911, "lat": 40.7586587, "lon": -73.9904023}, {"type": "node", "id": 2716231913, "lat": 40.7586592, "lon": -73.9913132}, {"type": "node", "id": 2716231914, "lat": 40.7586652, "lon": -73.9919268}, {"type": "node", "id": 2716231916, "lat": 40.7586781, "lon": -73.990904}, {"type": "node", "id": 2716231917, "lat": 40.7586829, "lon": -73.9902805}, {"type": "node", "id": 2716231919, "lat": 40.7586867, "lon": -73.9904836}, {"type": "node", "id": 2716231920, "lat": 40.7586981, "lon": -73.9914064}, {"type": "node", "id": 2716231922, "lat": 40.7586037, "lon": -73.991926}, {"type": "node", "id": 2716231923, "lat": 40.758703, "lon": -73.9920174}, {"type": "node", "id": 2716231925, "lat": 40.7587093, "lon": -73.990572}, {"type": "node", "id": 2716231926, "lat": 40.7587154, "lon": -73.9918903}, {"type": "node", "id": 2716231928, "lat": 40.7587163, "lon": -73.990361}, {"type": "node", "id": 2716231929, "lat": 40.7587168, "lon": -73.9908757}, {"type": "node", "id": 2716231931, "lat": 40.7587173, "lon": -73.9909415}, {"type": "node", "id": 2716231932, "lat": 40.7587233, "lon": -73.9922126}, {"type": "node", "id": 2716231933, "lat": 40.7587242, "lon": -73.9909214}, {"type": "node", "id": 2716231935, "lat": 40.7587266, "lon": -73.9905785}, {"type": "node", "id": 2716231936, "lat": 40.7587333, "lon": -73.9909147}, {"type": "node", "id": 2716231941, "lat": 40.7587343, "lon": -73.9906536}, {"type": "node", "id": 2716231942, "lat": 40.7587417, "lon": -73.9906482}, {"type": "node", "id": 2716231944, "lat": 40.7587426, "lon": -73.990673}, {"type": "node", "id": 2716231945, "lat": 40.7587488, "lon": -73.9918205}, {"type": "node", "id": 2716231947, "lat": 40.7587473, "lon": -73.9906256}, {"type": "node", "id": 2716231948, "lat": 40.758753, "lon": -73.9919806}, {"type": "node", "id": 2716231950, "lat": 40.7587566, "lon": -73.9905565}, {"type": "node", "id": 2716231951, "lat": 40.7587581, "lon": -73.9907083}, {"type": "node", "id": 2716231952, "lat": 40.7587586, "lon": -73.9906524}, {"type": "node", "id": 2716231954, "lat": 40.7587615, "lon": -73.9906592}, {"type": "node", "id": 2716231955, "lat": 40.7587623, "lon": -73.9910475}, {"type": "node", "id": 2716231957, "lat": 40.7587625, "lon": -73.9906349}, {"type": "node", "id": 2716231958, "lat": 40.7587688, "lon": -73.9902828}, {"type": "node", "id": 2716231959, "lat": 40.7587695, "lon": -73.9907353}, {"type": "node", "id": 2716231961, "lat": 40.7587702, "lon": -73.9921785}, {"type": "node", "id": 2716231962, "lat": 40.7587711, "lon": -73.9906987}, {"type": "node", "id": 2716231964, "lat": 40.7587768, "lon": -73.990604}, {"type": "node", "id": 2716231965, "lat": 40.758779, "lon": -73.9907576}, {"type": "node", "id": 2716231967, "lat": 40.7587828, "lon": -73.9907256}, {"type": "node", "id": 2716231969, "lat": 40.7587894, "lon": -73.990422}, {"type": "node", "id": 2716231970, "lat": 40.7587922, "lon": -73.9907479}, {"type": "node", "id": 2716231972, "lat": 40.7587957, "lon": -73.9917864}, {"type": "node", "id": 2716231973, "lat": 40.7587944, "lon": -73.990795}, {"type": "node", "id": 2716231975, "lat": 40.7588011, "lon": -73.9919456}, {"type": "node", "id": 2716231976, "lat": 40.7588021, "lon": -73.9908131}, {"type": "node", "id": 2716231978, "lat": 40.7588045, "lon": -73.9918075}, {"type": "node", "id": 2716231979, "lat": 40.7588077, "lon": -73.9918052}, {"type": "node", "id": 2716231980, "lat": 40.7588101, "lon": -73.9906}, {"type": "node", "id": 2716231982, "lat": 40.7588139, "lon": -73.9907807}, {"type": "node", "id": 2716231984, "lat": 40.7588184, "lon": -73.9904009}, {"type": "node", "id": 2716231985, "lat": 40.7588204, "lon": -73.992142}, {"type": "node", "id": 2716231987, "lat": 40.7588216, "lon": -73.9907988}, {"type": "node", "id": 2716231988, "lat": 40.7588425, "lon": -73.9917524}, {"type": "node", "id": 2716231990, "lat": 40.7588432, "lon": -73.9906813}, {"type": "node", "id": 2716231991, "lat": 40.7588442, "lon": -73.9906805}, {"type": "node", "id": 2716231993, "lat": 40.7588081, "lon": -73.9916701}, {"type": "node", "id": 2716231994, "lat": 40.758846, "lon": -73.9907809}, {"type": "node", "id": 2716231996, "lat": 40.7588631, "lon": -73.9907284}, {"type": "node", "id": 2716231997, "lat": 40.758865, "lon": -73.9903134}, {"type": "node", "id": 2716231999, "lat": 40.7588679, "lon": -73.9907395}, {"type": "node", "id": 2716232000, "lat": 40.7588684, "lon": -73.9921071}, {"type": "node", "id": 2716232002, "lat": 40.7588688, "lon": -73.9907242}, {"type": "node", "id": 2716232003, "lat": 40.7588703, "lon": -73.990326}, {"type": "node", "id": 2716232005, "lat": 40.7588735, "lon": -73.9907353}, {"type": "node", "id": 2716232006, "lat": 40.7588761, "lon": -73.9907588}, {"type": "node", "id": 2716232008, "lat": 40.7588795, "lon": -73.990328}, {"type": "node", "id": 2716232009, "lat": 40.7588886, "lon": -73.9903498}, {"type": "node", "id": 2716232011, "lat": 40.7588939, "lon": -73.9899187}, {"type": "node", "id": 2716232012, "lat": 40.7588977, "lon": -73.9901888}, {"type": "node", "id": 2716232014, "lat": 40.7589035, "lon": -73.9902027}, {"type": "node", "id": 2716232015, "lat": 40.7589034, "lon": -73.9901565}, {"type": "node", "id": 2716232016, "lat": 40.7589085, "lon": -73.9909283}, {"type": "node", "id": 2716232018, "lat": 40.7589121, "lon": -73.9909256}, {"type": "node", "id": 2716232019, "lat": 40.758916, "lon": -73.9909348}, {"type": "node", "id": 2716232025, "lat": 40.7589185, "lon": -73.9920706}, {"type": "node", "id": 2716232026, "lat": 40.7589193, "lon": -73.9901912}, {"type": "node", "id": 2716232028, "lat": 40.7589424, "lon": -73.9902571}, {"type": "node", "id": 2716232029, "lat": 40.7589596, "lon": -73.9902981}, {"type": "node", "id": 2716232031, "lat": 40.758962, "lon": -73.992039}, {"type": "node", "id": 2716232032, "lat": 40.7589733, "lon": -73.9901041}, {"type": "node", "id": 2716232034, "lat": 40.7590028, "lon": -73.9916781}, {"type": "node", "id": 2716232035, "lat": 40.7590168, "lon": -73.9909628}, {"type": "node", "id": 2716232036, "lat": 40.7590302, "lon": -73.9917431}, {"type": "node", "id": 2716232037, "lat": 40.7590306, "lon": -73.9902465}, {"type": "node", "id": 2716232038, "lat": 40.7590346, "lon": -73.9902436}, {"type": "node", "id": 2716232039, "lat": 40.7590509, "lon": -73.9910439}, {"type": "node", "id": 2716232040, "lat": 40.7590695, "lon": -73.9917145}, {"type": "node", "id": 2716232042, "lat": 40.7590838, "lon": -73.9911221}, {"type": "node", "id": 2716232043, "lat": 40.7591011, "lon": -73.9916065}, {"type": "node", "id": 2716232045, "lat": 40.7591092, "lon": -73.991931}, {"type": "node", "id": 2716232046, "lat": 40.7591107, "lon": -73.9916845}, {"type": "node", "id": 2716232048, "lat": 40.7591176, "lon": -73.9912025}, {"type": "node", "id": 2716232049, "lat": 40.7591285, "lon": -73.9916716}, {"type": "node", "id": 2716232051, "lat": 40.759141, "lon": -73.9911855}, {"type": "node", "id": 2716232052, "lat": 40.7591485, "lon": -73.9919024}, {"type": "node", "id": 2716232053, "lat": 40.7591491, "lon": -73.9912831}, {"type": "node", "id": 2716232055, "lat": 40.759152, "lon": -73.9916545}, {"type": "node", "id": 2716232056, "lat": 40.7591571, "lon": -73.9914826}, {"type": "node", "id": 2716232058, "lat": 40.7591744, "lon": -73.9912648}, {"type": "node", "id": 2716232059, "lat": 40.7591824, "lon": -73.9913623}, {"type": "node", "id": 2716232061, "lat": 40.7591898, "lon": -73.9918724}, {"type": "node", "id": 2716232062, "lat": 40.7591919, "lon": -73.9909413}, {"type": "node", "id": 2716232064, "lat": 40.7592045, "lon": -73.9912429}, {"type": "node", "id": 2716232066, "lat": 40.7592113, "lon": -73.9916114}, {"type": "node", "id": 2716232068, "lat": 40.7592207, "lon": -73.9913995}, {"type": "node", "id": 2716232069, "lat": 40.7592248, "lon": -73.9910195}, {"type": "node", "id": 2716232072, "lat": 40.759231, "lon": -73.9918424}, {"type": "node", "id": 2716232073, "lat": 40.7592326, "lon": -73.9914277}, {"type": "node", "id": 2716232075, "lat": 40.7592378, "lon": -73.991322}, {"type": "node", "id": 2716232078, "lat": 40.7592434, "lon": -73.9913594}, {"type": "node", "id": 2716232079, "lat": 40.7592445, "lon": -73.9913139}, {"type": "node", "id": 2716232081, "lat": 40.759251, "lon": -73.9913774}, {"type": "node", "id": 2716232082, "lat": 40.759258, "lon": -73.9907874}, {"type": "node", "id": 2716232084, "lat": 40.7592586, "lon": -73.9911}, {"type": "node", "id": 2716232085, "lat": 40.7592589, "lon": -73.9913481}, {"type": "node", "id": 2716232088, "lat": 40.7592597, "lon": -73.9912027}, {"type": "node", "id": 2716232090, "lat": 40.7592666, "lon": -73.991403}, {"type": "node", "id": 2716232093, "lat": 40.7592903, "lon": -73.9917993}, {"type": "node", "id": 2716232095, "lat": 40.759292, "lon": -73.9912794}, {"type": "node", "id": 2716232098, "lat": 40.7592921, "lon": -73.9908685}, {"type": "node", "id": 2716232100, "lat": 40.759325, "lon": -73.9909467}, {"type": "node", "id": 2716232103, "lat": 40.7593419, "lon": -73.9913482}, {"type": "node", "id": 2716232105, "lat": 40.7593588, "lon": -73.9910271}, {"type": "node", "id": 2716232108, "lat": 40.7593619, "lon": -73.9913336}, {"type": "node", "id": 2716232110, "lat": 40.7593922, "lon": -73.9911064}, {"type": "node", "id": 2716232112, "lat": 40.7593952, "lon": -73.9914749}, {"type": "node", "id": 2716232123, "lat": 40.7593963, "lon": -73.9911034}, {"type": "node", "id": 2716232125, "lat": 40.7593997, "lon": -73.9917197}, {"type": "node", "id": 2716232128, "lat": 40.7594152, "lon": -73.9914604}, {"type": "node", "id": 2716232130, "lat": 40.7594246, "lon": -73.991183}, {"type": "node", "id": 2716232133, "lat": 40.7594285, "lon": -73.9911801}, {"type": "node", "id": 2716232135, "lat": 40.7594584, "lon": -73.9912635}, {"type": "node", "id": 2716232137, "lat": 40.7594951, "lon": -73.9916504}, {"type": "node", "id": 2716232140, "lat": 40.7595916, "lon": -73.9915802}, {"type": "node", "id": 2716261221, "lat": 40.7590683, "lon": -73.9937723}, {"type": "node", "id": 2716261228, "lat": 40.7593896, "lon": -73.9935656}, {"type": "node", "id": 2716261229, "lat": 40.7594019, "lon": -73.9945642}, {"type": "node", "id": 2716261235, "lat": 40.7597144, "lon": -73.9943365}, {"type": "node", "id": 2716264148, "lat": 40.7592251, "lon": -73.9930023}, {"type": "node", "id": 2716264149, "lat": 40.7592343, "lon": -73.9929805}, {"type": "node", "id": 2716264150, "lat": 40.7592392, "lon": -73.9929921}, {"type": "node", "id": 2716264151, "lat": 40.7592493, "lon": -73.9929696}, {"type": "node", "id": 2716264152, "lat": 40.7592542, "lon": -73.9929812}, {"type": "node", "id": 2716264153, "lat": 40.7593382, "lon": -73.9929199}, {"type": "node", "id": 2716264154, "lat": 40.7594453, "lon": -73.993525}, {"type": "node", "id": 2716264155, "lat": 40.7594926, "lon": -73.9934905}, {"type": "node", "id": 2716264156, "lat": 40.7595213, "lon": -73.9934696}, {"type": "node", "id": 2716264157, "lat": 40.7595303, "lon": -73.993491}, {"type": "node", "id": 2716264158, "lat": 40.7595674, "lon": -73.9934639}, {"type": "node", "id": 2716264159, "lat": 40.7598174, "lon": -73.9942614}, {"type": "node", "id": 2716714099, "lat": 40.7589841, "lon": -73.9908851}, {"type": "node", "id": 2716714101, "lat": 40.7591856, "lon": -73.9915503}, {"type": "node", "id": 2716714102, "lat": 40.7592152, "lon": -73.9914404}, {"type": "node", "id": 2716819744, "lat": 40.7563771, "lon": -73.9922554}, {"type": "node", "id": 2716819747, "lat": 40.756381, "lon": -73.9922646}, {"type": "node", "id": 2716819751, "lat": 40.7564388, "lon": -73.9922104}, {"type": "node", "id": 2716819754, "lat": 40.7564427, "lon": -73.9922196}, {"type": "node", "id": 2716819760, "lat": 40.7564939, "lon": -73.9922474}, {"type": "node", "id": 2716819763, "lat": 40.7565071, "lon": -73.9928625}, {"type": "node", "id": 2716819764, "lat": 40.7565178, "lon": -73.9923041, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716819767, "lat": 40.7565519, "lon": -73.9929692}, {"type": "node", "id": 2716819770, "lat": 40.7565754, "lon": -73.9924412, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716819773, "lat": 40.7566514, "lon": -73.9926221, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716819776, "lat": 40.7566538, "lon": -73.992755}, {"type": "node", "id": 2716819784, "lat": 40.7566825, "lon": -73.992734}, {"type": "node", "id": 2716819787, "lat": 40.7566987, "lon": -73.9928617}, {"type": "node", "id": 2716819788, "lat": 40.7567056, "lon": -73.9927891, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716819791, "lat": 40.7567273, "lon": -73.9928407}, {"type": "node", "id": 2716942480, "lat": 40.7540824, "lon": -73.9930114}, {"type": "node", "id": 2716952944, "lat": 40.7561611, "lon": -73.9929248, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716952945, "lat": 40.7562096, "lon": -73.9930404, "tags": {"entrance": "main"}}, {"type": "node", "id": 2716952946, "lat": 40.7562587, "lon": -73.9931574, "tags": {"entrance": "main"}}, {"type": "node", "id": 2717223393, "lat": 40.7542689, "lon": -73.9884389}, {"type": "node", "id": 2717223395, "lat": 40.7544024, "lon": -73.9887547}, {"type": "node", "id": 2717223398, "lat": 40.7545066, "lon": -73.9882652}, {"type": "node", "id": 2717223399, "lat": 40.7545651, "lon": -73.9886359}, {"type": "node", "id": 2717223401, "lat": 40.754579, "lon": -73.9891727}, {"type": "node", "id": 2717223403, "lat": 40.754604, "lon": -73.988728}, {"type": "node", "id": 2717223405, "lat": 40.7546257, "lon": -73.9881782}, {"type": "node", "id": 2717223407, "lat": 40.75464, "lon": -73.9885811}, {"type": "node", "id": 2717223409, "lat": 40.7546787, "lon": -73.9894086}, {"type": "node", "id": 2717223411, "lat": 40.7546789, "lon": -73.9886733}, {"type": "node", "id": 2717223413, "lat": 40.7546841, "lon": -73.9881355}, {"type": "node", "id": 2717223414, "lat": 40.7547379, "lon": -73.9880962}, {"type": "node", "id": 2717223415, "lat": 40.7547591, "lon": -73.9884941}, {"type": "node", "id": 2717223416, "lat": 40.7547694, "lon": -73.9889631}, {"type": "node", "id": 2717223417, "lat": 40.7547793, "lon": -73.9892987}, {"type": "node", "id": 2717223418, "lat": 40.754791, "lon": -73.9893265}, {"type": "node", "id": 2717223419, "lat": 40.7547922, "lon": -73.989017}, {"type": "node", "id": 2717223420, "lat": 40.7547938, "lon": -73.9889452}, {"type": "node", "id": 2717223421, "lat": 40.7548127, "lon": -73.9893107}, {"type": "node", "id": 2717223422, "lat": 40.7548175, "lon": -73.9884514}, {"type": "node", "id": 2717223423, "lat": 40.7548272, "lon": -73.9893449}, {"type": "node", "id": 2717223424, "lat": 40.7548714, "lon": -73.9884121}, {"type": "node", "id": 2717223425, "lat": 40.7548801, "lon": -73.989225}, {"type": "node", "id": 2717223426, "lat": 40.7549063, "lon": -73.9892871}, {"type": "node", "id": 2717223427, "lat": 40.7549103, "lon": -73.9885042}, {"type": "node", "id": 2717223428, "lat": 40.7548903, "lon": -73.987991}, {"type": "node", "id": 2717223429, "lat": 40.7549351, "lon": -73.9893553}, {"type": "node", "id": 2717223430, "lat": 40.7549358, "lon": -73.9900172}, {"type": "node", "id": 2717223431, "lat": 40.7549887, "lon": -73.9894821}, {"type": "node", "id": 2717223432, "lat": 40.7550252, "lon": -73.9887761}, {"type": "node", "id": 2717223433, "lat": 40.755035, "lon": -73.9902519}, {"type": "node", "id": 2717223434, "lat": 40.7550548, "lon": -73.9883848}, {"type": "node", "id": 2717223435, "lat": 40.7550671, "lon": -73.9878623}, {"type": "node", "id": 2717223437, "lat": 40.7551213, "lon": -73.9885421}, {"type": "node", "id": 2717223438, "lat": 40.755149, "lon": -73.9898614}, {"type": "node", "id": 2717223439, "lat": 40.755155, "lon": -73.9886226}, {"type": "node", "id": 2717223440, "lat": 40.7551909, "lon": -73.9891684}, {"type": "node", "id": 2717223441, "lat": 40.7551927, "lon": -73.9877715}, {"type": "node", "id": 2717223442, "lat": 40.7551997, "lon": -73.9899816}, {"type": "node", "id": 2717223443, "lat": 40.7552025, "lon": -73.9887902}, {"type": "node", "id": 2717223444, "lat": 40.7552031, "lon": -73.9906498}, {"type": "node", "id": 2717223445, "lat": 40.7552198, "lon": -73.9887777}, {"type": "node", "id": 2717223446, "lat": 40.7552316, "lon": -73.9882561}, {"type": "node", "id": 2717223447, "lat": 40.7552445, "lon": -73.9892951}, {"type": "node", "id": 2717223448, "lat": 40.7552481, "lon": -73.9900962}, {"type": "node", "id": 2717223449, "lat": 40.7552572, "lon": -73.990778}, {"type": "node", "id": 2717223450, "lat": 40.7552812, "lon": -73.9880616}, {"type": "node", "id": 2717223451, "lat": 40.7552891, "lon": -73.9881095}, {"type": "node", "id": 2717223452, "lat": 40.7552914, "lon": -73.9882128}, {"type": "node", "id": 2717223453, "lat": 40.7552984, "lon": -73.9881028}, {"type": "node", "id": 2717223454, "lat": 40.7553064, "lon": -73.9880435}, {"type": "node", "id": 2717223455, "lat": 40.7553196, "lon": -73.9881954}, {"type": "node", "id": 2717223456, "lat": 40.7553203, "lon": -73.9905642}, {"type": "node", "id": 2717223457, "lat": 40.7553228, "lon": -73.9881902}, {"type": "node", "id": 2717223458, "lat": 40.7553236, "lon": -73.9880846}, {"type": "node", "id": 2717223459, "lat": 40.7553237, "lon": -73.9881924}, {"type": "node", "id": 2717223460, "lat": 40.7553359, "lon": -73.9909642}, {"type": "node", "id": 2717223461, "lat": 40.7553425, "lon": -73.9906166}, {"type": "node", "id": 2717223462, "lat": 40.7553576, "lon": -73.9883713}, {"type": "node", "id": 2717223463, "lat": 40.7553644, "lon": -73.9876474}, {"type": "node", "id": 2717223464, "lat": 40.7553646, "lon": -73.9903717}, {"type": "node", "id": 2717223465, "lat": 40.7553745, "lon": -73.9906923}, {"type": "node", "id": 2717223466, "lat": 40.75539, "lon": -73.9884487}, {"type": "node", "id": 2717223467, "lat": 40.7553913, "lon": -73.9884518}, {"type": "node", "id": 2717223468, "lat": 40.7553998, "lon": -73.9905747}, {"type": "node", "id": 2717223469, "lat": 40.7554014, "lon": -73.9892661}, {"type": "node", "id": 2717223470, "lat": 40.7554048, "lon": -73.9896745}, {"type": "node", "id": 2717223471, "lat": 40.7554069, "lon": -73.9905914}, {"type": "node", "id": 2717223472, "lat": 40.7554126, "lon": -73.9903366}, {"type": "node", "id": 2717223473, "lat": 40.7554163, "lon": -73.9904941}, {"type": "node", "id": 2717223474, "lat": 40.7554169, "lon": -73.9884291}, {"type": "node", "id": 2717223475, "lat": 40.7554177, "lon": -73.990655}, {"type": "node", "id": 2717223476, "lat": 40.75543, "lon": -73.990646}, {"type": "node", "id": 2717223477, "lat": 40.7554333, "lon": -73.989243}, {"type": "node", "id": 2717223478, "lat": 40.7554372, "lon": -73.9885621}, {"type": "node", "id": 2717223479, "lat": 40.7554384, "lon": -73.9907039}, {"type": "node", "id": 2717223480, "lat": 40.7554413, "lon": -73.990479}, {"type": "node", "id": 2717223481, "lat": 40.7554507, "lon": -73.990695}, {"type": "node", "id": 2717223482, "lat": 40.7554531, "lon": -73.9908785}, {"type": "node", "id": 2717223483, "lat": 40.7554555, "lon": -73.9897947}, {"type": "node", "id": 2717223484, "lat": 40.7554561, "lon": -73.988607}, {"type": "node", "id": 2717223485, "lat": 40.7554653, "lon": -73.9904614}, {"type": "node", "id": 2717223486, "lat": 40.7554674, "lon": -73.9905471}, {"type": "node", "id": 2717223487, "lat": 40.7554715, "lon": -73.9905568}, {"type": "node", "id": 2717223488, "lat": 40.7554736, "lon": -73.9905553}, {"type": "node", "id": 2717223489, "lat": 40.7554953, "lon": -73.9879605}, {"type": "node", "id": 2717223490, "lat": 40.7555105, "lon": -73.9908366}, {"type": "node", "id": 2717223491, "lat": 40.7555302, "lon": -73.9880426}, {"type": "node", "id": 2717223492, "lat": 40.7555317, "lon": -73.9905129}, {"type": "node", "id": 2717223493, "lat": 40.7555484, "lon": -73.9888278}, {"type": "node", "id": 2717223494, "lat": 40.7555711, "lon": -73.9907924}, {"type": "node", "id": 2717223495, "lat": 40.7556095, "lon": -73.9890722}, {"type": "node", "id": 2717223496, "lat": 40.7556204, "lon": -73.9901848}, {"type": "node", "id": 2717223497, "lat": 40.7556234, "lon": -73.9891056}, {"type": "node", "id": 2717223498, "lat": 40.7556312, "lon": -73.9907484}, {"type": "node", "id": 2717223499, "lat": 40.7556481, "lon": -73.9904278}, {"type": "node", "id": 2717223500, "lat": 40.7556611, "lon": -73.9890349}, {"type": "node", "id": 2717223501, "lat": 40.7556748, "lon": -73.9883897}, {"type": "node", "id": 2717223502, "lat": 40.7556751, "lon": -73.9890683}, {"type": "node", "id": 2717223503, "lat": 40.7557054, "lon": -73.990386}, {"type": "node", "id": 2717223504, "lat": 40.7557476, "lon": -73.9906634}, {"type": "node", "id": 2717223505, "lat": 40.7557599, "lon": -73.9881367}, {"type": "node", "id": 2717223506, "lat": 40.7557669, "lon": -73.9881316}, {"type": "node", "id": 2717223507, "lat": 40.755786, "lon": -73.9886561}, {"type": "node", "id": 2717223508, "lat": 40.7558049, "lon": -73.9906215}, {"type": "node", "id": 2717223509, "lat": 40.7558741, "lon": -73.9889245}, {"type": "node", "id": 2717223510, "lat": 40.7558781, "lon": -73.9889342}, {"type": "node", "id": 2717223511, "lat": 40.755879, "lon": -73.9884014}, {"type": "node", "id": 2717223512, "lat": 40.7558925, "lon": -73.9889111}, {"type": "node", "id": 2717223513, "lat": 40.7559168, "lon": -73.9884898}, {"type": "node", "id": 2717223514, "lat": 40.7559262, "lon": -73.9878075}, {"type": "node", "id": 2717223515, "lat": 40.7559449, "lon": -73.9878524}, {"type": "node", "id": 2717223518, "lat": 40.756055, "lon": -73.9879751}, {"type": "node", "id": 2717223521, "lat": 40.7560999, "lon": -73.9876157}, {"type": "node", "id": 2717223522, "lat": 40.756137, "lon": -73.9882144}, {"type": "node", "id": 2717223525, "lat": 40.7561313, "lon": -73.9876905}, {"type": "node", "id": 2717223526, "lat": 40.7561977, "lon": -73.9876692}, {"type": "node", "id": 2717223527, "lat": 40.7562624, "lon": -73.9878248}, {"type": "node", "id": 2717223528, "lat": 40.7562416, "lon": -73.9892716}, {"type": "node", "id": 2717223530, "lat": 40.7562895, "lon": -73.9878868}, {"type": "node", "id": 2717223535, "lat": 40.756396, "lon": -73.9881443}, {"type": "node", "id": 2717223537, "lat": 40.7564903, "lon": -73.9890917}, {"type": "node", "id": 2717223539, "lat": 40.7564849, "lon": -73.9898485}, {"type": "node", "id": 2717223540, "lat": 40.7565041, "lon": -73.9898343}, {"type": "node", "id": 2717223541, "lat": 40.7565368, "lon": -73.9892031}, {"type": "node", "id": 2717223542, "lat": 40.7565643, "lon": -73.9899775}, {"type": "node", "id": 2717223543, "lat": 40.7566429, "lon": -73.989459}, {"type": "node", "id": 2717223546, "lat": 40.756655, "lon": -73.9899137}, {"type": "node", "id": 2717223549, "lat": 40.7567274, "lon": -73.9890758}, {"type": "node", "id": 2717223550, "lat": 40.7567719, "lon": -73.9890465}, {"type": "node", "id": 2717223551, "lat": 40.7568337, "lon": -73.9893234}, {"type": "node", "id": 2717223553, "lat": 40.7568815, "lon": -73.989445}, {"type": "node", "id": 2717223555, "lat": 40.7566715, "lon": -73.9899608}, {"type": "node", "id": 2717223556, "lat": 40.7569139, "lon": -73.9894222}, {"type": "node", "id": 2717223558, "lat": 40.7569969, "lon": -73.9896178}, {"type": "node", "id": 2717223559, "lat": 40.7571552, "lon": -73.9914904}, {"type": "node", "id": 2717223560, "lat": 40.7571686, "lon": -73.9914809}, {"type": "node", "id": 2717223561, "lat": 40.7571812, "lon": -73.9900333}, {"type": "node", "id": 2717223562, "lat": 40.7573785, "lon": -73.9913287}, {"type": "node", "id": 2717223563, "lat": 40.7573717, "lon": -73.991969}, {"type": "node", "id": 2717223564, "lat": 40.7574096, "lon": -73.9914033}, {"type": "node", "id": 2717223565, "lat": 40.7574077, "lon": -73.9913078}, {"type": "node", "id": 2717223566, "lat": 40.7574389, "lon": -73.9913822}, {"type": "node", "id": 2717223567, "lat": 40.7574996, "lon": -73.9922731}, {"type": "node", "id": 2717223568, "lat": 40.7576668, "lon": -73.9926731}, {"type": "node", "id": 2717223569, "lat": 40.7576735, "lon": -73.9912116}, {"type": "node", "id": 2717223570, "lat": 40.75781, "lon": -73.9925697}, {"type": "node", "id": 2717223571, "lat": 40.7578162, "lon": -73.992869}, {"type": "node", "id": 2717223572, "lat": 40.7578457, "lon": -73.9916244}, {"type": "node", "id": 2717223573, "lat": 40.7578573, "lon": -73.9925354}, {"type": "node", "id": 2717223574, "lat": 40.7579057, "lon": -73.9925005}, {"type": "node", "id": 2717223575, "lat": 40.7579075, "lon": -73.9928029}, {"type": "node", "id": 2717223576, "lat": 40.7579169, "lon": -73.9925273}, {"type": "node", "id": 2717223577, "lat": 40.7579208, "lon": -73.9924536}, {"type": "node", "id": 2717223578, "lat": 40.7579435, "lon": -73.992508}, {"type": "node", "id": 2717223579, "lat": 40.7579548, "lon": -73.9927687}, {"type": "node", "id": 2717223580, "lat": 40.7579657, "lon": -73.992492}, {"type": "node", "id": 2717223581, "lat": 40.7579746, "lon": -73.9924856}, {"type": "node", "id": 2717223582, "lat": 40.7579803, "lon": -73.9924993}, {"type": "node", "id": 2717223583, "lat": 40.7580032, "lon": -73.9927338}, {"type": "node", "id": 2717223584, "lat": 40.7580144, "lon": -73.9924568}, {"type": "node", "id": 2717223585, "lat": 40.7580202, "lon": -73.9924705}, {"type": "node", "id": 2717223586, "lat": 40.758052, "lon": -73.9926985}, {"type": "node", "id": 2717223587, "lat": 40.7580606, "lon": -73.9924234}, {"type": "node", "id": 2717223588, "lat": 40.7581007, "lon": -73.9926632}, {"type": "node", "id": 2717223589, "lat": 40.7581469, "lon": -73.9926298}, {"type": "node", "id": 2717223590, "lat": 40.7582388, "lon": -73.9925634}, {"type": "node", "id": 2717293883, "lat": 40.7568499, "lon": -73.9865634}, {"type": "node", "id": 2717293884, "lat": 40.7571233, "lon": -73.987214}, {"type": "node", "id": 2717293885, "lat": 40.757191, "lon": -73.9871216}, {"type": "node", "id": 2717293886, "lat": 40.7572049, "lon": -73.9871546}, {"type": "node", "id": 2717293887, "lat": 40.7573319, "lon": -73.9862132}, {"type": "node", "id": 2717293888, "lat": 40.7573678, "lon": -73.9869931}, {"type": "node", "id": 2717293889, "lat": 40.7574073, "lon": -73.9869478}, {"type": "node", "id": 2717293890, "lat": 40.7574537, "lon": -73.986917}, {"type": "node", "id": 2717293891, "lat": 40.7574904, "lon": -73.986882}, {"type": "node", "id": 2717293892, "lat": 40.7575114, "lon": -73.9869319}, {"type": "node", "id": 2717293893, "lat": 40.7575429, "lon": -73.9882128}, {"type": "node", "id": 2717293894, "lat": 40.7575907, "lon": -73.9868743}, {"type": "node", "id": 2717293895, "lat": 40.7575976, "lon": -73.9875943}, {"type": "node", "id": 2717293896, "lat": 40.7576052, "lon": -73.9868638}, {"type": "node", "id": 2717293897, "lat": 40.7576462, "lon": -73.9884586}, {"type": "node", "id": 2717293898, "lat": 40.7576749, "lon": -73.9870748}, {"type": "node", "id": 2717293899, "lat": 40.757685, "lon": -73.9878023}, {"type": "node", "id": 2717293900, "lat": 40.7576895, "lon": -73.9870642}, {"type": "node", "id": 2717293902, "lat": 40.7577566, "lon": -73.9872693}, {"type": "node", "id": 2717293903, "lat": 40.7577712, "lon": -73.9872587}, {"type": "node", "id": 2717293904, "lat": 40.7577839, "lon": -73.9880377}, {"type": "node", "id": 2717293905, "lat": 40.7577881, "lon": -73.9880477}, {"type": "node", "id": 2717293906, "lat": 40.7578241, "lon": -73.9874297}, {"type": "node", "id": 2717293907, "lat": 40.7578386, "lon": -73.9874192}, {"type": "node", "id": 2717293908, "lat": 40.757887, "lon": -73.9882836}, {"type": "node", "id": 2717293909, "lat": 40.7579108, "lon": -73.9890885}, {"type": "node", "id": 2717293910, "lat": 40.7579145, "lon": -73.9876356}, {"type": "node", "id": 2717293911, "lat": 40.757926, "lon": -73.9876272}, {"type": "node", "id": 2717293912, "lat": 40.7579368, "lon": -73.9885903}, {"type": "node", "id": 2717293913, "lat": 40.7579373, "lon": -73.9871825}, {"type": "node", "id": 2717293914, "lat": 40.7579386, "lon": -73.987207}, {"type": "node", "id": 2717293915, "lat": 40.7579448, "lon": -73.9871693}, {"type": "node", "id": 2717293916, "lat": 40.7579513, "lon": -73.9884358}, {"type": "node", "id": 2717293917, "lat": 40.7579977, "lon": -73.9885461}, {"type": "node", "id": 2717293918, "lat": 40.7580176, "lon": -73.987881}, {"type": "node", "id": 2717293919, "lat": 40.7580291, "lon": -73.9878726}, {"type": "node", "id": 2717293920, "lat": 40.7580813, "lon": -73.9874797}, {"type": "node", "id": 2717293921, "lat": 40.7580867, "lon": -73.9875581}, {"type": "node", "id": 2717293922, "lat": 40.7580878, "lon": -73.9875397}, {"type": "node", "id": 2717293923, "lat": 40.7580911, "lon": -73.9889575}, {"type": "node", "id": 2717293924, "lat": 40.7580916, "lon": -73.9875279}, {"type": "node", "id": 2717293925, "lat": 40.7580993, "lon": -73.9875223}, {"type": "node", "id": 2717293926, "lat": 40.7581519, "lon": -73.9889133}, {"type": "node", "id": 2717293927, "lat": 40.7581607, "lon": -73.988551}, {"type": "node", "id": 2717293928, "lat": 40.7581902, "lon": -73.9869903}, {"type": "node", "id": 2717293929, "lat": 40.7581922, "lon": -73.9882607}, {"type": "node", "id": 2717293930, "lat": 40.7581923, "lon": -73.9858175}, {"type": "node", "id": 2717293931, "lat": 40.7581948, "lon": -73.9882588}, {"type": "node", "id": 2717293932, "lat": 40.7582054, "lon": -73.9884784}, {"type": "node", "id": 2717293933, "lat": 40.7582183, "lon": -73.9885091}, {"type": "node", "id": 2717293934, "lat": 40.7582197, "lon": -73.987871}, {"type": "node", "id": 2717293935, "lat": 40.758268, "lon": -73.988433}, {"type": "node", "id": 2717293936, "lat": 40.7582752, "lon": -73.9888237}, {"type": "node", "id": 2717293937, "lat": 40.7583175, "lon": -73.9873631}, {"type": "node", "id": 2717293938, "lat": 40.7583329, "lon": -73.9887818}, {"type": "node", "id": 2717293939, "lat": 40.7583403, "lon": -73.9873465}, {"type": "node", "id": 2717293940, "lat": 40.7583951, "lon": -73.9868409}, {"type": "node", "id": 2717293941, "lat": 40.7583955, "lon": -73.9887363}, {"type": "node", "id": 2717293942, "lat": 40.7584073, "lon": -73.9868461}, {"type": "node", "id": 2717293943, "lat": 40.7584055, "lon": -73.9883152}, {"type": "node", "id": 2717293944, "lat": 40.7584176, "lon": -73.9868546}, {"type": "node", "id": 2717293945, "lat": 40.7584252, "lon": -73.9877212}, {"type": "node", "id": 2717293946, "lat": 40.7584448, "lon": -73.987665}, {"type": "node", "id": 2717293947, "lat": 40.7584583, "lon": -73.987697}, {"type": "node", "id": 2717293948, "lat": 40.7585089, "lon": -73.9871679}, {"type": "node", "id": 2717293949, "lat": 40.7585269, "lon": -73.9872105}, {"type": "node", "id": 2717293950, "lat": 40.7585323, "lon": -73.9879772}, {"type": "node", "id": 2717293951, "lat": 40.758539, "lon": -73.9886308}, {"type": "node", "id": 2717293952, "lat": 40.7585401, "lon": -73.9871452}, {"type": "node", "id": 2717293953, "lat": 40.7585422, "lon": -73.9871993}, {"type": "node", "id": 2717293954, "lat": 40.758557, "lon": -73.9872011}, {"type": "node", "id": 2717293955, "lat": 40.7585678, "lon": -73.9872108}, {"type": "node", "id": 2717293956, "lat": 40.758611, "lon": -73.9881654}, {"type": "node", "id": 2717293958, "lat": 40.7586841, "lon": -73.9878932}, {"type": "node", "id": 2717293959, "lat": 40.7586853, "lon": -73.9874896}, {"type": "node", "id": 2717293960, "lat": 40.7586975, "lon": -73.9870727}, {"type": "node", "id": 2717293961, "lat": 40.758774, "lon": -73.9877908}, {"type": "node", "id": 2717293962, "lat": 40.7588033, "lon": -73.9877694}, {"type": "node", "id": 2717293963, "lat": 40.758829, "lon": -73.9873874}, {"type": "node", "id": 2717293964, "lat": 40.7588324, "lon": -73.9854642}, {"type": "node", "id": 2717293966, "lat": 40.7588551, "lon": -73.9874508}, {"type": "node", "id": 2717293967, "lat": 40.7588871, "lon": -73.9879687}, {"type": "node", "id": 2717293968, "lat": 40.7589152, "lon": -73.9869143}, {"type": "node", "id": 2717293971, "lat": 40.758964, "lon": -73.9854175}, {"type": "node", "id": 2717293972, "lat": 40.7589696, "lon": -73.9857778}, {"type": "node", "id": 2717293973, "lat": 40.7589726, "lon": -73.9857756}, {"type": "node", "id": 2717293975, "lat": 40.7589933, "lon": -73.9870152}, {"type": "node", "id": 2717293978, "lat": 40.7590189, "lon": -73.9882799}, {"type": "node", "id": 2717293982, "lat": 40.7590297, "lon": -73.9853942}, {"type": "node", "id": 2717293984, "lat": 40.7590476, "lon": -73.9872281}, {"type": "node", "id": 2717293986, "lat": 40.7590746, "lon": -73.9872081}, {"type": "node", "id": 2717293987, "lat": 40.7590685, "lon": -73.9864806}, {"type": "node", "id": 2717293989, "lat": 40.7590834, "lon": -73.9864711}, {"type": "node", "id": 2717293990, "lat": 40.7590819, "lon": -73.9856955}, {"type": "node", "id": 2717293992, "lat": 40.759101, "lon": -73.987271}, {"type": "node", "id": 2717293996, "lat": 40.7591444, "lon": -73.9873731}, {"type": "node", "id": 2717293997, "lat": 40.7591395, "lon": -73.9856532}, {"type": "node", "id": 2717293998, "lat": 40.7591429, "lon": -73.9861865}, {"type": "node", "id": 2717293999, "lat": 40.7591555, "lon": -73.9862162}, {"type": "node", "id": 2717294000, "lat": 40.7591661, "lon": -73.9874246}, {"type": "node", "id": 2717294002, "lat": 40.7591673, "lon": -73.987909}, {"type": "node", "id": 2717294004, "lat": 40.7591895, "lon": -73.9861523}, {"type": "node", "id": 2717294005, "lat": 40.759202, "lon": -73.986182}, {"type": "node", "id": 2717294006, "lat": 40.7592057, "lon": -73.985332}, {"type": "node", "id": 2717294008, "lat": 40.759211, "lon": -73.9856008}, {"type": "node", "id": 2717294009, "lat": 40.7592146, "lon": -73.9878742}, {"type": "node", "id": 2717294010, "lat": 40.7592389, "lon": -73.9868367}, {"type": "node", "id": 2717294011, "lat": 40.7592593, "lon": -73.9878416}, {"type": "node", "id": 2717294012, "lat": 40.759256, "lon": -73.9881197}, {"type": "node", "id": 2717294013, "lat": 40.7592649, "lon": -73.9853111}, {"type": "node", "id": 2717294015, "lat": 40.7592939, "lon": -73.98554}, {"type": "node", "id": 2717294016, "lat": 40.759307, "lon": -73.9878065}, {"type": "node", "id": 2717294017, "lat": 40.7593034, "lon": -73.9880849}, {"type": "node", "id": 2717294018, "lat": 40.7593316, "lon": -73.9858854}, {"type": "node", "id": 2717294019, "lat": 40.7593481, "lon": -73.9880519}, {"type": "node", "id": 2717294020, "lat": 40.7593458, "lon": -73.9855019}, {"type": "node", "id": 2717294022, "lat": 40.7593885, "lon": -73.9871945}, {"type": "node", "id": 2717294023, "lat": 40.7593802, "lon": -73.9852703}, {"type": "node", "id": 2717294024, "lat": 40.7593955, "lon": -73.9880168}, {"type": "node", "id": 2717294030, "lat": 40.7595676, "lon": -73.9857123}, {"type": "node", "id": 2717294033, "lat": 40.7596361, "lon": -73.9873363}, {"type": "node", "id": 2717294034, "lat": 40.7596612, "lon": -73.9866791}, {"type": "node", "id": 2717294035, "lat": 40.7597284, "lon": -73.9868376}, {"type": "node", "id": 2717294036, "lat": 40.7597319, "lon": -73.9866273}, {"type": "node", "id": 2717294038, "lat": 40.7597622, "lon": -73.9869174}, {"type": "node", "id": 2717294039, "lat": 40.7597665, "lon": -73.9867088}, {"type": "node", "id": 2717294040, "lat": 40.7597991, "lon": -73.9867857}, {"type": "node", "id": 2717294045, "lat": 40.759895, "lon": -73.9872305}, {"type": "node", "id": 2717294047, "lat": 40.7599371, "lon": -73.9865836}, {"type": "node", "id": 2717294050, "lat": 40.7599697, "lon": -73.9866606}, {"type": "node", "id": 2717294051, "lat": 40.7600036, "lon": -73.9867404}, {"type": "node", "id": 2717294052, "lat": 40.7600521, "lon": -73.986392}, {"type": "node", "id": 2717294054, "lat": 40.7601191, "lon": -73.9865511}, {"type": "node", "id": 2717294055, "lat": 40.7601363, "lon": -73.9870535}, {"type": "node", "id": 2717294056, "lat": 40.7601619, "lon": -73.9858972}, {"type": "node", "id": 2717294057, "lat": 40.7601864, "lon": -73.986711}, {"type": "node", "id": 2717294058, "lat": 40.7601986, "lon": -73.9867402}, {"type": "node", "id": 2717294059, "lat": 40.7601995, "lon": -73.9867014}, {"type": "node", "id": 2717294060, "lat": 40.7602118, "lon": -73.9867306}, {"type": "node", "id": 2717294061, "lat": 40.7602707, "lon": -73.9873705}, {"type": "node", "id": 2717294062, "lat": 40.7602808, "lon": -73.9861799}, {"type": "node", "id": 2717294063, "lat": 40.7602946, "lon": -73.9862127}, {"type": "node", "id": 2717294064, "lat": 40.7602955, "lon": -73.9862149}, {"type": "node", "id": 2717294065, "lat": 40.7603188, "lon": -73.9862702}, {"type": "node", "id": 2717294066, "lat": 40.7603399, "lon": -73.9863203}, {"type": "node", "id": 2717294067, "lat": 40.7603428, "lon": -73.9863884}, {"type": "node", "id": 2717294068, "lat": 40.7603587, "lon": -73.9864262}, {"type": "node", "id": 2717294069, "lat": 40.7603797, "lon": -73.9864392}, {"type": "node", "id": 2717294070, "lat": 40.7603834, "lon": -73.9864513}, {"type": "node", "id": 2717294071, "lat": 40.7603846, "lon": -73.9864264}, {"type": "node", "id": 2717294072, "lat": 40.7603854, "lon": -73.9864351}, {"type": "node", "id": 2717294073, "lat": 40.7603921, "lon": -73.986445}, {"type": "node", "id": 2717294074, "lat": 40.7604209, "lon": -73.9865404}, {"type": "node", "id": 2717294075, "lat": 40.7604437, "lon": -73.9865237}, {"type": "node", "id": 2717294076, "lat": 40.7604446, "lon": -73.9862441}, {"type": "node", "id": 2717294077, "lat": 40.7604826, "lon": -73.9863345}, {"type": "node", "id": 2717294078, "lat": 40.7604916, "lon": -73.9862099}, {"type": "node", "id": 2717294079, "lat": 40.7605061, "lon": -73.986016}, {"type": "node", "id": 2717294080, "lat": 40.7605077, "lon": -73.9866133}, {"type": "node", "id": 2717294081, "lat": 40.7605143, "lon": -73.98601}, {"type": "node", "id": 2717294082, "lat": 40.7605191, "lon": -73.9860493}, {"type": "node", "id": 2717294083, "lat": 40.7605297, "lon": -73.9863003}, {"type": "node", "id": 2717294084, "lat": 40.760532, "lon": -73.9867095}, {"type": "node", "id": 2717294085, "lat": 40.7605433, "lon": -73.9861068}, {"type": "node", "id": 2717294086, "lat": 40.7605522, "lon": -73.9861003}, {"type": "node", "id": 2717294087, "lat": 40.7605524, "lon": -73.9866758}, {"type": "node", "id": 2717294088, "lat": 40.7605562, "lon": -73.9866731}, {"type": "node", "id": 2717294089, "lat": 40.7605611, "lon": -73.9867541}, {"type": "node", "id": 2717294090, "lat": 40.7605612, "lon": -73.9866882}, {"type": "node", "id": 2717294091, "lat": 40.7605734, "lon": -73.9861505}, {"type": "node", "id": 2717294092, "lat": 40.7605876, "lon": -73.9867348}, {"type": "node", "id": 2717294093, "lat": 40.7605941, "lon": -73.9867372}, {"type": "node", "id": 2717294094, "lat": 40.760707, "lon": -73.9864682}, {"type": "node", "id": 2717294095, "lat": 40.7607307, "lon": -73.9867364}, {"type": "node", "id": 2717294096, "lat": 40.7607377, "lon": -73.986541}, {"type": "node", "id": 2717294097, "lat": 40.7607384, "lon": -73.986709}, {"type": "node", "id": 2717294098, "lat": 40.7607386, "lon": -73.9866276}, {"type": "node", "id": 2717294099, "lat": 40.7607435, "lon": -73.9867668}, {"type": "node", "id": 2717294100, "lat": 40.7607454, "lon": -73.9867257}, {"type": "node", "id": 2717294101, "lat": 40.7607648, "lon": -73.9866898}, {"type": "node", "id": 2717294102, "lat": 40.7607658, "lon": -73.9866078}, {"type": "node", "id": 2717294103, "lat": 40.7607731, "lon": -73.9867242}, {"type": "node", "id": 2717294104, "lat": 40.7607799, "lon": -73.9867404}, {"type": "node", "id": 2717294105, "lat": 40.760805, "lon": -73.986701}, {"type": "node", "id": 2717294106, "lat": 40.7608939, "lon": -73.9869123}, {"type": "node", "id": 2717323813, "lat": 40.7603001, "lon": -73.9849618}, {"type": "node", "id": 2717323814, "lat": 40.7602859, "lon": -73.9849973}, {"type": "node", "id": 2717323815, "lat": 40.7602826, "lon": -73.9849684}, {"type": "node", "id": 2717323817, "lat": 40.7602864, "lon": -73.9849526}, {"type": "node", "id": 2717323818, "lat": 40.7602891, "lon": -73.9849451}, {"type": "node", "id": 2717323819, "lat": 40.7602962, "lon": -73.9849312}, {"type": "node", "id": 2717323820, "lat": 40.7603051, "lon": -73.9849194}, {"type": "node", "id": 2717323831, "lat": 40.7605088, "lon": -73.9855466}, {"type": "node", "id": 2717323838, "lat": 40.7606146, "lon": -73.9857971}, {"type": "node", "id": 2717323841, "lat": 40.7607474, "lon": -73.9853722}, {"type": "node", "id": 2717323842, "lat": 40.7607697, "lon": -73.9846772}, {"type": "node", "id": 2717323843, "lat": 40.7607722, "lon": -73.9853542}, {"type": "node", "id": 2717323845, "lat": 40.7608261, "lon": -73.9854818}, {"type": "node", "id": 2717323846, "lat": 40.7608307, "lon": -73.9854783}, {"type": "node", "id": 2717323847, "lat": 40.7608513, "lon": -73.9854409}, {"type": "node", "id": 2717323848, "lat": 40.7608533, "lon": -73.9856227}, {"type": "node", "id": 2717323849, "lat": 40.7608585, "lon": -73.985458}, {"type": "node", "id": 2717323850, "lat": 40.7609081, "lon": -73.9854219}, {"type": "node", "id": 2717323851, "lat": 40.7609162, "lon": -73.9856807}, {"type": "node", "id": 2717323853, "lat": 40.7609236, "lon": -73.9854586}, {"type": "node", "id": 2717323854, "lat": 40.7609305, "lon": -73.9852385}, {"type": "node", "id": 2717323855, "lat": 40.7609402, "lon": -73.9865561}, {"type": "node", "id": 2717323856, "lat": 40.7609422, "lon": -73.985266}, {"type": "node", "id": 2717323857, "lat": 40.7609554, "lon": -73.9852203}, {"type": "node", "id": 2717323858, "lat": 40.760967, "lon": -73.9852478}, {"type": "node", "id": 2717323859, "lat": 40.7609692, "lon": -73.9853772}, {"type": "node", "id": 2717323860, "lat": 40.7609847, "lon": -73.9854139}, {"type": "node", "id": 2717323862, "lat": 40.7609888, "lon": -73.9851959}, {"type": "node", "id": 2717323863, "lat": 40.7610021, "lon": -73.9853307}, {"type": "node", "id": 2717323864, "lat": 40.7610093, "lon": -73.9853479}, {"type": "node", "id": 2717323865, "lat": 40.7610427, "lon": -73.9853235}, {"type": "node", "id": 2717323866, "lat": 40.7610458, "lon": -73.9868044}, {"type": "node", "id": 2717323867, "lat": 40.7610436, "lon": -73.9859823}, {"type": "node", "id": 2717323869, "lat": 40.7610812, "lon": -73.9859549}, {"type": "node", "id": 2717323872, "lat": 40.761089, "lon": -73.9859735}, {"type": "node", "id": 2717323873, "lat": 40.7610967, "lon": -73.986108}, {"type": "node", "id": 2717323875, "lat": 40.7611281, "lon": -73.9855258}, {"type": "node", "id": 2717323876, "lat": 40.7611287, "lon": -73.9860674}, {"type": "node", "id": 2717323877, "lat": 40.7611343, "lon": -73.9860806}, {"type": "node", "id": 2717323880, "lat": 40.7611927, "lon": -73.9858734}, {"type": "node", "id": 2717323881, "lat": 40.7612006, "lon": -73.985892}, {"type": "node", "id": 2717323882, "lat": 40.7612035, "lon": -73.986361}, {"type": "node", "id": 2717323883, "lat": 40.7612039, "lon": -73.9852452}, {"type": "node", "id": 2717323886, "lat": 40.7612402, "lon": -73.9859859}, {"type": "node", "id": 2717323887, "lat": 40.7612458, "lon": -73.9859991}, {"type": "node", "id": 2717323888, "lat": 40.7612556, "lon": -73.9858275}, {"type": "node", "id": 2717323894, "lat": 40.7612985, "lon": -73.9851764}, {"type": "node", "id": 2717323895, "lat": 40.7613033, "lon": -73.9854816}, {"type": "node", "id": 2717323896, "lat": 40.7613086, "lon": -73.9859532}, {"type": "node", "id": 2717323904, "lat": 40.7613742, "lon": -73.9856503}, {"type": "node", "id": 2717323909, "lat": 40.7613999, "lon": -73.9857109}, {"type": "node", "id": 2717323911, "lat": 40.7614125, "lon": -73.9850936}, {"type": "node", "id": 2717323913, "lat": 40.7614131, "lon": -73.9862058}, {"type": "node", "id": 2717323915, "lat": 40.761422, "lon": -73.9850867}, {"type": "node", "id": 2717323923, "lat": 40.761483, "lon": -73.9852318}, {"type": "node", "id": 2717323927, "lat": 40.7615021, "lon": -73.9859549}, {"type": "node", "id": 2717323928, "lat": 40.7615065, "lon": -73.9852148}, {"type": "node", "id": 2717323930, "lat": 40.7615186, "lon": -73.9864542}, {"type": "node", "id": 2717323933, "lat": 40.7615448, "lon": -73.985306}, {"type": "node", "id": 2717323934, "lat": 40.7615491, "lon": -73.9853162}, {"type": "node", "id": 2717323942, "lat": 40.7616157, "lon": -73.9854747}, {"type": "node", "id": 2717323944, "lat": 40.7616412, "lon": -73.9855349}, {"type": "node", "id": 2717323947, "lat": 40.7616706, "lon": -73.9853178}, {"type": "node", "id": 2717323961, "lat": 40.7617604, "lon": -73.9852525}, {"type": "node", "id": 2717544317, "lat": 40.7563483, "lon": -73.9853799}, {"type": "node", "id": 2717544357, "lat": 40.7564254, "lon": -73.9853243}, {"type": "node", "id": 2717544363, "lat": 40.7564276, "lon": -73.9855704}, {"type": "node", "id": 2717544372, "lat": 40.7564461, "lon": -73.9853739}, {"type": "node", "id": 2717544406, "lat": 40.756486, "lon": -73.9854661}, {"type": "node", "id": 2717544414, "lat": 40.7564901, "lon": -73.9852777}, {"type": "node", "id": 2717544421, "lat": 40.7565059, "lon": -73.985514}, {"type": "node", "id": 2717544426, "lat": 40.7565107, "lon": -73.9853274}, {"type": "node", "id": 2717544455, "lat": 40.7565445, "lon": -73.985424}, {"type": "node", "id": 2717544466, "lat": 40.7565555, "lon": -73.9854328}, {"type": "node", "id": 2717544476, "lat": 40.7565668, "lon": -73.9852224}, {"type": "node", "id": 2717544478, "lat": 40.7565701, "lon": -73.9854678}, {"type": "node", "id": 2717544532, "lat": 40.7566205, "lon": -73.9853513}, {"type": "node", "id": 2717544536, "lat": 40.7566209, "lon": -73.9854312}, {"type": "node", "id": 2717544548, "lat": 40.7566251, "lon": -73.9854413}, {"type": "node", "id": 2717544590, "lat": 40.7566418, "lon": -73.9854025}, {"type": "node", "id": 2717544597, "lat": 40.7566462, "lon": -73.985413}, {"type": "node", "id": 2717544607, "lat": 40.756657, "lon": -73.9855178}, {"type": "node", "id": 2717544749, "lat": 40.7568234, "lon": -73.9852986}, {"type": "node", "id": 2717544804, "lat": 40.7569173, "lon": -73.985231}, {"type": "node", "id": 2717544813, "lat": 40.7569492, "lon": -73.9853074}, {"type": "node", "id": 2717544862, "lat": 40.7570375, "lon": -73.9850661}, {"type": "node", "id": 2717545057, "lat": 40.7572283, "lon": -73.9847819}, {"type": "node", "id": 2717545115, "lat": 40.757263, "lon": -73.9855959}, {"type": "node", "id": 2717545144, "lat": 40.7572747, "lon": -73.9848922}, {"type": "node", "id": 2717545220, "lat": 40.7573682, "lon": -73.9856102}, {"type": "node", "id": 2717545275, "lat": 40.75747, "lon": -73.9846055}, {"type": "node", "id": 2717545425, "lat": 40.757818, "lon": -73.9854035}, {"type": "node", "id": 2723242226, "lat": 40.7606828, "lon": -73.9847218}, {"type": "node", "id": 2823932302, "lat": 40.7550561, "lon": -73.985762}, {"type": "node", "id": 2845706800, "lat": 40.7571997, "lon": -73.9915555}, {"type": "node", "id": 2845707101, "lat": 40.7572216, "lon": -73.9914425}, {"type": "node", "id": 2845707106, "lat": 40.7574247, "lon": -73.9919306}, {"type": "node", "id": 2845707107, "lat": 40.7574448, "lon": -73.9913778}, {"type": "node", "id": 2845707108, "lat": 40.757477, "lon": -73.9918926}, {"type": "node", "id": 2845707109, "lat": 40.7574801, "lon": -73.9913522}, {"type": "node", "id": 2845707110, "lat": 40.7575154, "lon": -73.9913266}, {"type": "node", "id": 2845707111, "lat": 40.75753, "lon": -73.991854}, {"type": "node", "id": 2845707114, "lat": 40.757568, "lon": -73.9912883}, {"type": "node", "id": 2845707115, "lat": 40.7575826, "lon": -73.9918157}, {"type": "node", "id": 2845707116, "lat": 40.7576177, "lon": -73.9917902}, {"type": "node", "id": 2845707117, "lat": 40.7576207, "lon": -73.99125}, {"type": "node", "id": 2845707118, "lat": 40.7576528, "lon": -73.9917647}, {"type": "node", "id": 2845707119, "lat": 40.7576879, "lon": -73.9917392}, {"type": "node", "id": 2845707121, "lat": 40.7577406, "lon": -73.9917009}, {"type": "node", "id": 2845707122, "lat": 40.7577932, "lon": -73.9916626}, {"type": "node", "id": 2872662985, "lat": 40.7538305, "lon": -73.9850507}, {"type": "node", "id": 2872662997, "lat": 40.7539494, "lon": -73.9850263}, {"type": "node", "id": 2872662999, "lat": 40.7539617, "lon": -73.9850556}, {"type": "node", "id": 2872663000, "lat": 40.7539771, "lon": -73.9850923}, {"type": "node", "id": 2872663101, "lat": 40.753987, "lon": -73.9857601}, {"type": "node", "id": 2872663102, "lat": 40.7540041, "lon": -73.9851566}, {"type": "node", "id": 2872663103, "lat": 40.7540141, "lon": -73.9857403}, {"type": "node", "id": 2872663104, "lat": 40.7540411, "lon": -73.9857205}, {"type": "node", "id": 2872663106, "lat": 40.7540682, "lon": -73.9857007}, {"type": "node", "id": 2872663107, "lat": 40.7540952, "lon": -73.9856809}, {"type": "node", "id": 2872663109, "lat": 40.7541325, "lon": -73.9856535}, {"type": "node", "id": 2872663112, "lat": 40.754209, "lon": -73.9852862}, {"type": "node", "id": 2872663114, "lat": 40.7542335, "lon": -73.9852683}, {"type": "node", "id": 2872663115, "lat": 40.7542506, "lon": -73.9855671}, {"type": "node", "id": 2872663116, "lat": 40.7542579, "lon": -73.9852504}, {"type": "node", "id": 2872663118, "lat": 40.7542823, "lon": -73.9852325}, {"type": "node", "id": 2872663120, "lat": 40.7543068, "lon": -73.9852146}, {"type": "node", "id": 2872663121, "lat": 40.7543093, "lon": -73.9855244}, {"type": "node", "id": 2872663122, "lat": 40.7543338, "lon": -73.9855065}, {"type": "node", "id": 2872663123, "lat": 40.7543582, "lon": -73.9854886}, {"type": "node", "id": 2872663124, "lat": 40.7543827, "lon": -73.9854707}, {"type": "node", "id": 2872663125, "lat": 40.7544071, "lon": -73.9854528}, {"type": "node", "id": 2873311994, "lat": 40.7609281, "lon": -73.9874432}, {"type": "node", "id": 2873311995, "lat": 40.7609426, "lon": -73.9874327}, {"type": "node", "id": 2873311996, "lat": 40.760987, "lon": -73.9875825}, {"type": "node", "id": 2873311997, "lat": 40.7610022, "lon": -73.9875723}, {"type": "node", "id": 2912596411, "lat": 40.7586308, "lon": -73.9892992}, {"type": "node", "id": 2912596416, "lat": 40.7586578, "lon": -73.9892792}, {"type": "node", "id": 2912596421, "lat": 40.7587068, "lon": -73.9894788}, {"type": "node", "id": 2912596424, "lat": 40.7587333, "lon": -73.9894592}, {"type": "node", "id": 2912663350, "lat": 40.7584134, "lon": -73.9883093}, {"type": "node", "id": 2912663351, "lat": 40.7584223, "lon": -73.9883031}, {"type": "node", "id": 2912663352, "lat": 40.7584299, "lon": -73.9882974}, {"type": "node", "id": 2912663353, "lat": 40.7584384, "lon": -73.9882911}, {"type": "node", "id": 2912663354, "lat": 40.7584504, "lon": -73.9884207}, {"type": "node", "id": 2912663362, "lat": 40.7585039, "lon": -73.9882435}, {"type": "node", "id": 2912663363, "lat": 40.7585067, "lon": -73.988555}, {"type": "node", "id": 2912663369, "lat": 40.7585303, "lon": -73.9886105}, {"type": "node", "id": 2912663378, "lat": 40.7585556, "lon": -73.9886186}, {"type": "node", "id": 2912663379, "lat": 40.7585727, "lon": -73.9881933}, {"type": "node", "id": 2912663387, "lat": 40.7587059, "lon": -73.9885086}, {"type": "node", "id": 2912663389, "lat": 40.758721, "lon": -73.9884976}, {"type": "node", "id": 2912663391, "lat": 40.7587251, "lon": -73.9880849}, {"type": "node", "id": 2912663393, "lat": 40.7587929, "lon": -73.9880372}, {"type": "node", "id": 2912663400, "lat": 40.7588408, "lon": -73.9884093}, {"type": "node", "id": 2912663505, "lat": 40.758855, "lon": -73.987992}, {"type": "node", "id": 2912663506, "lat": 40.7588558, "lon": -73.9883983}, {"type": "node", "id": 2912663507, "lat": 40.7588632, "lon": -73.987986}, {"type": "node", "id": 2912663508, "lat": 40.758871, "lon": -73.9879801}, {"type": "node", "id": 2912663510, "lat": 40.7588793, "lon": -73.9879745}, {"type": "node", "id": 2912663518, "lat": 40.7589317, "lon": -73.9880734}, {"type": "node", "id": 2912663528, "lat": 40.7589869, "lon": -73.988205}, {"type": "node", "id": 2912663532, "lat": 40.759004, "lon": -73.9882906}, {"type": "node", "id": 2912663534, "lat": 40.7590098, "lon": -73.9882586}, {"type": "node", "id": 2918511124, "lat": 40.757055, "lon": -73.9850532}, {"type": "node", "id": 2918511128, "lat": 40.7570767, "lon": -73.9850365}, {"type": "node", "id": 2918511138, "lat": 40.7571749, "lon": -73.9849646}, {"type": "node", "id": 2918511140, "lat": 40.7572332, "lon": -73.9847935}, {"type": "node", "id": 2918592581, "lat": 40.7569435, "lon": -73.9867861}, {"type": "node", "id": 2918599627, "lat": 40.7574587, "lon": -73.9865169}, {"type": "node", "id": 2919860932, "lat": 40.7581191, "lon": -73.991419}, {"type": "node", "id": 2919860933, "lat": 40.758133, "lon": -73.9914089}, {"type": "node", "id": 2919860934, "lat": 40.7581458, "lon": -73.9913996}, {"type": "node", "id": 2919860937, "lat": 40.7581673, "lon": -73.9913839}, {"type": "node", "id": 2919860939, "lat": 40.758185, "lon": -73.9913711}, {"type": "node", "id": 2919860946, "lat": 40.7582499, "lon": -73.9917324}, {"type": "node", "id": 2919860947, "lat": 40.758255, "lon": -73.9917287}, {"type": "node", "id": 2919860948, "lat": 40.7582771, "lon": -73.9913041}, {"type": "node", "id": 2919860953, "lat": 40.7584079, "lon": -73.9916175}, {"type": "node", "id": 2919866859, "lat": 40.7584457, "lon": -73.9902455}, {"type": "node", "id": 2919866862, "lat": 40.7585465, "lon": -73.9900033}, {"type": "node", "id": 2919887074, "lat": 40.7589391, "lon": -73.9888435}, {"type": "node", "id": 2919887075, "lat": 40.759019, "lon": -73.9890334}, {"type": "node", "id": 2919887080, "lat": 40.7591958, "lon": -73.9889782}, {"type": "node", "id": 2919887084, "lat": 40.7592569, "lon": -73.9889337}, {"type": "node", "id": 2919887088, "lat": 40.7594316, "lon": -73.9893554}, {"type": "node", "id": 2919913039, "lat": 40.7598282, "lon": -73.9876926}, {"type": "node", "id": 2919923240, "lat": 40.7599377, "lon": -73.9880254}, {"type": "node", "id": 2919923241, "lat": 40.7604815, "lon": -73.9883904}, {"type": "node", "id": 2919956335, "lat": 40.7604313, "lon": -73.9879324}, {"type": "node", "id": 2919956336, "lat": 40.7604887, "lon": -73.9878889}, {"type": "node", "id": 2919994565, "lat": 40.7615184, "lon": -73.9877992}, {"type": "node", "id": 2919994566, "lat": 40.7615354, "lon": -73.9880659}, {"type": "node", "id": 2919994568, "lat": 40.7615629, "lon": -73.9880457}, {"type": "node", "id": 2919994570, "lat": 40.7615698, "lon": -73.9877616}, {"type": "node", "id": 2919994571, "lat": 40.7615725, "lon": -73.988154}, {"type": "node", "id": 2919994572, "lat": 40.7615767, "lon": -73.9874546}, {"type": "node", "id": 2919994577, "lat": 40.7616, "lon": -73.9881339}, {"type": "node", "id": 2919994578, "lat": 40.7616032, "lon": -73.9877371}, {"type": "node", "id": 2919994586, "lat": 40.7616546, "lon": -73.9876995}, {"type": "node", "id": 2919994596, "lat": 40.7617318, "lon": -73.9883081}, {"type": "node", "id": 2919994599, "lat": 40.7617835, "lon": -73.9882709}, {"type": "node", "id": 2920003301, "lat": 40.7618169, "lon": -73.9882464}, {"type": "node", "id": 2920003302, "lat": 40.7618693, "lon": -73.9882078}, {"type": "node", "id": 2920003303, "lat": 40.7618818, "lon": -73.9881985}, {"type": "node", "id": 2920012775, "lat": 40.7609661, "lon": -73.9866169}, {"type": "node", "id": 2920012786, "lat": 40.7614389, "lon": -73.9862667}, {"type": "node", "id": 2920012787, "lat": 40.7614574, "lon": -73.98631}, {"type": "node", "id": 2920012788, "lat": 40.7614942, "lon": -73.9863968}, {"type": "node", "id": 2920101569, "lat": 40.7587396, "lon": -73.990304}, {"type": "node", "id": 2920101570, "lat": 40.7589125, "lon": -73.9901777}, {"type": "node", "id": 2920101571, "lat": 40.759177, "lon": -73.9893991}, {"type": "node", "id": 2920101572, "lat": 40.7595422, "lon": -73.99027}, {"type": "node", "id": 2920116798, "lat": 40.7583973, "lon": -73.9933744}, {"type": "node", "id": 2920162391, "lat": 40.7579598, "lon": -73.9952852}, {"type": "node", "id": 2920162392, "lat": 40.7579966, "lon": -73.9952182}, {"type": "node", "id": 2920162393, "lat": 40.7579967, "lon": -73.9953733}, {"type": "node", "id": 2920162399, "lat": 40.7581213, "lon": -73.9956705}, {"type": "node", "id": 2920162802, "lat": 40.7581573, "lon": -73.9951008}, {"type": "node", "id": 2920162804, "lat": 40.7582185, "lon": -73.9950561}, {"type": "node", "id": 2920162836, "lat": 40.7583084, "lon": -73.9947789}, {"type": "node", "id": 2920162838, "lat": 40.7583321, "lon": -73.9948356}, {"type": "node", "id": 2920162840, "lat": 40.7583534, "lon": -73.9955066}, {"type": "node", "id": 2920162841, "lat": 40.7583537, "lon": -73.9949573}, {"type": "node", "id": 2920162843, "lat": 40.7584432, "lon": -73.994946}, {"type": "node", "id": 2920162845, "lat": 40.7584787, "lon": -73.9950309}, {"type": "node", "id": 2920162847, "lat": 40.7585691, "lon": -73.9952464}, {"type": "node", "id": 2920186663, "lat": 40.7562964, "lon": -73.9948003}, {"type": "node", "id": 2920186664, "lat": 40.7565277, "lon": -73.994233}, {"type": "node", "id": 2921993852, "lat": 40.7546883, "lon": -73.994221}, {"type": "node", "id": 2921993854, "lat": 40.7548083, "lon": -73.9941331}, {"type": "node", "id": 2921993855, "lat": 40.7548202, "lon": -73.9941245}, {"type": "node", "id": 2921993860, "lat": 40.7548545, "lon": -73.9946164}, {"type": "node", "id": 2921993877, "lat": 40.7549734, "lon": -73.9945293}, {"type": "node", "id": 2921993879, "lat": 40.7549861, "lon": -73.99452}, {"type": "node", "id": 2954325761, "lat": 40.7551958, "lon": -73.9846075}, {"type": "node", "id": 2954325764, "lat": 40.7556013, "lon": -73.9840752}, {"type": "node", "id": 2965549544, "lat": 40.7569715, "lon": -73.9897424}, {"type": "node", "id": 2965549545, "lat": 40.75698, "lon": -73.9897334}, {"type": "node", "id": 2965549546, "lat": 40.7569889, "lon": -73.9897228}, {"type": "node", "id": 2965549547, "lat": 40.7569981, "lon": -73.9897073}, {"type": "node", "id": 2965549548, "lat": 40.7570017, "lon": -73.9896967}, {"type": "node", "id": 2965549549, "lat": 40.7570037, "lon": -73.9896405}, {"type": "node", "id": 2965549550, "lat": 40.7570045, "lon": -73.9896785}, {"type": "node", "id": 2965549551, "lat": 40.7570057, "lon": -73.9896595}, {"type": "node", "id": 2965563470, "lat": 40.7570996, "lon": -73.989096}, {"type": "node", "id": 2965563471, "lat": 40.7571428, "lon": -73.9890641}, {"type": "node", "id": 2965563472, "lat": 40.7573298, "lon": -73.9895074}, {"type": "node", "id": 2965563473, "lat": 40.7573351, "lon": -73.9889226}, {"type": "node", "id": 2965563478, "lat": 40.7576167, "lon": -73.9892964}, {"type": "node", "id": 2965563479, "lat": 40.7576579, "lon": -73.9889231}, {"type": "node", "id": 2965599826, "lat": 40.7560808, "lon": -73.9880371}, {"type": "node", "id": 2965599827, "lat": 40.7560883, "lon": -73.9880972}, {"type": "node", "id": 2965599829, "lat": 40.7561136, "lon": -73.9880137}, {"type": "node", "id": 2965599935, "lat": 40.756176, "lon": -73.988303}, {"type": "node", "id": 2965599938, "lat": 40.7562222, "lon": -73.9882696}, {"type": "node", "id": 2965599953, "lat": 40.7562379, "lon": -73.987924}, {"type": "node", "id": 2965599957, "lat": 40.7563094, "lon": -73.987935}, {"type": "node", "id": 2965599961, "lat": 40.7563462, "lon": -73.9881802}, {"type": "node", "id": 2965599963, "lat": 40.7563745, "lon": -73.9880923}, {"type": "node", "id": 2965689762, "lat": 40.7556417, "lon": -73.9878212}, {"type": "node", "id": 2965689763, "lat": 40.7557756, "lon": -73.9873681}, {"type": "node", "id": 2965689765, "lat": 40.7559416, "lon": -73.9872474}, {"type": "node", "id": 2965689769, "lat": 40.755951, "lon": -73.9872406}, {"type": "node", "id": 2965689772, "lat": 40.7559546, "lon": -73.9872309}, {"type": "node", "id": 2965689774, "lat": 40.7559606, "lon": -73.9872219}, {"type": "node", "id": 2965689776, "lat": 40.7559685, "lon": -73.9872151}, {"type": "node", "id": 2965689778, "lat": 40.7559778, "lon": -73.9872113}, {"type": "node", "id": 2965689780, "lat": 40.7559872, "lon": -73.9872109}, {"type": "node", "id": 2965689783, "lat": 40.7559967, "lon": -73.9872141}, {"type": "node", "id": 2965689786, "lat": 40.7560045, "lon": -73.98722}, {"type": "node", "id": 2965689788, "lat": 40.7560115, "lon": -73.9872294}, {"type": "node", "id": 2965689790, "lat": 40.7560154, "lon": -73.9872746}, {"type": "node", "id": 2965689791, "lat": 40.7560159, "lon": -73.9872397}, {"type": "node", "id": 2965689792, "lat": 40.7560178, "lon": -73.9872647}, {"type": "node", "id": 2965689793, "lat": 40.7560182, "lon": -73.9872523}, {"type": "node", "id": 2973188694, "lat": 40.7598133, "lon": -73.9910428}, {"type": "node", "id": 2973188698, "lat": 40.7598973, "lon": -73.9909801}, {"type": "node", "id": 3066729324, "lat": 40.7595407, "lon": -73.9887252}, {"type": "node", "id": 3066729325, "lat": 40.7596208, "lon": -73.9885188}, {"type": "node", "id": 3066777674, "lat": 40.7614054, "lon": -73.9871132}, {"type": "node", "id": 3066777676, "lat": 40.7614335, "lon": -73.986932}, {"type": "node", "id": 3066777677, "lat": 40.7614689, "lon": -73.9869063}, {"type": "node", "id": 3066777680, "lat": 40.761544, "lon": -73.9868516}, {"type": "node", "id": 3066777681, "lat": 40.761578, "lon": -73.986827}, {"type": "node", "id": 3066777686, "lat": 40.7617492, "lon": -73.9869847}, {"type": "node", "id": 3066777687, "lat": 40.7617698, "lon": -73.9870322}, {"type": "node", "id": 3066777688, "lat": 40.7618064, "lon": -73.9871355}, {"type": "node", "id": 3213889709, "lat": 40.7547799, "lon": -73.9869333}, {"type": "node", "id": 3213889710, "lat": 40.7547861, "lon": -73.9869674}, {"type": "node", "id": 3213889711, "lat": 40.7547884, "lon": -73.9869802}, {"type": "node", "id": 3213889712, "lat": 40.7547919, "lon": -73.986999}, {"type": "node", "id": 3213889713, "lat": 40.7547985, "lon": -73.9870353}, {"type": "node", "id": 3213889714, "lat": 40.7548011, "lon": -73.9870494}, {"type": "node", "id": 3213889715, "lat": 40.7548046, "lon": -73.9870682}, {"type": "node", "id": 3213889716, "lat": 40.7548094, "lon": -73.9870946}, {"type": "node", "id": 3213889723, "lat": 40.7548877, "lon": -73.9873348}, {"type": "node", "id": 3213889724, "lat": 40.7548883, "lon": -73.9873956}, {"type": "node", "id": 3213889727, "lat": 40.7549025, "lon": -73.9872788}, {"type": "node", "id": 3213889728, "lat": 40.7549052, "lon": -73.9874364}, {"type": "node", "id": 3213889731, "lat": 40.754913, "lon": -73.9874552}, {"type": "node", "id": 3213889733, "lat": 40.7549197, "lon": -73.9874714}, {"type": "node", "id": 3213889734, "lat": 40.7549246, "lon": -73.987483}, {"type": "node", "id": 3213889737, "lat": 40.7549377, "lon": -73.9875145}, {"type": "node", "id": 3447488959, "lat": 40.7563644, "lon": -73.9872666, "tags": {"check_date:wheelchair": "2025-01-30", "description": "all A,C,E,N,Q,R,W,1,2,3,7,<7>,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 3574404393, "lat": 40.7591117, "lon": -73.9905291, "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "332", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "car_rental", "brand": "Alamo", "brand:wikidata": "Q1429287", "building": "yes", "name": "Alamo", "operator": "Alamo", "phone": "(888) 826-6893", "website": "https://www.alamo.com/en_US/car-rental/locations/location-details/US/NYCC71-manhattan-w-44th-st.html"}}, {"type": "node", "id": 3747161365, "lat": 40.7604059, "lon": -73.9880589}, {"type": "node", "id": 4546489143, "lat": 40.7599971, "lon": -73.9881671}, {"type": "node", "id": 4546489146, "lat": 40.7600455, "lon": -73.9882812, "tags": {"entrance": "main"}}, {"type": "node", "id": 4546489150, "lat": 40.7601381, "lon": -73.987879}, {"type": "node", "id": 4546489151, "lat": 40.7601395, "lon": -73.9885027}, {"type": "node", "id": 4546489159, "lat": 40.7603275, "lon": -73.9878721}, {"type": "node", "id": 4546534655, "lat": 40.7586421, "lon": -73.9927342}, {"type": "node", "id": 4546534656, "lat": 40.7586679, "lon": -73.992664}, {"type": "node", "id": 4546534657, "lat": 40.7587761, "lon": -73.9930605}, {"type": "node", "id": 4550600352, "lat": 40.7585327, "lon": -73.9866763}, {"type": "node", "id": 4550600353, "lat": 40.7590054, "lon": -73.9863268}, {"type": "node", "id": 4637090530, "lat": 40.7544957, "lon": -73.9934311}, {"type": "node", "id": 4637412949, "lat": 40.7551405, "lon": -73.991692}, {"type": "node", "id": 4637412950, "lat": 40.7552021, "lon": -73.991647, "tags": {"entrance": "main"}}, {"type": "node", "id": 4644018190, "lat": 40.7555456, "lon": -73.9927715}, {"type": "node", "id": 4770624005, "lat": 40.7548047, "lon": -73.9882542, "tags": {"description": "all 1,2,3,7,<7>,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 4770624008, "lat": 40.7555585, "lon": -73.9876583, "tags": {"description": "all 1,2,3,7,<7>,N,Q,R,W,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 4770624009, "lat": 40.7561224, "lon": -73.9875399, "tags": {"description": "all 1,2,3,7,<7>,N,Q,R,W,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 4770624010, "lat": 40.755786, "lon": -73.986774, "tags": {"description": "all 1,2,3,7,<7>,N,Q,R,W,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "yes"}}, {"type": "node", "id": 4770624016, "lat": 40.7541574, "lon": -73.9866707, "tags": {"description": "all N,Q,R,W,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 5020832127, "lat": 40.7559818, "lon": -73.9910324, "tags": {"description": "all A,C,E,7,<7> trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 5020832150, "lat": 40.7569312, "lon": -73.9894626, "tags": {"description": "all A,C,E,N,Q,R,W,1,2,3,7,<7>,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 5020832160, "lat": 40.7574006, "lon": -73.9894559, "tags": {"description": "all A,C,E,7,<7> trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 5020832195, "lat": 40.7585803, "lon": -73.9891802, "tags": {"description": "all A,C,E,7,<7> trains", "level": "0", "railway": "subway_entrance", "wheelchair": "yes"}}, {"type": "node", "id": 5020832437, "lat": 40.7557809, "lon": -73.98853}, {"type": "node", "id": 5020832438, "lat": 40.7557601, "lon": -73.9885397}, {"type": "node", "id": 5020832574, "lat": 40.7545545, "lon": -73.9878341}, {"type": "node", "id": 5020832575, "lat": 40.754529, "lon": -73.9878507}, {"type": "node", "id": 5020832582, "lat": 40.7547595, "lon": -73.988336}, {"type": "node", "id": 5020832583, "lat": 40.7547928, "lon": -73.9883231}, {"type": "node", "id": 5020832584, "lat": 40.7548089, "lon": -73.9882977}, {"type": "node", "id": 5020832585, "lat": 40.7547905, "lon": -73.9882538}, {"type": "node", "id": 5020832586, "lat": 40.7547642, "lon": -73.9882765}, {"type": "node", "id": 5020832587, "lat": 40.7547085, "lon": -73.9881368}, {"type": "node", "id": 5020832588, "lat": 40.7547532, "lon": -73.9881058}, {"type": "node", "id": 5020832589, "lat": 40.7547571, "lon": -73.9880887}, {"type": "node", "id": 5020832600, "lat": 40.7546707, "lon": -73.9877656}, {"type": "node", "id": 5020832601, "lat": 40.7546037, "lon": -73.9878171}, {"type": "node", "id": 5020832602, "lat": 40.7546066, "lon": -73.9878241}, {"type": "node", "id": 5020832603, "lat": 40.7545653, "lon": -73.9878533}, {"type": "node", "id": 5020832604, "lat": 40.7545623, "lon": -73.9878479}, {"type": "node", "id": 5020832605, "lat": 40.7545855, "lon": -73.9878341}, {"type": "node", "id": 5020832606, "lat": 40.7545786, "lon": -73.9878158}, {"type": "node", "id": 5020832645, "lat": 40.7559192, "lon": -73.9865517}, {"type": "node", "id": 5020832646, "lat": 40.7559171, "lon": -73.986588}, {"type": "node", "id": 5020832647, "lat": 40.7559171, "lon": -73.9866256}, {"type": "node", "id": 5020832658, "lat": 40.7563458, "lon": -73.9872604}, {"type": "node", "id": 5020832659, "lat": 40.7563836, "lon": -73.9872295}, {"type": "node", "id": 5020832660, "lat": 40.7563358, "lon": -73.9871143}, {"type": "node", "id": 5020832661, "lat": 40.7562319, "lon": -73.9872219}, {"type": "node", "id": 5020832662, "lat": 40.7563149, "lon": -73.9871859}, {"type": "node", "id": 5020832663, "lat": 40.7561032, "lon": -73.9875464}, {"type": "node", "id": 5020832664, "lat": 40.7560538, "lon": -73.987611}, {"type": "node", "id": 5020832665, "lat": 40.7560515, "lon": -73.987415}, {"type": "node", "id": 5020832666, "lat": 40.7560764, "lon": -73.9873966}, {"type": "node", "id": 5020832667, "lat": 40.7560982, "lon": -73.9873167}, {"type": "node", "id": 5020832668, "lat": 40.7560495, "lon": -73.9873386}, {"type": "node", "id": 5020832669, "lat": 40.7559666, "lon": -73.9874018}, {"type": "node", "id": 5020832670, "lat": 40.756154, "lon": -73.9872773}, {"type": "node", "id": 5020832671, "lat": 40.756211, "lon": -73.9871708}, {"type": "node", "id": 5020832672, "lat": 40.7560602, "lon": -73.9873019}, {"type": "node", "id": 5020832673, "lat": 40.7561777, "lon": -73.9870956}, {"type": "node", "id": 5020832674, "lat": 40.7560903, "lon": -73.9870608}, {"type": "node", "id": 5020832678, "lat": 40.7560433, "lon": -73.9870295}, {"type": "node", "id": 5020832686, "lat": 40.7561723, "lon": -73.9862245}, {"type": "node", "id": 5020832687, "lat": 40.7561142, "lon": -73.9861926}, {"type": "node", "id": 5020832690, "lat": 40.7562315, "lon": -73.9862519}, {"type": "node", "id": 5020832693, "lat": 40.7563019, "lon": -73.9862651}, {"type": "node", "id": 5020832694, "lat": 40.7563663, "lon": -73.9862822}, {"type": "node", "id": 5020832695, "lat": 40.7563846, "lon": -73.9862759}, {"type": "node", "id": 5020832697, "lat": 40.756426, "lon": -73.9862855}, {"type": "node", "id": 5020832698, "lat": 40.7564609, "lon": -73.9862753}, {"type": "node", "id": 5020832699, "lat": 40.7564697, "lon": -73.9862326}, {"type": "node", "id": 5020832700, "lat": 40.7565479, "lon": -73.986315}, {"type": "node", "id": 5020832701, "lat": 40.7565337, "lon": -73.9863249}, {"type": "node", "id": 5020832702, "lat": 40.7565233, "lon": -73.9862525}, {"type": "node", "id": 5020832703, "lat": 40.756518, "lon": -73.9863162}, {"type": "node", "id": 5020832704, "lat": 40.7565251, "lon": -73.9863021}, {"type": "node", "id": 5020832705, "lat": 40.7564905, "lon": -73.9863222}, {"type": "node", "id": 5020832707, "lat": 40.7564968, "lon": -73.986344}, {"type": "node", "id": 5020832709, "lat": 40.7564951, "lon": -73.9864027}, {"type": "node", "id": 5020832710, "lat": 40.7565039, "lon": -73.9864036}, {"type": "node", "id": 5020832712, "lat": 40.7564762, "lon": -73.9864559}, {"type": "node", "id": 5020832713, "lat": 40.7564347, "lon": -73.9864945}, {"type": "node", "id": 5020832716, "lat": 40.7563007, "lon": -73.9865067}, {"type": "node", "id": 5020832717, "lat": 40.7563415, "lon": -73.9865166}, {"type": "node", "id": 5020832721, "lat": 40.7561649, "lon": -73.9864623}, {"type": "node", "id": 5020832722, "lat": 40.755949, "lon": -73.9868046}, {"type": "node", "id": 5020832723, "lat": 40.7559261, "lon": -73.9867255}, {"type": "node", "id": 5020832725, "lat": 40.755939, "lon": -73.9865538}, {"type": "node", "id": 5020832752, "lat": 40.7556037, "lon": -73.9861048}, {"type": "node", "id": 5020832759, "lat": 40.7557208, "lon": -73.986988}, {"type": "node", "id": 5020832760, "lat": 40.7553618, "lon": -73.987243}, {"type": "node", "id": 5020832771, "lat": 40.7555752, "lon": -73.9875494}, {"type": "node", "id": 5020832772, "lat": 40.7556069, "lon": -73.9876952}, {"type": "node", "id": 5020832773, "lat": 40.7555928, "lon": -73.9876796}, {"type": "node", "id": 5020832774, "lat": 40.7555659, "lon": -73.9877031}, {"type": "node", "id": 5020832775, "lat": 40.7554723, "lon": -73.987894}, {"type": "node", "id": 5020832776, "lat": 40.7556042, "lon": -73.987805}, {"type": "node", "id": 5020832777, "lat": 40.7553821, "lon": -73.9876739}, {"type": "node", "id": 5020832778, "lat": 40.7554247, "lon": -73.9877855}, {"type": "node", "id": 5020832779, "lat": 40.7553764, "lon": -73.9876595}, {"type": "node", "id": 5020832782, "lat": 40.7556274, "lon": -73.9876772}, {"type": "node", "id": 5020832792, "lat": 40.7552383, "lon": -73.9873675}, {"type": "node", "id": 5020832861, "lat": 40.7552466, "lon": -73.9869672}, {"type": "node", "id": 5020832862, "lat": 40.7551694, "lon": -73.9867886}, {"type": "node", "id": 5020832863, "lat": 40.7551837, "lon": -73.9867767}, {"type": "node", "id": 5020832864, "lat": 40.7556306, "lon": -73.9866429}, {"type": "node", "id": 5020832865, "lat": 40.7556307, "lon": -73.9866616}, {"type": "node", "id": 5020832866, "lat": 40.7556149, "lon": -73.986679}, {"type": "node", "id": 5020832867, "lat": 40.7556075, "lon": -73.9867097}, {"type": "node", "id": 5020832868, "lat": 40.7556561, "lon": -73.9868214}, {"type": "node", "id": 5020832870, "lat": 40.7556461, "lon": -73.9862144}, {"type": "node", "id": 5020832871, "lat": 40.7556651, "lon": -73.986266}, {"type": "node", "id": 5020832872, "lat": 40.755645, "lon": -73.9862814}, {"type": "node", "id": 5020832888, "lat": 40.7550133, "lon": -73.9868245}, {"type": "node", "id": 5020832889, "lat": 40.7550506, "lon": -73.9869153}, {"type": "node", "id": 5020832911, "lat": 40.7557575, "lon": -73.9867057}, {"type": "node", "id": 5020832919, "lat": 40.7557081, "lon": -73.9869719}, {"type": "node", "id": 5020832947, "lat": 40.7543346, "lon": -73.9870505}, {"type": "node", "id": 5020832948, "lat": 40.7543549, "lon": -73.9870977}, {"type": "node", "id": 5020832952, "lat": 40.7541912, "lon": -73.9867232}, {"type": "node", "id": 5020832953, "lat": 40.7541663, "lon": -73.9866642}, {"type": "node", "id": 5020832954, "lat": 40.7541484, "lon": -73.9866773}, {"type": "node", "id": 5020832955, "lat": 40.7541292, "lon": -73.986631}, {"type": "node", "id": 5020832956, "lat": 40.7541641, "lon": -73.9866056}, {"type": "node", "id": 5020832957, "lat": 40.7541977, "lon": -73.986682}, {"type": "node", "id": 5020832958, "lat": 40.7542142, "lon": -73.9866885}, {"type": "node", "id": 5020832959, "lat": 40.7542805, "lon": -73.986664}, {"type": "node", "id": 5020832960, "lat": 40.7542553, "lon": -73.9865809}, {"type": "node", "id": 5020832961, "lat": 40.7542886, "lon": -73.986558}, {"type": "node", "id": 5020832962, "lat": 40.7543212, "lon": -73.9866354}, {"type": "node", "id": 5020832963, "lat": 40.7542812, "lon": -73.9866072}, {"type": "node", "id": 5020832976, "lat": 40.7544703, "lon": -73.9870244}, {"type": "node", "id": 5020832977, "lat": 40.7544779, "lon": -73.9870265}, {"type": "node", "id": 5020832978, "lat": 40.7544873, "lon": -73.9870207}, {"type": "node", "id": 5020832979, "lat": 40.7545087, "lon": -73.9870722}, {"type": "node", "id": 5020832980, "lat": 40.7545101, "lon": -73.9871173}, {"type": "node", "id": 5020832981, "lat": 40.7544836, "lon": -73.9870543}, {"type": "node", "id": 5020832982, "lat": 40.7544602, "lon": -73.9870425}, {"type": "node", "id": 5020832983, "lat": 40.7544375, "lon": -73.9869933}, {"type": "node", "id": 5020832984, "lat": 40.7544211, "lon": -73.9870142}, {"type": "node", "id": 5020832985, "lat": 40.7543614, "lon": -73.9870331}, {"type": "node", "id": 5020832986, "lat": 40.7543712, "lon": -73.9870858}, {"type": "node", "id": 5020832987, "lat": 40.7543823, "lon": -73.9871117}, {"type": "node", "id": 5020832988, "lat": 40.7543514, "lon": -73.9871354}, {"type": "node", "id": 5020832989, "lat": 40.7543194, "lon": -73.9870615}, {"type": "node", "id": 5022414746, "lat": 40.7558007, "lon": -73.9885535}, {"type": "node", "id": 5022414747, "lat": 40.7558631, "lon": -73.9886953}, {"type": "node", "id": 5022414748, "lat": 40.7559668, "lon": -73.9889303}, {"type": "node", "id": 5022414750, "lat": 40.756161, "lon": -73.9893666}, {"type": "node", "id": 5022414751, "lat": 40.7562215, "lon": -73.989506}, {"type": "node", "id": 5022414752, "lat": 40.7563801, "lon": -73.9898683}, {"type": "node", "id": 5022414753, "lat": 40.7564166, "lon": -73.9898434}, {"type": "node", "id": 5022414754, "lat": 40.7562514, "lon": -73.9894791}, {"type": "node", "id": 5022414755, "lat": 40.7561957, "lon": -73.9893557}, {"type": "node", "id": 5022414756, "lat": 40.7561111, "lon": -73.9891617}, {"type": "node", "id": 5022414757, "lat": 40.7560061, "lon": -73.9889219}, {"type": "node", "id": 5022414758, "lat": 40.7558984, "lon": -73.9886756}, {"type": "node", "id": 5022414764, "lat": 40.757876, "lon": -73.9895069}, {"type": "node", "id": 5022414766, "lat": 40.7579092, "lon": -73.9895461}, {"type": "node", "id": 5022414767, "lat": 40.7578955, "lon": -73.9895576}, {"type": "node", "id": 5022414786, "lat": 40.7585241, "lon": -73.9890595}, {"type": "node", "id": 5022414787, "lat": 40.7585151, "lon": -73.9890971}, {"type": "node", "id": 5022414788, "lat": 40.7584544, "lon": -73.9890979}, {"type": "node", "id": 5022414793, "lat": 40.7584873, "lon": -73.9891727}, {"type": "node", "id": 5022414794, "lat": 40.7585337, "lon": -73.989141}, {"type": "node", "id": 5022414803, "lat": 40.7586529, "lon": -73.9889913}, {"type": "node", "id": 5022414804, "lat": 40.7586393, "lon": -73.9889974}, {"type": "node", "id": 5022414807, "lat": 40.7583895, "lon": -73.9887504}, {"type": "node", "id": 5022414808, "lat": 40.7583715, "lon": -73.9887465}, {"type": "node", "id": 5022414810, "lat": 40.7584001, "lon": -73.9887126}, {"type": "node", "id": 5022414811, "lat": 40.7583769, "lon": -73.9887057}, {"type": "node", "id": 5022414812, "lat": 40.7583433, "lon": -73.9886584}, {"type": "node", "id": 5022414813, "lat": 40.7583661, "lon": -73.9887311}, {"type": "node", "id": 5022414814, "lat": 40.7583681, "lon": -73.9887176}, {"type": "node", "id": 5022414815, "lat": 40.7583525, "lon": -73.9886494}, {"type": "node", "id": 5022419623, "lat": 40.7568793, "lon": -73.9902161}, {"type": "node", "id": 5022419628, "lat": 40.7573532, "lon": -73.9898861}, {"type": "node", "id": 5022419629, "lat": 40.7574223, "lon": -73.9899598}, {"type": "node", "id": 5022419631, "lat": 40.7572402, "lon": -73.9899718}, {"type": "node", "id": 5022419632, "lat": 40.7573893, "lon": -73.9898792}, {"type": "node", "id": 5022419633, "lat": 40.7573776, "lon": -73.9898734}, {"type": "node", "id": 5022419634, "lat": 40.7574388, "lon": -73.989948}, {"type": "node", "id": 5022419635, "lat": 40.7574033, "lon": -73.9898607}, {"type": "node", "id": 5022419638, "lat": 40.7574109, "lon": -73.989852}, {"type": "node", "id": 5022419648, "lat": 40.7569217, "lon": -73.9895878}, {"type": "node", "id": 5022419649, "lat": 40.756924, "lon": -73.9894681}, {"type": "node", "id": 5022419650, "lat": 40.757068, "lon": -73.9896524}, {"type": "node", "id": 5022419652, "lat": 40.7571533, "lon": -73.9896195}, {"type": "node", "id": 5022419654, "lat": 40.7568855, "lon": -73.9894997}, {"type": "node", "id": 5022419655, "lat": 40.7569555, "lon": -73.9895413}, {"type": "node", "id": 5022419657, "lat": 40.7572466, "lon": -73.9895561}, {"type": "node", "id": 5022419660, "lat": 40.757366, "lon": -73.9894509}, {"type": "node", "id": 5022419661, "lat": 40.757377, "lon": -73.9893987}, {"type": "node", "id": 5022419662, "lat": 40.7572875, "lon": -73.9895054}, {"type": "node", "id": 5022419663, "lat": 40.7572589, "lon": -73.9894845}, {"type": "node", "id": 5022419666, "lat": 40.7573935, "lon": -73.9894326}, {"type": "node", "id": 5022419677, "lat": 40.7578629, "lon": -73.9895169}, {"type": "node", "id": 5022419680, "lat": 40.7564455, "lon": -73.9900966}, {"type": "node", "id": 5022419681, "lat": 40.7564855, "lon": -73.9900522}, {"type": "node", "id": 5022419684, "lat": 40.7565236, "lon": -73.9900866}, {"type": "node", "id": 5022419690, "lat": 40.7560541, "lon": -73.9908121}, {"type": "node", "id": 5022419691, "lat": 40.7560761, "lon": -73.9908772}, {"type": "node", "id": 5022419693, "lat": 40.7560689, "lon": -73.990801}, {"type": "node", "id": 5022419696, "lat": 40.7560376, "lon": -73.9908243}, {"type": "node", "id": 5022419697, "lat": 40.7560617, "lon": -73.9908846}, {"type": "node", "id": 5022419702, "lat": 40.7559163, "lon": -73.9904187}, {"type": "node", "id": 5022419703, "lat": 40.7558842, "lon": -73.9904467}, {"type": "node", "id": 5022419704, "lat": 40.7564595, "lon": -73.9901125}, {"type": "node", "id": 5022419706, "lat": 40.7557688, "lon": -73.990598}, {"type": "node", "id": 5022419707, "lat": 40.7557789, "lon": -73.9905287}, {"type": "node", "id": 5022419712, "lat": 40.7557664, "lon": -73.990543}, {"type": "node", "id": 5022419713, "lat": 40.7557817, "lon": -73.9905858}, {"type": "node", "id": 5022419714, "lat": 40.7559066, "lon": -73.9910157}, {"type": "node", "id": 5022419715, "lat": 40.7558758, "lon": -73.9910274}, {"type": "node", "id": 5022419716, "lat": 40.7559239, "lon": -73.9909047}, {"type": "node", "id": 5022419717, "lat": 40.7558954, "lon": -73.990919}, {"type": "node", "id": 5022419718, "lat": 40.7559189, "lon": -73.9910477}, {"type": "node", "id": 5022419719, "lat": 40.7559515, "lon": -73.9910263}, {"type": "node", "id": 5022419720, "lat": 40.755889, "lon": -73.9910871}, {"type": "node", "id": 5022419821, "lat": 40.7558804, "lon": -73.9910573}, {"type": "node", "id": 5022419824, "lat": 40.7559547, "lon": -73.9910488}, {"type": "node", "id": 5140225522, "lat": 40.7592298, "lon": -73.9868148, "tags": {"access": "no", "entrance": "yes"}}, {"type": "node", "id": 5522182778, "lat": 40.758324, "lon": -73.9861757}, {"type": "node", "id": 5603569788, "lat": 40.7565067, "lon": -73.9884088}, {"type": "node", "id": 5651033374, "lat": 40.7562453, "lon": -73.9877837, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033375, "lat": 40.7562763, "lon": -73.9878567, "tags": {"entrance": "main"}}, {"type": "node", "id": 5651033376, "lat": 40.756244, "lon": -73.987648}, {"type": "node", "id": 5651033377, "lat": 40.7562689, "lon": -73.987707}, {"type": "node", "id": 5651033378, "lat": 40.7562297, "lon": -73.9877461}, {"type": "node", "id": 5651033379, "lat": 40.7560674, "lon": -73.9880468}, {"type": "node", "id": 5651033380, "lat": 40.7563421, "lon": -73.9880141, "tags": {"entrance": "main"}}, {"type": "node", "id": 5651033381, "lat": 40.7562998, "lon": -73.9879117, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033382, "lat": 40.7563857, "lon": -73.9881195, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033383, "lat": 40.7563142, "lon": -73.9879466}, {"type": "node", "id": 5651033384, "lat": 40.7563568, "lon": -73.9879158}, {"type": "node", "id": 5651033385, "lat": 40.756412, "lon": -73.9880492}, {"type": "node", "id": 5651033386, "lat": 40.7563694, "lon": -73.9880799}, {"type": "node", "id": 5651033387, "lat": 40.7565538, "lon": -73.9892439}, {"type": "node", "id": 5651033388, "lat": 40.7568307, "lon": -73.9891698, "tags": {"entrance": "main"}}, {"type": "node", "id": 5651033389, "lat": 40.7568111, "lon": -73.989122}, {"type": "node", "id": 5651033390, "lat": 40.7568515, "lon": -73.9890931}, {"type": "node", "id": 5651033391, "lat": 40.7568912, "lon": -73.9891897}, {"type": "node", "id": 5651033392, "lat": 40.7568508, "lon": -73.9892186}, {"type": "node", "id": 5651033393, "lat": 40.7567832, "lon": -73.9890593}, {"type": "node", "id": 5651033394, "lat": 40.7568748, "lon": -73.9892722}, {"type": "node", "id": 5651033395, "lat": 40.7567354, "lon": -73.9890951}, {"type": "node", "id": 5651033396, "lat": 40.7568271, "lon": -73.989308}, {"type": "node", "id": 5651033399, "lat": 40.7566768, "lon": -73.9888188, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033400, "lat": 40.7564286, "lon": -73.9882212}, {"type": "node", "id": 5651033402, "lat": 40.7563603, "lon": -73.98817}, {"type": "node", "id": 5651033403, "lat": 40.7565864, "lon": -73.9886009, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033404, "lat": 40.7565305, "lon": -73.9884663, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033405, "lat": 40.7564088, "lon": -73.9881728, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651033406, "lat": 40.7564611, "lon": -73.988299, "tags": {"entrance": "main"}}, {"type": "node", "id": 5651033407, "lat": 40.7566809, "lon": -73.9888285}, {"type": "node", "id": 5651033409, "lat": 40.7565574, "lon": -73.988513}, {"type": "node", "id": 5651033410, "lat": 40.75656, "lon": -73.9884795}, {"type": "node", "id": 5651033411, "lat": 40.7565366, "lon": -73.9884212}, {"type": "node", "id": 5651033412, "lat": 40.7565153, "lon": -73.9884024}, {"type": "node", "id": 5651033413, "lat": 40.7566833, "lon": -73.9888339}, {"type": "node", "id": 5651033414, "lat": 40.7567214, "lon": -73.9888054}, {"type": "node", "id": 5651033415, "lat": 40.7567081, "lon": -73.9887745}, {"type": "node", "id": 5651033416, "lat": 40.75667, "lon": -73.988803}, {"type": "node", "id": 5651033417, "lat": 40.7565948, "lon": -73.9884867}, {"type": "node", "id": 5651033418, "lat": 40.7566592, "lon": -73.9886461}, {"type": "node", "id": 5651033420, "lat": 40.756552, "lon": -73.988518}, {"type": "node", "id": 5651034222, "lat": 40.7566534, "lon": -73.9887623, "tags": {"entrance": "yes"}}, {"type": "node", "id": 5651034223, "lat": 40.756665, "lon": -73.9887903}, {"type": "node", "id": 5651034226, "lat": 40.7566179, "lon": -73.9886767}, {"type": "node", "id": 5858715821, "lat": 40.7579115, "lon": -73.991781, "tags": {"access": "yes", "entrance": "main"}}, {"type": "node", "id": 5858715822, "lat": 40.7578505, "lon": -73.9916357, "tags": {"access": "private", "entrance": "service"}}, {"type": "node", "id": 5858715823, "lat": 40.7579303, "lon": -73.9918258, "tags": {"access": "yes", "entrance": "main"}}, {"type": "node", "id": 5858715824, "lat": 40.7579646, "lon": -73.9919074, "tags": {"access": "private", "entrance": "service"}}, {"type": "node", "id": 5916783969, "lat": 40.7571224, "lon": -73.9915754}, {"type": "node", "id": 5916783970, "lat": 40.7566313, "lon": -73.9904289, "tags": {"crossing": "traffic_signals", "highway": "crossing"}}, {"type": "node", "id": 6067214123, "lat": 40.7543887, "lon": -73.9861218}, {"type": "node", "id": 6067214124, "lat": 40.7545379, "lon": -73.9862357}, {"type": "node", "id": 6067214126, "lat": 40.7543968, "lon": -73.9860898}, {"type": "node", "id": 6067214127, "lat": 40.7543864, "lon": -73.9860573}, {"type": "node", "id": 6067214128, "lat": 40.7545903, "lon": -73.9863607}, {"type": "node", "id": 6067214129, "lat": 40.7545251, "lon": -73.9862464}, {"type": "node", "id": 6067214130, "lat": 40.754444, "lon": -73.9860138}, {"type": "node", "id": 6067214132, "lat": 40.7544723, "lon": -73.9860805}, {"type": "node", "id": 6067214133, "lat": 40.7543225, "lon": -73.9861731}, {"type": "node", "id": 6067214136, "lat": 40.7544252, "lon": -73.9864087}, {"type": "node", "id": 6374602648, "lat": 40.7616892, "lon": -73.9951062}, {"type": "node", "id": 6374602649, "lat": 40.761558, "lon": -73.9948019}, {"type": "node", "id": 6374602650, "lat": 40.761703, "lon": -73.9946929}, {"type": "node", "id": 6374615583, "lat": 40.7618342, "lon": -73.9949972}, {"type": "node", "id": 6672696699, "lat": 40.7589075, "lon": -73.9899511, "tags": {"addr:housenumber": "324", "addr:street": "West 44th Street", "entrance": "main"}}, {"type": "node", "id": 6751685189, "lat": 40.756083, "lon": -73.9891929}, {"type": "node", "id": 6789372740, "lat": 40.7595095, "lon": -73.9889941, "tags": {"entrance": "main"}}, {"type": "node", "id": 6804077063, "lat": 40.755676, "lon": -73.9944269, "tags": {"entrance": "yes"}}, {"type": "node", "id": 6916346805, "lat": 40.7559225, "lon": -73.9928087, "tags": {"addr:housenumber": "330", "addr:street": "West 39th Street", "entrance": "main"}}, {"type": "node", "id": 6933286563, "lat": 40.7592083, "lon": -73.9867634, "tags": {"access": "no", "entrance": "yes"}}, {"type": "node", "id": 6938660475, "lat": 40.75569, "lon": -73.9884081}, {"type": "node", "id": 6938660476, "lat": 40.7558247, "lon": -73.9884992}, {"type": "node", "id": 7513118323, "lat": 40.7558737, "lon": -73.9860544}, {"type": "node", "id": 7513118324, "lat": 40.7559039, "lon": -73.9860789}, {"type": "node", "id": 7513118325, "lat": 40.7559136, "lon": -73.9860867}, {"type": "node", "id": 7513118326, "lat": 40.7559316, "lon": -73.9861013}, {"type": "node", "id": 7513118327, "lat": 40.7559921, "lon": -73.9861436}, {"type": "node", "id": 7513118328, "lat": 40.7560007, "lon": -73.9861488}, {"type": "node", "id": 7513118330, "lat": 40.7563163, "lon": -73.9865099}, {"type": "node", "id": 7513118331, "lat": 40.7560131, "lon": -73.9861552}, {"type": "node", "id": 7513118333, "lat": 40.7562636, "lon": -73.9864988}, {"type": "node", "id": 7513118334, "lat": 40.7562631, "lon": -73.9864986}, {"type": "node", "id": 7513118335, "lat": 40.756231, "lon": -73.986488}, {"type": "node", "id": 7513118336, "lat": 40.7562046, "lon": -73.9864783}, {"type": "node", "id": 7513118338, "lat": 40.7557632, "lon": -73.9859459}, {"type": "node", "id": 7513118339, "lat": 40.7557889, "lon": -73.9859722}, {"type": "node", "id": 7513118340, "lat": 40.7558378, "lon": -73.9860194}, {"type": "node", "id": 7581325942, "lat": 40.7537069, "lon": -73.9851774, "tags": {"description": "all B,D,F,,M,7,<7> trains", "level": "0", "railway": "subway_entrance", "wheelchair": "no"}}, {"type": "node", "id": 7593450688, "lat": 40.758642, "lon": -73.9889664}, {"type": "node", "id": 7593450689, "lat": 40.758628, "lon": -73.9889761}, {"type": "node", "id": 7593450690, "lat": 40.7585213, "lon": -73.989051}, {"type": "node", "id": 7593450691, "lat": 40.7584107, "lon": -73.9887354}, {"type": "node", "id": 7593450692, "lat": 40.7578865, "lon": -73.9894995}, {"type": "node", "id": 7593450693, "lat": 40.7572798, "lon": -73.9895451}, {"type": "node", "id": 7593450694, "lat": 40.7570815, "lon": -73.9896871}, {"type": "node", "id": 7593450695, "lat": 40.7559256, "lon": -73.9905409}, {"type": "node", "id": 7593450696, "lat": 40.7559581, "lon": -73.9905175}, {"type": "node", "id": 7593450697, "lat": 40.7560617, "lon": -73.9907849}, {"type": "node", "id": 7593450698, "lat": 40.7560342, "lon": -73.9908042}, {"type": "node", "id": 7593450699, "lat": 40.7559169, "lon": -73.9908869}, {"type": "node", "id": 7593450700, "lat": 40.7558903, "lon": -73.9909056}, {"type": "node", "id": 7593450701, "lat": 40.7558135, "lon": -73.990622}, {"type": "node", "id": 7593450702, "lat": 40.7557862, "lon": -73.9906416}, {"type": "node", "id": 7593450703, "lat": 40.7546745, "lon": -73.9877751}, {"type": "node", "id": 7593450704, "lat": 40.7545387, "lon": -73.9878733}, {"type": "node", "id": 7593450705, "lat": 40.7546709, "lon": -73.9881269}, {"type": "node", "id": 7593450706, "lat": 40.7547503, "lon": -73.9880709}, {"type": "node", "id": 7593450707, "lat": 40.7558682, "lon": -73.9884687}, {"type": "node", "id": 7593450708, "lat": 40.7553665, "lon": -73.9876362}, {"type": "node", "id": 7593450709, "lat": 40.7557487, "lon": -73.9859325}, {"type": "node", "id": 7593450710, "lat": 40.7555832, "lon": -73.9860518}, {"type": "node", "id": 7593450711, "lat": 40.7544564, "lon": -73.9869925}, {"type": "node", "id": 7593450712, "lat": 40.7543063, "lon": -73.9866877}, {"type": "node", "id": 7593450714, "lat": 40.7543426, "lon": -73.9870271}, {"type": "node", "id": 7593450715, "lat": 40.7557902, "lon": -73.9869125, "tags": {"description": "all 1,2,3,7,<7>,N,Q,R,W,S trains", "level": "0", "railway": "subway_entrance", "wheelchair": "yes"}}, {"type": "node", "id": 7593450717, "lat": 40.7538467, "lon": -73.9871778}, {"type": "node", "id": 7593450718, "lat": 40.7545313, "lon": -73.9878786}, {"type": "node", "id": 7593450719, "lat": 40.7557544, "lon": -73.9906646}, {"type": "node", "id": 7593450720, "lat": 40.7564733, "lon": -73.9901453}, {"type": "node", "id": 7593450721, "lat": 40.7546437, "lon": -73.9881461}, {"type": "node", "id": 7593450722, "lat": 40.7537939, "lon": -73.9868433}, {"type": "node", "id": 7593450723, "lat": 40.7560226, "lon": -73.9872128}, {"type": "node", "id": 7593450724, "lat": 40.7586606, "lon": -73.9885564}, {"type": "node", "id": 7593450725, "lat": 40.7587866, "lon": -73.9888649}, {"type": "node", "id": 7593450726, "lat": 40.7558572, "lon": -73.9909289}, {"type": "node", "id": 7653858220, "lat": 40.7569209, "lon": -73.988164}, {"type": "node", "id": 7653858221, "lat": 40.7567419, "lon": -73.9882529, "tags": {"entrance": "main"}}, {"type": "node", "id": 7653858223, "lat": 40.7568935, "lon": -73.9880981}, {"type": "node", "id": 7737938503, "lat": 40.7558076, "lon": -73.9925367, "tags": {"access": "private", "addr:housenumber": "326", "addr:street": "West 39th Street", "entrance": "yes"}}, {"type": "node", "id": 7737938504, "lat": 40.7556724, "lon": -73.9922162, "tags": {"addr:housenumber": "318", "addr:street": "West 39th Street", "entrance": "main"}}, {"type": "node", "id": 7737938505, "lat": 40.7557795, "lon": -73.9924701, "tags": {"access": "delivery", "entrance": "service"}}, {"type": "node", "id": 8095866235, "lat": 40.7588979, "lon": -73.9953526, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8250892564, "lat": 40.7603108, "lon": -73.9870076, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8288270501, "lat": 40.7572828, "lon": -73.993291}, {"type": "node", "id": 8288270502, "lat": 40.7576188, "lon": -73.9930459}, {"type": "node", "id": 8393222916, "lat": 40.7591606, "lon": -73.9939913, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8393241418, "lat": 40.7590999, "lon": -73.9938474, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8669764314, "lat": 40.7575941, "lon": -73.9883345, "tags": {"access": "customers", "amenity": "parking_entrance", "covered": "yes", "fee": "yes", "level": "0", "maxheight": "6'9\"", "parking": "multi-storey"}}, {"type": "node", "id": 8704367787, "lat": 40.7612553, "lon": -73.9853675, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8704367789, "lat": 40.7618863, "lon": -73.9853788, "tags": {"amenity": "parking_entrance"}}, {"type": "node", "id": 8751484434, "lat": 40.7550115, "lon": -73.9851761}, {"type": "node", "id": 8751484437, "lat": 40.7550365, "lon": -73.9851575}, {"type": "node", "id": 8751484531, "lat": 40.754728, "lon": -73.9853863}, {"type": "node", "id": 8751484534, "lat": 40.7546787, "lon": -73.9854229}, {"type": "node", "id": 8751484541, "lat": 40.7549959, "lon": -73.9851886}, {"type": "node", "id": 8751484544, "lat": 40.7548905, "lon": -73.9852648}, {"type": "node", "id": 9049424118, "lat": 40.7608831, "lon": -73.9873365}, {"type": "node", "id": 9339302955, "lat": 40.7597481, "lon": -73.9904332}, {"type": "node", "id": 9339302956, "lat": 40.7598152, "lon": -73.9905877}, {"type": "node", "id": 9354852632, "lat": 40.7591197, "lon": -73.9853624}, {"type": "node", "id": 9535571839, "lat": 40.7562352, "lon": -73.9907202, "tags": {"entrance": "main"}}, {"type": "node", "id": 9535571840, "lat": 40.7564324, "lon": -73.9905764, "tags": {"entrance": "main"}}, {"type": "node", "id": 9535571857, "lat": 40.7574349, "lon": -73.9906406, "tags": {"entrance": "main"}}, {"type": "node", "id": 9535571860, "lat": 40.7570385, "lon": -73.990136, "tags": {"entrance": "main"}}, {"type": "node", "id": 9940948081, "lat": 40.755787, "lon": -73.9939437}, {"type": "node", "id": 10168088457, "lat": 40.7562117, "lon": -73.9876628}, {"type": "node", "id": 10168088458, "lat": 40.7562404, "lon": -73.9877354}, {"type": "node", "id": 10168088459, "lat": 40.7563273, "lon": -73.9879371}, {"type": "node", "id": 10168088460, "lat": 40.7563809, "lon": -73.9880716}, {"type": "node", "id": 10168088461, "lat": 40.7565743, "lon": -73.9885011}, {"type": "node", "id": 10168088462, "lat": 40.7566425, "lon": -73.9886584}, {"type": "node", "id": 10168088463, "lat": 40.7566953, "lon": -73.9887841}, {"type": "node", "id": 10168088464, "lat": 40.7567084, "lon": -73.9888151}, {"type": "node", "id": 10168088465, "lat": 40.756833, "lon": -73.9891063}, {"type": "node", "id": 10168088466, "lat": 40.7568712, "lon": -73.989204}, {"type": "node", "id": 10222417521, "lat": 40.7562737, "lon": -73.9863915}, {"type": "node", "id": 10222417522, "lat": 40.7561789, "lon": -73.9864205}, {"type": "node", "id": 10222417523, "lat": 40.7561671, "lon": -73.986353}, {"type": "node", "id": 10222417524, "lat": 40.7562618, "lon": -73.9863241}, {"type": "node", "id": 10222417525, "lat": 40.7562665, "lon": -73.9863527}, {"type": "node", "id": 10222417526, "lat": 40.7562075, "lon": -73.9863407}, {"type": "node", "id": 10222417528, "lat": 40.7562712, "lon": -73.9863772}, {"type": "node", "id": 10222417531, "lat": 40.7561933, "lon": -73.9864161}, {"type": "node", "id": 10222417549, "lat": 40.7564186, "lon": -73.986026}, {"type": "node", "id": 10224024742, "lat": 40.7567825, "lon": -73.985962}, {"type": "node", "id": 10224024743, "lat": 40.7567465, "lon": -73.985976}, {"type": "node", "id": 10224024744, "lat": 40.7567414, "lon": -73.9859532}, {"type": "node", "id": 10224024745, "lat": 40.7567774, "lon": -73.9859392}, {"type": "node", "id": 10224024754, "lat": 40.7568888, "lon": -73.9861734, "tags": {"entrance": "main"}}, {"type": "node", "id": 10224024782, "lat": 40.7569989, "lon": -73.9864552}, {"type": "node", "id": 10224024783, "lat": 40.756978, "lon": -73.9864049}, {"type": "node", "id": 10224024784, "lat": 40.7568808, "lon": -73.9864752}, {"type": "node", "id": 10224024785, "lat": 40.7569017, "lon": -73.9865255}, {"type": "node", "id": 10224024786, "lat": 40.7572401, "lon": -73.9861908}, {"type": "node", "id": 10224024787, "lat": 40.7572089, "lon": -73.9862133}, {"type": "node", "id": 10224024788, "lat": 40.7571996, "lon": -73.9861909}, {"type": "node", "id": 10224024789, "lat": 40.7572308, "lon": -73.9861683}, {"type": "node", "id": 10224024809, "lat": 40.757884, "lon": -73.9858166}, {"type": "node", "id": 10224024810, "lat": 40.7578984, "lon": -73.9858841}, {"type": "node", "id": 10228962400, "lat": 40.7584925, "lon": -73.9855764}, {"type": "node", "id": 10241117594, "lat": 40.7545356, "lon": -73.9856816}, {"type": "node", "id": 10268944138, "lat": 40.7543265, "lon": -73.9870561}, {"type": "node", "id": 10268944140, "lat": 40.7543419, "lon": -73.9871139}, {"type": "node", "id": 10268944142, "lat": 40.7545113, "lon": -73.9875435}, {"type": "node", "id": 10268944166, "lat": 40.754186, "lon": -73.9867111}, {"type": "node", "id": 10268944175, "lat": 40.754517, "lon": -73.9871126}, {"type": "node", "id": 10268944176, "lat": 40.7545237, "lon": -73.9871083}, {"type": "node", "id": 10268944179, "lat": 40.7543107, "lon": -73.9866423}, {"type": "node", "id": 10268944180, "lat": 40.7542927, "lon": -73.9865993}, {"type": "node", "id": 10268944181, "lat": 40.7543029, "lon": -73.9865919}, {"type": "node", "id": 10268944182, "lat": 40.7543158, "lon": -73.9866389}, {"type": "node", "id": 10268944205, "lat": 40.7550345, "lon": -73.9868765}, {"type": "node", "id": 10268955505, "lat": 40.7540852, "lon": -73.98726, "tags": {"entrance": "yes"}}, {"type": "node", "id": 10268955530, "lat": 40.7544954, "lon": -73.9870817}, {"type": "node", "id": 10268955551, "lat": 40.7552466, "lon": -73.9864603}, {"type": "node", "id": 10268955552, "lat": 40.7552124, "lon": -73.9864705}, {"type": "node", "id": 10268955553, "lat": 40.7552071, "lon": -73.9864394}, {"type": "node", "id": 10268955554, "lat": 40.7552413, "lon": -73.9864292}, {"type": "node", "id": 10732644795, "lat": 40.7561061, "lon": -73.9902945, "tags": {"addr:housenumber": "620", "addr:street": "Eighth Avenue", "building": "yes", "name": "The New York Times", "office": "newspaper", "website": "https://www.nytimes.com/", "wikidata": "Q9684", "wikipedia": "en:The New York Times"}}, {"type": "node", "id": 10909842278, "lat": 40.7588253, "lon": -73.9917113, "tags": {"addr:housenumber": "360", "addr:postcode": "10036", "addr:street": "West 43rd Street", "entrance": "main"}}, {"type": "node", "id": 10909842300, "lat": 40.7587452, "lon": -73.9915194}, {"type": "node", "id": 10909842301, "lat": 40.7587145, "lon": -73.9914458}, {"type": "node", "id": 10909842304, "lat": 40.7587774, "lon": -73.9915965}, {"type": "node", "id": 10910020605, "lat": 40.7586916, "lon": -73.9914111}, {"type": "node", "id": 10910020608, "lat": 40.7586765, "lon": -73.9914221}, {"type": "node", "id": 10910020613, "lat": 40.7586871, "lon": -73.9918244}, {"type": "node", "id": 10910020621, "lat": 40.7585513, "lon": -73.9910547, "tags": {"addr:housenumber": "350", "addr:postcode": "10036", "addr:street": "West 43rd Street", "entrance": "main"}}, {"type": "node", "id": 10910020623, "lat": 40.758402, "lon": -73.991172}, {"type": "node", "id": 10910020624, "lat": 40.7583512, "lon": -73.9912502}, {"type": "node", "id": 10910020625, "lat": 40.7584195, "lon": -73.9912005}, {"type": "node", "id": 10910020626, "lat": 40.7583687, "lon": -73.9912787}, {"type": "node", "id": 10910020627, "lat": 40.7584284, "lon": -73.9911528}, {"type": "node", "id": 10910020628, "lat": 40.7583364, "lon": -73.9913022}, {"type": "node", "id": 10958053559, "lat": 40.7577327, "lon": -73.985208}, {"type": "node", "id": 10958053560, "lat": 40.7577267, "lon": -73.9854455}, {"type": "node", "id": 10958053562, "lat": 40.7573924, "lon": -73.9855991}, {"type": "node", "id": 10958053563, "lat": 40.7571408, "lon": -73.9849896}, {"type": "node", "id": 10958053564, "lat": 40.7575247, "lon": -73.9855383}, {"type": "node", "id": 11413934408, "lat": 40.757378, "lon": -73.9936105}, {"type": "node", "id": 11523953026, "lat": 40.7596543, "lon": -73.9878269}, {"type": "node", "id": 11523953027, "lat": 40.7589262, "lon": -73.9876006}, {"type": "node", "id": 11523953028, "lat": 40.7591707, "lon": -73.9881825}, {"type": "node", "id": 11523953029, "lat": 40.7588652, "lon": -73.9874434}, {"type": "node", "id": 12197834835, "lat": 40.7593504, "lon": -73.9864907}, {"type": "node", "id": 12197834836, "lat": 40.7592833, "lon": -73.9863281}, {"type": "node", "id": 12246639280, "lat": 40.7576406, "lon": -73.9865384}, {"type": "node", "id": 12246639281, "lat": 40.758144, "lon": -73.9862002}, {"type": "way", "id": 42496284, "nodes": [530697773, 1739195064, 2653624216, 2653624219, 2653624225, 1751640908, 2717294056, 2653624237, 2653624241, 1739195061, 2653624242, 2653624239, 2653624236, 2653624233, 2653624231, 530697776, 2653652209, 2653652207, 2653652203, 2653652202, 2653652190, 2653652191, 2653652188, 2653652189, 530697773], "tags": {"addr:housenumber": "1585", "addr:street": "Broadway", "alt_name": "1585 Broadway", "building": "commercial", "building:levels": "42", "name": "Morgan Stanley Building", "nycdoitt:bin": "1076193", "start_date": "1990", "wikidata": "Q1608810", "wikipedia": "en:1585 Broadway"}}, {"type": "way", "id": 86121620, "nodes": [999473007, 2643780356, 999473011, 999473016, 999473019, 2643822149, 2643822151, 2643822146, 10222417549, 1752946325, 2643822128, 2643822115, 2643822109, 1752946329, 999473022, 999473024, 2643822057, 2643822056, 2643822055, 2643822054, 1752946326, 1752946327, 999473028, 2643822052, 2643822053, 999473007], "tags": {"addr:housenumber": "4", "addr:street": "Times Square", "building": "yes", "layer": "1", "name": "4 Times Square", "old_name": "Cond\u00e9 Nast Building", "start_date": "1999", "wikidata": "Q687413", "wikipedia": "en:4 Times Square"}}, {"type": "way", "id": 86121621, "nodes": [999473007, 2643780356, 999473011, 1752946330, 2954325764, 999473051, 999473055, 2954325761, 1752946323, 999473007], "tags": {"addr:housenumber": "115", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "commercial", "height": "366", "name": "Bank of America Tower", "name:ru": "\u0411\u0430\u0448\u043d\u044f \u0411\u0430\u043d\u043a\u0430 \u0410\u043c\u0435\u0440\u0438\u043a\u0438", "name:uk": "\u0411\u0430\u0448\u0442\u0430 \u0411\u0430\u043d\u043a\u0443 \u0410\u043c\u0435\u0440\u0438\u043a\u0438", "nycdoitt:bin": "1087268", "start_date": "2009", "wikidata": "Q328505", "wikipedia": "en:Bank of America Tower (Manhattan)"}}, {"type": "way", "id": 108160358, "nodes": [1241337402, 1241337400, 8288270501, 477284505, 477284535, 477284549, 8288270502, 1241337403, 1329122515, 5916783969, 2717223559, 2717223560, 2845707101, 2717223562, 2717223565, 2717223566, 2845707107, 2845707109, 2845707110, 2845707114, 2845707117, 2717223569, 9535571857, 2717223561, 9535571860, 5916783970, 1241337404, 9535571840, 9535571839, 1241337402], "tags": {"addr:city": "New York", "addr:housenumber": "625", "addr:state": "NY", "addr:street": "8th Avenue", "alt_name": "Midtown Bus Terminal", "amenity": "bus_station", "building": "transportation", "bus": "yes", "check_date": "2024-06-10", "ele": "11", "gnis:feature_id": "2083200", "height": "38.6", "internet_access": "wlan", "internet_access:fee": "no", "layer": "1", "name": "Port Authority Bus Terminal", "nycdoitt:bin": "1083268", "operator": "Port Authority of New York and New Jersey", "operator:wikidata": "Q908666", "public_transport": "station", "short_name": "PABT", "source": "bing", "start_date": "1950-12-15", "toilets": "yes", "toilets:fee": "no", "toilets:wheelchair": "yes", "wikidata": "Q1190614", "wikimedia_commons": "File:Port Authority Bus Terminal (48295955196).jpg", "wikipedia": "en:Port Authority Bus Terminal"}}, {"type": "way", "id": 109285745, "nodes": [1251556697, 7593450715, 5020832919, 1251556696, 2709702476, 1251556682, 5020832864, 1251556673, 5020832911, 2656512443, 4770624010, 1251556697], "tags": {"addr:city": "New York", "addr:housenumber": "7", "addr:street": "Times Square", "alt_name": "7 Times square", "building": "commercial", "building:levels": "47", "height": "209.6", "name": "Times Square Tower", "name:ru": "\u0422\u0430\u0439\u043c\u0441-\u0441\u043a\u0432\u0435\u0440-\u0442\u0430\u0443\u044d\u0440", "nycdoitt:bin": "1086069", "start_date": "2004", "wikidata": "Q1580807", "wikipedia": "en:Times Square Tower"}}, {"type": "way", "id": 138152330, "nodes": [2657554342, 2657554344, 2657554326, 2657554325, 1514463022, 2657554323, 1514463018, 2657554318, 1514463013, 1514463007, 2657554315, 1514463011, 1514463005, 1514463003, 1514463000, 2717223497, 2717223502, 2717223509, 2717223510, 1514463015, 1514463028, 1514463025, 1514463031, 2657554340, 1514463033, 1514463038, 2657554345, 1514463035, 2657554343, 1514463040, 2657554342]}, {"type": "way", "id": 138152331, "nodes": [1514463023, 1514463021, 1514463009, 1514463017, 1514463023]}, {"type": "way", "id": 143858914, "nodes": [1574211071, 2717294034, 2639531784, 2717294036, 1574211076, 2639531798, 1574211080, 1574211073, 1752685325, 2639531762, 2639531774, 2639531780, 2639531750, 1574211071], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "228", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 47th Street", "building": "yes", "internet_access": "wlan", "internet_access:fee": "yes", "name": "The Hotel Edison NYC", "nycdoitt:bin": "1076192", "start_date": "1931", "tourism": "hotel", "website": "https://www.edisonhotelnyc.com/", "wikidata": "Q14706412", "wikipedia": "en:Hotel Edison"}}, {"type": "way", "id": 157835453, "nodes": [1700814792, 2639786996, 2639786994, 2639787000, 2639790537, 2639787003, 2639790538, 2639787007, 2639787024, 2639790539, 2639787028, 2639787026, 1700814796, 2639787032, 2639787030, 2639787029, 2639787031, 2639787027, 2639787017, 2639787021, 2639787020, 12246639281, 1700814800, 10224024810, 10224024809, 2639786969, 2639786970, 2639786968, 2639786967, 1700814801, 12246639280, 2639786975, 1739195065, 2639786983, 2639786990, 2639786988, 2639786989, 1700814792], "tags": {"addr:housenumber": "1515", "addr:street": "Broadway", "alt_name": "VIACOM Building", "building": "yes", "name": "One Astor Place", "nycdoitt:bin": "1024714", "start_date": "1972", "wikidata": "Q659652"}}, {"type": "way", "id": 158854338, "nodes": [1709910398, 1709910446, 1709910440, 2717223577, 1709910447, 1709910416, 1709916296, 1709910443, 1709910415, 1709910428, 1709910421, 1709916298, 1709910413, 1709910444, 1709910419, 1709910420, 1709910450, 1709910398], "tags": {"addr:city": "New York", "addr:housenumber": "350", "addr:state": "NY", "addr:street": "West 42nd Street", "building": "apartments", "building:part": "no", "name": "The Orion", "nycdoitt:bin": "1087264", "start_date": "2006", "wikidata": "Q2285176", "wikipedia": "en:The Orion"}}, {"type": "way", "id": 159837290, "nodes": [1279511201, 1279511203, 1279511204, 1279511206, 1279511199, 10268955505, 1279511190, 1719348017, 1719348018, 10268944142, 1719348019, 1719348020, 1279511191, 1279511193, 1279511201], "tags": {"addr:city": "New York", "addr:housenumber": "1411", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "Broadway", "building": "office", "building:levels": "39", "name": "World Apparel Center", "nycdoitt:bin": "1015275", "start_date": "1969", "wikidata": "Q6825160"}}, {"type": "way", "id": 159912554, "nodes": [1719757715, 1719757713, 1719757707, 1719757709, 4546534657, 1719757704, 1719757711, 1719757733, 1719757735, 1719757750, 1719757737, 1719757776, 1719757777, 1719757791, 1719757790, 1719757802, 1719757794, 1719757796, 1719757798, 1719757808, 1719757812, 1719757825, 1719757805, 1719757793, 1719757782, 1719757774, 1719757780, 1873813915, 1719757705, 1719757719, 1719757717, 1719757720, 1719757730, 1719757771, 1719757746, 1719757731, 1719757729, 1719757715], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "684", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "9th Avenue", "building": "apartments", "building:colour": "#B5A17C", "building:levels": "46", "building:material": "brick", "building:part": "yes", "height": "121", "name": "Manhattan Plaza Apartments I", "roof:material": "concrete", "roof:shape": "flat", "start_date": "1977"}}, {"type": "way", "id": 159912559, "nodes": [1719757858, 1719757856, 1719757835, 1719757854, 1719757830, 1719757886, 1719757900, 1719757902, 1719757914, 1719757905, 1719757922, 1719757925, 1719757929, 1719757927, 1719757934, 1719757916, 1719757915, 1719757919, 1719757931, 1719757940, 1719757945, 1719757891, 1719757876, 1719757867, 1719757840, 1719757855, 1719757827, 1719757826, 1719757829, 1719757828, 1719757832, 1719757838, 1719757884, 1719757885, 1719757874, 1719757862, 1719757858], "tags": {"building": "apartments", "building:colour": "#B5A17C", "building:levels": "46", "building:material": "brick", "building:part": "yes", "height": "121", "name": "Manhattan Plaza Apartments II", "roof:material": "concrete", "roof:shape": "flat", "start_date": "1977"}}, {"type": "way", "id": 163474780, "nodes": [1700814795, 1751597928, 1751597892, 1751597895, 1751597924, 1751597916, 1751597914, 1751597891, 1751597936, 1751597901, 1751597922, 10228962400, 1751597933, 1751597897, 1700814794, 2673426546, 4550600353, 1700814797, 2653764647, 2653764653, 1751737228, 2653764650, 2717293968, 2653764644, 2653764641, 1700814799, 4550600352, 5522182778, 2673426498, 2717293930, 1700814795], "tags": {"addr:housenumber": "1535", "addr:street": "Broadway", "air_conditioning": "yes", "alt_name": "Marriott Marquis", "brand": "Mariott", "building": "yes", "check_date": "2022-08-18", "internet_access": "wlan", "internet_access:fee": "customers", "name": "New York Marriott Marquis", "name:en": "New York Marriott Marquis", "name:ja": "\u30cb\u30e5\u30e8\u30fc\u30af\u30de\u30ea\u30aa\u30c3\u30c8\u30de\u30fc\u30ad\u30fc\u30b9", "nycdoitt:bin": "1024727", "opening_hours": "24/7", "payment:credit_cards": "yes", "reservation": "required", "start_date": "1985", "tourism": "hotel", "website": "https://www.marriott.com/hotels/travel/nycmq-new-york-marriott-marquis/", "wheelchair": "yes", "wikidata": "Q7013741", "wikipedia": "en:New York Marriott Marquis"}}, {"type": "way", "id": 163480139, "nodes": [1751622339, 1751622341, 8250892564, 1751622337, 1751622348, 2717294089, 2717294092, 1751631903, 2717294093, 1751622346, 1751622343, 1751622339], "tags": {"addr:city": "New York", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "47th West Street", "building": "apartments", "building:colour": "#CCC1A5", "building:part": "yes", "height": "15", "name": "Biltmore Tower", "roof:material": "concrete", "roof:shape": "flat", "start_date": "2003", "website": "https://www.thebiltmoreny.com/"}}, {"type": "way", "id": 163629929, "nodes": [1752942886, 1752942872, 1752942863, 1752942862, 1752942880, 1752942901, 1752942859, 1752942886], "tags": {"addr:housenumber": "1500", "addr:street": "Broadway", "building": "commercial", "height": "25", "name": "1500 Broadway", "nycdoitt:bin": "1022610", "start_date": "1972", "wikidata": "Q4550139", "wikipedia": "en:1500 Broadway"}}, {"type": "way", "id": 164062883, "nodes": [1757245096, 1757245117, 1757245122, 2179502339, 1757245105, 1757245097, 1757245131, 1757245111, 1757245093, 8704367789, 1757245095, 2717323961, 2717323947, 1757245113, 2717323942, 2717323944, 1751719370, 1757245137, 1757245096], "tags": {"building": "apartments", "building:colour": "#BB9B8E", "building:material": "brick", "building:part": "yes", "height": "10", "nycdoitt:bin": "1085498", "roof:material": "concrete", "roof:shape": "flat", "start_date": "1998"}}, {"type": "way", "id": 164068273, "nodes": [1757277491, 2656117928, 1757277493, 1757251094, 1751714397, 2656117916, 1751714396, 1757277494, 2656117897, 1757277492, 2656117896, 1757291030, 2656117903, 1757277491], "tags": {"addr:city": "New York", "addr:housenumber": "235", "addr:state": "NY", "addr:street": "West 48th Street", "building": "apartments", "name": "The Ritz Plaza", "nycdoitt:bin": "1076194", "start_date": "1990"}}, {"type": "way", "id": 243088863, "nodes": [2505255396, 2505255405, 2505255422, 2505255418, 2709680716, 2505255397, 2505255385, 8095866235, 2505255396], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "460", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "building": "yes", "name": "One MiMA Tower", "nycdoitt:bin": "1088437", "start_date": "2011", "wikidata": "Q234368"}}, {"type": "way", "id": 258619237, "nodes": [2639531833, 2919913039, 2639531803, 2639531790, 2639531799, 2639531794, 2639531792, 2639531805, 2639531811, 2717294045, 2639531821, 2639531823, 2639531831, 2639531833], "tags": {"addr:city": "New York", "addr:housenumber": "247", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "apartments", "construction_date": "2007-2008", "name": "Platinum", "nycdoitt:bin": "1024736", "start_date": "2008", "website": "http://www.platinumnyc.com/"}}, {"type": "way", "id": 258619256, "nodes": [2639531852, 2582513348, 2582513345, 2639531866, 2639531868, 2639531858, 2582513346, 2873311997, 2873311996, 2873311994, 2873311995, 2582513347, 2639531842, 2639531852], "tags": {"addr:city": "New York", "addr:housenumber": "785", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "name": "785 Eighth Avenue", "nycdoitt:bin": "1087980"}}, {"type": "way", "id": 258646143, "nodes": [1426252015, 2639786960, 2639786962, 2639786956, 1426252015], "tags": {"addr:city": "New York", "addr:housenumber": "1479", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "Broadway", "amenity": "police", "building": "yes", "building:colour": "blue", "building:material": "glass", "building:part": "yes", "height": "4", "min_height": "3.7", "name": "NYPD Times Square Substation", "nycdoitt:bin": "1088995", "operator": "New York Police Department", "operator:official": "City of New York Police Department", "operator:short": "NYPD", "operator:wikidata": "Q328473", "operator:wikipedia": "en:New York City Police Department", "roof:material": "concrete", "roof:shape": "flat", "short_name": "NYPD"}}, {"type": "way", "id": 258646144, "nodes": [2639786966, 2639786964, 2639786963, 2639786965, 10224024754, 2639786966], "tags": {"building": "yes", "building:levels": "1", "building:material": "glass", "height": "5.5", "loc_name": "Neon Flag", "military": "office", "name": "U.S. Armed Forces Recruiting Station", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 262198640, "nodes": [1751640911, 1751640909, 1751640915, 2678581854, 1751640911], "tags": {"addr:city": "New York", "addr:housenumber": "253", "addr:street": "West 47th Street", "building": "yes", "building:levels": "2"}}, {"type": "way", "id": 263194427, "nodes": [2688185305, 2709680944, 2688185306, 2688185288, 2688185281, 2688185293, 2688185298, 2688185305], "tags": {"addr:city": "New York", "addr:housenumber": "422", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "121.4", "loc_name": "Zebra Tower", "name": "420 West 42nd Street", "nycdoitt:bin": "1087184", "start_date": "2001", "wikidata": "Q14706813"}}, {"type": "way", "id": 265272952, "nodes": [2709402756, 4637090530, 2709402861, 2709402827, 2709402721, 2709402746, 2709402756], "tags": {"addr:city": "New York", "addr:housenumber": "320", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "building": "yes", "height": "60.8", "nycdoitt:bin": "1013601"}}, {"type": "way", "id": 265272956, "nodes": [2709402746, 2709402615, 2709402681, 2709402798, 2709402756, 2709402746], "tags": {"addr:housenumber": "327", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "50.5", "nycdoitt:bin": "1013594"}}, {"type": "way", "id": 265272961, "nodes": [2709402852, 2709402854, 2709402881, 2709402885, 2709402913, 2709402892, 2709402873, 2709402870, 2709402862, 2709402864, 2709402848, 2709402846, 2709402842, 2709402838, 2709402826, 2709402831, 2709402840, 2709402852], "tags": {"addr:housenumber": "332", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "building:colour": "#C78A6D", "building:levels": "5", "height": "18.7", "nycdoitt:bin": "1013602", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265272962, "nodes": [2709402840, 2709402850, 2709402938, 2709402913, 2709402885, 2709402852, 2709402840], "tags": {"addr:housenumber": "334", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "building:colour": "#C78A6D", "building:levels": "5", "height": "16.3", "nycdoitt:bin": "1013603", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265272964, "nodes": [2709402830, 2709402858, 2709402879, 2921993852, 2921993854, 2921993855, 2709403024, 2709402938, 2709402850, 2709402830], "tags": {"addr:housenumber": "336", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "height": "57.4", "nycdoitt:bin": "1013604"}}, {"type": "way", "id": 265272965, "nodes": [2709402681, 2709402717, 2709402766, 2709402825, 2709402798, 2709402681], "tags": {"addr:city": "New York", "addr:housenumber": "337", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 36th Street", "building": "hotel", "dog": "fee", "internet_access": "wlan", "name": "Staypineapple", "nycdoitt:bin": "1013593", "phone": "+1 212-500-7123", "smoking": "no", "tourism": "hotel", "website": "https://www.staypineapple.com/midtown-new-york", "wheelchair": "designated"}}, {"type": "way", "id": 265272966, "nodes": [2709402789, 2709402766, 2709402717, 2709402744, 2709402789], "tags": {"addr:housenumber": "339", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "76.3", "nycdoitt:bin": "1013592"}}, {"type": "way", "id": 265272967, "nodes": [2709402744, 2709402754, 2709402824, 2709402789, 2709402744], "tags": {"addr:city": "New York", "addr:housenumber": "343", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 36th Street", "building": "yes", "height": "76.3", "nycdoitt:bin": "1013591"}}, {"type": "way", "id": 265272969, "nodes": [2709403024, 2921993855, 2921993854, 2921993852, 2709402879, 2709402890, 2709402898, 2709402931, 2709413095, 2709403018, 2921993860, 2709403046, 2709403052, 2921993877, 2921993879, 2709403101, 2709403024], "tags": {"addr:housenumber": "350", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "apartments", "height": "8.3", "name": "Townsend", "nycdoitt:bin": "1013605", "start_date": "2010", "website": "https://townsendnyc.com/"}}, {"type": "way", "id": 265272972, "nodes": [2709402858, 2709402824, 2709402754, 2709402806, 2709402898, 2709402890, 2709402879, 2709402858], "tags": {"addr:housenumber": "347", "addr:postcode": "10018", "addr:street": "West 36th Street", "amenity": "theatre", "building": "yes", "height": "58.6", "name": "National Comedy Theater", "nycdoitt:bin": "1013590"}}, {"type": "way", "id": 265272974, "nodes": [2709403052, 2709403062, 2709403049, 2709403065, 2709403074, 2709403117, 2709403101, 2921993879, 2921993877, 2709403052], "tags": {"addr:housenumber": "354", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "height": "10.1", "nycdoitt:bin": "1013607"}}, {"type": "way", "id": 265272975, "nodes": [2709402806, 2709402828, 2709402931, 2709402898, 2709402806], "tags": {"addr:housenumber": "355", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "23.4", "nycdoitt:bin": "1013589"}}, {"type": "way", "id": 265272976, "nodes": [2709403074, 2709403077, 2709403079, 2709403095, 2709403122, 2709403117, 2709403074], "tags": {"addr:housenumber": "356", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1013608"}}, {"type": "way", "id": 265272977, "nodes": [2709402787, 2709402750, 2709402626, 2709402669, 2709402729, 2709402752, 2709402787], "tags": {"addr:city": "New York", "addr:housename": "Courant", "addr:housenumber": "360", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 36th Street", "building": "yes", "height": "47.1", "nycdoitt:bin": "1013585"}}, {"type": "way", "id": 265272978, "nodes": [2709402828, 2709402856, 2709402887, 2709402942, 2709413095, 2709402931, 2709402828], "tags": {"addr:housenumber": "361", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "47.4", "nycdoitt:bin": "1013588"}}, {"type": "way", "id": 265272980, "nodes": [2709402856, 2709402866, 2709402904, 2709402887, 2709402856], "tags": {"addr:housenumber": "365", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "15.7", "nycdoitt:bin": "1082262"}}, {"type": "way", "id": 265272983, "nodes": [2709402904, 2709402866, 2709402875, 2709402896, 2709402919, 2709402917, 2709402904], "tags": {"addr:housenumber": "367", "addr:postcode": "10018", "addr:street": "West 36th Street", "building": "yes", "height": "14.9", "nycdoitt:bin": "1082264"}}, {"type": "way", "id": 265273023, "nodes": [2709402936, 2709402955, 2709403000, 2709403029, 2709402985, 2709402936], "tags": {"addr:housenumber": "472", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "13.5", "nycdoitt:bin": "1013586"}}, {"type": "way", "id": 265273024, "nodes": [2709402942, 2709402985, 2709403029, 2709403056, 2709413095, 2709402942], "tags": {"addr:housenumber": "474", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.2", "nycdoitt:bin": "1013587"}}, {"type": "way", "id": 265273025, "nodes": [2709403056, 2709403085, 2709403018, 2709413095, 2709403056], "tags": {"addr:housenumber": "476", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "8.2", "nycdoitt:bin": "1013611"}}, {"type": "way", "id": 265273027, "nodes": [2709403046, 2921993860, 2709403018, 2709403085, 2709403115, 2709403065, 2709403049, 2709403046], "tags": {"addr:housenumber": "478", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "10.4", "nycdoitt:bin": "1013610"}}, {"type": "way", "id": 265273033, "nodes": [2709403095, 2709403104, 2709403106, 2709403116, 2709403093, 2709403079, 2709403077, 2709403074, 2709403065, 2709403115, 2709403143, 2709403122, 2709403095], "tags": {"building": "yes", "height": "4.7", "nycdoitt:bin": "1013609"}}, {"type": "way", "id": 265273057, "nodes": [2709402917, 2709402919, 2709402896, 2709402908, 2709402955, 2709402936, 2709402917], "tags": {"building": "yes", "height": "3.9", "nycdoitt:bin": "1082261"}}, {"type": "way", "id": 265273060, "nodes": [2709402887, 2709402904, 2709402917, 2709402936, 2709402985, 2709402942, 2709402887], "tags": {"building": "yes", "height": "4.1", "nycdoitt:bin": "1086696"}}, {"type": "way", "id": 265282472, "nodes": [2709494032, 2709494038, 2709494055, 2709494056, 2709494052, 2709494041, 2709494032], "tags": {"addr:housenumber": "306", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "62.4", "nycdoitt:bin": "1013625"}}, {"type": "way", "id": 265282475, "nodes": [2709494009, 2709494028, 2709494034, 2709494049, 2709494038, 2709494030, 2709494009], "tags": {"addr:city": "New York", "addr:housenumber": "313", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "building": "yes", "height": "36.5", "nycdoitt:bin": "1013618"}}, {"type": "way", "id": 265282477, "nodes": [2709494028, 2709494036, 2709494053, 2709494049, 2709494034, 2709494028], "tags": {"addr:city": "New York", "addr:housenumber": "325", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "building": "yes", "height": "50.0", "nycdoitt:bin": "1013617"}}, {"type": "way", "id": 265282480, "nodes": [2709494062, 2709494066, 2709494063, 2709494071, 2709494079, 2709494082, 2709494074, 2709494095, 2709494136, 2709494103, 2709494062], "tags": {"addr:housenumber": "330", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "63.1", "name": "Shift Midtown", "nycdoitt:bin": "1013627"}}, {"type": "way", "id": 265282482, "nodes": [2709494085, 2709494084, 2709494077, 2709494078, 2709494069, 2709494068, 2709494061, 2709494060, 2709494058, 2709494059, 2709494064, 2709494065, 2709494075, 2709494072, 2709494081, 2709494083, 2709494089, 2709494091, 2709494102, 2709494095, 2709494085], "tags": {"addr:housenumber": "347", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "height": "25.1", "nycdoitt:bin": "1013616"}}, {"type": "way", "id": 265282486, "nodes": [2709494095, 2709494102, 2709494117, 2709494147, 2709494136, 2709494095], "tags": {"addr:housenumber": "348", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "58.4", "nycdoitt:bin": "1013628"}}, {"type": "way", "id": 265282488, "nodes": [2709494059, 2709494067, 2709494107, 2709494117, 2709494102, 2709494091, 2709494064, 2709494059], "tags": {"addr:housenumber": "349", "addr:postcode": "10018", "addr:street": "West 37th Street", "building": "yes", "height": "25.7", "nycdoitt:bin": "1013615"}}, {"type": "way", "id": 265282491, "nodes": [2709494128, 2709494135, 2709494141, 2709494149, 2709494155, 2709494147, 2709494117, 2709494128], "tags": {"addr:housenumber": "350", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "22.6", "nycdoitt:bin": "1013629"}}, {"type": "way", "id": 265282537, "nodes": [2709494124, 2709494116, 2709494118, 2709494114, 2709494110, 2709494096, 2709494101, 2709494104, 2709494105, 2709494115, 2709494113, 2709494121, 2709494130, 2709494127, 2709494124], "tags": {"addr:housenumber": "486", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.6", "nycdoitt:bin": "1013613"}}, {"type": "way", "id": 265282539, "nodes": [2709494114, 2709494118, 2709494127, 2709494130, 2709494138, 2709494126, 2709494114], "tags": {"addr:housenumber": "488", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "16.7", "nycdoitt:bin": "1083606"}}, {"type": "way", "id": 265282541, "nodes": [2709494119, 2709494120, 2709494126, 2709494138, 2709494150, 2709494135, 2709494128, 2709494122, 2709494119], "tags": {"addr:housenumber": "492", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.1", "nycdoitt:bin": "1013614"}}, {"type": "way", "id": 265282543, "nodes": [2709494135, 2709494150, 2709494161, 2709494141, 2709494135], "tags": {"addr:housenumber": "496", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.6", "nycdoitt:bin": "1013631"}}, {"type": "way", "id": 265282545, "nodes": [2709494141, 2709494161, 6804077063, 2709494181, 2709494149, 2709494141], "tags": {"addr:city": "New York", "addr:housenumber": "498", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "9th Avenue", "amenity": "restaurant", "building": "retail", "building:levels": "1", "cuisine": "uzbek;kazakh", "delivery": "yes", "diet:halal": "only", "facebook": "centralasiangrill", "height": "4.0", "instagram": "farida_restaurant", "name": "Farida", "nycdoitt:bin": "1013630", "opening_hours": "Tu-Su 11:00-23:00", "phone": "+1 646-863-2020", "reservation": "yes", "takeaway": "yes", "website": "https://www.farida.us"}}, {"type": "way", "id": 265282611, "nodes": [2709493995, 2709494000, 2709494004, 2709493998, 2709493995], "tags": {"addr:housenumber": "543", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "16.0", "nycdoitt:bin": "1013621"}}, {"type": "way", "id": 265282616, "nodes": [2709493998, 2709494004, 2709494010, 2709494011, 2709494029, 2709494035, 2709494015, 2709493998], "tags": {"addr:housenumber": "545", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "98.7", "nycdoitt:bin": "1013622"}}, {"type": "way", "id": 265282637, "nodes": [2709494070, 2709494080, 2709494056, 2709494055, 2709494038, 2709494049, 2709494053, 2709494036, 2709494043, 2709494044, 2709494058, 2709494060, 2709494085, 2709494095, 2709494074, 2709494071, 2709494063, 2709494066, 2709494062, 2709494103, 2709494093, 2709494087, 2709494070], "tags": {"building": "yes", "height": "77.1", "nycdoitt:bin": "1087840"}}, {"type": "way", "id": 265282640, "nodes": [2709494046, 2709494050, 2709494040, 2709494033, 2709494046], "tags": {"building": "yes", "height": "12.2", "nycdoitt:bin": "1013624"}}, {"type": "way", "id": 265282654, "nodes": [2709494107, 2709494122, 2709494128, 2709494117, 2709494107], "tags": {"building": "yes", "height": "5.7", "nycdoitt:bin": "1000000"}}, {"type": "way", "id": 265282659, "nodes": [2709494149, 2709494181, 2709494202, 2709494155, 2709494149], "tags": {"building": "yes", "height": "16.7", "nycdoitt:bin": "1083613"}}, {"type": "way", "id": 265282664, "nodes": [2709494106, 2709494110, 2709494114, 2709494126, 2709494120, 2709494106], "tags": {"building": "yes", "height": "12.9", "nycdoitt:bin": "1084536"}}, {"type": "way", "id": 265282671, "nodes": [2709494000, 2709493995, 2709493992, 2709493999, 2709494010, 2709494004, 2709494000], "tags": {"building": "yes", "height": "23.6", "nycdoitt:bin": "1013620"}}, {"type": "way", "id": 265282680, "nodes": [2709494030, 2709494022, 2709494025, 2709494019, 2709494018, 2709494011, 2709494010, 2709493999, 2709494009, 2709494030], "tags": {"addr:city": "New York", "addr:housenumber": "307", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "branch": "New York Manhattan/Times Square West", "brand": "Courtyard", "brand:wikidata": "Q1053170", "building": "hotel", "building:levels": "26", "check_date": "2024-01-27", "height": "76.2", "name": "Courtyard", "nycdoitt:bin": "1013619", "official_name": "Courtyard by Marriott", "phone": "+1 212-912-0009", "ref": "NYCET", "start_date": "2013", "tourism": "hotel", "website": "https://www.marriott.com/nycet"}}, {"type": "way", "id": 265282685, "nodes": [2709494046, 2709494033, 2709494015, 2709494035, 2709494029, 2709494032, 2709494041, 2709494052, 2709494050, 2709494046], "tags": {"building": "yes", "height": "87.0", "nycdoitt:bin": "1013623"}}, {"type": "way", "id": 265282687, "nodes": [2709494111, 2709494100, 2709494101, 2709494096, 2709494094, 2709494086, 2709494108, 2709494121, 2709494113, 2709494111], "tags": {"building": "yes", "height": "20.1", "nycdoitt:bin": "1013612"}}, {"type": "way", "id": 265282688, "nodes": [2709494193, 2709494189, 2709494194, 2709494195, 2709494190, 2709494185, 2709494183, 2709494178, 2709494180, 2709494177, 2709494175, 2709494179, 2709494182, 2709494188, 2709494193]}, {"type": "way", "id": 265282690, "nodes": [2709494132, 2709494140, 2709494146, 2709494143, 2709494154, 2709494160, 2709494174, 2709494166, 2709494164, 2709494157, 2709494162, 2709494163, 2709494165, 2709494171, 2709494168, 2709494173, 2709494176, 2709494184, 2709494211, 2709494209, 2709494224, 2709494218, 2709494214, 2709494210, 2709494206, 2709494200, 2709494204, 2709494197, 2709494199, 2709494196, 2709494198, 2709494205, 2709494201, 2709494207, 2709494222, 2709494221, 2709494220, 2709494215, 2709494217, 2709494212, 2709494132]}, {"type": "way", "id": 265296092, "nodes": [2709630032, 2709630034, 2709630039, 2709630058, 2709630074, 2709630062, 2709630037, 2709630032], "tags": {"addr:housenumber": "216", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "55.8", "nycdoitt:bin": "1080568"}}, {"type": "way", "id": 265296097, "nodes": [2709630015, 2709630047, 2709630066, 2709630041, 2709630015], "tags": {"addr:housenumber": "223", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "14.6", "nycdoitt:bin": "1014478"}}, {"type": "way", "id": 265296100, "nodes": [2709630055, 2709630057, 2709630076, 2709630074, 2709630058, 2709630055], "tags": {"addr:housenumber": "228", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "7.6", "nycdoitt:bin": "1080569"}}, {"type": "way", "id": 265296102, "nodes": [2709630057, 2709630063, 2709630081, 2709630076, 2709630057], "tags": {"addr:housenumber": "230", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "57.7", "nycdoitt:bin": "1014486"}}, {"type": "way", "id": 265296110, "nodes": [2709630070, 2709630073, 2709630075, 2709630095, 2709630090, 2709630072, 2709630070], "tags": {"addr:housenumber": "244", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "55.7", "nycdoitt:bin": "1014488"}}, {"type": "way", "id": 265296115, "nodes": [2709630073, 2709630054, 2709630064, 2709630082, 2709630075, 2709630073], "tags": {"addr:housenumber": "247", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "65.2", "nycdoitt:bin": "1014476"}}, {"type": "way", "id": 265296118, "nodes": [2709630075, 2709630082, 2709630085, 2709630086, 2709630105, 2709630095, 2709630075], "tags": {"addr:housenumber": "250", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "73.8", "nycdoitt:bin": "1014489"}}, {"type": "way", "id": 265296123, "nodes": [2709630064, 2709630067, 2709630085, 2709630082, 2709630064], "tags": {"addr:housenumber": "257", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "63.6", "nycdoitt:bin": "1014475"}}, {"type": "way", "id": 265296125, "nodes": [2709630028, 2709630040, 2709630043, 2709630065, 2709630059, 2709630028], "tags": {"addr:housenumber": "262", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "62.3", "nycdoitt:bin": "1014468"}}, {"type": "way", "id": 265296127, "nodes": [2709630085, 2709630067, 2709630080, 2709630096, 2709630098, 2709630086, 2709630085], "tags": {"addr:housenumber": "263", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "64.6", "nycdoitt:bin": "1014474"}}, {"type": "way", "id": 265296128, "nodes": [2709630080, 2709630083, 2709630087, 2709630084, 2709630088, 2709630089, 2709630092, 2709630094, 2709630093, 2709630100, 2709630096, 2709630080], "tags": {"addr:housenumber": "273", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "building:levels": "5", "contact:facebook": "doxiehotel", "contact:instagram": "doxiehotel", "email": "doxiehotel@gmail.com", "height": "17.2", "internet_access": "wlan", "name": "Doxie Hotel", "nycdoitt:bin": "1014473", "phone": "+1 212-921-9791", "rooms": "43", "tourism": "hotel", "website": "https://doxiehotel.com/"}}, {"type": "way", "id": 265296129, "nodes": [2709630219, 2709630229, 2709630283, 2709630257, 2709630219], "tags": {"addr:housenumber": "302", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "12.8", "nycdoitt:bin": "1083619"}}, {"type": "way", "id": 265296130, "nodes": [2709630215, 2709630222, 2709630228, 2709630236, 2709630298, 2709630283, 2709630229, 2709630215], "tags": {"addr:housenumber": "304", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "13.5", "nycdoitt:bin": "1082926"}}, {"type": "way", "id": 265296131, "nodes": [2709630172, 2709630173, 2709630166, 2709630171, 2709630177, 2709630190, 2709630192, 2709630188, 2709630172], "tags": {"addr:housenumber": "305", "addr:postcode": "10018", "addr:street": "West 39th Street", "branch": "Times Square", "brand": "ARTEL", "breakfast": "no", "building": "hotel", "building:levels": "20", "contact:instagram": "artel.ts", "email": "tom.carpenter@bklynhousehotel.com", "fitness_centre": "no", "height": "64.4", "internet_access": "wlan", "internet_access:fee": "no", "name": "Artel Hotel", "nycdoitt:bin": "1088180", "phone": "+1 212-268-3040", "smoking": "no", "start_date": "2018", "swimming_pool": "no", "tourism": "hotel", "website": "https://artelhotel.com/times-square", "wheelchair": "designated"}}, {"type": "way", "id": 265296132, "nodes": [2709630236, 2709630253, 2709630307, 2709630298, 2709630236], "tags": {"addr:housenumber": "306", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1013689"}}, {"type": "way", "id": 265296133, "nodes": [2709630177, 2709630178, 2709630170, 2709630176, 2709630197, 2709630190, 2709630177], "tags": {"addr:housenumber": "307", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "building:material": "brick", "height": "19.9", "nycdoitt:bin": "1013685"}}, {"type": "way", "id": 265296136, "nodes": [2709630128, 2709630134, 2709630147, 2709630164, 2709630157, 2709630128], "tags": {"addr:housenumber": "310", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "27.8", "nycdoitt:bin": "1013647"}}, {"type": "way", "id": 265296137, "nodes": [2709630201, 2709630197, 2709630176, 2709630185, 2709630226, 2709630211, 2709630201], "tags": {"addr:city": "New York", "addr:housenumber": "311", "addr:postcode": "10018", "addr:street": "West 39th Street", "brand": "Element", "brand:wikidata": "Q91948072", "breakfast": "yes", "building": "yes", "building:levels": "39", "contact:facebook": "ElementTimesSquare", "contact:instagram": "elementtimessquare", "dog": "fee", "fax": "+1 212-643-0880", "fitness_centre": "yes", "height": "135", "internet_access": "wlan", "name": "Element", "nycdoitt:bin": "1088523", "official_name": "Element New York Times Square West", "operator": "Marriot", "phone": "+1 212-643-0770", "smoking": "no", "start_date": "2010", "tourism": "hotel", "website": "https://www.marriott.com/en-us/hotels/nycel-element-new-york-times-square-west/overview", "wheelchair": "yes"}}, {"type": "way", "id": 265296138, "nodes": [2709630147, 2709630153, 2709630169, 2709630164, 2709630147], "tags": {"addr:housenumber": "314", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "17.0", "nycdoitt:bin": "1013648"}}, {"type": "way", "id": 265296139, "nodes": [2709630316, 2709630326, 2716819747, 2709630342, 2716819754, 1636820396, 2709630322, 2709630243, 2709630296, 2709630316], "tags": {"addr:housenumber": "314", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "27.7", "nycdoitt:bin": "1013691"}}, {"type": "way", "id": 265296140, "nodes": [2709630226, 2709630185, 2709630200, 2709630296, 2709630243, 2709630226], "tags": {"addr:housenumber": "315", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "61.0", "nycdoitt:bin": "1013683"}}, {"type": "way", "id": 265296141, "nodes": [2709630153, 2709630158, 2709630175, 2709630169, 2709630153], "tags": {"addr:housenumber": "316", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "17.0", "nycdoitt:bin": "1013649"}}, {"type": "way", "id": 265296142, "nodes": [2709630141, 2709630145, 2709630151, 2709630163, 2709630193, 7737938503, 7737938505, 7737938504, 2709630175, 2709630158, 2709630141], "tags": {"addr:housenumber": "318", "addr:postcode": "10018", "addr:street": "West 39th Street", "architect": "Crow, Lewis & Wickenhoefer", "building": "commercial", "building:levels": "12", "height": "67.7", "name": "Finck Building", "nycdoitt:bin": "1013650", "start_date": "1916"}}, {"type": "way", "id": 265296143, "nodes": [2709630117, 2709630122, 2709630126, 2709630130, 2709630136, 2709630145, 2709630141, 2709630138, 2709630117], "tags": {"addr:housenumber": "319", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1013659"}}, {"type": "way", "id": 265296144, "nodes": [2709630130, 2709630131, 2709630127, 2709630126, 2709630122, 2709630124, 2709630139, 2709630136, 2709630130], "tags": {"addr:housenumber": "321", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "14.0", "nycdoitt:bin": "1083616"}}, {"type": "way", "id": 265296146, "nodes": [2709630200, 2709630224, 2709630316, 2709630296, 2709630200], "tags": {"addr:housenumber": "323", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "47.5", "nycdoitt:bin": "1013682"}}, {"type": "way", "id": 265296148, "nodes": [2709630124, 2709630133, 4644018190, 2709630163, 2709630151, 2709630139, 2709630124], "tags": {"addr:housenumber": "325", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "63.3", "nycdoitt:bin": "1013642"}}, {"type": "way", "id": 265296149, "nodes": [2709630149, 2709630150, 2709630159, 2709630161, 2709630167, 2709630162, 2709630156, 2709630155, 2709630144, 2709630142, 2709630137, 2709630140, 2709630149], "tags": {"addr:housenumber": "331", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "16.2", "nycdoitt:bin": "1013641"}}, {"type": "way", "id": 265296151, "nodes": [2709630140, 2709630143, 2709630179, 2709630174, 2709630167, 2709630161, 2709630149, 2709630140], "tags": {"addr:city": "New York", "addr:housenumber": "333", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 38th Street", "branch": "Times Square South", "brand": "La Quinta Inn & Suites", "brand:wikidata": "Q6464734", "building": "yes", "building:levels": "22", "height": "62.5", "internet_access": "wlan", "internet_access:fee": "customers", "name": "La Quinta Inn & Suites", "nycdoitt:bin": "1013640", "official_name": "La Quinta Inn & Suites by Wyndham", "phone": "+1 718-690-3294", "ref": "53800", "tourism": "hotel", "website": "https://www.wyndhamhotels.com/laquinta/new-york-city-new-york/la-quinta-by-wyndham-manhattan-midtown/overview"}}, {"type": "way", "id": 265296153, "nodes": [2709630224, 2709630279, 2709630331, 2709630332, 2709630316, 2709630224], "tags": {"addr:housenumber": "333", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "55.6", "nycdoitt:bin": "1013681"}}, {"type": "way", "id": 265296155, "nodes": [2709630336, 2709630348, 2716819763, 2716819776, 2716819784, 2709630430, 2716819773, 2709630408, 2709630379, 2709630341, 2709630336], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "340", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "branch": "Times Square", "brand": "Delta Hotels", "brand:wikidata": "Q5254663", "building": "hotel", "fax": "+1 212 757 9001", "fitness_centre": "yes", "internet_access": "wlan", "internet_access:fee": "no", "name": "Delta Hotels by Marriott", "nycdoitt:bin": "1013693", "official_name": "Delta Hotels by Marriott", "operator": "Delta Hotels", "phone": "+1 212-757-9000", "rooms": "310", "smoking": "no", "start_date": "2010", "tourism": "hotel", "website": "https://www.marriott.com/en-us/hotels/nycde-delta-hotels-new-york-times-square/overview/"}}, {"type": "way", "id": 265296156, "nodes": [2709630179, 2709630143, 2709630154, 2709630183, 2709630179], "tags": {"addr:housenumber": "335", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "47.1", "nycdoitt:bin": "1013639"}}, {"type": "way", "id": 265296157, "nodes": [2709630279, 2709630292, 2709630329, 2709630335, 2709630331, 2709630279], "tags": {"addr:housenumber": "335", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1083618"}}, {"type": "way", "id": 265296158, "nodes": [2709630187, 2709630198, 2709630218, 2709630233, 2709630187], "tags": {"addr:housenumber": "338", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "47.2", "nycdoitt:bin": "1013652"}}, {"type": "way", "id": 265296159, "nodes": [2709630154, 2709630160, 2709630187, 2709630183, 2709630154], "tags": {"addr:housenumber": "339", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "4.0", "nycdoitt:bin": "1013638"}}, {"type": "way", "id": 265296160, "nodes": [2709630160, 2709630168, 2709630198, 2709630187, 2709630160], "tags": {"addr:housenumber": "341", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "46.9", "nycdoitt:bin": "1013637"}}, {"type": "way", "id": 265296161, "nodes": [2709630348, 2709630358, 2716819767, 2716819787, 2716819791, 2716819788, 2716819784, 2716819776, 2716819763, 2709630348], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "342", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "building": "hotel", "building:levels": "32", "email": "hello@distrikthotel.com", "facebook": "https://www.facebook.com/DistriktHotelNYC", "instagram": "https://instagram.com/distrikthotel", "internet_access": "wlan", "internet_access:fee": "no", "name": "Distrikt Hotel", "nycdoitt:bin": "1088524", "phone": "+1 212-706-6100", "rooms": "155", "start_date": "2010", "toilets:wheelchair": "yes", "tourism": "hotel", "twitter": "https://twitter.com/distrikthotel", "website": "https://www.distrikthoteltimessquare.com/", "wheelchair": "yes"}}, {"type": "way", "id": 265296163, "nodes": [2709630358, 2709630377, 2709630414, 2709630443, 2709630466, 2709630440, 2716819791, 2716819787, 2716819767, 2709630358], "tags": {"addr:city": "New York", "addr:housenumber": "350", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "branch": "Hotel New York Times Square West", "brand": "DoubleTree", "brand:wikidata": "Q2504643", "building": "yes", "fax": "+1 646-609-1188", "height": "100", "name": "DoubleTree by Hilton Hotel", "nycdoitt:bin": "1013695", "official_name": "DoubleTree by Hilton", "phone": "+1 212-607-8888", "ref": "NYCSWDT", "short_name": "DoubleTree", "start_date": "2017", "toilets:wheelchair": "yes", "tourism": "hotel", "website": "https://doubletree3.hilton.com/en/hotels/new-york/doubletree-by-hilton-hotel-new-york-times-square-west-NYCSWDT/index.html", "wheelchair": "yes"}}, {"type": "way", "id": 265296165, "nodes": [2709630262, 2709630274, 2709630282, 2709630324, 2709630285, 2709630262], "tags": {"addr:city": "New York", "addr:housenumber": "352", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1013653"}}, {"type": "way", "id": 265296167, "nodes": [2709630355, 2709630351, 2709630323, 2709630339, 2709630359, 2709630373, 2709630396, 2709630414, 2709630377, 2709630355], "tags": {"addr:housenumber": "353", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "53.6", "nycdoitt:bin": "1013679"}}, {"type": "way", "id": 265296169, "nodes": [2709630282, 2709630289, 2709630293, 2709630328, 2709630324, 2709630282], "tags": {"addr:city": "New York", "addr:housenumber": "354", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "9.3", "nycdoitt:bin": "1013654"}}, {"type": "way", "id": 265296170, "nodes": [2709630339, 1807980698, 2709630344, 2709630369, 2709630359, 2709630339], "tags": {"addr:housenumber": "355", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "apartments", "building:levels": "4", "height": "14.1", "nycdoitt:bin": "1013700", "start_date": "1920"}}, {"type": "way", "id": 265296172, "nodes": [2709630443, 2709630449, 2709630448, 2709630456, 2709630472, 2709630466, 2709630443], "tags": {"addr:housenumber": "356", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "22.7", "nycdoitt:bin": "1013696"}}, {"type": "way", "id": 265296174, "nodes": [2709630344, 1807980702, 1758006036, 2709630347, 2709630357, 2709630375, 2709630385, 2709630369, 2709630344], "tags": {"addr:housenumber": "357", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "apartments", "building:levels": "4", "height": "14.1", "nycdoitt:bin": "1084437", "start_date": "1920"}}, {"type": "way", "id": 265296176, "nodes": [2709630480, 2709630485, 2709630493, 2709630511, 2709630512, 2709630510, 2709630509, 2709630504, 2709630496, 2709630480], "tags": {"addr:housenumber": "402", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "7.4", "nycdoitt:bin": "1013002"}}, {"type": "way", "id": 265296179, "nodes": [2709630452, 2709630438, 2709630447, 2709630462, 2709630455, 2709630452], "tags": {"addr:housenumber": "403", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "14.6", "nycdoitt:bin": "1084976"}}, {"type": "way", "id": 265296180, "nodes": [2709630493, 2709630497, 2709630507, 2709630513, 2709630511, 2709630493], "tags": {"addr:housenumber": "404", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "12.8", "nycdoitt:bin": "1013003"}}, {"type": "way", "id": 265296182, "nodes": [2709630464, 2709630455, 2709630462, 2709630447, 2709630453, 2709630471, 2709630467, 2709630464], "tags": {"addr:housenumber": "405", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "9.7", "nycdoitt:bin": "1087999"}}, {"type": "way", "id": 265296185, "nodes": [2709630427, 2709630417, 2709630365, 2709630387, 2709630415, 2709630427], "tags": {"addr:housenumber": "406", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "15.3", "name": "Camera Doctor", "nycdoitt:bin": "1078475", "opening_hours": "Mo-Fr 10:00-18:00", "phone": "+1 (917) 499-1915", "shop": "camera"}}, {"type": "way", "id": 265296187, "nodes": [2709630507, 2709630508, 2709630515, 2709630517, 2709630518, 2709630513, 2709630507], "tags": {"addr:housenumber": "406", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1013004"}}, {"type": "way", "id": 265296189, "nodes": [2709630453, 2709630460, 2709630477, 2709630473, 2709630471, 2709630453], "tags": {"addr:housenumber": "407", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "16.0", "nycdoitt:bin": "1078477"}}, {"type": "way", "id": 265296191, "nodes": [2709630415, 2709630413, 2709630371, 2709630363, 2709630356, 2709630353, 2709630361, 2709630381, 2709630383, 2709630419, 2709630425, 2709630435, 2709630427, 2709630415], "tags": {"addr:housenumber": "408", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "15.6", "nycdoitt:bin": "1012991"}}, {"type": "way", "id": 265296193, "nodes": [2709630477, 2709630460, 2709630465, 2709630483, 2709630481, 2709630477], "tags": {"addr:housenumber": "409", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "15.7", "nycdoitt:bin": "1078479"}}, {"type": "way", "id": 265296196, "nodes": [2709630515, 2709630514, 2709630516, 2709630494, 2709630495, 2709630500, 2709630502, 2709630503, 2709630520, 2709630521, 2709630522, 2709630519, 2709630517, 2709630515], "tags": {"addr:housenumber": "410", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "18.1", "nycdoitt:bin": "1013005"}}, {"type": "way", "id": 265296199, "nodes": [2709630502, 2709630501, 2709630498, 2709630483, 2709630465, 2709630469, 2709630505, 2709630503, 2709630502], "tags": {"addr:housenumber": "411", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "24.3", "nycdoitt:bin": "1012993"}}, {"type": "way", "id": 265296206, "nodes": [2709630194, 2709630203, 2709630238, 2709630207, 2709630194], "tags": {"addr:housenumber": "502", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "36.7", "nycdoitt:bin": "1087722"}}, {"type": "way", "id": 265296208, "nodes": [2709630256, 2709630248, 2709630235, 2709630223, 2709630225, 2709630220, 2709630202, 2709630207, 2709630238, 2709630239, 2709630272, 2709630260, 2709630256], "tags": {"addr:housenumber": "506", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "16.4", "nycdoitt:bin": "1013633"}}, {"type": "way", "id": 265296211, "nodes": [2709630290, 2709630280, 2709630284, 2709630276, 2709630266, 2709630251, 2709630254, 2709630240, 2709630231, 2709630214, 2709630220, 2709630225, 2709630227, 2709630230, 2709630237, 2709630241, 2709630247, 2709630242, 2709630246, 2709630252, 2709630264, 2709630260, 2709630272, 2709630302, 2709630295, 2709630290], "tags": {"addr:housenumber": "508", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "21.4", "name": "Oregon", "nycdoitt:bin": "1013634"}}, {"type": "way", "id": 265296215, "nodes": [2709630309, 2709630319, 2709630305, 2709630281, 2709630309], "tags": {"addr:housenumber": "509", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.1", "nycdoitt:bin": "1012986"}}, {"type": "way", "id": 265296217, "nodes": [2709630310, 2709630304, 2709630306, 2709630303, 2709630299, 2709630291, 2709630294, 2709630288, 2709630289, 2709630282, 2709630274, 2709630240, 2709630254, 2709630258, 2709630270, 2709630278, 2709630286, 2709630276, 2709630284, 2709630287, 2709630297, 2709630295, 2709630302, 2709630315, 2709630311, 2709630310], "tags": {"addr:housenumber": "510", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "21.4", "name": "Maine", "nycdoitt:bin": "1013635"}}, {"type": "way", "id": 265296221, "nodes": [2709630301, 2709630303, 2709630306, 2709630311, 2709630315, 2709630321, 2709630312, 2709630301], "tags": {"addr:housenumber": "516", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "12.1", "nycdoitt:bin": "1013658"}}, {"type": "way", "id": 265296223, "nodes": [2709630312, 2709630321, 2709630327, 2709630318, 2709630312], "tags": {"addr:housenumber": "518", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "12.1", "nycdoitt:bin": "1013657"}}, {"type": "way", "id": 265296226, "nodes": [2709630318, 2709630327, 2709630333, 2709630325, 2709630318], "tags": {"addr:housenumber": "520", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "12.1", "nycdoitt:bin": "1013656"}}, {"type": "way", "id": 265296227, "nodes": [2709630436, 2709630452, 2709630455, 2709630464, 2709630450, 2709630436], "tags": {"addr:housenumber": "525", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "15.1", "nycdoitt:bin": "1012995"}}, {"type": "way", "id": 265296228, "nodes": [2709630357, 2709630398, 2709630411, 2709630375, 2709630357], "tags": {"addr:housenumber": "526", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "11.6", "nycdoitt:bin": "1013675"}}, {"type": "way", "id": 265296229, "nodes": [2709630450, 2709630464, 2709630467, 2709630474, 2709630463, 2709630450], "tags": {"addr:housenumber": "527", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "13.9", "nycdoitt:bin": "1076859"}}, {"type": "way", "id": 265296230, "nodes": [2709630400, 2709630385, 2709630375, 2709630411, 2709630423, 2709630406, 2709630400], "tags": {"addr:housenumber": "528", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "11.9", "nycdoitt:bin": "1013676"}}, {"type": "way", "id": 265296231, "nodes": [2709630470, 2709630463, 2709630474, 2709630478, 2709630479, 2709630488, 2709630485, 2709630480, 2709630476, 2709630470], "tags": {"addr:housenumber": "529", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "13.3", "nycdoitt:bin": "1012996"}}, {"type": "way", "id": 265296232, "nodes": [2709630402, 2709630410, 2709630406, 2709630423, 2709630433, 2709630412, 2709630402], "tags": {"addr:housenumber": "530", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "12.0", "nycdoitt:bin": "1013677"}}, {"type": "way", "id": 265296233, "nodes": [2709630470, 2709630476, 2709630486, 2709630475, 2709630470], "tags": {"addr:housenumber": "531", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "14.2", "nycdoitt:bin": "1012997"}}, {"type": "way", "id": 265296234, "nodes": [2709630428, 2709630426, 2709630429, 2709630416, 2709630404, 2709630412, 2709630433, 2709630446, 2709630434, 2709630428], "tags": {"addr:housenumber": "532", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "16.8", "nycdoitt:bin": "1013678"}}, {"type": "way", "id": 265296235, "nodes": [2709630475, 2709630486, 2709630492, 2709630482, 2709630475], "tags": {"addr:city": "New York", "addr:housenumber": "533", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "9th Avenue", "building": "apartments", "height": "13.9", "nycdoitt:bin": "1012998"}}, {"type": "way", "id": 265296236, "nodes": [2709630442, 2709630439, 2709630441, 2709630432, 2709630416, 2709630429, 2709630431, 2709630437, 2709630434, 2709630446, 2709630459, 2709630445, 2709630442], "tags": {"addr:housenumber": "534", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "16.5", "nycdoitt:bin": "1013699"}}, {"type": "way", "id": 265296238, "nodes": [2709630482, 2709630492, 2709630496, 2709630504, 2709630491, 2709630482], "tags": {"addr:city": "New York", "addr:housenumber": "535", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "9th Avenue", "building": "apartments", "height": "13.9", "nycdoitt:bin": "1012999"}}, {"type": "way", "id": 265296240, "nodes": [2709630457, 2709630454, 2709630458, 2709630456, 2709630448, 2709630432, 2709630441, 2709630444, 2709630451, 2709630445, 2709630459, 2709630468, 2709630461, 2709630457], "tags": {"addr:housenumber": "536", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "17.0", "nycdoitt:bin": "1013698"}}, {"type": "way", "id": 265296241, "nodes": [2709630491, 2709630504, 2709630509, 2709630499, 2709630491], "tags": {"addr:city": "New York", "addr:housenumber": "537", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "9th Avenue", "building": "apartments", "height": "14.0", "nycdoitt:bin": "1013000"}}, {"type": "way", "id": 265296243, "nodes": [2709630092, 2709630097, 2709630106, 2709630103, 2709630094, 2709630092], "tags": {"addr:housenumber": "580", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "78.2", "nycdoitt:bin": "1014471"}}, {"type": "way", "id": 265296245, "nodes": [2709630103, 2709630106, 2709630111, 2709630107, 2709630104, 2709630103], "tags": {"addr:housenumber": "584", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "43.4", "nycdoitt:bin": "1014472"}}, {"type": "way", "id": 265296246, "nodes": [2709630111, 2709630113, 2709630109, 2709630107, 2709630111], "tags": {"addr:housenumber": "592", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "26.6", "nycdoitt:bin": "1014492"}}, {"type": "way", "id": 265296248, "nodes": [2709630189, 2709630181, 2709630195, 2709630206, 2709630204, 2709630189], "tags": {"addr:housenumber": "609", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "6.7", "nycdoitt:bin": "1013687"}}, {"type": "way", "id": 265296251, "nodes": [2709630231, 2709630262, 2709630285, 2709630218, 2709630198, 2709630231], "tags": {"addr:city": "New York", "addr:housenumber": "350", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 39th Street", "air_conditioning": "yes", "bar": "yes", "branch": "New York City / Times Square", "brand": "Hyatt Place", "brand:wikidata": "Q72629292", "building": "hotel", "check_date": "2024-10-08", "height": "68.6", "internet_access": "wlan", "internet_access:fee": "customers", "name": "Hyatt Place", "nycdoitt:bin": "1090150", "old_nycdoitt:bin": "1013636", "operator": "Hyatt", "payment:cash": "yes", "payment:credit_cards": "yes", "payment:debit_cards": "yes", "phone": "+1 212-904-1811", "rooms": "520", "tourism": "hotel", "website": "https://www.hyatt.com/en-US/hotel/new-york/hyatt-place-new-york-city-times-square/nyczt", "wheelchair": "yes"}}, {"type": "way", "id": 265296253, "nodes": [2709630123, 2709630119, 2709630115, 2709630108, 2709630117, 2709630138, 2709630125, 2709630128, 2709630157, 2709630152, 2709630123], "tags": {"building": "yes", "height": "83.5", "nycdoitt:bin": "1013643"}}, {"type": "way", "id": 265296255, "nodes": [2709630043, 2709630049, 2709630045, 2709630050, 2709630053, 2709630056, 2709630052, 2709630061, 2709630078, 2709630077, 2709630079, 2709630065, 2709630043], "tags": {"building": "yes", "height": "83.2", "nycdoitt:bin": "1014469"}}, {"type": "way", "id": 265296258, "nodes": [2709630217, 2709630208, 2709630199, 2709630201, 2709630217], "tags": {"building": "yes", "height": "14.6", "nycdoitt:bin": "1082925"}}, {"type": "way", "id": 265296259, "nodes": [2709630421, 2709630438, 2709630452, 2709630436, 2709630421], "tags": {"building": "yes", "height": "14.8", "nycdoitt:bin": "1012994"}}, {"type": "way", "id": 265296261, "nodes": [2709630132, 2709630146, 2709630129, 2709630121, 2709629971, 2709630132], "tags": {"building": "yes", "height": "88.6", "nycdoitt:bin": "1013646"}}, {"type": "way", "id": 265296263, "nodes": [2709630292, 2716952944, 2709630308, 2709630337, 2709630329, 2709630292], "tags": {"addr:city": "New York", "addr:housenumber": "337", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 39th Street", "alt_name": "Hampton Inn", "branch": "Manhattan/Times Square South", "brand": "Hampton", "brand:wikidata": "Q5646230", "breakfast": "yes", "building": "hotel", "dog": "no", "fitness_centre": "yes", "height": "92.9", "internet_access": "wlan", "internet_access:fee": "no", "name": "Hampton", "nycdoitt:bin": "1087499", "official_name": "Hampton by Hilton", "payment:american_express": "yes", "payment:carte_blanche": "yes", "payment:diners_club": "yes", "payment:discover_card": "yes", "payment:mastercard": "yes", "payment:unionpay": "yes", "payment:visa": "yes", "phone": "+1 212-967-2344", "ref": "NYCMAHX", "smoking": "no", "start_date": "2008", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycmahx-hampton-manhattan-times-square-south/", "wheelchair": "yes"}}, {"type": "way", "id": 265296264, "nodes": [2709630347, 2709630367, 2709630398, 2709630357, 2709630347], "tags": {"building": "yes", "height": "11.6", "nycdoitt:bin": "1013674"}}, {"type": "way", "id": 265296268, "nodes": [2709630317, 2716952946, 2709630323, 2709630351, 2709630343, 2709630317], "tags": {"addr:city": "New York", "addr:housenumber": "343", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 39th Street", "branch": "New York City Times Square", "brand": "Holiday Inn Express", "brand:wikidata": "Q5880423", "breakfast": "06:30-09:30", "building": "hotel", "dog": "no", "email": "laurie.misko@hhmlp.com", "fitness_centre": "no", "height": "104.2", "internet_access": "wlan", "internet_access:fee": "no", "name": "Holiday Inn Express", "nycdoitt:bin": "1087498", "operator": "IHG", "phone": "+1 212-239-1222", "ref": "NYCWS", "rooms": "210", "start_date": "2008", "swimming_pool": "no", "tourism": "hotel", "website": "https://www.ihg.com/holidayinnexpress/hotels/us/en/new-york/nycws/hoteldetail", "wheelchair": "yes"}}, {"type": "way", "id": 265296270, "nodes": [2709630333, 2709630338, 2709630330, 2709630325, 2709630333], "tags": {"building": "yes", "height": "11.8", "nycdoitt:bin": "1013655"}}, {"type": "way", "id": 265296274, "nodes": [2709630509, 2709630510, 2709630506, 2709630499, 2709630509], "tags": {"building": "yes", "height": "14.0", "nycdoitt:bin": "1013001"}}, {"type": "way", "id": 265296275, "nodes": [2709630308, 2716952945, 2709630317, 2709630343, 2709630337, 2709630308], "tags": {"addr:city": "New York", "addr:housenumber": "339", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 39th Street", "branch": "Times Square", "brand": "Candlewood Suites", "brand:wikidata": "Q5032010", "building": "yes", "building:levels": "32", "dog": "yes", "email": "waheeda.ashraf@hhmlp.com", "fitness_centre": "yes", "height": "93.0", "internet_access": "yes", "internet_access:fee": "no", "name": "Candlewood Suites", "nycdoitt:bin": "1087500", "operator": "IHG", "payment:american_express": "yes", "payment:carte_blanche": "yes", "payment:diners_club": "yes", "payment:discover_card": "yes", "payment:jcb": "yes", "payment:mastercard": "yes", "payment:visa": "yes", "phone": "+1 212-967-2254", "rooms": "188", "smoking": "no", "start_date": "2008", "tourism": "hotel", "website": "https://www.ihg.com/candlewood/hotels/us/en/new-york/nyccw/hoteldetail", "wheelchair": "yes", "wheelchair:rooms": "10"}}, {"type": "way", "id": 265296277, "nodes": [2709630396, 2709630373, 2709630402, 2709630412, 2709630404, 2709630396], "tags": {"addr:housenumber": "357", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "apartments", "building:levels": "2", "height": "6.4", "nycdoitt:bin": "1089230", "start_date": "1920"}}, {"type": "way", "id": 265296278, "nodes": [2709630281, 2709630245, 2709630300, 2709630313, 2709630309, 2709630281], "tags": {"building": "yes", "height": "17.1", "nycdoitt:bin": "1012985"}}, {"type": "way", "id": 265296280, "nodes": [2709630467, 2709630471, 2709630473, 2709630478, 2709630474, 2709630467], "tags": {"building": "yes", "height": "7.9", "nycdoitt:bin": "1076860"}}, {"type": "way", "id": 265296281, "nodes": [2709630340, 2709630345, 2709630353, 2709630356, 2709630350, 2709630340], "tags": {"building": "yes", "height": "7.0", "name": "Camera Doctor", "nycdoitt:bin": "1078476"}}, {"type": "way", "id": 265296284, "nodes": [2709630063, 2709630069, 2709630071, 2709630072, 2709630090, 2709630081, 2709630063], "tags": {"building": "yes", "height": "40.8", "nycdoitt:bin": "1014487"}}, {"type": "way", "id": 265296286, "nodes": [2709630083, 2709630091, 2709630097, 2709630092, 2709630089, 2709630087, 2709630083], "tags": {"building": "yes", "height": "5.4", "nycdoitt:bin": "1014470"}}, {"type": "way", "id": 265296289, "nodes": [2709630489, 2709630488, 2709630479, 2709630487, 2709630495, 2709630494, 2709630489], "tags": {"building": "yes", "height": "6.0", "nycdoitt:bin": "1078478"}}, {"type": "way", "id": 265296291, "nodes": [2709630068, 2709630066, 2709630047, 2709630054, 2709630073, 2709630070, 2709630068], "tags": {"building": "yes", "height": "13.7", "nycdoitt:bin": "1014477"}}, {"type": "way", "id": 265296292, "nodes": [2709630086, 2709630098, 2709630099, 2709630101, 2709630110, 2709630105, 2709630086], "tags": {"building": "yes", "height": "69.5", "nycdoitt:bin": "1014490"}}, {"type": "way", "id": 265296295, "nodes": [2709630456, 2709630458, 2709630461, 2709630468, 2709630484, 2709630472, 2709630456], "tags": {"building": "yes", "height": "3.3", "nycdoitt:bin": "1013697"}}, {"type": "way", "id": 265296298, "nodes": [2709630181, 2709630148, 2709630165, 2709630172, 2709630188, 2709630196, 2709630195, 2709630181], "tags": {"building": "yes", "height": "8.0", "nycdoitt:bin": "1013686"}}, {"type": "way", "id": 265296299, "nodes": [2709630101, 2709630104, 2709630107, 2709630109, 2709630113, 2709630118, 2709630110, 2709630101], "tags": {"building": "yes", "height": "77.1", "nycdoitt:bin": "1014491"}}, {"type": "way", "id": 265296301, "nodes": [2709630102, 2709630108, 2709630115, 2709630114, 2709630116, 2709630120, 4637412949, 2709630112, 2709630102], "tags": {"building": "yes", "height": "93.5", "nycdoitt:bin": "1013644"}}, {"type": "way", "id": 265296303, "nodes": [2709630487, 2709630490, 2709630481, 2709630483, 2709630498, 2709630500, 2709630495, 2709630487], "tags": {"building": "yes", "height": "4.1", "nycdoitt:bin": "1078480"}}, {"type": "way", "id": 265296305, "nodes": [2709630189, 2709630204, 2709630209, 2709630212, 2709630219, 2709630257, 5020832127, 2709630210, 2709630191, 2709630189], "tags": {"building": "yes", "height": "8.7", "nycdoitt:bin": "1013688"}}, {"type": "way", "id": 265296306, "nodes": [2709630163, 2709630174, 2709630179, 2709630183, 2709630187, 2709630233, 6916346805, 2709630193, 2709630163], "tags": {"addr:housenumber": "330", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "apartments", "building:use": "residential", "height": "88.392", "name": "Crystal Green", "nycdoitt:bin": "1088826", "operator": "Glenwood Properties", "source:height": "https://web.archive.org/web/20120125224949id_/a810-bisweb.nyc.gov/bisweb/BSCANJobDocumentContentServlet?passjobnumber=120325594&scancode=SC090731019", "start_date": "2013", "website": "https://www.glenwoodnyc.com/properties/west-side/crystal-green"}}, {"type": "way", "id": 265296309, "nodes": [4637412949, 2709630120, 2709630116, 2709630119, 2709630123, 2709630152, 2709629942, 2709630146, 2709630132, 2709629971, 4637412950, 4637412949], "tags": {"addr:city": "New York", "addr:housenumber": "585", "addr:postcode": "10018", "addr:street": "8th Avenue", "brand": "Holiday Inn", "brand:wikidata": "Q2717882", "building": "yes", "building:levels": "35", "height": "118.2", "name": "Holiday Inn", "nycdoitt:bin": "1013645", "official_name": "Holiday Inn New York City - Times Square", "start_date": "2015", "tourism": "hotel"}}, {"type": "way", "id": 265299961, "nodes": [2709680772, 2709680767, 2709680750, 2709680754, 2709680770, 2709680772], "tags": {"addr:housenumber": "401", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "20.0", "nycdoitt:bin": "1083740"}}, {"type": "way", "id": 265299964, "nodes": [2709680754, 2709680758, 2709680778, 2709680770, 2709680754], "tags": {"addr:housenumber": "403", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "19.3", "nycdoitt:bin": "1083741"}}, {"type": "way", "id": 265299967, "nodes": [2709680841, 2709680826, 2709680819, 2709680792, 2709680818, 2709680866, 2709680843, 2709680862, 2709680871, 2709680831, 2709680857, 2709680860, 2920116798, 2709680841], "tags": {"addr:housenumber": "403", "addr:postcode": "10036", "addr:street": "West 41st Street", "building": "yes", "height": "15.9", "nycdoitt:bin": "1087829"}}, {"type": "way", "id": 265299970, "nodes": [2709680758, 2709680763, 2709680779, 2709680778, 2709680758], "tags": {"addr:housenumber": "405", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "18.8", "nycdoitt:bin": "1083742"}}, {"type": "way", "id": 265299977, "nodes": [2709680763, 2709680768, 2709680781, 2709680779, 2709680763], "tags": {"addr:housenumber": "407", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1026322"}}, {"type": "way", "id": 265299980, "nodes": [2709680768, 2709680774, 2709680783, 2709680781, 2709680768], "tags": {"addr:housenumber": "409", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "14.7", "nycdoitt:bin": "1026321"}}, {"type": "way", "id": 265299982, "nodes": [2709680862, 2709680879, 2709680911, 2709680902, 2709680871, 2709680862], "tags": {"addr:housenumber": "414", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "16.8", "nycdoitt:bin": "1026332"}}, {"type": "way", "id": 265299983, "nodes": [2688185293, 2709680884, 2688185305, 2709680911, 2709680879, 2688185293], "tags": {"addr:housenumber": "416", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "30.8", "nycdoitt:bin": "1026333"}}, {"type": "way", "id": 265299984, "nodes": [2709680846, 2920162838, 2920162836, 2709680813, 2709680796, 2709680811, 2920162841, 2709680846], "tags": {"addr:housenumber": "440", "addr:postcode": "10018", "addr:street": "West 41st Street", "building": "yes", "building:colour": "#BA9077", "building:material": "brick", "building:part": "yes", "height": "42.8", "nycdoitt:bin": "1070031", "roof:colour": "#595C55", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265300032, "nodes": [2709680743, 2709680749, 2709680756, 2709680745, 2709680743], "tags": {"addr:housenumber": "541", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "14.8", "nycdoitt:bin": "1083736"}}, {"type": "way", "id": 265300035, "nodes": [2709680745, 2709680756, 2709680761, 11413934408, 2709680745], "tags": {"addr:housenumber": "543", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "14.8", "nycdoitt:bin": "1083737"}}, {"type": "way", "id": 265300039, "nodes": [11413934408, 2709680761, 2709680765, 2709680752, 11413934408], "tags": {"addr:housenumber": "545", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "14.8", "nycdoitt:bin": "1083738"}}, {"type": "way", "id": 265300042, "nodes": [2709680765, 2709680776, 2709680760, 2709680752, 2709680765], "tags": {"addr:housenumber": "547", "addr:postcode": "10018", "addr:street": "9th Avenue", "building": "yes", "height": "14.8", "nycdoitt:bin": "1083739"}}, {"type": "way", "id": 265300088, "nodes": [2709680785, 2920162391, 2920162393, 2920162399, 2709680802, 2709680837, 2709680825, 2920162840, 2709680850, 2709680900, 2920162847, 2920162845, 2920162843, 2709680875, 2709680846, 2920162841, 2709680811, 2920162804, 2920162802, 2920162392, 2709680785], "tags": {"building": "yes", "nycdoitt:bin": "1026319"}}, {"type": "way", "id": 265300090, "nodes": [2709680857, 2709680831, 2709680871, 2709680902, 2709680891, 2709680888, 2709680889, 2709680869, 2709680860, 2709680857], "tags": {"building": "yes", "height": "17.1", "nycdoitt:bin": "1026331"}}, {"type": "way", "id": 265301782, "nodes": [2709704053, 2709704062, 2709704100, 2709704097, 2709704084, 2709704053], "tags": {"addr:housenumber": "141", "addr:postcode": "10036", "addr:street": "West 41st Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1022574"}}, {"type": "way", "id": 265301790, "nodes": [2709704028, 2709703997, 2709704018, 2709704046, 2709704041, 2709704049, 2709704043, 2709704034, 2709704032, 2709704024, 2709704028], "tags": {"addr:housenumber": "143", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "22.9", "nycdoitt:bin": "1022560"}}, {"type": "way", "id": 265301792, "nodes": [2709703999, 2709704009, 2709704011, 2709704020, 2709704015, 2709704024, 2709704032, 2709704034, 2709704043, 2709704049, 3213889716, 3213889715, 3213889714, 3213889713, 3213889712, 3213889711, 3213889710, 3213889709, 2709704039, 2709703999], "tags": {"addr:housenumber": "1435", "addr:postcode": "10018", "addr:street": "Broadway", "building": "yes", "height": "23.0", "nycdoitt:bin": "1022562"}}, {"type": "way", "id": 265301799, "nodes": [2709704018, 2709704026, 2709704044, 2709704060, 2709704051, 2709704046, 2709704018], "tags": {"addr:housenumber": "147", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1022570"}}, {"type": "way", "id": 265301980, "nodes": [2709704044, 2709704068, 2709704080, 3213889737, 3213889734, 3213889733, 3213889731, 3213889728, 3213889724, 2709704060, 2709704044], "tags": {"addr:housenumber": "567", "addr:postcode": "10018", "addr:street": "7th Avenue", "building": "yes", "height": "14.7", "nycdoitt:bin": "1022559"}}, {"type": "way", "id": 265302059, "nodes": [2709704030, 2709704053, 2709704084, 2709704082, 2823932302, 2709704096, 2709704091, 2709704094, 2709704088, 2709704105, 2709704103, 2709704030], "tags": {"addr:city": "New York", "addr:housenumber": "130", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "building": "yes", "ele": "18", "gnis:feature_id": "2083161", "height": "132", "name": "Bush Tower", "nycdoitt:bin": "1022577", "start_date": "1917", "wikidata": "Q3647546", "wikipedia": "en:Bush Tower"}}, {"type": "way", "id": 265302062, "nodes": [2709704049, 2709704057, 3213889727, 2709704075, 2709704077, 3213889723, 2709704060, 3213889724, 3213889728, 3213889731, 3213889733, 3213889734, 3213889737, 2709704080, 2709704104, 5020832889, 10268944205, 2709704086, 2709704039, 3213889709, 3213889710, 3213889711, 3213889712, 3213889713, 3213889714, 3213889715, 3213889716, 2709704049], "tags": {"addr:city": "New York", "addr:housenumber": "1441", "addr:postcode": "10018", "addr:street": "Broadway", "building": "yes", "name": "Bricken Textile Building", "nycdoitt:bin": "1022569", "start_date": "1930"}}, {"type": "way", "id": 265302080, "nodes": [2709703987, 6067214129, 6067214124, 6067214128, 2709704022, 2709704066, 2709704013, 6067214132, 2709703987], "tags": {"building": "yes", "height": "155.7", "nycdoitt:bin": "1022568"}}, {"type": "way", "id": 265302095, "nodes": [2709704026, 2709704037, 2709704068, 2709704044, 2709704026], "tags": {"building": "yes", "height": "78.7", "nycdoitt:bin": "1022558"}}, {"type": "way", "id": 265302121, "nodes": [2709703962, 2872663102, 2872663000, 2872662999, 2872662997, 2709703951, 2872662985, 2709703912, 7581325942, 2709703953, 2872663101, 2872663103, 2872663104, 2872663106, 2872663107, 2872663109, 2872663115, 2872663121, 2872663122, 2872663123, 2872663124, 2872663125, 2709703984, 2709703978, 2872663120, 2872663118, 2872663116, 2872663114, 2872663112, 2709703962], "tags": {"addr:housenumber": "1065", "addr:street": "6th Avenue", "building": "commercial", "name": "Five Bryant Park", "nycdoitt:bin": "1022565", "start_date": "1957"}}, {"type": "way", "id": 265302123, "nodes": [2709704092, 2709704108, 2709704102, 2709704099, 2709704093, 2709704073, 2709704092], "tags": {"building": "commercial", "height": "57.3", "nycdoitt:bin": "1022573"}}, {"type": "way", "id": 265302124, "nodes": [2709703953, 2709703959, 2709703970, 2709703968, 2709703993, 2709703984, 2872663125, 2872663124, 2872663123, 2872663122, 2872663121, 2872663115, 2872663109, 2872663107, 2872663106, 2872663104, 2872663103, 2872663101, 2709703953], "tags": {"building": "yes", "height": "91.1", "nycdoitt:bin": "1022564"}}, {"type": "way", "id": 265302147, "nodes": [2275780483, 2709704030, 2709704103, 2275780476, 8751484437, 8751484434, 8751484541, 8751484544, 8751484531, 8751484534, 2275780483], "tags": {"building": "yes", "height": "40", "nycdoitt:bin": "1087119"}}, {"type": "way", "id": 265302168, "nodes": [2709704062, 2709704073, 2709704093, 2709704099, 2709704102, 2709704108, 2709704110, 2709704109, 2709704100, 2709704062], "tags": {"addr:city": "New York", "addr:housenumber": "6", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "Times Square", "building": "hotel", "building:levels": "15", "dog": "yes", "ele": "17", "fitness_centre": "yes", "gnis:feature_id": "2072077", "height": "67.0", "name": "The Knickerbocker Hotel", "nycdoitt:bin": "1022579", "old_name": "The Knickerbocker", "phone": "+1 855-865-6425", "ref:nrhp": "80002697", "rooms": "330", "start_date": "1906", "tourism": "hotel", "website": "https://theknickerbocker.com/", "wikidata": "Q4642538", "wikipedia": "en:The Knickerbocker Hotel"}}, {"type": "way", "id": 265302170, "nodes": [2709704015, 2709704020, 2709704011, 2709704009, 2709703999, 2709703990, 5020832978, 5020832979, 10268944176, 2709703997, 2709704028, 2709704024, 2709704015], "tags": {"building": "yes", "height": "42.5", "nycdoitt:bin": "1022561"}}, {"type": "way", "id": 265317846, "nodes": [2709861091, 2709861090, 2709861075, 2709861086, 2709861078, 2709861069, 2709861062, 2709861067, 2709861054, 2709860978, 2709860999, 2709861005, 2709861009, 2709861007, 2709861015, 2709861024, 2709861038, 2709861027, 2709861034, 2709861030, 2709861045, 2709861042, 2709861050, 2709861110, 2709861098, 2709861096, 2709861094, 2709861091], "tags": {"addr:housenumber": "601", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "18.5", "nycdoitt:bin": "1026927"}}, {"type": "way", "id": 265317861, "nodes": [2709861096, 2709861098, 2709861110, 2709861124, 2709861136, 2709861144, 2709861150, 2709861152, 2709861169, 2709861148, 2709861121, 2709861128, 2709861094, 2709861096], "tags": {"building": "yes", "height": "9.3", "nycdoitt:bin": "1026935"}}, {"type": "way", "id": 265317868, "nodes": [2709861241, 2709861209, 2709861378, 2709861277, 2709861241], "tags": {"addr:housenumber": "615", "addr:street": "10th Avenue", "building": "apartments", "nycdoitt:bin": "1090444"}}, {"type": "way", "id": 265317879, "nodes": [2709861083, 2709861107, 2709861139, 2709861141, 2709861146, 2709861115, 2709861083], "tags": {"building": "yes", "height": "14.0", "nycdoitt:bin": "1026928"}}, {"type": "way", "id": 265319520, "nodes": [2709878744, 2709878741, 2709878739, 2709878742, 2709878749, 2709878751, 2709878763, 2709878759, 2709878744], "tags": {"addr:housenumber": "403", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "2.9", "nycdoitt:bin": "1085030"}}, {"type": "way", "id": 265319521, "nodes": [2709878900, 2709878911, 2709878862, 2709878857, 2709878824, 2709878858, 2709878882, 2709878888, 2709878878, 2709878925, 2709878938, 2709878934, 2709878937, 2709878943, 2709878980, 2709878939, 2709878901, 2709878900], "tags": {"addr:housenumber": "404", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "20.6", "nycdoitt:bin": "1026370"}}, {"type": "way", "id": 265319523, "nodes": [2709878751, 2709878749, 2709878742, 2709878745, 2709878747, 2709878765, 2709878761, 2709878853, 2709878805, 2709878763, 2709878751], "tags": {"addr:city": "New York", "addr:housenumber": "407", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "church", "height": "16.4", "nycdoitt:bin": "1026362", "start_date": "1890"}}, {"type": "way", "id": 265319524, "nodes": [2709878943, 2709878949, 2709878936, 2709878931, 2709878898, 2709878882, 2709878858, 2709878890, 2709878929, 2709878917, 2709878964, 2709878981, 2709879032, 2709878980, 2709878943], "tags": {"addr:housenumber": "410", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "20.6", "nycdoitt:bin": "1026371"}}, {"type": "way", "id": 265319525, "nodes": [2709878747, 2709878753, 2709878779, 2709878773, 2709878765, 2709878747], "tags": {"addr:housenumber": "411", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "12.3", "nycdoitt:bin": "1026361"}}, {"type": "way", "id": 265319526, "nodes": [2709878954, 2709878966, 2709878999, 2709879050, 2709879032, 2709878981, 2709878954], "tags": {"addr:housenumber": "412", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1026372"}}, {"type": "way", "id": 265319528, "nodes": [2709878753, 2709878757, 2709878793, 2709878779, 2709878753], "tags": {"addr:housenumber": "413", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "12.2", "nycdoitt:bin": "1026389"}}, {"type": "way", "id": 265319529, "nodes": [2709878999, 2709879028, 2709878972, 2709878958, 2709878913, 2709878976, 2709879034, 2709879019, 2709879015, 2709879007, 2709879040, 2709879038, 2709879048, 2709879062, 2709879112, 2709879115, 2709879050, 2709878999], "tags": {"addr:housenumber": "414", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "20.9", "nycdoitt:bin": "1026373"}}, {"type": "way", "id": 265319530, "nodes": [2709878757, 2709878769, 2709878775, 2709878828, 2709878832, 2709878822, 2709878803, 2709878793, 2709878757], "tags": {"addr:housenumber": "415", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1026360"}}, {"type": "way", "id": 265319532, "nodes": [2709878828, 2709878836, 2709878830, 2709878834, 2709878842, 2709878847, 2709878783, 2709878775, 2709878769, 2709878767, 2709878774, 2709878795, 2709878810, 2709878806, 2709878856, 2709878860, 2709878870, 2709878886, 2709878896, 2709878859, 2709878832, 2709878828], "tags": {"addr:housenumber": "417", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "19.5", "nycdoitt:bin": "1026359"}}, {"type": "way", "id": 265319534, "nodes": [2709878870, 2709878874, 2709878868, 2709878866, 2709878845, 2709878826, 2709878818, 2709878812, 2709878799, 2709878795, 2709878774, 2709878791, 2709878801, 2709878820, 2709878814, 2709878838, 2709878849, 2709878854, 2709878855, 2709878876, 2709878880, 2709878909, 2709878886, 2709878870], "tags": {"addr:housenumber": "421", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1026358"}}, {"type": "way", "id": 265319535, "nodes": [2709878801, 2709878816, 2709878884, 2709878947, 2709878935, 2709878909, 2709878880, 2709878854, 2709878849, 2709878820, 2709878801], "tags": {"addr:housenumber": "423", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "16.1", "nycdoitt:bin": "1026357"}}, {"type": "way", "id": 265319536, "nodes": [2709878816, 2709878843, 2709878903, 2709878884, 2709878816], "tags": {"addr:housenumber": "425", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "13.7", "nycdoitt:bin": "1026388"}}, {"type": "way", "id": 265319538, "nodes": [2709879058, 2709879084, 2709879163, 2709879149, 2709879100, 2709879058], "tags": {"addr:housenumber": "426", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1026390"}}, {"type": "way", "id": 265319539, "nodes": [2709879084, 2709879103, 2709879180, 2709879163, 2709879084], "tags": {"addr:housenumber": "428", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "13.4", "nycdoitt:bin": "1026375"}}, {"type": "way", "id": 265319540, "nodes": [2709879103, 2709879117, 2709879196, 2709879180, 2709879103], "tags": {"addr:housenumber": "430", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1026376"}}, {"type": "way", "id": 265319542, "nodes": [2709879101, 2709879145, 2709879225, 2709879188, 2709879123, 2709879101], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "432", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "school", "building": "yes", "ele": "9", "fax": "+1 212 757 7638", "gnis:feature_id": "2083192", "height": "12.9", "name": "The Actors Studio", "nycdoitt:bin": "1026377", "phone": "+1 212 757 0870", "roof:shape": "gabled", "website": "https://theactorsstudio.org/", "wikidata": "Q216458"}}, {"type": "way", "id": 265319543, "nodes": [2709878843, 2709878872, 2709878956, 2709878923, 2709878933, 2709878927, 2709878921, 2709878905, 2709878903, 2709878843], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "433", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "26.0", "nycdoitt:bin": "1075634"}}, {"type": "way", "id": 265319544, "nodes": [2709878872, 2709878892, 2709878982, 2709878989, 2709878983, 2709879013, 2709878993, 2709878968, 2709878960, 2709878956, 2709878872], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "435", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1026353"}}, {"type": "way", "id": 265319546, "nodes": [2709878892, 2709878907, 2709878979, 2709879009, 2709878982, 2709878892], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "437", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "13.3", "nycdoitt:bin": "1026393"}}, {"type": "way", "id": 265319547, "nodes": [2709879238, 2709879229, 2709879160, 2709879177, 2709879238], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "438", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "16.9", "nycdoitt:bin": "1026378"}}, {"type": "way", "id": 265319549, "nodes": [2709878907, 2709878919, 2709878995, 2709879024, 2709879011, 2709878985, 2709878979, 2709878907], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "439", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "13.3", "nycdoitt:bin": "1026352"}}, {"type": "way", "id": 265319550, "nodes": [2709879177, 2709879194, 2709879257, 2709879260, 2709879240, 2709879238, 2709879177], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "440", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "13.3", "nycdoitt:bin": "1026379"}}, {"type": "way", "id": 265319552, "nodes": [2709878919, 2709878941, 2709879022, 2709879001, 2709879005, 2709879003, 2709878997, 2709878995, 2709878919], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "441", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1026386"}}, {"type": "way", "id": 265319553, "nodes": [2709879179, 2709879198, 2709879207, 2709879277, 2709879257, 2709879194, 2709879179], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "442", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1026391"}}, {"type": "way", "id": 265319554, "nodes": [2709878941, 2709878951, 2709879036, 2709879022, 2709878941], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "443", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1026351"}}, {"type": "way", "id": 265319555, "nodes": [2709879207, 2709879224, 2709879309, 2709879282, 2709879277, 2709879207], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "444", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "14.0", "nycdoitt:bin": "1026380"}}, {"type": "way", "id": 265319557, "nodes": [2709878951, 2709878970, 2709879052, 2709879110, 2709879086, 2709879036, 2709878951], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "445", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "18.4", "nycdoitt:bin": "1083750"}}, {"type": "way", "id": 265319558, "nodes": [2709879224, 2709879232, 2709879327, 2709879309, 2709879224], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "446", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1026381"}}, {"type": "way", "id": 265319560, "nodes": [2709878962, 2709878991, 2709879073, 2709879066, 2709879081, 2709879089, 2709879138, 2709879113, 2709879070, 2709879068, 2709879054, 2709879052, 2709878970, 2709878962], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "447", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.9", "nycdoitt:bin": "1026350"}}, {"type": "way", "id": 265319562, "nodes": [2709879232, 2709879233, 2709879221, 2709879228, 2709879249, 2709879347, 2709879327, 2709879232], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "448", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "13.6", "nycdoitt:bin": "1026382"}}, {"type": "way", "id": 265319563, "nodes": [2709878991, 2709879026, 2709879096, 2709879094, 2709879105, 2709879108, 2709879120, 2709879152, 2709879140, 2709879091, 2709879093, 2709879078, 2709879073, 2709878991], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "449", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1026349"}}, {"type": "way", "id": 265319565, "nodes": [2709879249, 2709879266, 2709879349, 2709879347, 2709879249], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "450", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1026383"}}, {"type": "way", "id": 265319566, "nodes": [2709879108, 2709879105, 2709879094, 2709879096, 2709879026, 2709879044, 2709879046, 2709879147, 2709879150, 2709879120, 2709879108], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "451", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "11.2", "nycdoitt:bin": "1026348"}}, {"type": "way", "id": 265319568, "nodes": [2709879266, 2709879284, 2709879352, 2709879349, 2709879266], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "452", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026392"}}, {"type": "way", "id": 265319569, "nodes": [2709879046, 2709879056, 2709879159, 2709879147, 2709879046], "tags": {"addr:housenumber": "453", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "21.5", "nycdoitt:bin": "1026347"}}, {"type": "way", "id": 265319570, "nodes": [2709879284, 2709879305, 2709879321, 2709879358, 2709879352, 2709879284], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "454", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026384"}}, {"type": "way", "id": 265319572, "nodes": [2709879321, 2709879346, 2709879371, 2709879358, 2709879321], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "456", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "15.7", "nycdoitt:bin": "1026385"}}, {"type": "way", "id": 265319573, "nodes": [2709879106, 2709879132, 2709879143, 2709879202, 2709879203, 2709879182, 2709879106], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "459", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 43rd Street", "building": "yes", "height": "17.1", "nycdoitt:bin": "1079035"}}, {"type": "way", "id": 265319574, "nodes": [2709879378, 2709879373, 2709879343, 2709879350, 2709879376, 2709879378], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "460", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "building": "yes", "height": "17.1", "nycdoitt:bin": "1083751"}}, {"type": "way", "id": 265319576, "nodes": [2709879143, 2709879157, 2709879223, 2709879202, 2709879143], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "461", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 43rd Street", "building": "yes", "height": "17.7", "nycdoitt:bin": "1026346"}}, {"type": "way", "id": 265319577, "nodes": [2709879383, 2709879385, 2709879380, 2709879376, 2709879350, 2709879307, 2709879341, 2709879338, 2709879337, 2709879333, 2709879351, 2709879353, 2709879360, 2709879369, 2709879389, 2709879387, 2709879383], "tags": {"addr:housenumber": "464", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "33.0", "nycdoitt:bin": "1087703"}}, {"type": "way", "id": 265319580, "nodes": [2709879236, 2709879215, 2709879262, 2709879311, 2709879286, 2709879236], "tags": {"addr:housenumber": "598", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "24.5", "nycdoitt:bin": "1070032"}}, {"type": "way", "id": 265319582, "nodes": [2709879335, 2709879313, 2709879303, 2709879301, 2709879293, 2709879296, 2709879279, 2709879281, 2709879264, 2709879227, 2709879237, 2709879242, 2709879253, 2709879258, 2709879272, 2709879270, 2709879291, 2709879286, 2709879311, 2709879348, 2709879344, 2709879335], "tags": {"addr:housenumber": "600", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "17.3", "nycdoitt:bin": "1026344"}}, {"type": "way", "id": 265319584, "nodes": [2709879333, 2709879337, 2709879329, 2709879338, 2709879315, 2709879264, 2709879281, 2709879294, 2709879319, 2709879323, 2709879325, 2709879345, 2709879340, 2709879344, 2709879348, 2709879356, 2709879353, 2709879351, 2709879333], "tags": {"addr:housenumber": "602", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "17.3", "nycdoitt:bin": "1026345"}}, {"type": "way", "id": 265319585, "nodes": [2709878737, 2709878741, 2709878744, 2709878740, 2709878737], "tags": {"addr:housenumber": "609", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.5", "nycdoitt:bin": "1085029"}}, {"type": "way", "id": 265319586, "nodes": [2709878743, 2709878740, 2709878744, 2709878759, 2709878772, 2709878770, 2709878743], "tags": {"addr:housenumber": "611", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "11.4", "nycdoitt:bin": "1026364"}}, {"type": "way", "id": 265319588, "nodes": [2709878743, 2709878770, 2709878777, 2709878755, 2709878743], "tags": {"addr:housenumber": "613", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026365"}}, {"type": "way", "id": 265319589, "nodes": [2709878771, 2709878755, 2709878777, 2709878785, 2709878808, 2709878781, 2709878797, 2709878771], "tags": {"addr:housenumber": "615", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.4", "nycdoitt:bin": "1026366"}}, {"type": "way", "id": 265319590, "nodes": [2709878787, 2709878771, 2709878797, 2709878851, 2709878789, 2709878787], "tags": {"addr:housenumber": "617", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.4", "nycdoitt:bin": "1026367"}}, {"type": "way", "id": 265319592, "nodes": [2709878789, 2709878851, 2709878861, 2709878894, 2709878840, 2709878789], "tags": {"addr:housenumber": "619", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.1", "nycdoitt:bin": "1026368"}}, {"type": "way", "id": 265319593, "nodes": [2709879056, 2709879106, 2709879182, 2709879205, 2709879186, 2709879199, 2709879192, 2709879209, 2709879190, 2709879175, 2709879169, 2709879159, 2709879056], "tags": {"building": "yes", "height": "18.8", "nycdoitt:bin": "1083749"}}, {"type": "way", "id": 265319594, "nodes": [2709879060, 2709879064, 2709878978, 2709878974, 2709878952, 2709878987, 2709879021, 2709879017, 2709879098, 2709879100, 2709879149, 2709879112, 2709879062, 2709879060], "tags": {"building": "yes", "height": "17.4", "nycdoitt:bin": "1026374"}}, {"type": "way", "id": 265319597, "nodes": [2709879269, 2709879317, 2709879289, 2709879248, 2709879269], "tags": {"building": "yes", "height": "6.1", "nycdoitt:bin": "1083752"}}, {"type": "way", "id": 265319599, "nodes": [2709879219, 2709879230, 2709879269, 2709879248, 2709879219], "tags": {"building": "yes", "height": "9.3", "nycdoitt:bin": "1079036"}}, {"type": "way", "id": 265319600, "nodes": [2709879184, 2709879151, 2709879226, 2709879262, 2709879215, 2709879184], "tags": {"building": "yes", "height": "17.6", "nycdoitt:bin": "1026343"}}, {"type": "way", "id": 265319601, "nodes": [2709878736, 2709878738, 2709878739, 2709878741, 2709878737, 2709878736], "tags": {"building": "yes", "height": "17.4", "nycdoitt:bin": "1026363"}}, {"type": "way", "id": 265319603, "nodes": [2709878901, 2709878939, 2709878864, 2709878840, 2709878894, 2709878901], "tags": {"building": "yes", "height": "20.5", "nycdoitt:bin": "1026369"}}, {"type": "way", "id": 265320169, "nodes": [2709892584, 2709892594, 2709892600, 2709892610, 2709892608, 2709892612, 2709892606, 2920101571, 2709892618, 2709892625, 2709892627, 2709892631, 2919887088, 2709892666, 2709892670, 1752785246, 2709892639, 2709892633, 2919887084, 2919887080, 2709892599, 2709892584], "tags": {"addr:city": "New York", "addr:housenumber": "302", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "building:colour": "#7C766A", "building:material": "brick", "building:part": "yes", "height": "17", "name": "Al Hirschfeld Theatre", "nycdoitt:bin": "1024993", "roof:material": "concrete", "roof:shape": "flat", "start_date": "1924", "website": "https://www.alhirschfeldtheatre.org/", "wikidata": "Q2829346", "wikipedia": "en:Al Hirschfeld Theatre"}}, {"type": "way", "id": 265320174, "nodes": [2709892997, 2709893010, 2709893033, 2709893086, 2709893155, 2709893162, 2709893134, 2709893089, 2709893050, 2709892997], "tags": {"addr:housename": "Ahepa Center", "addr:housenumber": "409", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.1", "nycdoitt:bin": "1026413"}}, {"type": "way", "id": 265320175, "nodes": [2709892623, 2709892602, 2709892593, 2709892587, 2709892578, 2709892582, 2709892616, 2709892623], "tags": {"addr:housenumber": "315", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "45.2", "nycdoitt:bin": "1080877"}}, {"type": "way", "id": 265320176, "nodes": [2709892631, 2709892640, 2709892677, 2709892666, 2919887088, 2709892631], "tags": {"addr:housenumber": "316", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1080880"}}, {"type": "way", "id": 265320177, "nodes": [2709892635, 2709892642, 2709892644, 2709892679, 2709892677, 2709892640, 2709892635], "tags": {"addr:housenumber": "318", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "12.8", "nycdoitt:bin": "1080881"}}, {"type": "way", "id": 265320178, "nodes": [2709892644, 2709892651, 2709892682, 2709892679, 2709892644], "tags": {"addr:housenumber": "320", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1080882"}}, {"type": "way", "id": 265320179, "nodes": [2709892596, 2709892614, 2709892664, 2709892653, 2709892596], "tags": {"addr:housenumber": "325", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "42.6", "nycdoitt:bin": "1080879"}}, {"type": "way", "id": 265320180, "nodes": [2709892662, 2709892674, 2709892705, 2709892691, 2709892662], "tags": {"addr:housenumber": "326", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "14.0", "nycdoitt:bin": "1024994"}}, {"type": "way", "id": 265320181, "nodes": [2709892655, 2709892659, 2709892668, 2709892723, 2709892727, 2709892705, 2709892674, 2709892655], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "13.7", "nycdoitt:bin": "1025001"}}, {"type": "way", "id": 265320182, "nodes": [2709892668, 2709892678, 2709892672, 2709892703, 2709892719, 2709892736, 2709892819, 2709892723, 2709892668], "tags": {"addr:city": "New York", "addr:housenumber": "330", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "apartments", "height": "32.0", "nycdoitt:bin": "1024995"}}, {"type": "way", "id": 265320183, "nodes": [2709892649, 2709892657, 2709892687, 2709892681, 2709892649], "tags": {"addr:housenumber": "339", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "16.2", "nycdoitt:bin": "1024989"}}, {"type": "way", "id": 265320184, "nodes": [2709892657, 2709892661, 2709892768, 2709892729, 2709892687, 2709892657], "tags": {"addr:housenumber": "341", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "11.6", "nycdoitt:bin": "1024988"}}, {"type": "way", "id": 265320185, "nodes": [2709892661, 2709892676, 2709892683, 2709892755, 2709892786, 2709892802, 2709892768, 2709892661], "tags": {"addr:city": "New York", "addr:housenumber": "343", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "air_conditioning": "yes", "branch": "New York Times Square West", "brand": "Ramada", "brand:wikidata": "Q1502859", "building": "yes", "height": "11.0", "internet_access": "yes", "internet_access:fee": "customers", "name": "Ramada", "nycdoitt:bin": "1024987", "phone": "+1 212-767-0223", "reservation": "yes", "smoking": "no", "tourism": "hotel", "website": "https://www.wyndhamhotels.com/ramada/new-york-new-york/ramada-new-york-times-square-west/overview", "wheelchair": "yes"}}, {"type": "way", "id": 265320186, "nodes": [2709892755, 2709892753, 2709892710, 2709892716, 2709892698, 2709892696, 2709892685, 2709892683, 2709892676, 2709892680, 2709892688, 2709892689, 2709892690, 2709892717, 2709892714, 2709892734, 2709892738, 2709892777, 2709892782, 2709892806, 2709892786, 2709892755], "tags": {"addr:housenumber": "347", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1024986"}}, {"type": "way", "id": 265320187, "nodes": [2709892812, 2709892816, 2709892807, 2709892805, 2709892764, 2709892784, 9339302955, 2709892815, 2709892814, 2709892825, 2709892833, 2709892872, 2709892855, 2709892829, 2709892812], "tags": {"addr:housenumber": "348", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.7", "nycdoitt:bin": "1024996"}}, {"type": "way", "id": 265320188, "nodes": [2709892782, 2709892780, 2709892744, 2709892747, 2709892731, 2709892725, 2709892693, 2709892689, 2709892688, 2709892680, 2709892686, 2709892706, 2709892708, 2709892712, 2709892749, 2709892745, 2709892771, 2709892772, 2709892794, 2709892803, 2709892817, 2709892806, 2709892782], "tags": {"addr:housenumber": "349", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1024985"}}, {"type": "way", "id": 265320189, "nodes": [2709892803, 2709892799, 2709892775, 2709892779, 2709892770, 2709892766, 2709892721, 2709892708, 2709892706, 2709892686, 2709892701, 2709892740, 2709892742, 2709892809, 2709892813, 2709892837, 2709892817, 2709892803], "tags": {"addr:housenumber": "351", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1024984"}}, {"type": "way", "id": 265320190, "nodes": [2709892813, 2709892811, 2709892792, 2709892795, 2709892790, 2709892788, 2709892751, 2709892740, 2709892701, 2709892733, 2709892773, 2709892774, 2709892821, 2709892827, 2973188694, 2709892843, 2709892837, 2709892813], "tags": {"addr:housenumber": "353", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1024983"}}, {"type": "way", "id": 265320191, "nodes": [2709892958, 2709892935, 9339302956, 2709892802, 2709892810, 2709892823, 2709892859, 2709892866, 2709892898, 2709892926, 2709892958], "tags": {"addr:housenumber": "354", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "18.7", "nycdoitt:bin": "1024997", "wikidata": "Q23091493"}}, {"type": "way", "id": 265320192, "nodes": [2709892926, 2709892920, 2709892901, 2709892898, 2709892866, 2709892883, 2709892863, 2709892859, 2709892823, 2709892841, 2709892853, 2709892880, 2709892870, 2709892892, 2709892907, 2709892932, 2709892930, 2709892938, 2709892946, 2709892976, 2709892958, 2709892926], "tags": {"addr:housenumber": "356", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.6", "nycdoitt:bin": "1024998"}}, {"type": "way", "id": 265320193, "nodes": [2709892946, 2709892950, 2709892910, 2709892918, 2709892895, 2709892889, 2709892861, 2709892853, 2709892841, 2709892839, 2709892847, 2709892875, 2709892877, 2709892922, 2709892912, 2709892934, 2709892936, 2709892966, 2709892973, 2709892991, 2709892977, 2709892976, 2709892946], "tags": {"addr:housenumber": "358", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1024999"}}, {"type": "way", "id": 265320194, "nodes": [2709892973, 2709892971, 2709892943, 2709892948, 2709892931, 2709892929, 2709892886, 2709892875, 2709892847, 2709892851, 2709892845, 2709892849, 2709892857, 2709892868, 2973188698, 2709892909, 2709892914, 2709892916, 2709892954, 2709892944, 2709892960, 2709892962, 2709892984, 2709892986, 2709893006, 2709893012, 2709892991, 2709892973], "tags": {"addr:housenumber": "360", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "apartments", "height": "18.0", "nycdoitt:bin": "1025000"}}, {"type": "way", "id": 265320195, "nodes": [2709893264, 2709893241, 2709893164, 2709893173, 2709893166, 2709893171, 2709893176, 2709893183, 2709893264], "tags": {"addr:housenumber": "402", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.1", "nycdoitt:bin": "1085032"}}, {"type": "way", "id": 265320196, "nodes": [2709892952, 2709892964, 2709892969, 2709893020, 2709893008, 2709893001, 2709892999, 2709892993, 2709892995, 2709892988, 2709892952], "tags": {"addr:housenumber": "403", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026434"}}, {"type": "way", "id": 265320197, "nodes": [2709893183, 2709893205, 2709893283, 2709893264, 2709893183], "tags": {"addr:housenumber": "404", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.1", "nycdoitt:bin": "1085033"}}, {"type": "way", "id": 265320198, "nodes": [2709892969, 2709892982, 2709893023, 2709893020, 2709892969], "tags": {"addr:housenumber": "405", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "14.0", "nycdoitt:bin": "1083760"}}, {"type": "way", "id": 265320199, "nodes": [2709892982, 2709892997, 2709893050, 2709893023, 2709892982], "tags": {"addr:housenumber": "407", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "13.4", "nycdoitt:bin": "1083758"}}, {"type": "way", "id": 265320200, "nodes": [2709893287, 2709893293, 2709893182, 2709893187, 2709893175, 2709893198, 2709893209, 2709893213, 2709893305, 2709893311, 2709893343, 2709893327, 2709893324, 2709893320, 2709893287], "tags": {"addr:housenumber": "410", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1026422"}}, {"type": "way", "id": 265320201, "nodes": [2709893086, 2709893099, 2709893111, 2709893105, 2709893044, 2709893035, 2709893038, 2709893031, 2709893040, 2709893033, 2709893010, 2709893029, 2709893060, 2709893062, 2709893061, 2709893056, 2709893055, 2709893129, 2709893153, 2709893144, 2709893156, 2709893167, 2709893200, 2709893155, 2709893086], "tags": {"addr:housenumber": "411", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "19.7", "nycdoitt:bin": "1026412"}}, {"type": "way", "id": 265320202, "nodes": [2709893202, 2709893220, 2709893230, 2709893366, 2709893343, 2709893311, 2709893202], "tags": {"addr:housenumber": "414", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "11.9", "nycdoitt:bin": "1083763"}}, {"type": "way", "id": 265320203, "nodes": [2709893167, 2709893160, 2709893151, 2709893147, 2709893124, 2709893116, 2709893063, 2709893060, 2709893029, 2709893053, 2709893096, 2709893102, 2709893131, 2709893138, 2709893159, 2709893169, 2709893180, 2709893189, 2709893221, 2709893203, 2709893200, 2709893167], "tags": {"addr:housenumber": "415", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1026411"}}, {"type": "way", "id": 265320204, "nodes": [2709893053, 2709893066, 2709893185, 2709893279, 2709893257, 2709893221, 2709893189, 2709893096, 2709893053], "tags": {"addr:housenumber": "417", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "15.0", "nycdoitt:bin": "1026410"}}, {"type": "way", "id": 265320205, "nodes": [2709893230, 2709893289, 2709893294, 2709893399, 2709893366, 2709893230], "tags": {"addr:housenumber": "418", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.0", "nycdoitt:bin": "1083761"}}, {"type": "way", "id": 265320206, "nodes": [2709893066, 2709893108, 2709893119, 2709893207, 2709893208, 2709893268, 2709893251, 2709893194, 2709893185, 2709893066], "tags": {"addr:housenumber": "419", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "15.2", "nycdoitt:bin": "1026409"}}, {"type": "way", "id": 265320207, "nodes": [2709893294, 2709893329, 2709893339, 2709893425, 2709893399, 2709893294], "tags": {"addr:housenumber": "420", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "25.6", "nycdoitt:bin": "1083762"}}, {"type": "way", "id": 265320208, "nodes": [2709893119, 2709893140, 2709893196, 2709893211, 2709893222, 2709893228, 2709893232, 2709893291, 2709893278, 2709893214, 2709893207, 2709893119], "tags": {"addr:housenumber": "421", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "15.0", "nycdoitt:bin": "1083756"}}, {"type": "way", "id": 265320209, "nodes": [2709893339, 2709893353, 2709893376, 2709893419, 2709893450, 2709893431, 2709893425, 2709893339], "tags": {"addr:housenumber": "424", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "15.8", "nycdoitt:bin": "1083765"}}, {"type": "way", "id": 265320210, "nodes": [2709893211, 2709893223, 2709893217, 2709893216, 2709893218, 2709893210, 2709893196, 2709893140, 2709893191, 2709893255, 2709893248, 2709893244, 2709893219, 2709893226, 2709893239, 2709893246, 2709893274, 2709893276, 2709893270, 2709893281, 2709893296, 2709893298, 2709893322, 2709893331, 2709893302, 2709893259, 2709893272, 2709893262, 2709893261, 2709893253, 2709893250, 2709893222, 2709893211], "tags": {"addr:housenumber": "425", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "20.7", "nycdoitt:bin": "1083755"}}, {"type": "way", "id": 265320211, "nodes": [2709893419, 2709893418, 2709893382, 2709893376, 2709893353, 2709893341, 2709893360, 2709893391, 2709893393, 2709893427, 2709893433, 2709893460, 2709893450, 2709893419], "tags": {"addr:housenumber": "426", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1026423"}}, {"type": "way", "id": 265320212, "nodes": [2709893386, 2709893369, 2709893346, 2709893363, 2709893386], "tags": {"addr:housenumber": "428", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "3.1", "nycdoitt:bin": "1083766"}}, {"type": "way", "id": 265320213, "nodes": [2709893191, 2709893212, 2709893215, 2709893300, 2709893319, 2709893298, 2709893296, 2709893255, 2709893191], "tags": {"addr:housenumber": "429", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "15.1", "nycdoitt:bin": "1083754"}}, {"type": "way", "id": 265320214, "nodes": [2709893356, 2709893380, 2709893505, 2709893479, 2709893386, 2709893363, 2709893356], "tags": {"addr:housenumber": "430", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "10.2", "nycdoitt:bin": "1083767"}}, {"type": "way", "id": 265320215, "nodes": [2709893215, 2709893243, 2709893315, 2709893300, 2709893215], "tags": {"addr:housenumber": "431", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.1", "nycdoitt:bin": "1026408"}}, {"type": "way", "id": 265320216, "nodes": [2709893380, 2709893410, 2709893468, 2709893565, 2709893505, 2709893380], "tags": {"addr:housenumber": "432", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "33.6", "nycdoitt:bin": "1083768"}}, {"type": "way", "id": 265320217, "nodes": [2709893243, 2709893266, 2709893328, 2709893315, 2709893243], "tags": {"addr:housenumber": "433", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.1", "nycdoitt:bin": "1026407"}}, {"type": "way", "id": 265320218, "nodes": [2709893266, 2709893285, 2709893304, 2709893338, 2709893328, 2709893266], "tags": {"addr:housenumber": "435", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.2", "nycdoitt:bin": "1026433"}}, {"type": "way", "id": 265320219, "nodes": [2709893468, 2709893500, 2709893520, 2709893521, 2709893544, 2709893553, 2709893584, 2709893568, 2709893565, 2709893468], "tags": {"addr:housenumber": "436", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "11.8", "nycdoitt:bin": "1083769"}}, {"type": "way", "id": 265320220, "nodes": [2709893285, 2709893307, 2709893313, 2709893332, 2709893333, 2709893351, 2709893347, 2709893368, 2709893374, 2709893388, 2709893397, 2709893414, 2709893389, 2709893367, 2709893362, 2709893344, 2709893349, 2709893335, 2709893334, 2709893309, 2709893304, 2709893285], "tags": {"addr:housenumber": "437", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "17.0", "nycdoitt:bin": "1026406"}}, {"type": "way", "id": 265320221, "nodes": [2709893553, 2709893549, 2709893529, 2709893520, 2709893500, 2709893502, 2709893464, 2709893463, 2709893440, 2709893456, 2709893487, 2709893483, 2709893525, 2709893527, 2709893546, 2709893547, 2709893572, 2709893578, 2709893589, 2709893584, 2709893553], "tags": {"addr:housenumber": "438", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "18.4", "nycdoitt:bin": "1026424"}}, {"type": "way", "id": 265320222, "nodes": [2709893578, 2709893577, 2709893557, 2709893546, 2709893527, 2709893532, 2709893498, 2709893496, 2709893458, 2709893466, 2709893503, 2709893509, 2709893507, 2709893548, 2709893555, 2709893574, 2709893576, 2709893585, 2709893587, 2709893595, 2709893589, 2709893578], "tags": {"addr:housenumber": "440", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "18.3", "nycdoitt:bin": "1026425"}}, {"type": "way", "id": 265320223, "nodes": [2709893313, 2709893326, 2709893384, 2709893365, 2709893332, 2709893313], "tags": {"addr:housenumber": "441", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.4", "nycdoitt:bin": "1026405"}}, {"type": "way", "id": 265320224, "nodes": [2709893552, 2709893561, 2709893550, 2709893559, 2709893570, 2709893579, 2709893598, 2709893595, 2709893587, 2709893574, 2709893555, 2709893552], "tags": {"addr:housenumber": "442", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.9", "nycdoitt:bin": "1083772"}}, {"type": "way", "id": 265320225, "nodes": [2709893326, 2709893337, 2709893395, 2709893384, 2709893326], "tags": {"addr:housenumber": "443", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1026432"}}, {"type": "way", "id": 265320226, "nodes": [2709893337, 2709893342, 2709893403, 2709893395, 2709893337], "tags": {"addr:housenumber": "445", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "12.2", "nycdoitt:bin": "1026404"}}, {"type": "way", "id": 265320227, "nodes": [2709893342, 2709893358, 2709893416, 2709893403, 2709893342], "tags": {"addr:housenumber": "447", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "14.3", "nycdoitt:bin": "1026403"}}, {"type": "way", "id": 265320228, "nodes": [2709893444, 2709893452, 2709893455, 2709893454, 2709893412, 2709893404, 2709893408, 2709893401, 2709893378, 2709893406, 2709893434, 2709893429, 2709893421, 2709893423, 2709893461, 2709893470, 2709893465, 2709893475, 2709893531, 2709893474, 2709893444], "tags": {"addr:housenumber": "451", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "19.5", "nycdoitt:bin": "1026402"}}, {"type": "way", "id": 265320229, "nodes": [2709893581, 2709893588, 2709893601, 2709893626, 2709893620, 2709893591, 2709893581], "tags": {"addr:housenumber": "452", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "23.9", "nycdoitt:bin": "1026427"}}, {"type": "way", "id": 265320230, "nodes": [2709893601, 2709893610, 2709893634, 2709893626, 2709893601], "tags": {"addr:housenumber": "454", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.4", "nycdoitt:bin": "1026436"}}, {"type": "way", "id": 265320231, "nodes": [2709893472, 2709893488, 2709893446, 2709893436, 2709893434, 2709893406, 2709893438, 2709893462, 2709893457, 2709893523, 2709893540, 2709893567, 2709893580, 2709893531, 2709893475, 2709893472], "tags": {"addr:housenumber": "455", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "19.8", "nycdoitt:bin": "1026401"}}, {"type": "way", "id": 265320232, "nodes": [2709893438, 2709893453, 2709893485, 2709893582, 2709893567, 2709893540, 2709893462, 2709893438], "tags": {"addr:housenumber": "459", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "11.7", "nycdoitt:bin": "1026431"}}, {"type": "way", "id": 265320233, "nodes": [2709893453, 2709893494, 2709893542, 2709893534, 2709893586, 2709893563, 2709893490, 2709893481, 2709893492, 2709893485, 2709893453], "tags": {"addr:housenumber": "461", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "19.4", "nycdoitt:bin": "1026400"}}, {"type": "way", "id": 265320234, "nodes": [2709892939, 2709892904, 2709892956, 2709892978, 2709892941, 2709892939], "tags": {"addr:housenumber": "625", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.2", "nycdoitt:bin": "1026415"}}, {"type": "way", "id": 265320235, "nodes": [2709892941, 2709892978, 2709892979, 2709893003, 2709892975, 2709892941], "tags": {"addr:housenumber": "627", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.4", "nycdoitt:bin": "1026435"}}, {"type": "way", "id": 265320236, "nodes": [2709893607, 2709893617, 2709893628, 2709893613, 2709893607], "tags": {"addr:housenumber": "628", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "18.6", "nycdoitt:bin": "1026430"}}, {"type": "way", "id": 265320237, "nodes": [2709892974, 2709892975, 2709893003, 2709893005, 2709893022, 2709892989, 2709892974], "tags": {"addr:housenumber": "629", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.5", "nycdoitt:bin": "1026416"}}, {"type": "way", "id": 265320238, "nodes": [2709893613, 2709893628, 2709893631, 2709893640, 2709893622, 2709893613], "tags": {"addr:housenumber": "630", "addr:postcode": "10036", "addr:street": "10th Avenue", "building": "yes", "height": "16.2", "nycdoitt:bin": "1026429"}}, {"type": "way", "id": 265320239, "nodes": [2709892989, 2709893022, 2709893052, 2709893014, 2709892989], "tags": {"addr:housenumber": "631", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.5", "nycdoitt:bin": "1026417"}}, {"type": "way", "id": 265320240, "nodes": [2709893014, 2709893052, 2709893054, 2709893057, 2709893083, 2709893080, 2709893094, 2709893037, 2709893014], "tags": {"addr:housenumber": "633", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "18.5", "nycdoitt:bin": "1026418"}}, {"type": "way", "id": 265320241, "nodes": [2709893065, 2709893037, 2709893094, 2709893114, 2709893126, 2709893161, 2709893149, 2709893157, 2709893142, 2709893065], "tags": {"addr:housenumber": "635", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "18.8", "nycdoitt:bin": "1026419"}}, {"type": "way", "id": 265320242, "nodes": [2709893065, 2709893142, 2709893192, 2709893137, 2709893065], "tags": {"addr:housenumber": "637", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "18.3", "nycdoitt:bin": "1026420"}}, {"type": "way", "id": 265320243, "nodes": [2709892924, 2709892937, 2709892933, 2709892909, 2973188698, 2709892868, 2709892843, 2973188694, 2709892827, 2709892773, 2709892733, 2709892762, 2709892769, 2709892804, 2709892797, 2709892808, 2709892835, 2709892831, 2709893025, 2709893027, 2709893059, 2709893048, 2709893046, 2709893016, 2709893018, 2709893006, 2709892986, 2709892924], "tags": {"addr:city": "New York", "addr:housenumber": "630", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "9th Avenue", "building": "office", "building:colour": "#978B7B", "building:levels": "13", "building:material": "brick", "building:part": "yes", "height": "57.6", "name": "Film Center", "nycdoitt:bin": "1024982", "roof:material": "concrete", "roof:shape": "flat", "start_date": "1929", "wikidata": "Q5448921"}}, {"type": "way", "id": 265320244, "nodes": [2709892622, 2709892616, 2709892582, 2709892596, 2709892653, 2709892647, 2709892662, 2709892691, 2709892695, 2709892684, 2709892682, 2709892651, 2709892637, 2709892622], "tags": {"building": "yes", "height": "41.6", "nycdoitt:bin": "1080878"}}, {"type": "way", "id": 265320245, "nodes": [2709893518, 2709893538, 2709893448, 2709893442, 2709893416, 2709893358, 2709893378, 2709893401, 2709893444, 2709893474, 2709893545, 2709893591, 2709893620, 2709893598, 2709893579, 2709893536, 2709893518], "tags": {"building": "yes", "height": "19.5", "nycdoitt:bin": "1026426"}}, {"type": "way", "id": 265320246, "nodes": [2709893192, 2709893224, 2709893178, 2709893137, 2709893192], "tags": {"building": "yes", "height": "18.2", "nycdoitt:bin": "1085031"}}, {"type": "way", "id": 265320247, "nodes": [2709893640, 2709893643, 2709893637, 2709893622, 2709893640], "tags": {"building": "yes", "height": "16.7", "nycdoitt:bin": "1026428"}}, {"type": "way", "id": 265320248, "nodes": [2709893121, 2709893077, 2709893042, 2709893058, 2709893121], "tags": {"building": "yes", "height": "5.8", "nycdoitt:bin": "1083759"}}, {"type": "way", "id": 265320249, "nodes": [2709893322, 2709893336, 2709893354, 2709893340, 2709893331, 2709893322], "tags": {"building": "yes", "height": "6.9", "nycdoitt:bin": "1083753"}}, {"type": "way", "id": 265320250, "nodes": [2709892572, 2709892573, 2709892584, 2709892580, 2919887075, 2919887074, 2709892575, 2709892572], "tags": {"building": "yes", "building:colour": "#AF966D", "building:material": "brick", "building:part": "yes", "height": "17", "nycdoitt:bin": "1024991", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265320251, "nodes": [2709892629, 2709892637, 2709892651, 2709892644, 2709892642, 2709892629], "tags": {"building": "yes", "height": "3.1", "nycdoitt:bin": "1080884"}}, {"type": "way", "id": 265320252, "nodes": [2709893058, 2709893089, 2709893134, 2709893146, 2709893121, 2709893058], "tags": {"building": "yes", "height": "8.8", "nycdoitt:bin": "1083757"}}, {"type": "way", "id": 265320253, "nodes": [2709892614, 2709892649, 2709892681, 2709892700, 2920101572, 2709892664, 2709892614], "tags": {"building": "yes", "height": "9.0", "nycdoitt:bin": "1024990"}}, {"type": "way", "id": 265320254, "nodes": [2709892580, 2709892589, 2709892599, 2919887080, 2919887084, 2709892633, 2709892604, 2709892575, 2919887074, 2919887075, 2709892580], "tags": {"building": "yes", "building:colour": "#AF966D", "building:material": "brick", "building:part": "yes", "height": "12.2", "nycdoitt:bin": "1024992", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265320255, "nodes": [2709893317, 2709893330, 2709893341, 2709893353, 2709893339, 2709893329, 2709893317], "tags": {"building": "yes", "height": "5.6", "nycdoitt:bin": "1083764"}}, {"type": "way", "id": 265320256, "nodes": [2709893092, 2709893158, 2709893287, 2709893320, 2709893283, 2709893205, 2709893092], "tags": {"building": "yes", "height": "20.6", "nycdoitt:bin": "1026421"}}, {"type": "way", "id": 265320257, "nodes": [2709893466, 2709893477, 2709893459, 2709893467, 2709893518, 2709893536, 2709893503, 2709893466], "tags": {"building": "yes", "height": "13.9", "nycdoitt:bin": "1083771"}}, {"type": "way", "id": 265320258, "nodes": [2709892631, 2709892627, 2709892620, 2709892629, 2709892642, 2709892635, 2709892640, 2709892631], "tags": {"building": "yes", "height": "2.6", "nycdoitt:bin": "1080883"}}, {"type": "way", "id": 265320259, "nodes": [2709892904, 2709892865, 2709892952, 2709892988, 2709892980, 2709892967, 2709892956, 2709892904], "tags": {"building": "yes", "height": "14.2", "nycdoitt:bin": "1026414"}}, {"type": "way", "id": 265320260, "nodes": [2709893604, 2709893583, 2709893592, 2709893542, 2709893494, 2709893516, 2709893617, 2709893607, 2709893604], "tags": {"building": "yes", "height": "25.9", "nycdoitt:bin": "1026399"}}, {"type": "way", "id": 265320363, "nodes": [2709898036, 2709898044, 2709898024, 2709898021, 2709898019, 2709897998, 2709897996, 2709897959, 2709897976, 2709898008, 2709898014, 2709898057, 2709898051, 2709898074, 2709898080, 2709898097, 2709898154, 2709898121, 2709898061, 2709898036], "tags": {"addr:housenumber": "402", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1026477"}}, {"type": "way", "id": 265320364, "nodes": [2709898097, 2709898117, 2709898093, 2709898087, 2709897981, 2709897988, 2709897994, 2709898030, 2709898055, 2709898119, 2709898123, 2709898177, 2709898154, 2709898097], "tags": {"addr:housenumber": "404", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "20.0", "nycdoitt:bin": "1026458"}}, {"type": "way", "id": 265320365, "nodes": [2709897916, 2709897924, 2709897902, 2709897901, 2709897893, 2709897900, 2709897914, 2709897906, 2709897932, 2709897935, 2709897957, 2709897937, 2709897916], "tags": {"addr:housenumber": "405", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "22.2", "nycdoitt:bin": "1026452"}}, {"type": "way", "id": 265320366, "nodes": [2709898123, 2709898130, 2709898125, 2709898119, 2709898055, 2709898072, 2709898046, 2709898030, 2709897994, 2709898012, 2709898100, 2709898104, 2709898145, 2709898136, 2709898152, 2709898156, 2709898203, 2709898177, 2709898123], "tags": {"addr:housenumber": "406", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.7", "nycdoitt:bin": "1026459"}}, {"type": "way", "id": 265320367, "nodes": [2709898065, 2709898089, 2709898127, 2709898163, 2709898175, 2709898218, 2709898203, 2709898156, 2709898145, 2709898104, 2709898065], "tags": {"addr:housenumber": "408", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.7", "nycdoitt:bin": "1026460"}}, {"type": "way", "id": 265320368, "nodes": [2709898175, 2709898179, 2709898173, 2709898163, 2709898127, 2709898132, 2709898028, 2709898070, 2709898118, 2709898138, 2709898128, 2709898150, 2709898158, 2709898190, 2709898182, 2709898192, 2709898201, 2709898234, 2709898218, 2709898175], "tags": {"addr:housenumber": "410", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "19.1", "nycdoitt:bin": "1026461"}}, {"type": "way", "id": 265320369, "nodes": [2709897992, 2709897982, 2709897928, 2709897926, 2709897922, 2709897920, 2709897905, 2709897908, 2709897992], "tags": {"addr:housenumber": "411", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "20.0", "nycdoitt:bin": "1026451"}}, {"type": "way", "id": 265320370, "nodes": [2709898118, 2709898122, 2709898102, 2709898124, 2709898134, 2709898144, 2709898181, 2709898244, 2709898234, 2709898201, 2709898190, 2709898158, 2709898138, 2709898118], "tags": {"addr:housenumber": "412", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.6", "nycdoitt:bin": "1026462"}}, {"type": "way", "id": 265320371, "nodes": [2709898181, 2709898209, 2709898269, 2709898244, 2709898181], "tags": {"addr:housenumber": "414", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.5", "nycdoitt:bin": "1083777"}}, {"type": "way", "id": 265320372, "nodes": [2709897908, 2709897947, 2709898013, 2709898109, 2709898011, 2709897992, 2709897908], "tags": {"addr:housenumber": "415", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "10.3", "nycdoitt:bin": "1026450"}}, {"type": "way", "id": 265320373, "nodes": [2709898205, 2709898207, 2709898211, 2709898227, 2709898278, 2709898282, 2709898269, 2709898209, 2709898205], "tags": {"addr:housenumber": "416", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.5", "nycdoitt:bin": "1083779"}}, {"type": "way", "id": 265320374, "nodes": [2709898227, 2709898229, 2709898224, 2709898223, 2709898184, 2709898171, 2709898197, 2709898186, 2709898195, 2709898213, 2709898233, 2709898232, 2709898236, 2709898237, 2709898242, 2709898293, 2709898278, 2709898227], "tags": {"addr:housenumber": "418", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "16.8", "nycdoitt:bin": "1026463"}}, {"type": "way", "id": 265320375, "nodes": [2709898242, 2709898266, 2709898306, 2709898297, 2709898293, 2709898242], "tags": {"addr:housenumber": "420", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1083780"}}, {"type": "way", "id": 265320376, "nodes": [2709897943, 2709897951, 2709898000, 2709898007, 2709898032, 2709898025, 2709898053, 2709898034, 2709898042, 2709898038, 2709898017, 2709898013, 2709897947, 2709897943], "tags": {"addr:housenumber": "421", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1026449"}}, {"type": "way", "id": 265320377, "nodes": [2709898266, 2709898274, 2709898316, 2709898306, 2709898266], "tags": {"addr:housenumber": "422", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.6", "nycdoitt:bin": "1083783"}}, {"type": "way", "id": 265320378, "nodes": [2709898007, 2709898010, 2709898005, 2709898000, 2709897951, 2709897967, 2709898018, 2709898023, 2709898120, 2709898078, 2709898032, 2709898007], "tags": {"addr:housenumber": "423", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1026448"}}, {"type": "way", "id": 265320379, "nodes": [2709898339, 2709898321, 2709898246, 2709898240, 2709898263, 2709898272, 2709898339], "tags": {"addr:housenumber": "424", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.1", "nycdoitt:bin": "1026464"}}, {"type": "way", "id": 265320380, "nodes": [2709898023, 2709898026, 2709898020, 2709898018, 2709897967, 2709897986, 2709898040, 2709898063, 2709898147, 2709898120, 2709898023], "tags": {"addr:housenumber": "425", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.9", "nycdoitt:bin": "1026447"}}, {"type": "way", "id": 265320381, "nodes": [2709898272, 2709898280, 2709898354, 2709898339, 2709898272], "tags": {"addr:housenumber": "426", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026465"}}, {"type": "way", "id": 265320382, "nodes": [2709898063, 2709898068, 2709898048, 2709898040, 2709897986, 2709898006, 2709898082, 2709898095, 2709898169, 2709898147, 2709898063], "tags": {"addr:housenumber": "427", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.2", "nycdoitt:bin": "1026446"}}, {"type": "way", "id": 265320383, "nodes": [2709898280, 2709898300, 2709898363, 2709898354, 2709898280], "tags": {"addr:housenumber": "428", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1026466"}}, {"type": "way", "id": 265320384, "nodes": [2709898095, 2709898106, 2709898085, 2709898082, 2709898006, 2709898022, 2709898199, 2709898169, 2709898095], "tags": {"addr:housenumber": "429", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "15.9", "nycdoitt:bin": "1026445"}}, {"type": "way", "id": 265320385, "nodes": [2709898300, 2709898308, 2709898376, 2709898363, 2709898300], "tags": {"addr:housenumber": "430", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1026467"}}, {"type": "way", "id": 265320386, "nodes": [2709898022, 2709898059, 2709898214, 2709898221, 2709898199, 2709898022], "tags": {"addr:housenumber": "431", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "16.2", "nycdoitt:bin": "1026444"}}, {"type": "way", "id": 265320387, "nodes": [2709898059, 2709898091, 2709898231, 2709898214, 2709898059], "tags": {"addr:housenumber": "433", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "15.1", "nycdoitt:bin": "1026443"}}, {"type": "way", "id": 265320388, "nodes": [2709898091, 2709898126, 2709898239, 2709898231, 2709898091], "tags": {"addr:housenumber": "435", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "15.2", "nycdoitt:bin": "1026442"}}, {"type": "way", "id": 265320389, "nodes": [2709898425, 2709898411, 2709898369, 2709898382, 2709898384, 2709898425], "tags": {"addr:housenumber": "444", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1026468"}}, {"type": "way", "id": 265320390, "nodes": [2709898342, 2709898331, 2709898336, 2709898334, 2709898327, 2709898324, 2709898228, 2709898238, 2709898255, 2709898311, 2709898342], "tags": {"addr:housenumber": "445", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "18.5", "nycdoitt:bin": "1026440"}}, {"type": "way", "id": 265320392, "nodes": [2709898255, 2709898259, 2709898257, 2709898268, 2709898261, 2709898273, 2709898276, 2709898285, 2709898288, 2709898291, 2709898351, 2709898345, 2709898348, 2709898318, 2709898314, 2709898311, 2709898255], "tags": {"addr:housenumber": "447", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "20.1", "nycdoitt:bin": "1070034"}}, {"type": "way", "id": 265320398, "nodes": [2709897896, 2709897889, 2709897904, 2709897918, 2709897907, 2709897896], "tags": {"addr:housenumber": "647", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "20.0", "nycdoitt:bin": "1026476"}}, {"type": "way", "id": 265320399, "nodes": [2709897896, 2709897907, 2709897930, 2709897903, 2709897896], "tags": {"addr:housenumber": "649", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "16.6", "nycdoitt:bin": "1083774"}}, {"type": "way", "id": 265320401, "nodes": [2709897912, 2709897903, 2709897930, 2709897941, 2709897939, 2709897912], "tags": {"addr:housenumber": "651", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "16.9", "nycdoitt:bin": "1083775"}}, {"type": "way", "id": 265320402, "nodes": [2709897934, 2709897910, 2709897912, 2709897939, 2709897945, 2709897949, 2709897961, 2709897955, 2709897965, 2709897962, 2709897934], "tags": {"addr:housenumber": "653", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "16.6", "nycdoitt:bin": "1026454"}}, {"type": "way", "id": 265320403, "nodes": [2709897934, 2709897962, 2709897974, 2709897979, 2709898002, 2709897990, 2709898004, 2709897953, 2709897934], "tags": {"addr:housenumber": "659", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "18.1", "nycdoitt:bin": "1026455"}}, {"type": "way", "id": 265320404, "nodes": [2709897953, 2709898004, 2709898009, 2709898015, 2709898019, 2709898021, 2709898036, 2709898061, 2709897985, 2709897953], "tags": {"addr:housenumber": "661", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "15.3", "nycdoitt:bin": "1026456"}}, {"type": "way", "id": 265320405, "nodes": [2709898391, 2709898393, 2709898401, 2709898403, 2709898445, 2709898456, 2709898443, 2709898440, 2709898437, 2709898439, 2709898413, 2709898389, 2709898386, 2709898303, 2709898371, 2709898394, 2709898380, 2709898366, 2709898378, 2709898373, 2709898360, 2709898357, 2709898395, 2709898392, 2709898399, 2709898409, 2709898405, 2709898427, 2709898448, 2709898450, 2709898458, 2709898460, 2709898464, 2709898462, 2709898472, 2709898454, 2709898397, 2709898391], "tags": {"building": "yes", "height": "24.7", "nycdoitt:bin": "1083773"}}, {"type": "way", "id": 265320406, "nodes": [2709898061, 2709898121, 2709898016, 2709897985, 2709898061], "tags": {"building": "apartments", "height": "14.7", "nycdoitt:bin": "1026457"}}, {"type": "way", "id": 265320407, "nodes": [2709898111, 2709898141, 2709898171, 2709898184, 2709898160, 2709898111], "tags": {"building": "yes", "height": "9.0", "nycdoitt:bin": "1083778"}}, {"type": "way", "id": 265320408, "nodes": [2709898167, 2709898188, 2709898230, 2709898213, 2709898195, 2709898167], "tags": {"building": "yes", "height": "4.2", "nycdoitt:bin": "1083782"}}, {"type": "way", "id": 265320411, "nodes": [2709898165, 2709898139, 2709898076, 2709898111, 2709898160, 2709898165], "tags": {"building": "yes", "height": "10.6", "nycdoitt:bin": "1083776"}}, {"type": "way", "id": 265320415, "nodes": [2709898188, 2709898216, 2709898240, 2709898246, 2709898235, 2709898230, 2709898188], "tags": {"building": "yes", "height": "10.0", "nycdoitt:bin": "1083784"}}, {"type": "way", "id": 265320417, "nodes": [2709897887, 2709897891, 2709897898, 2709897899, 2709897904, 2709897889, 2709897887], "tags": {"building": "apartments", "height": "20.8", "nycdoitt:bin": "1026453"}}, {"type": "way", "id": 265320826, "nodes": [2709906400, 2709906410, 2709906452, 2709906483, 2709906474, 2709906463, 2709906454, 2709906421, 2709906400], "tags": {"addr:city": "New York", "addr:housenumber": "302", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 47th Street", "branch": "Times Square", "brand": "Econo Lodge", "brand:wikidata": "Q5333330", "building": "yes", "building:levels": "6", "building:use": "hotel", "dog": "no", "fax": "+1 212-246-0263", "height": "17.6", "internet_access": "wlan", "internet_access:fee": "no", "name": "Econo Lodge", "nycdoitt:bin": "1025057", "operator": "Choice Hotels", "phone": "+1 212-246-1991", "smoking": "no", "tourism": "motel", "website": "https://www.choicehotels.com/new-york/new-york/econo-lodge-hotels/ny318"}}, {"type": "way", "id": 265320829, "nodes": [2709906452, 2709906445, 2709906420, 2709906450, 2709906465, 2709906467, 2709906487, 2709906492, 2709906483, 2709906452], "tags": {"addr:housenumber": "306", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "17.7", "nycdoitt:bin": "1078873"}}, {"type": "way", "id": 265320831, "nodes": [2709906429, 2919923241, 2709906482, 2709906533, 2709906548, 2709906487, 2709906467, 2709906429], "tags": {"addr:housenumber": "310", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "6", "height": "20.2", "nycdoitt:bin": "1078874"}}, {"type": "way", "id": 265320832, "nodes": [2709906423, 2709906408, 2709906416, 2709906407, 2709906380, 2709906378, 2709906367, 2709906369, 2709906423], "tags": {"addr:housenumber": "313", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1025051"}}, {"type": "way", "id": 265320833, "nodes": [2709906368, 2709906371, 2709906395, 2709906414, 2709906448, 2709906431, 2709906423, 2709906369, 2709906368], "tags": {"addr:housenumber": "315", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.4", "nycdoitt:bin": "1075688"}}, {"type": "way", "id": 265320834, "nodes": [2709906533, 2709906526, 2709906499, 2709906500, 2709906494, 2709906493, 2709906486, 2709906481, 2709906471, 2709906478, 2709906485, 2709906489, 2709906491, 2709906498, 2709906496, 2709906511, 2709906517, 2709906543, 2709906550, 2709906567, 2709906554, 2709906548, 2709906533], "tags": {"addr:housenumber": "316", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "18.0", "nycdoitt:bin": "1025058"}}, {"type": "way", "id": 265320835, "nodes": [2709906371, 2709906373, 2709906403, 2709906395, 2709906371], "tags": {"addr:housenumber": "317", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1078871"}}, {"type": "way", "id": 265320837, "nodes": [2709906506, 2709906524, 2709906589, 2709906591, 2709906575, 2709906567, 2709906550, 2709906506], "tags": {"addr:housenumber": "318", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "15.1", "nycdoitt:bin": "1025059"}}, {"type": "way", "id": 265320839, "nodes": [2709906373, 2709906377, 2709906412, 2709906403, 2709906373], "tags": {"addr:housenumber": "319", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.9", "nycdoitt:bin": "1080889"}}, {"type": "way", "id": 265320841, "nodes": [2709906509, 2709906532, 2709906605, 2709906589, 2709906524, 2709906509], "tags": {"addr:housenumber": "320", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1025060"}}, {"type": "way", "id": 265320843, "nodes": [2709906377, 2709906382, 2709906432, 2709906412, 2709906377], "tags": {"addr:housenumber": "321", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.9", "nycdoitt:bin": "1080891", "wikidata": "Q4859644"}}, {"type": "way", "id": 265320844, "nodes": [2709906532, 2709906528, 2709906519, 2709906515, 2709906497, 2709906508, 2709906501, 2709906504, 2709906539, 2709906545, 2709906616, 2709906610, 2709906613, 2709906606, 2709906605, 2709906532], "tags": {"addr:housenumber": "322", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "16.9", "nycdoitt:bin": "1025061"}}, {"type": "way", "id": 265320845, "nodes": [2709906382, 2709906389, 2709906443, 2709906432, 2709906382], "tags": {"addr:housenumber": "323", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.9", "nycdoitt:bin": "1080892"}}, {"type": "way", "id": 265320846, "nodes": [2709906545, 2709906541, 2709906513, 2709906530, 2709906558, 2709906563, 2709906630, 2709906616, 2709906545], "tags": {"addr:housenumber": "324", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "16.6", "nycdoitt:bin": "1025062"}}, {"type": "way", "id": 265320848, "nodes": [2709906389, 2709906397, 2709906460, 2709906443, 2709906389], "tags": {"addr:housenumber": "325", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.6", "nycdoitt:bin": "1080893"}}, {"type": "way", "id": 265320849, "nodes": [2709906563, 2709906565, 2709906546, 2709906556, 2709906579, 2709906583, 2709906640, 2709906630, 2709906563], "tags": {"addr:housenumber": "326", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "16.4", "nycdoitt:bin": "1025063"}}, {"type": "way", "id": 265320850, "nodes": [2709906583, 2709906588, 2709906561, 2709906577, 2709906595, 2709906598, 2709906650, 2709906640, 2709906583], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "17.1", "nycdoitt:bin": "1025064"}}, {"type": "way", "id": 265320851, "nodes": [2709906598, 2709906608, 2709906659, 2709906650, 2709906598], "tags": {"addr:housenumber": "330", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "17.7", "nycdoitt:bin": "1025065"}}, {"type": "way", "id": 265320852, "nodes": [2709906608, 2709906612, 2709906592, 2709906604, 2709906622, 2709906626, 2709906670, 2709906659, 2709906608], "tags": {"addr:housenumber": "332", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "19.6", "nycdoitt:bin": "1025066"}}, {"type": "way", "id": 265320853, "nodes": [2709906626, 2709906628, 2709906607, 2709906618, 2709906636, 2709906638, 2709906681, 2709906670, 2709906626], "tags": {"addr:housenumber": "334", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "19.8", "nycdoitt:bin": "1025067"}}, {"type": "way", "id": 265320855, "nodes": [2709906638, 2709906645, 2709906692, 2709906681, 2709906638], "tags": {"addr:housenumber": "336", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "16.8", "nycdoitt:bin": "1025068"}}, {"type": "way", "id": 265320857, "nodes": [2709906645, 2709906646, 2709906644, 2709906632, 2709906641, 2709906651, 2709906653, 2709906656, 2709906712, 2709906692, 2709906645], "tags": {"addr:housenumber": "338", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1078875"}}, {"type": "way", "id": 265320859, "nodes": [2709906656, 2709906658, 2709906655, 2709906642, 2709906649, 2709906661, 2709906663, 2709906666, 2709906728, 2709906732, 2709906712, 2709906656], "tags": {"addr:housenumber": "340", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.5", "nycdoitt:bin": "1078877"}}, {"type": "way", "id": 265320860, "nodes": [2709906521, 2709906502, 2709906469, 2709906476, 2709906521], "tags": {"addr:housenumber": "341", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.9", "nycdoitt:bin": "1025050"}}, {"type": "way", "id": 265320861, "nodes": [2709906666, 2709906675, 2709906739, 2709906728, 2709906666], "tags": {"addr:housenumber": "342", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "20.7", "nycdoitt:bin": "1025069"}}, {"type": "way", "id": 265320862, "nodes": [2709906476, 2709906484, 2709906535, 2709906521, 2709906476], "tags": {"addr:housenumber": "343", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1025083"}}, {"type": "way", "id": 265320864, "nodes": [2709906675, 2709906676, 2709906674, 2709906660, 2709906669, 2709906679, 2709906680, 2709906685, 2709906755, 2709906756, 2709906743, 2709906739, 2709906675], "tags": {"addr:housenumber": "344", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.4", "nycdoitt:bin": "1025070"}}, {"type": "way", "id": 265320866, "nodes": [2709906484, 2709906488, 2709906581, 2709906600, 2709906590, 2709906535, 2709906484], "tags": {"addr:housenumber": "345", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1025049"}}, {"type": "way", "id": 265320867, "nodes": [2709906685, 2709906688, 2709906683, 2709906672, 2709906678, 2709906695, 2709906696, 2709906702, 2709906761, 2709906755, 2709906685], "tags": {"addr:housenumber": "346", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.4", "nycdoitt:bin": "1025071"}}, {"type": "way", "id": 265320869, "nodes": [2709906488, 2709906495, 2709906609, 2709906602, 2709906586, 2709906581, 2709906488], "tags": {"addr:housenumber": "347", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.5", "nycdoitt:bin": "1025048"}}, {"type": "way", "id": 265320871, "nodes": [2709906702, 2709906705, 2709906701, 2709906682, 2709906690, 2709906711, 2709906713, 2709906719, 2709906773, 2709906763, 2709906761, 2709906702], "tags": {"addr:housenumber": "348", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "5", "height": "17.1", "nycdoitt:bin": "1025072"}}, {"type": "way", "id": 265320873, "nodes": [2709906719, 2709906720, 2709906716, 2709906699, 2709906708, 2709906730, 2709906729, 2709906736, 2709906757, 2709906783, 2709906781, 2709906779, 2709906773, 2709906719], "tags": {"addr:housenumber": "350", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "5", "height": "16.9", "nycdoitt:bin": "1085021"}}, {"type": "way", "id": 265320875, "nodes": [2709906522, 2709906537, 2709906625, 2709906637, 2709906629, 2709906617, 2709906522], "tags": {"addr:housenumber": "353", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.5", "nycdoitt:bin": "1025082"}}, {"type": "way", "id": 265320876, "nodes": [2709906537, 2709906552, 2709906615, 2709906634, 2709906625, 2709906537], "tags": {"addr:housenumber": "355", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1025046"}}, {"type": "way", "id": 265320877, "nodes": [2709906552, 2709906560, 2709906621, 2709906615, 2709906552], "tags": {"addr:housenumber": "357", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "17.1", "nycdoitt:bin": "1025045"}}, {"type": "way", "id": 265320878, "nodes": [2709906757, 2709906765, 2709906775, 2709906792, 2709906783, 2709906757], "tags": {"addr:housenumber": "358", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1085022"}}, {"type": "way", "id": 265320879, "nodes": [2709906560, 2709906569, 2709906631, 2709906621, 2709906560], "tags": {"addr:housenumber": "359", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1025044"}}, {"type": "way", "id": 265320880, "nodes": [2709906569, 2709906584, 2709906639, 2709906631, 2709906569], "tags": {"addr:housenumber": "361", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1025081"}}, {"type": "way", "id": 265320881, "nodes": [2709906584, 2709906593, 2709906643, 2709906639, 2709906584], "tags": {"addr:housenumber": "363", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1025043"}}, {"type": "way", "id": 265320883, "nodes": [2709906593, 2709906603, 2709906677, 2709906673, 2709906643, 2709906593], "tags": {"addr:housenumber": "365", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1025080"}}, {"type": "way", "id": 265320884, "nodes": [2709906603, 2709906611, 2709906686, 2709906677, 2709906603], "tags": {"addr:housenumber": "367", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1025042"}}, {"type": "way", "id": 265320886, "nodes": [2709906611, 2709906619, 2709906662, 2709906698, 2709906686, 2709906611], "tags": {"addr:housenumber": "369", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1025079"}}, {"type": "way", "id": 265320888, "nodes": [2709906619, 2709906623, 2709906620, 2709906624, 2709906627, 2709906654, 2709906665, 2709906668, 2709906662, 2709906619], "tags": {"addr:housenumber": "371", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.1", "nycdoitt:bin": "1025078"}}, {"type": "way", "id": 265320889, "nodes": [2709906627, 2709906633, 2709906657, 2709906654, 2709906627], "tags": {"addr:housenumber": "373", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1025077"}}, {"type": "way", "id": 265320891, "nodes": [2709906741, 2709906753, 2709906782, 2709906777, 2709906741], "tags": {"addr:housenumber": "403", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "12.0", "nycdoitt:bin": "1026515"}}, {"type": "way", "id": 265320893, "nodes": [2709906753, 2709906758, 2709906790, 2709906786, 2709906791, 2709906789, 2709906782, 2709906753], "tags": {"addr:housenumber": "405", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "11.7", "nycdoitt:bin": "1026516"}}, {"type": "way", "id": 265320894, "nodes": [2709906880, 2709906875, 2709906836, 2709906862, 2709906910, 2709906919, 2709906992, 2709906973, 2709906933, 2709906914, 2709906880], "tags": {"addr:housenumber": "406", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "18.7", "nycdoitt:bin": "1026494"}}, {"type": "way", "id": 265320895, "nodes": [2709906827, 2709906845, 2709906860, 2709906866, 2709906901, 2709906945, 2709907007, 2709906992, 2709906919, 2709906827], "tags": {"addr:housenumber": "410", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "22.7", "nycdoitt:bin": "1026495"}}, {"type": "way", "id": 265320897, "nodes": [2709906758, 2709906787, 2709906808, 2709906798, 2709906800, 2709906797, 2709906805, 2709906803, 2709906795, 2709906790, 2709906758], "tags": {"addr:housenumber": "413", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.8", "name": "Hartley House", "nycdoitt:bin": "1026491"}}, {"type": "way", "id": 265320898, "nodes": [2709906787, 2709906793, 2709906819, 2709906821, 2709906888, 2709906864, 2709906817, 2709906814, 2709906808, 2709906787], "tags": {"addr:housenumber": "415", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "18.1", "nycdoitt:bin": "1026490"}}, {"type": "way", "id": 265320902, "nodes": [2709906793, 2709906801, 2709906804, 2709906849, 2709906819, 2709906793], "tags": {"addr:housenumber": "417", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.0", "nycdoitt:bin": "1026489"}}, {"type": "way", "id": 265320909, "nodes": [2709906813, 2709906839, 2709906893, 2709906884, 2709906886, 2709906895, 2709906956, 2709906959, 2709906968, 2709906964, 2709906974, 2709906954, 2709906891, 2709906871, 2709906847, 2709906815, 2709906813], "tags": {"addr:housenumber": "425", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "23.5", "nycdoitt:bin": "1079041"}}, {"type": "way", "id": 265320914, "nodes": [2709906839, 2709906873, 2709906929, 2709906923, 2709906925, 2709906936, 2709906997, 2709906982, 2709906906, 2709906908, 2709906897, 2709906893, 2709906839], "tags": {"addr:housenumber": "429", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "23.5", "nycdoitt:bin": "1079045"}}, {"type": "way", "id": 265320964, "nodes": [2709906648, 2709906671, 2709906691, 2709906667, 2709906648], "tags": {"addr:housenumber": "664", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.6", "nycdoitt:bin": "1025039"}}, {"type": "way", "id": 265320970, "nodes": [2709906687, 2709906664, 2709906667, 2709906691, 2709906726, 2709906689, 2709906687], "tags": {"addr:housenumber": "666", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.3", "nycdoitt:bin": "1025040"}}, {"type": "way", "id": 265320972, "nodes": [2709906723, 2709906751, 2709906762, 2709906745, 2709906723], "tags": {"addr:housenumber": "667", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.0", "nycdoitt:bin": "1080935"}}, {"type": "way", "id": 265320974, "nodes": [2709906745, 2709906762, 2709906776, 2709906759, 2709906745], "tags": {"addr:housenumber": "669", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.9", "nycdoitt:bin": "1080936"}}, {"type": "way", "id": 265320976, "nodes": [2709906715, 2709906706, 2709906684, 2709906693, 2709906689, 2709906726, 2709906754, 2709906718, 2709906715], "tags": {"addr:housenumber": "670", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.6", "nycdoitt:bin": "1025041"}}, {"type": "way", "id": 265320977, "nodes": [2709906759, 2709906776, 2709906788, 2709906772, 2709906759], "tags": {"addr:housenumber": "671", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "14.3", "nycdoitt:bin": "1026517"}}, {"type": "way", "id": 265320978, "nodes": [2709906733, 2709906741, 2709906777, 2709906778, 2709906774, 2709906770, 2709906767, 2709906752, 2709906749, 2709906733], "tags": {"addr:housenumber": "671", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "8.3", "nycdoitt:bin": "1080937"}}, {"type": "way", "id": 265320980, "nodes": [2709906746, 2709906742, 2709906735, 2709906709, 2709906722, 2709906718, 2709906754, 2709906769, 2709906768, 2709906746], "tags": {"addr:housenumber": "672", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.3", "nycdoitt:bin": "1025076"}}, {"type": "way", "id": 265320981, "nodes": [2709906748, 2709906725, 2709906738, 2709906735, 2709906742, 2709906746, 2709906768, 2709906784, 2709906760, 2709906748], "tags": {"addr:housenumber": "674", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "7.9", "nycdoitt:bin": "1025075"}}, {"type": "way", "id": 265320982, "nodes": [2709906811, 2709906794, 2709906809, 2709906825, 2709906853, 2709906877, 2709906856, 2709906812, 2709906811], "tags": {"addr:housenumber": "677", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.0", "nycdoitt:bin": "1081687"}}, {"type": "way", "id": 265320983, "nodes": [2709906812, 2709906856, 2709906904, 2709906843, 2709906812], "tags": {"addr:housenumber": "679", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.8", "nycdoitt:bin": "1026492"}}, {"type": "way", "id": 265320986, "nodes": [2709906404, 2709906401, 2709906399, 2709906402, 2709906393, 2709906375, 2709906384, 2709906386, 2709906391, 2709906387, 3747161365, 2709906421, 2709906454, 2709906434, 2709906436, 2709906418, 2709906425, 2709906404], "tags": {"addr:city": "New York", "addr:housenumber": "765", "addr:postcode": "10036", "addr:street": "8th Avenue", "branch": "Times Square", "brand": "City Rooms", "building": "yes", "building:colour": "#A8A481", "building:levels": "5", "building:material": "brick", "building:use": "hotel", "email": "tsq@cityrooms.nyc", "height": "18.3", "name": "City Rooms", "nycdoitt:bin": "1025055", "phone": "+1 917-261-6971", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265320987, "nodes": [2709906804, 2709906815, 2709906847, 2709906841, 2709906962, 2709906940, 2709906858, 2709906849, 2709906804], "tags": {"addr:city": "New York", "addr:housenumber": "423", "addr:postcode": "10036", "addr:street": "West 46th Street", "amenity": "place_of_worship", "building": "church", "denomination": "episcopal", "ele": "12", "gnis:feature_id": "2083194", "height": "17.0", "name": "Saint Clement's Church", "nycdoitt:bin": "1026488", "official_name": "Saint Clement's Episcopal Church", "religion": "christian", "website": "http://www.stclementsnyc.org/"}}, {"type": "way", "id": 265320993, "nodes": [2709906775, 2709906780, 2709906799, 2709906810, 2709906792, 2709906775], "tags": {"building": "yes", "height": "16.6", "nycdoitt:bin": "1025073"}}, {"type": "way", "id": 265320994, "nodes": [2709906921, 2709906944, 2709906899, 2709906843, 2709906904, 2709906921], "tags": {"building": "yes", "height": "16.1", "nycdoitt:bin": "1026493"}}, {"type": "way", "id": 265320995, "nodes": [2709906473, 2709906480, 2709906490, 2709906485, 2709906478, 2709906473], "tags": {"building": "yes", "height": "4.7", "nycdoitt:bin": "1086780"}}, {"type": "way", "id": 265320996, "nodes": [2709906647, 2709906635, 2709906652, 2709906671, 2709906648, 2709906647], "tags": {"building": "yes", "height": "17.9", "nycdoitt:bin": "1025038"}}, {"type": "way", "id": 265320999, "nodes": [2709906703, 2709906733, 2709906749, 2709906751, 2709906723, 2709906703], "tags": {"building": "yes", "height": "14.6", "nycdoitt:bin": "1080934"}}, {"type": "way", "id": 265321000, "nodes": [2709906866, 2709906869, 2709906823, 2709906851, 2709906927, 2709906901, 2709906866], "tags": {"building": "yes", "height": "7.4", "nycdoitt:bin": "1089232"}}, {"type": "way", "id": 265321001, "nodes": [2709906395, 2709906403, 2709906461, 2709906458, 2709906427, 2709906414, 2709906395], "tags": {"building": "yes", "height": "3.0", "nycdoitt:bin": "1078872"}}, {"type": "way", "id": 265321003, "nodes": [2709906495, 2709906522, 2709906617, 2709906596, 2709906614, 2709906609, 2709906495], "tags": {"building": "yes", "height": "13.7", "nycdoitt:bin": "1025047"}}, {"type": "way", "id": 265321004, "nodes": [2709906766, 2709906764, 2709906760, 2709906784, 2709906785, 2709906799, 2709906780, 2709906766], "tags": {"building": "yes", "height": "13.7", "nycdoitt:bin": "1025074"}}, {"type": "way", "id": 265321005, "nodes": [2709906796, 2709906806, 2709906880, 2709906914, 2709906877, 2709906853, 2709906807, 2709906796], "tags": {"building": "yes", "height": "10.9", "nycdoitt:bin": "1082498"}}, {"type": "way", "id": 265321006, "nodes": [2709906456, 2709906463, 2709906474, 2919956336, 2709906405, 2709906393, 2709906402, 2709906404, 2709906425, 2919956335, 2709906456], "tags": {"building": "yes", "building:colour": "#905340", "building:material": "brick", "building:part": "yes", "height": "22", "nycdoitt:bin": "1025056", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265321007, "nodes": [2709906771, 2709906772, 2709906788, 2709906796, 2709906807, 2709906802, 2709906809, 2709906794, 2709906771], "tags": {"building": "yes", "height": "15.3", "nycdoitt:bin": "1082497"}}, {"type": "way", "id": 265322610, "nodes": [2709915365, 2709915376, 2709915407, 2709915401, 2709915365], "tags": {"addr:city": "New York", "addr:housenumber": "339", "addr:postcode": "10036", "addr:street": "West 47th Street", "alt_name": "The Actors Temple", "amenity": "place_of_worship", "building": "yes", "ele": "14", "gnis:feature_id": "2100912", "height": "12.3", "name": "Congregation Ezrath Israel", "nycdoitt:bin": "1025091", "religion": "jewish", "website": "https://www.theactorstemple.org/", "wheelchair": "limited", "wikidata": "Q7712319", "wikipedia": "en:The Actors' Temple"}}, {"type": "way", "id": 265322611, "nodes": [2709915249, 2709915251, 2709915254, 2709915305, 2709915297, 2709915261, 2709915249], "tags": {"addr:housenumber": "307", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "13.7", "nycdoitt:bin": "1025099"}}, {"type": "way", "id": 265322612, "nodes": [2709915337, 2709915340, 2709915373, 2709915364, 2709915337], "tags": {"addr:housenumber": "308", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1025124"}}, {"type": "way", "id": 265322613, "nodes": [2709915250, 2709915253, 2709915259, 2709915260, 2709915277, 2709915273, 2709915279, 2709915280, 2709915290, 2709915295, 2709915301, 2709915307, 2709915298, 2709915287, 2709915283, 2709915275, 2709915278, 2709915269, 2709915266, 2709915255, 2709915254, 2709915251, 2709915250], "tags": {"addr:housenumber": "309", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "16.5", "nycdoitt:bin": "1025098"}}, {"type": "way", "id": 265322614, "nodes": [2709915272, 2709915274, 2709915268, 2709915265, 2709915259, 2709915253, 2709915256, 2709915289, 2709915285, 2709915288, 2709915293, 2709915308, 2709915301, 2709915295, 2709915272], "tags": {"addr:housenumber": "311", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.7", "nycdoitt:bin": "1025097"}}, {"type": "way", "id": 265322615, "nodes": [2709915363, 2709915367, 2709915368, 2709915360, 2709915362, 2709915349, 2709915348, 2709915339, 2709915324, 2709915345, 2709915358, 2709915355, 2709915354, 2709915359, 2709915369, 2709915377, 2709915378, 2709915382, 2709915387, 2709915379, 2709915374, 2709915363], "tags": {"addr:housenumber": "312", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "apartments", "building:levels": "6", "height": "22.1", "nycdoitt:bin": "1025107", "start_date": "1920"}}, {"type": "way", "id": 265322616, "nodes": [2709915256, 2709915263, 2709915264, 2709915300, 2709915303, 2709915319, 2709915313, 2709915294, 2709915289, 2709915256], "tags": {"addr:housenumber": "313", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.1", "nycdoitt:bin": "1025096"}}, {"type": "way", "id": 265322617, "nodes": [2709915264, 2709915284, 2709915299, 2709915331, 2709915316, 2709915300, 2709915264], "tags": {"addr:housenumber": "315", "addr:postcode": "10036", "addr:street": "West 47th Street", "branch": "New York Times Square Corps", "brand": "The Salvation Army", "building": "church", "email": "contactgny@use.salvationarmy.org", "fax": "+1 212-975-9977", "height": "22.6", "name": "The Salvation Army", "nycdoitt:bin": "1088176", "phone": "+1 212-975-9988", "website": "https://easternusa.salvationarmy.org/greater-new-york"}}, {"type": "way", "id": 265322618, "nodes": [2709915282, 2709915292, 2709915311, 2709915312, 2709915332, 2709915335, 2709915350, 2709915341, 2709915327, 2709915326, 2709915304, 2709915299, 2709915284, 2709915282], "tags": {"addr:housenumber": "319", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "17.7", "nycdoitt:bin": "1025095"}}, {"type": "way", "id": 265322619, "nodes": [2709915335, 2709915333, 2709915317, 2709915311, 2709915292, 2709915302, 2709915318, 2709915321, 2709915342, 2709915346, 2709915356, 2709915350, 2709915335], "tags": {"addr:housenumber": "321", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "18.7", "nycdoitt:bin": "1025094"}}, {"type": "way", "id": 265322620, "nodes": [2709915406, 2709915395, 2709915353, 2709915372, 2709915406], "tags": {"addr:housenumber": "322", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "check_date": "2025-05-03", "email": "membership@local802afm.org", "facebook": "Local802AFM", "height": "23.8", "instagram": "musicians_of_ny", "name": "Local 802 American Federation of Musicians", "nycdoitt:bin": "1025108", "office": "union", "opening_hours": "Mo-Fr 09:30-17:30", "opening_hours:covid19": "closed", "phone": "+1 212-245-4802", "twitter": "Local_802_AFM", "website": "https://www.local802afm.org"}}, {"type": "way", "id": 265322621, "nodes": [2709915346, 2709915344, 2709915322, 2709915318, 2709915302, 2709915314, 2709915370, 2709915356, 2709915346], "tags": {"addr:housenumber": "323", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "20.0", "nycdoitt:bin": "1025093"}}, {"type": "way", "id": 265322622, "nodes": [2709915372, 2709915381, 2709915386, 2709915396, 2709915415, 2709915406, 2709915372], "tags": {"addr:housenumber": "326", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "13.0", "nycdoitt:bin": "1025109"}}, {"type": "way", "id": 265322623, "nodes": [2709915396, 2709915399, 2709915390, 2709915386, 2709915381, 2709915370, 2709915314, 2709915323, 2709915391, 2709915403, 2709915351, 2709915365, 2709915401, 2709915425, 2709915424, 2709915455, 2709915461, 2709915531, 2709915493, 2709915457, 2709915414, 2709915431, 2709915415, 2709915396], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "school", "height": "28.7", "nycdoitt:bin": "1025092"}}, {"type": "way", "id": 265322624, "nodes": [2709915435, 2709915453, 2709915511, 2709915556, 2709915531, 2709915461, 2709915435], "tags": {"addr:housenumber": "340", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "apartments", "height": "15.0", "nycdoitt:bin": "1025110"}}, {"type": "way", "id": 265322626, "nodes": [2709915511, 2709915508, 2709915456, 2709915447, 2709915426, 2709915437, 2709915468, 2709915472, 2709915474, 2709915528, 2709915540, 2709915572, 2709915556, 2709915511], "tags": {"addr:housenumber": "342", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "apartments", "height": "17.0", "nycdoitt:bin": "1025111"}}, {"type": "way", "id": 265322627, "nodes": [2709915383, 2709915384, 2709915405, 2709915400, 2709915383], "tags": {"addr:housenumber": "343", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "construction", "check_date": "2023-09-19", "height": "16.1", "nycdoitt:bin": "1025089"}}, {"type": "way", "id": 265322628, "nodes": [2709915537, 2709915538, 2709915525, 2709915520, 2709915506, 2709915510, 2709915496, 2709915491, 2709915472, 2709915468, 2709915476, 2709915465, 2709915439, 2709915458, 2709915483, 2709915485, 2709915490, 2709915509, 2709915516, 2709915514, 2709915532, 2709915534, 2709915550, 2709915545, 2709915555, 2709915557, 2709915597, 2709915572, 2709915540, 2709915537], "tags": {"addr:housenumber": "344", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "apartments", "height": "18.3", "nycdoitt:bin": "1025112"}}, {"type": "way", "id": 265322629, "nodes": [2709915509, 2709915504, 2709915460, 2709915478, 2709915519, 2709915533, 2709915562, 2709915570, 2709915617, 2709915600, 2709915597, 2709915557, 2709915550, 2709915534, 2709915516, 2709915509], "tags": {"addr:housenumber": "346", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "apartments", "height": "17.8", "nycdoitt:bin": "1025113"}}, {"type": "way", "id": 265322632, "nodes": [2709915416, 2709915417, 2709915448, 2709915449, 2709915486, 2709915466, 2709915412, 2709915408, 2709915398, 2709915402, 2709915416], "tags": {"addr:housenumber": "351", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "5", "height": "17.2", "nycdoitt:bin": "1025088"}}, {"type": "way", "id": 265322634, "nodes": [2709915449, 2709915452, 2709915419, 2709915416, 2709915402, 2709915411, 2709915428, 2709915429, 2709915470, 2709915479, 2709915515, 2709915486, 2709915449], "tags": {"addr:housenumber": "353", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "5", "height": "17.2", "nycdoitt:bin": "1025087"}}, {"type": "way", "id": 265322636, "nodes": [2709915479, 2709915477, 2709915430, 2709915428, 2709915411, 2709915422, 2709915438, 2709915440, 2709915494, 2709915503, 2709915546, 2709915515, 2709915479], "tags": {"addr:housenumber": "355", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "5", "height": "17.5", "nycdoitt:bin": "1025086"}}, {"type": "way", "id": 265322638, "nodes": [2709915420, 2709915433, 2709915462, 2709915463, 2709915498, 2709915502, 2709915522, 2709915542, 2709915513, 2709915487, 2709915482, 2709915471, 2709915475, 2709915444, 2709915442, 2709915438, 2709915422, 2709915420], "tags": {"addr:housenumber": "359", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "21.7", "nycdoitt:bin": "1025122"}}, {"type": "way", "id": 265322639, "nodes": [2709915467, 2709915462, 2709915433, 2709915443, 2709915446, 2709915484, 2709915480, 2709915467], "tags": {"addr:housenumber": "361", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "building:levels": "3", "height": "12.0", "nycdoitt:bin": "1078880", "roof:levels": "0"}}, {"type": "way", "id": 265322695, "nodes": [2709915248, 2709915261, 2709915297, 2709915258, 2709915248], "tags": {"addr:city": "New York", "addr:housenumber": "777", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#9E7C52", "height": "18.0", "nycdoitt:bin": "1025101", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265322696, "nodes": [2709915258, 2709915297, 2709915309, 2709915270, 2709915258], "tags": {"addr:city": "New York", "addr:housenumber": "781", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#C5C6B6", "building:levels": "4", "height": "14.1", "nycdoitt:bin": "1025102", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265322697, "nodes": [2709915270, 2709915309, 2709915330, 2582513346, 2873311997, 2873311995, 2582513347, 2639531842, 9049424118, 2709915270], "tags": {"addr:city": "New York", "addr:housenumber": "783", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#A4211C", "building:levels": "3", "height": "11.5", "nycdoitt:bin": "1025103", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265322701, "nodes": [2709915246, 2709915249, 2709915261, 2709915248, 2709915246], "tags": {"building": "retail", "height": "11.2", "nycdoitt:bin": "1025100"}}, {"type": "way", "id": 265322702, "nodes": [2582513345, 2639531866, 2709915328, 2639531852, 2582513348, 2582513345], "tags": {"building": "yes", "building:colour": "#867968", "building:levels": "5", "height": "18.0", "nycdoitt:bin": "1025105", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265322703, "nodes": [2709915446, 2709915495, 2709915541, 2709915484, 2709915446], "tags": {"building": "apartments", "height": "13.4", "nycdoitt:bin": "1078879"}}, {"type": "way", "id": 265322711, "nodes": [2709915388, 2709915393, 2709915397, 2709915392, 2709915388]}, {"type": "way", "id": 265322714, "nodes": [2709915376, 2709915383, 2709915400, 2709915421, 2709915410, 2709915407, 2709915376]}, {"type": "way", "id": 265338360, "nodes": [2710031852, 2710031850, 2919994572, 2710031817, 2710031822, 2710031824, 2710031836, 2710031852], "tags": {"addr:housenumber": "311", "addr:postcode": "10019", "addr:street": "West 48th Street", "building": "yes", "height": "13.2", "nycdoitt:bin": "1025140"}}, {"type": "way", "id": 265338362, "nodes": [2710031824, 2710031825, 2710031840, 2710031836, 2710031824], "tags": {"addr:housenumber": "313", "addr:postcode": "10019", "addr:street": "West 48th Street", "building": "yes", "height": "12.7", "nycdoitt:bin": "1025139"}}, {"type": "way", "id": 265338363, "nodes": [2710031825, 2710031828, 2710031830, 2710031846, 2710031860, 2710031856, 2710031840, 2710031825], "tags": {"addr:housenumber": "315", "addr:postcode": "10019", "addr:street": "West 48th Street", "building": "yes", "height": "12.8", "nycdoitt:bin": "1025138"}}, {"type": "way", "id": 265338364, "nodes": [2710031830, 2710031832, 2919994565, 2919994570, 2919994578, 2710031849, 2710031846, 2710031830], "tags": {"addr:housenumber": "317", "addr:postcode": "10019", "addr:street": "West 48th Street", "building": "yes", "height": "13.0", "nycdoitt:bin": "1025168"}}, {"type": "way", "id": 265338406, "nodes": [2710031806, 2710031802, 2710031804, 2710031807, 2710031810, 2710031812, 2710031820, 2710031818, 2710031815, 2710031806], "tags": {"addr:city": "New York", "addr:housenumber": "795", "addr:postcode": "10019", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#7D3526", "name": "Q NYC", "nycdoitt:bin": "1025142", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265338407, "nodes": [2710031806, 2710031815, 2710031816, 2710031819, 2710031821, 2710031823, 2710031826, 3066777674, 2710031813, 2710031806], "tags": {"addr:housenumber": "797", "addr:postcode": "10019", "addr:street": "8th Avenue", "building": "commercial", "building:colour": "#7B6B54", "building:levels": "4", "building:material": "brick", "height": "14.9", "nycdoitt:bin": "1025143", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265338411, "nodes": [2710031809, 2710031810, 2710031807, 2710031805, 2710031803, 2710031804, 2710031802, 2710031801, 2710031808, 2710031814, 2710031811, 2710031809], "tags": {"building": "yes", "building:colour": "#B39F84", "building:levels": "4", "building:material": "brick", "height": "14.1", "nycdoitt:bin": "1025141", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 265338413, "nodes": [2710031827, 2710031831, 2710031837, 2710031847, 2710031844, 2710031841, 2710031838, 2710031843, 2710031839, 2710031845, 2710031835, 2710031842, 2710031851, 2710031858, 2710031861, 3066777688, 2710031879, 3066777687, 3066777686, 2710031853, 3066777681, 3066777680, 3066777677, 3066777676, 2710031813, 3066777674, 2710031826, 2710031827], "tags": {"building": "apartments", "building:levels": "8", "nycdoitt:bin": "1025144", "roof:levels": "0"}}, {"type": "way", "id": 265338414, "nodes": [2710031880, 2710031869, 2710031862, 2710031855, 2919994586, 2710031849, 2919994578, 2919994570, 2919994565, 2710031832, 2710031829, 2919994568, 2919994566, 2919994571, 2919994577, 2710031859, 2710031864, 2919994596, 2919994599, 2920003301, 2710031884, 2920003302, 2920003303, 2710031913, 2710031880], "tags": {"addr:city": "New York", "addr:housenumber": "319", "addr:postcode": "10036", "addr:street": "West 48th Street", "air_conditioning": "yes", "building": "hotel", "building:levels": "16", "check_date": "2025-04-29", "dog": "no", "fitness_centre": "24/7", "instagram": "belvederehotelnyc", "internet_access": "wlan", "internet_access:fee": "customers", "name": "Belvedere Hotel", "nycdoitt:bin": "1025137", "operator": "Empire Hotel Group", "payment:cash": "yes", "payment:credit_cards": "yes", "payment:debit_cards": "yes", "phone": "+1 212-245-7000", "reservation": "yes", "rooms": "369", "smoking": "no", "start_date": "1928", "tourism": "hotel", "website": "https://www.belvederehotelnyc.com/"}}, {"type": "way", "id": 266024848, "nodes": [2716126924, 2716126932, 2716126977, 2716126969, 2716126949, 2716126940, 2716126924], "tags": {"addr:housenumber": "304", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "20.4", "nycdoitt:bin": "1081655"}}, {"type": "way", "id": 266024851, "nodes": [2716126932, 2716126944, 2716126964, 2716126986, 2716126977, 2716126932], "tags": {"addr:housenumber": "306", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "20.7", "nycdoitt:bin": "1081657"}}, {"type": "way", "id": 266024854, "nodes": [2716126964, 2716126970, 2716126913, 2716126929, 2716126958, 2716126974, 2716127035, 2716127015, 2716127006, 2716126989, 2716127001, 2716126993, 2716126986, 2716126964], "tags": {"addr:city": "New York", "addr:housenumber": "308", "addr:postcode": "10036", "addr:street": "West 46th Street", "amenity": "place_of_worship", "architect": "Edward Lippincott Tilton", "architect:wikidata": "Q5344151", "building": "church", "denomination": "lutheran", "height": "17.5", "heritage": "2", "heritage:operator": "nrhp", "heritage:website": "https://npgallery.nps.gov/AssetDetail/NRIS/07000483", "name": "St. Luke's Church", "nycdoitt:bin": "1025013", "official_name": "St. Luke's Lutheran Church", "ref:nrhp": "07000483", "religion": "christian", "start_date": "1923", "website": "http://www.stlukesnyc.org/", "wikidata": "Q2918119", "wikipedia": "en:St. Luke's Lutheran Church"}}, {"type": "way", "id": 266024861, "nodes": [2716126953, 2716126889, 2716126903, 2716126922, 2716126920, 2716126976, 2716126965, 2716126953], "tags": {"addr:housenumber": "317", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "30.0", "nycdoitt:bin": "1082600"}}, {"type": "way", "id": 266024864, "nodes": [2716126946, 2716126953, 2716126965, 2716126978, 2716127057, 2716127064, 2716127035, 2716126974, 2716126946], "tags": {"addr:housenumber": "320", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "24.4", "nycdoitt:bin": "1025014"}}, {"type": "way", "id": 266024867, "nodes": [2716126978, 2716126988, 2716127071, 2716127057, 2716126978], "tags": {"addr:housenumber": "322", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1025032"}}, {"type": "way", "id": 266024869, "nodes": [2716126920, 2716126922, 2716126903, 2716126914, 2716126931, 2716126950, 2716126945, 2716126982, 2716126976, 2716126920], "tags": {"addr:housenumber": "323", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "4.2", "nycdoitt:bin": "1078946"}}, {"type": "way", "id": 266024873, "nodes": [2716126988, 2716126998, 2716127087, 2716127071, 2716126988], "tags": {"addr:housenumber": "324", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1025015"}}, {"type": "way", "id": 266024876, "nodes": [2716126914, 2716126926, 2716126955, 2716126962, 2716126937, 2716126957, 2716126991, 2716127000, 2716126966, 2716126994, 2716127012, 2716127022, 2716127008, 2716127018, 2716127020, 2716127032, 2716127028, 2716127040, 2716127052, 2716127083, 2716127050, 2716127026, 2716127014, 2716127039, 2716127013, 2716126996, 2716126984, 2716127004, 2716126980, 2716126952, 2716126959, 2716126942, 2716126931, 2716126914], "tags": {"addr:housenumber": "325", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "31.3", "nycdoitt:bin": "1025009", "wikidata": "Q7774451", "wikipedia": "en:The Whitby"}}, {"type": "way", "id": 266024880, "nodes": [2716126998, 2716127002, 2716127033, 2716127104, 2716127087, 2716126998], "tags": {"addr:housenumber": "326", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1025016"}}, {"type": "way", "id": 266024883, "nodes": [2716127033, 2716127027, 2716127034, 2716127045, 2716127046, 2716127051, 2716127123, 2716127104, 2716127033], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1076202"}}, {"type": "way", "id": 266024886, "nodes": [2716127051, 2716127058, 2716127143, 2716127123, 2716127051], "tags": {"addr:housenumber": "330", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1084290"}}, {"type": "way", "id": 266024888, "nodes": [2716127058, 2716127076, 2716127162, 2716127146, 2716127143, 2716127058], "tags": {"addr:housenumber": "332", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.6", "nycdoitt:bin": "1025017"}}, {"type": "way", "id": 266024891, "nodes": [2716127076, 2716127090, 2716127181, 2716127162, 2716127076], "tags": {"addr:housenumber": "334", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.6", "nycdoitt:bin": "1025018"}}, {"type": "way", "id": 266024894, "nodes": [2716127090, 2716127116, 2716127194, 2716127181, 2716127090], "tags": {"addr:housenumber": "336", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.3", "nycdoitt:bin": "1025019"}}, {"type": "way", "id": 266024896, "nodes": [2716127079, 2716127097, 2716127210, 2716127194, 2716127116, 2716127079], "tags": {"addr:housenumber": "338", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1082452"}}, {"type": "way", "id": 266024900, "nodes": [2716127059, 2716127073, 2716127227, 2716127210, 2716127097, 2716127059], "tags": {"addr:housenumber": "340", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.5", "nycdoitt:bin": "1025020"}}, {"type": "way", "id": 266024905, "nodes": [2716126994, 2716127009, 2716127041, 2716127038, 2716127053, 2716127063, 2716127025, 2716127047, 2716127077, 2716127070, 2716127178, 2716127147, 2716127093, 2716127085, 2716127110, 2716127113, 2716127137, 2716127091, 2716127021, 2716127012, 2716126994], "tags": {"addr:housenumber": "341", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "19.7", "nycdoitt:bin": "1025008"}}, {"type": "way", "id": 266024914, "nodes": [2716127073, 2716127089, 2716127099, 2716127256, 2716127227, 2716127073], "tags": {"addr:housenumber": "342", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.8", "nycdoitt:bin": "1025021"}}, {"type": "way", "id": 266024918, "nodes": [2716127099, 2716127120, 2716127168, 2716127189, 2716127274, 2716127256, 2716127099], "tags": {"addr:housenumber": "344", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.2", "nycdoitt:bin": "1025022"}}, {"type": "way", "id": 266024922, "nodes": [2716127168, 2716127169, 2716127118, 2716127134, 2716127201, 2716127189, 2716127168], "tags": {"addr:housenumber": "346 REAR-A", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "3.2", "nycdoitt:bin": "1080887"}}, {"type": "way", "id": 266024927, "nodes": [2716127134, 2716127149, 2716127159, 2716127211, 2716127201, 2716127134], "tags": {"addr:housenumber": "346 REAR-B", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "3.5", "nycdoitt:bin": "1080888"}}, {"type": "way", "id": 266024932, "nodes": [2716127189, 2716127201, 2716127298, 2716127274, 2716127189], "tags": {"addr:housenumber": "346", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1080885"}}, {"type": "way", "id": 266024933, "nodes": [2716127201, 2716127211, 2716127314, 2716127298, 2716127201], "tags": {"addr:housenumber": "348", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.8", "nycdoitt:bin": "1080886"}}, {"type": "way", "id": 266024935, "nodes": [2716127047, 2716127061, 2716127095, 2716127101, 2716127160, 2716127167, 2716127196, 2716127182, 2716127139, 2716127140, 2716127082, 2716127077, 2716127047], "tags": {"addr:housenumber": "349", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1025007"}}, {"type": "way", "id": 266024938, "nodes": [2716127159, 2716127166, 2716127191, 2716127192, 2716127200, 2716127204, 2716127214, 2716127287, 2716127337, 2716127330, 2716127321, 2716127314, 2716127211, 2716127159], "tags": {"addr:housenumber": "350", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.1", "nycdoitt:bin": "1025023"}}, {"type": "way", "id": 266024944, "nodes": [2716127167, 2716127163, 2716127109, 2716127095, 2716127061, 2716127078, 2716127125, 2716127127, 2716127185, 2716127190, 2716127213, 2716127196, 2716127167], "tags": {"addr:housenumber": "351", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1025006"}}, {"type": "way", "id": 266024948, "nodes": [2716127287, 2716127312, 2716127288, 2716127284, 2716127272, 2716127270, 2716127264, 2716127262, 2716127263, 2716127243, 2716127214, 2716127204, 2716127183, 2716127251, 2716127307, 2716127304, 2716127282, 2716127322, 2716127316, 2716127346, 2716127375, 2716127461, 2716127351, 2716127337, 2716127287], "tags": {"addr:housenumber": "352", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "21.6", "nycdoitt:bin": "1025024"}}, {"type": "way", "id": 266024954, "nodes": [2716127190, 2716127188, 2716127131, 2716127125, 2716127078, 2716127106, 2716127150, 2716127153, 2716127198, 2716127207, 2716127247, 2716127213, 2716127190], "tags": {"addr:housenumber": "353", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1085018"}}, {"type": "way", "id": 266024958, "nodes": [2716127207, 2716127206, 2716127155, 2716127150, 2716127106, 2716127129, 2716127173, 2716127176, 2716127217, 2716127223, 2716127276, 2716127247, 2716127207], "tags": {"addr:housenumber": "355", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1085019"}}, {"type": "way", "id": 266024963, "nodes": [2716127223, 2716127222, 2716127177, 2716127173, 2716127129, 2716127154, 2716127305, 2716127276, 2716127223], "tags": {"addr:housenumber": "357", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1085020"}}, {"type": "way", "id": 266024966, "nodes": [2716127304, 2716127307, 2716127311, 2716127249, 2716127260, 2716127469, 2716127465, 2716127476, 2716127461, 2716127375, 2716127304], "tags": {"addr:housenumber": "358", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.2", "nycdoitt:bin": "1025025"}}, {"type": "way", "id": 266024970, "nodes": [2716127260, 2716127278, 2716127334, 2716127490, 2716127469, 2716127260], "tags": {"addr:housenumber": "360", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.0", "nycdoitt:bin": "1025033"}}, {"type": "way", "id": 266024972, "nodes": [2716127334, 2716127357, 2716127318, 2716127327, 2716127509, 2716127490, 2716127334], "tags": {"addr:housenumber": "362", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.7", "nycdoitt:bin": "1025026"}}, {"type": "way", "id": 266024974, "nodes": [2716127310, 2716127324, 2716127521, 2716127523, 2716127509, 2716127327, 2716127310], "tags": {"addr:housenumber": "364", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "15.6", "nycdoitt:bin": "1025027"}}, {"type": "way", "id": 266024976, "nodes": [2716127297, 2716127313, 2716127349, 2716127533, 2716127521, 2716127324, 2716127297], "tags": {"addr:housenumber": "366", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "19.0", "nycdoitt:bin": "1025034"}}, {"type": "way", "id": 266024978, "nodes": [2716127349, 2716127369, 2716127448, 2716127450, 2716127478, 2716127551, 2716127547, 2716127538, 2716127533, 2716127349], "tags": {"addr:housenumber": "368", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "20.9", "nycdoitt:bin": "1025028"}}, {"type": "way", "id": 266024981, "nodes": [2716127478, 2716127497, 2716127555, 2716127551, 2716127478], "tags": {"addr:housenumber": "370", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.9", "nycdoitt:bin": "1025035"}}, {"type": "way", "id": 266024982, "nodes": [2716127497, 2716127514, 2716127529, 2716127549, 2716127560, 2716127555, 2716127497], "tags": {"addr:housenumber": "372", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "14.9", "nycdoitt:bin": "1025036"}}, {"type": "way", "id": 266024983, "nodes": [2716127308, 2716127289, 2716127291, 2716127279, 2716127277, 2716127268, 2716127273, 2716127246, 2716127203, 2716127219, 2716127228, 2716127237, 2716127244, 2716127255, 2716127253, 2716127267, 2716127266, 2716127294, 2716127344, 2716127315, 2716127308], "tags": {"addr:housenumber": "644", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "18.2", "nycdoitt:bin": "1025003"}}, {"type": "way", "id": 266024984, "nodes": [2716127366, 2716127332, 2716127339, 2716127328, 2716127326, 2716127320, 2716127323, 2716127299, 2716127246, 2716127273, 2716127283, 2716127293, 2716127295, 2716127303, 2716127301, 2716127319, 2716127315, 2716127344, 2716127423, 2716127373, 2716127366], "tags": {"addr:housenumber": "646", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.8", "nycdoitt:bin": "1025004"}}, {"type": "way", "id": 266024987, "nodes": [2716127438, 2716127419, 2716127408, 2716127414, 2716127401, 2716127398, 2716127392, 2716127394, 2716127359, 2716127299, 2716127323, 2716127329, 2716127341, 2716127355, 2716127364, 2716127361, 2716127391, 2716127373, 2716127423, 2716127483, 2716127453, 2716127438], "tags": {"addr:housenumber": "648", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "17.8", "nycdoitt:bin": "1025005"}}, {"type": "way", "id": 266024991, "nodes": [2716127504, 2716127507, 2716127517, 2716127526, 2716127540, 2716127558, 2716127536, 2716127504], "tags": {"addr:housenumber": "654", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "building:levels": "4", "height": "15.5", "nycdoitt:bin": "1025037", "roof:levels": "0"}}, {"type": "way", "id": 266024994, "nodes": [2716127529, 2716127536, 2716127558, 2716127562, 2716127549, 2716127529], "tags": {"addr:housenumber": "656", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "building:levels": "4", "height": "15.5", "nycdoitt:bin": "1025030", "roof:levels": "0"}}, {"type": "way", "id": 266024997, "nodes": [2716126890, 2716126881, 3066729325, 2716126895, 2716126908, 2716126906, 2716126890], "tags": {"addr:city": "New York", "addr:housenumber": "725", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#3C3D35", "height": "12.0", "nycdoitt:bin": "1025012", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266025000, "nodes": [2716126888, 2716126890, 2716126906, 2716126925, 2716126901, 2716126888], "tags": {"addr:housenumber": "727", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "height": "19.7", "nycdoitt:bin": "1081652"}}, {"type": "way", "id": 266025005, "nodes": [2716126901, 2716126925, 2716126933, 2716126940, 2716126949, 2716126919, 2716126901], "tags": {"addr:housenumber": "729", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "height": "19.7", "nycdoitt:bin": "1081653"}}, {"type": "way", "id": 266025008, "nodes": [2716127257, 2716127235, 2716127241, 2716127230, 2716127225, 2716127216, 2716127219, 2716127203, 2716127195, 2716127156, 2716127240, 2716127294, 2716127266, 2716127257], "tags": {"addr:city": "New York", "addr:housenumber": "359", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "building": "apartments", "building:levels": "5", "height": "17.7", "name": "642 9th Ave", "nycdoitt:bin": "1025002"}}, {"type": "way", "id": 266025010, "nodes": [2716127549, 2716127562, 2716127567, 2716127560, 2716127549], "tags": {"building": "apartments", "building:levels": "4", "height": "14.9", "nycdoitt:bin": "1025029", "roof:levels": "0"}}, {"type": "way", "id": 266025012, "nodes": [2716126881, 2716126869, 2716126873, 3066729324, 2716126905, 2716126895, 3066729325, 2716126881], "tags": {"building": "yes", "nycdoitt:bin": "1025011"}}, {"type": "way", "id": 266025015, "nodes": [2716126949, 2716126969, 2716126971, 2716126936, 2716126917, 2716126919, 2716126949], "tags": {"building": "yes", "height": "19.5", "nycdoitt:bin": "1081654"}}, {"type": "way", "id": 266025017, "nodes": [2716126900, 2716126879, 2716126878, 2716126875, 6789372740, 2716126886, 2716126897, 2716126896, 2716126893, 2716126891, 2716126938, 2716126900]}, {"type": "way", "id": 266025018, "nodes": [2716127526, 2716127519, 2716127512, 2716127517, 2716127507, 2716127499, 2716127501, 2716127494, 2716127486, 2716127466, 2716127446, 2716127440, 2716127429, 2716127432, 2716127389, 2716127403, 2716127405, 2716127411, 2716127425, 2716127416, 2716127427, 2716127435, 2716127457, 2716127443, 2716127453, 2716127483, 2716127543, 2716127540, 2716127526]}, {"type": "way", "id": 266025020, "nodes": [2716126885, 2716126882, 2716126899, 2716126907, 2716126885]}, {"type": "way", "id": 266025021, "nodes": [2716127460, 2716127471, 2716127488, 2716127480, 2716127460]}, {"type": "way", "id": 266033991, "nodes": [2716231391, 2716231393, 2716231397, 2716231404, 2716231398, 2716231391], "tags": {"addr:city": "New York", "addr:housenumber": "227", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "amenity": "theatre", "building": "theatre", "height": "27.8", "name": "American Airlines Theatre", "nycdoitt:bin": "1087882", "operator": "Roundabout Theatre Company", "start_date": "1918", "website": "https://www.roundabouttheatre.org/", "wikidata": "Q4742962", "wikipedia": "en:American Airlines Theatre"}}, {"type": "way", "id": 266033992, "nodes": [2716231644, 2716231650, 2716231601, 2716231605, 2716231576, 2716231572, 2716231551, 2716231564, 2716231574, 2716231595, 2716231587, 2716231600, 2716231612, 2716231611, 2716231641, 2716231649, 2716231759, 2716231752, 2716231775, 2716231760, 2716231781, 2716231700, 2716231668, 2716231644], "tags": {"addr:city": "New York", "addr:housenumber": "329", "addr:postcode": "10036", "addr:street": "West 42nd Street", "amenity": "place_of_worship", "building": "church", "denomination": "catholic", "ele": "11", "gnis:feature_id": "2083201", "height": "22.2", "name": "Holy Cross Church", "nycdoitt:bin": "1083731", "religion": "christian", "start_date": "1870", "website": "http://holycrossnyc.com/", "wikidata": "Q5885158", "wikipedia": "en:Holy Cross Church (Manhattan)"}}, {"type": "way", "id": 266033995, "nodes": [2716231720, 2716231800, 2716231813, 2716231861, 2716231826, 2716231807, 2716231720], "tags": {"addr:city": "New York", "addr:housenumber": "332", "addr:postcode": "10036", "addr:street": "West 43rd Street", "amenity": "school", "building": "school", "ele": "11", "gnis:feature_id": "2083202", "height": "22.9", "name": "Holy Cross School", "nycdoitt:bin": "1083730", "start_date": "1887"}}, {"type": "way", "id": 266033999, "nodes": [2716231379, 2716231383, 2716231391, 2716231398, 2716231395, 2716231379], "tags": {"addr:housenumber": "228", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "28.3", "nycdoitt:bin": "1085736"}}, {"type": "way", "id": 266034001, "nodes": [2716231457, 2716231481, 2716231596, 2716231584, 2716231479, 2716231457], "tags": {"addr:housenumber": "306", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "22.8", "nycdoitt:bin": "1083729"}}, {"type": "way", "id": 266034003, "nodes": [2716231799, 2716231804, 2716231784, 2716231780, 2716231694, 2716231815, 2919866859, 2716231893, 2919866862, 2716231827, 2716231799], "tags": {"addr:city": "New York", "addr:housenumber": "311", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "building:colour": "#BC8F78", "building:material": "brick", "building:part": "yes", "height": "59", "nycdoitt:bin": "1024965", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034006, "nodes": [2716231464, 2716231468, 2716231489, 2716231496, 2716231498, 2716231502, 2716231505, 2716231506, 2716231566, 2716231557, 2716231491, 2716231483, 2716231475, 2716231474, 2716231437, 2716231434, 2716231417, 2716231429, 2716231464], "tags": {"addr:housenumber": "319", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "17.5", "nycdoitt:bin": "1024944"}}, {"type": "way", "id": 266034007, "nodes": [2716231498, 2716231494, 2716231470, 2716231464, 2716231429, 2716231439, 2716231485, 2716231487, 2716231512, 2716231522, 2716231524, 2716231529, 2716231532, 2716231533, 2716231578, 2716231571, 2716231514, 2716231502, 2716231498], "tags": {"addr:housenumber": "321", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1024943"}}, {"type": "way", "id": 266034008, "nodes": [2716231524, 2716231520, 2716231493, 2716231485, 2716231439, 2716231478, 2716231509, 2716231510, 2716231537, 2716231547, 2716231549, 2716231552, 2716231554, 2716231555, 2716231590, 2716231583, 2716231541, 2716231529, 2716231524], "tags": {"addr:housenumber": "323", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1024942"}}, {"type": "way", "id": 266034009, "nodes": [2716231890, 2716231887, 2716231850, 2716231845, 2716231829, 2716231836, 2716231862, 2716231864, 2716231896, 2716231898, 2716231917, 2716231904, 2716231890], "tags": {"addr:housenumber": "323", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "18.3", "nycdoitt:bin": "1024964"}}, {"type": "way", "id": 266034010, "nodes": [2716231632, 2716231634, 2716231655, 2716231652, 2716231678, 2716231679, 2716231723, 2716231737, 2716231777, 2716231750, 2716231703, 2716231699, 2716231656, 2716231659, 2716231640, 2716231635, 2716231622, 2716231618, 2716231608, 2716231614, 2716231632], "tags": {"addr:housenumber": "324", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1024948"}}, {"type": "way", "id": 266034011, "nodes": [2716231549, 2716231545, 2716231518, 2716231509, 2716231478, 2716231501, 2716231536, 2716231540, 2716231558, 2716231563, 2716231567, 2716231569, 2716231606, 2716231593, 2716231560, 2716231552, 2716231549], "tags": {"addr:housenumber": "325", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "18.1", "nycdoitt:bin": "1024941"}}, {"type": "way", "id": 266034012, "nodes": [2716231898, 2716231897, 2716231868, 2716231862, 2716231836, 2716231847, 2716231876, 2716231879, 2716231902, 2716231911, 2716231928, 2716231917, 2716231898], "tags": {"addr:housenumber": "325", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "18.3", "nycdoitt:bin": "1024963"}}, {"type": "way", "id": 266034013, "nodes": [2716231737, 2716231732, 2716231685, 2716231691, 2716231665, 2716231661, 2716231638, 2716231632, 2716231614, 2716231625, 2716231653, 2716231658, 2716231684, 2716231681, 2716231705, 2716231709, 2716231728, 2716231721, 2716231756, 2716231762, 2716231797, 2716231777, 2716231737], "tags": {"addr:housenumber": "326", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1024949"}}, {"type": "way", "id": 266034014, "nodes": [2716231501, 2716231528, 2716231543, 2716231603, 2716231604, 2716231626, 2716231617, 2716231592, 2716231589, 2716231567, 2716231563, 2716231536, 2716231501], "tags": {"addr:housenumber": "327", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "18.1", "nycdoitt:bin": "1024940"}}, {"type": "way", "id": 266034015, "nodes": [2716231847, 2716231865, 2716231919, 2716231907, 2716231876, 2716231847], "tags": {"addr:housenumber": "327", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "15.5", "nycdoitt:bin": "1024962"}}, {"type": "way", "id": 266034016, "nodes": [2716231762, 2716231758, 2716231729, 2716231728, 2716231709, 2716231715, 2716231702, 2716231697, 2716231692, 2716231664, 2716231653, 2716231625, 2716231643, 2716231682, 2716231688, 2716231712, 2716231708, 2716231734, 2716231743, 2716231778, 2716231787, 2716231809, 2716231797, 2716231762], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.6", "nycdoitt:bin": "1024950"}}, {"type": "way", "id": 266034017, "nodes": [2716232009, 2716232008, 2716232003, 2716231997, 2716232028, 2716232029, 2716232037, 2716232038, 2716232032, 2716232015, 2920101570, 2716232026, 2716232014, 2716232012, 2716231958, 2716231984, 2716232009], "tags": {"addr:housenumber": "328", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "19.0", "nycdoitt:bin": "1024973"}}, {"type": "way", "id": 266034018, "nodes": [2716231543, 2716231561, 2716231609, 2716231598, 2716231615, 2716231620, 2716231623, 2716231631, 2716231646, 2716231629, 2716231603, 2716231543], "tags": {"addr:housenumber": "329", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "17.7", "nycdoitt:bin": "1024939"}}, {"type": "way", "id": 266034019, "nodes": [2716231787, 2716231783, 2716231749, 2716231755, 2716231724, 2716231718, 2716231696, 2716231682, 2716231643, 2716231671, 2716231667, 2716231668, 2716231700, 2716231711, 2716231714, 2716231747, 2716231746, 2716231768, 2716231774, 2716231803, 2716231807, 2716231826, 2716231809, 2716231787], "tags": {"addr:housenumber": "330", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.9", "nycdoitt:bin": "1024951"}}, {"type": "way", "id": 266034020, "nodes": [2716231942, 2716231947, 2716231964, 2716231950, 2716231935, 2716231925, 2716231884, 2716231895, 2716231941, 2716231942], "tags": {"addr:housenumber": "331", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "18.7", "nycdoitt:bin": "1075687"}}, {"type": "way", "id": 266034021, "nodes": [2716231895, 2716231901, 2716231959, 2716231951, 2716231962, 2716231967, 2716231990, 2716231991, 2716231980, 2716231957, 2716231952, 2716231954, 2716231944, 2716231941, 2716231895], "tags": {"addr:housenumber": "333", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "16.7", "nycdoitt:bin": "1078863"}}, {"type": "way", "id": 266034022, "nodes": [2716231901, 2716231916, 2716231929, 2716231976, 2716231973, 2716231982, 2716231987, 2716231994, 2716232006, 2716231999, 2716232005, 2716232002, 2716231996, 2716231990, 2716231967, 2716231970, 2716231965, 2716231959, 2716231901], "tags": {"addr:housenumber": "335", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "17.3", "nycdoitt:bin": "1078865"}}, {"type": "way", "id": 266034023, "nodes": [2716231833, 10910020628, 10910020626, 10910020625, 2716231824, 2716231871, 10910020608, 10910020605, 2716231920, 2716231913, 2716231905, 2716231899, 2716231900, 2716231891, 2716231885, 2716231873, 2716231878, 10910020621, 2716231861, 2716231813, 10910020627, 10910020623, 10910020624, 2716231769, 2919860948, 2919860939, 2919860937, 2919860934, 2919860933, 2919860932, 2716231607, 2716231670, 2919860946, 2919860947, 2716231810, 2919860953, 2716231833], "tags": {"building": "apartments", "name": "Ivy Tower", "nycdoitt:bin": "1024938;1085966", "start_date": "2003", "website": "https://www.ivytowernyc.com/"}}, {"type": "way", "id": 266034024, "nodes": [2716232035, 2716232039, 2716232062, 2716232098, 2716232082, 2716232035], "tags": {"addr:housenumber": "346", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "8.6", "nycdoitt:bin": "1024975"}}, {"type": "way", "id": 266034025, "nodes": [2716232062, 2716232069, 2716232100, 2716232098, 2716232062], "tags": {"addr:housenumber": "348", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "9.5", "nycdoitt:bin": "1080873"}}, {"type": "way", "id": 266034027, "nodes": [2716232069, 2716232084, 2716232105, 2716232100, 2716232069], "tags": {"addr:housenumber": "350", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "6.4", "nycdoitt:bin": "1080874"}}, {"type": "way", "id": 266034028, "nodes": [2716231670, 2716231771, 2716231790, 2716231844, 2716231875, 2716231839, 2716231820, 2716231810, 2919860947, 2919860946, 2716231670], "tags": {"addr:housenumber": "351", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "65.6", "nycdoitt:bin": "1024937"}}, {"type": "way", "id": 266034029, "nodes": [2716232051, 2716232058, 2716232064, 2716232088, 2716232110, 2716232105, 2716232084, 2716232051], "tags": {"addr:housenumber": "352", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "7.5", "nycdoitt:bin": "1024976"}}, {"type": "way", "id": 266034030, "nodes": [2716232088, 2716232095, 2716232130, 2716232133, 2716232123, 2716232110, 2716232088], "tags": {"addr:housenumber": "354", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "15.9", "nycdoitt:bin": "1078866"}}, {"type": "way", "id": 266034031, "nodes": [2716232079, 2716232085, 2716232078, 2716232081, 2716232068, 2716232073, 2716232090, 2716232103, 2716232108, 2716232135, 2716232130, 2716232095, 2716232079], "tags": {"addr:housenumber": "356", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "18.2", "nycdoitt:bin": "1024977"}}, {"type": "way", "id": 266034032, "nodes": [2716232049, 2716232043, 2716232034, 2716232036, 2716232040, 2716232046, 2716232049], "tags": {"addr:housenumber": "357", "addr:postcode": "10036", "addr:street": "West 43rd Street", "building": "yes", "height": "11.8", "nycdoitt:bin": "1024981"}}, {"type": "way", "id": 266034034, "nodes": [2716231910, 2716231932, 2716231961, 2716231923, 2716231910], "tags": {"addr:housenumber": "592", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "13.3", "nycdoitt:bin": "1024953"}}, {"type": "way", "id": 266034035, "nodes": [2716231926, 2716231914, 2716231923, 2716231961, 2716231985, 2716231948, 2716231926], "tags": {"addr:housenumber": "594", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "13.9", "nycdoitt:bin": "1024952"}}, {"type": "way", "id": 266034036, "nodes": [2716231948, 2716231985, 2716232000, 2716231975, 2716231948], "tags": {"addr:housenumber": "596", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "apartments", "height": "13.4", "nycdoitt:bin": "1024956"}}, {"type": "way", "id": 266034037, "nodes": [2716231945, 2716231975, 2716232000, 2716232025, 2716231979, 2716231978, 2716231972, 2716231945], "tags": {"addr:housenumber": "598", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "12.5", "nycdoitt:bin": "1024955"}}, {"type": "way", "id": 266034038, "nodes": [2716231972, 2716231978, 2716231979, 2716232025, 2716232031, 2716231988, 2716231972], "tags": {"addr:housenumber": "600", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "12.6", "nycdoitt:bin": "1088997"}}, {"type": "way", "id": 266034039, "nodes": [2716232040, 2716232052, 2716232061, 2716232046, 2716232040], "tags": {"addr:housenumber": "604", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.9", "nycdoitt:bin": "1024980"}}, {"type": "way", "id": 266034040, "nodes": [2716232046, 2716232061, 2716232072, 2716232055, 2716232049, 2716232046], "tags": {"addr:housenumber": "606", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "15.9", "nycdoitt:bin": "1024958"}}, {"type": "way", "id": 266034041, "nodes": [2716232055, 2716232072, 2716232093, 2716232066, 2716232055], "tags": {"addr:housenumber": "608", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.4", "nycdoitt:bin": "1024959"}}, {"type": "way", "id": 266034042, "nodes": [2716232056, 2716714101, 2716232066, 2716232093, 2716232125, 2716232090, 2716232073, 2716714102, 2716232056], "tags": {"addr:housenumber": "610", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "3.9", "nycdoitt:bin": "1024960"}}, {"type": "way", "id": 266034043, "nodes": [2716231689, 2716231647, 2716231757, 2716231794, 2716231786, 2716231738, 2716231726, 2716231689], "tags": {"addr:city": "New York", "addr:housenumber": "687", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#C6C0B0", "height": "13.6", "nycdoitt:bin": "1024968", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034044, "nodes": [2716231731, 2716231689, 2716231726, 2716231744, 2716231753, 2716231738, 2716231786, 2716231812, 2676905392, 2716231735, 2716231731], "tags": {"addr:city": "New York", "addr:housenumber": "689", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#715C46", "height": "16.0", "nycdoitt:bin": "1024969", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034045, "nodes": [2716231859, 2716231856, 2716231735, 2676905392, 2716231812, 2676905393, 2676905396, 2676905398, 2716231870, 2716231842, 2716231908, 2716232011, 2912596421, 2912596424, 2912596416, 2912596411, 5020832195, 2716231867, 2716231859], "tags": {"addr:city": "New York", "addr:housenumber": "300", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "brand": "InterContinental", "brand:wikidata": "Q1825730", "building": "yes", "name": "InterContinental New York Times Square", "nycdoitt:bin": "1088460", "official_name": "InterContinental New York Times Square", "operator": "InterContinental", "start_date": "2010", "tourism": "hotel", "website": "https://www.interconny.com/"}}, {"type": "way", "id": 266034046, "nodes": [2716231376, 2716231353, 2716231360, 2716231363, 2716231383, 2716231379, 2716231376], "tags": {"addr:housenumber": "217", "addr:postcode": "10036", "addr:street": "West 42nd Street", "building": "yes", "height": "18.3", "name": "Times Square Theater", "nycdoitt:bin": "1024684", "wikidata": "Q14707479", "wikipedia": "en:Times Square Theater"}}, {"type": "way", "id": 266034047, "nodes": [2716231359, 2716231347, 2716231345, 2716231348, 2716231351, 2716231370, 2716231366, 2716231359], "tags": {"addr:city": "New York", "addr:housenumber": "209", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "amenity": "theatre", "architect": "Albert Westover", "building": "theatre", "capacity": "499", "ele": "16", "gnis:feature_id": "2083207", "height": "21.1", "name": "New Victory Theater", "nycdoitt:bin": "1024685", "old_name": "Theatre Republic;Belasco Theatre;Republic Theatre;Minsky's Burlesque;The Victory", "operator": "New 42nd Street", "theatre:genre": "musical", "website": "https://newvictory.org/", "wheelchair": "yes", "wikidata": "Q1467005", "wikipedia": "en:New Victory Theater"}}, {"type": "way", "id": 266034048, "nodes": [2676905393, 2716231766, 2716231637, 2716231662, 2716231706, 2716231740, 2716231761, 2716231832, 2676905393], "tags": {"building": "yes", "building:colour": "beige", "building:material": "brick", "height": "24.6", "nycdoitt:bin": "1088466", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034049, "nodes": [2716231419, 2716231413, 2716231411, 2716231415, 2716231407, 2716231410, 2716231431, 2716231423, 2716231427, 2716231425, 2716231419], "tags": {"building": "yes", "height": "56.7", "nycdoitt:bin": "1024947"}}, {"type": "way", "id": 266034050, "nodes": [2716231366, 2716231370, 2716231351, 1752785237, 2716231353, 2716231376, 2716231379, 2716231395, 1752785248, 2716231389, 2716231387, 2716231366], "tags": {"addr:city": "New York", "addr:housenumber": "213", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "amenity": "theatre", "building": "yes", "capacity": "1622", "ele": "15", "facebook": "https://www.facebook.com/lyricbroadway", "gnis:feature_id": "2083206", "height": "23.6", "instagram": "https://www.instagram.com/lyricbroadway/", "name": "Lyric Theatre", "nycdoitt:bin": "1024691", "old_name": "Ford Center for the Performing Arts;Hilton Theatre;Foxwoods Theatre", "operator": "Ambassador Theatre Group", "owner": "New 42nd Street", "start_date": "1998", "theatre:genre": "musical", "twitter": "https://twitter.com/lyricbroadway", "website": "https://www.lyricbroadway.com/", "wikidata": "Q5477291", "wikipedia": "en:Lyric Theatre (New York City, 1998)"}}, {"type": "way", "id": 266034051, "nodes": [2716231929, 2716231936, 2716231933, 2716231931, 2716231955, 2716232019, 2716232018, 2716232016, 2716231994, 2716231987, 2716231976, 2716231929], "tags": {"building": "yes", "height": "18.9", "nycdoitt:bin": "1075686"}}, {"type": "way", "id": 266034052, "nodes": [2716231888, 2716231858, 2716231851, 2716231848, 2716231844, 2716231790, 2716231771, 2716231789, 2716231841, 2716231932, 2716231910, 2716231922, 2716231945, 2716231972, 2716231988, 10909842278, 2716231993, 10909842304, 10909842300, 10909842301, 2716231920, 10910020605, 10910020608, 2716231871, 2716231882, 2716231881, 10910020613, 2716231888], "tags": {"building": "yes", "height": "73.2", "nycdoitt:bin": "1024935;1086106"}}, {"type": "way", "id": 266034053, "nodes": [2716231780, 2716231784, 2716231804, 2716231799, 2716231827, 2716231835, 2716231823, 2716231791, 2716231793, 2716231772, 2716231761, 2716231740, 2716231741, 2716231717, 2716231706, 2716231662, 2716231694, 2716231780], "tags": {"building": "yes", "building:colour": "#60433F", "height": "17.6", "nycdoitt:bin": "1024966", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034054, "nodes": [2716231397, 2716231402, 2716231409, 2716231404, 2716231397], "tags": {"building": "yes", "height": "82.7", "nycdoitt:bin": "1085096"}}, {"type": "way", "id": 266034055, "nodes": [2716232039, 2716232042, 2716232069, 2716232062, 2716232039], "tags": {"building": "yes", "height": "5.6", "nycdoitt:bin": "1080875"}}, {"type": "way", "id": 266034056, "nodes": [2716231402, 2965563473, 2965563471, 2965563470, 2716231401, 2965563472, 5020832160, 2965563478, 2716231421, 1752919044, 2965563479, 2676905390, 2716231409, 2716231402], "tags": {"addr:city": "New York", "addr:housenumber": "270", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 43nd Street", "brand": "Westin", "brand:wikidata": "Q1969162", "building": "hotel", "dog": "yes", "fax": "+1 212-201-2799", "fitness_centre": "yes", "internet_access": "wlan", "internet_access:fee": "yes", "name": "The Westin", "nycdoitt:bin": "1087141", "official_name": "The Westin New York at Times Square", "operator": "Marriott International", "phone": "+1 212-201-2700", "service:bicycle:rental": "yes", "smoking": "no", "start_date": "2002", "tourism": "hotel", "website": "https://www.marriott.com/hotels/travel/nycsw-the-westin-new-york-at-times-square/", "wikidata": "Q123516111"}}, {"type": "way", "id": 266034057, "nodes": [2716232036, 2716232045, 2716232052, 2716232040, 2716232036], "tags": {"addr:city": "New York", "addr:housenumber": "602", "addr:state": "NY", "addr:street": "9th Avenue", "amenity": "cafe", "building": "yes", "building:levels": "1", "building:use": "foodservice", "contact:facebook": "GRIND-NYC-102539557924065", "contact:instagram": "grind_nyc", "cuisine": "coffee_shop", "delivery": "yes", "email": "info@grindnyc.com", "height": "3.0", "name": "Grind", "nycdoitt:bin": "1024957", "opening_hours": "07:00-19:00", "phone": "+1 646-755-8073", "takeaway": "yes", "website": "https://grindnyc.com"}}, {"type": "way", "id": 266034058, "nodes": [2716231405, 2716231407, 2716231415, 2716231411, 2716231405], "tags": {"building": "yes", "height": "9.0", "nycdoitt:bin": "1024946"}}, {"type": "way", "id": 266034059, "nodes": [2716231647, 2716231586, 2716231637, 2716231766, 2716231757, 2716231647], "tags": {"building": "yes", "building:colour": "#AC947A", "height": "23.2", "nycdoitt:bin": "1024967", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266034060, "nodes": [2716231461, 2716231525, 2716231628, 2716231596, 2716231481, 2716231461], "tags": {"building": "yes", "height": "64.8", "nycdoitt:bin": "1024945"}}, {"type": "way", "id": 266034062, "nodes": [2716232042, 2716232048, 2716232051, 2716232084, 2716232069, 2716232042], "tags": {"building": "yes", "height": "6.6", "nycdoitt:bin": "1080876"}}, {"type": "way", "id": 266034064, "nodes": [2716232053, 2716232059, 2716232075, 2716232064, 2716232058, 2716232053], "tags": {"building": "yes", "height": "8.5", "nycdoitt:bin": "1078869"}}, {"type": "way", "id": 266034067, "nodes": [2716232108, 2716232128, 2716232137, 2716232140, 2716232135, 2716232108], "tags": {"building": "yes", "height": "10.5", "nycdoitt:bin": "1024978"}}, {"type": "way", "id": 266034069, "nodes": [2716232112, 2716232103, 2716232090, 2716232125, 2716232137, 2716232128, 2716232112], "tags": {"building": "yes", "height": "7.0", "nycdoitt:bin": "1024979"}}, {"type": "way", "id": 266034071, "nodes": [2965563473, 2716231402, 2716231397, 2716231393, 7653858220, 2716231378, 2965563470, 2965563471, 2965563473], "tags": {"building": "yes", "height": "35", "nycdoitt:bin": "1087142"}}, {"type": "way", "id": 266034074, "nodes": [2716231383, 2716231363, 1752785204, 2716231374, 7653858223, 7653858220, 2716231393, 2716231391, 2716231383], "tags": {"addr:housenumber": "227", "addr:postcode": "10036", "addr:street": "West 42nd Street", "air_conditioning": "yes", "amenity": "theatre", "architect": "George Keister", "architect:wikipedia": "en:George Keister", "building": "yes", "building:architecture": "neo-renaissance", "building:use": "cultural", "capacity": "740", "email": "tickets@roundabouttheatre.org", "height": "54.4", "name": "American Airlines Theatre", "nycdoitt:bin": "1024683", "old_name": "Selwyn Theatre", "operator": "Roundabout Theatre Company", "phone": "+1 212-719-1300", "start_date": "1918", "website": "https://www.roundabouttheatre.org/theatres-and-venues/american-airlines-theatre/", "wheelchair": "yes", "wikidata": "Q4742962", "wikipedia": "en:American Airlines Theatre"}}, {"type": "way", "id": 266034075, "nodes": [2716231969, 2716714099, 2716232035, 2716232082, 2716232037, 2716232029, 2716232009, 2716231984, 2716231969], "tags": {"access": "yes", "amenity": "parking", "building": "yes", "fee": "yes", "height": "8.5", "nycdoitt:bin": "1024974", "parking": "multi-storey"}}, {"type": "way", "id": 266034077, "nodes": [2716231419, 2716231425, 2716231444, 2716231479, 2716231584, 2716231516, 2716231413, 2716231419], "tags": {"building": "yes", "height": "23.4", "nycdoitt:bin": "1083728"}}, {"type": "way", "id": 266034080, "nodes": [2716231355, 2716231356, 2716231343, 2716231341, 2716231339, 2716231336, 2716231332, 2716231328, 2716231324, 2716231320, 2716231309, 2716231305, 2716231301, 2716231297, 2716231292, 2716231289, 2716231288, 2716231293, 2716231296, 2716231300, 2716231303, 2716231307, 2716231311, 2716231313, 2716231322, 2716231326, 2716231329, 2716231333, 2716231337, 3447488959, 2716231347, 2716231359, 2716231366, 2716231387, 2716231382, 2716231386, 2716231368, 2716231364, 2716231355], "tags": {"addr:city": "New York", "addr:housenumber": "3", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "Times Square", "alt_name": "Thompson Reuters Building", "building": "commercial", "height": "169", "name": "3 Times Square", "nycdoitt:bin": "1024686", "start_date": "2001", "wikidata": "Q4636552", "wikipedia": "en:3 Times Square"}}, {"type": "way", "id": 266044112, "nodes": [2716261221, 8393241418, 8393222916, 2716261229, 2716261235, 2716261228, 2716261221], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "427", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "building": "yes", "height": "17.9", "nycdoitt:bin": "1083747"}}, {"type": "way", "id": 266044719, "nodes": [2716264154, 2716261228, 2716261235, 2716264159, 2716264155, 2716264156, 2716264157, 2716264158, 2716264153, 2716264152, 2716264151, 2716264149, 2716264150, 2716264148, 2716264154], "tags": {"building": "yes", "height": "14.0", "nycdoitt:bin": "1083748"}}, {"type": "way", "id": 266084216, "nodes": [2709630408, 2716819770, 2649092004, 2709630354, 2709630334, 2709630341, 2709630379, 2709630408], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "330", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "alt_name": "Fairfield by Marriott", "branch": "New York Manhattan/Times Square", "brand": "Fairfield Inn & Suites", "brand:wikidata": "Q5430314", "breakfast": "yes", "building": "hotel", "dog": "yes", "fitness_centre": "yes", "internet_access": "wlan", "internet_access:fee": "no", "name": "Fairfield Inn & Suites", "name:zh": "\u7ebd\u7ea6\u66fc\u54c8\u987f/\u65f6\u4ee3\u5e7f\u573aFairfield Inn", "official_name": "Fairfield Inn & Suites by Marriott", "opening_hours": "24/7", "operator": "Marriott", "phone": "+1 212-967-9494", "ref": "NYCFI", "smoking": "no", "tourism": "hotel", "website": "https://www.marriott.com/hotels/travel/nycfi-fairfield-inn-and-suites-new-york-manhattan-times-square/", "wheelchair": "yes"}}, {"type": "way", "id": 266084217, "nodes": [1636820396, 2716819760, 2716819764, 2649092004, 2709630354, 2709630334, 2709630326, 2716819747, 2716819744, 2716819751, 2716819754, 1636820396], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "326", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "branch": "Midtown Times Square", "brand": "Four Points by Sheraton", "brand:wikidata": "Q1439966", "breakfast": "yes", "building": "hotel", "building:levels": "32", "dog": "fee", "fax": "+1 917-351-4988", "fitness_centre": "yes", "internet_access": "wlan", "internet_access:fee": "no", "name": "Four Points by Sheraton", "official_name": "Four Points by Sheraton Midtown \u2013 Times Square", "operator": "Sheraton", "phone": "+1 212-967-8585", "rooms": "240", "short_name": "Four Points", "smoking": "no", "tourism": "hotel", "website": "https://www.marriott.com/hotels/travel/nyctf-four-points-midtown-times-square/", "wheelchair": "limited"}}, {"type": "way", "id": 266097831, "nodes": [2709630322, 2709630307, 2709630253, 2709630211, 2709630226, 2709630243, 2709630322], "tags": {"addr:city": "New York", "addr:housenumber": "310", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "air_conditioning": "yes", "branch": "Times Square", "brand": "Independent", "building": "commercial", "building:levels": "42", "email": "info@alizhotel.com", "fax": "+1 646-609-5123", "height": "122.2", "internet_access": "yes", "name": "Aliz Hotel", "phone": "+1 646-609-5122", "start_date": "2017", "tourism": "hotel", "website": "https://www.alizhotel.com/", "wheelchair": "yes"}}, {"type": "way", "id": 266108507, "nodes": [2709402827, 2709402721, 2709402639, 2716942480, 2709402649, 2709402758, 2709402827], "tags": {"addr:city": "New York", "addr:housenumber": "312", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "air_conditioning": "yes", "branch": "Times Square-South", "brand": "Homewood Suites", "brand:wikidata": "Q5890701", "building": "yes", "internet_access": "yes", "internet_access:fee": "no", "name": "Homewood Suites by Hilton", "official_name": "Homewood Suites by Hilton", "payment:american_express": "yes", "payment:credit_cards": "yes", "payment:discover_card": "yes", "payment:mastercard": "yes", "payment:visa": "yes", "phone": "+1-212-244-0644", "rooms": "293", "smoking": "no", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycmmhw-homewood-suites-new-york-midtown-manhattan-times-square-south-ny/", "wheelchair": "yes"}}, {"type": "way", "id": 266108508, "nodes": [4637090530, 2709402873, 2709402838, 2709402826, 2709402798, 2709402756, 4637090530], "tags": {"addr:city": "New York", "addr:housenumber": "326", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 37th Street", "branch": "New York Times Square South", "brand": "Hilton Garden Inn", "brand:wikidata": "Q1162859", "building": "yes", "building:levels": "22", "height": "70.4", "name": "Hilton Garden Inn", "ref": "NYCTHGI", "start_date": "2016", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycthgi-hilton-garden-inn-new-york-times-square-south/"}}, {"type": "way", "id": 266143298, "nodes": [2717223541, 5651033387, 2717223543, 2717223551, 5651033396, 5651033394, 5651033392, 5651033388, 5651033389, 5651033393, 5651033395, 2717223549, 2717223541], "tags": {"addr:city": "New York", "addr:housenumber": "234", "addr:postcode": "10036", "addr:street": "West 42nd Street", "amenity": "cinema", "brand": "AMC", "brand:wikidata": "Q294721", "building": "yes", "height": "35", "name": "AMC Empire 25", "nycdoitt:bin": "1024669", "opening_hours": "\"goes according to first and last movie times\"", "phone": "+12123982597", "website": "https://www.amctheatres.com/movie-theatres/new-york-city/amc-empire-25", "wikidata": "Q15032136", "wikipedia": "en:Empire Theatre (42nd Street)"}}, {"type": "way", "id": 266143299, "nodes": [2717223442, 2717223448, 2717223464, 2717223472, 2717223496, 2717223483, 2717223442], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "252", "addr:postcode": "10021", "addr:street": "West 40th Street", "building": "yes", "height": "24.2", "nycdoitt:bin": "1014510"}}, {"type": "way", "id": 266143301, "nodes": [2717223451, 2717223457, 2717223459, 2717223491, 2717223489, 2717223458, 2717223453, 2717223451], "tags": {"addr:city": "New York", "addr:housenumber": "206", "addr:postcode": "10018", "addr:street": "West 41st Street", "building": "yes", "height": "19.8", "name": "Equity Point", "nycdoitt:bin": "1024650", "tourism": "hostel"}}, {"type": "way", "id": 266143302, "nodes": [2717223407, 2717223411, 2717223427, 2717223424, 2717223422, 2717223415, 2717223407], "tags": {"addr:housenumber": "202", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "57.1", "nycdoitt:bin": "1014505"}}, {"type": "way", "id": 266143303, "nodes": [2717223403, 2717223399, 2717223395, 2717223401, 2717223419, 2717223416, 2717223420, 2717223411, 2717223403], "tags": {"addr:housenumber": "205", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "69.4", "nycdoitt:bin": "1080570"}}, {"type": "way", "id": 266143304, "nodes": [2717223434, 2717223437, 2717223462, 2717223452, 2717223446, 2717223434], "tags": {"addr:housenumber": "211", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "32.3", "nycdoitt:bin": "1024646"}}, {"type": "way", "id": 266143305, "nodes": [2717223462, 2717223437, 2717223439, 2717223467, 2717223466, 2717223462], "tags": {"addr:housenumber": "213", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "22.1", "nycdoitt:bin": "1024645"}}, {"type": "way", "id": 266143306, "nodes": [2717223467, 2717223439, 2717223445, 2717223484, 2717223478, 2717223467], "tags": {"addr:housenumber": "215", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "54.3", "nycdoitt:bin": "1024644"}}, {"type": "way", "id": 266143307, "nodes": [2717223518, 2965599826, 2965599829, 2965599953, 2717223530, 5651033375, 2717223527, 2717223518], "tags": {"addr:housenumber": "218", "addr:postcode": "10036", "addr:street": "West 42nd Street", "brand": "Aldo", "brand:wikidata": "Q2832297", "building": "yes", "height": "12.7", "name": "Aldo", "nycdoitt:bin": "1024661", "shop": "shoes", "website": "https://www.aldoshoes.com/us/en_US/store-locator/store/2529"}}, {"type": "way", "id": 266143308, "nodes": [2965599826, 5651033379, 2965599827, 2717223522, 2717223511, 2717223513, 2965599935, 2965599938, 2965599961, 5651033402, 2717223535, 5651033382, 2965599963, 5651033386, 5651033380, 5651033383, 2965599957, 5651033381, 2717223530, 2965599953, 2965599829, 2965599826], "tags": {"addr:housenumber": "220", "addr:postcode": "10036", "addr:street": "West 42nd Street", "architect": "Willauer, Shape & Bready", "building": "yes", "heritage": "2", "heritage:operator": "nrhp", "heritage:website": "https://www.nps.gov/subjects/nationalregister/index.htm", "name": "Candler Building", "nrhp:criteria": "C", "nrhp:inscription_date": "1982-07-08", "nycdoitt:bin": "1024663", "ref:nrhp": "82003368", "start_date": "1914", "wikidata": "Q5031982", "wikipedia": "en:Candler Building (New York City)"}}, {"type": "way", "id": 266143309, "nodes": [2717223478, 2717223484, 2717223493, 2717223507, 2717223501, 2717223478], "tags": {"addr:city": "New York", "addr:housenumber": "220", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 41st Street", "alt_name": "Hampton Inn", "branch": "Manhattan/Times Square Central", "brand": "Hampton", "brand:wikidata": "Q5646230", "building": "hotel", "building:levels": "30", "height": "90", "name": "Hampton", "nycdoitt:bin": "1080831", "official_name": "Hampton by Hilton", "phone": "+1 212-221-1188", "ref": "NYCFFHX", "start_date": "2015", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycffhx-hampton-manhattan-times-square-central/"}}, {"type": "way", "id": 266143310, "nodes": [2717223401, 2717223409, 2717223418, 2717223417, 2717223425, 2717223419, 2717223401], "tags": {"addr:housenumber": "225", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "48.9", "nycdoitt:bin": "1014500"}}, {"type": "way", "id": 266143311, "nodes": [2717223426, 2717223423, 2717223421, 2717223418, 2717223409, 2717223430, 2717223438, 2717223431, 2717223429, 2717223426], "tags": {"addr:housenumber": "231", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "50.4", "nycdoitt:bin": "1014499"}}, {"type": "way", "id": 266143312, "nodes": [2717223429, 2717223431, 2717223447, 2717223440, 2717223429], "tags": {"addr:housenumber": "236", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "12.1", "nycdoitt:bin": "1014507"}}, {"type": "way", "id": 266143313, "nodes": [2717223431, 2717223438, 2717223470, 2717223447, 2717223431], "tags": {"addr:housenumber": "240", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "56.2", "nycdoitt:bin": "1014508"}}, {"type": "way", "id": 266143314, "nodes": [2717223438, 2717223442, 2717223483, 2717223470, 2717223438], "tags": {"addr:housenumber": "250", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "55.1", "nycdoitt:bin": "1014509"}}, {"type": "way", "id": 266143315, "nodes": [2717223438, 2717223430, 2717223433, 2717223448, 2717223442, 2717223438], "tags": {"addr:housenumber": "251", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "64.8", "nycdoitt:bin": "1014498"}}, {"type": "way", "id": 266143316, "nodes": [2717223448, 2717223433, 2717223444, 2717223456, 2717223473, 2717223464, 2717223448], "tags": {"addr:housenumber": "257", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "yes", "height": "61.1", "nycdoitt:bin": "1014497"}}, {"type": "way", "id": 266143317, "nodes": [2717223472, 2717223485, 2717223480, 2717223488, 2717223492, 2717223499, 2717223503, 2717223496, 2717223472], "tags": {"addr:housenumber": "264", "addr:postcode": "10018", "addr:street": "West 40th Street", "building": "yes", "height": "76.5", "nycdoitt:bin": "1014511"}}, {"type": "way", "id": 266143318, "nodes": [2717223456, 2717223444, 2717223449, 2717223465, 2717223461, 2717223456], "tags": {"addr:housenumber": "269", "addr:postcode": "10018", "addr:street": "West 39th Street", "building": "commercial", "building:levels": "6", "height": "13.3", "nycdoitt:bin": "1014496"}}, {"type": "way", "id": 266143319, "nodes": [2717223567, 1709910428, 1709910421, 1709916298, 1709910413, 1709910444, 2717223567], "tags": {"addr:housenumber": "347", "addr:postcode": "10036", "addr:street": "West 41st Street", "building": "yes", "height": "8.9", "nycdoitt:bin": "1024925"}}, {"type": "way", "id": 266143320, "nodes": [1709910416, 1709916296, 1709910443, 1709910415, 2717223568, 2717223570, 2717223573, 2717223574, 1709910447, 1709910416], "tags": {"addr:housenumber": "355", "addr:postcode": "10036", "addr:street": "West 41st Street", "building": "yes", "building:colour": "#9AB2A4", "height": "17.0", "nycdoitt:bin": "1024932"}}, {"type": "way", "id": 266143321, "nodes": [2717223398, 2717223407, 2717223415, 2717223405, 2717223398], "tags": {"addr:housenumber": "552", "addr:postcode": "10018", "addr:street": "7th Avenue", "building": "yes", "height": "21.7", "nycdoitt:bin": "1014502"}}, {"type": "way", "id": 266143323, "nodes": [2717223405, 2717223415, 2717223422, 2717223413, 2717223405], "tags": {"addr:housenumber": "556", "addr:postcode": "10018", "addr:street": "7th Avenue", "building": "yes", "height": "11.8", "nycdoitt:bin": "1014503"}}, {"type": "way", "id": 266143324, "nodes": [2717223450, 2717223454, 2717223441, 2717223435, 2717223446, 2717223452, 2717223457, 2717223451, 2717223453, 2717223450], "tags": {"addr:housenumber": "566", "addr:postcode": "10018", "addr:street": "7th Avenue", "building": "yes", "height": "27.8", "nycdoitt:bin": "1024648"}}, {"type": "way", "id": 266143325, "nodes": [2717223570, 2717223575, 2717223579, 2717223573, 2717223570], "tags": {"addr:housenumber": "568", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.4", "nycdoitt:bin": "1024933"}}, {"type": "way", "id": 266143326, "nodes": [2717223574, 2717223573, 2717223579, 2717223583, 2717223576, 2717223574], "tags": {"addr:housenumber": "570", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.6", "nycdoitt:bin": "1024923"}}, {"type": "way", "id": 266143327, "nodes": [2717223576, 2717223583, 2717223586, 2717223580, 2717223578, 2717223576], "tags": {"addr:housenumber": "572", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.7", "nycdoitt:bin": "1024931"}}, {"type": "way", "id": 266143328, "nodes": [2717223582, 2717223581, 2717223580, 2717223586, 2717223588, 2717223585, 2717223582], "tags": {"addr:housenumber": "574", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.4", "nycdoitt:bin": "1024930"}}, {"type": "way", "id": 266143329, "nodes": [2717223588, 2717223589, 2717223587, 2717223584, 2717223585, 2717223588], "tags": {"addr:housenumber": "576", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "13.4", "nycdoitt:bin": "1024934"}}, {"type": "way", "id": 266143330, "nodes": [2717223479, 2717223475, 2717223476, 2717223471, 2717223468, 2717223461, 2717223465, 2717223482, 2717223490, 2717223481, 2717223479], "tags": {"addr:housenumber": "606", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "17.2", "nycdoitt:bin": "1014494"}}, {"type": "way", "id": 266143331, "nodes": [2717223486, 2717223471, 2717223476, 2717223481, 2717223490, 2717223494, 2717223487, 2717223486], "tags": {"addr:housenumber": "608", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "11.6", "nycdoitt:bin": "1014495"}}, {"type": "way", "id": 266143332, "nodes": [2717223487, 2717223494, 2717223498, 2717223492, 2717223488, 2717223487], "tags": {"addr:housenumber": "610", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "8.4", "nycdoitt:bin": "1014514"}}, {"type": "way", "id": 266143334, "nodes": [2717223492, 2717223498, 2717223504, 2717223499, 2717223492], "tags": {"addr:housenumber": "612", "addr:postcode": "10018", "addr:street": "8th Avenue", "building": "yes", "height": "8.4", "nycdoitt:bin": "1014513"}}, {"type": "way", "id": 266143337, "nodes": [2717223455, 2717223474, 2717223466, 2717223467, 2717223478, 2717223501, 1752683398, 2717223491, 2717223459, 2717223455], "tags": {"addr:city": "New York", "addr:housenumber": "208", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 41st Street", "air_conditioning": "yes", "amenity": "theatre", "building": "theatre", "height": "22.9", "name": "Nederlander Theatre", "nycdoitt:bin": "1024651", "official_name": "David T. Nederlander Theatre", "start_date": "1921", "wikidata": "Q12063656", "wikipedia": "en:Nederlander Theatre"}}, {"type": "way", "id": 266143341, "nodes": [2717223543, 5651033387, 2717223541, 2717223537, 2717223528, 2717223539, 2717223540, 2717223542, 2717223546, 2717223555, 2965549544, 2965549545, 2965549546, 2965549547, 2965549548, 2965549550, 2965549551, 2965549549, 2717223558, 5020832150, 2717223556, 2717223553, 2717223551, 2717223543], "tags": {"addr:city": "New York", "addr:housenumber": "11", "addr:postcode": "10036", "addr:street": "8th Avenue", "alt_name": "Times Square Plaza", "building": "commercial", "name": "11 Times Square", "nycdoitt:bin": "1087978", "start_date": "2011", "wikidata": "Q4547779", "wikipedia": "en:Eleven Times Square"}}, {"type": "way", "id": 266143343, "nodes": [2717223577, 2717223578, 2717223580, 2717223581, 2717223584, 2717223587, 2717223589, 2717223590, 1709910398, 1709910446, 1709910440, 2717223577], "tags": {"building": "yes", "height": "13.6", "nycdoitt:bin": "1024929"}}, {"type": "way", "id": 266143344, "nodes": [2656672098, 2656672095, 2717223505, 2717223506, 2717223511, 2717223522, 2965599827, 5651033379, 2965599826, 2717223518, 2717223527, 5651033374, 5651033378, 1752679995, 2717223526, 2717223515, 2717223514, 2656672098], "tags": {"addr:city": "New York", "addr:housenumber": "214", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "air_conditioning": "yes", "amenity": "theatre", "building": "yes", "ele": "16", "gnis:feature_id": "2083208", "height": "38.2", "name": "New Amsterdam Theatre", "nycdoitt:bin": "1024660", "opening_hours:covid19": "off", "ref:nrhp": "80002664", "start_date": "1903", "theatre:genre": "musical", "wikidata": "Q2004827", "wikipedia": "en:New Amsterdam Theatre"}}, {"type": "way", "id": 266143345, "nodes": [2717223493, 2717223484, 2717223445, 2717223443, 2717223469, 1514463000, 2717223477, 2717223497, 2717223495, 2717223500, 2717223502, 2717223509, 2717223512, 2717223507, 2717223493], "tags": {"building": "yes", "height": "90.4", "nycdoitt:bin": "1080830"}}, {"type": "way", "id": 266143346, "nodes": [2717223422, 2717223424, 4770624005, 2717223414, 2717223413, 2717223422], "tags": {"building": "yes", "height": "11.8", "nycdoitt:bin": "1014504"}}, {"type": "way", "id": 266143348, "nodes": [2717223428, 2717223434, 2717223446, 2717223435, 2717223428], "tags": {"addr:city": "New York", "addr:housenumber": "207", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 40th Street", "building": "yes", "height": "107.9", "name": "Margaritaville Resort", "nycdoitt:bin": "1024647", "tourism": "hotel", "website": "https://www.margaritavilleresorts.com/margaritaville-resort-times-square"}}, {"type": "way", "id": 266143350, "nodes": [2717223449, 2717223460, 2717223482, 2717223465, 2717223449], "tags": {"addr:housename": "The Britex Bldg", "addr:street": "8th Avenue", "building": "yes", "height": "48.8", "nycdoitt:bin": "1014493"}}, {"type": "way", "id": 266143351, "nodes": [2717223411, 2717223420, 2717223432, 2717223427, 2717223411], "tags": {"building": "yes", "height": "9.5", "nycdoitt:bin": "1080571"}}, {"type": "way", "id": 266143352, "nodes": [2717223568, 2717223571, 2717223575, 2717223570, 2717223568], "tags": {"building": "yes", "height": "23.7", "nycdoitt:bin": "1077354"}}, {"type": "way", "id": 266143353, "nodes": [2717223499, 2717223504, 2717223508, 2717223503, 2717223499], "tags": {"building": "yes", "height": "17.1", "nycdoitt:bin": "1014512"}}, {"type": "way", "id": 266143354, "nodes": [2717223393, 2717223395, 2717223399, 2717223407, 2717223398, 2717223393], "tags": {"building": "yes", "height": "94.3", "nycdoitt:bin": "1014501"}}, {"type": "way", "id": 266143355, "nodes": [2717223458, 2717223489, 2717223463, 2717223441, 2717223454, 2717223458], "tags": {"building": "yes", "height": "77.8", "nycdoitt:bin": "1024649"}}, {"type": "way", "id": 266143356, "nodes": [2717223563, 2717223567, 1709910419, 1709910420, 1709910450, 5858715824, 5858715823, 5858715821, 5858715822, 2717223572, 2845707122, 2845707121, 2845707119, 2845707118, 2845707116, 2845707115, 2845707111, 2845707108, 2845707106, 2717223563], "tags": {"addr:city": "New York", "addr:housenumber": "340", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "amenity": "post_office", "branch": "Times Square Station", "brand": "United States Post Office", "brand:wikidata": "Q668687", "building": "public", "check_date": "2024-10-11", "fax": "+1 212-502-0458", "height": "22.3", "name": "United States Post Office", "nycdoitt:bin": "1024927", "opening_hours": "Mo-Fr 06:00-17:30; Sa 06:00-14:00 open \"Lobby\" || Mo-Fr 10:00-17:30 open \"Retail\"", "operator": "United States Postal Service", "operator:short": "USPS", "operator:type": "public", "operator:website": "https://www.usps.com", "operator:wikidata": "Q668687", "operator:wikipedia": "en:United States Postal Service", "phone": "+1 212-502-0424", "postal_code": "10036", "short_name": "USPS", "website": "https://tools.usps.com/go/POLocatorDetailsAction!input.action?locationType=po&locationID=1384689"}}, {"type": "way", "id": 266143357, "nodes": [2717223564, 2717223562, 2845707101, 2717223560, 2845706800, 2717223563, 2845707106, 2845707108, 2845707111, 2845707115, 2845707116, 2845707118, 2845707119, 2845707121, 2845707122, 2717223572, 2717223569, 2845707117, 2845707114, 2845707110, 2845707109, 2845707107, 2717223566, 2717223564], "tags": {"addr:housenumber": "330", "addr:street": "West 42nd Street", "alt_name": "330 West 42nd Street", "building": "commercial", "name": "McGraw-Hill Building", "nycdoitt:bin": "1024926", "ref:nrhp": "80002701", "start_date": "1931", "wikidata": "Q3303658", "wikipedia": "en:330 West 42nd Street"}}, {"type": "way", "id": 266143358, "nodes": [2717223513, 2717223528, 2717223537, 2717223541, 2717223549, 2717223550, 5651033413, 5651033407, 5651033399, 5651033416, 5651034223, 5651034222, 5651034226, 5651033403, 5651033420, 5651033404, 5603569788, 5651033406, 5651033400, 5651033405, 2717223535, 5651033402, 2965599961, 2965599938, 2965599935, 2717223513], "tags": {"addr:street": "West 41st Street", "building": "yes", "building:part": "yes", "nycdoitt:bin": "1024665", "start_date": "2000"}}, {"type": "way", "id": 266143359, "nodes": [2717223416, 2717223419, 2717223425, 2717223426, 2717223429, 2717223440, 2717223432, 2717223420, 2717223416], "tags": {"building": "yes", "height": "53.1", "nycdoitt:bin": "1014506"}}, {"type": "way", "id": 266143361, "nodes": [2965689769, 2965689765, 2965689763, 2656672091, 4770624008, 2656672093, 2965689762, 2656672095, 2656672098, 2717223514, 2717223525, 2717223521, 2656672116, 4770624009, 2656672109, 2965689790, 2965689792, 2965689793, 2965689791, 2965689788, 2965689786, 2965689783, 2965689780, 2965689778, 2965689776, 2965689774, 2965689772, 2965689769], "tags": {"building": "yes", "name": "5 Times Square", "nycdoitt:bin": "1024656", "start_date": "2002", "wikidata": "Q43866590", "wikipedia": "en:5 Times Square"}}, {"type": "way", "id": 266149297, "nodes": [2717294056, 1751640908, 2653624225, 2653624219, 2653624216, 1739195064, 1751640916, 2717294052, 2717294064, 2717294063, 2717294062, 2717294056], "tags": {"addr:city": "New York", "addr:housenumber": "243", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 47th Street", "amenity": "theatre", "building": "theatre", "ele": "15", "gnis:feature_id": "2083223", "height": "22.1", "name": "Barrymore Theatre", "nycdoitt:bin": "1024755", "official_name": "Ethel Barrymore Theatre", "start_date": "1928", "wheelchair": "yes", "wikidata": "Q5403074", "wikipedia": "en:Ethel Barrymore Theatre"}}, {"type": "way", "id": 266149298, "nodes": [2717293946, 2717293947, 2717293945, 2717293950, 2717293958, 2717293961, 2717293962, 1752663275, 2717293959, 2717293946], "tags": {"addr:city": "New York", "addr:housenumber": "242", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "height": "20.7", "name": "Bernard B. Jacobs Theatre", "nycdoitt:bin": "1024716", "start_date": "1927", "wikidata": "Q4892910", "wikipedia": "en:Bernard B. Jacobs Theatre"}}, {"type": "way", "id": 266149299, "nodes": [2717293939, 2717293949, 2717293948, 2717293952, 2717293944, 2717293942, 2717293940, 1751737194, 2717293928, 2717293939], "tags": {"addr:city": "New York", "addr:housenumber": "222", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "height": "21.0", "name": "Booth Theatre", "nycdoitt:bin": "1080841", "start_date": "1913", "wheelchair": "no", "wikidata": "Q3527434", "wikipedia": "en:Booth Theatre"}}, {"type": "way", "id": 266149300, "nodes": [2717293937, 2717293925, 2717293924, 2717293922, 2717293921, 1752649769, 2717293934, 2717293945, 2717293947, 2717293946, 2717293937], "tags": {"addr:city": "New York", "addr:housenumber": "235", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "theatre", "building": "theatre", "height": "20.9", "name": "Broadhurst Theatre", "nycdoitt:bin": "1024713", "start_date": "1917", "wikidata": "Q4972203", "wikipedia": "en:Broadhurst Theatre"}}, {"type": "way", "id": 266149301, "nodes": [2717294038, 2639531811, 2717294045, 2639531821, 2717294055, 1752808065, 2717294051, 2717294038], "tags": {"addr:city": "New York", "addr:housenumber": "256", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 47th Street", "amenity": "theatre", "building": "theatre", "height": "20.0", "name": "Lena Horne Theatre", "name:etymology:wikidata": "Q112307", "nycdoitt:bin": "1024747", "old_name": "Brooks Atkinson Theatre", "start_date": "1926", "wikidata": "Q4974974", "wikipedia": "en:Lena Horne Theatre"}}, {"type": "way", "id": 266149302, "nodes": [2717293937, 2717293946, 2717293959, 1752663274, 2717293955, 2717293954, 2717293953, 2717293949, 2717293939, 2717293937], "tags": {"addr:city": "New York", "addr:housenumber": "236", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "height": "20.3", "name": "Gerald Schoenfeld Theatre", "nycdoitt:bin": "1024715", "start_date": "1918", "wheelchair": "yes", "wikidata": "Q5549572", "wikipedia": "en:Gerald Schoenfeld Theatre"}}, {"type": "way", "id": 266149303, "nodes": [2717294039, 2717294040, 2717294050, 2717294047, 2717294039], "tags": {"addr:city": "New York", "addr:housenumber": "252", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1024745"}}, {"type": "way", "id": 266149304, "nodes": [2717293899, 2717293904, 2717293905, 2717293918, 2717293910, 2717293899], "tags": {"addr:city": "New York", "addr:housenumber": "240", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "theatre", "building": "theatre", "ele": "14", "gnis:feature_id": "2083215", "height": "19.7", "name": "Helen Hayes Theatre", "nycdoitt:bin": "1024708", "start_date": "1912", "wikidata": "Q5186073", "wikipedia": "en:Hayes Theater"}}, {"type": "way", "id": 266149305, "nodes": [2717293971, 2717293990, 2717293997, 2717293982, 2717293971], "tags": {"addr:housenumber": "1555", "addr:postcode": "10036", "addr:street": "Broadway", "building": "yes", "height": "18.6", "nycdoitt:bin": "1088568"}}, {"type": "way", "id": 266149306, "nodes": [2717293982, 2717293997, 2717294008, 2717294015, 2717294006, 9354852632, 2717293982], "tags": {"addr:housenumber": "1557", "addr:postcode": "10036", "addr:street": "Broadway", "building": "yes", "height": "13.9", "nycdoitt:bin": "1024741"}}, {"type": "way", "id": 266149307, "nodes": [2717294006, 2717294015, 2717294020, 2717294013, 2717294006], "tags": {"addr:housenumber": "1565", "addr:postcode": "10036", "addr:street": "Broadway", "building": "yes", "height": "14.6", "nycdoitt:bin": "1024749"}}, {"type": "way", "id": 266149308, "nodes": [2717294018, 1574211073, 1574211080, 2717294030, 2717294018], "tags": {"addr:housenumber": "224", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "39.5", "nycdoitt:bin": "1024743"}}, {"type": "way", "id": 266149309, "nodes": [2639531738, 2639531750, 2639531780, 2639531774, 12197834835, 2639531738], "tags": {"addr:city": "New York", "addr:housenumber": "227", "addr:postcode": "10036", "addr:street": "West 46th Street", "amenity": "place_of_worship", "building": "yes", "height": "26.6", "name": "Scientology", "nycdoitt:bin": "1024738", "religion": "scientologist", "website": "https://www.scientology-newyork.org/"}}, {"type": "way", "id": 266149310, "nodes": [2717294065, 2717294085, 2717294082, 2717294063, 2717294064, 2717294065], "tags": {"addr:housenumber": "230", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "16.2", "nycdoitt:bin": "1024763"}}, {"type": "way", "id": 266149311, "nodes": [2717294065, 2717294066, 2717294076, 2717294078, 2717294091, 2717294086, 2717294085, 2717294065], "tags": {"addr:housenumber": "232", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "19.5", "nycdoitt:bin": "1024770"}}, {"type": "way", "id": 266149312, "nodes": [2717294034, 1574211071, 2717294033, 2639531792, 2639531805, 2639531811, 2717294038, 2717294035, 2717294034], "tags": {"addr:housenumber": "235", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "contact:email": "ask.paramount@staygenerator.com", "contact:facebook": "NYCparamount", "contact:twitter": "nycparamount", "dog": "fee", "fitness_centre": "24/7", "height": "61.9", "internet_access": "wlan", "internet_access:fee": "no", "name": "Paramount Hotel", "nycdoitt:bin": "1024737", "phone": "+1 212-764-5500", "swimming_pool": "no", "tourism": "hotel", "website": "https://www.nycparamount.com/", "wheelchair": "yes", "wikidata": "Q7135335"}}, {"type": "way", "id": 266149313, "nodes": [2717294080, 2717294087, 2717294088, 2717294096, 2717294094, 2717294080], "tags": {"addr:housenumber": "244", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "17.2", "nycdoitt:bin": "1024765"}}, {"type": "way", "id": 266149314, "nodes": [2717294088, 2717294087, 2717294090, 2717294093, 1751622346, 2717294098, 2717294102, 2717294096, 2717294088], "tags": {"addr:housenumber": "246", "addr:postcode": "10036", "addr:street": "West 48th Street", "building": "yes", "height": "17.8", "nycdoitt:bin": "1024766"}}, {"type": "way", "id": 266149315, "nodes": [2717293905, 2717293904, 2717293893, 8669764314, 2717293897, 2717293908, 2717293905], "tags": {"addr:city": "New York", "addr:housenumber": "249", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 43rd Street", "amenity": "parking", "brand": "Icon Parking", "building": "commercial", "fee": "yes", "height": "22.9", "nycdoitt:bin": "1024705", "opening_hours": "24/7", "operator": "Advance Parking, LLC", "parking": "multi-storey", "phone": "+1 212-221-8902", "website": "https://iconparkingsystems.com/facility/advance"}}, {"type": "way", "id": 266149316, "nodes": [2717293996, 2717294000, 1781191068, 2717294022, 2717293996], "tags": {"addr:housenumber": "252", "addr:postcode": "10036", "addr:street": "West 46th Street", "building": "yes", "height": "13.7", "nycdoitt:bin": "1024729"}}, {"type": "way", "id": 266149317, "nodes": [2717294035, 2717294038, 2717294051, 2717294050, 2717294040, 2717294035], "tags": {"addr:city": "New York", "addr:housenumber": "254", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1024746"}}, {"type": "way", "id": 266149318, "nodes": [2717294074, 2717294070, 2717294073, 2717294072, 2717294069, 2717294068, 2717294067, 2717294054, 2717294057, 2717294059, 2717294074], "tags": {"addr:housenumber": "257", "addr:postcode": "10036", "addr:street": "West 47th Street", "amenity": "parking", "building": "yes", "fee": "yes", "height": "17.7", "nycdoitt:bin": "1024754", "parking": "multi-storey"}}, {"type": "way", "id": 266149319, "nodes": [2717293912, 2717293923, 2717293926, 2717293917, 2717293912], "tags": {"addr:city": "New York", "addr:housenumber": "688", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#EBECEE", "building:levels": "5", "height": "18.9", "nycdoitt:bin": "1024704", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266149320, "nodes": [2717293933, 2717293927, 2717293936, 2717293938, 2717293941, 2717293935, 2717293932, 2717293933], "tags": {"building": "yes", "building:colour": "#9F8F6D", "height": "17.9", "nycdoitt:bin": "1078854", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266149322, "nodes": [2717294002, 2717294012, 2717294017, 2717294009, 2717294002], "tags": {"addr:city": "New York", "addr:housenumber": "728", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#9A9790", "building:levels": "4", "height": "13.1", "nycdoitt:bin": "1024719", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266149323, "nodes": [2717294009, 2717294017, 2717294019, 2717294011, 2717294009], "tags": {"addr:city": "New York", "addr:housenumber": "730", "addr:postcode": "10036", "addr:street": "8th Avenue", "building": "yes", "building:colour": "#533128", "building:levels": "4", "height": "13.0", "nycdoitt:bin": "1024720", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266149324, "nodes": [2717294019, 2717294024, 2717294016, 2717294011, 2717294019], "tags": {"addr:city": "New York", "addr:housenumber": "732", "addr:postcode": "10036", "addr:street": "8th Avenue", "amenity": "bar", "building": "commercial", "building:colour": "#CD9559", "building:levels": "4", "cocktails": "yes", "contact:facebook": "PlaywrightCelticPubNYC", "contact:twitter": "Playwright45NYC", "cuisine": "irish", "drink:beer": "yes", "drink:wine": "yes", "email": "info@playwrightcelticpubnyc.com", "happy_hours": "11:00-20:00", "height": "13.2", "name": "Playwright Celtic Pub", "nycdoitt:bin": "1024721", "opening_hours": "Mo-Su 10:00-04:00", "outdoor_seating": "rooftop", "phone": "+1 212-354-8404", "reservation": "yes", "roof:material": "concrete", "roof:shape": "flat", "website": "https://playwrightcelticpubnyc.com"}}, {"type": "way", "id": 266149325, "nodes": [2717293961, 2717293958, 2717293950, 2717293956, 2912663391, 2912663393, 2912663505, 2912663507, 2912663508, 2912663510, 2717293967, 1752663261, 2717293962, 2717293961], "tags": {"addr:city": "New York", "addr:housenumber": "252", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "height": "20.9", "name": "John Golden Theatre", "nycdoitt:bin": "1024717", "start_date": "1927", "wikidata": "Q6235625", "wikipedia": "en:John Golden Theatre"}}, {"type": "way", "id": 266149326, "nodes": [2717294056, 2717294062, 2717294079, 2717294081, 1751655519, 1739195061, 2653624241, 2653624237, 2717294056], "tags": {"addr:city": "New York", "addr:housenumber": "220", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 48th Street", "amenity": "theatre", "building": "theatre", "check_date": "2024-03-07", "height": "21.2", "name": "Longacre Theatre", "nycdoitt:bin": "1024762", "start_date": "1912", "wheelchair": "yes", "wikidata": "Q6673576", "wikipedia": "en:Longacre Theatre"}}, {"type": "way", "id": 266149327, "nodes": [2717294008, 2717293997, 2717293990, 2717293973, 2717293972, 1752685324, 2717293998, 2717294004, 2717294005, 1752685325, 1574211073, 2717294018, 2717294008], "tags": {"addr:city": "New York", "addr:housenumber": "205", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 46th Street", "amenity": "theatre", "building": "theatre", "height": "26.2", "name": "Lunt-Fontanne Theatre", "nycdoitt:bin": "1024739", "start_date": "1910", "website": "http://luntfontannetheatre.com/", "wikidata": "Q7634840", "wikipedia": "en:Lunt-Fontanne Theatre"}}, {"type": "way", "id": 266149328, "nodes": [2717293945, 2717293934, 1751769863, 2717293943, 2912663350, 2912663351, 2912663352, 2912663353, 2912663362, 2912663379, 2717293956, 2717293950, 2717293945], "tags": {"addr:city": "New York", "addr:housenumber": "245", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "theatre", "building": "theatre", "ele": "13", "gnis:feature_id": "2083216", "height": "22.6", "name": "Majestic Theatre", "nycdoitt:bin": "1024712", "start_date": "1927", "toilets:wheelchair": "yes", "wheelchair": "yes", "wikidata": "Q1393081", "wikipedia": "en:Majestic Theatre (Broadway)"}}, {"type": "way", "id": 266149329, "nodes": [2717293960, 1751762438, 2717293963, 2717293984, 2717293968, 2653764644, 2717293960], "tags": {"addr:city": "New York", "addr:housenumber": "239", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "amenity": "theatre", "building": "theatre", "height": "19.9", "name": "Music Box Theatre", "nycdoitt:bin": "1024726", "start_date": "1923", "wikidata": "Q1954899", "wikipedia": "en:Music Box Theatre"}}, {"type": "way", "id": 266149330, "nodes": [1751737228, 2653764650, 2717293975, 2717294010, 5140225522, 6933286563, 1751737196, 2717293989, 2717293987, 2653764653, 1751737228], "tags": {"addr:city": "New York", "addr:housenumber": "226", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 46th Street", "alt_name": "Richard Rodgers Theater;Richard Rodgers", "amenity": "theatre", "building": "theatre", "ele": "14", "gnis:feature_id": "2083219", "height": "22.3", "name": "Richard Rodgers Theatre", "nycdoitt:bin": "1024728", "start_date": "1925", "wikidata": "Q7328714", "wikipedia": "en:Richard Rodgers Theatre"}}, {"type": "way", "id": 266149331, "nodes": [2717294075, 2717294074, 2717294059, 2717294060, 2717294058, 1751640912, 1751622337, 1751622348, 2717294089, 2717294084, 2717294090, 2717294087, 2717294080, 2717294075], "tags": {"addr:city": "New York", "addr:housenumber": "261", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 47th Street", "amenity": "theatre", "building": "theatre", "height": "20.7", "name": "Samuel J. Friedman Theatre", "nycdoitt:bin": "1024753", "old_name": "Biltmore Theatre", "wikidata": "Q5935075", "wikipedia": "en:Samuel J. Friedman Theatre"}}, {"type": "way", "id": 266149332, "nodes": [2717293895, 2717293899, 2717293910, 2717293911, 2717293907, 2717293906, 2717293895], "tags": {"addr:city": "New York", "addr:housenumber": "234", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "restaurant", "building": "yes", "contact:facebook": "SardisRestaurant", "contact:twitter": "SardisNYC", "fax": "+1 212-302-0865", "height": "41.1", "name": "Sardi's", "nycdoitt:bin": "1024707", "opening_hours": "Tu-Sa 12:00-20:00", "phone": "+1 212-221-8440", "reservation": "yes", "start_date": "1927", "website": "https://www.sardis.com/", "wikidata": "Q7423790", "wikipedia": "en:Sardi's"}}, {"type": "way", "id": 266149333, "nodes": [2717294036, 2717294039, 2717294047, 1574211076, 2717294036], "tags": {"addr:city": "New York", "addr:housenumber": "250", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "yes", "height": "18.0", "nycdoitt:bin": "1024744"}}, {"type": "way", "id": 266149334, "nodes": [2717293915, 2717293913, 2717293914, 1752649776, 2717293920, 2717293925, 2717293937, 2717293939, 2717293928, 1752649778, 2717293915], "tags": {"addr:city": "New York", "addr:housenumber": "225", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 44th Street", "amenity": "theatre", "building": "theatre", "height": "21.9", "name": "Shubert Theatre", "nycdoitt:bin": "1080842", "start_date": "1913", "wikidata": "Q1797756", "wikipedia": "en:Shubert Theatre (Broadway)"}}, {"type": "way", "id": 266149336, "nodes": [2717293905, 2717293908, 2717293916, 2717293929, 1751769680, 2717293919, 2717293918, 2717293905], "tags": {"addr:housenumber": "246", "addr:postcode": "10036", "addr:street": "West 44th Street", "amenity": "theatre", "building": "theatre", "height": "24.7", "name": "St. James Theatre", "nycdoitt:bin": "1024709", "start_date": "1927", "website": "https://www.jujamcyn.com/theatres/st-james/", "wikidata": "Q3909790", "wikipedia": "en:St. James Theatre"}}, {"type": "way", "id": 266149338, "nodes": [2717293892, 2717293891, 2717293890, 2717293889, 2717293888, 2717293885, 2717293886, 2717293884, 2717293893, 2717293904, 2717293899, 2717293895, 2717293906, 2717293902, 2717293903, 2717293900, 2717293898, 2717293894, 2717293892], "tags": {"addr:city": "New York", "addr:housenumber": "229", "addr:state": "NY", "addr:street": "West 43rd Street", "building": "commercial", "height": "81", "name": "Times Square Building", "nycdoitt:bin": "1088760", "old_name": "New York Times Building", "start_date": "1913", "wikidata": "Q7769405", "wikipedia": "en:229 West 43rd Street"}}, {"type": "way", "id": 266149341, "nodes": [2717293932, 2717293935, 2717293931, 2717293929, 2717293916, 2717293917, 2717293926, 2717293936, 2717293927, 2717293933, 2717293932], "tags": {"building": "yes", "building:colour": "#624333", "building:levels": "6", "building:material": "brick", "height": "23.3", "nycdoitt:bin": "1024710", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266149345, "nodes": [2717293975, 2717293986, 2717293984, 2717293963, 1751737192, 2717293966, 11523953029, 2717293992, 2717293996, 2717294022, 2717294010, 2717293975], "tags": {"addr:city": "New York", "addr:housenumber": "249", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "alt_name": "Imperial Theater", "amenity": "theatre", "building": "theatre", "ele": "13", "gnis:feature_id": "2083218", "height": "19.6", "name": "Imperial Theatre", "nycdoitt:bin": "1024725", "operator": "The Schubert Organization", "start_date": "1923-12-25", "website": "https://shubert.nyc/theatres/imperial", "wheelchair": "limited", "wikidata": "Q6006906", "wikipedia": "en:Imperial Theatre"}}, {"type": "way", "id": 266149348, "nodes": [2717294078, 2717294083, 2717294077, 2717294076, 2717294066, 2717294071, 2717294075, 2717294080, 2717294094, 1751655522, 2717294091, 2717294078], "tags": {"addr:city": "New York", "addr:housenumber": "234", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 48th Street", "building": "yes", "height": "50.7", "internet_access": "wlan", "internet_access:fee": "no", "name": "The Gallivant", "nycdoitt:bin": "1024764", "official_name": "The Gallivant Times Square", "phone": "+1 212-246-8800", "smoking": "no", "tourism": "hotel", "website": "https://thegallivantnyc.com/", "wheelchair": "yes"}}, {"type": "way", "id": 266149352, "nodes": [1751622346, 1751622343, 1751622339, 2717294106, 2717294105, 2717294103, 2717294104, 2717294099, 2717294095, 2717294100, 2717294097, 2717294101, 2717294098, 1751622346], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "782", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "8th Avenue", "amenity": "fire_station", "building": "fire_station", "check_date": "2025-04-29", "ele": "15", "height": "9.3", "name": "FDNY Engine 54/Ladder 4/Battalion 9", "nycdoitt:bin": "1024767", "operator": "New York City Fire Department", "operator:wikidata": "Q283207", "operator:wikipedia": "en:New York City Fire Department", "website": "https://www1.nyc.gov/site/fdny/index.page"}}, {"type": "way", "id": 266149355, "nodes": [2639531821, 2639531823, 2639531831, 2639531833, 2717294061, 2717294055, 2639531821], "tags": {"building": "yes", "height": "18.8", "nycdoitt:bin": "1024748"}}, {"type": "way", "id": 266149358, "nodes": [1752685325, 2717294005, 2717293999, 2639531732, 12197834836, 2639531762, 1752685325], "tags": {"building": "yes", "height": "63.2", "nycdoitt:bin": "1076192"}}, {"type": "way", "id": 266149362, "nodes": [2717293964, 2717293973, 2717293990, 2717293971, 2717293964], "tags": {"building": "yes", "height": "19.5", "nycdoitt:bin": "1083727"}}, {"type": "way", "id": 266149365, "nodes": [2717293956, 2912663379, 2912663362, 2912663353, 2912663352, 2912663351, 2912663350, 2717293943, 2912663354, 2912663363, 2912663369, 2717293951, 2912663378, 2912663387, 2912663389, 1752663697, 2912663400, 2912663506, 2912663532, 2717293978, 2912663534, 2912663528, 2912663518, 2717293967, 2912663510, 2912663508, 2912663507, 2912663505, 2912663393, 2912663391, 2717293956], "tags": {"addr:city": "New York", "addr:housenumber": "700", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "8th Avenue", "amenity": "social_facility", "building": "yes", "name": "Row NYC Hotel", "nycdoitt:bin": "1024711", "smoking": "no", "social_facility": "shelter", "social_facility:for": "migrant", "start_date": "1928", "website": "https://rownyc.com/", "wheelchair": "yes", "wikidata": "Q6851749", "wikipedia": "en:Row NYC Hotel"}}, {"type": "way", "id": 266149367, "nodes": [2717293908, 2717293897, 2717293909, 2717293923, 2717293912, 2717293917, 2717293916, 2717293908], "tags": {"building": "yes", "height": "55.0", "nycdoitt:bin": "1024703"}}, {"type": "way", "id": 266149370, "nodes": [2717294020, 2717294015, 2717294008, 2717294018, 2717294030, 2717294023, 2717294013, 2717294020], "tags": {"building": "yes", "height": "160.6", "nycdoitt:bin": "1024742"}}, {"type": "way", "id": 266149373, "nodes": [2717293886, 2717293885, 2717293888, 2717293889, 2717293890, 2717293891, 2717293892, 2717293894, 2717293896, 2918599627, 2717293887, 10224024782, 10224024785, 2717293883, 2918592581, 2717293884, 2717293886], "tags": {"addr:city": "New York", "addr:housenumber": "1501", "addr:postcode": "10036", "addr:street": "Broadway", "alt_name": "Paramount Building", "building": "commercial", "name": "1501 Broadway", "nycdoitt:bin": "1024706", "start_date": "1927", "website": "https://www.paramountbuilding.com", "wikidata": "Q3363532", "wikipedia": "en:1501 Broadway"}}, {"type": "way", "id": 266151909, "nodes": [2717323851, 2717323867, 2717323869, 2717323880, 2717323888, 1751714399, 2717323875, 2717323851], "tags": {"addr:city": "New York", "addr:housenumber": "230", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "West 49th Street", "amenity": "theatre", "building": "theatre", "height": "19.8", "name": "Eugene O'Neill Theatre", "nycdoitt:bin": "1024783", "start_date": "1925", "wikidata": "Q5407593", "wikipedia": "en:Eugene O'Neill Theatre"}}, {"type": "way", "id": 266151914, "nodes": [2717323857, 2717323858, 2717323856, 2717323854, 2717323843, 2717323845, 2717323846, 2717323849, 2717323847, 2717323863, 2717323864, 2717323865, 2717323862, 2717323857], "tags": {"addr:housenumber": "220", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "height": "33.2", "nycdoitt:bin": "1024781"}}, {"type": "way", "id": 266151915, "nodes": [2717323859, 2717323860, 2717323853, 2717323850, 2717323849, 2717323846, 2717323851, 2717323875, 2717323865, 2717323864, 2717323859], "tags": {"addr:housenumber": "224", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "height": "44.4", "nycdoitt:bin": "1024782"}}, {"type": "way", "id": 266151916, "nodes": [2717323883, 8704367787, 2717323895, 2717323933, 2717323928, 2717323923, 2717323915, 2717323911, 2717323894, 2717323883], "tags": {"addr:housenumber": "225", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "height": "16.6", "nycdoitt:bin": "1024791"}}, {"type": "way", "id": 266151918, "nodes": [2717323904, 2717323909, 2717323944, 2717323942, 2717323904], "tags": {"addr:housenumber": "239", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "height": "16.8", "nycdoitt:bin": "1024789"}}, {"type": "way", "id": 266151919, "nodes": [2717323909, 1751721290, 2717323927, 1751719370, 2717323944, 2717323909], "tags": {"addr:city": "New York", "addr:housenumber": "241", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "West 49th Street", "amenity": "place_of_worship", "building": "yes", "denomination": "roman_catholic", "height": "18.2", "name": "Saint Malachy Church", "nycdoitt:bin": "1024788", "religion": "christian", "start_date": "1920", "website": "https://www.actorschapel.org/", "wheelchair": "no", "wikidata": "Q7401755", "wikipedia": "en:St. Malachy Roman Catholic Church"}}, {"type": "way", "id": 266151920, "nodes": [2717323873, 2717323882, 2717323913, 2717323896, 2717323887, 2717323877, 2717323873], "tags": {"addr:housenumber": "244", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "building:colour": "#78675D", "building:levels": "8", "building:material": "brick", "height": "30.7", "nycdoitt:bin": "1024785", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 266151921, "nodes": [2717323927, 1757245096, 1757245137, 1751719370, 2717323927], "tags": {"addr:housenumber": "249", "addr:postcode": "10019", "addr:street": "West 49th Street", "building": "yes", "height": "7.1", "nycdoitt:bin": "1024787"}}, {"type": "way", "id": 266151925, "nodes": [2717323880, 2717323881, 2717323872, 2717323869, 2717323867, 2717323873, 2717323877, 2717323876, 2717323886, 2717323887, 2717323896, 1757251096, 2717323888, 2717323880], "tags": {"addr:city": "New York", "addr:housenumber": "242", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "West 49th Street", "building": "yes", "height": "25.0", "name": "Mayfair", "name:zh": "\u7ebd\u7ea6\u6885\u8d39\u5c14\u9152\u5e97", "nycdoitt:bin": "1024784", "tourism": "hotel", "website": "http://www.mayfairnewyork.com/"}}, {"type": "way", "id": 266151926, "nodes": [2717323831, 1757291022, 2717323838, 2717323848, 2717323841, 2717323831], "tags": {"addr:city": "New York", "addr:housenumber": "219", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "West 48th Street", "amenity": "theatre", "building": "theatre", "height": "19.2", "name": "Walter Kerr Theatre", "nycdoitt:bin": "1024772", "start_date": "1921", "website": "https://www.jujamcyn.com/shows/hadestown/", "wheelchair": "yes", "wikidata": "Q7965343", "wikipedia": "en:Walter Kerr Theatre"}}, {"type": "way", "id": 266151929, "nodes": [2717323862, 1762449346, 2717323842, 2723242226, 2717323820, 2717323819, 2717323818, 2717323817, 2717323815, 2717323813, 2717323814, 1762449347, 2717323831, 2717323841, 2717323843, 2717323854, 2717323857, 2717323862], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "1605", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "Broadway", "brand": "Crowne Plaza", "brand:wikidata": "Q2746220", "building": "yes", "internet_access": "wlan", "name": "Crowne Plaza Times Square", "nycdoitt:bin": "1076195", "start_date": "1989", "tourism": "hotel", "website": "https://www.cpmanhattantimessquare.com/", "wheelchair": "yes", "wikidata": "Q5189543"}}, {"type": "way", "id": 266151934, "nodes": [2717323913, 2717323882, 2717323855, 2920012775, 2717323866, 2717323930, 2920012788, 2920012787, 2920012786, 2717323913], "tags": {"addr:city": "New York", "addr:housenumber": "790", "addr:postcode": "10019", "addr:state": "NY", "addr:street": "8th Avenue", "branch": "Times Square", "brand": "Hilton Garden Inn", "brand:wikidata": "Q1162859", "building": "yes", "name": "Hilton Garden Inn", "nycdoitt:bin": "1024771", "ref": "NYCMWGI", "start_date": "1963", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycmwgi-hilton-garden-inn-times-square/"}}, {"type": "way", "id": 266151937, "nodes": [2717323933, 2717323895, 2717323904, 2717323942, 1757245113, 2717323934, 2717323933], "tags": {"building": "yes", "height": "31.5", "nycdoitt:bin": "1088603"}}, {"type": "way", "id": 266170536, "nodes": [2717544476, 2717544414, 2717544426, 2717544372, 2717544357, 2717544317, 1753205380, 2717544363, 2717544421, 2717544406, 2717544455, 2717544466, 2717544478, 2717544536, 2717544597, 2717544590, 2717544532, 2717544476], "tags": {"addr:city": "New York", "addr:housenumber": "147", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 43rd Street", "breakfast": "yes", "building": "hotel", "contact:facebook": "https://www.facebook.com/CasablancaHotel/", "contact:instagram": "https://www.instagram.com/casablancahotelnyc/", "contact:pinterest": "https://www.pinterest.com/libraryhotellhc/casablanca-hotels-lifestyle/", "contact:twitter": "https://twitter.com/CasablancaHotel/", "email": "rooms@casablancahotel.com", "fitness_centre": "no", "height": "24.4", "internet_access": "wlan", "internet_access:fee": "no", "name": "Casablanca Hotel", "name:zh": "\u7ebd\u7ea6\u5361\u8428\u5e03\u5170\u5361\u9152\u5e97", "nycdoitt:bin": "1022611", "operator": "Library Hotel Collection", "payment:cash": "no", "payment:debit_cards": "no", "phone": "+1 212-869-1212", "smoking": "no", "swimming_pool": "no", "tourism": "hotel", "website": "https://casablancahotel.com", "wikidata": "Q5911733", "wikipedia": "en:Hotel Metropole (New York City)"}}, {"type": "way", "id": 266170610, "nodes": [2717544548, 2717544607, 2717544813, 2717544804, 2717544749, 2717544548], "tags": {"addr:housenumber": "158", "addr:postcode": "10036", "addr:street": "West 44th Street", "building": "yes", "height": "16.7", "nycdoitt:bin": "1022623"}}, {"type": "way", "id": 266170825, "nodes": [1251556700, 1251556675, 1251556705, 1251556677, 1251556686, 1251556680, 1251556700], "tags": {"addr:city": "New York", "addr:housenumber": "1", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "Times Square", "building": "commercial", "gnis:feature_id": "2083210", "name": "One Times Square", "name:ko": "\uc6d0 \ud0c0\uc784\uc2a4 \uc2a4\ud018\uc5b4", "nycdoitt:bin": "1022581", "start_date": "1904", "wikidata": "Q1139633", "wikipedia": "en:One Times Square"}}, {"type": "way", "id": 266170839, "nodes": [2717545057, 2918511140, 2717545144, 2918511138, 10958053563, 2918511128, 2918511124, 2717544862, 2717545115, 2717545220, 10958053562, 10958053564, 10958053560, 2717545425, 10958053559, 2717545275, 2717545057], "tags": {"building": "yes", "height": "18.7", "nycdoitt:bin": "1022624"}}, {"type": "way", "id": 277956176, "nodes": [2709704109, 2709704105, 2709704088, 2709704094, 2709704091, 2709704096, 2823932302, 2709704097, 2709704100, 2709704109], "tags": {"addr:city": "New York", "addr:housenumber": "136", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 42nd Street", "branch": "New York/Times Square Central", "brand": "Hilton Garden Inn", "brand:wikidata": "Q1162859", "building": "hotel", "building:levels": "37", "dog": "no", "fax": "+1 212-840-9602", "fitness_centre": "yes", "height": "123", "internet_access": "wlan", "internet_access:fee": "no", "name": "Hilton Garden Inn", "nycdoitt:bin": "1000000", "official_name": "Hilton Garden Inn New York/Times Square Central", "operator": "Hilton", "phone": "+1 212-840-9600", "ref": "NYCSSGI", "rooms": "282", "smoking": "no", "start_date": "2014", "tourism": "hotel", "website": "https://www.hilton.com/en/hotels/nycssgi-hilton-garden-inn-new-york-times-square-central/"}}, {"type": "way", "id": 288431450, "nodes": [2709906367, 4546489151, 4546489146, 4546489143, 2919923240, 4546489150, 2709906375, 2709906384, 4546489159, 2709906387, 3747161365, 2709906421, 2709906400, 2709906410, 2709906429, 2919923241, 2709906407, 2709906380, 2709906378, 2709906367], "tags": {"addr:city": "New York", "addr:housenumber": "305", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 46th Street", "air_conditioning": "yes", "bar": "yes", "branch": "Times Square", "brand": "RIU", "brand:wikidata": "Q2005557", "building": "hotel", "contact:facebook": "https://www.facebook.com/riuplazanewyorkhotels", "description": "Located a few steps from the iconic Times Square in Manhattan, the Riu Plaza New York Times Square Hotel offers its guests many services and facilities such as modern rooms, gym, meeting rooms, free Wi-Fi, restaurant and bar.", "email": "hotel.plazanewyorkts@riu.com", "image": "https://www.riu.com/en/binaris/Slide_NY2-min_tcm55-142330.jpg", "internet_access": "wlan", "internet_access:fee": "no", "name": "Riu Plaza Hotel", "opening_hours": "24/7", "operator": "RIU Plaza Hotels", "payment:credit_cards": "yes", "payment:debit_cards": "yes", "phone": "+1-646-864-1100", "reservation": "yes", "rooms": "647", "smoking": "no", "source": "www.riu.com;survey;local knowledge", "tourism": "hotel", "website": "https://www.riu.com/en/hotel/usa/new-york/hotel-riu-plaza-new-york-times-square/", "wheelchair": "yes"}}, {"type": "way", "id": 288448678, "nodes": [2716232032, 6672696699, 2716232011, 2716231908, 2920101569, 2716231958, 2716232012, 2920101570, 2716232015, 2716232032], "tags": {"addr:city": "New York", "addr:postcode": "10036", "addr:state": "NY", "branch": "New York Manhattan/Times Square", "brand": "TownePlace Suites", "brand:wikidata": "Q7830092", "building": "hotel", "fee": "yes", "name": "TownePlace Suites", "official_name": "TownePlace Suites by Marriott", "parking": "surface", "phone": "+1 212-265-4000", "ref": "NYCTS", "tourism": "hotel", "website": "https://www.marriott.com/nycts"}}, {"type": "way", "id": 288450146, "nodes": [2709680891, 2709680888, 2920116798, 2709680841, 2709680826, 2709680819, 2709680792, 2709680789, 2709680848, 2709680891], "tags": {"building": "yes", "height": "110.6", "start_date": "2017"}}, {"type": "way", "id": 288458603, "nodes": [2709630417, 2709630365, 2709630350, 2709630340, 2920186663, 2709630319, 2709630305, 2920186664, 2709630417], "tags": {"addr:city": "New York", "addr:housenumber": "515", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "9th Avenue", "building": "apartments", "building:levels": "12", "height": "35", "name": "LANA", "website": "https://lananewyork.com/"}}, {"type": "way", "id": 458501298, "nodes": [2709703995, 2709703975, 2709703973, 2709703970, 2709703968, 2709703993, 10241117594, 2709703995], "tags": {"addr:city": "New York", "addr:housenumber": "120", "addr:postcode": "10036", "addr:street": "West 41st Street", "brand": "Luma Hotels", "building": "hotel", "building:levels": "26", "dog": "no", "email": "infonyc@lumahotels.com", "fitness_centre": "no", "height": "78", "internet_access": "wlan", "name": "LUMA Hotel Times Square", "payment:american_express": "yes", "payment:diners_club": "yes", "payment:discover_card": "yes", "payment:jcb": "yes", "payment:mastercard": "yes", "payment:visa": "yes", "phone": "+1 212-730-0099", "smoking": "no", "swimming_pool": "no", "tourism": "hotel", "website": "https://www.lumahotels.com/times-square", "wheelchair": "limited"}}, {"type": "way", "id": 458692427, "nodes": [4546534657, 4546534655, 4546534656, 1719757705, 1719757719, 1719757717, 1719757720, 1719757730, 1719757771, 1719757746, 1719757731, 1719757729, 1719757715, 1719757713, 1719757707, 1719757709, 4546534657], "tags": {"building": "yes", "building:colour": "#B5A17C", "building:levels": "1", "building:material": "brick", "height": "3.5", "roof:material": "concrete", "roof:shape": "flat"}}, {"type": "way", "id": 470186329, "nodes": [2709630137, 2709630142, 2709630156, 2709630162, 4644018190, 2709630133, 2709630137], "tags": {"addr:housenumber": "329", "addr:postcode": "10018", "addr:street": "West 38th Street", "building": "yes", "height": "20", "start_date": "2013"}}, {"type": "way", "id": 591988931, "nodes": [5651033378, 10168088458, 5651033377, 5651033376, 10168088457, 2717223526, 1752679995, 5651033378], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 591988933, "nodes": [5651033386, 10168088460, 5651033385, 5651033384, 10168088459, 5651033383, 5651033380, 5651033386], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 591988935, "nodes": [5651033392, 10168088466, 5651033391, 5651033390, 10168088465, 5651033389, 5651033388, 5651033392], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 591988942, "nodes": [5603569788, 5651033412, 5651033411, 5651033410, 5651033409, 5651033420, 5651033404, 5603569788], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 591988945, "nodes": [5651033416, 10168088463, 5651033415, 5651033414, 10168088464, 5651033413, 5651033407, 5651033399, 5651033416], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 591988947, "nodes": [5651034226, 10168088462, 5651033418, 5651033417, 10168088461, 5651033409, 5651033420, 5651033403, 5651034226], "tags": {"building": "roof", "building:levels": "1", "layer": "1"}}, {"type": "way", "id": 645421567, "nodes": [6067214123, 6067214126, 6067214127, 6067214130, 6067214132, 2709704013, 2709703995, 2709703975, 2709703973, 2709703970, 2709703959, 5020832961, 10268944181, 5020832962, 2709703981, 2709704022, 6067214128, 6067214136, 6067214133, 6067214123], "tags": {"addr:city": "New York", "addr:country": "US", "addr:housenumber": "1440", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "Broadway", "building": "office", "building:levels": "25", "height": "89.3", "max_level": "25", "min_level": "-1", "nycdoitt:bin": "1022563"}}, {"type": "way", "id": 680773352, "nodes": [6374615583, 6374602648, 6374602649, 6374602650, 6374615583], "tags": {"addr:housenumber": "510", "addr:street": "West 45th Street", "building": "yes"}}, {"type": "way", "id": 812953053, "nodes": [5020832862, 5020832863, 5020832864, 5020832865, 5020832866, 5020832867, 5020832868, 5020832759, 5020832760, 5020832861, 5020832862], "tags": {"layer": "-1"}}, {"type": "way", "id": 812953054, "nodes": [7593450726, 7593450700, 5022419717, 5022419715, 5022419821, 5022419720, 5022419824, 5022419719, 5022419718, 5022419714, 5022419716, 7593450699, 7593450698, 5022419696, 5022419697, 5022419691, 5022419690, 5022419693, 7593450697, 5022419623, 5022419631, 5022419628, 5022419633, 5022419632, 5022419629, 5022419634, 5022419635, 5022419638, 5022419677, 5022414764, 5022414767, 5022414766, 7593450692, 5022414788, 5022414793, 5022414794, 5022414787, 5022414786, 7593450690, 7593450689, 5022414804, 5022414803, 7593450688, 7593450725, 7593450724, 7593450691, 5022414810, 5022414811, 5022414815, 5022414812, 5022414814, 5022414813, 5022414808, 5022414807, 7593450693, 5022419662, 5022419660, 5022419666, 5022419661, 5022419663, 5022419657, 5022419652, 5022419655, 5022419649, 5022419654, 5022419648, 5022419650, 7593450694, 5022419684, 5022419681, 5022414753, 5022414754, 5022414755, 5022414756, 5022414757, 5022414758, 6938660476, 7593450707, 5020832776, 5020832774, 5020832773, 5020832772, 5020832782, 5020832771, 7593450723, 5020832672, 5020832668, 5020832669, 5020832664, 5020832663, 5020832665, 5020832666, 5020832667, 5020832670, 5020832661, 5020832662, 5020832658, 5020832659, 5020832660, 5020832671, 5020832673, 5020832674, 5020832678, 5020832722, 5020832723, 5020832647, 5020832646, 5020832645, 5020832725, 5020832721, 7513118336, 7513118335, 7513118334, 7513118333, 5020832716, 7513118330, 5020832717, 5020832713, 5020832712, 5020832710, 5020832709, 5020832707, 5020832705, 5020832703, 5020832704, 5020832701, 5020832700, 5020832702, 5020832699, 5020832698, 5020832697, 5020832695, 5020832694, 5020832693, 5020832690, 5020832686, 5020832687, 7513118331, 7513118328, 7513118327, 7513118326, 7513118325, 7513118324, 7513118323, 7513118340, 7513118339, 7513118338, 7593450709, 7593450710, 5020832752, 5020832870, 5020832871, 5020832872, 7593450712, 5020832963, 10268944180, 10268944179, 10268944182, 5020832962, 10268944181, 5020832961, 5020832960, 5020832959, 5020832958, 5020832957, 5020832956, 5020832955, 5020832954, 4770624016, 5020832953, 10268944166, 5020832952, 7593450722, 7593450717, 7593450714, 5020832948, 5020832947, 10268944138, 5020832989, 10268944140, 5020832988, 5020832987, 5020832986, 5020832985, 5020832984, 5020832983, 5020832982, 5020832981, 10268955530, 5020832980, 10268944175, 10268944176, 5020832979, 5020832978, 5020832977, 5020832976, 7593450711, 5020832888, 10268944205, 5020832889, 5020832792, 7593450703, 5020832600, 5020832601, 5020832602, 5020832603, 5020832604, 5020832605, 5020832606, 5020832574, 5020832575, 7593450704, 7593450718, 7593450721, 7593450705, 5020832582, 5020832583, 5020832584, 5020832585, 5020832586, 5020832587, 5020832588, 5020832589, 7593450706, 7593450708, 5020832779, 5020832777, 5020832778, 5020832775, 6938660475, 5020832438, 5020832437, 5022414746, 5022414747, 5022414748, 6751685189, 5022414750, 5022414751, 5022414752, 5022419680, 5022419704, 7593450720, 7593450696, 5022419702, 5022419703, 7593450695, 7593450701, 5022419707, 5022419712, 5022419713, 5022419706, 7593450702, 7593450719, 7593450726], "tags": {"layer": "-1"}}, {"type": "way", "id": 819626511, "nodes": [2716231372, 7653858223, 7653858220, 2716231378, 7653858221, 2716231372], "tags": {"addr:housenumber": "229", "addr:street": "West 42nd Street", "building": "yes", "name": "New 42nd Street Studios", "phone": "+1 646-223-3000", "website": "https://new42studios.org/"}}, {"type": "way", "id": 1012312364, "nodes": [2709892935, 2709892872, 2709892833, 2709892815, 9339302955, 9339302956, 2709892935], "tags": {"addr:city": "New York", "addr:housenumber": "350", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "West 45th Street", "building": "apartments"}}, {"type": "way", "id": 1084899917, "nodes": [2709630231, 2709630214, 9940948081, 2709630168, 2709630198, 2709630231], "tags": {"addr:city": "New York", "addr:housenumber": "345", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "West 38th Street", "building": "yes", "height": "55.2", "nycdoitt:bin": "1090149"}}, {"type": "way", "id": 1117680745, "nodes": [10222417521, 10222417531, 10222417522, 10222417523, 10222417526, 10222417524, 10222417525, 10222417528, 10222417521], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 1117866975, "nodes": [10224024742, 10224024743, 10224024744, 10224024745, 10224024742], "tags": {"building": "yes", "shop": "newsagent"}}, {"type": "way", "id": 1117866997, "nodes": [10224024782, 10224024783, 10224024784, 10224024785, 10224024782], "tags": {"building": "roof", "height": "3", "layer": "1"}}, {"type": "way", "id": 1117866998, "nodes": [10224024786, 10224024787, 10224024788, 10224024789, 10224024786], "tags": {"building": "yes", "shop": "newsagent"}}, {"type": "way", "id": 1122816861, "nodes": [10268955551, 10268955552, 10268955553, 10268955554, 10268955551], "tags": {"building": "yes", "ref": "NS4146", "shop": "newsagent"}}, {"type": "way", "id": 1240348353, "nodes": [2717294024, 11523953026, 1781191068, 2717294000, 11523953027, 11523953028, 2717294012, 2717294002, 2717294009, 2717294011, 2717294016, 2717294024], "tags": {"addr:city": "New York", "addr:housenumber": "740", "addr:postcode": "10036", "addr:state": "NY", "addr:street": "8th Avenue", "building": "construction", "check_date": "2024-01-16", "height": "325.1", "name": "740 8th Avenue", "opening_date": "2027"}}, {"type": "way", "id": 1309062318, "nodes": [1514463023, 1514463017, 1514463009, 1514463021, 1514463023], "tags": {"access": "private", "fee": "no", "garden:type": "private", "leisure": "garden", "name": "Lobby Garden", "operator": "The New York Times", "operator:type": "business"}}, {"type": "way", "id": 1317983503, "nodes": [2639531774, 2639531762, 12197834836, 2639531732, 2639531738, 12197834835, 2639531774], "tags": {"addr:city": "New York", "addr:housenumber": "223", "addr:state": "NY", "addr:street": "West 46th Street", "brand": "SpringHill Suites", "brand:wikidata": "Q7580351", "building": "yes", "name": "SpringHill Suites", "official_name": "SpringHill Suites by Marriott", "rooms": "200", "tourism": "hotel", "website": "https://www.marriott.com/en-us/hotels/nycwf-springhill-suites-new-york-manhattan-times-square/overview/"}}, {"type": "relation", "id": 1860567, "members": [{"type": "way", "ref": 138152330, "role": "outer"}, {"type": "way", "ref": 138152331, "role": "inner"}, {"type": "way", "ref": 1309062318, "role": "inner"}], "tags": {"addr:city": "New York", "addr:housenumber": "620", "addr:postcode": "10018", "addr:state": "NY", "addr:street": "8th Avenue", "building": "office", "building:use": "office", "name": "The New York Times Building", "nycdoitt:bin": "1087186", "office": "newspaper", "start_date": "2007", "type": "multipolygon", "wikidata": "Q192680", "wikipedia": "en:The New York Times Building"}}, {"type": "relation", "id": 3565103, "members": [{"type": "way", "ref": 265282690, "role": "outer"}, {"type": "way", "ref": 265282688, "role": "inner"}], "tags": {"building": "yes", "height": "16.9", "nycdoitt:bin": "1083584", "type": "multipolygon"}}, {"type": "relation", "id": 3565578, "members": [{"type": "way", "ref": 265322714, "role": "outer"}, {"type": "way", "ref": 265322711, "role": "inner"}], "tags": {"addr:housenumber": "341", "addr:postcode": "10036", "addr:street": "West 47th Street", "building": "apartments", "height": "19.8", "nycdoitt:bin": "1025090", "type": "multipolygon"}}, {"type": "relation", "id": 3574180, "members": [{"type": "way", "ref": 266025018, "role": "outer"}, {"type": "way", "ref": 266025021, "role": "inner"}], "tags": {"addr:housenumber": "650", "addr:postcode": "10036", "addr:street": "9th Avenue", "building": "yes", "height": "18.0", "nycdoitt:bin": "1025031", "type": "multipolygon"}}, {"type": "relation", "id": 3574181, "members": [{"type": "way", "ref": 266025017, "role": "outer"}, {"type": "way", "ref": 266025020, "role": "inner"}], "tags": {"addr:housenumber": "305", "addr:postcode": "10036", "addr:street": "West 45th Street", "building": "yes", "height": "20.6", "nycdoitt:bin": "1025010", "type": "multipolygon"}}, {"type": "relation", "id": 11171765, "members": [{"type": "way", "ref": 812953054, "role": "outer"}, {"type": "way", "ref": 812953053, "role": "inner"}], "tags": {"addr:city": "New York", "addr:postcode": "10036", "addr:state": "NY", "building": "train_station", "layer": "-1", "location": "underground", "name": "Times Square\u201342nd Street/Port Authority Bus Terminal", "operator": "New York City Transit Authority", "type": "multipolygon", "wheelchair": "yes", "wikidata": "Q11265", "wikipedia": "en:Times Square\u201342nd Street station"}}]} \ No newline at end of file diff --git a/cache/aafaffaa8f695fff57c18326c7bac61615b5e7ec.json b/cache/aafaffaa8f695fff57c18326c7bac61615b5e7ec.json new file mode 100644 index 0000000..9b2f444 --- /dev/null +++ b/cache/aafaffaa8f695fff57c18326c7bac61615b5e7ec.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T04:03:02Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 2024892420, "lat": 21.0198348, "lon": -101.2594475}, {"type": "node", "id": 2024892421, "lat": 21.0193278, "lon": -101.2597721}, {"type": "node", "id": 2024892424, "lat": 21.0203017, "lon": -101.2600194}, {"type": "node", "id": 2024892425, "lat": 21.0198887, "lon": -101.26044}, {"type": "node", "id": 2024892427, "lat": 21.0201515, "lon": -101.2601932}, {"type": "node", "id": 2024892428, "lat": 21.0201492, "lon": -101.2602169}, {"type": "node", "id": 2024897856, "lat": 21.0196725, "lon": -101.2601927}, {"type": "node", "id": 3085158102, "lat": 21.0191629, "lon": -101.2579904}, {"type": "node", "id": 3085158104, "lat": 21.0185828, "lon": -101.2575999}, {"type": "node", "id": 3085158105, "lat": 21.0187774, "lon": -101.2581499}, {"type": "node", "id": 3220606407, "lat": 21.019385, "lon": -101.2596696}, {"type": "node", "id": 3220606408, "lat": 21.0192417, "lon": -101.2593967}, {"type": "node", "id": 3220606409, "lat": 21.019234, "lon": -101.2591597}, {"type": "node", "id": 3220606410, "lat": 21.0193382, "lon": -101.2591601}, {"type": "node", "id": 3220606411, "lat": 21.0196998, "lon": -101.2593183}, {"type": "node", "id": 3653224985, "lat": 21.0192355, "lon": -101.2597588}, {"type": "node", "id": 3653224986, "lat": 21.0191466, "lon": -101.2596195}, {"type": "node", "id": 3653224987, "lat": 21.0189997, "lon": -101.259727}, {"type": "node", "id": 3653224988, "lat": 21.0190887, "lon": -101.2598664}, {"type": "node", "id": 4727856019, "lat": 21.0189439, "lon": -101.2574191}, {"type": "node", "id": 5456972711, "lat": 21.0188564, "lon": -101.2579484}, {"type": "node", "id": 5456972712, "lat": 21.0187632, "lon": -101.2576912}, {"type": "node", "id": 5456972713, "lat": 21.0188873, "lon": -101.2576395}, {"type": "node", "id": 5456972714, "lat": 21.0189806, "lon": -101.2578968}, {"type": "node", "id": 5739972125, "lat": 21.0193738, "lon": -101.2598658}, {"type": "node", "id": 5739972126, "lat": 21.0193909, "lon": -101.2598451}, {"type": "node", "id": 5746064937, "lat": 21.0190889, "lon": -101.2591165}, {"type": "node", "id": 5746064938, "lat": 21.0191343, "lon": -101.2590645}, {"type": "node", "id": 5746064939, "lat": 21.0191956, "lon": -101.2591242}, {"type": "node", "id": 5746064940, "lat": 21.0191581, "lon": -101.259206}, {"type": "node", "id": 5746064941, "lat": 21.0191068, "lon": -101.2591866}, {"type": "node", "id": 5746068190, "lat": 21.019187, "lon": -101.2593608}, {"type": "node", "id": 5746068191, "lat": 21.0191745, "lon": -101.2592395}, {"type": "node", "id": 5746068192, "lat": 21.0191279, "lon": -101.2591536}, {"type": "node", "id": 5746068193, "lat": 21.019234, "lon": -101.2593649}, {"type": "node", "id": 5746070060, "lat": 21.0197776, "lon": -101.2594354}, {"type": "node", "id": 5746070061, "lat": 21.0197388, "lon": -101.2595445}, {"type": "node", "id": 5752155164, "lat": 21.0201209, "lon": -101.2597361}, {"type": "node", "id": 5752155165, "lat": 21.0202054, "lon": -101.2596926}, {"type": "node", "id": 5752155166, "lat": 21.0199862, "lon": -101.2592024}, {"type": "node", "id": 5752155167, "lat": 21.0199008, "lon": -101.2592461}, {"type": "node", "id": 5752155168, "lat": 21.0199328, "lon": -101.2593177}, {"type": "node", "id": 5752155169, "lat": 21.0199215, "lon": -101.2593235}, {"type": "node", "id": 5752155170, "lat": 21.0200054, "lon": -101.2595111}, {"type": "node", "id": 5752155171, "lat": 21.0199694, "lon": -101.2595296}, {"type": "node", "id": 5752155172, "lat": 21.0200296, "lon": -101.2596639}, {"type": "node", "id": 5752155173, "lat": 21.0200776, "lon": -101.2596393}, {"type": "node", "id": 5756929333, "lat": 21.0196703, "lon": -101.2593064}, {"type": "node", "id": 5756929334, "lat": 21.0195574, "lon": -101.2592184}, {"type": "node", "id": 5756929335, "lat": 21.0196311, "lon": -101.2593292}, {"type": "node", "id": 5756929336, "lat": 21.0195445, "lon": -101.2593016}, {"type": "node", "id": 5777079847, "lat": 21.0204016, "lon": -101.2599158}, {"type": "node", "id": 5777079848, "lat": 21.0202912, "lon": -101.2600316}, {"type": "node", "id": 5777079849, "lat": 21.0202576, "lon": -101.2596811}, {"type": "node", "id": 5777079850, "lat": 21.0201913, "lon": -101.2596999}, {"type": "node", "id": 5777079851, "lat": 21.0202019, "lon": -101.2597381}, {"type": "node", "id": 5777079852, "lat": 21.0202933, "lon": -101.2598883}, {"type": "node", "id": 5777081653, "lat": 21.020247, "lon": -101.2599219}, {"type": "node", "id": 5777081664, "lat": 21.0199494, "lon": -101.2604594}, {"type": "node", "id": 5777081665, "lat": 21.0199321, "lon": -101.2604289}, {"type": "node", "id": 5777081666, "lat": 21.0199779, "lon": -101.2603885}, {"type": "node", "id": 5777433172, "lat": 21.0216767, "lon": -101.2593524}, {"type": "node", "id": 5777433173, "lat": 21.0216682, "lon": -101.2592852}, {"type": "node", "id": 5777433174, "lat": 21.0216528, "lon": -101.2592874}, {"type": "node", "id": 5777433175, "lat": 21.0216284, "lon": -101.2590944}, {"type": "node", "id": 5777433176, "lat": 21.0217206, "lon": -101.2590811}, {"type": "node", "id": 5777433177, "lat": 21.0217223, "lon": -101.2590949}, {"type": "node", "id": 5777433178, "lat": 21.0217933, "lon": -101.2590846}, {"type": "node", "id": 5777433179, "lat": 21.0218096, "lon": -101.2592139}, {"type": "node", "id": 5777433180, "lat": 21.0217591, "lon": -101.2592212}, {"type": "node", "id": 5777433181, "lat": 21.021765, "lon": -101.2592677}, {"type": "node", "id": 5777433182, "lat": 21.0217268, "lon": -101.2592732}, {"type": "node", "id": 5777433183, "lat": 21.0217357, "lon": -101.2593439}, {"type": "node", "id": 5777962274, "lat": 21.0197833, "lon": -101.2588067}, {"type": "node", "id": 5777962275, "lat": 21.0199348, "lon": -101.2586656}, {"type": "node", "id": 5777962276, "lat": 21.0197736, "lon": -101.258467}, {"type": "node", "id": 5777962277, "lat": 21.0197606, "lon": -101.2584792}, {"type": "node", "id": 5777962278, "lat": 21.0197275, "lon": -101.2584384}, {"type": "node", "id": 5777962279, "lat": 21.019589, "lon": -101.2585675}, {"type": "node", "id": 5777962280, "lat": 21.019804, "lon": -101.2588024}, {"type": "node", "id": 5777962281, "lat": 21.0198793, "lon": -101.2588898}, {"type": "node", "id": 5777962282, "lat": 21.019953, "lon": -101.2588169}, {"type": "node", "id": 5777962283, "lat": 21.0199655, "lon": -101.2587284}, {"type": "node", "id": 5777962284, "lat": 21.0199256, "lon": -101.2586821}, {"type": "node", "id": 5779649343, "lat": 21.0216396, "lon": -101.259183}, {"type": "node", "id": 5780009398, "lat": 21.0213705, "lon": -101.2593709}, {"type": "node", "id": 5780009399, "lat": 21.0214362, "lon": -101.2591047}, {"type": "node", "id": 5780009400, "lat": 21.0213173, "lon": -101.2591}, {"type": "node", "id": 5780009401, "lat": 21.0212341, "lon": -101.2592408}, {"type": "node", "id": 5780009402, "lat": 21.0212485, "lon": -101.2592757}, {"type": "node", "id": 5780009403, "lat": 21.021257, "lon": -101.259202}, {"type": "node", "id": 5780009404, "lat": 21.0211242, "lon": -101.259102}, {"type": "node", "id": 5780009405, "lat": 21.0211781, "lon": -101.2590081}, {"type": "node", "id": 5780009406, "lat": 21.0210291, "lon": -101.2590604}, {"type": "node", "id": 5780009407, "lat": 21.0211355, "lon": -101.2589156}, {"type": "node", "id": 5780009408, "lat": 21.0211943, "lon": -101.2589786}, {"type": "node", "id": 5940080975, "lat": 21.0203592, "lon": -101.2563602}, {"type": "node", "id": 5940080976, "lat": 21.0204773, "lon": -101.2563648}, {"type": "node", "id": 5940080977, "lat": 21.0204773, "lon": -101.256314}, {"type": "node", "id": 5940080978, "lat": 21.0205435, "lon": -101.256297}, {"type": "node", "id": 5940080979, "lat": 21.0205277, "lon": -101.2562447}, {"type": "node", "id": 5940080980, "lat": 21.0203557, "lon": -101.2563285}, {"type": "node", "id": 11884217426, "lat": 21.018615, "lon": -101.2576908}, {"type": "way", "id": 191928546, "nodes": [2024892424, 2024892420, 5746070061, 2024892421, 5739972126, 5739972125, 2024897856, 2024892425, 5777081664, 5777081665, 5777081666, 2024892428, 2024892427, 5777079848, 2024892424], "tags": {"access": "customers", "brand": "Soriana", "brand:wikidata": "Q735562", "brand:wikipedia": "en:Soriana", "building": "commercial", "fee": "yes", "lit": "yes", "name": "MEGA Soriana", "opening_hours": "Mo-Su 08:00-22:00", "operator": "Comercial Mexicana", "parking": "rooftop", "shop": "supermarket", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 303999636, "nodes": [3085158102, 4727856019, 3085158104, 11884217426, 3085158105, 3085158102]}, {"type": "way", "id": 315938914, "nodes": [5746070060, 3220606407, 3220606408, 5746068193, 3220606409, 3220606410, 5756929334, 5756929336, 5756929335, 5756929333, 3220606411, 5746070060], "tags": {"amenity": "parking", "building": "yes", "building:levels": "4", "fee": "yes", "name": "Estacionamiento La Alh\u00f3ndiga", "operator": "ISEG", "parking": "multi-storey", "supervised": "yes"}}, {"type": "way", "id": 360773811, "nodes": [3653224985, 3653224986, 3653224987, 3653224988, 3653224985], "tags": {"brand": "Cruz Roja Mexicana", "brand:wikidata": "Q5792387", "building": "yes", "emergency": "ambulance_station", "name": "Cruz Roja Mexicana"}}, {"type": "way", "id": 566734328, "nodes": [5456972711, 5456972712, 5456972713, 5456972714, 5456972711]}, {"type": "way", "id": 605949637, "nodes": [5746064937, 5746064938, 5746064939, 5746064940, 5746064941, 5746068192, 5746064937], "tags": {"building": "yes", "building:levels": "2"}}, {"type": "way", "id": 605949849, "nodes": [5746064939, 3220606409, 5746068193, 5746068190, 5746068191, 5746064940, 5746064939], "tags": {"building": "yes"}}, {"type": "way", "id": 606785625, "nodes": [5752155164, 5777079850, 5752155165, 5752155166, 5752155167, 5752155168, 5752155169, 5752155170, 5752155171, 5752155172, 5752155173, 5752155164], "tags": {"building": "yes"}}, {"type": "way", "id": 609966573, "nodes": [2024892424, 5777079847, 5777079849, 5752155165, 5777079850, 5777079851, 5777079852, 5777081653, 2024892424], "tags": {"building": "yes"}}, {"type": "way", "id": 610003509, "nodes": [5777433172, 5777433173, 5777433174, 5779649343, 5777433175, 5777433176, 5777433177, 5777433178, 5777433179, 5777433180, 5777433181, 5777433182, 5777433183, 5777433172], "tags": {"building": "yes"}}, {"type": "way", "id": 610056068, "nodes": [5777962274, 5777962275, 5777962276, 5777962277, 5777962278, 5777962279, 5777962274], "tags": {"building": "yes", "name": "Archivo Hist\u00f3rico"}}, {"type": "way", "id": 610056069, "nodes": [5777962280, 5777962281, 5777962282, 5777962283, 5777962284, 5777962280], "tags": {"building": "yes"}}, {"type": "way", "id": 610291660, "nodes": [5780009398, 5780009399, 5780009400, 5780009403, 5780009401, 5780009402, 5780009398], "tags": {"building": "yes"}}, {"type": "way", "id": 610291661, "nodes": [5780009403, 5780009404, 5780009405, 5780009400, 5780009403], "tags": {"building": "yes"}}, {"type": "way", "id": 610291662, "nodes": [5780009404, 5780009406, 5780009407, 5780009408, 5780009405, 5780009404], "tags": {"building": "yes"}}, {"type": "way", "id": 629148308, "nodes": [5940080975, 5940080976, 5940080977, 5940080978, 5940080979, 5940080980, 5940080975], "tags": {"addr:city": "Guanajuato", "addr:housenumber": "28", "addr:postcode": "36000", "addr:street": "Transv. del Chilito", "building": "house", "building:levels": "3", "name": "Familia Mendoza"}}, {"type": "relation", "id": 8081520, "members": [{"type": "way", "ref": 303999636, "role": "outer"}, {"type": "way", "ref": 566734328, "role": "inner"}], "tags": {"addr:city": "Guanajuato", "addr:housenumber": "6", "addr:postcode": "36000", "addr:street": "Mendiz\u00e1bal", "building": "yes", "building:colour": "#DEB887", "building:levels": "3", "museum": "history", "name": "Museo Regional Alh\u00f3ndiga de Granaditas", "roof:colour": "#DEB887", "tourism": "museum", "type": "multipolygon"}}]} \ No newline at end of file diff --git a/cache/b3344dd7b6b8381e28a1ecadb3139da9d2b34eeb.json b/cache/b3344dd7b6b8381e28a1ecadb3139da9d2b34eeb.json new file mode 100644 index 0000000..c74aaea --- /dev/null +++ b/cache/b3344dd7b6b8381e28a1ecadb3139da9d2b34eeb.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:45:07Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 4036563760, "lat": 19.3886525, "lon": -99.1615032}, {"type": "node", "id": 4036563761, "lat": 19.3899394, "lon": -99.1612232}, {"type": "node", "id": 4036563762, "lat": 19.3898439, "lon": -99.1607521}, {"type": "node", "id": 4036563763, "lat": 19.389571, "lon": -99.1607218}, {"type": "node", "id": 4036563764, "lat": 19.3895813, "lon": -99.160617}, {"type": "node", "id": 4036563766, "lat": 19.3901648, "lon": -99.161648}, {"type": "node", "id": 4036563767, "lat": 19.3900355, "lon": -99.1616786}, {"type": "node", "id": 4036563768, "lat": 19.3899595, "lon": -99.1613187}, {"type": "node", "id": 4036563769, "lat": 19.3891732, "lon": -99.1615052}, {"type": "node", "id": 4036563770, "lat": 19.3892274, "lon": -99.161762}, {"type": "node", "id": 4036563771, "lat": 19.3893518, "lon": -99.1617337}, {"type": "node", "id": 4036563772, "lat": 19.3893735, "lon": -99.1618364}, {"type": "node", "id": 4036563775, "lat": 19.388795, "lon": -99.1619682}, {"type": "node", "id": 4036563776, "lat": 19.3889623, "lon": -99.1607962}, {"type": "node", "id": 4036563777, "lat": 19.3889145, "lon": -99.1605816}, {"type": "node", "id": 4036563778, "lat": 19.3885118, "lon": -99.1606839}, {"type": "node", "id": 4036563779, "lat": 19.3885553, "lon": -99.160899}, {"type": "node", "id": 4070591468, "lat": 19.3936847, "lon": -99.1559844}, {"type": "node", "id": 4070591469, "lat": 19.39367, "lon": -99.1557324}, {"type": "node", "id": 4070591470, "lat": 19.3933405, "lon": -99.155754}, {"type": "node", "id": 4070591471, "lat": 19.3933552, "lon": -99.156006}, {"type": "node", "id": 4722656308, "lat": 19.3904216, "lon": -99.157768}, {"type": "node", "id": 4722656309, "lat": 19.3903939, "lon": -99.1573675}, {"type": "node", "id": 4722656310, "lat": 19.3898958, "lon": -99.1574062}, {"type": "node", "id": 4722656311, "lat": 19.3899236, "lon": -99.1578068}, {"type": "node", "id": 4728165246, "lat": 19.3931838, "lon": -99.1544702}, {"type": "node", "id": 4728165247, "lat": 19.3931482, "lon": -99.154004}, {"type": "node", "id": 4728165248, "lat": 19.3928338, "lon": -99.1540311}, {"type": "node", "id": 4728165249, "lat": 19.3928666, "lon": -99.154459}, {"type": "node", "id": 5119517074, "lat": 19.3916436, "lon": -99.1611514}, {"type": "node", "id": 5119517075, "lat": 19.3917481, "lon": -99.1611273}, {"type": "node", "id": 5119517076, "lat": 19.391778, "lon": -99.1612728}, {"type": "node", "id": 5119517077, "lat": 19.3916735, "lon": -99.1612969}, {"type": "node", "id": 5120511391, "lat": 19.3916097, "lon": -99.1571431}, {"type": "node", "id": 5120511392, "lat": 19.391506, "lon": -99.1571538}, {"type": "node", "id": 5120511393, "lat": 19.3914883, "lon": -99.1568923}, {"type": "node", "id": 5120511394, "lat": 19.3915958, "lon": -99.1568829}, {"type": "node", "id": 5127422089, "lat": 19.3933493, "lon": -99.156847}, {"type": "node", "id": 5127422090, "lat": 19.3933486, "lon": -99.1568287}, {"type": "node", "id": 5127422091, "lat": 19.3933952, "lon": -99.1568827}, {"type": "node", "id": 5127422092, "lat": 19.3933945, "lon": -99.1568718}, {"type": "node", "id": 5127422093, "lat": 19.3934031, "lon": -99.1568712}, {"type": "node", "id": 5127422094, "lat": 19.3934039, "lon": -99.156882}, {"type": "node", "id": 5127422095, "lat": 19.3933545, "lon": -99.1569286}, {"type": "node", "id": 5127422096, "lat": 19.3933207, "lon": -99.1569303}, {"type": "node", "id": 5127422097, "lat": 19.393007, "lon": -99.1567664}, {"type": "node", "id": 5127422098, "lat": 19.3929896, "lon": -99.1564455}, {"type": "node", "id": 5127422099, "lat": 19.3930991, "lon": -99.1564388}, {"type": "node", "id": 5127422100, "lat": 19.3931165, "lon": -99.1567597}, {"type": "node", "id": 5127422101, "lat": 19.3931962, "lon": -99.1565291}, {"type": "node", "id": 5127422102, "lat": 19.3932211, "lon": -99.1565278}, {"type": "node", "id": 5127422103, "lat": 19.3932185, "lon": -99.1565061}, {"type": "node", "id": 5127422104, "lat": 19.3931952, "lon": -99.1565073}, {"type": "node", "id": 5127422105, "lat": 19.3931349, "lon": -99.1564935}, {"type": "node", "id": 5127422106, "lat": 19.3931043, "lon": -99.1564951}, {"type": "node", "id": 5127422107, "lat": 19.3932139, "lon": -99.1564072}, {"type": "node", "id": 5127422108, "lat": 19.3931005, "lon": -99.1564131}, {"type": "node", "id": 5127422109, "lat": 19.3931391, "lon": -99.1565848}, {"type": "node", "id": 5127422110, "lat": 19.3931729, "lon": -99.1565831}, {"type": "node", "id": 5127422111, "lat": 19.3931795, "lon": -99.1567258}, {"type": "node", "id": 5127422112, "lat": 19.3932302, "lon": -99.1567232}, {"type": "node", "id": 5127422113, "lat": 19.3933327, "lon": -99.1564389}, {"type": "node", "id": 5127422114, "lat": 19.3933547, "lon": -99.1564377}, {"type": "node", "id": 5127422115, "lat": 19.3933661, "lon": -99.1566743}, {"type": "node", "id": 5127422116, "lat": 19.3933486, "lon": -99.1566752}, {"type": "node", "id": 5127422117, "lat": 19.3934625, "lon": -99.1565106}, {"type": "node", "id": 5127422118, "lat": 19.3934463, "lon": -99.1565114}, {"type": "node", "id": 5127422119, "lat": 19.3934473, "lon": -99.1565341}, {"type": "node", "id": 5127422120, "lat": 19.3934644, "lon": -99.1565331}, {"type": "node", "id": 5127422221, "lat": 19.3934692, "lon": -99.1566318}, {"type": "node", "id": 5127422222, "lat": 19.3934582, "lon": -99.1566324}, {"type": "node", "id": 5127422223, "lat": 19.3934594, "lon": -99.1566575}, {"type": "node", "id": 5127422224, "lat": 19.3934712, "lon": -99.1566569}, {"type": "node", "id": 5127422225, "lat": 19.393527, "lon": -99.1564423}, {"type": "node", "id": 5127422226, "lat": 19.3934802, "lon": -99.1564451}, {"type": "node", "id": 5127422227, "lat": 19.3935114, "lon": -99.1565403}, {"type": "node", "id": 5127422228, "lat": 19.3935099, "lon": -99.1565142}, {"type": "node", "id": 5127422229, "lat": 19.3935355, "lon": -99.1565126}, {"type": "node", "id": 5127422230, "lat": 19.393537, "lon": -99.1565387}, {"type": "node", "id": 5127422231, "lat": 19.3935107, "lon": -99.1564149}, {"type": "node", "id": 5127422232, "lat": 19.3935004, "lon": -99.1564139}, {"type": "node", "id": 5127422233, "lat": 19.3934906, "lon": -99.1564176}, {"type": "node", "id": 5127422234, "lat": 19.3934832, "lon": -99.1564253}, {"type": "node", "id": 5127422235, "lat": 19.3934795, "lon": -99.1564356}, {"type": "node", "id": 5127422236, "lat": 19.3935274, "lon": -99.1564378}, {"type": "node", "id": 5127422237, "lat": 19.3935234, "lon": -99.1564251}, {"type": "node", "id": 5127422238, "lat": 19.3935197, "lon": -99.1564205}, {"type": "node", "id": 5127422239, "lat": 19.3935259, "lon": -99.1564304}, {"type": "node", "id": 5127422240, "lat": 19.3935774, "lon": -99.1564394}, {"type": "node", "id": 5127422241, "lat": 19.3934639, "lon": -99.156446}, {"type": "node", "id": 5127422242, "lat": 19.3934736, "lon": -99.1566337}, {"type": "node", "id": 5127422243, "lat": 19.3935872, "lon": -99.1566271}, {"type": "node", "id": 5127422244, "lat": 19.3936649, "lon": -99.1566053}, {"type": "node", "id": 5127422245, "lat": 19.393663, "lon": -99.1565737}, {"type": "node", "id": 5127422246, "lat": 19.39365, "lon": -99.1566556}, {"type": "node", "id": 5127422247, "lat": 19.3936482, "lon": -99.1566309}, {"type": "node", "id": 5127422248, "lat": 19.3936661, "lon": -99.1566299}, {"type": "node", "id": 5127422249, "lat": 19.3936625, "lon": -99.1565625}, {"type": "node", "id": 5127422250, "lat": 19.3937041, "lon": -99.1565601}, {"type": "node", "id": 5127422251, "lat": 19.3937088, "lon": -99.1566522}, {"type": "node", "id": 5127422252, "lat": 19.3938336, "lon": -99.156631}, {"type": "node", "id": 5127422253, "lat": 19.3938314, "lon": -99.15658}, {"type": "node", "id": 5127422254, "lat": 19.3937935, "lon": -99.1565819}, {"type": "node", "id": 5127422255, "lat": 19.3937958, "lon": -99.1566329}, {"type": "node", "id": 5127422256, "lat": 19.393843, "lon": -99.1567723}, {"type": "node", "id": 5127422257, "lat": 19.393828, "lon": -99.1567731}, {"type": "node", "id": 5127422258, "lat": 19.3938287, "lon": -99.1567872}, {"type": "node", "id": 5127422259, "lat": 19.3938437, "lon": -99.1567864}, {"type": "node", "id": 5127422260, "lat": 19.3938227, "lon": -99.1566776}, {"type": "node", "id": 5127422261, "lat": 19.3938233, "lon": -99.1566917}, {"type": "node", "id": 5127422262, "lat": 19.3938393, "lon": -99.1566909}, {"type": "node", "id": 5127422263, "lat": 19.3938389, "lon": -99.1566813}, {"type": "node", "id": 5127422264, "lat": 19.3937406, "lon": -99.1565752}, {"type": "node", "id": 5127422265, "lat": 19.3937645, "lon": -99.1565737}, {"type": "node", "id": 5127422266, "lat": 19.3937657, "lon": -99.156596}, {"type": "node", "id": 5127422267, "lat": 19.3937675, "lon": -99.156617}, {"type": "node", "id": 5127422268, "lat": 19.3937687, "lon": -99.1566398}, {"type": "node", "id": 5127422269, "lat": 19.3937458, "lon": -99.1566411}, {"type": "node", "id": 5127422270, "lat": 19.3937427, "lon": -99.1565974}, {"type": "node", "id": 5127422271, "lat": 19.3937438, "lon": -99.1566184}, {"type": "node", "id": 5127422272, "lat": 19.3937481, "lon": -99.1566837}, {"type": "node", "id": 5127422273, "lat": 19.3937462, "lon": -99.1566414}, {"type": "node", "id": 5127422274, "lat": 19.3937679, "lon": -99.1566403}, {"type": "node", "id": 5127422275, "lat": 19.3937698, "lon": -99.1566826}, {"type": "node", "id": 5127422276, "lat": 19.3937954, "lon": -99.156478}, {"type": "node", "id": 5127422277, "lat": 19.3937463, "lon": -99.1564799}, {"type": "node", "id": 5127422278, "lat": 19.3937477, "lon": -99.1565213}, {"type": "node", "id": 5127422279, "lat": 19.3937969, "lon": -99.1565194}, {"type": "node", "id": 5127422280, "lat": 19.3937717, "lon": -99.156478}, {"type": "node", "id": 5127422281, "lat": 19.3937961, "lon": -99.156477}, {"type": "node", "id": 5127422282, "lat": 19.3937977, "lon": -99.1565234}, {"type": "node", "id": 5127422283, "lat": 19.3938269, "lon": -99.1565574}, {"type": "node", "id": 5127422284, "lat": 19.3938356, "lon": -99.1566768}, {"type": "node", "id": 5127422285, "lat": 19.3938308, "lon": -99.1565665}, {"type": "node", "id": 5127422286, "lat": 19.3938885, "lon": -99.1565636}, {"type": "node", "id": 5127422287, "lat": 19.3938934, "lon": -99.156674}, {"type": "node", "id": 5127422288, "lat": 19.3937141, "lon": -99.156652}, {"type": "node", "id": 5127422289, "lat": 19.3937098, "lon": -99.1565722}, {"type": "node", "id": 5127422290, "lat": 19.3937403, "lon": -99.1565703}, {"type": "node", "id": 5127422291, "lat": 19.3937461, "lon": -99.1566501}, {"type": "node", "id": 5127422292, "lat": 19.393737, "lon": -99.1565681}, {"type": "node", "id": 5127422293, "lat": 19.3937359, "lon": -99.1565339}, {"type": "node", "id": 5127422294, "lat": 19.3937929, "lon": -99.1565318}, {"type": "node", "id": 5127422295, "lat": 19.393794, "lon": -99.156566}, {"type": "node", "id": 5127422296, "lat": 19.3938257, "lon": -99.1565223}, {"type": "node", "id": 5127422297, "lat": 19.3937706, "lon": -99.1564466}, {"type": "node", "id": 5127422298, "lat": 19.3938865, "lon": -99.1564421}, {"type": "node", "id": 5127422299, "lat": 19.3938904, "lon": -99.1565549}, {"type": "node", "id": 5127422300, "lat": 19.3938598, "lon": -99.1563716}, {"type": "node", "id": 5127422301, "lat": 19.3938864, "lon": -99.1563944}, {"type": "node", "id": 5127422302, "lat": 19.393731, "lon": -99.1563743}, {"type": "node", "id": 5127422303, "lat": 19.3937333, "lon": -99.1564447}, {"type": "node", "id": 5127422304, "lat": 19.393887, "lon": -99.1564393}, {"type": "node", "id": 5127422305, "lat": 19.3937054, "lon": -99.156541}, {"type": "node", "id": 5127422306, "lat": 19.3936997, "lon": -99.156378}, {"type": "node", "id": 5127422307, "lat": 19.3937276, "lon": -99.1563769}, {"type": "node", "id": 5127422308, "lat": 19.3937333, "lon": -99.1565399}, {"type": "node", "id": 5127422309, "lat": 19.3936506, "lon": -99.1566663}, {"type": "node", "id": 5127422310, "lat": 19.3936434, "lon": -99.1565362}, {"type": "node", "id": 5127422311, "lat": 19.3936084, "lon": -99.1564308}, {"type": "node", "id": 5127422312, "lat": 19.3935791, "lon": -99.1564324}, {"type": "node", "id": 5127422313, "lat": 19.3935765, "lon": -99.1563825}, {"type": "node", "id": 5127422314, "lat": 19.3936958, "lon": -99.1563757}, {"type": "node", "id": 5127422315, "lat": 19.3936998, "lon": -99.1564536}, {"type": "node", "id": 5127422316, "lat": 19.3936383, "lon": -99.1564571}, {"type": "node", "id": 5127422317, "lat": 19.3936392, "lon": -99.1564738}, {"type": "node", "id": 5127422318, "lat": 19.3936612, "lon": -99.1564725}, {"type": "node", "id": 5127422319, "lat": 19.3936643, "lon": -99.156535}, {"type": "node", "id": 5127422320, "lat": 19.3936924, "lon": -99.1564944}, {"type": "node", "id": 5127422321, "lat": 19.393665, "lon": -99.1564963}, {"type": "node", "id": 5127422322, "lat": 19.3936673, "lon": -99.1565331}, {"type": "node", "id": 5127422323, "lat": 19.3936947, "lon": -99.1565312}, {"type": "node", "id": 5127422324, "lat": 19.3936468, "lon": -99.1565746}, {"type": "node", "id": 5127422325, "lat": 19.3936484, "lon": -99.1566063}, {"type": "node", "id": 5127422326, "lat": 19.3936083, "lon": -99.156476}, {"type": "node", "id": 5127422327, "lat": 19.393584, "lon": -99.1564772}, {"type": "node", "id": 5127422328, "lat": 19.393587, "lon": -99.1565434}, {"type": "node", "id": 5127422329, "lat": 19.3936113, "lon": -99.1565422}, {"type": "node", "id": 5127422330, "lat": 19.3936132, "lon": -99.1565818}, {"type": "node", "id": 5127422331, "lat": 19.3935904, "lon": -99.1565835}, {"type": "node", "id": 5127422332, "lat": 19.3935934, "lon": -99.156632}, {"type": "node", "id": 5127422333, "lat": 19.3936163, "lon": -99.1566304}, {"type": "node", "id": 5127422334, "lat": 19.3936569, "lon": -99.1567009}, {"type": "node", "id": 5127422335, "lat": 19.3936258, "lon": -99.1567032}, {"type": "node", "id": 5127422336, "lat": 19.3936288, "lon": -99.1567554}, {"type": "node", "id": 5127422337, "lat": 19.3936599, "lon": -99.1567531}, {"type": "node", "id": 5127422338, "lat": 19.3936947, "lon": -99.1566638}, {"type": "node", "id": 5127422339, "lat": 19.3936222, "lon": -99.1567022}, {"type": "node", "id": 5127422340, "lat": 19.3936964, "lon": -99.156698}, {"type": "node", "id": 5127422341, "lat": 19.3936965, "lon": -99.156716}, {"type": "node", "id": 5127422342, "lat": 19.3936599, "lon": -99.1567186}, {"type": "node", "id": 5127422343, "lat": 19.3936623, "lon": -99.1567564}, {"type": "node", "id": 5127422344, "lat": 19.3936989, "lon": -99.1567537}, {"type": "node", "id": 5127422345, "lat": 19.3937005, "lon": -99.156778}, {"type": "node", "id": 5127422346, "lat": 19.3936685, "lon": -99.1567803}, {"type": "node", "id": 5127422347, "lat": 19.3936731, "lon": -99.1568543}, {"type": "node", "id": 5127422348, "lat": 19.3937052, "lon": -99.156852}, {"type": "node", "id": 5127422349, "lat": 19.3936794, "lon": -99.1568848}, {"type": "node", "id": 5127422350, "lat": 19.3936783, "lon": -99.1568675}, {"type": "node", "id": 5127422351, "lat": 19.3937081, "lon": -99.1568826}, {"type": "node", "id": 5127422352, "lat": 19.3936968, "lon": -99.1566993}, {"type": "node", "id": 5127422353, "lat": 19.3939046, "lon": -99.1567934}, {"type": "node", "id": 5127422354, "lat": 19.3937833, "lon": -99.1567991}, {"type": "node", "id": 5127422355, "lat": 19.3937783, "lon": -99.1566797}, {"type": "node", "id": 5127422356, "lat": 19.3938997, "lon": -99.1566785}, {"type": "node", "id": 5127422357, "lat": 19.3938098, "lon": -99.1569483}, {"type": "node", "id": 5127422358, "lat": 19.393756, "lon": -99.1569516}, {"type": "node", "id": 5127422359, "lat": 19.3937555, "lon": -99.1569431}, {"type": "node", "id": 5127422360, "lat": 19.3938093, "lon": -99.1569396}, {"type": "node", "id": 5127422361, "lat": 19.3937835, "lon": -99.1568335}, {"type": "node", "id": 5127422362, "lat": 19.3937632, "lon": -99.1568345}, {"type": "node", "id": 5127422363, "lat": 19.393764, "lon": -99.1568534}, {"type": "node", "id": 5127422364, "lat": 19.3937843, "lon": -99.1568524}, {"type": "node", "id": 5127422365, "lat": 19.3939155, "lon": -99.1569026}, {"type": "node", "id": 5127422366, "lat": 19.393887, "lon": -99.1569341}, {"type": "node", "id": 5127422367, "lat": 19.3933508, "lon": -99.1567214}, {"type": "node", "id": 5127422368, "lat": 19.3933308, "lon": -99.1563988}, {"type": "node", "id": 5127422369, "lat": 19.3934568, "lon": -99.156392}, {"type": "node", "id": 5127422370, "lat": 19.393474, "lon": -99.1567148}, {"type": "node", "id": 5127422371, "lat": 19.3932331, "lon": -99.1567235}, {"type": "node", "id": 5127422372, "lat": 19.3932164, "lon": -99.1564059}, {"type": "node", "id": 5127422373, "lat": 19.393328, "lon": -99.1563993}, {"type": "node", "id": 5127422374, "lat": 19.3933447, "lon": -99.1567169}, {"type": "node", "id": 5127422375, "lat": 19.3931032, "lon": -99.1570136}, {"type": "node", "id": 5127422376, "lat": 19.3930955, "lon": -99.156787}, {"type": "node", "id": 5127422377, "lat": 19.3932081, "lon": -99.1567832}, {"type": "node", "id": 5127422378, "lat": 19.393215, "lon": -99.1570098}, {"type": "node", "id": 5127422379, "lat": 19.3932317, "lon": -99.1570037}, {"type": "node", "id": 5127422380, "lat": 19.3932196, "lon": -99.1567838}, {"type": "node", "id": 5127422381, "lat": 19.3933037, "lon": -99.1567786}, {"type": "node", "id": 5127422382, "lat": 19.393316, "lon": -99.1569984}, {"type": "node", "id": 5127422383, "lat": 19.3934087, "lon": -99.1567467}, {"type": "node", "id": 5127422384, "lat": 19.3933105, "lon": -99.1567509}, {"type": "node", "id": 5127422385, "lat": 19.3933142, "lon": -99.1568485}, {"type": "node", "id": 5127422386, "lat": 19.3934117, "lon": -99.156826}, {"type": "node", "id": 5127422387, "lat": 19.3934108, "lon": -99.1568462}, {"type": "node", "id": 5127422388, "lat": 19.3933509, "lon": -99.1568492}, {"type": "node", "id": 5127422389, "lat": 19.3933223, "lon": -99.1569664}, {"type": "node", "id": 5127422390, "lat": 19.393416, "lon": -99.1569616}, {"type": "node", "id": 5127422391, "lat": 19.3935113, "lon": -99.1567914}, {"type": "node", "id": 5127422392, "lat": 19.3934315, "lon": -99.1567961}, {"type": "node", "id": 5127422393, "lat": 19.3934379, "lon": -99.15692}, {"type": "node", "id": 5127422394, "lat": 19.3935178, "lon": -99.1569153}, {"type": "node", "id": 5127422395, "lat": 19.3936255, "lon": -99.1567502}, {"type": "node", "id": 5127422396, "lat": 19.3935134, "lon": -99.156756}, {"type": "node", "id": 5127422397, "lat": 19.3935229, "lon": -99.1569633}, {"type": "node", "id": 5127422398, "lat": 19.393635, "lon": -99.1569575}, {"type": "node", "id": 5127422399, "lat": 19.393674, "lon": -99.1569482}, {"type": "node", "id": 5127422400, "lat": 19.393669, "lon": -99.1568682}, {"type": "node", "id": 5127422401, "lat": 19.3937261, "lon": -99.1566974}, {"type": "node", "id": 5127422402, "lat": 19.3937414, "lon": -99.1569435}, {"type": "node", "id": 5127422403, "lat": 19.3937427, "lon": -99.1569439}, {"type": "node", "id": 5127422404, "lat": 19.3937351, "lon": -99.1568072}, {"type": "node", "id": 5127422405, "lat": 19.3938167, "lon": -99.1568021}, {"type": "node", "id": 5127422406, "lat": 19.3938243, "lon": -99.1569386}, {"type": "node", "id": 5127422407, "lat": 19.3938286, "lon": -99.1569376}, {"type": "node", "id": 5127422408, "lat": 19.3938213, "lon": -99.156804}, {"type": "node", "id": 5127422409, "lat": 19.3939098, "lon": -99.1567986}, {"type": "node", "id": 5127489869, "lat": 19.3923363, "lon": -99.1570414}, {"type": "node", "id": 5127489870, "lat": 19.3923292, "lon": -99.1568754}, {"type": "node", "id": 5127489871, "lat": 19.3923613, "lon": -99.1568739}, {"type": "node", "id": 5127489872, "lat": 19.3923628, "lon": -99.1569069}, {"type": "node", "id": 5127489873, "lat": 19.392402, "lon": -99.1569049}, {"type": "node", "id": 5127489874, "lat": 19.3924075, "lon": -99.1570387}, {"type": "node", "id": 5127489875, "lat": 19.3924101, "lon": -99.1570345}, {"type": "node", "id": 5127489876, "lat": 19.3924034, "lon": -99.1568723}, {"type": "node", "id": 5127489877, "lat": 19.3924481, "lon": -99.1568703}, {"type": "node", "id": 5127489878, "lat": 19.3924493, "lon": -99.1568994}, {"type": "node", "id": 5127489879, "lat": 19.3924697, "lon": -99.1568984}, {"type": "node", "id": 5127489880, "lat": 19.3924751, "lon": -99.1570315}, {"type": "node", "id": 5127489881, "lat": 19.3918083, "lon": -99.1565338}, {"type": "node", "id": 5127489882, "lat": 19.3916385, "lon": -99.1565506}, {"type": "node", "id": 5127489883, "lat": 19.3916533, "lon": -99.1568316}, {"type": "node", "id": 5127489884, "lat": 19.391827, "lon": -99.1568182}, {"type": "node", "id": 5127489885, "lat": 19.3919432, "lon": -99.1566307}, {"type": "node", "id": 5127489886, "lat": 19.3919365, "lon": -99.156522}, {"type": "node", "id": 5127489887, "lat": 19.3920583, "lon": -99.1565136}, {"type": "node", "id": 5127489888, "lat": 19.392065, "lon": -99.1566223}, {"type": "node", "id": 5127489889, "lat": 19.3918738, "lon": -99.1567017}, {"type": "node", "id": 5127489890, "lat": 19.3919092, "lon": -99.1566981}, {"type": "node", "id": 5127489891, "lat": 19.391871, "lon": -99.1566594}, {"type": "node", "id": 5127489892, "lat": 19.3919065, "lon": -99.1566575}, {"type": "node", "id": 5127489893, "lat": 19.3922729, "lon": -99.1566526}, {"type": "node", "id": 5127489894, "lat": 19.3921375, "lon": -99.1566607}, {"type": "node", "id": 5127489895, "lat": 19.39214, "lon": -99.1567075}, {"type": "node", "id": 5127489896, "lat": 19.3922754, "lon": -99.1566995}, {"type": "node", "id": 5127489897, "lat": 19.3918747, "lon": -99.1566196}, {"type": "node", "id": 5127489898, "lat": 19.3918726, "lon": -99.1565873}, {"type": "node", "id": 5127489899, "lat": 19.3919044, "lon": -99.156585}, {"type": "node", "id": 5127489900, "lat": 19.3919065, "lon": -99.1566174}, {"type": "node", "id": 5127489901, "lat": 19.3918664, "lon": -99.1567754}, {"type": "node", "id": 5127489902, "lat": 19.3918632, "lon": -99.1567232}, {"type": "node", "id": 5127489903, "lat": 19.39191, "lon": -99.15672}, {"type": "node", "id": 5127489904, "lat": 19.3919132, "lon": -99.1567722}, {"type": "node", "id": 5127489905, "lat": 19.3918218, "lon": -99.1566631}, {"type": "node", "id": 5127489906, "lat": 19.3918131, "lon": -99.1565307}, {"type": "node", "id": 5127489907, "lat": 19.391932, "lon": -99.1565219}, {"type": "node", "id": 5127489908, "lat": 19.3919407, "lon": -99.156655}, {"type": "node", "id": 5127489909, "lat": 19.3918331, "lon": -99.1568094}, {"type": "node", "id": 5127489910, "lat": 19.3918263, "lon": -99.1567052}, {"type": "node", "id": 5127489911, "lat": 19.3919418, "lon": -99.1566956}, {"type": "node", "id": 5127489912, "lat": 19.3919487, "lon": -99.1568009}, {"type": "node", "id": 5127489913, "lat": 19.3919535, "lon": -99.1567863}, {"type": "node", "id": 5127489914, "lat": 19.3919468, "lon": -99.1566724}, {"type": "node", "id": 5127489915, "lat": 19.3920664, "lon": -99.156661}, {"type": "node", "id": 5127489916, "lat": 19.3920731, "lon": -99.1567749}, {"type": "node", "id": 5127489917, "lat": 19.3922971, "lon": -99.15651}, {"type": "node", "id": 5127489918, "lat": 19.3920619, "lon": -99.1565247}, {"type": "node", "id": 5127489919, "lat": 19.3920768, "lon": -99.156792}, {"type": "node", "id": 5127489920, "lat": 19.3923121, "lon": -99.1567773}, {"type": "node", "id": 5127492921, "lat": 19.3923437, "lon": -99.1565829}, {"type": "node", "id": 5127492922, "lat": 19.3923418, "lon": -99.1565446}, {"type": "node", "id": 5127492923, "lat": 19.392379, "lon": -99.1565424}, {"type": "node", "id": 5127492924, "lat": 19.392381, "lon": -99.1565808}, {"type": "node", "id": 5127492925, "lat": 19.3923482, "lon": -99.1566483}, {"type": "node", "id": 5127492926, "lat": 19.3923462, "lon": -99.15661}, {"type": "node", "id": 5127492927, "lat": 19.3923835, "lon": -99.1566078}, {"type": "node", "id": 5127492928, "lat": 19.3923854, "lon": -99.1566462}, {"type": "node", "id": 5127492929, "lat": 19.3923526, "lon": -99.1567197}, {"type": "node", "id": 5127492930, "lat": 19.3923506, "lon": -99.1566814}, {"type": "node", "id": 5127492931, "lat": 19.3923879, "lon": -99.1566792}, {"type": "node", "id": 5127492932, "lat": 19.3923899, "lon": -99.1567176}, {"type": "node", "id": 5127492933, "lat": 19.3923923, "lon": -99.1567443}, {"type": "node", "id": 5127492934, "lat": 19.3923551, "lon": -99.1567464}, {"type": "node", "id": 5127492935, "lat": 19.392357, "lon": -99.1567848}, {"type": "node", "id": 5127492936, "lat": 19.3923943, "lon": -99.1567826}, {"type": "node", "id": 5127492937, "lat": 19.3924226, "lon": -99.1565074}, {"type": "node", "id": 5127492938, "lat": 19.3923007, "lon": -99.1565144}, {"type": "node", "id": 5127492939, "lat": 19.3923166, "lon": -99.1568259}, {"type": "node", "id": 5127492940, "lat": 19.3924386, "lon": -99.1568188}, {"type": "node", "id": 5127492945, "lat": 19.3925706, "lon": -99.1566333}, {"type": "node", "id": 5127492946, "lat": 19.3926087, "lon": -99.1566315}, {"type": "node", "id": 5127492947, "lat": 19.3925697, "lon": -99.1566088}, {"type": "node", "id": 5127492948, "lat": 19.3926079, "lon": -99.1566071}, {"type": "node", "id": 5127492949, "lat": 19.3925984, "lon": -99.1565469}, {"type": "node", "id": 5127492950, "lat": 19.3925667, "lon": -99.1565475}, {"type": "node", "id": 5127492951, "lat": 19.3925672, "lon": -99.1565694}, {"type": "node", "id": 5127492952, "lat": 19.3925988, "lon": -99.1565687}, {"type": "node", "id": 5127492953, "lat": 19.3925295, "lon": -99.1566106}, {"type": "node", "id": 5127492954, "lat": 19.3925245, "lon": -99.1564852}, {"type": "node", "id": 5127492955, "lat": 19.3926423, "lon": -99.1564799}, {"type": "node", "id": 5127492956, "lat": 19.3926474, "lon": -99.1566053}, {"type": "node", "id": 5127492957, "lat": 19.3925357, "lon": -99.1567605}, {"type": "node", "id": 5127492958, "lat": 19.3925307, "lon": -99.1566351}, {"type": "node", "id": 5127492959, "lat": 19.3926486, "lon": -99.1566297}, {"type": "node", "id": 5127492960, "lat": 19.3926536, "lon": -99.1567551}, {"type": "node", "id": 5127492961, "lat": 19.3926581, "lon": -99.1567858}, {"type": "node", "id": 5127492962, "lat": 19.3926442, "lon": -99.1564787}, {"type": "node", "id": 5127492963, "lat": 19.3927466, "lon": -99.1564742}, {"type": "node", "id": 5127492964, "lat": 19.3927605, "lon": -99.1567799}, {"type": "node", "id": 5127492965, "lat": 19.392835, "lon": -99.1565302}, {"type": "node", "id": 5127492966, "lat": 19.3927958, "lon": -99.1565305}, {"type": "node", "id": 5127492967, "lat": 19.3927959, "lon": -99.156547}, {"type": "node", "id": 5127492968, "lat": 19.3928351, "lon": -99.1565466}, {"type": "node", "id": 5127492969, "lat": 19.3928693, "lon": -99.1567075}, {"type": "node", "id": 5127492970, "lat": 19.3928686, "lon": -99.1566934}, {"type": "node", "id": 5127492971, "lat": 19.39288, "lon": -99.1566927}, {"type": "node", "id": 5127492972, "lat": 19.3928807, "lon": -99.1567069}, {"type": "node", "id": 5127492973, "lat": 19.3928091, "lon": -99.1566014}, {"type": "node", "id": 5127492974, "lat": 19.3928486, "lon": -99.1565994}, {"type": "node", "id": 5127492975, "lat": 19.3928105, "lon": -99.1566365}, {"type": "node", "id": 5127492976, "lat": 19.39285, "lon": -99.1566346}, {"type": "node", "id": 5127492977, "lat": 19.3928153, "lon": -99.156778}, {"type": "node", "id": 5127492978, "lat": 19.3928134, "lon": -99.1567319}, {"type": "node", "id": 5127492979, "lat": 19.3928384, "lon": -99.1567308}, {"type": "node", "id": 5127492980, "lat": 19.3928402, "lon": -99.1567761}, {"type": "node", "id": 5127492981, "lat": 19.3928769, "lon": -99.1565981}, {"type": "node", "id": 5127492982, "lat": 19.3928711, "lon": -99.1564574}, {"type": "node", "id": 5127492983, "lat": 19.3927511, "lon": -99.1564629}, {"type": "node", "id": 5127492984, "lat": 19.3927568, "lon": -99.1566037}, {"type": "node", "id": 5127492985, "lat": 19.3927626, "lon": -99.1567804}, {"type": "node", "id": 5127492986, "lat": 19.3927568, "lon": -99.156639}, {"type": "node", "id": 5127492987, "lat": 19.3928815, "lon": -99.1566332}, {"type": "node", "id": 5127492988, "lat": 19.3928872, "lon": -99.1567739}, {"type": "node", "id": 5127493001, "lat": 19.3927939, "lon": -99.1567953}, {"type": "node", "id": 5127493002, "lat": 19.3927947, "lon": -99.1568191}, {"type": "node", "id": 5127493003, "lat": 19.3928257, "lon": -99.1568179}, {"type": "node", "id": 5127493004, "lat": 19.3928249, "lon": -99.1567938}, {"type": "node", "id": 5127493005, "lat": 19.3929155, "lon": -99.1565231}, {"type": "node", "id": 5127493006, "lat": 19.3929155, "lon": -99.156507}, {"type": "node", "id": 5127493007, "lat": 19.3929458, "lon": -99.156507}, {"type": "node", "id": 5127493008, "lat": 19.3929458, "lon": -99.1565231}, {"type": "node", "id": 5127493009, "lat": 19.3929281, "lon": -99.1566489}, {"type": "node", "id": 5127493010, "lat": 19.3929275, "lon": -99.1566348}, {"type": "node", "id": 5127493011, "lat": 19.3929484, "lon": -99.1566338}, {"type": "node", "id": 5127493012, "lat": 19.392949, "lon": -99.1566478}, {"type": "node", "id": 5127493013, "lat": 19.3929231, "lon": -99.1565969}, {"type": "node", "id": 5127493014, "lat": 19.392957, "lon": -99.1565959}, {"type": "node", "id": 5127493015, "lat": 19.3929219, "lon": -99.156572}, {"type": "node", "id": 5127493016, "lat": 19.3929557, "lon": -99.1565699}, {"type": "node", "id": 5127493017, "lat": 19.392981, "lon": -99.1564422}, {"type": "node", "id": 5127493018, "lat": 19.3928718, "lon": -99.1564484}, {"type": "node", "id": 5127493019, "lat": 19.3928781, "lon": -99.1565745}, {"type": "node", "id": 5127493020, "lat": 19.3929873, "lon": -99.1565681}, {"type": "node", "id": 5127493021, "lat": 19.3929899, "lon": -99.156594}, {"type": "node", "id": 5127493022, "lat": 19.3928804, "lon": -99.1565993}, {"type": "node", "id": 5127493023, "lat": 19.3928869, "lon": -99.1567302}, {"type": "node", "id": 5127493024, "lat": 19.3929964, "lon": -99.156724}, {"type": "node", "id": 5127493025, "lat": 19.3924767, "lon": -99.1570293}, {"type": "node", "id": 5127493026, "lat": 19.3924696, "lon": -99.1568633}, {"type": "node", "id": 5127493027, "lat": 19.3925017, "lon": -99.1568618}, {"type": "node", "id": 5127493028, "lat": 19.3925033, "lon": -99.1568949}, {"type": "node", "id": 5127493029, "lat": 19.3925424, "lon": -99.1568928}, {"type": "node", "id": 5127493030, "lat": 19.392548, "lon": -99.1570266}, {"type": "node", "id": 5127493031, "lat": 19.3925495, "lon": -99.157026}, {"type": "node", "id": 5127493032, "lat": 19.3925423, "lon": -99.15686}, {"type": "node", "id": 5127493033, "lat": 19.3925782, "lon": -99.1568578}, {"type": "node", "id": 5127493034, "lat": 19.3925798, "lon": -99.1568909}, {"type": "node", "id": 5127493035, "lat": 19.3926139, "lon": -99.1568888}, {"type": "node", "id": 5127493036, "lat": 19.3926194, "lon": -99.1570226}, {"type": "node", "id": 5127493037, "lat": 19.3926454, "lon": -99.1568552}, {"type": "node", "id": 5127493038, "lat": 19.392647, "lon": -99.1568882}, {"type": "node", "id": 5127493039, "lat": 19.3926811, "lon": -99.1568862}, {"type": "node", "id": 5127493040, "lat": 19.3926133, "lon": -99.1568567}, {"type": "node", "id": 5127493041, "lat": 19.3926205, "lon": -99.1570226}, {"type": "node", "id": 5127493042, "lat": 19.3926866, "lon": -99.1570199}, {"type": "node", "id": 5127493047, "lat": 19.3927226, "lon": -99.1568886}, {"type": "node", "id": 5127493048, "lat": 19.3927209, "lon": -99.1568527}, {"type": "node", "id": 5127493049, "lat": 19.3926878, "lon": -99.1570153}, {"type": "node", "id": 5127493050, "lat": 19.3926804, "lon": -99.1568549}, {"type": "node", "id": 5127493051, "lat": 19.3927593, "lon": -99.1568867}, {"type": "node", "id": 5127493052, "lat": 19.3927651, "lon": -99.1570113}, {"type": "node", "id": 5127493053, "lat": 19.3927629, "lon": -99.1568816}, {"type": "node", "id": 5127493054, "lat": 19.392795, "lon": -99.1569869}, {"type": "node", "id": 5127493055, "lat": 19.3928672, "lon": -99.1567922}, {"type": "node", "id": 5127493056, "lat": 19.39276, "lon": -99.1567967}, {"type": "node", "id": 5127493057, "lat": 19.3927913, "lon": -99.1568805}, {"type": "node", "id": 5127493058, "lat": 19.3928738, "lon": -99.1569838}, {"type": "node", "id": 5127493059, "lat": 19.3929091, "lon": -99.1567825}, {"type": "node", "id": 5127493060, "lat": 19.3929111, "lon": -99.1568266}, {"type": "node", "id": 5127493061, "lat": 19.3929439, "lon": -99.1568248}, {"type": "node", "id": 5127493062, "lat": 19.3929418, "lon": -99.1567798}, {"type": "node", "id": 5127493063, "lat": 19.3930128, "lon": -99.1567761}, {"type": "node", "id": 5127493064, "lat": 19.3930148, "lon": -99.1568191}, {"type": "node", "id": 5127493065, "lat": 19.3930486, "lon": -99.1568174}, {"type": "node", "id": 5127493066, "lat": 19.3930466, "lon": -99.156775}, {"type": "node", "id": 5127493067, "lat": 19.3929236, "lon": -99.1569331}, {"type": "node", "id": 5127493068, "lat": 19.3929231, "lon": -99.1568989}, {"type": "node", "id": 5127493069, "lat": 19.3929438, "lon": -99.1568985}, {"type": "node", "id": 5127493070, "lat": 19.3929443, "lon": -99.1569327}, {"type": "node", "id": 5127493071, "lat": 19.3930301, "lon": -99.156926}, {"type": "node", "id": 5127493072, "lat": 19.3930294, "lon": -99.1568939}, {"type": "node", "id": 5127493073, "lat": 19.3930547, "lon": -99.1568933}, {"type": "node", "id": 5127493074, "lat": 19.3930554, "lon": -99.1569254}, {"type": "node", "id": 5127493075, "lat": 19.3930898, "lon": -99.1567723}, {"type": "node", "id": 5127493076, "lat": 19.3928705, "lon": -99.1567837}, {"type": "node", "id": 5127493077, "lat": 19.3928816, "lon": -99.1570227}, {"type": "node", "id": 5127493078, "lat": 19.393101, "lon": -99.1570117}, {"type": "node", "id": 5127493079, "lat": 19.3931642, "lon": -99.156873}, {"type": "node", "id": 5127493080, "lat": 19.393166, "lon": -99.1569302}, {"type": "node", "id": 5127493081, "lat": 19.3930981, "lon": -99.1568753}, {"type": "node", "id": 5127493082, "lat": 19.3931007, "lon": -99.1569324}, {"type": "node", "id": 5127493083, "lat": 19.3932481, "lon": -99.1569283}, {"type": "node", "id": 5127493084, "lat": 19.3932436, "lon": -99.1568404}, {"type": "node", "id": 5127493085, "lat": 19.3932697, "lon": -99.156839}, {"type": "node", "id": 5127493086, "lat": 19.3932741, "lon": -99.1569268}, {"type": "node", "id": 5127493087, "lat": 19.3933185, "lon": -99.1568726}, {"type": "node", "id": 5127493088, "lat": 19.3933215, "lon": -99.1569262}, {"type": "node", "id": 5127493089, "lat": 19.3933089, "lon": -99.1568732}, {"type": "node", "id": 5127493090, "lat": 19.3933121, "lon": -99.1569268}, {"type": "node", "id": 5127493091, "lat": 19.393396, "lon": -99.1567604}, {"type": "node", "id": 5127493092, "lat": 19.3933957, "lon": -99.1567496}, {"type": "node", "id": 5127493093, "lat": 19.3934071, "lon": -99.1567492}, {"type": "node", "id": 5127493094, "lat": 19.3934075, "lon": -99.15676}, {"type": "node", "id": 5127493095, "lat": 19.3933984, "lon": -99.1568245}, {"type": "node", "id": 5127493096, "lat": 19.393398, "lon": -99.1568137}, {"type": "node", "id": 5127493097, "lat": 19.3934094, "lon": -99.1568132}, {"type": "node", "id": 5127493098, "lat": 19.3934098, "lon": -99.1568241}, {"type": "node", "id": 5132757750, "lat": 19.3920191, "lon": -99.156865}, {"type": "node", "id": 5132757751, "lat": 19.3919212, "lon": -99.1568685}, {"type": "node", "id": 5132757752, "lat": 19.3919283, "lon": -99.1570972}, {"type": "node", "id": 5132757753, "lat": 19.3920262, "lon": -99.1570938}, {"type": "node", "id": 5132757754, "lat": 19.3920555, "lon": -99.1570353}, {"type": "node", "id": 5132757755, "lat": 19.3920542, "lon": -99.1569952}, {"type": "node", "id": 5132757756, "lat": 19.3920313, "lon": -99.156996}, {"type": "node", "id": 5132757757, "lat": 19.3920325, "lon": -99.1570361}, {"type": "node", "id": 5132757758, "lat": 19.3920672, "lon": -99.1569365}, {"type": "node", "id": 5132757759, "lat": 19.3920855, "lon": -99.1569358}, {"type": "node", "id": 5132757760, "lat": 19.3920849, "lon": -99.156918}, {"type": "node", "id": 5132757761, "lat": 19.3920666, "lon": -99.1569187}, {"type": "node", "id": 5132757762, "lat": 19.3920506, "lon": -99.1569192}, {"type": "node", "id": 5132757763, "lat": 19.3920993, "lon": -99.1569175}, {"type": "node", "id": 5132757764, "lat": 19.3920489, "lon": -99.1568638}, {"type": "node", "id": 5132757765, "lat": 19.3920976, "lon": -99.1568621}, {"type": "node", "id": 5132757766, "lat": 19.3920342, "lon": -99.1570885}, {"type": "node", "id": 5132757767, "lat": 19.3920272, "lon": -99.1568646}, {"type": "node", "id": 5132757768, "lat": 19.3921267, "lon": -99.1568611}, {"type": "node", "id": 5132757769, "lat": 19.3921337, "lon": -99.157085}, {"type": "node", "id": 5132757770, "lat": 19.3921496, "lon": -99.1570812}, {"type": "node", "id": 5132757771, "lat": 19.3921439, "lon": -99.156878}, {"type": "node", "id": 5132757772, "lat": 19.3922355, "lon": -99.1568752}, {"type": "node", "id": 5132757773, "lat": 19.3922412, "lon": -99.1570783}, {"type": "node", "id": 5132757774, "lat": 19.3922858, "lon": -99.1568858}, {"type": "node", "id": 5132757775, "lat": 19.3923104, "lon": -99.1568847}, {"type": "node", "id": 5132757776, "lat": 19.3923101, "lon": -99.156877}, {"type": "node", "id": 5132757777, "lat": 19.3922855, "lon": -99.1568781}, {"type": "node", "id": 5132757778, "lat": 19.3922701, "lon": -99.1568907}, {"type": "node", "id": 5132757779, "lat": 19.3922696, "lon": -99.1568789}, {"type": "node", "id": 5132757780, "lat": 19.3922481, "lon": -99.1568966}, {"type": "node", "id": 5132757781, "lat": 19.3922759, "lon": -99.1570209}, {"type": "node", "id": 5132757782, "lat": 19.3922766, "lon": -99.1570395}, {"type": "node", "id": 5132757783, "lat": 19.3922522, "lon": -99.1570078}, {"type": "node", "id": 5132757784, "lat": 19.3922958, "lon": -99.1570386}, {"type": "node", "id": 5132757785, "lat": 19.3922962, "lon": -99.157051}, {"type": "node", "id": 5132757786, "lat": 19.3922531, "lon": -99.157022}, {"type": "node", "id": 5132757787, "lat": 19.3922479, "lon": -99.1568917}, {"type": "node", "id": 5132757788, "lat": 19.3923215, "lon": -99.1568765}, {"type": "node", "id": 5132757789, "lat": 19.3923285, "lon": -99.1570495}, {"type": "node", "id": 5132786126, "lat": 19.391514, "lon": -99.1568675}, {"type": "node", "id": 5132786127, "lat": 19.3914892, "lon": -99.1565853}, {"type": "node", "id": 5132786128, "lat": 19.3916016, "lon": -99.1565742}, {"type": "node", "id": 5132786129, "lat": 19.3916264, "lon": -99.1568564}, {"type": "node", "id": 5144664847, "lat": 19.3910286, "lon": -99.1566329}, {"type": "node", "id": 5144664848, "lat": 19.3910664, "lon": -99.1566926}, {"type": "node", "id": 5144664849, "lat": 19.3910296, "lon": -99.1566937}, {"type": "node", "id": 5144664850, "lat": 19.391028, "lon": -99.1566087}, {"type": "node", "id": 5144664851, "lat": 19.3911308, "lon": -99.1566058}, {"type": "node", "id": 5144664852, "lat": 19.3911188, "lon": -99.1567638}, {"type": "node", "id": 5144664853, "lat": 19.391121, "lon": -99.1568018}, {"type": "node", "id": 5144664854, "lat": 19.3910717, "lon": -99.1567668}, {"type": "node", "id": 5144664855, "lat": 19.3910703, "lon": -99.1567424}, {"type": "node", "id": 5144664856, "lat": 19.3911397, "lon": -99.156738}, {"type": "node", "id": 5144664857, "lat": 19.3911432, "lon": -99.1568004}, {"type": "node", "id": 5144664858, "lat": 19.391133, "lon": -99.1566903}, {"type": "node", "id": 5144664859, "lat": 19.3910671, "lon": -99.1567199}, {"type": "node", "id": 5144664860, "lat": 19.3911337, "lon": -99.156718}, {"type": "node", "id": 5144664865, "lat": 19.3911957, "lon": -99.1566766}, {"type": "node", "id": 5144664866, "lat": 19.3911584, "lon": -99.156678}, {"type": "node", "id": 5144664867, "lat": 19.3911596, "lon": -99.156717}, {"type": "node", "id": 5144664868, "lat": 19.3911969, "lon": -99.1567156}, {"type": "node", "id": 5144664869, "lat": 19.3912334, "lon": -99.1566739}, {"type": "node", "id": 5144664870, "lat": 19.3912861, "lon": -99.156672}, {"type": "node", "id": 5144664871, "lat": 19.3912876, "lon": -99.1567163}, {"type": "node", "id": 5144664872, "lat": 19.3912349, "lon": -99.1567183}, {"type": "node", "id": 5144664873, "lat": 19.3913121, "lon": -99.1566667}, {"type": "node", "id": 5144664874, "lat": 19.3913677, "lon": -99.1566646}, {"type": "node", "id": 5144664875, "lat": 19.391369, "lon": -99.1567028}, {"type": "node", "id": 5144664876, "lat": 19.3913133, "lon": -99.1567048}, {"type": "node", "id": 5144664877, "lat": 19.3914167, "lon": -99.1566979}, {"type": "node", "id": 5144664878, "lat": 19.3914154, "lon": -99.1566597, "tags": {"addr:housenumber": "755", "addr:street": "Avenida Cuauht\u00e9moc", "entrance": "yes"}}, {"type": "node", "id": 5144664879, "lat": 19.3914639, "lon": -99.1566579}, {"type": "node", "id": 5144664880, "lat": 19.3914651, "lon": -99.1566961}, {"type": "node", "id": 5144664881, "lat": 19.3914839, "lon": -99.1566242}, {"type": "node", "id": 5144664882, "lat": 19.3911398, "lon": -99.1566421}, {"type": "node", "id": 5144664883, "lat": 19.3911465, "lon": -99.1567876}, {"type": "node", "id": 5144664884, "lat": 19.3914906, "lon": -99.1567697}, {"type": "node", "id": 5144664885, "lat": 19.3913695, "lon": -99.156593}, {"type": "node", "id": 5144664886, "lat": 19.391143, "lon": -99.1566058}, {"type": "node", "id": 5144664887, "lat": 19.3911444, "lon": -99.1566338}, {"type": "node", "id": 5144664888, "lat": 19.3913709, "lon": -99.156621}, {"type": "node", "id": 5144664889, "lat": 19.3910135, "lon": -99.1566941}, {"type": "node", "id": 5144664890, "lat": 19.3910119, "lon": -99.1566334}, {"type": "node", "id": 5144664895, "lat": 19.3909161, "lon": -99.1568506}, {"type": "node", "id": 5144664896, "lat": 19.3909009, "lon": -99.1566186}, {"type": "node", "id": 5144664897, "lat": 19.3910047, "lon": -99.156611}, {"type": "node", "id": 5144664898, "lat": 19.3910198, "lon": -99.156843}, {"type": "node", "id": 5144664899, "lat": 19.3912075, "lon": -99.1568154}, {"type": "node", "id": 5144664900, "lat": 19.3912063, "lon": -99.1567924}, {"type": "node", "id": 5144664901, "lat": 19.3912364, "lon": -99.1568226}, {"type": "node", "id": 5144664902, "lat": 19.3912839, "lon": -99.1568199}, {"type": "node", "id": 5144664903, "lat": 19.3912348, "lon": -99.1567908}, {"type": "node", "id": 5144664904, "lat": 19.3912823, "lon": -99.1567881}, {"type": "node", "id": 5144664905, "lat": 19.3911752, "lon": -99.1570746}, {"type": "node", "id": 5144664906, "lat": 19.3911726, "lon": -99.1570312}, {"type": "node", "id": 5144664907, "lat": 19.3911513, "lon": -99.1570326}, {"type": "node", "id": 5144664908, "lat": 19.3911538, "lon": -99.157076}, {"type": "node", "id": 5144664909, "lat": 19.3912374, "lon": -99.157021}, {"type": "node", "id": 5144664910, "lat": 19.3912404, "lon": -99.1570733}, {"type": "node", "id": 5144664911, "lat": 19.3912632, "lon": -99.1570193}, {"type": "node", "id": 5144664912, "lat": 19.3912662, "lon": -99.1570717}, {"type": "node", "id": 5144664913, "lat": 19.3913166, "lon": -99.1570569}, {"type": "node", "id": 5144664914, "lat": 19.3913109, "lon": -99.1569598}, {"type": "node", "id": 5144664915, "lat": 19.3912704, "lon": -99.1569624}, {"type": "node", "id": 5144664916, "lat": 19.3912761, "lon": -99.1570596}, {"type": "node", "id": 5144664917, "lat": 19.3912934, "lon": -99.1568716}, {"type": "node", "id": 5144664918, "lat": 19.3913247, "lon": -99.1568698}, {"type": "node", "id": 5144664919, "lat": 19.3913891, "lon": -99.156799}, {"type": "node", "id": 5144664920, "lat": 19.3913886, "lon": -99.1567807}, {"type": "node", "id": 5144664921, "lat": 19.391416, "lon": -99.1568121}, {"type": "node", "id": 5144664922, "lat": 19.3914527, "lon": -99.1568109}, {"type": "node", "id": 5144664923, "lat": 19.3914151, "lon": -99.1567799}, {"type": "node", "id": 5144664924, "lat": 19.3914518, "lon": -99.1567787}, {"type": "node", "id": 5144664925, "lat": 19.391466, "lon": -99.1568606}, {"type": "node", "id": 5144664926, "lat": 19.3914934, "lon": -99.1568597}, {"type": "node", "id": 5144664927, "lat": 19.3913204, "lon": -99.1567859}, {"type": "node", "id": 5144664928, "lat": 19.3911704, "lon": -99.1568176}, {"type": "node", "id": 5144664929, "lat": 19.3911754, "lon": -99.1569154}, {"type": "node", "id": 5144664930, "lat": 19.3912953, "lon": -99.1569085}, {"type": "node", "id": 5144664931, "lat": 19.391491, "lon": -99.1567774}, {"type": "node", "id": 5144664932, "lat": 19.3913479, "lon": -99.1568003}, {"type": "node", "id": 5144664933, "lat": 19.3913506, "lon": -99.1568939}, {"type": "node", "id": 5144664934, "lat": 19.3914669, "lon": -99.1568901}, {"type": "node", "id": 5144664935, "lat": 19.3911369, "lon": -99.1569202}, {"type": "node", "id": 5144664936, "lat": 19.3909547, "lon": -99.1569322}, {"type": "node", "id": 5144664937, "lat": 19.3909685, "lon": -99.1571701}, {"type": "node", "id": 5144664938, "lat": 19.3911508, "lon": -99.1571581}, {"type": "node", "id": 5144664939, "lat": 19.3912592, "lon": -99.156951}, {"type": "node", "id": 5144664940, "lat": 19.391147, "lon": -99.1569583}, {"type": "node", "id": 5144664941, "lat": 19.3911593, "lon": -99.1571708}, {"type": "node", "id": 5144664942, "lat": 19.3912716, "lon": -99.1571635}, {"type": "node", "id": 5144664943, "lat": 19.3913535, "lon": -99.1569219}, {"type": "node", "id": 5144664944, "lat": 19.3912684, "lon": -99.1569275}, {"type": "node", "id": 5144664945, "lat": 19.3912807, "lon": -99.1571389}, {"type": "node", "id": 5144664946, "lat": 19.3913658, "lon": -99.1571333}, {"type": "node", "id": 5144664947, "lat": 19.3914652, "lon": -99.1568968}, {"type": "node", "id": 5144664948, "lat": 19.3913658, "lon": -99.1569033}, {"type": "node", "id": 5144664949, "lat": 19.3913803, "lon": -99.1571526}, {"type": "node", "id": 5144664950, "lat": 19.3914797, "lon": -99.1571461}, {"type": "node", "id": 5473760038, "lat": 19.3886973, "lon": -99.1617243}, {"type": "node", "id": 5473760039, "lat": 19.3887434, "lon": -99.1617138}, {"type": "node", "id": 11144999104, "lat": 19.3919347, "lon": -99.1563445}, {"type": "node", "id": 11145001005, "lat": 19.3918729, "lon": -99.15635}, {"type": "node", "id": 11145001006, "lat": 19.3918705, "lon": -99.156319}, {"type": "node", "id": 11145001007, "lat": 19.3919325, "lon": -99.1563143}, {"type": "node", "id": 11145001008, "lat": 19.3910404, "lon": -99.1564178}, {"type": "node", "id": 11145001009, "lat": 19.3910379, "lon": -99.1563865}, {"type": "node", "id": 11147011312, "lat": 19.3918746, "lon": -99.1563724}, {"type": "node", "id": 11147011313, "lat": 19.3918688, "lon": -99.1562972}, {"type": "node", "id": 11147011314, "lat": 19.3910362, "lon": -99.1563641}, {"type": "node", "id": 11147011315, "lat": 19.391042, "lon": -99.1564391}, {"type": "node", "id": 11838256588, "lat": 19.3930524, "lon": -99.154443}, {"type": "node", "id": 11838256589, "lat": 19.3930553, "lon": -99.1544813}, {"type": "node", "id": 12745339795, "lat": 19.3895521, "lon": -99.1605211}, {"type": "node", "id": 12745339796, "lat": 19.3895131, "lon": -99.1603889}, {"type": "node", "id": 12745339797, "lat": 19.389575, "lon": -99.1603683}, {"type": "node", "id": 12745339798, "lat": 19.3896141, "lon": -99.1605006}, {"type": "node", "id": 12745339799, "lat": 19.3897336, "lon": -99.1606283}, {"type": "node", "id": 12745339800, "lat": 19.3896637, "lon": -99.1606231}, {"type": "node", "id": 12745366101, "lat": 19.3896501, "lon": -99.160577}, {"type": "node", "id": 12745366102, "lat": 19.3895422, "lon": -99.1606128}, {"type": "node", "id": 12745366103, "lat": 19.3895203, "lon": -99.1606095}, {"type": "node", "id": 12745366104, "lat": 19.3894403, "lon": -99.1603387}, {"type": "node", "id": 12745366105, "lat": 19.3896298, "lon": -99.1602771}, {"type": "node", "id": 12745366111, "lat": 19.38994, "lon": -99.1606436}, {"type": "node", "id": 12745366112, "lat": 19.3898459, "lon": -99.1607619}, {"type": "node", "id": 12745366114, "lat": 19.3895361, "lon": -99.160612}, {"type": "node", "id": 12745366116, "lat": 19.3896869, "lon": -99.1612807}, {"type": "node", "id": 12745366119, "lat": 19.3887565, "lon": -99.1616144}, {"type": "node", "id": 12745366120, "lat": 19.3889082, "lon": -99.1615792}, {"type": "node", "id": 12745366121, "lat": 19.3889186, "lon": -99.1616299}, {"type": "node", "id": 12745366122, "lat": 19.3887669, "lon": -99.161665}, {"type": "node", "id": 12745366123, "lat": 19.3887784, "lon": -99.1617408}, {"type": "node", "id": 12745366124, "lat": 19.3888968, "lon": -99.1617133}, {"type": "node", "id": 12745366125, "lat": 19.3889081, "lon": -99.161768}, {"type": "node", "id": 12745366126, "lat": 19.3887897, "lon": -99.1617955}, {"type": "node", "id": 12745366127, "lat": 19.3888025, "lon": -99.1618465}, {"type": "node", "id": 12745366128, "lat": 19.389011, "lon": -99.1617982}, {"type": "node", "id": 12745366129, "lat": 19.3890221, "lon": -99.1618522}, {"type": "node", "id": 12745366130, "lat": 19.3888136, "lon": -99.1619005}, {"type": "node", "id": 12745366131, "lat": 19.3889207, "lon": -99.161442}, {"type": "node", "id": 12745366132, "lat": 19.3889232, "lon": -99.1614547}, {"type": "node", "id": 12745380477, "lat": 19.3898887, "lon": -99.1606402}, {"type": "node", "id": 12745380478, "lat": 19.3897723, "lon": -99.1606327}, {"type": "node", "id": 12745380479, "lat": 19.3897634, "lon": -99.1605869}, {"type": "node", "id": 12745380480, "lat": 19.3898716, "lon": -99.1605521}, {"type": "node", "id": 12745380481, "lat": 19.389908, "lon": -99.1604786}, {"type": "node", "id": 12745380482, "lat": 19.3898613, "lon": -99.1602177}, {"type": "node", "id": 12745380483, "lat": 19.3897212, "lon": -99.1602468}, {"type": "node", "id": 12745380484, "lat": 19.3897063, "lon": -99.1603914}, {"type": "node", "id": 12745380485, "lat": 19.3896925, "lon": -99.1603448}, {"type": "node", "id": 12745380486, "lat": 19.3896674, "lon": -99.1604043}, {"type": "node", "id": 12745380487, "lat": 19.3898027, "lon": -99.1604103}, {"type": "node", "id": 12745380488, "lat": 19.3896812, "lon": -99.1604507}, {"type": "node", "id": 12745380489, "lat": 19.389745, "lon": -99.1603274}, {"type": "node", "id": 12745380490, "lat": 19.3897752, "lon": -99.1603173}, {"type": "node", "id": 12745380491, "lat": 19.3898403, "lon": -99.1602046}, {"type": "node", "id": 12745380492, "lat": 19.3899118, "lon": -99.1604778}, {"type": "node", "id": 12745380493, "lat": 19.3897091, "lon": -99.1605451}, {"type": "node", "id": 12745380494, "lat": 19.3893394, "lon": -99.16059}, {"type": "node", "id": 12745380495, "lat": 19.3892811, "lon": -99.1603912}, {"type": "node", "id": 12745382915, "lat": 19.3882267, "lon": -99.1569319}, {"type": "node", "id": 12745382916, "lat": 19.3881021, "lon": -99.1569463}, {"type": "node", "id": 12745382917, "lat": 19.3881419, "lon": -99.1571455}, {"type": "node", "id": 12745382918, "lat": 19.3882478, "lon": -99.1571366}, {"type": "node", "id": 12745382919, "lat": 19.3883651, "lon": -99.1570078}, {"type": "node", "id": 12745382920, "lat": 19.3883697, "lon": -99.1570525}, {"type": "node", "id": 12745382921, "lat": 19.3884104, "lon": -99.1570026}, {"type": "node", "id": 12745382922, "lat": 19.388415, "lon": -99.1570473}, {"type": "node", "id": 12745382923, "lat": 19.3882922, "lon": -99.1570638}, {"type": "node", "id": 12745382924, "lat": 19.3882875, "lon": -99.1570183}, {"type": "node", "id": 12745382925, "lat": 19.3882362, "lon": -99.1570243}, {"type": "node", "id": 12745382926, "lat": 19.3882409, "lon": -99.1570697}, {"type": "node", "id": 12745382927, "lat": 19.3884272, "lon": -99.1571659}, {"type": "node", "id": 12745382928, "lat": 19.3882528, "lon": -99.157186}, {"type": "node", "id": 12745382929, "lat": 19.3882268, "lon": -99.1569326}, {"type": "node", "id": 12745382930, "lat": 19.3884942, "lon": -99.1569016}, {"type": "node", "id": 12745382931, "lat": 19.3884012, "lon": -99.1569125}, {"type": "node", "id": 12745382932, "lat": 19.3884217, "lon": -99.1571123}, {"type": "node", "id": 12745382933, "lat": 19.3885145, "lon": -99.1571016}, {"type": "node", "id": 12745382934, "lat": 19.3885687, "lon": -99.1569618}, {"type": "node", "id": 12745382935, "lat": 19.3885351, "lon": -99.1569656}, {"type": "node", "id": 12745382936, "lat": 19.3885402, "lon": -99.1570154}, {"type": "node", "id": 12745382937, "lat": 19.3885738, "lon": -99.1570115}, {"type": "node", "id": 12745382938, "lat": 19.3885786, "lon": -99.157029}, {"type": "node", "id": 12745382939, "lat": 19.3885413, "lon": -99.1570333}, {"type": "node", "id": 12745382940, "lat": 19.3885467, "lon": -99.1570859}, {"type": "node", "id": 12745382941, "lat": 19.388584, "lon": -99.1570816}, {"type": "node", "id": 12745382942, "lat": 19.3885907, "lon": -99.1571373}, {"type": "node", "id": 12745382943, "lat": 19.3885556, "lon": -99.1571414}, {"type": "node", "id": 12745382944, "lat": 19.3885597, "lon": -99.1571817}, {"type": "node", "id": 12745382945, "lat": 19.3885949, "lon": -99.1571776}, {"type": "node", "id": 12745382946, "lat": 19.3886298, "lon": -99.1571813}, {"type": "node", "id": 12745382947, "lat": 19.3885239, "lon": -99.1571934}, {"type": "node", "id": 12745382948, "lat": 19.3886592, "lon": -99.157027}, {"type": "node", "id": 12745382949, "lat": 19.3886552, "lon": -99.1569875}, {"type": "node", "id": 12745382950, "lat": 19.3886106, "lon": -99.1569926}, {"type": "node", "id": 12745382951, "lat": 19.3886147, "lon": -99.1570321}, {"type": "node", "id": 12745382952, "lat": 19.3886788, "lon": -99.1569892}, {"type": "node", "id": 12745382953, "lat": 19.3886824, "lon": -99.1570246}, {"type": "node", "id": 12745382954, "lat": 19.3887152, "lon": -99.156985}, {"type": "node", "id": 12745382955, "lat": 19.3887187, "lon": -99.1570205}, {"type": "node", "id": 12745382956, "lat": 19.3887043, "lon": -99.1568776}, {"type": "node", "id": 12745382957, "lat": 19.3886002, "lon": -99.1568895}, {"type": "node", "id": 12745382958, "lat": 19.3886249, "lon": -99.1571334}, {"type": "node", "id": 12745382959, "lat": 19.388729, "lon": -99.1571215}, {"type": "node", "id": 12745382960, "lat": 19.3887133, "lon": -99.1568688}, {"type": "node", "id": 12745382961, "lat": 19.3888168, "lon": -99.1568611}, {"type": "node", "id": 12745382962, "lat": 19.3888229, "lon": -99.1569209}, {"type": "node", "id": 12745382963, "lat": 19.3888383, "lon": -99.1568626}, {"type": "node", "id": 12745382964, "lat": 19.3888814, "lon": -99.1568533}, {"type": "node", "id": 12745382965, "lat": 19.3889003, "lon": -99.156858}, {"type": "node", "id": 12745382966, "lat": 19.3888621, "lon": -99.1568539}, {"type": "node", "id": 12745382967, "lat": 19.3888186, "lon": -99.1568792}, {"type": "node", "id": 12745382968, "lat": 19.3889173, "lon": -99.1568678}, {"type": "node", "id": 12745382969, "lat": 19.3889315, "lon": -99.1570056}, {"type": "node", "id": 12745382970, "lat": 19.3888328, "lon": -99.157017}, {"type": "node", "id": 12745382971, "lat": 19.3887388, "lon": -99.1570173}, {"type": "node", "id": 12745382972, "lat": 19.3887342, "lon": -99.1569725}, {"type": "node", "id": 12745382973, "lat": 19.3887906, "lon": -99.156966}, {"type": "node", "id": 12745382974, "lat": 19.3887952, "lon": -99.1570108}, {"type": "node", "id": 12745382975, "lat": 19.3887267, "lon": -99.1570986}, {"type": "node", "id": 12745382976, "lat": 19.3887214, "lon": -99.1570466}, {"type": "node", "id": 12745382977, "lat": 19.388798, "lon": -99.1570378}, {"type": "node", "id": 12745382978, "lat": 19.3888033, "lon": -99.1570897}, {"type": "node", "id": 12745382979, "lat": 19.3887618, "lon": -99.1571055}, {"type": "node", "id": 12745382980, "lat": 19.3887642, "lon": -99.157129}, {"type": "node", "id": 12745382981, "lat": 19.3887899, "lon": -99.1569595}, {"type": "node", "id": 12745382982, "lat": 19.3888264, "lon": -99.1569553}, {"type": "node", "id": 12745382983, "lat": 19.3888068, "lon": -99.1571241}, {"type": "node", "id": 12745382984, "lat": 19.3888434, "lon": -99.1571199}, {"type": "node", "id": 12745382985, "lat": 19.3887278, "lon": -99.1571095}, {"type": "node", "id": 12745382986, "lat": 19.388734, "lon": -99.1571671}, {"type": "node", "id": 12745382987, "lat": 19.3888469, "lon": -99.1571541}, {"type": "node", "id": 12745382988, "lat": 19.388841, "lon": -99.1570967}, {"type": "node", "id": 12745382989, "lat": 19.3889766, "lon": -99.157081}, {"type": "node", "id": 12745382990, "lat": 19.3889825, "lon": -99.1571384}, {"type": "node", "id": 12745382991, "lat": 19.3889103, "lon": -99.1571467}, {"type": "node", "id": 12745382992, "lat": 19.3889144, "lon": -99.1571862}, {"type": "node", "id": 12745382993, "lat": 19.3889682, "lon": -99.1572209}, {"type": "node", "id": 12745382994, "lat": 19.3889329, "lon": -99.157225}, {"type": "node", "id": 12745382995, "lat": 19.388948, "lon": -99.1573664}, {"type": "node", "id": 12745382996, "lat": 19.3889441, "lon": -99.1573279}, {"type": "node", "id": 12745382997, "lat": 19.3889707, "lon": -99.1572516}, {"type": "node", "id": 12745382998, "lat": 19.3889361, "lon": -99.1572556}, {"type": "node", "id": 12745382999, "lat": 19.3888669, "lon": -99.1573369}, {"type": "node", "id": 12745383000, "lat": 19.3889821, "lon": -99.1573625}, {"type": "node", "id": 12745385521, "lat": 19.3884033, "lon": -99.1581243}, {"type": "node", "id": 12745385522, "lat": 19.3884317, "lon": -99.1580992}, {"type": "node", "id": 12745385523, "lat": 19.3883889, "lon": -99.1581078}, {"type": "node", "id": 12745385524, "lat": 19.3883923, "lon": -99.1581265}, {"type": "node", "id": 12745385525, "lat": 19.3884261, "lon": -99.1580676}, {"type": "node", "id": 12745385526, "lat": 19.3883439, "lon": -99.158084}, {"type": "node", "id": 12745385527, "lat": 19.3883577, "lon": -99.1581621}, {"type": "node", "id": 12745385528, "lat": 19.3884082, "lon": -99.158152}, {"type": "node", "id": 12745385529, "lat": 19.3883392, "lon": -99.1580655}, {"type": "node", "id": 12745385530, "lat": 19.3883846, "lon": -99.1580558}, {"type": "node", "id": 12745385531, "lat": 19.3883737, "lon": -99.1579982}, {"type": "node", "id": 12745385532, "lat": 19.3883283, "lon": -99.1580079}, {"type": "node", "id": 12745385533, "lat": 19.3884187, "lon": -99.1580258}, {"type": "node", "id": 12745385534, "lat": 19.3883801, "lon": -99.158034}, {"type": "node", "id": 12745385535, "lat": 19.388362, "lon": -99.1579384}, {"type": "node", "id": 12745385536, "lat": 19.3884006, "lon": -99.1579302}, {"type": "node", "id": 12745385538, "lat": 19.3881637, "lon": -99.1580982}, {"type": "node", "id": 12745385539, "lat": 19.3882373, "lon": -99.1580825}, {"type": "node", "id": 12745385540, "lat": 19.3882947, "lon": -99.1579729}, {"type": "node", "id": 12745385541, "lat": 19.388291, "lon": -99.1579534}, {"type": "node", "id": 12745385542, "lat": 19.3883337, "lon": -99.1580361}, {"type": "node", "id": 12745385543, "lat": 19.3883084, "lon": -99.1580415}, {"type": "node", "id": 12745385544, "lat": 19.3883206, "lon": -99.1579674}, {"type": "node", "id": 12745385545, "lat": 19.3881422, "lon": -99.1579851}, {"type": "node", "id": 12745385546, "lat": 19.3882468, "lon": -99.1581323}, {"type": "node", "id": 12745385547, "lat": 19.3883226, "lon": -99.1581162}, {"type": "node", "id": 12745385548, "lat": 19.3884077, "lon": -99.1579695}, {"type": "node", "id": 12745385549, "lat": 19.388451, "lon": -99.1581978}, {"type": "node", "id": 12745385550, "lat": 19.388539, "lon": -99.158179}, {"type": "node", "id": 12745385551, "lat": 19.3884957, "lon": -99.1579507}, {"type": "node", "id": 12745385552, "lat": 19.388456, "lon": -99.1585096}, {"type": "node", "id": 12745385553, "lat": 19.3884819, "lon": -99.1585035}, {"type": "node", "id": 12745385554, "lat": 19.3884536, "lon": -99.1584981}, {"type": "node", "id": 12745385555, "lat": 19.3884867, "lon": -99.1585267}, {"type": "node", "id": 12745385556, "lat": 19.3885081, "lon": -99.1584854}, {"type": "node", "id": 12745385557, "lat": 19.3885152, "lon": -99.1585201}, {"type": "node", "id": 12745385558, "lat": 19.3883995, "lon": -99.1587009}, {"type": "node", "id": 12745385559, "lat": 19.3883953, "lon": -99.1586804}, {"type": "node", "id": 12745385560, "lat": 19.3884365, "lon": -99.1586351}, {"type": "node", "id": 12745385561, "lat": 19.3883886, "lon": -99.1586462}, {"type": "node", "id": 12745385562, "lat": 19.3884478, "lon": -99.1586897}, {"type": "node", "id": 12745385563, "lat": 19.3883773, "lon": -99.1585912}, {"type": "node", "id": 12745385564, "lat": 19.3883419, "lon": -99.1585536}, {"type": "node", "id": 12745385565, "lat": 19.3883614, "lon": -99.1585491}, {"type": "node", "id": 12745385566, "lat": 19.3883536, "lon": -99.1585112}, {"type": "node", "id": 12745385567, "lat": 19.3883359, "lon": -99.1585153}, {"type": "node", "id": 12745385568, "lat": 19.3884368, "lon": -99.1585774}, {"type": "node", "id": 12745385569, "lat": 19.3883693, "lon": -99.1586864}, {"type": "node", "id": 12745385571, "lat": 19.3884639, "lon": -99.1587667}, {"type": "node", "id": 12745385572, "lat": 19.3884939, "lon": -99.1587579}, {"type": "node", "id": 12745385573, "lat": 19.3884813, "lon": -99.1587098}, {"type": "node", "id": 12745385574, "lat": 19.3886639, "lon": -99.1583502}, {"type": "node", "id": 12745385575, "lat": 19.3887194, "lon": -99.1586073}, {"type": "node", "id": 12745385576, "lat": 19.3884028, "lon": -99.1584121}, {"type": "node", "id": 12745385579, "lat": 19.3883186, "lon": -99.1584316}, {"type": "node", "id": 12745385580, "lat": 19.3884888, "lon": -99.1583922}, {"type": "node", "id": 12745385581, "lat": 19.3884521, "lon": -99.1586514}, {"type": "node", "id": 12745385582, "lat": 19.3885382, "lon": -99.1586315}, {"type": "node", "id": 12745385583, "lat": 19.3885464, "lon": -99.1586641}, {"type": "node", "id": 12745385584, "lat": 19.3885744, "lon": -99.1583719}, {"type": "node", "id": 12745385585, "lat": 19.3886299, "lon": -99.158629}, {"type": "node", "id": 12745385587, "lat": 19.3885416, "lon": -99.1586653}, {"type": "node", "id": 12745385588, "lat": 19.3886018, "lon": -99.158944}, {"type": "node", "id": 12745385589, "lat": 19.3886932, "lon": -99.1589218}, {"type": "node", "id": 12745385590, "lat": 19.388633, "lon": -99.1586431}, {"type": "node", "id": 12745385591, "lat": 19.3885576, "lon": -99.1587393}, {"type": "node", "id": 12745385592, "lat": 19.3884639, "lon": -99.1587666}, {"type": "node", "id": 12745385593, "lat": 19.3885018, "lon": -99.1589122}, {"type": "node", "id": 12745385594, "lat": 19.3885894, "lon": -99.1588864}, {"type": "node", "id": 12745385595, "lat": 19.3882541, "lon": -99.1590383}, {"type": "node", "id": 12745385596, "lat": 19.3882292, "lon": -99.1589425}, {"type": "node", "id": 12745385597, "lat": 19.3883218, "lon": -99.1589154}, {"type": "node", "id": 12745385598, "lat": 19.3883467, "lon": -99.1590111}, {"type": "node", "id": 12745385599, "lat": 19.3882833, "lon": -99.1587678}, {"type": "node", "id": 12745385600, "lat": 19.3885148, "lon": -99.1589619}, {"type": "node", "id": 12745388275, "lat": 19.387913, "lon": -99.1569484}, {"type": "node", "id": 12745388276, "lat": 19.3879289, "lon": -99.1573717}, {"type": "node", "id": 12745388277, "lat": 19.3879762, "lon": -99.1573636}, {"type": "node", "id": 12745388278, "lat": 19.3879116, "lon": -99.1574541}, {"type": "node", "id": 12745388279, "lat": 19.3878121, "lon": -99.1574711}, {"type": "node", "id": 12745388280, "lat": 19.3878299, "lon": -99.1575884}, {"type": "node", "id": 12745388281, "lat": 19.3879295, "lon": -99.1575714}, {"type": "node", "id": 12745388282, "lat": 19.3878071, "lon": -99.1570929}, {"type": "node", "id": 12745388283, "lat": 19.3877711, "lon": -99.1570991}, {"type": "node", "id": 12745388284, "lat": 19.3877829, "lon": -99.1571765}, {"type": "node", "id": 12745388285, "lat": 19.3878189, "lon": -99.1571704}, {"type": "node", "id": 12745388286, "lat": 19.3878271, "lon": -99.1572438}, {"type": "node", "id": 12745388287, "lat": 19.3877973, "lon": -99.1572489}, {"type": "node", "id": 12745388288, "lat": 19.3878085, "lon": -99.1573228}, {"type": "node", "id": 12745388289, "lat": 19.3878383, "lon": -99.1573177}, {"type": "node", "id": 12745388290, "lat": 19.3877192, "lon": -99.1573626}, {"type": "node", "id": 12745388291, "lat": 19.3876627, "lon": -99.1569912}, {"type": "node", "id": 12745388292, "lat": 19.3878657, "lon": -99.1569565}, {"type": "node", "id": 12745388293, "lat": 19.3879223, "lon": -99.1573279}, {"type": "node", "id": 12745392701, "lat": 19.3884514, "lon": -99.1587186}, {"type": "node", "id": 12745392702, "lat": 19.3883697, "lon": -99.1587425}, {"type": "node", "id": 12745392703, "lat": 19.3884331, "lon": -99.1589859}, {"type": "node", "id": 12745392704, "lat": 19.3885751, "lon": -99.1592182}, {"type": "node", "id": 12745392705, "lat": 19.3885295, "lon": -99.1592315}, {"type": "node", "id": 12745392706, "lat": 19.3885354, "lon": -99.159254}, {"type": "node", "id": 12745392707, "lat": 19.3884739, "lon": -99.1591488}, {"type": "node", "id": 12745392708, "lat": 19.388551, "lon": -99.1591262}, {"type": "node", "id": 12745392709, "lat": 19.3885037, "lon": -99.1592632}, {"type": "node", "id": 12745392710, "lat": 19.388499, "lon": -99.1592454}, {"type": "node", "id": 12745392711, "lat": 19.3886139, "lon": -99.1593671}, {"type": "node", "id": 12745392712, "lat": 19.388581, "lon": -99.1592406}, {"type": "node", "id": 12745392713, "lat": 19.3883106, "lon": -99.1593005}, {"type": "node", "id": 12745392714, "lat": 19.3883482, "lon": -99.1594449}, {"type": "node", "id": 12745392715, "lat": 19.389181, "lon": -99.1605488}, {"type": "node", "id": 12745392716, "lat": 19.3892552, "lon": -99.1605809}, {"type": "node", "id": 12745392717, "lat": 19.3892265, "lon": -99.1605778}, {"type": "node", "id": 12745392718, "lat": 19.3892148, "lon": -99.1605377}, {"type": "node", "id": 12745392719, "lat": 19.3891883, "lon": -99.1605736}, {"type": "node", "id": 12745392720, "lat": 19.3890382, "lon": -99.1605545}, {"type": "node", "id": 12745392721, "lat": 19.3890278, "lon": -99.1604988}, {"type": "node", "id": 12745392722, "lat": 19.3891511, "lon": -99.1605696}, {"type": "node", "id": 12745392723, "lat": 19.3891275, "lon": -99.1604559}, {"type": "node", "id": 12745392724, "lat": 19.3892473, "lon": -99.1605542}, {"type": "node", "id": 12745392725, "lat": 19.3892093, "lon": -99.1604246}, {"type": "node", "id": 12745392726, "lat": 19.3892838, "lon": -99.1604001}, {"type": "node", "id": 12745392727, "lat": 19.3893217, "lon": -99.1605296}, {"type": "node", "id": 12745406001, "lat": 19.38896, "lon": -99.157141}, {"type": "node", "id": 12745406002, "lat": 19.3888234, "lon": -99.1573061}, {"type": "node", "id": 12745406003, "lat": 19.3888199, "lon": -99.1572724}, {"type": "node", "id": 12745406004, "lat": 19.38878, "lon": -99.157277}, {"type": "node", "id": 12745406005, "lat": 19.3887835, "lon": -99.1573107}, {"type": "node", "id": 12745406006, "lat": 19.3887876, "lon": -99.157351}, {"type": "node", "id": 12745406007, "lat": 19.3887756, "lon": -99.157234}, {"type": "node", "id": 12745406008, "lat": 19.3887508, "lon": -99.1572369}, {"type": "node", "id": 12745406009, "lat": 19.3887628, "lon": -99.1573539}, {"type": "node", "id": 12745406010, "lat": 19.3888709, "lon": -99.1573763}, {"type": "node", "id": 12745406011, "lat": 19.3888521, "lon": -99.1571933}, {"type": "node", "id": 12745406012, "lat": 19.3887475, "lon": -99.1572054}, {"type": "node", "id": 12745406013, "lat": 19.3887663, "lon": -99.1573884}, {"type": "node", "id": 12745714532, "lat": 19.3905299, "lon": -99.1589696}, {"type": "node", "id": 12745714533, "lat": 19.3905173, "lon": -99.1587352}, {"type": "node", "id": 12745714534, "lat": 19.3907676, "lon": -99.15872}, {"type": "node", "id": 12745714535, "lat": 19.3907802, "lon": -99.1589545}, {"type": "node", "id": 12745714536, "lat": 19.3905484, "lon": -99.1585818}, {"type": "node", "id": 12745714537, "lat": 19.3905403, "lon": -99.1584317}, {"type": "node", "id": 12745714538, "lat": 19.3906097, "lon": -99.1584275}, {"type": "node", "id": 12745714539, "lat": 19.3906924, "lon": -99.1585731}, {"type": "node", "id": 12745714540, "lat": 19.3906178, "lon": -99.1585776}, {"type": "node", "id": 12745714541, "lat": 19.390605, "lon": -99.1583404}, {"type": "node", "id": 12745714542, "lat": 19.3906796, "lon": -99.1583359}, {"type": "node", "id": 12745714543, "lat": 19.3908316, "lon": -99.1583401}, {"type": "node", "id": 12745714544, "lat": 19.3908, "lon": -99.1583421}, {"type": "node", "id": 12745714545, "lat": 19.3906816, "lon": -99.1583716}, {"type": "node", "id": 12745714546, "lat": 19.3908344, "lon": -99.1583624}, {"type": "node", "id": 12745714547, "lat": 19.3907985, "lon": -99.1583137}, {"type": "node", "id": 12745714548, "lat": 19.3906788, "lon": -99.1583209}, {"type": "node", "id": 12745714549, "lat": 19.3909099, "lon": -99.1580652}, {"type": "node", "id": 12745714550, "lat": 19.3909135, "lon": -99.158089}, {"type": "node", "id": 12745714551, "lat": 19.3908817, "lon": -99.1580254}, {"type": "node", "id": 12745714552, "lat": 19.3908996, "lon": -99.1580438}, {"type": "node", "id": 12745714553, "lat": 19.3909406, "lon": -99.158295}, {"type": "node", "id": 12745714554, "lat": 19.3907535, "lon": -99.1583034}, {"type": "node", "id": 12745714555, "lat": 19.3907426, "lon": -99.1580316}, {"type": "node", "id": 12745714556, "lat": 19.3908978, "lon": -99.1585231}, {"type": "node", "id": 12745714557, "lat": 19.3909022, "lon": -99.1585574}, {"type": "node", "id": 12745714558, "lat": 19.3909449, "lon": -99.1585519}, {"type": "node", "id": 12745714559, "lat": 19.3908308, "lon": -99.1583345}, {"type": "node", "id": 12745714560, "lat": 19.3908559, "lon": -99.1585285}, {"type": "node", "id": 12745714561, "lat": 19.3909739, "lon": -99.1585178}, {"type": "node", "id": 12745714562, "lat": 19.3909477, "lon": -99.1583251}, {"type": "node", "id": 12745714563, "lat": 19.3907494, "lon": -99.1574458}, {"type": "node", "id": 12745714564, "lat": 19.3906431, "lon": -99.1574541}, {"type": "node", "id": 12745714565, "lat": 19.3907524, "lon": -99.1574888}, {"type": "node", "id": 12745714566, "lat": 19.3906461, "lon": -99.157497}, {"type": "node", "id": 12745714567, "lat": 19.3908365, "lon": -99.1574822}, {"type": "node", "id": 12745714568, "lat": 19.3907825, "lon": -99.1573355}, {"type": "node", "id": 12745714569, "lat": 19.3908216, "lon": -99.1573703}, {"type": "node", "id": 12745714570, "lat": 19.3906541, "lon": -99.1576126}, {"type": "node", "id": 12745714571, "lat": 19.3906492, "lon": -99.1575423}, {"type": "node", "id": 12745714572, "lat": 19.3906819, "lon": -99.1575398}, {"type": "node", "id": 12745714573, "lat": 19.3906355, "lon": -99.1573441}, {"type": "node", "id": 12745714574, "lat": 19.3906868, "lon": -99.1576098}, {"type": "node", "id": 12745714575, "lat": 19.3907052, "lon": -99.1578754}, {"type": "node", "id": 12745714576, "lat": 19.3908702, "lon": -99.1578625}, {"type": "node", "id": 12745714577, "lat": 19.3908518, "lon": -99.157597}, {"type": "node", "id": 12745714578, "lat": 19.3905808, "lon": -99.1576183}, {"type": "node", "id": 12745714579, "lat": 19.3907051, "lon": -99.1578737}, {"type": "node", "id": 12745714580, "lat": 19.3905991, "lon": -99.157882}, {"type": "node", "id": 12745714581, "lat": 19.39041, "lon": -99.157599}, {"type": "node", "id": 12745714582, "lat": 19.3905786, "lon": -99.1575859}, {"type": "node", "id": 12745714583, "lat": 19.3905625, "lon": -99.1573543}, {"type": "node", "id": 12745714584, "lat": 19.3899325, "lon": -99.1579339}, {"type": "node", "id": 12745714585, "lat": 19.3904304, "lon": -99.1578951}, {"type": "node", "id": 12745714586, "lat": 19.3892214, "lon": -99.157945}, {"type": "node", "id": 12745714587, "lat": 19.3892394, "lon": -99.1579406}, {"type": "node", "id": 12745714588, "lat": 19.3892396, "lon": -99.1580279}, {"type": "node", "id": 12745714589, "lat": 19.3892245, "lon": -99.1578725}, {"type": "node", "id": 12745714590, "lat": 19.3893093, "lon": -99.1578516}, {"type": "node", "id": 12745714591, "lat": 19.3893423, "lon": -99.1580026}, {"type": "way", "id": 401207990, "nodes": [4036563760, 12745366131, 12745366132, 12745366116, 4036563761, 12745366112, 4036563762, 4036563763, 4036563764, 12745339800, 12745339799, 12745380478, 12745380477, 12745366111, 4036563766, 4036563767, 4036563768, 4036563769, 4036563770, 4036563771, 4036563772, 4036563775, 5473760039, 5473760038, 4036563760]}, {"type": "way", "id": 401207991, "nodes": [4036563776, 4036563777, 4036563778, 4036563779, 4036563776], "tags": {"building": "school"}}, {"type": "way", "id": 404802850, "nodes": [4070591468, 4070591469, 4070591470, 4070591471, 4070591468], "tags": {"addr:housenumber": "694", "addr:street": "Avenida Cuauht\u00e9moc", "alt_name": "Nissan Cuauht\u00e9moc", "branch": "Cuauht\u00e9moc", "brand": "Nissan", "brand:wikidata": "Q20165", "brand:wikipedia": "ja:\u65e5\u7523\u81ea\u52d5\u8eca", "building": "yes", "name": "Nissan", "shop": "car"}}, {"type": "way", "id": 479119172, "nodes": [4722656308, 12745714581, 4722656309, 4722656310, 4722656311, 4722656308], "tags": {"amenity": "marketplace", "building": "commercial", "name": "Mercado 24 de agosto", "opening_hours": "Mo-Su 07:00-19:00", "operator": "Gobierno de la CDMX"}}, {"type": "way", "id": 479769312, "nodes": [4728165246, 4728165247, 4728165248, 4728165249, 11838256588, 11838256589, 4728165246], "tags": {"branch": "Narvarte", "brand": "Walmart", "brand:wikidata": "Q483551", "building": "yes", "name": "Walmart Express", "shop": "supermarket"}}, {"type": "way", "id": 526466466, "nodes": [5119517077, 5119517076, 5119517075, 5119517074, 5119517077], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "570", "addr:postcode": "03100", "addr:street": "Calle Nicol\u00e1s San Juan", "amenity": "cafe", "building": "yes", "cuisine": "coffee_shop;mexican;breakfast;bakery", "internet_access": "wlan", "internet_access:fee": "customers", "name": "La Trigue\u00f1a - Pan para todos", "opening_hours": "Mo-Fr 08:00-21:00; Sa-Su 08:00-17:00", "outdoor_seating": "yes", "phone": "+52 55 9130 9814"}}, {"type": "way", "id": 526583997, "nodes": [5120511391, 5120511392, 5120511393, 5120511394, 5120511391], "tags": {"building": "yes"}}, {"type": "way", "id": 527396434, "nodes": [5127422094, 5127422093, 5127422092, 5127422091, 5127422094]}, {"type": "way", "id": 527396435, "nodes": [5127422100, 5127422099, 5127422098, 5127422097, 5127422100], "tags": {"building": "hospital", "name": "Hospital San Patricio"}}, {"type": "way", "id": 527396436, "nodes": [5127422102, 5127422101, 5127422104, 5127422103, 5127422107, 5127422108, 5127422106, 5127422105, 5127422109, 5127422110, 5127422111, 5127422112, 5127422102], "tags": {"building": "yes"}}, {"type": "way", "id": 527396437, "nodes": [5127422238, 5127422231, 5127422232, 5127422233, 5127422234, 5127422235, 5127422226, 5127422241, 5127422242, 5127422243, 5127422240, 5127422225, 5127422236, 5127422239, 5127422237, 5127422238]}, {"type": "way", "id": 527396438, "nodes": [5127422230, 5127422229, 5127422228, 5127422227, 5127422230]}, {"type": "way", "id": 527396439, "nodes": [5127422248, 5127422247, 5127422310, 5127422319, 5127422318, 5127422317, 5127422316, 5127422315, 5127422314, 5127422313, 5127422312, 5127422311, 5127422339, 5127422340, 5127422338, 5127422309, 5127422246, 5127422251, 5127422250, 5127422249, 5127422245, 5127422324, 5127422325, 5127422244, 5127422248], "tags": {"building": "yes"}}, {"type": "way", "id": 527396440, "nodes": [5127422252, 5127422284, 5127422287, 5127422286, 5127422285, 5127422253, 5127422254, 5127422255, 5127422252], "tags": {"building": "yes"}}, {"type": "way", "id": 527396441, "nodes": [5127422259, 5127422258, 5127422257, 5127422256, 5127422259]}, {"type": "way", "id": 527396442, "nodes": [5127422275, 5127422274, 5127422273, 5127422272, 5127422275], "tags": {"building": "yes"}}, {"type": "way", "id": 527396443, "nodes": [5127422279, 5127422276, 5127422277, 5127422278, 5127422279], "tags": {"building": "yes"}}, {"type": "way", "id": 527396444, "nodes": [5127422291, 5127422269, 5127422268, 5127422267, 5127422271, 5127422270, 5127422266, 5127422265, 5127422264, 5127422290, 5127422289, 5127422288, 5127422291], "tags": {"building": "yes"}}, {"type": "way", "id": 527396445, "nodes": [5127422295, 5127422294, 5127422293, 5127422292, 5127422295], "tags": {"building": "yes"}}, {"type": "way", "id": 527396446, "nodes": [5127422299, 5127422298, 5127422297, 5127422280, 5127422281, 5127422282, 5127422296, 5127422283, 5127422299], "tags": {"building": "yes"}}, {"type": "way", "id": 527396447, "nodes": [5127422304, 5127422301, 5127422300, 5127422302, 5127422303, 5127422304], "tags": {"building": "yes"}}, {"type": "way", "id": 527396448, "nodes": [5127422308, 5127422307, 5127422306, 5127422305, 5127422308], "tags": {"building": "yes"}}, {"type": "way", "id": 527396449, "nodes": [5127422323, 5127422320, 5127422321, 5127422322, 5127422323], "tags": {"building": "yes"}}, {"type": "way", "id": 527396450, "nodes": [5127422329, 5127422326, 5127422327, 5127422328, 5127422329], "tags": {"building": "yes"}}, {"type": "way", "id": 527396451, "nodes": [5127422333, 5127422330, 5127422331, 5127422332, 5127422333], "tags": {"building": "yes"}}, {"type": "way", "id": 527396452, "nodes": [5127422337, 5127422334, 5127422335, 5127422336, 5127422337], "tags": {"building": "yes"}}, {"type": "way", "id": 527396453, "nodes": [5127422344, 5127422341, 5127422342, 5127422343, 5127422344], "tags": {"building": "yes"}}, {"type": "way", "id": 527396454, "nodes": [5127422348, 5127422345, 5127422346, 5127422347, 5127422348], "tags": {"building": "yes"}}, {"type": "way", "id": 527396455, "nodes": [5127422356, 5127422263, 5127422262, 5127422261, 5127422260, 5127422355, 5127422354, 5127422353, 5127422356]}, {"type": "way", "id": 527396456, "nodes": [5127422364, 5127422363, 5127422362, 5127422361, 5127422364]}, {"type": "way", "id": 527396457, "nodes": [5127422370, 5127422224, 5127422223, 5127422222, 5127422221, 5127422120, 5127422119, 5127422118, 5127422117, 5127422369, 5127422368, 5127422113, 5127422114, 5127422115, 5127422116, 5127422367, 5127422370], "tags": {"building": "yes"}}, {"type": "way", "id": 527396458, "nodes": [5127422374, 5127422373, 5127422372, 5127422371, 5127422374], "tags": {"building": "yes"}}, {"type": "way", "id": 527396459, "nodes": [5127422378, 5127422377, 5127422376, 5127493081, 5127493079, 5127493080, 5127493082, 5127422375, 5127422378], "tags": {"building": "yes"}}, {"type": "way", "id": 527396460, "nodes": [5127422382, 5127493090, 5127493088, 5127493087, 5127493089, 5127422381, 5127422380, 5127422379, 5127422382]}, {"type": "way", "id": 527396461, "nodes": [5127422386, 5127422383, 5127422384, 5127422385, 5127422089, 5127422090, 5127422386]}, {"type": "way", "id": 527396462, "nodes": [5127422390, 5127422387, 5127422388, 5127422095, 5127422096, 5127422389, 5127422390]}, {"type": "way", "id": 527396463, "nodes": [5127422394, 5127422391, 5127422392, 5127422393, 5127422394], "tags": {"building": "yes"}}, {"type": "way", "id": 527396464, "nodes": [5127422398, 5127422395, 5127422396, 5127422397, 5127422398], "tags": {"building": "yes"}}, {"type": "way", "id": 527396465, "nodes": [5127422402, 5127422401, 5127422352, 5127422351, 5127422349, 5127422350, 5127422400, 5127422399, 5127422402], "tags": {"building": "yes"}}, {"type": "way", "id": 527396466, "nodes": [5127422406, 5127422405, 5127422404, 5127422403, 5127422359, 5127422358, 5127422357, 5127422360, 5127422406]}, {"type": "way", "id": 527396467, "nodes": [5127422365, 5127422409, 5127422408, 5127422407, 5127422366, 5127422365], "tags": {"building": "yes"}}, {"type": "way", "id": 527403609, "nodes": [5127489874, 5127489873, 5127489872, 5127489871, 5127489870, 5127489869, 5127489874], "tags": {"building": "yes"}}, {"type": "way", "id": 527403610, "nodes": [5127489880, 5127489879, 5127489878, 5127489877, 5127489876, 5127489875, 5127489880], "tags": {"building": "yes"}}, {"type": "way", "id": 527403611, "nodes": [5127489884, 5127489881, 5127489882, 5127489883, 5127489884], "tags": {"building": "yes"}}, {"type": "way", "id": 527403612, "nodes": [5127489888, 5127489887, 5127489886, 5127489885, 5127489888], "tags": {"building": "yes"}}, {"type": "way", "id": 527403613, "nodes": [5127489889, 5127489910, 5127489909, 5127489912, 5127489911, 5127489890, 5127489892, 5127489908, 5127489907, 5127489906, 5127489905, 5127489891, 5127489889]}, {"type": "way", "id": 527403614, "nodes": [5127489896, 5127489893, 5127489894, 5127489895, 5127489896]}, {"type": "way", "id": 527403615, "nodes": [5127489900, 5127489899, 5127489898, 5127489897, 5127489900]}, {"type": "way", "id": 527403616, "nodes": [5127489904, 5127489903, 5127489902, 5127489901, 5127489904]}, {"type": "way", "id": 527403617, "nodes": [5127489916, 5127489915, 5127489914, 5127489913, 5127489916], "tags": {"building": "yes"}}, {"type": "way", "id": 527403618, "nodes": [5127489920, 5127489917, 5127489918, 5127489919, 5127489920]}, {"type": "way", "id": 527403619, "nodes": [5127492924, 5127492923, 5127492922, 5127492921, 5127492924]}, {"type": "way", "id": 527403620, "nodes": [5127492928, 5127492927, 5127492926, 5127492925, 5127492928]}, {"type": "way", "id": 527403621, "nodes": [5127492932, 5127492931, 5127492930, 5127492929, 5127492932]}, {"type": "way", "id": 527403622, "nodes": [5127492936, 5127492933, 5127492934, 5127492935, 5127492936]}, {"type": "way", "id": 527403623, "nodes": [5127492940, 5127492937, 5127492938, 5127492939, 5127492940]}, {"type": "way", "id": 527403625, "nodes": [5127492952, 5127492949, 5127492950, 5127492951, 5127492952]}, {"type": "way", "id": 527403626, "nodes": [5127492946, 5127492948, 5127492956, 5127492955, 5127492954, 5127492953, 5127492947, 5127492945, 5127492958, 5127492957, 5127492960, 5127492959, 5127492946]}, {"type": "way", "id": 527403627, "nodes": [5127492964, 5127492963, 5127492962, 5127492961, 5127492964], "tags": {"building": "yes"}}, {"type": "way", "id": 527403628, "nodes": [5127492968, 5127492965, 5127492966, 5127492967, 5127492968]}, {"type": "way", "id": 527403629, "nodes": [5127492972, 5127492971, 5127492970, 5127492969, 5127492972]}, {"type": "way", "id": 527403630, "nodes": [5127492984, 5127492973, 5127492975, 5127492986, 5127492985, 5127492977, 5127492978, 5127492979, 5127492980, 5127492988, 5127492987, 5127492976, 5127492974, 5127492981, 5127492982, 5127492983, 5127492984]}, {"type": "way", "id": 527403634, "nodes": [5127493008, 5127493007, 5127493006, 5127493005, 5127493008]}, {"type": "way", "id": 527403635, "nodes": [5127493012, 5127493011, 5127493010, 5127493009, 5127493012]}, {"type": "way", "id": 527403636, "nodes": [5127493013, 5127493022, 5127493023, 5127493024, 5127493021, 5127493014, 5127493016, 5127493020, 5127493017, 5127493018, 5127493019, 5127493015, 5127493013]}, {"type": "way", "id": 527403637, "nodes": [5127493030, 5127493029, 5127493028, 5127493027, 5127493026, 5127493025, 5127493030], "tags": {"building": "yes"}}, {"type": "way", "id": 527403638, "nodes": [5127493036, 5127493035, 5127493034, 5127493033, 5127493032, 5127493031, 5127493036], "tags": {"building": "yes"}}, {"type": "way", "id": 527403639, "nodes": [5127493042, 5127493039, 5127493038, 5127493037, 5127493040, 5127493041, 5127493042], "tags": {"building": "yes"}}, {"type": "way", "id": 527403641, "nodes": [5127493052, 5127493051, 5127493047, 5127493048, 5127493050, 5127493049, 5127493052], "tags": {"building": "yes"}}, {"type": "way", "id": 527403642, "nodes": [5127493058, 5127493055, 5127493004, 5127493003, 5127493002, 5127493001, 5127493056, 5127493053, 5127493057, 5127493054, 5127493058], "tags": {"building": "yes"}}, {"type": "way", "id": 527403643, "nodes": [5127493070, 5127493069, 5127493068, 5127493067, 5127493070]}, {"type": "way", "id": 527403644, "nodes": [5127493074, 5127493073, 5127493072, 5127493071, 5127493074]}, {"type": "way", "id": 527403645, "nodes": [5127493078, 5127493075, 5127493066, 5127493065, 5127493064, 5127493063, 5127493062, 5127493061, 5127493060, 5127493059, 5127493076, 5127493077, 5127493078]}, {"type": "way", "id": 527403646, "nodes": [5127493086, 5127493085, 5127493084, 5127493083, 5127493086]}, {"type": "way", "id": 527403647, "nodes": [5127493094, 5127493093, 5127493092, 5127493091, 5127493094]}, {"type": "way", "id": 527403648, "nodes": [5127493098, 5127493097, 5127493096, 5127493095, 5127493098]}, {"type": "way", "id": 528091477, "nodes": [5132757753, 5132757750, 5132757751, 5132757752, 5132757753], "tags": {"building": "yes"}}, {"type": "way", "id": 528091485, "nodes": [5132757769, 5132757768, 5132757765, 5132757763, 5132757760, 5132757759, 5132757758, 5132757761, 5132757762, 5132757764, 5132757767, 5132757756, 5132757755, 5132757754, 5132757757, 5132757766, 5132757769], "tags": {"building": "yes"}}, {"type": "way", "id": 528091486, "nodes": [5132757773, 5132757772, 5132757771, 5132757770, 5132757773], "tags": {"building": "yes"}}, {"type": "way", "id": 528091487, "nodes": [5132757789, 5132757788, 5132757776, 5132757775, 5132757774, 5132757777, 5132757779, 5132757778, 5132757787, 5132757780, 5132757783, 5132757786, 5132757781, 5132757782, 5132757784, 5132757785, 5132757789], "tags": {"building": "yes"}}, {"type": "way", "id": 528095917, "nodes": [5132786129, 5132786128, 5132786127, 5132786126, 5132786129], "tags": {"building": "yes"}}, {"type": "way", "id": 529634865, "nodes": [5144664847, 5144664890, 5144664889, 5144664849, 5144664848, 5144664859, 5144664860, 5144664858, 5144664851, 5144664850, 5144664847], "tags": {"building": "yes"}}, {"type": "way", "id": 529634866, "nodes": [5144664857, 5144664856, 5144664855, 5144664854, 5144664852, 5144664853, 5144664857], "tags": {"building": "yes"}}, {"type": "way", "id": 529634868, "nodes": [5144664868, 5144664865, 5144664866, 5144664867, 5144664868]}, {"type": "way", "id": 529634869, "nodes": [5144664872, 5144664871, 5144664870, 5144664869, 5144664872]}, {"type": "way", "id": 529634870, "nodes": [5144664876, 5144664875, 5144664874, 5144664873, 5144664876]}, {"type": "way", "id": 529634871, "nodes": [5144664880, 5144664879, 5144664878, 5144664877, 5144664880]}, {"type": "way", "id": 529634872, "nodes": [5144664884, 5144664881, 5144664882, 5144664883, 5144664884]}, {"type": "way", "id": 529634873, "nodes": [5144664888, 5144664885, 5144664886, 5144664887, 5144664888], "tags": {"building": "yes"}}, {"type": "way", "id": 529634875, "nodes": [5144664898, 5144664897, 5144664896, 5144664895, 5144664898], "tags": {"building": "yes"}}, {"type": "way", "id": 529634877, "nodes": [5144664930, 5144664917, 5144664918, 5144664927, 5144664904, 5144664902, 5144664901, 5144664903, 5144664900, 5144664899, 5144664928, 5144664929, 5144664930], "tags": {"building": "yes"}}, {"type": "way", "id": 529634878, "nodes": [5144664934, 5144664925, 5144664926, 5144664931, 5144664924, 5144664922, 5144664921, 5144664923, 5144664920, 5144664919, 5144664932, 5144664933, 5144664934], "tags": {"building": "yes"}}, {"type": "way", "id": 529634879, "nodes": [5144664938, 5144664935, 5144664936, 5144664937, 5144664938], "tags": {"building": "yes"}}, {"type": "way", "id": 529634880, "nodes": [5144664942, 5144664912, 5144664910, 5144664909, 5144664911, 5144664939, 5144664940, 5144664907, 5144664906, 5144664905, 5144664908, 5144664941, 5144664942], "tags": {"building": "yes"}}, {"type": "way", "id": 529634881, "nodes": [5144664946, 5144664943, 5144664944, 5144664915, 5144664914, 5144664913, 5144664916, 5144664945, 5144664946], "tags": {"building": "yes"}}, {"type": "way", "id": 529634882, "nodes": [5144664950, 5144664947, 5144664948, 5144664949, 5144664950], "tags": {"building": "yes"}}, {"type": "way", "id": 1202125497, "nodes": [11144999104, 11145001005, 11145001006, 11145001007, 11144999104], "tags": {"building": "yes"}}, {"type": "way", "id": 1202387595, "nodes": [11147011312, 11145001005, 11145001006, 11147011313, 11147011314, 11145001009, 11145001008, 11147011315, 11147011312], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 1376553915, "nodes": [12745339798, 12745339797, 12745339796, 12745339795, 12745339798]}, {"type": "way", "id": 1376553916, "nodes": [12745366105, 12745366104, 12745366103, 12745366114, 12745366102, 12745366101, 12745339800, 12745339799, 12745380493, 12745380488, 12745380486, 12745366105]}, {"type": "way", "id": 1376553921, "nodes": [12745366122, 12745366121, 12745366120, 12745366119, 12745366122]}, {"type": "way", "id": 1376553922, "nodes": [12745366126, 12745366125, 12745366124, 12745366123, 12745366126]}, {"type": "way", "id": 1376553923, "nodes": [12745366130, 12745366129, 12745366128, 12745366127, 12745366130]}, {"type": "way", "id": 1376555918, "nodes": [12745366111, 12745380481, 12745380493, 12745339799, 12745380478, 12745380479, 12745380480, 12745380477, 12745366111], "tags": {"building": "yes"}}, {"type": "way", "id": 1376555919, "nodes": [12745380489, 12745380483, 12745366105, 12745380486, 12745380484, 12745380485, 12745380489], "tags": {"building": "yes"}}, {"type": "way", "id": 1376555920, "nodes": [12745380493, 12745380481, 12745380492, 12745380482, 12745380491, 12745380483, 12745380489, 12745380490, 12745380487, 12745380488, 12745380493], "tags": {"building": "yes"}}, {"type": "way", "id": 1376555921, "nodes": [12745366104, 12745380495, 12745392726, 12745392727, 12745380494, 12745366103, 12745366104], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557338, "nodes": [12745385528, 12745385521, 12745385524, 12745385523, 12745385522, 12745385525, 12745385526, 12745385527, 12745385528], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557339, "nodes": [12745385532, 12745385542, 12745385529, 12745385530, 12745385534, 12745385531, 12745385532], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557340, "nodes": [12745385536, 12745385535, 12745385531, 12745385534, 12745385533, 12745385536], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557342, "nodes": [12745385547, 12745385543, 12745385542, 12745385532, 12745385544, 12745385540, 12745385541, 12745385545, 12745385538, 12745385539, 12745385546, 12745385547], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557343, "nodes": [12745385551, 12745385548, 12745385549, 12745385550, 12745385551], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557345, "nodes": [12745392701, 12745385592, 12745385571, 12745385572, 12745385573, 12745392701], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557346, "nodes": [12745385584, 12745385585, 12745385575, 12745385574, 12745385584], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557348, "nodes": [12745385576, 12745385579, 12745385567, 12745385566, 12745385565, 12745385564, 12745385569, 12745385559, 12745385558, 12745385562, 12745385560, 12745385561, 12745385563, 12745385568, 12745385576], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557349, "nodes": [12745385582, 12745385557, 12745385555, 12745385553, 12745385552, 12745385554, 12745385556, 12745385580, 12745385576, 12745385568, 12745385581, 12745385582], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557350, "nodes": [12745385585, 12745385584, 12745385580, 12745385556, 12745385557, 12745385582, 12745385583, 12745385590, 12745385585], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557352, "nodes": [12745385591, 12745385594, 12745385588, 12745385589, 12745385590, 12745385583, 12745385587, 12745385591], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557353, "nodes": [12745385594, 12745385591, 12745385572, 12745385592, 12745385571, 12745385593, 12745385594], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557354, "nodes": [12745385598, 12745385597, 12745385596, 12745385595, 12745385598], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557355, "nodes": [12745392703, 12745392702, 12745385599, 12745385597, 12745385598, 12745392703], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557356, "nodes": [12745392703, 12745385600, 12745385593, 12745385571, 12745385592, 12745392701, 12745392702, 12745392703], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557357, "nodes": [12745392704, 12745392708, 12745392707, 12745392710, 12745392709, 12745392706, 12745392705, 12745392704], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557358, "nodes": [12745392714, 12745392711, 12745392712, 12745392706, 12745392709, 12745392710, 12745392713, 12745392714], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557360, "nodes": [12745392722, 12745392723, 12745392721, 12745392720, 12745392722], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557361, "nodes": [12745392724, 12745392725, 12745392723, 12745392722, 12745392719, 12745392715, 12745392718, 12745392717, 12745392716, 12745392724], "tags": {"building": "yes"}}, {"type": "way", "id": 1376557362, "nodes": [12745392727, 12745392726, 12745392725, 12745392724, 12745392727], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558500, "nodes": [12745382918, 12745382926, 12745382925, 12745382929, 12745382915, 12745382916, 12745382917, 12745382918], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558501, "nodes": [12745382932, 12745382922, 12745382920, 12745382919, 12745382921, 12745382931, 12745382929, 12745382925, 12745382924, 12745382923, 12745382926, 12745382918, 12745382928, 12745382927, 12745382932], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558502, "nodes": [12745382933, 12745382930, 12745382931, 12745382932, 12745382933], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558503, "nodes": [12745382937, 12745382934, 12745382935, 12745382936, 12745382937], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558504, "nodes": [12745382941, 12745382938, 12745382939, 12745382940, 12745382941], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558505, "nodes": [12745382945, 12745382942, 12745382943, 12745382944, 12745382945], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558506, "nodes": [12745382958, 12745382951, 12745382950, 12745382957, 12745382930, 12745382933, 12745382947, 12745382946, 12745382958]}, {"type": "way", "id": 1376558507, "nodes": [12745382959, 12745382985, 12745382975, 12745382976, 12745382955, 12745382953, 12745382952, 12745382954, 12745382956, 12745382957, 12745382950, 12745382949, 12745382948, 12745382951, 12745382958, 12745382959], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558508, "nodes": [12745382962, 12745382967, 12745382961, 12745382960, 12745382962], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558509, "nodes": [12745382968, 12745382965, 12745382964, 12745382966, 12745382963, 12745382967, 12745382962, 12745382982, 12745382970, 12745382969, 12745382968], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558510, "nodes": [12745382987, 12745382984, 12745382970, 12745382982, 12745382981, 12745382973, 12745382972, 12745382971, 12745382974, 12745382977, 12745382976, 12745382975, 12745382978, 12745382983, 12745382980, 12745382979, 12745382985, 12745382959, 12745382986, 12745382987], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558511, "nodes": [12745382991, 12745406001, 12745382990, 12745382989, 12745382988, 12745382984, 12745382987, 12745382991], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558512, "nodes": [12745406011, 12745382999, 12745382996, 12745382995, 12745383000, 12745382997, 12745382998, 12745382994, 12745382993, 12745406001, 12745382991, 12745382992, 12745406011], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558513, "nodes": [12745406013, 12745406010, 12745382999, 12745406011, 12745406012, 12745406008, 12745406007, 12745406004, 12745406003, 12745406002, 12745406005, 12745406006, 12745406009, 12745406013], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558678, "nodes": [12745388277, 12745388275, 12745388292, 12745388293, 12745388276, 12745388277], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558679, "nodes": [12745388281, 12745388278, 12745388279, 12745388280, 12745388281], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558680, "nodes": [12745388285, 12745388282, 12745388283, 12745388284, 12745388285], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558681, "nodes": [12745388289, 12745388286, 12745388287, 12745388288, 12745388289], "tags": {"building": "yes"}}, {"type": "way", "id": 1376558682, "nodes": [12745388293, 12745388292, 12745388291, 12745388290, 12745388293], "tags": {"addr:housenumber": "857", "addr:street": "Avenida Cuauht\u00e9moc"}}, {"type": "way", "id": 1376607102, "nodes": [12745714535, 12745714534, 12745714533, 12745714532, 12745714535], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607103, "nodes": [12745714540, 12745714538, 12745714537, 12745714536, 12745714540], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607104, "nodes": [12745714542, 12745714541, 12745714538, 12745714540, 12745714539, 12745714542], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607105, "nodes": [12745714548, 12745714542, 12745714545, 12745714546, 12745714543, 12745714544, 12745714547, 12745714548], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607106, "nodes": [12745714555, 12745714554, 12745714553, 12745714550, 12745714549, 12745714552, 12745714551, 12745714555], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607107, "nodes": [12745714562, 12745714559, 12745714543, 12745714546, 12745714560, 12745714556, 12745714557, 12745714558, 12745714561, 12745714562], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607108, "nodes": [12745714567, 12745714569, 12745714568, 12745714573, 12745714564, 12745714563, 12745714565, 12745714567], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607109, "nodes": [12745714573, 12745714583, 12745714582, 12745714578, 12745714570, 12745714571, 12745714566, 12745714564, 12745714573], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607110, "nodes": [12745714566, 12745714571, 12745714572, 12745714574, 12745714577, 12745714567, 12745714565, 12745714566], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607111, "nodes": [12745714579, 12745714575, 12745714576, 12745714577, 12745714574, 12745714579], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607112, "nodes": [12745714580, 12745714579, 12745714574, 12745714570, 12745714578, 12745714580], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607113, "nodes": [12745714582, 12745714581, 4722656308, 12745714585, 12745714580, 12745714578, 12745714582], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607114, "nodes": [4722656309, 12745714581, 12745714582, 12745714583, 4722656309], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607115, "nodes": [4722656311, 12745714584, 12745714585, 4722656308, 4722656311], "tags": {"building": "yes"}}, {"type": "way", "id": 1376607116, "nodes": [12745714591, 12745714590, 12745714589, 12745714587, 12745714586, 12745714588, 12745714591], "tags": {"building": "yes"}}, {"type": "relation", "id": 7604003, "members": [{"type": "way", "ref": 527396462, "role": "outer"}, {"type": "way", "ref": 527396434, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604004, "members": [{"type": "way", "ref": 527396455, "role": "outer"}, {"type": "way", "ref": 527396441, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604005, "members": [{"type": "way", "ref": 527396437, "role": "outer"}, {"type": "way", "ref": 527396438, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604006, "members": [{"type": "way", "ref": 527396466, "role": "outer"}, {"type": "way", "ref": 527396456, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604040, "members": [{"type": "way", "ref": 527403618, "role": "outer"}, {"type": "way", "ref": 527403614, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604041, "members": [{"type": "way", "ref": 527403613, "role": "outer"}, {"type": "way", "ref": 527403615, "role": "inner"}, {"type": "way", "ref": 527403616, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604042, "members": [{"type": "way", "ref": 527403623, "role": "outer"}, {"type": "way", "ref": 527403619, "role": "inner"}, {"type": "way", "ref": 527403620, "role": "inner"}, {"type": "way", "ref": 527403621, "role": "inner"}, {"type": "way", "ref": 527403622, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604043, "members": [{"type": "way", "ref": 527403626, "role": "outer"}, {"type": "way", "ref": 527403625, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604044, "members": [{"type": "way", "ref": 527403630, "role": "outer"}, {"type": "way", "ref": 527403628, "role": "inner"}, {"type": "way", "ref": 527403629, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604045, "members": [{"type": "way", "ref": 527403636, "role": "outer"}, {"type": "way", "ref": 527403634, "role": "inner"}, {"type": "way", "ref": 527403635, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604046, "members": [{"type": "way", "ref": 527403645, "role": "outer"}, {"type": "way", "ref": 527403643, "role": "inner"}, {"type": "way", "ref": 527403644, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604047, "members": [{"type": "way", "ref": 527396460, "role": "outer"}, {"type": "way", "ref": 527403646, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7604048, "members": [{"type": "way", "ref": 527396461, "role": "outer"}, {"type": "way", "ref": 527403648, "role": "inner"}, {"type": "way", "ref": 527403647, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 7624078, "members": [{"type": "way", "ref": 529634872, "role": "outer"}, {"type": "way", "ref": 529634871, "role": "inner"}, {"type": "way", "ref": 529634870, "role": "inner"}, {"type": "way", "ref": 529634869, "role": "inner"}, {"type": "way", "ref": 529634868, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18973877, "members": [{"type": "way", "ref": 1376553916, "role": "outer"}, {"type": "way", "ref": 1376553915, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18973878, "members": [{"type": "way", "ref": 401207990, "role": "outer"}, {"type": "way", "ref": 1376553923, "role": "inner"}, {"type": "way", "ref": 1376553922, "role": "inner"}, {"type": "way", "ref": 1376553921, "role": "inner"}], "tags": {"building": "school", "type": "multipolygon"}}, {"type": "relation", "id": 18973938, "members": [{"type": "way", "ref": 1376558506, "role": "outer"}, {"type": "way", "ref": 1376558505, "role": "inner"}, {"type": "way", "ref": 1376558504, "role": "inner"}, {"type": "way", "ref": 1376558503, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18973943, "members": [{"type": "way", "ref": 1376558682, "role": "outer"}, {"type": "way", "ref": 1376558681, "role": "inner"}, {"type": "way", "ref": 1376558680, "role": "inner"}], "tags": {"building": "yes", "type": "multipolygon"}}]} \ No newline at end of file diff --git a/cache/c842de5e4cc817dae09d5305f54f0a5ac32c4efb.json b/cache/c842de5e4cc817dae09d5305f54f0a5ac32c4efb.json new file mode 100644 index 0000000..d65163c --- /dev/null +++ b/cache/c842de5e4cc817dae09d5305f54f0a5ac32c4efb.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:21:34Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/cd73f69a0e3f210f109fcbe86e6fff38302045a3.json b/cache/cd73f69a0e3f210f109fcbe86e6fff38302045a3.json new file mode 100644 index 0000000..62c7fcf --- /dev/null +++ b/cache/cd73f69a0e3f210f109fcbe86e6fff38302045a3.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T04:03:02Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/dcaef4ba00fe3e6ad074ac9888f2a8e75172ef5d.json b/cache/dcaef4ba00fe3e6ad074ac9888f2a8e75172ef5d.json new file mode 100644 index 0000000..8ec0122 --- /dev/null +++ b/cache/dcaef4ba00fe3e6ad074ac9888f2a8e75172ef5d.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T03:57:57Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/e403b6ed9e9ccda34665f3c05a403dda96fecef2.json b/cache/e403b6ed9e9ccda34665f3c05a403dda96fecef2.json new file mode 100644 index 0000000..f3b4455 --- /dev/null +++ b/cache/e403b6ed9e9ccda34665f3c05a403dda96fecef2.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T00:17:25Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339674, "lat": 19.3845481, "lon": -99.1522672, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340084, "lat": 19.3811337, "lon": -99.1586457, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340903, "lat": 19.3856996, "lon": -99.1597373}, {"type": "node", "id": 30340904, "lat": 19.3855537, "lon": -99.1590473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340905, "lat": 19.3853852, "lon": -99.1582603}, {"type": "node", "id": 30340906, "lat": 19.3852178, "lon": -99.1574967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340909, "lat": 19.384773, "lon": -99.1549446}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340914, "lat": 19.3844874, "lon": -99.1516878}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340917, "lat": 19.3843329, "lon": -99.1499247}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340920, "lat": 19.3839984, "lon": -99.1474407, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341106, "lat": 19.3796894, "lon": -99.1591091, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341107, "lat": 19.381448, "lon": -99.1585398}, {"type": "node", "id": 30341108, "lat": 19.3828728, "lon": -99.1580781, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341110, "lat": 19.3859474, "lon": -99.1573205}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30384303, "lat": 19.3875045, "lon": -99.1616297}, {"type": "node", "id": 30385356, "lat": 19.3840501, "lon": -99.1632646}, {"type": "node", "id": 30385360, "lat": 19.3832214, "lon": -99.1596316}, {"type": "node", "id": 30385361, "lat": 19.3830423, "lon": -99.1588289}, {"type": "node", "id": 30385366, "lat": 19.3823046, "lon": -99.1552998}, {"type": "node", "id": 30385367, "lat": 19.3822102, "lon": -99.1547015}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385387, "lat": 19.3848628, "lon": -99.1557691, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385577, "lat": 19.3896814, "lon": -99.1634317, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594104, "lat": 19.4019229, "lon": -99.1547508}, {"type": "node", "id": 30594246, "lat": 19.3866956, "lon": -99.164168, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30594254, "lat": 19.3919338, "lon": -99.162896, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30594263, "lat": 19.3980325, "lon": -99.1614556}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30595044, "lat": 19.396359, "lon": -99.1617941, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30758913, "lat": 19.3845742, "lon": -99.1557564}, {"type": "node", "id": 30758914, "lat": 19.384713, "lon": -99.1542755}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30758974, "lat": 19.3911798, "lon": -99.1732429}, {"type": "node", "id": 30759076, "lat": 19.3890109, "lon": -99.1636072, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30759077, "lat": 19.3888011, "lon": -99.1626713, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759079, "lat": 19.3870113, "lon": -99.1545053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759080, "lat": 19.3909386, "lon": -99.1721744}, {"type": "node", "id": 30759081, "lat": 19.3907363, "lon": -99.1712879}, {"type": "node", "id": 30759082, "lat": 19.3905579, "lon": -99.1704944}, {"type": "node", "id": 30759083, "lat": 19.3904137, "lon": -99.1698528}, {"type": "node", "id": 30759084, "lat": 19.3902539, "lon": -99.1691419}, {"type": "node", "id": 30759085, "lat": 19.3901386, "lon": -99.1686292}, {"type": "node", "id": 30759086, "lat": 19.3900093, "lon": -99.1680537}, {"type": "node", "id": 30759090, "lat": 19.3883669, "lon": -99.1606494}, {"type": "node", "id": 30759092, "lat": 19.3880382, "lon": -99.1591494}, {"type": "node", "id": 30759093, "lat": 19.3878746, "lon": -99.1583942}, {"type": "node", "id": 30759094, "lat": 19.3877136, "lon": -99.1576975}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759097, "lat": 19.3868752, "lon": -99.1539497}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30759288, "lat": 19.3833786, "lon": -99.1603132}, {"type": "node", "id": 30759290, "lat": 19.3847989, "lon": -99.1607926, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789511, "lat": 19.3867359, "lon": -99.1546747}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789546, "lat": 19.3982144, "lon": -99.1550538}, {"type": "node", "id": 30789547, "lat": 19.4001258, "lon": -99.1549075}, {"type": "node", "id": 30789555, "lat": 19.4038334, "lon": -99.1562967}, {"type": "node", "id": 30789556, "lat": 19.4018135, "lon": -99.1564058}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789564, "lat": 19.4001933, "lon": -99.156523}, {"type": "node", "id": 30789608, "lat": 19.4037424, "lon": -99.156961}, {"type": "node", "id": 30789609, "lat": 19.4017821, "lon": -99.1571008, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789610, "lat": 19.3959554, "lon": -99.1575343, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789617, "lat": 19.4002353, "lon": -99.1571907}, {"type": "node", "id": 30789621, "lat": 19.4022924, "lon": -99.1571282}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 30789626, "lat": 19.3947065, "lon": -99.1583197}, {"type": "node", "id": 30789627, "lat": 19.395996, "lon": -99.1582139}, {"type": "node", "id": 30789629, "lat": 19.4002796, "lon": -99.1578942}, {"type": "node", "id": 30789639, "lat": 19.3835387, "lon": -99.1610075}, {"type": "node", "id": 30789642, "lat": 19.3882121, "lon": -99.1599523}, {"type": "node", "id": 30879848, "lat": 19.3966699, "lon": -99.1632565, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879849, "lat": 19.39436, "lon": -99.1638176, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879851, "lat": 19.3910545, "lon": -99.164646, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30879876, "lat": 19.3893334, "lon": -99.1650475}, {"type": "node", "id": 30879979, "lat": 19.3925149, "lon": -99.1659571, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30879982, "lat": 19.3896669, "lon": -99.1665309, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30880008, "lat": 19.3905632, "lon": -99.1652946}, {"type": "node", "id": 30880012, "lat": 19.3897102, "lon": -99.1667189, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 30880093, "lat": 19.3772451, "lon": -99.1633582, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180208, "lat": 19.3807037, "lon": -99.1596107}, {"type": "node", "id": 31180210, "lat": 19.381316, "lon": -99.159409}, {"type": "node", "id": 31180441, "lat": 19.3796062, "lon": -99.1627948}, {"type": "node", "id": 31180442, "lat": 19.3799264, "lon": -99.1642742, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180751, "lat": 19.3925792, "lon": -99.1658217, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180771, "lat": 19.392257, "lon": -99.1643611, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31318020, "lat": 19.3915861, "lon": -99.1645309}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268680218, "lat": 19.3848323, "lon": -99.1556101, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680219, "lat": 19.3862381, "lon": -99.1548009}, {"type": "node", "id": 268680220, "lat": 19.3869727, "lon": -99.1543859, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824776, "lat": 19.398735, "lon": -99.1613915, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268824889, "lat": 19.3986745, "lon": -99.160759}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 274838902, "lat": 19.4004908, "lon": -99.1606293}, {"type": "node", "id": 274839054, "lat": 19.4012463, "lon": -99.1611415, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839056, "lat": 19.4014116, "lon": -99.159862, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274839133, "lat": 19.4015812, "lon": -99.157811}, {"type": "node", "id": 274839134, "lat": 19.4016233, "lon": -99.1570994, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839135, "lat": 19.4016498, "lon": -99.1564169}, {"type": "node", "id": 274839137, "lat": 19.4017366, "lon": -99.1547613}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839219, "lat": 19.403328, "lon": -99.1584329}, {"type": "node", "id": 274839225, "lat": 19.4029276, "lon": -99.1584153}, {"type": "node", "id": 274839226, "lat": 19.402824, "lon": -99.1584341}, {"type": "node", "id": 274839227, "lat": 19.4024851, "lon": -99.1585269}, {"type": "node", "id": 274839228, "lat": 19.4023593, "lon": -99.1585418}, {"type": "node", "id": 274839229, "lat": 19.4016782, "lon": -99.1585052, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274839231, "lat": 19.4003223, "lon": -99.1585614}, {"type": "node", "id": 274839232, "lat": 19.3985295, "lon": -99.1587167}, {"type": "node", "id": 274839233, "lat": 19.3984035, "lon": -99.1587283}, {"type": "node", "id": 274839236, "lat": 19.3983975, "lon": -99.1566803}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839257, "lat": 19.3978501, "lon": -99.1529093}, {"type": "node", "id": 274839258, "lat": 19.3965568, "lon": -99.155156}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840033, "lat": 19.3990397, "lon": -99.1508367}, {"type": "node", "id": 274840981, "lat": 19.384559, "lon": -99.1523861, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 274841162, "lat": 19.4014747, "lon": -99.1591528}, {"type": "node", "id": 274841235, "lat": 19.3960859, "lon": -99.1595802}, {"type": "node", "id": 274841237, "lat": 19.3819425, "lon": -99.1622256, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274841370, "lat": 19.3914584, "lon": -99.1607406}, {"type": "node", "id": 274841371, "lat": 19.3903173, "lon": -99.1610453}, {"type": "node", "id": 274841372, "lat": 19.4004278, "lon": -99.1599537}, {"type": "node", "id": 274841373, "lat": 19.3986425, "lon": -99.1601016}, {"type": "node", "id": 274841374, "lat": 19.3984977, "lon": -99.1601128}, {"type": "node", "id": 274841375, "lat": 19.396131, "lon": -99.1602967, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274841376, "lat": 19.3918743, "lon": -99.1606232}, {"type": "node", "id": 274841377, "lat": 19.4013145, "lon": -99.1605914}, {"type": "node", "id": 274841379, "lat": 19.396173, "lon": -99.1609452, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841382, "lat": 19.3916038, "lon": -99.1613788}, {"type": "node", "id": 274841383, "lat": 19.388294, "lon": -99.1622206}, {"type": "node", "id": 274841384, "lat": 19.3863605, "lon": -99.1627056, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274841385, "lat": 19.3822616, "lon": -99.1636865, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 274841689, "lat": 19.4006436, "lon": -99.1612085}, {"type": "node", "id": 274841739, "lat": 19.3975348, "lon": -99.1615054}, {"type": "node", "id": 274841744, "lat": 19.3970477, "lon": -99.1616322}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275362223, "lat": 19.3941276, "lon": -99.1597379}, {"type": "node", "id": 275362224, "lat": 19.3941157, "lon": -99.1604533}, {"type": "node", "id": 275362225, "lat": 19.3940837, "lon": -99.1611412}, {"type": "node", "id": 275362227, "lat": 19.3940392, "lon": -99.1623582, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362228, "lat": 19.3946794, "lon": -99.1652921, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 275362853, "lat": 19.3844935, "lon": -99.1517401}, {"type": "node", "id": 275363142, "lat": 19.3929403, "lon": -99.1611438}, {"type": "node", "id": 275363143, "lat": 19.3933116, "lon": -99.1604948}, {"type": "node", "id": 275363144, "lat": 19.3937248, "lon": -99.1597728}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275363146, "lat": 19.3945669, "lon": -99.1583438}, {"type": "node", "id": 275363147, "lat": 19.394987, "lon": -99.1576158}, {"type": "node", "id": 275364246, "lat": 19.3941374, "lon": -99.1593001}, {"type": "node", "id": 275364248, "lat": 19.393445, "lon": -99.1604893}, {"type": "node", "id": 275364249, "lat": 19.3930404, "lon": -99.1611679}, {"type": "node", "id": 275364495, "lat": 19.3960418, "lon": -99.1589094, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364499, "lat": 19.3858681, "lon": -99.160529}, {"type": "node", "id": 275364506, "lat": 19.3858522, "lon": -99.1604544}, {"type": "node", "id": 275364534, "lat": 19.3881922, "lon": -99.1598607}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275364792, "lat": 19.3876501, "lon": -99.1639261}, {"type": "node", "id": 275364819, "lat": 19.3873102, "lon": -99.1624698}, {"type": "node", "id": 275364857, "lat": 19.3875303, "lon": -99.1634231}, {"type": "node", "id": 275364945, "lat": 19.3865755, "lon": -99.1636509}, {"type": "node", "id": 275364957, "lat": 19.3874223, "lon": -99.1629629}, {"type": "node", "id": 275364991, "lat": 19.3864718, "lon": -99.1631977}, {"type": "node", "id": 275365144, "lat": 19.3877785, "lon": -99.1617953}, {"type": "node", "id": 275365677, "lat": 19.3833959, "lon": -99.1603882}, {"type": "node", "id": 275366627, "lat": 19.3881232, "lon": -99.1622639}, {"type": "node", "id": 275366642, "lat": 19.3895073, "lon": -99.1634765, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 275366643, "lat": 19.388853, "lon": -99.1629108, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275366644, "lat": 19.3876828, "lon": -99.1618921}, {"type": "node", "id": 275366645, "lat": 19.3873993, "lon": -99.1617044}, {"type": "node", "id": 275366646, "lat": 19.3870714, "lon": -99.1615499, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 275366647, "lat": 19.3845832, "lon": -99.1608414, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275406302, "lat": 19.38892, "lon": -99.1632087}, {"type": "node", "id": 275406563, "lat": 19.3885291, "lon": -99.1633057}, {"type": "node", "id": 275407052, "lat": 19.389176, "lon": -99.164332}, {"type": "node", "id": 275407054, "lat": 19.3888324, "lon": -99.1644189}, {"type": "node", "id": 275407055, "lat": 19.3887167, "lon": -99.1645111}, {"type": "node", "id": 275407056, "lat": 19.3873595, "lon": -99.164829}, {"type": "node", "id": 275407057, "lat": 19.3872179, "lon": -99.1648072}, {"type": "node", "id": 275407484, "lat": 19.3880062, "lon": -99.1646814}, {"type": "node", "id": 275407485, "lat": 19.3879752, "lon": -99.1645552}, {"type": "node", "id": 275407669, "lat": 19.3894865, "lon": -99.1657337}, {"type": "node", "id": 275407683, "lat": 19.387335, "lon": -99.1647124}, {"type": "node", "id": 275407684, "lat": 19.3886936, "lon": -99.1643958}, {"type": "node", "id": 275407915, "lat": 19.387172, "lon": -99.1614815}, {"type": "node", "id": 275409630, "lat": 19.3942007, "lon": -99.1631037}, {"type": "node", "id": 275409851, "lat": 19.3965055, "lon": -99.1625235}, {"type": "node", "id": 275409853, "lat": 19.3954117, "lon": -99.163549}, {"type": "node", "id": 275410046, "lat": 19.3952557, "lon": -99.1628374}, {"type": "node", "id": 275410047, "lat": 19.3951871, "lon": -99.1620832}, {"type": "node", "id": 275410474, "lat": 19.3935191, "lon": -99.1655847}, {"type": "node", "id": 275410621, "lat": 19.3932132, "lon": -99.1641141}, {"type": "node", "id": 275410814, "lat": 19.3927375, "lon": -99.1642371}, {"type": "node", "id": 275410866, "lat": 19.3930511, "lon": -99.1657027}, {"type": "node", "id": 275511758, "lat": 19.3846416, "lon": -99.1607473, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275511759, "lat": 19.3844245, "lon": -99.1607973, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275513555, "lat": 19.3807069, "lon": -99.1640625}, {"type": "node", "id": 275513556, "lat": 19.3803907, "lon": -99.1626083}, {"type": "node", "id": 275513562, "lat": 19.381485, "lon": -99.1638695}, {"type": "node", "id": 275513587, "lat": 19.3811463, "lon": -99.1624221}, {"type": "node", "id": 854385866, "lat": 19.3860688, "lon": -99.1627747}, {"type": "node", "id": 854385870, "lat": 19.3859846, "lon": -99.1629318}, {"type": "node", "id": 854403260, "lat": 19.3942751, "lon": -99.1590602}, {"type": "node", "id": 854403267, "lat": 19.3941669, "lon": -99.159022}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 854429424, "lat": 19.3983211, "lon": -99.1520969}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 854429428, "lat": 19.3983454, "lon": -99.1550438}, {"type": "node", "id": 873739455, "lat": 19.3964164, "lon": -99.1554072, "tags": {"noexit": "yes"}}, {"type": "node", "id": 874499048, "lat": 19.3951243, "lon": -99.1576043}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987408, "lat": 19.3971113, "lon": -99.1646982, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987425, "lat": 19.3967933, "lon": -99.1632256, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987434, "lat": 19.3964648, "lon": -99.1617692, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987438, "lat": 19.3962985, "lon": -99.1609345, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900987444, "lat": 19.3962562, "lon": -99.160287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987447, "lat": 19.3962056, "lon": -99.1595716}, {"type": "node", "id": 900987452, "lat": 19.3961198, "lon": -99.1582009}, {"type": "node", "id": 900987455, "lat": 19.3960797, "lon": -99.1575252, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987457, "lat": 19.3960375, "lon": -99.1568498, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 991189753, "lat": 19.3818567, "lon": -99.1622468, "tags": {"amenity": "parking_entrance", "name": "Exit from Superama parking"}}, {"type": "node", "id": 1140221617, "lat": 19.3961633, "lon": -99.158896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461031, "lat": 19.3913446, "lon": -99.1639973}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1420461034, "lat": 19.3926761, "lon": -99.1611436}, {"type": "node", "id": 1420461035, "lat": 19.3932259, "lon": -99.1611896}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1933202103, "lat": 19.3940683, "lon": -99.1615416}, {"type": "node", "id": 1964030265, "lat": 19.3908855, "lon": -99.1646836, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1964030272, "lat": 19.3981966, "lon": -99.1523056}, {"type": "node", "id": 1964030273, "lat": 19.3982348, "lon": -99.1559205, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1964030274, "lat": 19.3982707, "lon": -99.1566925}, {"type": "node", "id": 1964030275, "lat": 19.3983115, "lon": -99.157367}, {"type": "node", "id": 1964030278, "lat": 19.3983592, "lon": -99.1580517}, {"type": "node", "id": 1964030279, "lat": 19.3984478, "lon": -99.1573571}, {"type": "node", "id": 1964030280, "lat": 19.3984896, "lon": -99.1580415}, {"type": "node", "id": 1964030281, "lat": 19.3985611, "lon": -99.1607721}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604566, "lat": 19.3855991, "lon": -99.1553272}, {"type": "node", "id": 3443604567, "lat": 19.3854365, "lon": -99.1554938}, {"type": "node", "id": 3443604568, "lat": 19.3854422, "lon": -99.1555408}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373358, "lat": 19.3982292, "lon": -99.1557517, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 4036550995, "lat": 19.3886821, "lon": -99.1621223}, {"type": "node", "id": 4052026407, "lat": 19.3908836, "lon": -99.1644357}, {"type": "node", "id": 4052026409, "lat": 19.3907152, "lon": -99.1646501}, {"type": "node", "id": 4052026418, "lat": 19.3910546, "lon": -99.1653855}, {"type": "node", "id": 4070528816, "lat": 19.400928, "lon": -99.1564682}, {"type": "node", "id": 4070528818, "lat": 19.4008981, "lon": -99.1548483}, {"type": "node", "id": 4074023137, "lat": 19.391549, "lon": -99.1649518}, {"type": "node", "id": 4074023143, "lat": 19.3912261, "lon": -99.1647437}, {"type": "node", "id": 4074023147, "lat": 19.3915983, "lon": -99.1646238}, {"type": "node", "id": 4074023148, "lat": 19.39075, "lon": -99.1648283}, {"type": "node", "id": 4074023153, "lat": 19.3904759, "lon": -99.1652276}, {"type": "node", "id": 4074023159, "lat": 19.390289, "lon": -99.1649564}, {"type": "node", "id": 4074023161, "lat": 19.3906001, "lon": -99.1646261}, {"type": "node", "id": 4074023162, "lat": 19.3905003, "lon": -99.1644568}, {"type": "node", "id": 4074023163, "lat": 19.3903101, "lon": -99.1643493}, {"type": "node", "id": 4074023164, "lat": 19.3913124, "lon": -99.1652671}, {"type": "node", "id": 4074023170, "lat": 19.3910652, "lon": -99.1649618}, {"type": "node", "id": 4074023171, "lat": 19.3910081, "lon": -99.1653938}, {"type": "node", "id": 4074023176, "lat": 19.3908924, "lon": -99.1649488}, {"type": "node", "id": 4074023177, "lat": 19.3915407, "lon": -99.1643818}, {"type": "node", "id": 4074023178, "lat": 19.3913702, "lon": -99.1644589}, {"type": "node", "id": 4074023183, "lat": 19.391192, "lon": -99.1643441}, {"type": "node", "id": 4074023184, "lat": 19.3911437, "lon": -99.1644949}, {"type": "node", "id": 4135213734, "lat": 19.3902497, "lon": -99.1645332}, {"type": "node", "id": 4135213735, "lat": 19.390251, "lon": -99.1648275}, {"type": "node", "id": 4135213736, "lat": 19.3903674, "lon": -99.1651037}, {"type": "node", "id": 4135213737, "lat": 19.3903685, "lon": -99.1642489}, {"type": "node", "id": 4135213738, "lat": 19.3904719, "lon": -99.1641301}, {"type": "node", "id": 4135213739, "lat": 19.39061, "lon": -99.1640319}, {"type": "node", "id": 4135213740, "lat": 19.3907031, "lon": -99.1653633}, {"type": "node", "id": 4135213741, "lat": 19.3907622, "lon": -99.1639731}, {"type": "node", "id": 4135213742, "lat": 19.390854, "lon": -99.1653969}, {"type": "node", "id": 4135213743, "lat": 19.3910344, "lon": -99.1639646}, {"type": "node", "id": 4135213745, "lat": 19.3911893, "lon": -99.1653405}, {"type": "node", "id": 4135213746, "lat": 19.3912006, "lon": -99.1640189}, {"type": "node", "id": 4135213747, "lat": 19.3914623, "lon": -99.1642411}, {"type": "node", "id": 4135213748, "lat": 19.3914216, "lon": -99.1651648}, {"type": "node", "id": 4135213749, "lat": 19.3915034, "lon": -99.1650484}, {"type": "node", "id": 4135213750, "lat": 19.3915917, "lon": -99.1647908}, {"type": "node", "id": 4149628081, "lat": 19.3984544, "lon": -99.1593928}, {"type": "node", "id": 4149628082, "lat": 19.3985819, "lon": -99.1593826}, {"type": "node", "id": 4161648925, "lat": 19.3938674, "lon": -99.1597653}, {"type": "node", "id": 4262874537, "lat": 19.3788217, "lon": -99.1629812}, {"type": "node", "id": 4262874538, "lat": 19.3781816, "lon": -99.1631267}, {"type": "node", "id": 4788993870, "lat": 19.4003642, "lon": -99.1592408}, {"type": "node", "id": 4790122833, "lat": 19.3837164, "lon": -99.1617878}, {"type": "node", "id": 5040258790, "lat": 19.3818079, "lon": -99.1599234}, {"type": "node", "id": 5132951388, "lat": 19.3934177, "lon": -99.161734}, {"type": "node", "id": 5475796533, "lat": 19.3884769, "lon": -99.1611747}, {"type": "node", "id": 5475796534, "lat": 19.3885691, "lon": -99.1616001}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5476240716, "lat": 19.3819091, "lon": -99.1599578}, {"type": "node", "id": 5494680257, "lat": 19.3872494, "lon": -99.1616227}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040398, "lat": 19.3855363, "lon": -99.15896, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040399, "lat": 19.3832, "lon": -99.1595386}, {"type": "node", "id": 5835040400, "lat": 19.3860199, "lon": -99.1612366, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040401, "lat": 19.3861752, "lon": -99.1611888, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835040404, "lat": 19.3859978, "lon": -99.1611383, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 5891567286, "lat": 19.388521, "lon": -99.161612, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 5891567287, "lat": 19.3886376, "lon": -99.1621335}, {"type": "node", "id": 5891567290, "lat": 19.3888999, "lon": -99.1632137}, {"type": "node", "id": 6106729915, "lat": 19.3995761, "lon": -99.1549496}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181807, "lat": 19.3960053, "lon": -99.1563666}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133181828, "lat": 19.4014066, "lon": -99.1571144}, {"type": "node", "id": 6133225299, "lat": 19.3905788, "lon": -99.1605702}, {"type": "node", "id": 6133225300, "lat": 19.3897229, "lon": -99.1618586}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225302, "lat": 19.3906341, "lon": -99.1608382}, {"type": "node", "id": 6133225303, "lat": 19.3910014, "lon": -99.1623112}, {"type": "node", "id": 6133225304, "lat": 19.3900488, "lon": -99.1633437}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6133225306, "lat": 19.3908272, "lon": -99.1615739}, {"type": "node", "id": 6135446069, "lat": 19.3936122, "lon": -99.1640133}, {"type": "node", "id": 6135446074, "lat": 19.3937255, "lon": -99.1645942}, {"type": "node", "id": 6221657648, "lat": 19.4011909, "lon": -99.1611455}, {"type": "node", "id": 6221657649, "lat": 19.4009898, "lon": -99.1606064}, {"type": "node", "id": 6221657650, "lat": 19.4013765, "lon": -99.1598655}, {"type": "node", "id": 6221657651, "lat": 19.4014368, "lon": -99.1591553}, {"type": "node", "id": 6221657652, "lat": 19.4015287, "lon": -99.1584979, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6221657653, "lat": 19.4015059, "lon": -99.1578134}, {"type": "node", "id": 6221657655, "lat": 19.4015818, "lon": -99.1564193}, {"type": "node", "id": 6416401255, "lat": 19.3925526, "lon": -99.1611629}, {"type": "node", "id": 6416401256, "lat": 19.3922736, "lon": -99.1605793}, {"type": "node", "id": 6416401257, "lat": 19.3920442, "lon": -99.1605961}, {"type": "node", "id": 6416401258, "lat": 19.3928028, "lon": -99.1611358}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 6485933200, "lat": 19.391356, "lon": -99.1641227}, {"type": "node", "id": 6485933201, "lat": 19.391405, "lon": -99.1640423}, {"type": "node", "id": 6507300088, "lat": 19.3920054, "lon": -99.1627909}, {"type": "node", "id": 6507300089, "lat": 19.3920647, "lon": -99.1626115}, {"type": "node", "id": 6507300090, "lat": 19.3921543, "lon": -99.1626638}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8059695780, "lat": 19.3867277, "lon": -99.1586687}, {"type": "node", "id": 8059695781, "lat": 19.3867468, "lon": -99.1587497}, {"type": "node", "id": 8059695782, "lat": 19.3857499, "lon": -99.1589983}, {"type": "node", "id": 8059695783, "lat": 19.3857308, "lon": -99.1589074}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8066221761, "lat": 19.3868926, "lon": -99.1614953}, {"type": "node", "id": 8066221762, "lat": 19.3875416, "lon": -99.161793}, {"type": "node", "id": 8066221763, "lat": 19.3873556, "lon": -99.1615543}, {"type": "node", "id": 8066221764, "lat": 19.3864869, "lon": -99.1612786}, {"type": "node", "id": 8066221765, "lat": 19.38648, "lon": -99.1612422}, {"type": "node", "id": 8066221766, "lat": 19.3864791, "lon": -99.1612052}, {"type": "node", "id": 8066221767, "lat": 19.3864842, "lon": -99.1611685}, {"type": "node", "id": 8066221768, "lat": 19.386495, "lon": -99.1611332}, {"type": "node", "id": 8066221769, "lat": 19.3865114, "lon": -99.1611005}, {"type": "node", "id": 8066335563, "lat": 19.3870984, "lon": -99.1614597, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8066424138, "lat": 19.3849858, "lon": -99.1609621}, {"type": "node", "id": 8066625614, "lat": 19.3918124, "lon": -99.163177}, {"type": "node", "id": 8066625615, "lat": 19.3919636, "lon": -99.1630309}, {"type": "node", "id": 8075554355, "lat": 19.3936283, "lon": -99.1640953, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8081956081, "lat": 19.3919888, "lon": -99.165484, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8190543264, "lat": 19.3854641, "lon": -99.1554085}, {"type": "node", "id": 8195270562, "lat": 19.3878368, "lon": -99.1617809, "tags": {"access": "no", "barrier": "gate"}}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8229976722, "lat": 19.389823, "lon": -99.1672221}, {"type": "node", "id": 8233172131, "lat": 19.3928301, "lon": -99.1574713}, {"type": "node", "id": 8233172132, "lat": 19.3928434, "lon": -99.1577294, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172133, "lat": 19.3928446, "lon": -99.1577826}, {"type": "node", "id": 8233172134, "lat": 19.3924132, "lon": -99.1571273}, {"type": "node", "id": 8233172135, "lat": 19.3924297, "lon": -99.157472}, {"type": "node", "id": 8233172136, "lat": 19.3924575, "lon": -99.1566163}, {"type": "node", "id": 8233172137, "lat": 19.392455, "lon": -99.1564755, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233172139, "lat": 19.391311, "lon": -99.1572278}, {"type": "node", "id": 8233172140, "lat": 19.3913253, "lon": -99.1575524}, {"type": "node", "id": 8233172141, "lat": 19.387215, "lon": -99.1570084}, {"type": "node", "id": 8233172142, "lat": 19.3872835, "lon": -99.1573687}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233207642, "lat": 19.3942551, "lon": -99.156564}, {"type": "node", "id": 8233244549, "lat": 19.3891659, "lon": -99.1564031}, {"type": "node", "id": 8233244550, "lat": 19.3891495, "lon": -99.1562583}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233348336, "lat": 19.3886399, "lon": -99.1614761, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233348337, "lat": 19.3898408, "lon": -99.1611703}, {"type": "node", "id": 8233348338, "lat": 19.389752, "lon": -99.1608431}, {"type": "node", "id": 8233348339, "lat": 19.3896627, "lon": -99.1608794}, {"type": "node", "id": 8233348340, "lat": 19.3897253, "lon": -99.1612386}, {"type": "node", "id": 8233348341, "lat": 19.3885439, "lon": -99.1614951}, {"type": "node", "id": 8233380395, "lat": 19.3954445, "lon": -99.1610135}, {"type": "node", "id": 8233380396, "lat": 19.395448, "lon": -99.1611211, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233380397, "lat": 19.3954657, "lon": -99.1615154}, {"type": "node", "id": 8233488843, "lat": 19.3876168, "lon": -99.1623921}, {"type": "node", "id": 8233488844, "lat": 19.387787, "lon": -99.1630992}, {"type": "node", "id": 8233649161, "lat": 19.3912494, "lon": -99.1625266}, {"type": "node", "id": 8233649162, "lat": 19.3913443, "lon": -99.1629316, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233649163, "lat": 19.3913652, "lon": -99.1630299}, {"type": "node", "id": 8233649164, "lat": 19.3907295, "lon": -99.1622758}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8233649166, "lat": 19.3879004, "lon": -99.1623203}, {"type": "node", "id": 8233649167, "lat": 19.3880514, "lon": -99.163}, {"type": "node", "id": 8233701230, "lat": 19.3932671, "lon": -99.1621631}, {"type": "node", "id": 8233701231, "lat": 19.3933241, "lon": -99.1624542, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233701232, "lat": 19.3933404, "lon": -99.1625252}, {"type": "node", "id": 8233701233, "lat": 19.392035, "lon": -99.1619043}, {"type": "node", "id": 8233701235, "lat": 19.3917339, "lon": -99.1619767}, {"type": "node", "id": 8233767573, "lat": 19.3883196, "lon": -99.163354}, {"type": "node", "id": 8233767574, "lat": 19.388398, "lon": -99.1636692, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8233767575, "lat": 19.3884155, "lon": -99.1637467}, {"type": "node", "id": 8233994249, "lat": 19.3879848, "lon": -99.1584061}, {"type": "node", "id": 8233994250, "lat": 19.3878921, "lon": -99.1584751}, {"type": "node", "id": 8234143270, "lat": 19.3870514, "lon": -99.1601502}, {"type": "node", "id": 8234143271, "lat": 19.3870742, "lon": -99.160231}, {"type": "node", "id": 8234143272, "lat": 19.3889956, "lon": -99.1596132}, {"type": "node", "id": 8234143273, "lat": 19.3890172, "lon": -99.1596947}, {"type": "node", "id": 8236907909, "lat": 19.3932014, "lon": -99.1640621, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236907910, "lat": 19.3931103, "lon": -99.1636759}, {"type": "node", "id": 8236937237, "lat": 19.3948611, "lon": -99.1611721}, {"type": "node", "id": 8236937238, "lat": 19.3952877, "lon": -99.1610282}, {"type": "node", "id": 8236937239, "lat": 19.3952368, "lon": -99.1610956}, {"type": "node", "id": 8236937240, "lat": 19.3951697, "lon": -99.1611493}, {"type": "node", "id": 8236937241, "lat": 19.3950454, "lon": -99.1611768}, {"type": "node", "id": 8236937242, "lat": 19.3949359, "lon": -99.1611858}, {"type": "node", "id": 8236937243, "lat": 19.3948054, "lon": -99.1611412}, {"type": "node", "id": 8236937244, "lat": 19.3947485, "lon": -99.1610788}, {"type": "node", "id": 8236979491, "lat": 19.3953835, "lon": -99.1637564, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8236979492, "lat": 19.3952309, "lon": -99.1637781}, {"type": "node", "id": 8236979493, "lat": 19.3952026, "lon": -99.1637014, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236979494, "lat": 19.3951782, "lon": -99.1636086}, {"type": "node", "id": 8236979495, "lat": 19.3895416, "lon": -99.1636343, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236979496, "lat": 19.3898483, "lon": -99.1649216}, {"type": "node", "id": 8236990006, "lat": 19.3894063, "lon": -99.1606443, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8236990007, "lat": 19.3890157, "lon": -99.1606801}, {"type": "node", "id": 8236990008, "lat": 19.388899, "lon": -99.1605364, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8236990009, "lat": 19.3888444, "lon": -99.1604745}, {"type": "node", "id": 8237082668, "lat": 19.3925818, "lon": -99.1627194}, {"type": "node", "id": 8237082669, "lat": 19.3926081, "lon": -99.1628149, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8237082670, "lat": 19.3927624, "lon": -99.1634238}, {"type": "node", "id": 8239217278, "lat": 19.383555, "lon": -99.1610783}, {"type": "node", "id": 8239360997, "lat": 19.3815101, "lon": -99.1593444}, {"type": "node", "id": 8239361005, "lat": 19.3851691, "lon": -99.1614402}, {"type": "node", "id": 8239361006, "lat": 19.3851949, "lon": -99.161571, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239361007, "lat": 19.3853299, "lon": -99.1621588, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8239361008, "lat": 19.3849334, "lon": -99.1614966}, {"type": "node", "id": 8239361011, "lat": 19.3855473, "lon": -99.1623428}, {"type": "node", "id": 8239361012, "lat": 19.3856674, "lon": -99.1628719}, {"type": "node", "id": 8239361013, "lat": 19.385682, "lon": -99.1621511, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8239361014, "lat": 19.3858264, "lon": -99.1628333}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8239441660, "lat": 19.3818781, "lon": -99.1583926}, {"type": "node", "id": 8239782510, "lat": 19.3834249, "lon": -99.1634121}, {"type": "node", "id": 8239810223, "lat": 19.3959622, "lon": -99.1618877}, {"type": "node", "id": 8239810224, "lat": 19.3959755, "lon": -99.1619492, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8239810225, "lat": 19.3960394, "lon": -99.1622114}, {"type": "node", "id": 8239810226, "lat": 19.3961362, "lon": -99.1621839}, {"type": "node", "id": 8239810231, "lat": 19.3965826, "lon": -99.1623335}, {"type": "node", "id": 8239810232, "lat": 19.3967882, "lon": -99.1622466}, {"type": "node", "id": 8239810233, "lat": 19.3966681, "lon": -99.1617144}, {"type": "node", "id": 8240007615, "lat": 19.3860197, "lon": -99.1576383, "tags": {"noexit": "yes"}}, {"type": "node", "id": 8240138230, "lat": 19.38594, "lon": -99.1628954}, {"type": "node", "id": 8240138231, "lat": 19.3859062, "lon": -99.1628139}, {"type": "node", "id": 8240138232, "lat": 19.3824637, "lon": -99.162097}, {"type": "node", "id": 8240182412, "lat": 19.3843661, "lon": -99.1592496}, {"type": "node", "id": 8240182413, "lat": 19.3843858, "lon": -99.1593398}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8395187915, "lat": 19.3820132, "lon": -99.1599303, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 8397788790, "lat": 19.3860478, "lon": -99.1613569}, {"type": "node", "id": 8397788791, "lat": 19.38607, "lon": -99.1614528}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8397788794, "lat": 19.3847118, "lon": -99.1558475}, {"type": "node", "id": 8558399577, "lat": 19.3931343, "lon": -99.1611838}, {"type": "node", "id": 8558503742, "lat": 19.3952511, "lon": -99.1637897}, {"type": "node", "id": 8558503743, "lat": 19.395274, "lon": -99.1637893}, {"type": "node", "id": 8558503744, "lat": 19.3952188, "lon": -99.1637574}, {"type": "node", "id": 8558509854, "lat": 19.3920329, "lon": -99.1626878}, {"type": "node", "id": 8558509855, "lat": 19.3920911, "lon": -99.1627315}, {"type": "node", "id": 8558509857, "lat": 19.3890347, "lon": -99.1606883}, {"type": "node", "id": 8558509858, "lat": 19.3890551, "lon": -99.1606896}, {"type": "node", "id": 8558509859, "lat": 19.3890002, "lon": -99.1606659}, {"type": "node", "id": 8558509860, "lat": 19.389829, "lon": -99.1611967}, {"type": "node", "id": 8558509861, "lat": 19.3898077, "lon": -99.1612153}, {"type": "node", "id": 8558509862, "lat": 19.3897239, "lon": -99.160837}, {"type": "node", "id": 8558509863, "lat": 19.3897746, "lon": -99.1608617}, {"type": "node", "id": 8558509864, "lat": 19.3897871, "lon": -99.160889}, {"type": "node", "id": 8558509865, "lat": 19.3896597, "lon": -99.1609176}, {"type": "node", "id": 8558509866, "lat": 19.389685, "lon": -99.1608493}, {"type": "node", "id": 8558509867, "lat": 19.3897194, "lon": -99.1608372}, {"type": "node", "id": 8558509868, "lat": 19.3898408, "lon": -99.161141}, {"type": "node", "id": 8558602094, "lat": 19.3872786, "lon": -99.1647433}, {"type": "node", "id": 8558602095, "lat": 19.3873027, "lon": -99.1648295}, {"type": "node", "id": 8558602096, "lat": 19.3887647, "lon": -99.1643941}, {"type": "node", "id": 8558602097, "lat": 19.3887807, "lon": -99.1644772}, {"type": "node", "id": 8558680555, "lat": 19.3918629, "lon": -99.1631211}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573018495, "lat": 19.3859332, "lon": -99.1547908}, {"type": "node", "id": 8573018496, "lat": 19.3860521, "lon": -99.1547891}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121039, "lat": 19.3951112, "lon": -99.1554851}, {"type": "node", "id": 8573121040, "lat": 19.3950955, "lon": -99.155473}, {"type": "node", "id": 8573121041, "lat": 19.3951305, "lon": -99.1554868}, {"type": "node", "id": 8573121042, "lat": 19.395042, "lon": -99.1554007}, {"type": "node", "id": 8573121043, "lat": 19.3951478, "lon": -99.1554777}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121045, "lat": 19.3949129, "lon": -99.1557245}, {"type": "node", "id": 8573121047, "lat": 19.3855337, "lon": -99.1558791}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573175877, "lat": 19.3840764, "lon": -99.1479582}, {"type": "node", "id": 8573175891, "lat": 19.3841265, "lon": -99.1482489}, {"type": "node", "id": 8580858900, "lat": 19.3967769, "lon": -99.1622675}, {"type": "node", "id": 8580858901, "lat": 19.3967574, "lon": -99.1622799}, {"type": "node", "id": 8580858902, "lat": 19.3967884, "lon": -99.1622225}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 8646569263, "lat": 19.3864096, "lon": -99.1629228}, {"type": "node", "id": 10144555427, "lat": 19.3921082, "lon": -99.1655914}, {"type": "node", "id": 10144555428, "lat": 19.3924796, "lon": -99.1653704}, {"type": "node", "id": 10144555429, "lat": 19.3922649, "lon": -99.1657323}, {"type": "node", "id": 10144555430, "lat": 19.3925236, "lon": -99.1655695}, {"type": "node", "id": 10184166093, "lat": 19.3953762, "lon": -99.1569351}, {"type": "node", "id": 10184166094, "lat": 19.3955402, "lon": -99.15689}, {"type": "node", "id": 10184166095, "lat": 19.3955172, "lon": -99.1569296}, {"type": "node", "id": 10184166096, "lat": 19.39542, "lon": -99.1569332}, {"type": "node", "id": 10184166101, "lat": 19.3950445, "lon": -99.157611}, {"type": "node", "id": 10266280489, "lat": 19.3954463, "lon": -99.1610673}, {"type": "node", "id": 10266303716, "lat": 19.3951224, "lon": -99.1622297}, {"type": "node", "id": 10266303717, "lat": 19.3951186, "lon": -99.1621938}, {"type": "node", "id": 10266303718, "lat": 19.39513, "lon": -99.1621545}, {"type": "node", "id": 10266303719, "lat": 19.3951408, "lon": -99.1621314}, {"type": "node", "id": 10266303731, "lat": 19.3941088, "lon": -99.1626796}, {"type": "node", "id": 10266303732, "lat": 19.3939435, "lon": -99.1627128}, {"type": "node", "id": 10266303733, "lat": 19.3936328, "lon": -99.1624553}, {"type": "node", "id": 10266303734, "lat": 19.3937165, "lon": -99.1628461}, {"type": "node", "id": 10266303735, "lat": 19.393885, "lon": -99.1625485}, {"type": "node", "id": 10266303736, "lat": 19.393691, "lon": -99.162727}, {"type": "node", "id": 10266303737, "lat": 19.3939034, "lon": -99.1626457}, {"type": "node", "id": 10266303738, "lat": 19.3936835, "lon": -99.1626921}, {"type": "node", "id": 10266303739, "lat": 19.3938945, "lon": -99.1625988}, {"type": "node", "id": 10266303740, "lat": 19.3936736, "lon": -99.162646}, {"type": "node", "id": 10266303741, "lat": 19.3939122, "lon": -99.1626901}, {"type": "node", "id": 10266303742, "lat": 19.3936931, "lon": -99.1627367}, {"type": "node", "id": 10266303743, "lat": 19.3936629, "lon": -99.1625957}, {"type": "node", "id": 10266303752, "lat": 19.3939226, "lon": -99.1627551}, {"type": "node", "id": 10266303753, "lat": 19.393707, "lon": -99.1628017}, {"type": "node", "id": 10266303759, "lat": 19.3941693, "lon": -99.162327, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303760, "lat": 19.3940573, "lon": -99.1624348, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303762, "lat": 19.3940398, "lon": -99.1622701, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303763, "lat": 19.3939799, "lon": -99.1623724, "tags": {"crossing": "uncontrolled", "highway": "crossing"}}, {"type": "node", "id": 10266303764, "lat": 19.3938814, "lon": -99.1626016}, {"type": "node", "id": 10920875881, "lat": 19.3854839, "lon": -99.1555838}, {"type": "node", "id": 10938932923, "lat": 19.3923841, "lon": -99.1658386}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11122526376, "lat": 19.3902377, "lon": -99.1647275}, {"type": "node", "id": 11122526377, "lat": 19.3908999, "lon": -99.1643041}, {"type": "node", "id": 11122526378, "lat": 19.3909842, "lon": -99.164378}, {"type": "node", "id": 11122526379, "lat": 19.3910859, "lon": -99.1643949}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11155081773, "lat": 19.3875313, "lon": -99.1568446}, {"type": "node", "id": 11155081774, "lat": 19.3865148, "lon": -99.157094}, {"type": "node", "id": 11155081775, "lat": 19.3864615, "lon": -99.1571385}, {"type": "node", "id": 11155081776, "lat": 19.3853187, "lon": -99.1574264}, {"type": "node", "id": 11155081777, "lat": 19.3852019, "lon": -99.1574169}, {"type": "node", "id": 11155081778, "lat": 19.3853036, "lon": -99.1573602}, {"type": "node", "id": 11155081779, "lat": 19.3864486, "lon": -99.1570817}, {"type": "node", "id": 11155081780, "lat": 19.3828571, "lon": -99.1579996}, {"type": "node", "id": 11155081781, "lat": 19.3811155, "lon": -99.1585492}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 11863093424, "lat": 19.4025274, "lon": -99.1571073}, {"type": "node", "id": 11863276057, "lat": 19.4033288, "lon": -99.156324}, {"type": "node", "id": 11863297921, "lat": 19.3840587, "lon": -99.1478407}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12126328027, "lat": 19.3851658, "lon": -99.1558103}, {"type": "node", "id": 12126328028, "lat": 19.3851392, "lon": -99.1559096}, {"type": "node", "id": 12126328029, "lat": 19.3850912, "lon": -99.155982}, {"type": "node", "id": 12126328030, "lat": 19.3849318, "lon": -99.1560992}, {"type": "node", "id": 12126349000, "lat": 19.3855314, "lon": -99.1623073}, {"type": "node", "id": 12126357401, "lat": 19.3855074, "lon": -99.1622966}, {"type": "node", "id": 12126357402, "lat": 19.3852542, "lon": -99.1623601, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12127192316, "lat": 19.3860455, "lon": -99.1626617, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12127192317, "lat": 19.3860097, "lon": -99.1624882, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12127463544, "lat": 19.3987256, "lon": -99.1566516}, {"type": "node", "id": 12129079358, "lat": 19.3919408, "lon": -99.1647528}, {"type": "node", "id": 12129079359, "lat": 19.3919297, "lon": -99.1647491}, {"type": "node", "id": 12129079360, "lat": 19.3918789, "lon": -99.1644565}, {"type": "node", "id": 12129079361, "lat": 19.3919515, "lon": -99.1647511, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12136908392, "lat": 19.393357, "lon": -99.1634224, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12136908393, "lat": 19.3934887, "lon": -99.1640445}, {"type": "node", "id": 12136999324, "lat": 19.3944661, "lon": -99.1643076}, {"type": "node", "id": 12149179284, "lat": 19.3834592, "lon": -99.1602932, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12149179285, "lat": 19.3834836, "lon": -99.1604135, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524791, "lat": 19.3878932, "lon": -99.1618786}, {"type": "node", "id": 12150524792, "lat": 19.3880781, "lon": -99.1620288}, {"type": "node", "id": 12150524793, "lat": 19.388432, "lon": -99.1622707}, {"type": "node", "id": 12150524794, "lat": 19.3881185, "lon": -99.1623505}, {"type": "node", "id": 12150524795, "lat": 19.3879696, "lon": -99.1622162}, {"type": "node", "id": 12150524796, "lat": 19.3882888, "lon": -99.162142}, {"type": "node", "id": 12150524797, "lat": 19.3883581, "lon": -99.1622043, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524798, "lat": 19.3880445, "lon": -99.1622838, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524799, "lat": 19.3882228, "lon": -99.1621573, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150524800, "lat": 19.3880458, "lon": -99.1621985, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542801, "lat": 19.3881981, "lon": -99.1623303, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542802, "lat": 19.3883686, "lon": -99.1622868, "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "highway": "crossing", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "node", "id": 12150542803, "lat": 19.3881819, "lon": -99.162121, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542804, "lat": 19.3881308, "lon": -99.1620755, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542805, "lat": 19.3882312, "lon": -99.1623596, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12150542806, "lat": 19.3882723, "lon": -99.162396, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542807, "lat": 19.3884269, "lon": -99.1621869, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 12150542808, "lat": 19.3883815, "lon": -99.1621984, "tags": {"cycleway": "asl"}}, {"type": "node", "id": 12216458213, "lat": 19.390815, "lon": -99.1641836}, {"type": "node", "id": 12216458214, "lat": 19.3908606, "lon": -99.1639565}, {"type": "node", "id": 12216458215, "lat": 19.3912371, "lon": -99.1642233}, {"type": "node", "id": 12216458216, "lat": 19.391168, "lon": -99.1641754}, {"type": "node", "id": 12216458217, "lat": 19.3912835, "lon": -99.1639541}, {"type": "node", "id": 12216458218, "lat": 19.3912319, "lon": -99.164035}, {"type": "node", "id": 12216458220, "lat": 19.3913095, "lon": -99.1641902}, {"type": "node", "id": 12216458221, "lat": 19.3911572, "lon": -99.1640955}, {"type": "node", "id": 12216458222, "lat": 19.3915672, "lon": -99.1644551}, {"type": "node", "id": 12216478464, "lat": 19.3907408, "lon": -99.1638787}, {"type": "node", "id": 12216478465, "lat": 19.3908324, "lon": -99.1639613}, {"type": "node", "id": 12216478466, "lat": 19.3908107, "lon": -99.1638616}, {"type": "node", "id": 12216478467, "lat": 19.3906698, "lon": -99.1638961}, {"type": "node", "id": 12216478468, "lat": 19.3906925, "lon": -99.164}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378415, "lat": 19.3954879, "lon": -99.1534279}, {"type": "node", "id": 12729378416, "lat": 19.3954777, "lon": -99.1534533}, {"type": "node", "id": 12729378417, "lat": 19.3954882, "lon": -99.1536081}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378420, "lat": 19.395534, "lon": -99.1534124}, {"type": "node", "id": 12729378421, "lat": 19.3955105, "lon": -99.1534511}, {"type": "node", "id": 12729378422, "lat": 19.3955224, "lon": -99.1536058}, {"type": "node", "id": 12729378423, "lat": 19.3955435, "lon": -99.1536511}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "node", "id": 12744910709, "lat": 19.3858072, "lon": -99.1627331, "tags": {"access": "private", "barrier": "gate"}}, {"type": "node", "id": 12745366117, "lat": 19.388559, "lon": -99.1609341, "tags": {"noexit": "yes"}}, {"type": "node", "id": 12745366118, "lat": 19.3886675, "lon": -99.1614696}, {"type": "node", "id": 12745366133, "lat": 19.3889481, "lon": -99.1614041}, {"type": "node", "id": 12745380343, "lat": 19.3885245, "lon": -99.1597583}, {"type": "node", "id": 12745380344, "lat": 19.3885481, "lon": -99.1598448}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24896549, "nodes": [30340920, 11863297921, 8573175877, 8573175891, 30340918, 30340917, 30340916, 30594516, 30340914, 275362853, 30339674, 274840981, 30340912, 30758971, 30758914, 30340909, 268680218], "tags": {"alt_name": "Eje Vial 5 Sur;Eje 5 Sur", "destination:street": "Avenida Insurgentes;Divisi\u00f3n del Norte", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30; PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00; PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30; PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 25206841, "nodes": [1140221617, 274839233, 274839232, 274839231, 6221657652, 274839229, 274839228, 274839227, 274839226, 274839225, 274839219], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206842, "nodes": [30789555, 11863276057, 30789556, 274839135, 6221657655, 4070528816, 30789564, 12127463544, 274839236, 1964030274, 900987457], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206844, "nodes": [274839133, 6221657653, 30789629, 1964030280, 1964030278, 900987452], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25207022, "nodes": [274841370, 274841371], "tags": {"highway": "residential", "name": "Cerrada Tercera Luz Savi\u00f1\u00f3n", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275413, "nodes": [854403260, 275364246, 4161648925, 275364248, 275364249, 6507300090, 8558509855, 6507300088], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275417, "nodes": [1420461031, 6485933201, 6485933200], "tags": {"highway": "footway", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 25275452, "nodes": [854403260, 275364495], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275456, "nodes": [30789639, 275511759, 275511758, 275364506, 8234143270, 275364534, 12745380343, 8234143272, 275364636, 275364637, 275364638, 854403267], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275479, "nodes": [275364819, 275364957, 275364857, 275364792], "tags": {"highway": "residential", "name": "Calle Escocia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275493, "nodes": [275364857, 275364945], "tags": {"highway": "residential", "name": "Calle Edinburgo", "surface": "asphalt"}}, {"type": "way", "id": 25275494, "nodes": [275364957, 275364991], "tags": {"highway": "residential", "name": "Calle Ferrol", "surface": "asphalt"}}, {"type": "way", "id": 25275496, "nodes": [5475796534, 5891567286], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25280960, "nodes": [275406302, 5891567290, 275406563], "tags": {"highway": "residential", "name": "Cerrada Tercera Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 25281011, "nodes": [275407052, 275407054], "tags": {"highway": "residential", "lanes": "2", "lanes:backward": "1", "lanes:forward": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "surface": "asphalt"}}, {"type": "way", "id": 25281078, "nodes": [275407057, 8558602094, 275407683, 275407485, 275407684, 8558602096, 275407054], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281110, "nodes": [275407915, 5475796533], "tags": {"highway": "residential", "name": "Segunda Cerrada Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281385, "nodes": [275409630, 275410046, 275409851], "tags": {"highway": "residential", "name": "Segunda Cerrada Pedro Romero Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281397, "nodes": [275409853, 275410046, 10266303716, 10266303717, 10266303718, 10266303719, 275410047], "tags": {"highway": "residential", "name": "Primera Cerrada de Amores", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281452, "nodes": [275410474, 275410621], "tags": {"highway": "residential", "name": "Calle Santa Cruz Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25281522, "nodes": [275410814, 275410866], "tags": {"highway": "residential", "name": "Calle Santa Cruz Sur", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292249, "nodes": [8233994249, 5475796543, 30789612, 8233172133, 30789613], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 39600726, "nodes": [31180208, 31180210, 8239360997, 30385361, 30340905, 30759094, 30789558, 30789559, 8233172139, 8233172134, 30789560], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 76403139, "nodes": [275409851, 30595044], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 76406268, "nodes": [900987408, 900987425, 8239810231, 900987434], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 216794743, "nodes": [30594104, 274839137, 4070528818, 30789547, 6106729915, 854429428, 30789546, 274839258, 274839253], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 337252534, "nodes": [8190543264, 3443604567, 3443604568, 10920875881, 8190543262], "tags": {"highway": "secondary_link", "oneway": "yes"}}, {"type": "way", "id": 351524855, "nodes": [275407054, 8558602097, 275407055, 275407484, 275407056, 8558602095, 275407057], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Manuel L\u00f3pez Cotilla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 396053581, "nodes": [275366627, 12150524798, 8233649166, 8233488843, 275364819, 274841384, 854385866, 8240138231, 8239361014, 8239361012, 30385356, 8239782510, 274841385, 275513562, 275513555, 31180442], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 402788399, "nodes": [4052026409, 4074023148, 4074023176, 4074023170, 4074023143, 4074023184, 4052026407, 4052026409], "tags": {"bridge": "yes", "highway": "footway", "layer": "1", "surface": "paved"}}, {"type": "way", "id": 405183887, "nodes": [4074023177, 4074023178, 4074023183], "tags": {"highway": "footway"}}, {"type": "way", "id": 411950792, "nodes": [4135213750, 4074023137, 4135213749, 4135213748, 4074023164, 4135213745, 4052026418, 4074023171, 4135213742, 4135213740, 30880008, 4074023153, 4135213736, 4074023159, 4135213735, 11122526376, 4135213734, 4074023163, 4135213737, 4135213738, 4135213739, 12216478468, 4135213741, 12216478465, 12216458214, 4135213743, 4135213746, 12216458218, 6485933200, 4135213747, 4074023177, 12216458222, 31318020, 4074023147, 4135213750], "tags": {"highway": "living_street", "name": "Parque Mariscal Sucre", "surface": "paving_stones"}}, {"type": "way", "id": 434683856, "nodes": [30879848, 275409853, 8236979494, 30879849, 6135446069, 12136908393, 275410621, 275410814, 31180771, 12129079360, 31318020, 30879851], "tags": {"alt_name": "Eje Vial 3 Poniente;Eje 3 Poniente;Calle Amores", "cycleway:left": "no", "cycleway:right": "track", "highway": "primary", "lanes": "3", "lit": "yes", "name": "Calle Amores", "oneway": "yes", "ref": "EJE 3 PTE", "surface": "asphalt"}}, {"type": "way", "id": 516278209, "nodes": [6507300088, 8558509854, 6507300089, 275363142, 275363143, 275363144, 275363145, 854403267, 275363146, 275363147], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516278210, "nodes": [900987455, 1964030275, 1964030279, 30789617, 6133181828, 274839134, 30789609, 30789621, 11863093424, 30789608], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 516279875, "nodes": [5040258790, 5835040399, 8240182412, 5835040398, 8059695783, 8059695780, 30759093], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 528115481, "nodes": [1933202103, 5132951388], "tags": {"highway": "residential", "name": "Cerrada Aniceto Ortega"}}, {"type": "way", "id": 569390368, "nodes": [3584373359, 3584373358], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569407342, "nodes": [274840033, 854429424, 30789448, 1964030272, 274839257, 274839256, 274839255, 274839258], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407360, "nodes": [274841379, 274841375], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407361, "nodes": [900987438, 900987444], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569420046, "nodes": [1964030265, 4135213737, 275366642], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422233, "nodes": [275366642, 30385577], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt", "turn:lanes": "left;through|through|through|none"}}, {"type": "way", "id": 569422234, "nodes": [275366642, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422235, "nodes": [30385577, 4135213738, 30879851, 4135213749, 8081956081, 10144555427, 10144555429, 10938932923, 30879979], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422237, "nodes": [30385577, 6133225304, 275358040, 8233649163, 30594254], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569422241, "nodes": [30759077, 4036550995, 5475796534, 8233348341, 5475796533, 30759090, 30789642, 275364534, 30759092, 8233994250, 30759093, 30759094, 30759078], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422243, "nodes": [275366643, 12150542806, 12150542805, 12150542801, 275366627], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422246, "nodes": [30759077, 30385577], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422252, "nodes": [30758974, 30759080, 30759081, 30759082, 30759083, 30759084, 30759085, 30759086, 8229976722, 30880012, 30879982, 275407669, 30879876, 275407052, 30759076, 275406302, 275366643], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422254, "nodes": [274841383, 12150542802, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422256, "nodes": [274841383, 275366627], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422259, "nodes": [275366627, 12150524800, 275366644, 8066221762, 275366645, 5494680257, 275366646], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422268, "nodes": [274841162, 6221657651, 4788993870, 4149628082, 4149628081, 900987447], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 569422273, "nodes": [275364499, 30759290, 275366647, 8239217278], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569422284, "nodes": [30759288, 12149179284, 30340903], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716826, "nodes": [30758913, 268680218], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716827, "nodes": [268680218, 30385387], "tags": {"alt_name": "Eje Vial 5 Sur;Eje 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569716828, "nodes": [268680218, 268680219, 268680220], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716831, "nodes": [30385387, 8397788794], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716833, "nodes": [30340906, 30340905, 5835040398, 30340904, 30340903, 275364506, 275364499, 5835040404], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569716835, "nodes": [30759079, 30789511, 3443604566, 8190543264, 8397788793], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716836, "nodes": [30759079, 268680220], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716837, "nodes": [268680220, 268680221], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720829, "nodes": [268680221, 30789464], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720834, "nodes": [30789464, 30759079], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237568, "nodes": [30385367, 30758914, 30759097, 268680221], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241629, "nodes": [268680220, 30759097, 30759098, 30759099, 274840982], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617252030, "nodes": [275363144, 31180746, 5475796539, 8236990009, 30759090, 8066221769, 5835040401], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252032, "nodes": [275366646, 8066221761, 5835040400], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252034, "nodes": [275407915, 8066221763, 30384303, 275365144, 12150524791, 12150524792, 12150542804, 12150542803, 12150524799, 274841383], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252036, "nodes": [5835040400, 8239361005, 8239361008, 4790122833, 8240138232, 274841237, 991189753, 275513587, 275513556, 31180441, 4262874537, 4262874538, 30880093], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257347, "nodes": [31180746, 274841370, 274841382, 8233701235, 30594254, 8066625615, 31180771, 10144555428, 10144555430, 31180751], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617257349, "nodes": [275364246, 275362223, 275362224, 275362225, 1933202103, 10266303762, 275362227, 10266303760, 10266303731, 275409630], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 617260932, "nodes": [275363145, 275364497, 5475796542, 8234143273, 12745380344, 30789642, 8234143271, 275364499], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260934, "nodes": [30340903, 30759092, 5475796541, 30789624], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260945, "nodes": [275363142, 6416401258, 1420461034, 6416401255, 274841382, 6133225306, 5475796540, 6133225300, 4036550995, 5891567287, 12150542807, 12150542808, 12150524797, 274841383], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617260947, "nodes": [30594254, 8237082668, 8233701232, 10266303733, 10266303763, 275362227], "tags": {"alt_name": "Eje 2 Poniente;Eje Vial 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281174, "nodes": [900987444, 274841374, 274841373, 274841372, 6221657650, 274839056], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed": "30", "maxspeed:type": "sign", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "good", "surface": "asphalt"}}, {"type": "way", "id": 617281175, "nodes": [854403267, 854403260], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281178, "nodes": [274841379, 8233380395, 8236937238, 8236937244, 275362225, 1420461035, 8558399577, 275364249], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281182, "nodes": [900987434, 8239810233, 274841744, 274841739, 30594263, 268824776, 274841689, 6221657648, 274839054], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "maxspeed": "50", "maxspeed:type": "sign", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281194, "nodes": [854403260, 275363145], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281195, "nodes": [30789627, 30789626], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654544883, "nodes": [6133225303, 6133225306], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "surface": "concrete"}}, {"type": "way", "id": 654544885, "nodes": [6133225300, 6133225304], "tags": {"highway": "residential", "name": "Cerrada Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654544887, "nodes": [6133225299, 6133225301], "tags": {"highway": "residential", "name": "Cerrada Segunda Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 654544889, "nodes": [6133225302, 6133225305], "tags": {"highway": "residential", "name": "Cerrada Primera Torres Adalid", "surface": "asphalt"}}, {"type": "way", "id": 654760643, "nodes": [6135446069, 8075554355], "tags": {"highway": "living_street", "name": "Privada Matilde", "surface": "concrete"}}, {"type": "way", "id": 684805551, "nodes": [8233994250, 8059695781, 8059695782, 30340904, 8240182413, 30385360, 8395187915, 5476240716], "tags": {"highway": "residential", "lanes": "1", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805561, "nodes": [30789613, 275363147], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "surface": "asphalt"}}, {"type": "way", "id": 684805562, "nodes": [4161648925, 275363144], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805563, "nodes": [274841235, 275362223, 4161648925], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 684805564, "nodes": [275363143, 275364248], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805565, "nodes": [274841370, 274841376, 6416401257, 6416401256, 275363143], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 684805568, "nodes": [275364249, 275363142], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 691236413, "nodes": [8066625615, 8558680555, 8066625614, 1420461031], "tags": {"highway": "living_street", "name": "Avenida Colonia del Valle", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 691236414, "nodes": [12216478464, 275358040], "tags": {"highway": "living_street", "name": "Calle Torres Adalid", "source": "Mapillary", "surface": "paving_stones"}}, {"type": "way", "id": 693114314, "nodes": [6507300088, 30594254], "tags": {"highway": "tertiary", "lanes": "4", "name": "Avenida Diagonal San Antonio", "surface": "asphalt"}}, {"type": "way", "id": 745184377, "nodes": [30789625, 275363146], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745184378, "nodes": [30789624, 30789625], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "note": "El nombre \"Johann Heinrich Pestalozzi\" se traduce al espa\u00f1ol como \"Juan Enrique Pestalozzi\"", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 785188324, "nodes": [274839258, 873739455], "tags": {"highway": "residential", "name": "Avenida Diagonal San Antonio"}}, {"type": "way", "id": 854204514, "nodes": [5835040404, 5835040401, 8066221764, 8066335563, 275407915], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854210244, "nodes": [1964030273, 900987458], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864705454, "nodes": [268680219, 8573018496, 8573018495, 30340909, 30385366], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864707790, "nodes": [8059695781, 8059695780], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864707791, "nodes": [8059695783, 8059695782], "tags": {"highway": "residential", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864835864, "nodes": [275409630, 30879849, 12136999324, 275362228], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865053902, "nodes": [30595076, 268679006], "tags": {"highway": "footway", "name": "Calle Y\u00e1catas"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865102381, "nodes": [5891567286, 8195270562], "tags": {"access": "private", "highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 865102382, "nodes": [874499049, 10184166094, 10184166095, 874499048, 30789626, 854403260], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865142318, "nodes": [900987457, 11002639734, 30789557], "tags": {"highway": "residential", "name": "Calle Anax\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 865393636, "nodes": [8066221769, 8066221768, 8066221767, 8066221766, 8066221765, 8066221764], "tags": {"highway": "secondary_link", "lanes": "1", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865397850, "nodes": [275366643, 30759077], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865406778, "nodes": [275366646, 8066335563], "tags": {"footway": "crossing", "highway": "footway"}}, {"type": "way", "id": 865416030, "nodes": [8066424138, 275366647], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt", "turn:lanes": "through|through;right"}}, {"type": "way", "id": 866407132, "nodes": [8075554355, 6135446074], "tags": {"access": "private", "highway": "living_street", "name": "Privada Matilde", "surface": "concrete"}}, {"type": "way", "id": 867051435, "nodes": [30759076, 275366642], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt", "turn:lanes": "left;through|through|through;right|none"}}, {"type": "way", "id": 868793783, "nodes": [4074023183, 4074023184], "tags": {"bridge": "yes", "highway": "footway", "layer": "1"}}, {"type": "way", "id": 868793784, "nodes": [4074023161, 4074023162, 4074023163], "tags": {"highway": "footway"}}, {"type": "way", "id": 881136974, "nodes": [8195270562, 275365144], "tags": {"highway": "residential", "name": "Primera Cerrada Concepci\u00f3n Beistegui", "surface": "asphalt"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885384870, "nodes": [8233172132, 8233172131], "tags": {"highway": "service"}}, {"type": "way", "id": 885384871, "nodes": [8233172133, 8233172132], "tags": {"highway": "service"}}, {"type": "way", "id": 885384872, "nodes": [8233172135, 8233172134], "tags": {"highway": "service"}}, {"type": "way", "id": 885384873, "nodes": [8233172137, 8233172136], "tags": {"highway": "service"}}, {"type": "way", "id": 885384874, "nodes": [8233172138, 8233172137], "tags": {"highway": "service"}}, {"type": "way", "id": 885384875, "nodes": [8233172140, 8233172139], "tags": {"highway": "service"}}, {"type": "way", "id": 885384876, "nodes": [8233172142, 8233172141], "tags": {"highway": "service"}}, {"type": "way", "id": 885389948, "nodes": [8233207642, 8233207641], "tags": {"highway": "service"}}, {"type": "way", "id": 885396010, "nodes": [8233244551, 8233244550, 8233244549], "tags": {"highway": "service"}}, {"type": "way", "id": 885406722, "nodes": [8233348336, 12745366118, 12745366133, 8233348340], "tags": {"highway": "service"}}, {"type": "way", "id": 885406724, "nodes": [8233348341, 8233348336], "tags": {"highway": "service"}}, {"type": "way", "id": 885406725, "nodes": [8233348340, 8558509865, 8233348339, 8558509866, 8558509867, 8558509862, 8233348338, 8558509863, 8558509864, 8558509868, 8233348337, 8558509860, 8558509861, 8233348340], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885409902, "nodes": [8233380396, 10266280489, 8233380395], "tags": {"highway": "service"}}, {"type": "way", "id": 885409903, "nodes": [8233380397, 8233380396], "tags": {"highway": "service"}}, {"type": "way", "id": 885422509, "nodes": [8233488844, 8233488843], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445023, "nodes": [8233649162, 8233649161], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445024, "nodes": [8233649163, 8233649162], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445025, "nodes": [8233649165, 8233649164], "tags": {"highway": "residential"}}, {"type": "way", "id": 885445026, "nodes": [8233649167, 8233649166], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449421, "nodes": [8233701231, 8233701230], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449422, "nodes": [8233701232, 8233701231], "tags": {"highway": "residential"}}, {"type": "way", "id": 885449423, "nodes": [8233701235, 8233701233], "tags": {"highway": "residential"}}, {"type": "way", "id": 885462663, "nodes": [8233767574, 8233767573], "tags": {"highway": "residential"}}, {"type": "way", "id": 885462664, "nodes": [8233767575, 8233767574], "tags": {"highway": "residential"}}, {"type": "way", "id": 885479063, "nodes": [30759093, 8233994249], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885479064, "nodes": [8233994249, 8233994250], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 885496902, "nodes": [8234143271, 8234143270], "tags": {"highway": "residential"}}, {"type": "way", "id": 885496903, "nodes": [8234143273, 8234143272], "tags": {"highway": "residential"}}, {"type": "way", "id": 885816629, "nodes": [8236937238, 8236937239, 8236937240, 8236937241], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885816630, "nodes": [8236937241, 8236937242], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885816631, "nodes": [8236937242, 8236937237, 8236937243, 8236937244], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885817686, "nodes": [8236907909, 275410621], "tags": {"highway": "residential"}}, {"type": "way", "id": 885817687, "nodes": [8236907910, 8236907909], "tags": {"highway": "residential"}}, {"type": "way", "id": 885820793, "nodes": [8236979494, 8236979493], "tags": {"highway": "service"}}, {"type": "way", "id": 885820794, "nodes": [8236979493, 8558503744, 8236979492, 8558503742, 8558503743, 8236979491], "tags": {"highway": "service"}}, {"type": "way", "id": 885820795, "nodes": [8236979495, 275366642], "tags": {"highway": "residential"}}, {"type": "way", "id": 885820796, "nodes": [8236979496, 8236979495], "tags": {"highway": "residential"}}, {"type": "way", "id": 885823840, "nodes": [8236990009, 8236990008], "tags": {"highway": "service"}}, {"type": "way", "id": 885823841, "nodes": [8236990008, 8558509859, 8236990007, 8558509857, 8558509858, 8236990006], "tags": {"highway": "service"}}, {"type": "way", "id": 885832075, "nodes": [8237082669, 8237082668], "tags": {"highway": "residential"}}, {"type": "way", "id": 885832076, "nodes": [8237082670, 8237082669], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093561, "nodes": [8239361006, 8239361005], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093562, "nodes": [8239361007, 8239361006], "tags": {"highway": "residential"}}, {"type": "way", "id": 886093565, "nodes": [8239361012, 8239361011, 12126349000, 12126357401, 12126357402], "tags": {"access": "private", "highway": "service"}}, {"type": "way", "id": 886093566, "nodes": [8239361014, 12744910709], "tags": {"highway": "service"}}, {"type": "way", "id": 886140363, "nodes": [8239810226, 8239810225, 8239810224, 8239810223], "tags": {"highway": "service", "surface": "asphalt"}}, {"type": "way", "id": 886140365, "nodes": [8239810233, 8580858902, 8239810232, 8580858900, 8580858901, 8239810231], "tags": {"highway": "service"}}, {"type": "way", "id": 886161031, "nodes": [30341110, 8240007615], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 886172390, "nodes": [8240138231, 8240138230, 854385870], "tags": {"highway": "service"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838683, "nodes": [6133181807, 900987458], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848449, "nodes": [30789610, 30789557], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848450, "nodes": [900987455, 900987457], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848451, "nodes": [900987457, 6133181807], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850316, "nodes": [900987452, 11002639736, 30789627], "tags": {"highway": "residential", "name": "Calle Juan Enrique Pestalozzi", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850317, "nodes": [900987452, 900987455], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850318, "nodes": [1140221617, 900987452], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850319, "nodes": [30789627, 30789610], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903850320, "nodes": [30789610, 11002639735, 900987455], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903850321, "nodes": [275363147, 10184166101, 874499048], "tags": {"highway": "tertiary", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851347, "nodes": [900987444, 900987447], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851348, "nodes": [900987447, 1140221617], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851349, "nodes": [900987447, 11002639738, 274841235], "tags": {"highway": "residential", "lanes": "2", "lit": "yes", "maxspeed:type": "MX:urban", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "sidewalk": "no", "smoothness": "excellent", "surface": "asphalt"}}, {"type": "way", "id": 903851350, "nodes": [275364495, 11002639737, 1140221617], "tags": {"highway": "residential", "name": "Calle Enrique R\u00e9bsamen", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903851351, "nodes": [274841235, 275364495], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903851352, "nodes": [275364495, 30789627], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903852226, "nodes": [900987438, 11002639740, 274841379], "tags": {"highway": "residential", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852227, "nodes": [274841377, 6221657649, 274838902, 268824889, 1964030281, 900987438], "tags": {"highway": "residential", "lane_markings": "no", "maxspeed:type": "MX:urban", "name": "Calle Nicol\u00e1s San Juan", "oneway": "yes", "sidewalk": "both", "sidewalk:both:surface": "concrete", "smoothness": "intermediate", "surface": "asphalt"}}, {"type": "way", "id": 903852228, "nodes": [900987434, 900987438], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903852229, "nodes": [274841375, 11002639739, 900987444], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852230, "nodes": [275364248, 275362224, 274841375], "tags": {"highway": "residential", "name": "Calle Juan S\u00e1nchez Azcona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903852231, "nodes": [274841375, 274841235], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904185981, "nodes": [30595044, 11002639743, 900987434], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "lane", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 904185982, "nodes": [275362227, 10266303759, 275410047, 8239810223, 30595044], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "sidewalk": "both", "surface": "asphalt"}}, {"type": "way", "id": 904185983, "nodes": [30595044, 274841379], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904185984, "nodes": [30879848, 275409851], "tags": {"alt_name": "Eje 4 Sur;Eje Vial 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904225338, "nodes": [5835040400, 8397788790], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 904225339, "nodes": [5835040401, 5835040400], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Heriberto Fr\u00edas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 904225340, "nodes": [268680218, 8397788793], "tags": {"bicycle": "yes", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 910607001, "nodes": [275363145, 275364246], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957870, "nodes": [275365677, 12149179285, 275511758, 30759290, 5835040404], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "maxspeed": "50", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957871, "nodes": [5835040404, 5835040400], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918957872, "nodes": [5835040400, 8066424138], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "secondary", "lanes": "2", "lit": "yes", "motor_vehicle:conditional": "no @ (Su 08:00-14:00)", "name": "Avenida Divisi\u00f3n del Norte", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 918957873, "nodes": [8397788790, 8397788791, 274841384, 8646569263, 275364991, 275364945, 30594246], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918957875, "nodes": [30594246, 275364792, 8233767575, 30759076], "tags": {"alt_name": "Eje Vial 2 Poniente;Eje 2 Poniente", "cycleway:left": "no", "cycleway:right": "track", "cycleway:right:smoothness": "excellent", "highway": "primary", "lanes": "4", "lanes:psv": "1", "lit": "yes", "name": "Gabriel Mancera", "oneway": "yes", "ref": "EJE 2 PTE", "surface": "asphalt"}}, {"type": "way", "id": 918958780, "nodes": [30385387, 12126328030, 30759104, 8063206411, 11155081777, 30340906], "tags": {"alt_name": "5 Sur; Eje Vial 5 Sur", "highway": "primary", "lanes": "5", "lanes:backward:conditional": "4 @ (Mo-Fr 18:00-21:30;PH off)", "lanes:forward:conditional": "1 @ (Mo-Fr 00:00-24:00;PH off)", "lanes:psv": "1", "name": "Avenida Eugenia", "oneway": "yes", "oneway:conditional": "no @ (Mo-Fr 18:00-21:30;PH off)", "ref": "EJE 5 SUR", "surface": "asphalt"}}, {"type": "way", "id": 918958781, "nodes": [30759078, 8233172141, 30341110, 30340906], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 918958782, "nodes": [30340906, 30341108, 8239441660, 30341107, 30340084, 30341106], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 921889156, "nodes": [874499048, 30789610], "tags": {"highway": "residential", "name": "Calle Pit\u00e1goras", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 923560967, "nodes": [8573121044, 8573121043, 8573121041, 8573121039, 8573121040, 8573121042], "tags": {"highway": "service"}}, {"type": "way", "id": 923560968, "nodes": [8063206401, 8573121045], "tags": {"highway": "service"}}, {"type": "way", "id": 923560969, "nodes": [8573121048, 8573121047], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 991363398, "nodes": [900987458, 11002639733, 874499049], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143717, "nodes": [10184166093, 275363147], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1113143718, "nodes": [30789560, 10184166093], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143719, "nodes": [10184166094, 30789557], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1113143720, "nodes": [10184166093, 10184166096, 10184166095], "tags": {"highway": "residential", "oneway": "yes"}}, {"type": "way", "id": 1122492891, "nodes": [10266303731, 10266303732], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492892, "nodes": [10266303733, 10266303743, 10266303740, 10266303738, 10266303736, 10266303742, 10266303753, 10266303734], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492893, "nodes": [10266303737, 10266303739, 10266303735], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492894, "nodes": [10266303737, 10266303738], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492895, "nodes": [10266303739, 10266303764, 10266303740], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492896, "nodes": [10266303732, 10266303741, 10266303737], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492897, "nodes": [10266303741, 10266303742], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492898, "nodes": [10266303735, 10266303743], "tags": {"highway": "service"}}, {"type": "way", "id": 1122492901, "nodes": [10266303732, 10266303752, 10266303753], "tags": {"highway": "service"}}, {"type": "way", "id": 1174933309, "nodes": [30759078, 11155081773, 8063206410], "tags": {"cycleway:both": "no", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1174933310, "nodes": [8063206410, 30759095, 30759096, 30789525, 30759079], "tags": {"cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "lanes": "2", "name": "Calle Concepci\u00f3n Beistegui", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1175229253, "nodes": [8397788793, 30385387], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1199062708, "nodes": [4052026407, 11122526377], "tags": {"bridge": "yes", "highway": "footway", "layer": "1"}}, {"type": "way", "id": 1199062709, "nodes": [11122526377, 11122526378, 11122526379, 4074023183], "tags": {"highway": "footway"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377392, "nodes": [11155081769, 11155081772, 11155081773, 11155081774], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377393, "nodes": [11155081774, 11155081775, 11155081776, 11155081777], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377394, "nodes": [11155081777, 11155081778, 11155081779, 11155081774], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377395, "nodes": [11155081777, 11155081780, 11155081781], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1309604893, "nodes": [12126328030, 12126328029, 12126328028, 12126328027, 12126328026], "tags": {"highway": "service"}}, {"type": "way", "id": 1309760653, "nodes": [854385866, 12127192316, 12127192317], "tags": {"highway": "service"}}, {"type": "way", "id": 1310007750, "nodes": [12129079361, 12129079358, 12129079359, 12129079360], "tags": {"highway": "service"}}, {"type": "way", "id": 1311170363, "nodes": [12136908393, 12136908392], "tags": {"highway": "service"}}, {"type": "way", "id": 1312686382, "nodes": [12150524793, 12150542802, 12150542801, 12150524794], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686383, "nodes": [12150524794, 12150524798, 12150524795], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686384, "nodes": [12150524795, 12150524800, 12150524799, 12150524796], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "yes", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1312686385, "nodes": [12150524793, 12150524797, 12150524796], "tags": {"button_operated": "no", "crossing": "traffic_signals", "crossing:island": "no", "crossing:markings": "zebra", "footway": "crossing", "highway": "footway", "surface": "asphalt", "tactile_paving": "no", "traffic_signals:sound": "yes", "traffic_signals:vibration": "no"}}, {"type": "way", "id": 1320132157, "nodes": [11122526377, 12216458213, 12216458214], "tags": {"highway": "footway"}}, {"type": "way", "id": 1320132158, "nodes": [12216458213, 4135213739], "tags": {"highway": "footway"}}, {"type": "way", "id": 1320132159, "nodes": [4074023183, 12216458215, 12216458220, 6485933200], "tags": {"highway": "footway"}}, {"type": "way", "id": 1320132160, "nodes": [12216458215, 12216458216, 12216458221, 4135213746], "tags": {"highway": "footway"}}, {"type": "way", "id": 1320132161, "nodes": [1420461031, 12216458217, 12216458218], "tags": {"highway": "footway"}}, {"type": "way", "id": 1320132560, "nodes": [12216478465, 12216478466, 12216478464, 12216478467, 12216478468], "tags": {"highway": "footway"}}, {"type": "way", "id": 1374805848, "nodes": [12729378417, 12729378416], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805849, "nodes": [12729378418, 12729378417], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805850, "nodes": [12729378416, 12729378415, 12729378420], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805851, "nodes": [12729378422, 12729378421], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805852, "nodes": [12729378424, 12729378423, 12729378422], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805853, "nodes": [12729378421, 12729378420, 12729378419], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1376497821, "nodes": [12744910709, 8239361013], "tags": {"access": "private", "highway": "service"}}, {"type": "way", "id": 1376553920, "nodes": [12745366118, 12745366117], "tags": {"highway": "service"}}, {"type": "way", "id": 1376555915, "nodes": [12745380344, 12745380343], "tags": {"highway": "residential", "maxspeed": "40", "surface": "asphalt"}}]} \ No newline at end of file diff --git a/cache/e9373a5d33eb65bf8ea8e944d54c266d13dfe874.json b/cache/e9373a5d33eb65bf8ea8e944d54c266d13dfe874.json new file mode 100644 index 0000000..d65163c --- /dev/null +++ b/cache/e9373a5d33eb65bf8ea8e944d54c266d13dfe874.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:21:34Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/ee35f68605f6fce6949548813b6faec4414fcd5d.json b/cache/ee35f68605f6fce6949548813b6faec4414fcd5d.json new file mode 100644 index 0000000..854f488 --- /dev/null +++ b/cache/ee35f68605f6fce6949548813b6faec4414fcd5d.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:27:52Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": []} \ No newline at end of file diff --git a/cache/ef71964fa43f822f2cc523f8970b5649c1b57ea6.json b/cache/ef71964fa43f822f2cc523f8970b5649c1b57ea6.json new file mode 100644 index 0000000..7605be3 --- /dev/null +++ b/cache/ef71964fa43f822f2cc523f8970b5649c1b57ea6.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-11T23:48:18Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 30339675, "lat": 19.3864461, "lon": -99.1519364}, {"type": "node", "id": 30339676, "lat": 19.3885927, "lon": -99.1515498}, {"type": "node", "id": 30339677, "lat": 19.3900383, "lon": -99.1513763}, {"type": "node", "id": 30339687, "lat": 19.3954836, "lon": -99.1510059, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30339689, "lat": 19.3983334, "lon": -99.1507862}, {"type": "node", "id": 30339690, "lat": 19.3991201, "lon": -99.1507006}, {"type": "node", "id": 30339691, "lat": 19.4001339, "lon": -99.150629}, {"type": "node", "id": 30340092, "lat": 19.3799222, "lon": -99.1513362, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340093, "lat": 19.379682, "lon": -99.1500464, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340605, "lat": 19.3951447, "lon": -99.1460698, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340606, "lat": 19.395222, "lon": -99.1475158}, {"type": "node", "id": 30340912, "lat": 19.3846041, "lon": -99.1530265}, {"type": "node", "id": 30340916, "lat": 19.3843934, "lon": -99.1505718}, {"type": "node", "id": 30340918, "lat": 19.3842671, "lon": -99.1491027, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30340978, "lat": 19.3893848, "lon": -99.1468088, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30340979, "lat": 19.3908318, "lon": -99.1466312}, {"type": "node", "id": 30340980, "lat": 19.3925848, "lon": -99.1463925, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 30341027, "lat": 19.3815048, "lon": -99.1509958}, {"type": "node", "id": 30341028, "lat": 19.3812643, "lon": -99.1497158}, {"type": "node", "id": 30341031, "lat": 19.3831178, "lon": -99.1506833}, {"type": "node", "id": 30341032, "lat": 19.3823063, "lon": -99.150839}, {"type": "node", "id": 30341033, "lat": 19.380712, "lon": -99.1511667}, {"type": "node", "id": 30341040, "lat": 19.3804623, "lon": -99.149875}, {"type": "node", "id": 30341113, "lat": 19.3893771, "lon": -99.156681, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30341117, "lat": 19.3939577, "lon": -99.1562497, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30385368, "lat": 19.3820944, "lon": -99.1541281}, {"type": "node", "id": 30385369, "lat": 19.3819766, "lon": -99.1534893}, {"type": "node", "id": 30385379, "lat": 19.3952991, "lon": -99.1484528, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30594104, "lat": 19.4019229, "lon": -99.1547508}, {"type": "node", "id": 30594502, "lat": 19.3828577, "lon": -99.1493763}, {"type": "node", "id": 30594516, "lat": 19.3844469, "lon": -99.1511771}, {"type": "node", "id": 30595076, "lat": 19.3957837, "lon": -99.1552282}, {"type": "node", "id": 30758688, "lat": 19.3820497, "lon": -99.1495544}, {"type": "node", "id": 30758812, "lat": 19.3833767, "lon": -99.149279}, {"type": "node", "id": 30758971, "lat": 19.3846622, "lon": -99.1536792}, {"type": "node", "id": 30759078, "lat": 19.3875449, "lon": -99.1569347, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30759095, "lat": 19.3873676, "lon": -99.1560651}, {"type": "node", "id": 30759096, "lat": 19.38721, "lon": -99.1553441}, {"type": "node", "id": 30759098, "lat": 19.3867349, "lon": -99.1533184}, {"type": "node", "id": 30759099, "lat": 19.3866047, "lon": -99.1526944}, {"type": "node", "id": 30759101, "lat": 19.3861472, "lon": -99.1497004}, {"type": "node", "id": 30759103, "lat": 19.3826783, "lon": -99.1572274}, {"type": "node", "id": 30759104, "lat": 19.3850404, "lon": -99.1566477}, {"type": "node", "id": 30788901, "lat": 19.378004, "lon": -99.150399}, {"type": "node", "id": 30789005, "lat": 19.392468, "lon": -99.1492035}, {"type": "node", "id": 30789008, "lat": 19.3882836, "lon": -99.1495226}, {"type": "node", "id": 30789024, "lat": 19.3848337, "lon": -99.1490278}, {"type": "node", "id": 30789025, "lat": 19.3862628, "lon": -99.1488677}, {"type": "node", "id": 30789026, "lat": 19.3881698, "lon": -99.1488308}, {"type": "node", "id": 30789027, "lat": 19.3890839, "lon": -99.148825}, {"type": "node", "id": 30789028, "lat": 19.3896597, "lon": -99.1487752}, {"type": "node", "id": 30789030, "lat": 19.3924797, "lon": -99.148557}, {"type": "node", "id": 30789031, "lat": 19.3924492, "lon": -99.1498776}, {"type": "node", "id": 30789034, "lat": 19.3883792, "lon": -99.150192}, {"type": "node", "id": 30789036, "lat": 19.3854988, "lon": -99.1504483}, {"type": "node", "id": 30789037, "lat": 19.3863129, "lon": -99.1510278}, {"type": "node", "id": 30789038, "lat": 19.3884882, "lon": -99.1508585}, {"type": "node", "id": 30789438, "lat": 19.3887266, "lon": -99.1523287}, {"type": "node", "id": 30789439, "lat": 19.3901625, "lon": -99.1522185}, {"type": "node", "id": 30789442, "lat": 19.3955773, "lon": -99.1524306, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789443, "lat": 19.3896313, "lon": -99.1528911}, {"type": "node", "id": 30789447, "lat": 19.4001041, "lon": -99.1520792}, {"type": "node", "id": 30789448, "lat": 19.3982442, "lon": -99.1522257}, {"type": "node", "id": 30789450, "lat": 19.3933614, "lon": -99.152612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789451, "lat": 19.3920368, "lon": -99.1527075}, {"type": "node", "id": 30789454, "lat": 19.3888064, "lon": -99.1529521}, {"type": "node", "id": 30789463, "lat": 19.3956202, "lon": -99.1530735}, {"type": "node", "id": 30789464, "lat": 19.3883345, "lon": -99.1536978}, {"type": "node", "id": 30789467, "lat": 19.3903459, "lon": -99.1534931}, {"type": "node", "id": 30789469, "lat": 19.393809, "lon": -99.1532244}, {"type": "node", "id": 30789510, "lat": 19.3956659, "lon": -99.1537284, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789515, "lat": 19.3904438, "lon": -99.1541319}, {"type": "node", "id": 30789521, "lat": 19.3982049, "lon": -99.1535462}, {"type": "node", "id": 30789522, "lat": 19.4001142, "lon": -99.153399}, {"type": "node", "id": 30789525, "lat": 19.3870347, "lon": -99.154639}, {"type": "node", "id": 30789529, "lat": 19.3957297, "lon": -99.1545075, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789531, "lat": 19.3905481, "lon": -99.1549169}, {"type": "node", "id": 30789533, "lat": 19.3938709, "lon": -99.1546584}, {"type": "node", "id": 30789537, "lat": 19.3982099, "lon": -99.154321}, {"type": "node", "id": 30789538, "lat": 19.4001202, "lon": -99.1541774}, {"type": "node", "id": 30789541, "lat": 19.3906576, "lon": -99.1556311}, {"type": "node", "id": 30789543, "lat": 19.3939116, "lon": -99.155375}, {"type": "node", "id": 30789546, "lat": 19.3982144, "lon": -99.1550538}, {"type": "node", "id": 30789547, "lat": 19.4001258, "lon": -99.1549075}, {"type": "node", "id": 30789557, "lat": 19.395913, "lon": -99.1568612, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 30789558, "lat": 19.3894911, "lon": -99.1573628}, {"type": "node", "id": 30789559, "lat": 19.3908697, "lon": -99.1572601}, {"type": "node", "id": 30789560, "lat": 19.3940061, "lon": -99.1570258}, {"type": "node", "id": 30789612, "lat": 19.390992, "lon": -99.1579304}, {"type": "node", "id": 30789613, "lat": 19.3940637, "lon": -99.1576847}, {"type": "node", "id": 30789624, "lat": 19.3910898, "lon": -99.1586044}, {"type": "node", "id": 30789625, "lat": 19.394098, "lon": -99.1583736}, {"type": "node", "id": 31180738, "lat": 19.3895419, "lon": -99.1479322}, {"type": "node", "id": 31180746, "lat": 19.3912872, "lon": -99.159965}, {"type": "node", "id": 31180761, "lat": 19.3907645, "lon": -99.1564988, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 31180763, "lat": 19.3898663, "lon": -99.1500848}, {"type": "node", "id": 31180765, "lat": 19.389944, "lon": -99.1507387}, {"type": "node", "id": 31180767, "lat": 19.3902579, "lon": -99.1528565}, {"type": "node", "id": 31180769, "lat": 19.3902079, "lon": -99.1525263, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268678873, "lat": 19.3936779, "lon": -99.1532358}, {"type": "node", "id": 268678874, "lat": 19.3932156, "lon": -99.1526274, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268679006, "lat": 19.3953397, "lon": -99.1552542}, {"type": "node", "id": 268679153, "lat": 19.3910913, "lon": -99.1506531}, {"type": "node", "id": 268679231, "lat": 19.3888766, "lon": -99.1488188}, {"type": "node", "id": 268680221, "lat": 19.388035, "lon": -99.1537532}, {"type": "node", "id": 268680222, "lat": 19.3894058, "lon": -99.1529117}, {"type": "node", "id": 268680223, "lat": 19.3901931, "lon": -99.1524262, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268680344, "lat": 19.3956258, "lon": -99.1460139}, {"type": "node", "id": 268680393, "lat": 19.3971166, "lon": -99.1437259, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268680394, "lat": 19.3978002, "lon": -99.1426974}, {"type": "node", "id": 268682761, "lat": 19.3966476, "lon": -99.1458837}, {"type": "node", "id": 268682898, "lat": 19.3954689, "lon": -99.1378706}, {"type": "node", "id": 268682899, "lat": 19.3956985, "lon": -99.1394507}, {"type": "node", "id": 268682900, "lat": 19.395973, "lon": -99.1412587}, {"type": "node", "id": 268682901, "lat": 19.3962199, "lon": -99.1429652}, {"type": "node", "id": 268682902, "lat": 19.3963495, "lon": -99.1438402, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 268684168, "lat": 19.4022863, "lon": -99.1442765}, {"type": "node", "id": 268684263, "lat": 19.4016386, "lon": -99.1443812}, {"type": "node", "id": 268684264, "lat": 19.401002, "lon": -99.1444823}, {"type": "node", "id": 268684265, "lat": 19.399562, "lon": -99.1447114}, {"type": "node", "id": 268684266, "lat": 19.3981272, "lon": -99.1449386}, {"type": "node", "id": 268684267, "lat": 19.3965468, "lon": -99.1452002}, {"type": "node", "id": 268684268, "lat": 19.3961499, "lon": -99.1452694}, {"type": "node", "id": 268684269, "lat": 19.3950518, "lon": -99.1454366}, {"type": "node", "id": 268684270, "lat": 19.3926019, "lon": -99.1457558}, {"type": "node", "id": 268684271, "lat": 19.3907604, "lon": -99.1460788}, {"type": "node", "id": 268684541, "lat": 19.3964552, "lon": -99.1445676}, {"type": "node", "id": 268684542, "lat": 19.3965937, "lon": -99.1445461}, {"type": "node", "id": 268684547, "lat": 19.392618, "lon": -99.1451953}, {"type": "node", "id": 268684935, "lat": 19.3960948, "lon": -99.1421353}, {"type": "node", "id": 268685410, "lat": 19.3958355, "lon": -99.1403535}, {"type": "node", "id": 268685699, "lat": 19.3955979, "lon": -99.138711}, {"type": "node", "id": 268823703, "lat": 19.3964227, "lon": -99.1474208}, {"type": "node", "id": 268823948, "lat": 19.3973647, "lon": -99.1465435}, {"type": "node", "id": 268823990, "lat": 19.3923779, "lon": -99.1508981}, {"type": "node", "id": 268824115, "lat": 19.395288, "lon": -99.1483022, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268824117, "lat": 19.3962208, "lon": -99.1474346}, {"type": "node", "id": 268824118, "lat": 19.3971687, "lon": -99.14656}, {"type": "node", "id": 268824239, "lat": 19.3982742, "lon": -99.1458943}, {"type": "node", "id": 268824329, "lat": 19.3982973, "lon": -99.1464518}, {"type": "node", "id": 268824330, "lat": 19.3983236, "lon": -99.1473002}, {"type": "node", "id": 268824891, "lat": 19.3981881, "lon": -99.1508021}, {"type": "node", "id": 268824893, "lat": 19.3981709, "lon": -99.1473096}, {"type": "node", "id": 268824895, "lat": 19.3981479, "lon": -99.1464564}, {"type": "node", "id": 268824912, "lat": 19.3982009, "lon": -99.152893}, {"type": "node", "id": 268825077, "lat": 19.395557, "lon": -99.1482093}, {"type": "node", "id": 268825078, "lat": 19.3981687, "lon": -99.1480156}, {"type": "node", "id": 268825079, "lat": 19.3983237, "lon": -99.1480037}, {"type": "node", "id": 268825080, "lat": 19.4020793, "lon": -99.1477338, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268825166, "lat": 19.4020738, "lon": -99.1478618, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 268825210, "lat": 19.4006446, "lon": -99.1479637}, {"type": "node", "id": 268825211, "lat": 19.3983242, "lon": -99.1481625}, {"type": "node", "id": 268825212, "lat": 19.3981713, "lon": -99.1481725}, {"type": "node", "id": 268825438, "lat": 19.4008196, "lon": -99.1478245}, {"type": "node", "id": 268825439, "lat": 19.4007434, "lon": -99.1479547}, {"type": "node", "id": 268825766, "lat": 19.3981989, "lon": -99.1521287}, {"type": "node", "id": 268825767, "lat": 19.399017, "lon": -99.1507118}, {"type": "node", "id": 268825768, "lat": 19.4007198, "lon": -99.1478341}, {"type": "node", "id": 268825769, "lat": 19.4016315, "lon": -99.1462061}, {"type": "node", "id": 268825911, "lat": 19.4012923, "lon": -99.1479023}, {"type": "node", "id": 268825912, "lat": 19.4012843, "lon": -99.1477778}, {"type": "node", "id": 274838891, "lat": 19.3997865, "lon": -99.1471722}, {"type": "node", "id": 274838892, "lat": 19.3998405, "lon": -99.1478993}, {"type": "node", "id": 274838893, "lat": 19.399853, "lon": -99.1480351}, {"type": "node", "id": 274838894, "lat": 19.39994, "lon": -99.1491492}, {"type": "node", "id": 274839137, "lat": 19.4017366, "lon": -99.1547613}, {"type": "node", "id": 274839138, "lat": 19.4017698, "lon": -99.1540174}, {"type": "node", "id": 274839139, "lat": 19.4018059, "lon": -99.1532683}, {"type": "node", "id": 274839249, "lat": 19.3981406, "lon": -99.1522322}, {"type": "node", "id": 274839250, "lat": 19.3968685, "lon": -99.1544185}, {"type": "node", "id": 274839251, "lat": 19.3973516, "lon": -99.153612}, {"type": "node", "id": 274839252, "lat": 19.3977483, "lon": -99.1529159}, {"type": "node", "id": 274839253, "lat": 19.39643, "lon": -99.1551633}, {"type": "node", "id": 274839254, "lat": 19.3983253, "lon": -99.1519137}, {"type": "node", "id": 274839255, "lat": 19.3969868, "lon": -99.154413}, {"type": "node", "id": 274839256, "lat": 19.3974515, "lon": -99.1536043}, {"type": "node", "id": 274839257, "lat": 19.3978501, "lon": -99.1529093}, {"type": "node", "id": 274839258, "lat": 19.3965568, "lon": -99.155156}, {"type": "node", "id": 274839263, "lat": 19.3958627, "lon": -99.1561037, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 274839429, "lat": 19.3919602, "lon": -99.151707}, {"type": "node", "id": 274839431, "lat": 19.3924458, "lon": -99.1515935}, {"type": "node", "id": 274839432, "lat": 19.3925309, "lon": -99.1514981}, {"type": "node", "id": 274839433, "lat": 19.3925786, "lon": -99.1513667}, {"type": "node", "id": 274839434, "lat": 19.392578, "lon": -99.151217}, {"type": "node", "id": 274839435, "lat": 19.3925003, "lon": -99.1510172}, {"type": "node", "id": 274839437, "lat": 19.3915833, "lon": -99.1508764}, {"type": "node", "id": 274839438, "lat": 19.3914335, "lon": -99.1509622}, {"type": "node", "id": 274839439, "lat": 19.3913961, "lon": -99.1510186}, {"type": "node", "id": 274839440, "lat": 19.3913039, "lon": -99.1512264}, {"type": "node", "id": 274839441, "lat": 19.3913165, "lon": -99.1513666}, {"type": "node", "id": 274839442, "lat": 19.3914486, "lon": -99.1516189}, {"type": "node", "id": 274839443, "lat": 19.3915605, "lon": -99.1517014}, {"type": "node", "id": 274839444, "lat": 19.3916979, "lon": -99.1517374}, {"type": "node", "id": 274839832, "lat": 19.3994388, "lon": -99.1499989}, {"type": "node", "id": 274839859, "lat": 19.3983314, "lon": -99.1500804}, {"type": "node", "id": 274839860, "lat": 19.3981846, "lon": -99.1500912}, {"type": "node", "id": 274839861, "lat": 19.3954231, "lon": -99.1503063}, {"type": "node", "id": 274839882, "lat": 19.392951, "lon": -99.1504554}, {"type": "node", "id": 274839883, "lat": 19.3930876, "lon": -99.1504783}, {"type": "node", "id": 274840029, "lat": 19.3954924, "lon": -99.1511248, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 274840030, "lat": 19.3981887, "lon": -99.150934}, {"type": "node", "id": 274840031, "lat": 19.3983338, "lon": -99.1509174}, {"type": "node", "id": 274840032, "lat": 19.3989293, "lon": -99.1508493}, {"type": "node", "id": 274840033, "lat": 19.3990397, "lon": -99.1508367}, {"type": "node", "id": 274840035, "lat": 19.400094, "lon": -99.1507562}, {"type": "node", "id": 274840754, "lat": 19.3998532, "lon": -99.1493004}, {"type": "node", "id": 274840760, "lat": 19.3983296, "lon": -99.1494131}, {"type": "node", "id": 274840761, "lat": 19.3981813, "lon": -99.149424}, {"type": "node", "id": 274840762, "lat": 19.395378, "lon": -99.1496351}, {"type": "node", "id": 274840763, "lat": 19.3938844, "lon": -99.1497513}, {"type": "node", "id": 274840764, "lat": 19.3938161, "lon": -99.1496532}, {"type": "node", "id": 274840766, "lat": 19.3926366, "lon": -99.1444382}, {"type": "node", "id": 274840982, "lat": 19.3864696, "lon": -99.1520577}, {"type": "node", "id": 274840983, "lat": 19.3886133, "lon": -99.1516658}, {"type": "node", "id": 274840984, "lat": 19.3900559, "lon": -99.1514954}, {"type": "node", "id": 274840988, "lat": 19.3918871, "lon": -99.1508586}, {"type": "node", "id": 274840989, "lat": 19.3918429, "lon": -99.1499244}, {"type": "node", "id": 274840993, "lat": 19.4002724, "lon": -99.1485818}, {"type": "node", "id": 274841033, "lat": 19.3999008, "lon": -99.1486162}, {"type": "node", "id": 274841034, "lat": 19.3983276, "lon": -99.1487353}, {"type": "node", "id": 274841035, "lat": 19.398178, "lon": -99.1487464}, {"type": "node", "id": 274841036, "lat": 19.3953351, "lon": -99.148971}, {"type": "node", "id": 274841037, "lat": 19.3946706, "lon": -99.149022}, {"type": "node", "id": 274841105, "lat": 19.3990051, "lon": -99.1534845}, {"type": "node", "id": 274841106, "lat": 19.3990224, "lon": -99.1521636}, {"type": "node", "id": 274841111, "lat": 19.4000992, "lon": -99.1514328}, {"type": "node", "id": 274841112, "lat": 19.3990312, "lon": -99.1514844}, {"type": "node", "id": 274841130, "lat": 19.3983284, "lon": -99.1515547}, {"type": "node", "id": 274841131, "lat": 19.3981927, "lon": -99.1515673}, {"type": "node", "id": 274841132, "lat": 19.3955317, "lon": -99.1517924}, {"type": "node", "id": 274841133, "lat": 19.3929049, "lon": -99.1520015}, {"type": "node", "id": 274841134, "lat": 19.392749, "lon": -99.1520092}, {"type": "node", "id": 275357285, "lat": 19.3889321, "lon": -99.1482292}, {"type": "node", "id": 275357286, "lat": 19.3886947, "lon": -99.1468959}, {"type": "node", "id": 275357288, "lat": 19.3925491, "lon": -99.1470606}, {"type": "node", "id": 275358040, "lat": 19.3905941, "lon": -99.1632116, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358042, "lat": 19.3892463, "lon": -99.1558216}, {"type": "node", "id": 275358043, "lat": 19.389154, "lon": -99.1551002}, {"type": "node", "id": 275358044, "lat": 19.389033, "lon": -99.1543393}, {"type": "node", "id": 275358045, "lat": 19.3889105, "lon": -99.1536179}, {"type": "node", "id": 275358046, "lat": 19.3888543, "lon": -99.1532472, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358047, "lat": 19.3880351, "lon": -99.148119, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358048, "lat": 19.3880072, "lon": -99.1479643, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 275358138, "lat": 19.3888111, "lon": -99.1475526}, {"type": "node", "id": 275358139, "lat": 19.3894736, "lon": -99.1474443}, {"type": "node", "id": 275358446, "lat": 19.3925164, "lon": -99.1477361}, {"type": "node", "id": 275358447, "lat": 19.3888827, "lon": -99.1479759}, {"type": "node", "id": 275361924, "lat": 19.3940912, "lon": -99.1478304}, {"type": "node", "id": 275361954, "lat": 19.3936808, "lon": -99.1476474}, {"type": "node", "id": 275361955, "lat": 19.3937349, "lon": -99.1480879}, {"type": "node", "id": 275363145, "lat": 19.3941312, "lon": -99.1590871}, {"type": "node", "id": 275364497, "lat": 19.3911925, "lon": -99.1593122}, {"type": "node", "id": 275364636, "lat": 19.3897986, "lon": -99.1593653}, {"type": "node", "id": 275364637, "lat": 19.3911831, "lon": -99.1592475}, {"type": "node", "id": 275364638, "lat": 19.3941302, "lon": -99.1590223}, {"type": "node", "id": 275512762, "lat": 19.3788416, "lon": -99.1502378}, {"type": "node", "id": 275512786, "lat": 19.3785447, "lon": -99.1502955}, {"type": "node", "id": 275728758, "lat": 19.3920142, "lon": -99.1399879}, {"type": "node", "id": 275728946, "lat": 19.3922682, "lon": -99.1418764}, {"type": "node", "id": 275728947, "lat": 19.3923762, "lon": -99.1427295}, {"type": "node", "id": 275729015, "lat": 19.3916594, "lon": -99.1459059}, {"type": "node", "id": 275729078, "lat": 19.3916061, "lon": -99.1454075}, {"type": "node", "id": 275729079, "lat": 19.3915118, "lon": -99.1446087}, {"type": "node", "id": 275729080, "lat": 19.3913991, "lon": -99.1437184}, {"type": "node", "id": 275729251, "lat": 19.3887673, "lon": -99.14238}, {"type": "node", "id": 275729252, "lat": 19.3888943, "lon": -99.1432889}, {"type": "node", "id": 275729253, "lat": 19.3889847, "lon": -99.1441271}, {"type": "node", "id": 275729254, "lat": 19.3891133, "lon": -99.1450027}, {"type": "node", "id": 275729255, "lat": 19.3892492, "lon": -99.1459252}, {"type": "node", "id": 275730003, "lat": 19.3877285, "lon": -99.1462472}, {"type": "node", "id": 275730011, "lat": 19.3885916, "lon": -99.1460747}, {"type": "node", "id": 275730024, "lat": 19.3906933, "lon": -99.1456109}, {"type": "node", "id": 275730025, "lat": 19.3905973, "lon": -99.1447632}, {"type": "node", "id": 275730358, "lat": 19.3926366, "lon": -99.1448284}, {"type": "node", "id": 275730359, "lat": 19.3915538, "lon": -99.1450104}, {"type": "node", "id": 275730360, "lat": 19.3906472, "lon": -99.145188}, {"type": "node", "id": 275730361, "lat": 19.3891855, "lon": -99.1454726}, {"type": "node", "id": 275730363, "lat": 19.3925543, "lon": -99.1439798}, {"type": "node", "id": 275730379, "lat": 19.3914642, "lon": -99.1441656}, {"type": "node", "id": 275730380, "lat": 19.3905512, "lon": -99.1443141}, {"type": "node", "id": 275730382, "lat": 19.3890417, "lon": -99.1445469}, {"type": "node", "id": 275730385, "lat": 19.3924325, "lon": -99.1431544}, {"type": "node", "id": 275730540, "lat": 19.3888395, "lon": -99.1428926}, {"type": "node", "id": 275730548, "lat": 19.3889399, "lon": -99.1437209}, {"type": "node", "id": 275730552, "lat": 19.392208, "lon": -99.1414197}, {"type": "node", "id": 275730595, "lat": 19.3921094, "lon": -99.1406514, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 474733239, "lat": 19.3862345, "lon": -99.1503625}, {"type": "node", "id": 848504666, "lat": 19.4022438, "lon": -99.1451374, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 848504679, "lat": 19.4011869, "lon": -99.1470496, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 848504686, "lat": 19.4012842, "lon": -99.1470409}, {"type": "node", "id": 848504693, "lat": 19.3964802, "lon": -99.1447245}, {"type": "node", "id": 848504695, "lat": 19.401245, "lon": -99.1471065, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 848504697, "lat": 19.3980505, "lon": -99.1459591}, {"type": "node", "id": 848504699, "lat": 19.4012352, "lon": -99.1469596}, {"type": "node", "id": 848504707, "lat": 19.4017649, "lon": -99.1461942}, {"type": "node", "id": 854429421, "lat": 19.3983224, "lon": -99.1522223}, {"type": "node", "id": 854429422, "lat": 19.3981969, "lon": -99.1522278}, {"type": "node", "id": 854429424, "lat": 19.3983211, "lon": -99.1520969}, {"type": "node", "id": 854429426, "lat": 19.3983411, "lon": -99.1535357}, {"type": "node", "id": 854429427, "lat": 19.3983435, "lon": -99.154311}, {"type": "node", "id": 854429428, "lat": 19.3983454, "lon": -99.1550438}, {"type": "node", "id": 856492432, "lat": 19.4021972, "lon": -99.1477305, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 856492434, "lat": 19.4021916, "lon": -99.1478536, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 873739429, "lat": 19.3999512, "lon": -99.1492932}, {"type": "node", "id": 873739455, "lat": 19.3964164, "lon": -99.1554072, "tags": {"noexit": "yes"}}, {"type": "node", "id": 874499049, "lat": 19.3958787, "lon": -99.1563228}, {"type": "node", "id": 898543797, "lat": 19.3951501, "lon": -99.1552676}, {"type": "node", "id": 898543804, "lat": 19.3942726, "lon": -99.1538449}, {"type": "node", "id": 898543810, "lat": 19.394677, "lon": -99.1546006}, {"type": "node", "id": 898543813, "lat": 19.3938365, "lon": -99.1538822}, {"type": "node", "id": 898543814, "lat": 19.3948225, "lon": -99.1545885}, {"type": "node", "id": 898543826, "lat": 19.3938102, "lon": -99.1534205}, {"type": "node", "id": 898543829, "lat": 19.3941254, "lon": -99.1538588}, {"type": "node", "id": 900987458, "lat": 19.3959824, "lon": -99.1560955, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 900996081, "lat": 19.3959323, "lon": -99.1552286}, {"type": "node", "id": 972127600, "lat": 19.3954125, "lon": -99.1482103, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 1420461033, "lat": 19.3925636, "lon": -99.151439}, {"type": "node", "id": 1482718860, "lat": 19.3981448, "lon": -99.1460082}, {"type": "node", "id": 1482718867, "lat": 19.3982464, "lon": -99.1458365}, {"type": "node", "id": 1654476613, "lat": 19.3949552, "lon": -99.1448128}, {"type": "node", "id": 1723075948, "lat": 19.3905172, "lon": -99.1522287}, {"type": "node", "id": 1964030271, "lat": 19.3981266, "lon": -99.1459714}, {"type": "node", "id": 1964030272, "lat": 19.3981966, "lon": -99.1523056}, {"type": "node", "id": 1964030273, "lat": 19.3982348, "lon": -99.1559205, "tags": {"crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 1964030276, "lat": 19.3982883, "lon": -99.1459564}, {"type": "node", "id": 1964030277, "lat": 19.3983293, "lon": -99.1528864}, {"type": "node", "id": 1964033386, "lat": 19.3888732, "lon": -99.1533579, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526382, "lat": 19.3958025, "lon": -99.1537144, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526387, "lat": 19.3957088, "lon": -99.1524218, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526389, "lat": 19.3956128, "lon": -99.1511109, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261526390, "lat": 19.3957557, "lon": -99.153062}, {"type": "node", "id": 2261526396, "lat": 19.3956626, "lon": -99.1517917}, {"type": "node", "id": 2261526397, "lat": 19.3958853, "lon": -99.1544958, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531864, "lat": 19.3955038, "lon": -99.1496236}, {"type": "node", "id": 2261531872, "lat": 19.3952957, "lon": -99.146717}, {"type": "node", "id": 2261531878, "lat": 19.3953466, "lon": -99.1475063}, {"type": "node", "id": 2261531882, "lat": 19.395553, "lon": -99.1502952}, {"type": "node", "id": 2261531886, "lat": 19.3956044, "lon": -99.1509968, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531892, "lat": 19.395265, "lon": -99.1460535, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261531895, "lat": 19.3954594, "lon": -99.1489617}, {"type": "node", "id": 2261533438, "lat": 19.3947346, "lon": -99.1423616, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 2261533440, "lat": 19.3948515, "lon": -99.1431692}, {"type": "node", "id": 2261533441, "lat": 19.3951752, "lon": -99.1454072}, {"type": "node", "id": 2261533443, "lat": 19.3950659, "lon": -99.1447947}, {"type": "node", "id": 2261533446, "lat": 19.3949802, "lon": -99.1440619, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3179076845, "lat": 19.3958578, "lon": -99.1559606, "tags": {"highway": "traffic_signals"}}, {"type": "node", "id": 3179076846, "lat": 19.395976, "lon": -99.1559473}, {"type": "node", "id": 3216626354, "lat": 19.3922418, "lon": -99.1516776}, {"type": "node", "id": 3216626355, "lat": 19.3921983, "lon": -99.150847}, {"type": "node", "id": 3443604569, "lat": 19.3856525, "lon": -99.1555771}, {"type": "node", "id": 3584373357, "lat": 19.3983474, "lon": -99.1557416, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373358, "lat": 19.3982292, "lon": -99.1557517, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 3584373359, "lat": 19.3964826, "lon": -99.1558802}, {"type": "node", "id": 3584373361, "lat": 19.3961861, "lon": -99.1557897}, {"type": "node", "id": 3584373363, "lat": 19.3960953, "lon": -99.1557397}, {"type": "node", "id": 3651186061, "lat": 19.4020423, "lon": -99.1457802}, {"type": "node", "id": 3805866556, "lat": 19.395717, "lon": -99.1395934}, {"type": "node", "id": 4070528818, "lat": 19.4008981, "lon": -99.1548483}, {"type": "node", "id": 5134866934, "lat": 19.386033, "lon": -99.1488782}, {"type": "node", "id": 5331687767, "lat": 19.3923185, "lon": -99.1423075}, {"type": "node", "id": 5475796539, "lat": 19.3899054, "lon": -99.1600857}, {"type": "node", "id": 5475796540, "lat": 19.3902645, "lon": -99.1617153}, {"type": "node", "id": 5475796541, "lat": 19.3897012, "lon": -99.1587313}, {"type": "node", "id": 5475796542, "lat": 19.3898104, "lon": -99.1594424}, {"type": "node", "id": 5475796543, "lat": 19.3895948, "lon": -99.1580379}, {"type": "node", "id": 5478588609, "lat": 19.394228, "lon": -99.1492747, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834661, "lat": 19.3954234, "lon": -99.1483369, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5478834663, "lat": 19.3954267, "lon": -99.1483832}, {"type": "node", "id": 5834951262, "lat": 19.3878934, "lon": -99.1480119}, {"type": "node", "id": 5834951263, "lat": 19.3897744, "lon": -99.1494012, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951264, "lat": 19.389786, "lon": -99.1495407, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951265, "lat": 19.3896346, "lon": -99.1494205, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 5834951266, "lat": 19.3905371, "lon": -99.1500223}, {"type": "node", "id": 5834951267, "lat": 19.3903668, "lon": -99.150033}, {"type": "node", "id": 5835088467, "lat": 19.3902144, "lon": -99.1525704}, {"type": "node", "id": 5838279606, "lat": 19.3955015, "lon": -99.1380283}, {"type": "node", "id": 5838279610, "lat": 19.3955897, "lon": -99.1386326}, {"type": "node", "id": 5891489520, "lat": 19.3971256, "lon": -99.143712}, {"type": "node", "id": 5891566675, "lat": 19.3871878, "lon": -99.1553476}, {"type": "node", "id": 6103699465, "lat": 19.3905046, "lon": -99.1438702}, {"type": "node", "id": 6103699467, "lat": 19.3924924, "lon": -99.1435426}, {"type": "node", "id": 6106729915, "lat": 19.3995761, "lon": -99.1549496}, {"type": "node", "id": 6106729916, "lat": 19.3995348, "lon": -99.1542214}, {"type": "node", "id": 6106908849, "lat": 19.3912212, "lon": -99.150577}, {"type": "node", "id": 6133056828, "lat": 19.3885308, "lon": -99.1479924}, {"type": "node", "id": 6133056834, "lat": 19.3941731, "lon": -99.1461973}, {"type": "node", "id": 6133056835, "lat": 19.39409, "lon": -99.1455775}, {"type": "node", "id": 6133181806, "lat": 19.3961563, "lon": -99.1556309}, {"type": "node", "id": 6133181807, "lat": 19.3960053, "lon": -99.1563666}, {"type": "node", "id": 6133181812, "lat": 19.3954096, "lon": -99.1561366}, {"type": "node", "id": 6133181813, "lat": 19.3955353, "lon": -99.1556712}, {"type": "node", "id": 6133181814, "lat": 19.3956238, "lon": -99.1557458}, {"type": "node", "id": 6133181817, "lat": 19.3959543, "lon": -99.1555722}, {"type": "node", "id": 6133225301, "lat": 19.3900407, "lon": -99.1607114}, {"type": "node", "id": 6133225305, "lat": 19.3900981, "lon": -99.1609581}, {"type": "node", "id": 6221659186, "lat": 19.402253, "lon": -99.1442819}, {"type": "node", "id": 6366450919, "lat": 19.3942226, "lon": -99.1494287, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 6459744104, "lat": 19.3923434, "lon": -99.1508805}, {"type": "node", "id": 7965846822, "lat": 19.3935714, "lon": -99.1500397}, {"type": "node", "id": 7965846823, "lat": 19.3934903, "lon": -99.1499556}, {"type": "node", "id": 7965846824, "lat": 19.3949426, "lon": -99.1487737}, {"type": "node", "id": 7965846825, "lat": 19.3948659, "lon": -99.1486744}, {"type": "node", "id": 7998736244, "lat": 19.3924163, "lon": -99.1509295}, {"type": "node", "id": 8050985786, "lat": 19.3917277, "lon": -99.150867}, {"type": "node", "id": 8050985788, "lat": 19.3913317, "lon": -99.1511345}, {"type": "node", "id": 8050985789, "lat": 19.3913412, "lon": -99.1514651}, {"type": "node", "id": 8050985790, "lat": 19.3916096, "lon": -99.1517264}, {"type": "node", "id": 8050985791, "lat": 19.3923342, "lon": -99.1516549}, {"type": "node", "id": 8050985792, "lat": 19.3924816, "lon": -99.151555}, {"type": "node", "id": 8050985793, "lat": 19.3925828, "lon": -99.1512807}, {"type": "node", "id": 8050985794, "lat": 19.3925461, "lon": -99.1511004}, {"type": "node", "id": 8050985795, "lat": 19.3922627, "lon": -99.1508543}, {"type": "node", "id": 8050985796, "lat": 19.3913753, "lon": -99.1515348}, {"type": "node", "id": 8050985797, "lat": 19.3921016, "lon": -99.1516958}, {"type": "node", "id": 8060276657, "lat": 19.3980912, "lon": -99.1459525}, {"type": "node", "id": 8060541754, "lat": 19.3942153, "lon": -99.1490877, "tags": {"access": "permissive", "barrier": "gate"}}, {"type": "node", "id": 8062995731, "lat": 19.39519, "lon": -99.1550737}, {"type": "node", "id": 8063024658, "lat": 19.3958098, "lon": -99.1510966}, {"type": "node", "id": 8063206401, "lat": 19.3949359, "lon": -99.15603}, {"type": "node", "id": 8063206404, "lat": 19.3939501, "lon": -99.1561122, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206405, "lat": 19.3921993, "lon": -99.1562484}, {"type": "node", "id": 8063206407, "lat": 19.390748, "lon": -99.1563649, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206408, "lat": 19.3893596, "lon": -99.1565471, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206410, "lat": 19.3875237, "lon": -99.1567939, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206411, "lat": 19.3851887, "lon": -99.1573503, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206412, "lat": 19.3828448, "lon": -99.1579462, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206413, "lat": 19.3811065, "lon": -99.1585053, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063206414, "lat": 19.3795912, "lon": -99.1589881, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063269395, "lat": 19.3976762, "lon": -99.146102}, {"type": "node", "id": 8063385589, "lat": 19.3709991, "lon": -99.161095, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063642806, "lat": 19.3906026, "lon": -99.1522975}, {"type": "node", "id": 8063706571, "lat": 19.3792786, "lon": -99.1590906, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8063762305, "lat": 19.3963897, "lon": -99.155867}, {"type": "node", "id": 8063762306, "lat": 19.3962862, "lon": -99.1558334}, {"type": "node", "id": 8064058818, "lat": 19.3907817, "lon": -99.1521897}, {"type": "node", "id": 8064058819, "lat": 19.3907331, "lon": -99.1520853}, {"type": "node", "id": 8066123488, "lat": 19.3742056, "lon": -99.1603264, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123489, "lat": 19.3765066, "lon": -99.1597758, "tags": {"highway": "traffic_signals", "traffic_signals": "signal"}}, {"type": "node", "id": 8066123490, "lat": 19.3782647, "lon": -99.1593562}, {"type": "node", "id": 8066123491, "lat": 19.3789826, "lon": -99.1591812}, {"type": "node", "id": 8190543262, "lat": 19.3855379, "lon": -99.1555951}, {"type": "node", "id": 8201925193, "lat": 19.3929778, "lon": -99.1472108}, {"type": "node", "id": 8201925194, "lat": 19.3936653, "lon": -99.1470033}, {"type": "node", "id": 8201925195, "lat": 19.3929315, "lon": -99.1470837}, {"type": "node", "id": 8201925198, "lat": 19.3936721, "lon": -99.1471208}, {"type": "node", "id": 8201968873, "lat": 19.393653, "lon": -99.1466117, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8202051093, "lat": 19.3936383, "lon": -99.1462623}, {"type": "node", "id": 8204799889, "lat": 19.3946137, "lon": -99.1487018, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8204799890, "lat": 19.3945562, "lon": -99.1477838}, {"type": "node", "id": 8204799891, "lat": 19.3946386, "lon": -99.1488914}, {"type": "node", "id": 8204803725, "lat": 19.3937271, "lon": -99.147868}, {"type": "node", "id": 8204803726, "lat": 19.3934757, "lon": -99.147881}, {"type": "node", "id": 8204803727, "lat": 19.393722, "lon": -99.1477395}, {"type": "node", "id": 8204803728, "lat": 19.3934648, "lon": -99.1476628}, {"type": "node", "id": 8204803729, "lat": 19.3934673, "lon": -99.1477477}, {"type": "node", "id": 8204803730, "lat": 19.3935173, "lon": -99.1479648}, {"type": "node", "id": 8204803731, "lat": 19.3937304, "lon": -99.147949}, {"type": "node", "id": 8205417221, "lat": 19.3935462, "lon": -99.153905}, {"type": "node", "id": 8205417222, "lat": 19.3935512, "lon": -99.1540578}, {"type": "node", "id": 8205417223, "lat": 19.3932694, "lon": -99.1541764}, {"type": "node", "id": 8205417225, "lat": 19.393299, "lon": -99.1540824}, {"type": "node", "id": 8205417228, "lat": 19.3936481, "lon": -99.1540933}, {"type": "node", "id": 8205417229, "lat": 19.3936521, "lon": -99.154192}, {"type": "node", "id": 8205417230, "lat": 19.3938515, "lon": -99.1542623}, {"type": "node", "id": 8233172138, "lat": 19.3924513, "lon": -99.1563705}, {"type": "node", "id": 8233207641, "lat": 19.3942323, "lon": -99.1562243}, {"type": "node", "id": 8233207642, "lat": 19.3942551, "lon": -99.156564}, {"type": "node", "id": 8233244551, "lat": 19.3893086, "lon": -99.1562317}, {"type": "node", "id": 8233649165, "lat": 19.390405, "lon": -99.162353}, {"type": "node", "id": 8239441656, "lat": 19.3781307, "lon": -99.1593869}, {"type": "node", "id": 8239441659, "lat": 19.3779585, "lon": -99.1594266}, {"type": "node", "id": 8289452767, "lat": 19.4020674, "lon": -99.1443119}, {"type": "node", "id": 8301847567, "lat": 19.399007, "lon": -99.1533372}, {"type": "node", "id": 8301847584, "lat": 19.399947, "lon": -99.1520915}, {"type": "node", "id": 8305044751, "lat": 19.3976831, "lon": -99.1508324}, {"type": "node", "id": 8305044752, "lat": 19.3976542, "lon": -99.1505555}, {"type": "node", "id": 8305044753, "lat": 19.3975543, "lon": -99.1505755}, {"type": "node", "id": 8305044754, "lat": 19.3975545, "lon": -99.1508402}, {"type": "node", "id": 8392232413, "lat": 19.3949714, "lon": -99.1449044}, {"type": "node", "id": 8392232414, "lat": 19.3951884, "lon": -99.1454985}, {"type": "node", "id": 8394166813, "lat": 19.3957446, "lon": -99.1546758}, {"type": "node", "id": 8397788793, "lat": 19.3850132, "lon": -99.1556789}, {"type": "node", "id": 8562091336, "lat": 19.3982082, "lon": -99.1457842}, {"type": "node", "id": 8562091338, "lat": 19.3976316, "lon": -99.1505497}, {"type": "node", "id": 8562091339, "lat": 19.3976776, "lon": -99.1505961}, {"type": "node", "id": 8562091340, "lat": 19.3975488, "lon": -99.1505995}, {"type": "node", "id": 8562091341, "lat": 19.3975703, "lon": -99.1505577}, {"type": "node", "id": 8562091342, "lat": 19.3975926, "lon": -99.1505507}, {"type": "node", "id": 8562091343, "lat": 19.397671, "lon": -99.1505725}, {"type": "node", "id": 8566204565, "lat": 19.3916523, "lon": -99.1517367}, {"type": "node", "id": 8566204566, "lat": 19.3915012, "lon": -99.1509099}, {"type": "node", "id": 8572473122, "lat": 19.3923993, "lon": -99.1506122}, {"type": "node", "id": 8572771484, "lat": 19.3817826, "lon": -99.1496093}, {"type": "node", "id": 8573018494, "lat": 19.3903758, "lon": -99.1522091}, {"type": "node", "id": 8573121030, "lat": 19.3932818, "lon": -99.154089}, {"type": "node", "id": 8573121031, "lat": 19.3932663, "lon": -99.1541227}, {"type": "node", "id": 8573121032, "lat": 19.3936425, "lon": -99.1540743}, {"type": "node", "id": 8573121033, "lat": 19.3936286, "lon": -99.154061}, {"type": "node", "id": 8573121034, "lat": 19.3936102, "lon": -99.1540568}, {"type": "node", "id": 8573121035, "lat": 19.3932753, "lon": -99.154195}, {"type": "node", "id": 8573121036, "lat": 19.3932892, "lon": -99.1542081}, {"type": "node", "id": 8573121037, "lat": 19.3933073, "lon": -99.1542121}, {"type": "node", "id": 8573121038, "lat": 19.3932698, "lon": -99.1541037}, {"type": "node", "id": 8573121039, "lat": 19.3951112, "lon": -99.1554851}, {"type": "node", "id": 8573121040, "lat": 19.3950955, "lon": -99.155473}, {"type": "node", "id": 8573121041, "lat": 19.3951305, "lon": -99.1554868}, {"type": "node", "id": 8573121042, "lat": 19.395042, "lon": -99.1554007}, {"type": "node", "id": 8573121043, "lat": 19.3951478, "lon": -99.1554777}, {"type": "node", "id": 8573121044, "lat": 19.3952538, "lon": -99.1553763}, {"type": "node", "id": 8573121045, "lat": 19.3949129, "lon": -99.1557245}, {"type": "node", "id": 8573121048, "lat": 19.3855906, "lon": -99.1555868}, {"type": "node", "id": 8573147888, "lat": 19.3939404, "lon": -99.1463306, "tags": {"barrier": "gate"}}, {"type": "node", "id": 8573147889, "lat": 19.3937843, "lon": -99.1467732}, {"type": "node", "id": 8573147890, "lat": 19.393999, "lon": -99.1467612}, {"type": "node", "id": 8573147891, "lat": 19.3939688, "lon": -99.1467821}, {"type": "node", "id": 8573147892, "lat": 19.3939773, "lon": -99.1466248}, {"type": "node", "id": 8573147893, "lat": 19.3939916, "lon": -99.1466379}, {"type": "node", "id": 8573147894, "lat": 19.3939977, "lon": -99.1466568}, {"type": "node", "id": 8573147895, "lat": 19.3937793, "lon": -99.1466537}, {"type": "node", "id": 8573147896, "lat": 19.3937914, "lon": -99.1466392}, {"type": "node", "id": 8573147897, "lat": 19.3938087, "lon": -99.1466329}, {"type": "node", "id": 8573147898, "lat": 19.3937982, "lon": -99.1467866}, {"type": "node", "id": 8573147899, "lat": 19.3939865, "lon": -99.146776}, {"type": "node", "id": 8573147900, "lat": 19.3937787, "lon": -99.1467543}, {"type": "node", "id": 8573147901, "lat": 19.3939587, "lon": -99.1466213}, {"type": "node", "id": 8573147902, "lat": 19.3937754, "lon": -99.1466726}, {"type": "node", "id": 8573147903, "lat": 19.3938165, "lon": -99.1467907}, {"type": "node", "id": 8573147904, "lat": 19.3940027, "lon": -99.1467417}, {"type": "node", "id": 8573147905, "lat": 19.3939514, "lon": -99.1466219}, {"type": "node", "id": 8573147906, "lat": 19.3939379, "lon": -99.1462259}, {"type": "node", "id": 8573147907, "lat": 19.3929593, "lon": -99.1472072}, {"type": "node", "id": 8573147908, "lat": 19.3929389, "lon": -99.1471754}, {"type": "node", "id": 8573147909, "lat": 19.3929351, "lon": -99.1470643}, {"type": "node", "id": 8573147910, "lat": 19.3929474, "lon": -99.1470494}, {"type": "node", "id": 8573147911, "lat": 19.392965, "lon": -99.1470431}, {"type": "node", "id": 8573147912, "lat": 19.3936683, "lon": -99.1471396}, {"type": "node", "id": 8573147913, "lat": 19.3936564, "lon": -99.1471541}, {"type": "node", "id": 8573147914, "lat": 19.3936393, "lon": -99.1471605}, {"type": "node", "id": 8573147915, "lat": 19.392945, "lon": -99.1471942}, {"type": "node", "id": 8573147916, "lat": 19.3936992, "lon": -99.1476513}, {"type": "node", "id": 8573196917, "lat": 19.3937191, "lon": -99.1476833}, {"type": "node", "id": 8573196918, "lat": 19.3937132, "lon": -99.1476645}, {"type": "node", "id": 8573196919, "lat": 19.393479, "lon": -99.1479295}, {"type": "node", "id": 8573196920, "lat": 19.393485, "lon": -99.1479481}, {"type": "node", "id": 8573196921, "lat": 19.3934991, "lon": -99.1479611}, {"type": "node", "id": 8635168498, "lat": 19.3909231, "lon": -99.1524576}, {"type": "node", "id": 8672427016, "lat": 19.3947485, "lon": -99.1424574}, {"type": "node", "id": 8722847590, "lat": 19.3995085, "lon": -99.1500428}, {"type": "node", "id": 8722847598, "lat": 19.4002614, "lon": -99.1487692}, {"type": "node", "id": 8722847607, "lat": 19.4008079, "lon": -99.1479485}, {"type": "node", "id": 8722847608, "lat": 19.3998968, "lon": -99.1493854, "tags": {"highway": "crossing"}}, {"type": "node", "id": 8722847609, "lat": 19.3998072, "lon": -99.1493804, "tags": {"highway": "crossing"}}, {"type": "node", "id": 8842659121, "lat": 19.3981031, "lon": -99.1456996, "tags": {"bicycle": "yes", "crossing": "traffic_signals", "highway": "traffic_signals"}}, {"type": "node", "id": 8842659125, "lat": 19.3981432, "lon": -99.1457284}, {"type": "node", "id": 10257844031, "lat": 19.4001844, "lon": -99.1488992}, {"type": "node", "id": 10257844035, "lat": 19.3992556, "lon": -99.150691}, {"type": "node", "id": 10580335229, "lat": 19.3890065, "lon": -99.1468565}, {"type": "node", "id": 10580335231, "lat": 19.3921854, "lon": -99.1464469}, {"type": "node", "id": 10580335234, "lat": 19.3948221, "lon": -99.1461121}, {"type": "node", "id": 10580335235, "lat": 19.3976377, "lon": -99.1457585}, {"type": "node", "id": 10591136834, "lat": 19.3981669, "lon": -99.1457454}, {"type": "node", "id": 11002633294, "lat": 19.3948304, "lon": -99.1435358}, {"type": "node", "id": 11002633297, "lat": 19.3948403, "lon": -99.1436485}, {"type": "node", "id": 11002633298, "lat": 19.3949025, "lon": -99.1440748}, {"type": "node", "id": 11002633299, "lat": 19.3950127, "lon": -99.1448034}, {"type": "node", "id": 11002633300, "lat": 19.3951032, "lon": -99.1454243}, {"type": "node", "id": 11002633301, "lat": 19.395193, "lon": -99.1460633}, {"type": "node", "id": 11002633302, "lat": 19.3952286, "lon": -99.1462051}, {"type": "node", "id": 11002633303, "lat": 19.3952899, "lon": -99.1471751}, {"type": "node", "id": 11002633304, "lat": 19.3952782, "lon": -99.1473817}, {"type": "node", "id": 11002639732, "lat": 19.3959214, "lon": -99.1560996}, {"type": "node", "id": 11002639733, "lat": 19.3959292, "lon": -99.1562213}, {"type": "node", "id": 11002639734, "lat": 19.3959702, "lon": -99.156856}, {"type": "node", "id": 11002639735, "lat": 19.3960164, "lon": -99.1575298}, {"type": "node", "id": 11002639736, "lat": 19.3960676, "lon": -99.1582064}, {"type": "node", "id": 11002639737, "lat": 19.3961127, "lon": -99.1589016}, {"type": "node", "id": 11002639738, "lat": 19.3961624, "lon": -99.1595747}, {"type": "node", "id": 11002639739, "lat": 19.3962155, "lon": -99.1602902}, {"type": "node", "id": 11002639740, "lat": 19.3962565, "lon": -99.1609381}, {"type": "node", "id": 11002639741, "lat": 19.3962665, "lon": -99.1610363}, {"type": "node", "id": 11002639742, "lat": 19.3962813, "lon": -99.1611485}, {"type": "node", "id": 11002639743, "lat": 19.3964196, "lon": -99.1617798}, {"type": "node", "id": 11002639744, "lat": 19.3967204, "lon": -99.1631499}, {"type": "node", "id": 11002645505, "lat": 19.3952457, "lon": -99.1471782}, {"type": "node", "id": 11002645506, "lat": 19.3951846, "lon": -99.1462082}, {"type": "node", "id": 11002645507, "lat": 19.3952849, "lon": -99.1475396}, {"type": "node", "id": 11002645508, "lat": 19.3953505, "lon": -99.1482564}, {"type": "node", "id": 11002645509, "lat": 19.3953593, "lon": -99.1483965}, {"type": "node", "id": 11002645510, "lat": 19.3954024, "lon": -99.1489657}, {"type": "node", "id": 11002645511, "lat": 19.3954468, "lon": -99.1496288}, {"type": "node", "id": 11002645512, "lat": 19.3954945, "lon": -99.1503001}, {"type": "node", "id": 11002645513, "lat": 19.3955473, "lon": -99.1510016}, {"type": "node", "id": 11002645514, "lat": 19.3955621, "lon": -99.1511165}, {"type": "node", "id": 11002645515, "lat": 19.395597, "lon": -99.1512143}, {"type": "node", "id": 11002645516, "lat": 19.3956601, "lon": -99.1520485}, {"type": "node", "id": 11002645517, "lat": 19.3956528, "lon": -99.1524253}, {"type": "node", "id": 11002645518, "lat": 19.3956136, "lon": -99.1520524}, {"type": "node", "id": 11002645519, "lat": 19.3955507, "lon": -99.1512183}, {"type": "node", "id": 11002645520, "lat": 19.3956904, "lon": -99.1530676}, {"type": "node", "id": 11002645521, "lat": 19.3957363, "lon": -99.1537212}, {"type": "node", "id": 11002645522, "lat": 19.3957814, "lon": -99.1542419}, {"type": "node", "id": 11002645523, "lat": 19.3958326, "lon": -99.1544998}, {"type": "node", "id": 11002645524, "lat": 19.3959069, "lon": -99.1555786}, {"type": "node", "id": 11002645525, "lat": 19.395915, "lon": -99.1560008}, {"type": "node", "id": 11002645526, "lat": 19.3958553, "lon": -99.1555843}, {"type": "node", "id": 11002645527, "lat": 19.3957752, "lon": -99.1545042}, {"type": "node", "id": 11090423028, "lat": 19.3907251, "lon": -99.1466443, "tags": {"highway": "stop"}}, {"type": "node", "id": 11132614438, "lat": 19.4019071, "lon": -99.1443385}, {"type": "node", "id": 11155081756, "lat": 19.3978681, "lon": -99.1558418}, {"type": "node", "id": 11155081757, "lat": 19.3977204, "lon": -99.1558901}, {"type": "node", "id": 11155081758, "lat": 19.3961499, "lon": -99.1560169}, {"type": "node", "id": 11155081759, "lat": 19.3959772, "lon": -99.1559953}, {"type": "node", "id": 11155081760, "lat": 19.3961487, "lon": -99.1559418}, {"type": "node", "id": 11155081761, "lat": 19.3977158, "lon": -99.1558151}, {"type": "node", "id": 11155081763, "lat": 19.3958594, "lon": -99.1560068}, {"type": "node", "id": 11155081764, "lat": 19.3953994, "lon": -99.1560466}, {"type": "node", "id": 11155081765, "lat": 19.393953, "lon": -99.1561648}, {"type": "node", "id": 11155081766, "lat": 19.3921236, "lon": -99.1563161}, {"type": "node", "id": 11155081767, "lat": 19.3920337, "lon": -99.1563498}, {"type": "node", "id": 11155081768, "lat": 19.3908506, "lon": -99.1564473}, {"type": "node", "id": 11155081769, "lat": 19.3907565, "lon": -99.1564264}, {"type": "node", "id": 11155081770, "lat": 19.3908439, "lon": -99.1563827}, {"type": "node", "id": 11155081771, "lat": 19.3920285, "lon": -99.1562871}, {"type": "node", "id": 11155081772, "lat": 19.389367, "lon": -99.1565989}, {"type": "node", "id": 11158042404, "lat": 19.3801502, "lon": -99.1588081}, {"type": "node", "id": 11158388379, "lat": 19.3790669, "lon": -99.159156}, {"type": "node", "id": 12125812998, "lat": 19.3889876, "lon": -99.1485241}, {"type": "node", "id": 12125887965, "lat": 19.3945458, "lon": -99.15532}, {"type": "node", "id": 12125887966, "lat": 19.3945663, "lon": -99.1556078}, {"type": "node", "id": 12126328026, "lat": 19.3851364, "lon": -99.1556592}, {"type": "node", "id": 12130238435, "lat": 19.3949881, "lon": -99.1467406}, {"type": "node", "id": 12130238436, "lat": 19.3949895, "lon": -99.1467366}, {"type": "node", "id": 12130238437, "lat": 19.3945477, "lon": -99.1467441}, {"type": "node", "id": 12130238438, "lat": 19.3949844, "lon": -99.1467427}, {"type": "node", "id": 12130238439, "lat": 19.3949843, "lon": -99.1466559}, {"type": "node", "id": 12130238440, "lat": 19.3949858, "lon": -99.1466527}, {"type": "node", "id": 12130238441, "lat": 19.394988, "lon": -99.146651}, {"type": "node", "id": 12130238442, "lat": 19.3950357, "lon": -99.1466481}, {"type": "node", "id": 12130238443, "lat": 19.3950471, "lon": -99.1466422}, {"type": "node", "id": 12130238444, "lat": 19.3950478, "lon": -99.1466316}, {"type": "node", "id": 12130238445, "lat": 19.3950344, "lon": -99.1463887}, {"type": "node", "id": 12130238446, "lat": 19.395013, "lon": -99.1463424}, {"type": "node", "id": 12130238447, "lat": 19.3949658, "lon": -99.1463273}, {"type": "node", "id": 12130238448, "lat": 19.3944465, "lon": -99.1463781}, {"type": "node", "id": 12130312333, "lat": 19.394442, "lon": -99.1463118, "tags": {"barrier": "gate"}}, {"type": "node", "id": 12130312334, "lat": 19.3944328, "lon": -99.1461632}, {"type": "node", "id": 12130312335, "lat": 19.3945186, "lon": -99.1474393}, {"type": "node", "id": 12507421945, "lat": 19.3769262, "lon": -99.1596749}, {"type": "node", "id": 12729378415, "lat": 19.3954879, "lon": -99.1534279}, {"type": "node", "id": 12729378416, "lat": 19.3954777, "lon": -99.1534533}, {"type": "node", "id": 12729378417, "lat": 19.3954882, "lon": -99.1536081}, {"type": "node", "id": 12729378418, "lat": 19.3954987, "lon": -99.1537412}, {"type": "node", "id": 12729378419, "lat": 19.3956403, "lon": -99.1533889}, {"type": "node", "id": 12729378420, "lat": 19.395534, "lon": -99.1534124}, {"type": "node", "id": 12729378421, "lat": 19.3955105, "lon": -99.1534511}, {"type": "node", "id": 12729378422, "lat": 19.3955224, "lon": -99.1536058}, {"type": "node", "id": 12729378423, "lat": 19.3955435, "lon": -99.1536511}, {"type": "node", "id": 12729378424, "lat": 19.3956624, "lon": -99.1536879}, {"type": "way", "id": 4758991, "nodes": [848504697, 268823948, 268823703, 268825077], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 4794216, "nodes": [8062995731, 898543797], "tags": {"highway": "tertiary", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720493, "nodes": [274839432, 274841133, 30789450, 30789469, 898543804, 898543814, 8062995731], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720670, "nodes": [268680344, 268684268, 848504693, 268684542, 268680393, 5891489520, 268680394], "tags": {"highway": "residential", "name": "Fernando", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720884, "nodes": [268682898, 5838279606, 5838279610, 268685699, 268682899, 3805866556, 268685410, 268682900, 268684935, 268682901, 268682902, 268684541, 848504693, 268684267, 268682761], "tags": {"highway": "residential", "name": "Calle Toledo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720958, "nodes": [268684168, 6221659186, 8289452767, 11132614438, 268684263, 268684264, 268684265, 268684266, 268684267, 268684268, 2261533441], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24720966, "nodes": [275730003, 275730011, 275729255, 275730024, 275729078, 268684547, 1654476613], "tags": {"highway": "residential", "name": "Calle Galicia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734574, "nodes": [8842659121, 8842659125, 10591136834, 8562091336, 1482718867, 268824239, 1964030276, 268824329, 268824330, 268825079, 268825211, 274841034, 274840760, 274839859, 30339689], "tags": {"destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera;Diagonal San Antonio", "highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 24734709, "nodes": [972127600, 268825077, 268825078, 268825079], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206860, "nodes": [274839429, 274839444, 8566204565, 8050985790, 274839443, 274839442, 8050985796, 8050985789, 274839441, 274839440, 8050985788, 274839439, 274839438, 8566204566, 274839437, 8050985786, 274840988, 3216626355, 8050985795, 6459744104, 268823990, 7998736244, 274839435, 8050985794, 274839434, 8050985793, 274839433, 1420461033, 274839432, 8050985792, 274839431, 8050985791, 3216626354, 8050985797, 274839429], "tags": {"highway": "secondary", "junction": "roundabout", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 25206905, "nodes": [274839883, 274839861, 11002645512, 2261531882, 274839860, 274839859], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206953, "nodes": [274840760, 274840761, 2261531864, 11002645511, 274840762, 274840763], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206975, "nodes": [274839441, 274840984], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206978, "nodes": [274840988, 274840989], "tags": {"alt_name": "Manuel C. Rej\u00f3n", "highway": "residential", "name": "Calle Tepozteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206979, "nodes": [30789451, 274839429], "tags": {"alt_name": "Calle Tepozteco", "highway": "residential", "name": "Calle Tepoxteco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206983, "nodes": [274841036, 274841037], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206992, "nodes": [274840033, 274841112, 274841106, 8301847567, 274841105], "tags": {"highway": "residential", "name": "Calle Icacos", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25206993, "nodes": [274841111, 274841112], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 25274428, "nodes": [275357285, 275358447, 275358138, 275357286], "tags": {"highway": "residential", "name": "Cerrada Juan de Oca", "surface": "asphalt"}}, {"type": "way", "id": 25274690, "nodes": [275358040, 8233649165, 5475796540, 6133225305, 6133225301, 5475796539, 5475796542, 275364636, 5475796541, 5475796543, 30789558, 30341113, 11155081772, 8063206408, 8233244551, 275358042, 275358043, 275358044, 275358045], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25274701, "nodes": [275358138, 275358139, 275357288], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275239, "nodes": [6366450919, 5478588609], "tags": {"highway": "service", "surface": "asphalt"}}, {"type": "way", "id": 25275242, "nodes": [275358446, 8204803728, 275361954, 8573147916, 8573196918, 8573196917, 8204803727, 8204803725, 8204803731, 275361955], "tags": {"highway": "service"}}, {"type": "way", "id": 25275263, "nodes": [898543826, 898543813, 8205417230, 30789533, 30789543, 8063206404, 11155081765, 30341117, 30789560, 30789613, 30789625, 275364638, 275363145], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle Pedro Romero de Terreros", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25275363, "nodes": [3179076846, 3584373363, 6133181806, 274839253, 274839250, 274839251, 274839252, 274839249, 268825766, 274839254, 274840032], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25292318, "nodes": [274839443, 8064058818, 8063642806, 31180769], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 25312283, "nodes": [275729015, 275729078, 275730359, 275729079, 275730379, 275729080], "tags": {"highway": "residential", "name": "Calle Uni\u00f3n Postal", "surface": "asphalt"}}, {"type": "way", "id": 25312317, "nodes": [30340979, 268684271, 275730024, 275730360, 275730025, 275730380, 6103699465], "tags": {"highway": "residential", "name": "Calle Estafetas", "surface": "asphalt"}}, {"type": "way", "id": 73832854, "nodes": [274839257, 268824912, 1964030277], "tags": {"highway": "residential", "name": "Calle Taj\u00edn"}}, {"type": "way", "id": 80012731, "nodes": [30340980, 275357288, 275358446, 30789030, 30789005, 30789031, 8572473122, 6459744104], "tags": {"destination:street": "Doctor V\u00e9rtiz", "highway": "tertiary", "lanes": "2", "name": "Calle Cumbres de Acultzingo", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 80012733, "nodes": [275728758, 275730595, 275730552, 275728946, 5331687767, 275728947, 275730385, 6103699467, 275730363, 274840766, 275730358, 268684547, 268684270, 30340980], "tags": {"highway": "tertiary", "lanes": "4", "name": "Calle Correspondencia", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 185738297, "nodes": [2261526396, 274841131, 274841130], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes"}}, {"type": "way", "id": 216794743, "nodes": [30594104, 274839137, 4070528818, 30789547, 6106729915, 854429428, 30789546, 274839258, 274839253], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 216796439, "nodes": [274841134, 274841133, 274841132], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 332481598, "nodes": [3584373363, 3584373361, 8063762306, 8063762305, 3584373359], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 545569483, "nodes": [30340978, 11090423028, 30340979, 10580335231], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 569390368, "nodes": [3584373359, 3584373358], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 569391062, "nodes": [3584373358, 30789546, 30789537, 30789521, 268824912, 1964030272, 854429422, 268825766, 274841131, 274840030], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407339, "nodes": [274840032, 268825767], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407342, "nodes": [274840033, 854429424, 30789448, 1964030272, 274839257, 274839256, 274839255, 274839258], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407344, "nodes": [30339690, 10257844035, 30339691], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407348, "nodes": [274840030, 8063024658], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407349, "nodes": [274840032, 274840031], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407350, "nodes": [274840031, 274841130, 274839254, 854429424, 854429421, 1964030277, 854429426, 854429427, 854429428, 3584373357], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407353, "nodes": [268824891, 30339689], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407356, "nodes": [2261526389, 11002645514, 274840029], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407359, "nodes": [30339687, 11002645513, 2261531886], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407362, "nodes": [2261531886, 8305044754, 8305044751, 268824891], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407364, "nodes": [30339677, 274839440], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407365, "nodes": [274840984, 274840983], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407366, "nodes": [31180769, 5835088467, 31180767, 30789467, 30789515, 30789531, 30789541, 8063206407, 11155081769, 31180761, 30789559, 30789612, 30789624, 275364637, 275364497, 31180746], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407368, "nodes": [274840983, 274840982], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407369, "nodes": [30339676, 30339677], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569407373, "nodes": [30339675, 30339676], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569716829, "nodes": [8397788793, 12126328026, 8190543262, 8573121048, 3443604569, 5891566675, 30759096, 275358043, 30789531, 30789533], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720831, "nodes": [268680221, 275358046], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720842, "nodes": [1964033386, 30789464], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720849, "nodes": [275358046, 30789454, 30789438, 274840983], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720852, "nodes": [268680222, 30789443], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 569720854, "nodes": [268680222, 268680223], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720862, "nodes": [268680223, 1723075948, 8064058819, 274839442], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569720869, "nodes": [31180769, 30789443], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735721, "nodes": [268824117, 2261531878], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735723, "nodes": [268823703, 268824117], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569735727, "nodes": [274840764, 5478588609], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 569750645, "nodes": [5478834661, 972127600], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750649, "nodes": [268824115, 30340606, 30340605], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750654, "nodes": [972127600, 2261531878, 2261531872, 2261531892], "tags": {"alt_name": "Eje 4 Sur; Eje Vial 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750659, "nodes": [30385379, 268824115], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 569750665, "nodes": [268825079, 274838892, 268825768, 268825438, 268825912, 268825080, 856492432], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 570573279, "nodes": [274841036, 11002645510, 2261531895, 274841035, 274841034], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "asphalt"}}, {"type": "way", "id": 617169963, "nodes": [2261533441, 2261533443, 2261533446, 2261533440, 8672427016, 2261533438], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 617177547, "nodes": [30788901, 275512786, 275512762, 30340093, 30341040, 30341028, 8572771484, 30758688, 30594502, 30758812, 30340918, 30789024, 5134866934, 30789025, 30789026, 268679231], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177555, "nodes": [30594516, 30789037, 30789038, 31180765, 268679153], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617177557, "nodes": [5834951267, 31180763, 30789034, 474733239, 30789036, 30340916, 30341031, 30341032, 30341027, 30341033, 30340092], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237566, "nodes": [30385369, 30340912, 30759099, 30789438], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237569, "nodes": [30789510, 12729378418, 898543804, 898543829, 898543813, 8205417221, 30789515, 275358044, 30789525], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617237573, "nodes": [30385368, 30758971, 30759098, 30789454, 268680222], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 617241630, "nodes": [30789438, 30789439, 8573018494, 1723075948], "tags": {"highway": "residential", "name": "Calle Palenque", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617241637, "nodes": [30759101, 30789008, 5834951265, 5834951263, 30789005], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle La Quemada", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617252023, "nodes": [274839263, 6133181812, 8233207641, 30341117, 8233172138, 31180761, 30341113, 30759078], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 617281184, "nodes": [275358045, 30789467, 268678873, 30789469, 30789463], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281186, "nodes": [3179076845, 6133181814, 6133181813, 8573121044, 898543797, 898543810, 898543829, 898543826, 268678873, 268678874, 274841134, 274839431], "tags": {"highway": "secondary", "lanes": "2", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281187, "nodes": [30789543, 30789541, 275358042, 30759095, 30759104, 30759103], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617281191, "nodes": [2261526397, 274839250, 274839255, 30789537, 854429427, 6106729916, 30789538, 274839138], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510809, "nodes": [274839139, 30789522, 274841105, 854429426], "tags": {"highway": "residential", "lanes": "3", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510824, "nodes": [2261531872, 268824118, 268823948, 268824895, 268824329], "tags": {"highway": "residential", "name": "Calle Casas Grandes", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617510830, "nodes": [856492434, 268825166, 268825911, 8722847607, 268825439, 268825210, 274838893, 268825211], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 617513716, "nodes": [268825211, 268825212, 5478834663], "tags": {"highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617513717, "nodes": [268824891, 274839860, 274840761, 274841035, 268825212, 268825078, 268824893, 268824895, 1482718860, 1964030271, 8060276657, 848504697], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617523305, "nodes": [274839438, 268679153, 5834951267, 5834951264, 5834951265], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 617628977, "nodes": [268684269, 6133056835, 268684270, 275729015, 268684271], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201785, "nodes": [5834951266, 5834951267], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "surface": "asphalt"}}, {"type": "way", "id": 651201786, "nodes": [30789031, 274840989, 5834951266], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 651201787, "nodes": [268679153, 6106908849], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 654523414, "nodes": [6133056835, 6133056834], "tags": {"highway": "residential", "name": "Calle Tarragona", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523420, "nodes": [274840763, 7965846822, 274839883, 274839435], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654523421, "nodes": [7998736244, 274839882, 7965846823, 274840764], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 654529957, "nodes": [2261531886, 2261531882, 2261531864, 2261531895], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 664690025, "nodes": [3651186061, 848504707, 848504686, 848504695, 268825438, 268825439, 8722847598, 10257844031, 873739429, 8722847608, 8722847590, 30339690, 274840033], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 664690026, "nodes": [268825767, 274839832, 8722847609, 274840754, 274838894, 274840993, 268825210, 268825768, 848504679, 848504699, 268825769, 848504666], "tags": {"highway": "tertiary", "lanes": "2", "name": "Avenida Diagonal San Antonio", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 684805557, "nodes": [30789443, 31180767, 30789451, 268678874, 30789450, 30789442], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 684805566, "nodes": [30789464, 275358045], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 745179443, "nodes": [275358446, 31180738, 275358447, 6133056828, 275358048, 5834951262], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 785188324, "nodes": [274839258, 873739455], "tags": {"highway": "residential", "name": "Avenida Diagonal San Antonio"}}, {"type": "way", "id": 832342388, "nodes": [854429421, 274841106, 8301847584, 30789447], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 832377171, "nodes": [30789027, 30789028, 30789030], "tags": {"bicycle": "yes", "highway": "residential", "name": "Calle Zempoala", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150770, "nodes": [5478834661, 11002645509, 30385379], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150771, "nodes": [2261531895, 5478834663, 5478834661], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 854150772, "nodes": [972127600, 268824117, 268824118, 8063269395], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150773, "nodes": [268825077, 5478834661], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150774, "nodes": [30385379, 7965846824, 274841037, 6366450919], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854150775, "nodes": [268824115, 11002645508, 972127600], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156345, "nodes": [7965846822, 7965846823], "tags": {"highway": "secondary_link", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 854156346, "nodes": [7965846824, 7965846825], "tags": {"highway": "secondary_link", "lanes": "1", "surface": "asphalt"}}, {"type": "way", "id": 854156347, "nodes": [5478588609, 8204799891, 7965846825, 268824115], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854156348, "nodes": [5478588609, 8060541754], "tags": {"highway": "service", "surface": "concrete"}}, {"type": "way", "id": 854156349, "nodes": [6366450919, 274840763], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 854210244, "nodes": [1964030273, 900987458], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 864212809, "nodes": [275358048, 30789027, 5834951263, 5834951266, 6106908849, 274839437], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864212812, "nodes": [5834951265, 268679231, 275358047], "tags": {"highway": "secondary", "lanes": "3", "name": "Calle Cumbres de Maltrata", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290391, "nodes": [30339676, 30789038, 30789034, 30789008, 30789026, 275358047], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290392, "nodes": [274840983, 30339676], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290393, "nodes": [30339677, 274840984], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864290394, "nodes": [30340978, 275358139, 31180738, 30789028, 5834951263, 5834951264, 31180763, 31180765, 30339677], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711796, "nodes": [30789443, 1964033386], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711797, "nodes": [275358046, 268680222], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Universidad", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711798, "nodes": [1964033386, 275358046], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711799, "nodes": [275358045, 1964033386], "tags": {"highway": "residential", "name": "Calle Torres Adalid", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711800, "nodes": [268680223, 31180769], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864711801, "nodes": [274840984, 30789439, 268680223], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "name": "Calle Luz Savi\u00f1\u00f3n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864763479, "nodes": [274840035, 274840033], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864813907, "nodes": [8060541754, 275361924], "tags": {"access": "private", "highway": "service", "surface": "concrete"}}, {"type": "way", "id": 864813908, "nodes": [873739429, 274840754, 274840760], "tags": {"highway": "residential", "name": "Calle Mitla", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 864813912, "nodes": [274841034, 274841033, 274840993], "tags": {"highway": "residential", "name": "La Quemada", "oneway": "yes", "source:geometry": "Esri World Geometry", "surface": "concrete"}}, {"type": "way", "id": 864813913, "nodes": [274838891, 268824330, 268824893], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 864815588, "nodes": [274840030, 268824891], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815589, "nodes": [274840031, 274840030], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815590, "nodes": [30339689, 268825767], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815591, "nodes": [30339689, 274840031], "tags": {"highway": "tertiary", "lanes": "2", "name": "Calle La Morena", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815592, "nodes": [2261526389, 2261531886], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815593, "nodes": [2261526396, 2261526389], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815594, "nodes": [268825767, 30339690], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815595, "nodes": [274840033, 274840032], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815596, "nodes": [274840029, 274839433], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815597, "nodes": [274839434, 30339687], "tags": {"highway": "secondary", "lanes": "2", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 864815598, "nodes": [30339687, 274839861, 274840762, 274841036, 30385379], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 864815599, "nodes": [274840029, 30339687], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 865046081, "nodes": [854429426, 30789521], "tags": {"highway": "residential", "lanes": "2", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865046082, "nodes": [30789521, 274839256, 274839251, 2261526382], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865053901, "nodes": [8062995731, 268679006], "tags": {"highway": "residential", "lanes": "2", "name": "Calle Cumbres de Maltrata", "surface": "asphalt"}}, {"type": "way", "id": 865053902, "nodes": [30595076, 268679006], "tags": {"highway": "footway", "name": "Calle Y\u00e1catas"}}, {"type": "way", "id": 865060276, "nodes": [8063024658, 2261526389], "tags": {"highway": "secondary", "lanes": "3", "name": "Avenida Doctor Jos\u00e9 Mar\u00eda V\u00e9rtiz", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865080631, "nodes": [3179076845, 8063206401, 8063206404, 8063206405, 8063206407, 8063206408, 8063206410, 8063206411, 8063206412, 8063206413, 11158042404, 8063206414, 8063706571, 11158388379, 8066123491, 8066123490, 8239441656, 8239441659, 12507421945, 8066123489, 8066123488, 8063385589], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 865126662, "nodes": [1723075948, 8063642806], "tags": {"highway": "residential", "name": "Calle Palenque", "surface": "asphalt"}}, {"type": "way", "id": 865171904, "nodes": [268824893, 268823703], "tags": {"highway": "residential", "name": "Calle Doctor Jos\u00e9 Mar\u00eda Barrag\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 865176281, "nodes": [8064058819, 8064058818], "tags": {"highway": "service", "lanes": "2", "surface": "asphalt"}}, {"type": "way", "id": 881951123, "nodes": [8202051093, 8201968873, 8201925194], "tags": {"highway": "service"}}, {"type": "way", "id": 881951124, "nodes": [8201925194, 8201925198, 8573147912, 8573147913, 8573147914, 8201925193, 8573147907, 8573147915, 8573147908, 8201925195, 8573147909, 8573147910, 8573147911, 8201925194], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 882266475, "nodes": [8204803726, 8204803725], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266476, "nodes": [8204803729, 8204803727], "tags": {"highway": "service", "service": "parking_aisle"}}, {"type": "way", "id": 882266477, "nodes": [8204803731, 8204803730, 8573196921, 8573196920, 8573196919, 8204803726, 8204803729, 8204803728], "tags": {"highway": "service"}}, {"type": "way", "id": 882267474, "nodes": [8204799891, 8204799889, 8204799890], "tags": {"highway": "service"}}, {"type": "way", "id": 882328087, "nodes": [8205417222, 8205417221], "tags": {"highway": "service"}}, {"type": "way", "id": 882328088, "nodes": [8205417230, 8205417229], "tags": {"highway": "service"}}, {"type": "way", "id": 882328089, "nodes": [8205417229, 8205417228, 8573121032, 8573121033, 8573121034, 8205417222, 8205417225, 8573121030, 8573121038, 8573121031, 8205417223, 8573121035, 8573121036, 8573121037, 8205417229], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 885389948, "nodes": [8233207642, 8233207641], "tags": {"highway": "service"}}, {"type": "way", "id": 893593434, "nodes": [8305044754, 8562091340, 8305044753, 8562091341, 8562091342, 8562091338, 8305044752, 8562091343, 8562091339, 8305044751], "tags": {"highway": "service"}}, {"type": "way", "id": 894216983, "nodes": [274839859, 274839832], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 897520552, "nodes": [898543797, 12125887965, 30789543], "tags": {"highway": "residential", "name": "Calle Y\u00e1catas", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903590432, "nodes": [2261531892, 268680344, 268682761, 10580335235], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:street": "Obrero Mundial", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 903593202, "nodes": [30340605, 268684269, 8392232413], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "maxspeed": "50", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593203, "nodes": [8392232414, 2261533441], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903593204, "nodes": [2261533441, 11002633300, 268684269], "tags": {"highway": "residential", "name": "Calle Navarra", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903593205, "nodes": [2261531892, 8392232414], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825407, "nodes": [30789529, 11002645527, 11002645523, 2261526397], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825408, "nodes": [30789533, 898543810, 898543814, 30789529], "tags": {"bicycle": "yes", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "residential", "maxspeed": "40", "name": "Calle Uxmal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903825409, "nodes": [8394166813, 30789529], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903825410, "nodes": [30789442, 274841132, 274840029], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830564, "nodes": [30789442, 11002645517, 2261526387], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830565, "nodes": [2261526387, 274839249, 854429422, 30789448, 854429421], "tags": {"highway": "residential", "name": "Calle Pet\u00e9n", "surface": "asphalt"}}, {"type": "way", "id": 903830566, "nodes": [30789463, 30789442], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830567, "nodes": [2261526390, 274839252], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830568, "nodes": [30789463, 11002645520, 2261526390], "tags": {"highway": "residential", "name": "Calle Taj\u00edn", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830569, "nodes": [30789510, 12729378424, 12729378419, 30789463], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830570, "nodes": [30789529, 30789510], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830571, "nodes": [2261526382, 11002645521, 30789510], "tags": {"highway": "residential", "maxspeed": "40", "name": "Calle Xochicalco", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 903830572, "nodes": [2261526382, 2261526390], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830573, "nodes": [2261526397, 2261526382], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830965, "nodes": [2261526387, 2261526396], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903830966, "nodes": [2261526390, 2261526387], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838679, "nodes": [3179076845, 30595076, 8394166813], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838680, "nodes": [274839263, 11155081763, 3179076845], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838681, "nodes": [900987458, 11002639732, 274839263], "tags": {"alt_name": "Eje Vial 1 Poniente;Eje 1 Poniente", "highway": "primary", "lanes": "3", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "ref": "EJE 1 PTE", "surface": "asphalt"}}, {"type": "way", "id": 903838682, "nodes": [900987458, 11155081759, 3179076846, 6133181817, 900996081, 2261526397], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903838683, "nodes": [6133181807, 900987458], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "highway": "primary", "lanes": "1", "name": "Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 903848452, "nodes": [30789557, 874499049, 274839263], "tags": {"alt_name": "Eje Vial 4 Sur;Eje 4 Sur", "bicycle": "designated", "cycleway:left": "no", "cycleway:right": "shared_lane", "cycleway:right:lane": "pictogram", "highway": "primary", "lanes": "2", "name": "Xola", "old_ref": "Boulevard Xola", "oneway": "yes", "ref": "EJE 4 SUR", "surface": "asphalt"}}, {"type": "way", "id": 923560967, "nodes": [8573121044, 8573121043, 8573121041, 8573121039, 8573121040, 8573121042], "tags": {"highway": "service"}}, {"type": "way", "id": 923560968, "nodes": [8063206401, 8573121045], "tags": {"highway": "service"}}, {"type": "way", "id": 923568859, "nodes": [8573147904, 8573147890, 8573147899, 8573147891, 8573147903, 8573147898, 8573147889, 8573147900, 8573147902, 8573147895, 8573147896, 8573147897, 8573147905, 8573147901, 8573147892, 8573147893, 8573147894, 8573147904], "tags": {"highway": "service"}}, {"type": "way", "id": 923568860, "nodes": [8573147906, 8573147888, 8573147905], "tags": {"highway": "service"}}, {"type": "way", "id": 931388348, "nodes": [8635168498, 8064058818], "tags": {"highway": "service"}}, {"type": "way", "id": 991363398, "nodes": [900987458, 11002639733, 874499049], "tags": {"highway": "tertiary", "oneway": "yes"}}, {"type": "way", "id": 1134989470, "nodes": [10580335229, 30340978], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989471, "nodes": [30340980, 8202051093, 8573147906, 6133056834, 12130312334, 10580335234], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1134989472, "nodes": [10580335231, 30340980], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989473, "nodes": [10580335234, 30340605], "tags": {"access:lanes:backward": "no", "access:lanes:forward": "yes|yes|yes|yes|no", "alt_name": "Ni\u00f1o Perdido;Eje Central L\u00e1zaro C\u00e1rdenas;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "destination:ref": "EJE 2 PTE", "destination:street": "Gabriel Mancera", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "maxspeed": "50", "motorcycle:lanes:backward": "no", "motorcycle:lanes:forward": "yes|yes|yes|yes|no", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "parking:both:restriction": "no_parking", "ref": "EJE CENTRAL", "sidewalk": "both", "surface": "asphalt", "trolley_wire": "yes", "turn:lanes:forward": "through|through|through|through|"}}, {"type": "way", "id": 1134989474, "nodes": [30340605, 11002633301, 2261531892], "tags": {"alt_name": "Ni\u00f1o Perdido;Eje Central", "bus:lanes:backward": "designated", "bus:lanes:forward": "||||designated", "cycleway:left": "opposite_share_busway", "cycleway:right": "share_busway", "highway": "primary", "lanes": "6", "lanes:backward": "1", "lanes:bus:backward": "1", "lanes:bus:forward": "1", "lanes:forward": "5", "lit": "yes", "name": "Avenida L\u00e1zaro C\u00e1rdenas", "oneway": "yes", "parking:both": "no", "ref": "EJE CENTRAL", "surface": "asphalt", "trolley_wire": "yes"}}, {"type": "way", "id": 1163653161, "nodes": [274839882, 274839883], "tags": {"highway": "residential", "name": "Calle Monte Alb\u00e1n", "surface": "asphalt"}}, {"type": "way", "id": 1175125086, "nodes": [275729251, 275730540, 275729252, 275730548, 275729253, 275730382, 275729254, 275730361, 275729255, 30340978], "tags": {"cycleway:left": "no", "cycleway:right": "lane", "highway": "residential", "lanes": "2", "name": "Calle Ahorro Postal", "oneway": "yes", "surface": "asphalt"}}, {"type": "way", "id": 1184576961, "nodes": [11002633294, 11002633297, 11002633298, 11002633299, 11002633300, 11002633301], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576962, "nodes": [11002633301, 11002633302, 11002633303, 11002633304], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576963, "nodes": [11002633304, 11002645505, 11002645506, 11002633301], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576964, "nodes": [11002633304, 11002645507, 11002645508, 11002645509, 11002645510, 11002645511, 11002645512, 11002645513, 11002645514], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576965, "nodes": [11002645514, 11002645515, 11002645516, 11002645517], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576966, "nodes": [11002645517, 11002645518, 11002645519, 11002645514], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576967, "nodes": [11002645517, 11002645520, 11002645521, 11002645522], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1184576968, "nodes": [11002645522, 11002645523, 11002645524, 11002645525], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184576969, "nodes": [11002645525, 11002645526, 11002645527, 11002645522], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1184577927, "nodes": [11002645525, 11002639732, 11002639733, 11002639734, 11002639735, 11002639736, 11002639737, 11002639738, 11002639739, 11002639740, 11002639741, 11002639742, 11002639743, 11002639744], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377387, "nodes": [11155081756, 11155081757, 11155081758, 11155081759], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377388, "nodes": [11155081759, 11155081760, 11155081761, 11155081756], "tags": {"highway": "busway", "lanes": "1", "name": "Avenida Cuauht\u00e9moc", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377389, "nodes": [11155081759, 11002645525, 11155081763, 11155081764, 11155081765, 11155081766], "tags": {"highway": "busway", "lanes": "2", "surface": "concrete"}}, {"type": "way", "id": 1203377390, "nodes": [11155081766, 11155081767, 11155081768, 11155081769], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1203377391, "nodes": [11155081769, 11155081770, 11155081771, 11155081766], "tags": {"highway": "busway", "lanes": "1", "oneway": "yes", "surface": "concrete"}}, {"type": "way", "id": 1309519507, "nodes": [12125812998, 275357285], "tags": {"highway": "residential"}}, {"type": "way", "id": 1309531474, "nodes": [12125887966, 12125887965], "tags": {"highway": "service"}}, {"type": "way", "id": 1310331388, "nodes": [12130312335, 12130238448, 12130312333, 12130312334], "tags": {"highway": "service"}}, {"type": "way", "id": 1310350522, "nodes": [12130238448, 12130238447, 12130238446, 12130238445, 12130238444, 12130238443, 12130238442, 12130238441, 12130238440, 12130238439, 12130238436, 12130238435, 12130238438, 12130238437], "tags": {"highway": "service"}}, {"type": "way", "id": 1374805848, "nodes": [12729378417, 12729378416], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805849, "nodes": [12729378418, 12729378417], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805850, "nodes": [12729378416, 12729378415, 12729378420], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805851, "nodes": [12729378422, 12729378421], "tags": {"covered": "yes", "highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805852, "nodes": [12729378424, 12729378423, 12729378422], "tags": {"highway": "service", "oneway": "yes"}}, {"type": "way", "id": 1374805853, "nodes": [12729378421, 12729378420, 12729378419], "tags": {"highway": "service", "oneway": "yes"}}]} \ No newline at end of file diff --git a/cache/ffe1b5931e226b8067153bc000229fc0651d402e.json b/cache/ffe1b5931e226b8067153bc000229fc0651d402e.json new file mode 100644 index 0000000..9b9efe4 --- /dev/null +++ b/cache/ffe1b5931e226b8067153bc000229fc0651d402e.json @@ -0,0 +1 @@ +{"version": 0.6, "generator": "Overpass API 0.7.62.5 1bd436f1", "osm3s": {"timestamp_osm_base": "2025-05-12T07:18:56Z", "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."}, "elements": [{"type": "node", "id": 1385760548, "lat": 19.4314405, "lon": -99.1597649}, {"type": "node", "id": 1702714777, "lat": 19.4360238, "lon": -99.1544888}, {"type": "node", "id": 1702714780, "lat": 19.4360467, "lon": -99.1547877}, {"type": "node", "id": 1702714796, "lat": 19.4363111, "lon": -99.1544633}, {"type": "node", "id": 1702714804, "lat": 19.4363546, "lon": -99.1547423}, {"type": "node", "id": 2261278324, "lat": 19.4331772, "lon": -99.1585541}, {"type": "node", "id": 2261278328, "lat": 19.4332004, "lon": -99.1586137}, {"type": "node", "id": 2261278337, "lat": 19.4326052, "lon": -99.158874}, {"type": "node", "id": 2261278342, "lat": 19.4325821, "lon": -99.1588146}, {"type": "node", "id": 2261278348, "lat": 19.4358433, "lon": -99.1574484}, {"type": "node", "id": 2261278359, "lat": 19.4362607, "lon": -99.1572612}, {"type": "node", "id": 2266049960, "lat": 19.4298344, "lon": -99.1589144}, {"type": "node", "id": 2266051736, "lat": 19.4313874, "lon": -99.159642}, {"type": "node", "id": 2266051740, "lat": 19.4317277, "lon": -99.1596255}, {"type": "node", "id": 2266051758, "lat": 19.4316746, "lon": -99.1595026}, {"type": "node", "id": 2267426357, "lat": 19.429839, "lon": -99.1603536}, {"type": "node", "id": 2267426358, "lat": 19.4298968, "lon": -99.1604192}, {"type": "node", "id": 2267488254, "lat": 19.4338479, "lon": -99.1548021}, {"type": "node", "id": 2267488256, "lat": 19.4340318, "lon": -99.153617}, {"type": "node", "id": 2267488258, "lat": 19.4342081, "lon": -99.1539651}, {"type": "node", "id": 2267488259, "lat": 19.4335486, "lon": -99.1544061}, {"type": "node", "id": 2267488261, "lat": 19.4320232, "lon": -99.1543117}, {"type": "node", "id": 2267488263, "lat": 19.4336471, "lon": -99.1548342}, {"type": "node", "id": 2267488265, "lat": 19.4334758, "lon": -99.1551789}, {"type": "node", "id": 2267488267, "lat": 19.4334233, "lon": -99.1552256}, {"type": "node", "id": 2267488269, "lat": 19.4341578, "lon": -99.1535968}, {"type": "node", "id": 2267488272, "lat": 19.4338049, "lon": -99.1544688}, {"type": "node", "id": 2267488274, "lat": 19.4339013, "lon": -99.1554783}, {"type": "node", "id": 2267488276, "lat": 19.4325352, "lon": -99.155173}, {"type": "node", "id": 2267488277, "lat": 19.4325106, "lon": -99.1545332}, {"type": "node", "id": 2267488279, "lat": 19.43371, "lon": -99.1540605}, {"type": "node", "id": 2267488283, "lat": 19.4321685, "lon": -99.1549954}, {"type": "node", "id": 2267488285, "lat": 19.4336078, "lon": -99.1544983}, {"type": "node", "id": 2267488287, "lat": 19.4338906, "lon": -99.1539044}, {"type": "node", "id": 2267488292, "lat": 19.4339044, "lon": -99.1540111}, {"type": "node", "id": 2267488294, "lat": 19.4320833, "lon": -99.1542955}, {"type": "node", "id": 2267488296, "lat": 19.4339298, "lon": -99.1554161}, {"type": "node", "id": 2267488298, "lat": 19.4320508, "lon": -99.1546616}, {"type": "node", "id": 2267488299, "lat": 19.433588, "lon": -99.1544264}, {"type": "node", "id": 2267496897, "lat": 19.4334346, "lon": -99.1564758}, {"type": "node", "id": 2267496900, "lat": 19.4328493, "lon": -99.1576905}, {"type": "node", "id": 2267496906, "lat": 19.4324499, "lon": -99.1570917}, {"type": "node", "id": 2267496912, "lat": 19.433329, "lon": -99.1566993}, {"type": "node", "id": 2267496918, "lat": 19.432823, "lon": -99.1574333}, {"type": "node", "id": 2267496920, "lat": 19.4327588, "lon": -99.1561252}, {"type": "node", "id": 2267496929, "lat": 19.4322516, "lon": -99.1580698}, {"type": "node", "id": 3183266169, "lat": 19.4280089, "lon": -99.1611864}, {"type": "node", "id": 3183266173, "lat": 19.4280465, "lon": -99.1612269}, {"type": "node", "id": 3183266177, "lat": 19.4281058, "lon": -99.1613247}, {"type": "node", "id": 3183266178, "lat": 19.4281291, "lon": -99.1613809}, {"type": "node", "id": 3183266184, "lat": 19.4281779, "lon": -99.1613604}, {"type": "node", "id": 3183266188, "lat": 19.4283546, "lon": -99.1612811}, {"type": "node", "id": 3183266189, "lat": 19.4283536, "lon": -99.1612829}, {"type": "node", "id": 3183266190, "lat": 19.42844, "lon": -99.1609773}, {"type": "node", "id": 3183266191, "lat": 19.4284238, "lon": -99.1615517}, {"type": "node", "id": 3183266198, "lat": 19.4284788, "lon": -99.1616031}, {"type": "node", "id": 3183266206, "lat": 19.4289392, "lon": -99.1618394}, {"type": "node", "id": 3183266207, "lat": 19.42902, "lon": -99.1618543}, {"type": "node", "id": 3183266209, "lat": 19.4289967, "lon": -99.1616161}, {"type": "node", "id": 3183266210, "lat": 19.4289995, "lon": -99.1616176}, {"type": "node", "id": 3183266213, "lat": 19.4291018, "lon": -99.161842}, {"type": "node", "id": 3183266216, "lat": 19.4291766, "lon": -99.1618069}, {"type": "node", "id": 3183266217, "lat": 19.4291239, "lon": -99.1613401}, {"type": "node", "id": 3183266218, "lat": 19.4291278, "lon": -99.1613401}, {"type": "node", "id": 3183266219, "lat": 19.4292425, "lon": -99.1617476}, {"type": "node", "id": 3183266220, "lat": 19.4292438, "lon": -99.1617451}, {"type": "node", "id": 3183266221, "lat": 19.4293724, "lon": -99.1614672}, {"type": "node", "id": 3198813773, "lat": 19.4302794, "lon": -99.1617315}, {"type": "node", "id": 3198813775, "lat": 19.4303489, "lon": -99.1615855}, {"type": "node", "id": 3198813778, "lat": 19.4304309, "lon": -99.1615343}, {"type": "node", "id": 3198813779, "lat": 19.4305362, "lon": -99.161869}, {"type": "node", "id": 3198813780, "lat": 19.4304866, "lon": -99.1616592}, {"type": "node", "id": 3198813781, "lat": 19.4305025, "lon": -99.1616258}, {"type": "node", "id": 3198813783, "lat": 19.4305396, "lon": -99.1615913}, {"type": "node", "id": 3198813784, "lat": 19.4305548, "lon": -99.1612687}, {"type": "node", "id": 3198813785, "lat": 19.4306216, "lon": -99.1616896}, {"type": "node", "id": 3198813786, "lat": 19.4306635, "lon": -99.1613257}, {"type": "node", "id": 3198813787, "lat": 19.4307541, "lon": -99.1607041}, {"type": "node", "id": 3198813790, "lat": 19.430885, "lon": -99.1604362}, {"type": "node", "id": 3198813792, "lat": 19.4308766, "lon": -99.1611417}, {"type": "node", "id": 3198813794, "lat": 19.4309626, "lon": -99.1611864}, {"type": "node", "id": 3198813796, "lat": 19.4310549, "lon": -99.1608694}, {"type": "node", "id": 3198813797, "lat": 19.4310578, "lon": -99.1609805}, {"type": "node", "id": 3198813798, "lat": 19.4311858, "lon": -99.1606014}, {"type": "node", "id": 3198813799, "lat": 19.4312136, "lon": -99.1598335}, {"type": "node", "id": 3198813800, "lat": 19.4312535, "lon": -99.1597478}, {"type": "node", "id": 3198813801, "lat": 19.4315457, "lon": -99.1600075}, {"type": "node", "id": 3198813802, "lat": 19.4315857, "lon": -99.1599218}, {"type": "node", "id": 3198838818, "lat": 19.4320337, "lon": -99.1581292}, {"type": "node", "id": 3198838819, "lat": 19.4320989, "lon": -99.1582622}, {"type": "node", "id": 3198838822, "lat": 19.432118, "lon": -99.1574715}, {"type": "node", "id": 3198838823, "lat": 19.4321272, "lon": -99.1583399}, {"type": "node", "id": 3198838826, "lat": 19.4321433, "lon": -99.1574292}, {"type": "node", "id": 3198838828, "lat": 19.4321834, "lon": -99.157404}, {"type": "node", "id": 3198838833, "lat": 19.4322451, "lon": -99.1573918}, {"type": "node", "id": 3198838837, "lat": 19.4322944, "lon": -99.157122}, {"type": "node", "id": 3198838839, "lat": 19.4322965, "lon": -99.1573966}, {"type": "node", "id": 3198838846, "lat": 19.432386, "lon": -99.1571156}, {"type": "node", "id": 3198838855, "lat": 19.4324442, "lon": -99.1580822}, {"type": "node", "id": 3198838859, "lat": 19.4325207, "lon": -99.1571198}, {"type": "node", "id": 3198838862, "lat": 19.4325423, "lon": -99.1580772}, {"type": "node", "id": 3198838865, "lat": 19.4325552, "lon": -99.1571458}, {"type": "node", "id": 3198838866, "lat": 19.4325333, "lon": -99.1580975}, {"type": "node", "id": 3198838871, "lat": 19.4326908, "lon": -99.158049}, {"type": "node", "id": 3198838872, "lat": 19.4326592, "lon": -99.1572062}, {"type": "node", "id": 3198838876, "lat": 19.4326647, "lon": -99.1580359}, {"type": "node", "id": 3198838877, "lat": 19.432746, "lon": -99.1579311}, {"type": "node", "id": 3198838878, "lat": 19.4327298, "lon": -99.1572727}, {"type": "node", "id": 3198838879, "lat": 19.4327671, "lon": -99.1578847}, {"type": "node", "id": 3198838880, "lat": 19.4327926, "lon": -99.1573604}, {"type": "node", "id": 3198838881, "lat": 19.4328256, "lon": -99.1577795}, {"type": "node", "id": 3198838884, "lat": 19.432848, "lon": -99.1575227}, {"type": "node", "id": 3198838885, "lat": 19.4328565, "lon": -99.1576085}, {"type": "node", "id": 3198940282, "lat": 19.4324559, "lon": -99.1567803}, {"type": "node", "id": 3198940283, "lat": 19.4324782, "lon": -99.1568912}, {"type": "node", "id": 3198940284, "lat": 19.4325738, "lon": -99.1565262}, {"type": "node", "id": 3198940285, "lat": 19.4325836, "lon": -99.1567477}, {"type": "node", "id": 3198940287, "lat": 19.4326149, "lon": -99.1568455}, {"type": "node", "id": 3198940288, "lat": 19.4326552, "lon": -99.1563497}, {"type": "node", "id": 3198940289, "lat": 19.4326346, "lon": -99.1566345}, {"type": "node", "id": 3198940290, "lat": 19.4327229, "lon": -99.1569002}, {"type": "node", "id": 3198940292, "lat": 19.4328002, "lon": -99.1570559}, {"type": "node", "id": 3198940293, "lat": 19.4328039, "lon": -99.1567204}, {"type": "node", "id": 3198940294, "lat": 19.4328108, "lon": -99.1569393}, {"type": "node", "id": 3198940295, "lat": 19.4328276, "lon": -99.1559762}, {"type": "node", "id": 3198940296, "lat": 19.4328455, "lon": -99.1569565}, {"type": "node", "id": 3198940297, "lat": 19.4328559, "lon": -99.1568371}, {"type": "node", "id": 3198940298, "lat": 19.4328917, "lon": -99.1568549}, {"type": "node", "id": 3198940299, "lat": 19.4329511, "lon": -99.156722}, {"type": "node", "id": 3198940300, "lat": 19.4329277, "lon": -99.1557591}, {"type": "node", "id": 3198940303, "lat": 19.4330271, "lon": -99.1555437}, {"type": "node", "id": 3198940304, "lat": 19.4330326, "lon": -99.1565455}, {"type": "node", "id": 3198940306, "lat": 19.4330592, "lon": -99.1554753}, {"type": "node", "id": 3198940307, "lat": 19.4330925, "lon": -99.1562983}, {"type": "node", "id": 3198940308, "lat": 19.4331261, "lon": -99.1553906}, {"type": "node", "id": 3198940309, "lat": 19.4331551, "lon": -99.1556101}, {"type": "node", "id": 3198940311, "lat": 19.4331613, "lon": -99.1561493}, {"type": "node", "id": 3198940312, "lat": 19.4332081, "lon": -99.1555028}, {"type": "node", "id": 3198940313, "lat": 19.4331686, "lon": -99.1561334}, {"type": "node", "id": 3198940314, "lat": 19.4331761, "lon": -99.1553546}, {"type": "node", "id": 3198940315, "lat": 19.4332325, "lon": -99.1559173}, {"type": "node", "id": 3198940316, "lat": 19.4332528, "lon": -99.1554752}, {"type": "node", "id": 3198940317, "lat": 19.4335122, "lon": -99.1563117}, {"type": "node", "id": 3198940319, "lat": 19.4332666, "lon": -99.1553253}, {"type": "node", "id": 3198940321, "lat": 19.4333549, "lon": -99.1557137}, {"type": "node", "id": 3198940322, "lat": 19.4333741, "lon": -99.1554343}, {"type": "node", "id": 3198940323, "lat": 19.4333418, "lon": -99.1552961}, {"type": "node", "id": 3198940327, "lat": 19.4333777, "lon": -99.155268}, {"type": "node", "id": 3198940328, "lat": 19.4334976, "lon": -99.1552689}, {"type": "node", "id": 3198940341, "lat": 19.4337546, "lon": -99.1540829}, {"type": "node", "id": 3198972727, "lat": 19.4300881, "lon": -99.1591596}, {"type": "node", "id": 3198972728, "lat": 19.4300418, "lon": -99.158764}, {"type": "node", "id": 3198972729, "lat": 19.4300111, "lon": -99.1587206}, {"type": "node", "id": 3198972730, "lat": 19.4303955, "lon": -99.1583882}, {"type": "node", "id": 3198972731, "lat": 19.4303968, "lon": -99.1593157}, {"type": "node", "id": 3198972732, "lat": 19.4304302, "lon": -99.1589399}, {"type": "node", "id": 3198972733, "lat": 19.4305061, "lon": -99.1590909}, {"type": "node", "id": 3198972735, "lat": 19.4305604, "lon": -99.1586619}, {"type": "node", "id": 3198972747, "lat": 19.4312688, "lon": -99.1570667}, {"type": "node", "id": 3198972748, "lat": 19.4312746, "lon": -99.1573952}, {"type": "node", "id": 3198972749, "lat": 19.4312646, "lon": -99.157276}, {"type": "node", "id": 3198972750, "lat": 19.4313181, "lon": -99.1568824}, {"type": "node", "id": 3198972751, "lat": 19.4313572, "lon": -99.1577202}, {"type": "node", "id": 3198972754, "lat": 19.4313751, "lon": -99.1567234}, {"type": "node", "id": 3198972755, "lat": 19.4314492, "lon": -99.1571553}, {"type": "node", "id": 3198972756, "lat": 19.4314417, "lon": -99.1565365}, {"type": "node", "id": 3198972758, "lat": 19.4315267, "lon": -99.1574067}, {"type": "node", "id": 3198972760, "lat": 19.4315241, "lon": -99.1569895}, {"type": "node", "id": 3198972765, "lat": 19.4314991, "lon": -99.1563659}, {"type": "node", "id": 3198972767, "lat": 19.4317463, "lon": -99.1569338}, {"type": "node", "id": 3198972771, "lat": 19.4318371, "lon": -99.1567383}, {"type": "node", "id": 3198972774, "lat": 19.4316178, "lon": -99.1560146}, {"type": "node", "id": 3198972775, "lat": 19.4319101, "lon": -99.156578}, {"type": "node", "id": 3198972776, "lat": 19.4320674, "lon": -99.1562446}, {"type": "node", "id": 3750570266, "lat": 19.4326035, "lon": -99.1596685}, {"type": "node", "id": 3750570267, "lat": 19.4325041, "lon": -99.1594368}, {"type": "node", "id": 3750570268, "lat": 19.4326495, "lon": -99.1590353}, {"type": "node", "id": 3750570269, "lat": 19.4328042, "lon": -99.1589707}, {"type": "node", "id": 3750570270, "lat": 19.4329415, "lon": -99.1592879}, {"type": "node", "id": 3750570271, "lat": 19.4327984, "lon": -99.1593584}, {"type": "node", "id": 3750570272, "lat": 19.4328346, "lon": -99.1594485}, {"type": "node", "id": 3750570273, "lat": 19.4326949, "lon": -99.1595108}, {"type": "node", "id": 3750570274, "lat": 19.4327392, "lon": -99.1596022}, {"type": "node", "id": 3772750984, "lat": 19.4358211, "lon": -99.1573929}, {"type": "node", "id": 3772750989, "lat": 19.4362386, "lon": -99.1572058}, {"type": "node", "id": 3981367457, "lat": 19.4344319, "lon": -99.1578196}, {"type": "node", "id": 3981367458, "lat": 19.4347507, "lon": -99.1576796}, {"type": "node", "id": 3981375160, "lat": 19.4342739, "lon": -99.1566992}, {"type": "node", "id": 3981375161, "lat": 19.4343299, "lon": -99.1570928}, {"type": "node", "id": 3981375165, "lat": 19.4345178, "lon": -99.1574078}, {"type": "node", "id": 3981375167, "lat": 19.4343771, "lon": -99.1574301}, {"type": "node", "id": 4070643446, "lat": 19.4305652, "lon": -99.1570373}, {"type": "node", "id": 4070643447, "lat": 19.4302241, "lon": -99.1583178}, {"type": "node", "id": 4070643448, "lat": 19.430114, "lon": -99.1579095}, {"type": "node", "id": 4070643449, "lat": 19.4296518, "lon": -99.1580491}, {"type": "node", "id": 4070643450, "lat": 19.4297622, "lon": -99.1584581}, {"type": "node", "id": 4070643451, "lat": 19.4299878, "lon": -99.1588701}, {"type": "node", "id": 4070643452, "lat": 19.4299869, "lon": -99.1584495}, {"type": "node", "id": 4070643453, "lat": 19.4297276, "lon": -99.1585284}, {"type": "node", "id": 4518452936, "lat": 19.4295178, "lon": -99.1569442}, {"type": "node", "id": 4518452937, "lat": 19.4294745, "lon": -99.156789}, {"type": "node", "id": 4518452938, "lat": 19.4292782, "lon": -99.1569361}, {"type": "node", "id": 4518452939, "lat": 19.4292988, "lon": -99.1570094}, {"type": "node", "id": 4540671228, "lat": 19.4290643, "lon": -99.1599822}, {"type": "node", "id": 4540671230, "lat": 19.4291901, "lon": -99.15993}, {"type": "node", "id": 4540671231, "lat": 19.4291953, "lon": -99.1603307}, {"type": "node", "id": 4540671232, "lat": 19.4293198, "lon": -99.160275}, {"type": "node", "id": 4727902542, "lat": 19.4339103, "lon": -99.1612898}, {"type": "node", "id": 4727902543, "lat": 19.4338075, "lon": -99.1608972}, {"type": "node", "id": 4727902544, "lat": 19.4336769, "lon": -99.1609357}, {"type": "node", "id": 4727902545, "lat": 19.4337797, "lon": -99.1613283}, {"type": "node", "id": 4727902546, "lat": 19.4340968, "lon": -99.1612478}, {"type": "node", "id": 4727902547, "lat": 19.43399, "lon": -99.160847}, {"type": "node", "id": 4727902548, "lat": 19.4338161, "lon": -99.160899}, {"type": "node", "id": 4727902549, "lat": 19.4339228, "lon": -99.1612999}, {"type": "node", "id": 4727902561, "lat": 19.4331402, "lon": -99.160796}, {"type": "node", "id": 4727902562, "lat": 19.4330097, "lon": -99.160511}, {"type": "node", "id": 4727902563, "lat": 19.4334166, "lon": -99.1603123}, {"type": "node", "id": 4727902564, "lat": 19.4335656, "lon": -99.1606787}, {"type": "node", "id": 4727902565, "lat": 19.4334735, "lon": -99.1602801}, {"type": "node", "id": 4727902566, "lat": 19.433624, "lon": -99.1606661}, {"type": "node", "id": 4727902567, "lat": 19.4339743, "lon": -99.1605535}, {"type": "node", "id": 4727902568, "lat": 19.4338218, "lon": -99.1606108}, {"type": "node", "id": 4727902569, "lat": 19.4336739, "lon": -99.1601675}, {"type": "node", "id": 4727902570, "lat": 19.4338264, "lon": -99.1601103}, {"type": "node", "id": 5117893189, "lat": 19.4342401, "lon": -99.1542051}, {"type": "node", "id": 5117893194, "lat": 19.4342124, "lon": -99.1542098}, {"type": "node", "id": 5117893195, "lat": 19.4342073, "lon": -99.1541754}, {"type": "node", "id": 5117893200, "lat": 19.4339717, "lon": -99.1544239}, {"type": "node", "id": 5117893201, "lat": 19.4339845, "lon": -99.154433}, {"type": "node", "id": 5117893202, "lat": 19.434265, "lon": -99.1543882}, {"type": "node", "id": 5117893680, "lat": 19.4346206, "lon": -99.1535229}, {"type": "node", "id": 5117893685, "lat": 19.4346833, "lon": -99.1539387}, {"type": "node", "id": 5117893686, "lat": 19.4347438, "lon": -99.1539284}, {"type": "node", "id": 5117893687, "lat": 19.4350143, "lon": -99.1538823}, {"type": "node", "id": 5117893689, "lat": 19.435032, "lon": -99.1539975}, {"type": "node", "id": 5117893691, "lat": 19.4347947, "lon": -99.1543035}, {"type": "node", "id": 5117893692, "lat": 19.4350715, "lon": -99.1542593}, {"type": "node", "id": 5117893701, "lat": 19.4352879, "lon": -99.1538365}, {"type": "node", "id": 5117893704, "lat": 19.4353454, "lon": -99.1542155}, {"type": "node", "id": 5118138703, "lat": 19.4326515, "lon": -99.1586081}, {"type": "node", "id": 5118138704, "lat": 19.4327876, "lon": -99.1583304}, {"type": "node", "id": 5118138706, "lat": 19.4329494, "lon": -99.1584795}, {"type": "node", "id": 5118142072, "lat": 19.4310643, "lon": -99.1603666}, {"type": "node", "id": 5118142073, "lat": 19.4309461, "lon": -99.1603004}, {"type": "node", "id": 5118142074, "lat": 19.4310074, "lon": -99.1601772}, {"type": "node", "id": 5118142075, "lat": 19.4310945, "lon": -99.160226}, {"type": "node", "id": 5118142076, "lat": 19.431085, "lon": -99.1602451}, {"type": "node", "id": 5118142077, "lat": 19.4311161, "lon": -99.1602626}, {"type": "node", "id": 5118142265, "lat": 19.4309545, "lon": -99.1583925}, {"type": "node", "id": 5118142269, "lat": 19.4309085, "lon": -99.1578912}, {"type": "node", "id": 5118142270, "lat": 19.4309541, "lon": -99.1579808}, {"type": "node", "id": 5118142273, "lat": 19.431166, "lon": -99.1578313}, {"type": "node", "id": 5118142274, "lat": 19.431171, "lon": -99.1579481}, {"type": "node", "id": 5118142275, "lat": 19.4311675, "lon": -99.1580109}, {"type": "node", "id": 5118142277, "lat": 19.4311378, "lon": -99.1581321}, {"type": "node", "id": 5118142278, "lat": 19.431117, "lon": -99.1581825}, {"type": "node", "id": 5118142280, "lat": 19.4310901, "lon": -99.1582383}, {"type": "node", "id": 5118142282, "lat": 19.4310553, "lon": -99.1582939}, {"type": "node", "id": 5118142283, "lat": 19.4310234, "lon": -99.1583319}, {"type": "node", "id": 5118142284, "lat": 19.4309867, "lon": -99.1583679}, {"type": "node", "id": 5118208278, "lat": 19.4361766, "lon": -99.1598862}, {"type": "node", "id": 5118208279, "lat": 19.4361327, "lon": -99.1597672}, {"type": "node", "id": 5118208280, "lat": 19.4362719, "lon": -99.1597094}, {"type": "node", "id": 5118208281, "lat": 19.4363158, "lon": -99.1598284}, {"type": "node", "id": 5118208282, "lat": 19.4361752, "lon": -99.1599095}, {"type": "node", "id": 5118208283, "lat": 19.4361213, "lon": -99.1597754}, {"type": "node", "id": 5118208284, "lat": 19.4360579, "lon": -99.1598041}, {"type": "node", "id": 5118208285, "lat": 19.4361118, "lon": -99.1599382}, {"type": "node", "id": 5118229304, "lat": 19.4293791, "lon": -99.1542522}, {"type": "node", "id": 5118231490, "lat": 19.4305004, "lon": -99.1584417}, {"type": "node", "id": 5118231491, "lat": 19.4304479, "lon": -99.1582491}, {"type": "node", "id": 5118231492, "lat": 19.4301505, "lon": -99.1584015}, {"type": "node", "id": 5118231493, "lat": 19.4302799, "lon": -99.1584677}, {"type": "node", "id": 5118234857, "lat": 19.4364737, "lon": -99.1575701}, {"type": "node", "id": 5118234858, "lat": 19.4364055, "lon": -99.1574056}, {"type": "node", "id": 5118234859, "lat": 19.436173, "lon": -99.1575141}, {"type": "node", "id": 5118234860, "lat": 19.4362411, "lon": -99.1576785}, {"type": "node", "id": 5118619057, "lat": 19.4311002, "lon": -99.1558742}, {"type": "node", "id": 5118619059, "lat": 19.4311419, "lon": -99.155874}, {"type": "node", "id": 5118619060, "lat": 19.4312248, "lon": -99.1558498}, {"type": "node", "id": 5118619061, "lat": 19.4311651, "lon": -99.1556197}, {"type": "node", "id": 5118619062, "lat": 19.4310435, "lon": -99.1556564}, {"type": "node", "id": 5118619089, "lat": 19.4318345, "lon": -99.1548828}, {"type": "node", "id": 5118619091, "lat": 19.4315288, "lon": -99.1547706}, {"type": "node", "id": 5118619092, "lat": 19.4314838, "lon": -99.1548072}, {"type": "node", "id": 5118619093, "lat": 19.4314501, "lon": -99.1548079}, {"type": "node", "id": 5118619094, "lat": 19.4314315, "lon": -99.154815}, {"type": "node", "id": 5118619095, "lat": 19.4314065, "lon": -99.1548356}, {"type": "node", "id": 5118619096, "lat": 19.4313959, "lon": -99.1548544}, {"type": "node", "id": 5118619097, "lat": 19.4313893, "lon": -99.1549076}, {"type": "node", "id": 5118619098, "lat": 19.431412, "lon": -99.1549548}, {"type": "node", "id": 5118619099, "lat": 19.4314269, "lon": -99.1549668}, {"type": "node", "id": 5118619100, "lat": 19.4314152, "lon": -99.1549974}, {"type": "node", "id": 5118619101, "lat": 19.4314551, "lon": -99.1550133}, {"type": "node", "id": 5118619102, "lat": 19.4314369, "lon": -99.1550709}, {"type": "node", "id": 5118619104, "lat": 19.4316978, "lon": -99.155295}, {"type": "node", "id": 5118619157, "lat": 19.4311735, "lon": -99.1569109}, {"type": "node", "id": 5118619158, "lat": 19.4312944, "lon": -99.1565658}, {"type": "node", "id": 5118619159, "lat": 19.4312703, "lon": -99.156538}, {"type": "node", "id": 5118619160, "lat": 19.4310553, "lon": -99.1566053}, {"type": "node", "id": 5118619161, "lat": 19.4311411, "lon": -99.1569202}, {"type": "node", "id": 5118619184, "lat": 19.432003, "lon": -99.154914}, {"type": "node", "id": 5120144480, "lat": 19.433595, "lon": -99.1581993}, {"type": "node", "id": 5120144481, "lat": 19.4335717, "lon": -99.1581423}, {"type": "node", "id": 5120144485, "lat": 19.4337415, "lon": -99.1577645}, {"type": "node", "id": 5120144486, "lat": 19.4339812, "lon": -99.1578902}, {"type": "node", "id": 5120144487, "lat": 19.4339104, "lon": -99.1580612}, {"type": "node", "id": 5120144502, "lat": 19.4335363, "lon": -99.1580913}, {"type": "node", "id": 5120144505, "lat": 19.433356, "lon": -99.1579989}, {"type": "node", "id": 5120144506, "lat": 19.4331811, "lon": -99.1583824}, {"type": "node", "id": 5120144512, "lat": 19.4329753, "lon": -99.1584224}, {"type": "node", "id": 5120144515, "lat": 19.4329744, "lon": -99.1579258}, {"type": "node", "id": 5120144517, "lat": 19.4329339, "lon": -99.1580135}, {"type": "node", "id": 5120144518, "lat": 19.4329886, "lon": -99.1580418}, {"type": "node", "id": 5120144519, "lat": 19.433029, "lon": -99.1579539}, {"type": "node", "id": 5120144520, "lat": 19.4329719, "lon": -99.1580783}, {"type": "node", "id": 5120145821, "lat": 19.432917, "lon": -99.1580501}, {"type": "node", "id": 5120145822, "lat": 19.4328624, "lon": -99.1581684}, {"type": "node", "id": 5120145823, "lat": 19.4329177, "lon": -99.1581969}, {"type": "node", "id": 5120145824, "lat": 19.4336096, "lon": -99.157483}, {"type": "node", "id": 5120145832, "lat": 19.4337118, "lon": -99.157534}, {"type": "node", "id": 5120145833, "lat": 19.4338798, "lon": -99.1571609}, {"type": "node", "id": 5120145834, "lat": 19.4337775, "lon": -99.1571077}, {"type": "node", "id": 5120145835, "lat": 19.4337841, "lon": -99.1575706}, {"type": "node", "id": 5120145836, "lat": 19.4339519, "lon": -99.1571979}, {"type": "node", "id": 5120145839, "lat": 19.4341894, "lon": -99.1577727}, {"type": "node", "id": 5120145840, "lat": 19.4342465, "lon": -99.1577152}, {"type": "node", "id": 5120145841, "lat": 19.4342266, "lon": -99.1575685}, {"type": "node", "id": 5120145842, "lat": 19.4341374, "lon": -99.1575669}, {"type": "node", "id": 5120145843, "lat": 19.4341511, "lon": -99.1575404}, {"type": "node", "id": 5120145844, "lat": 19.4338682, "lon": -99.1573837}, {"type": "node", "id": 5120145845, "lat": 19.4342101, "lon": -99.1574475}, {"type": "node", "id": 5120145846, "lat": 19.4341936, "lon": -99.1573259}, {"type": "node", "id": 5120145847, "lat": 19.4341077, "lon": -99.1572781}, {"type": "node", "id": 5120145848, "lat": 19.4341749, "lon": -99.1574525}, {"type": "node", "id": 5120145856, "lat": 19.4341614, "lon": -99.1570947}, {"type": "node", "id": 5120145857, "lat": 19.4338229, "lon": -99.1570062}, {"type": "node", "id": 5120145859, "lat": 19.433998, "lon": -99.1570988}, {"type": "node", "id": 5120145860, "lat": 19.4340318, "lon": -99.1570096}, {"type": "node", "id": 5120145861, "lat": 19.4338607, "lon": -99.1569217}, {"type": "node", "id": 5120145862, "lat": 19.4338703, "lon": -99.1570305}, {"type": "node", "id": 5120145863, "lat": 19.4338862, "lon": -99.1569932}, {"type": "node", "id": 5120145864, "lat": 19.4339156, "lon": -99.1570073}, {"type": "node", "id": 5120145865, "lat": 19.4338993, "lon": -99.1570458}, {"type": "node", "id": 5120145867, "lat": 19.4335174, "lon": -99.1567438}, {"type": "node", "id": 5120145868, "lat": 19.4336002, "lon": -99.1565641}, {"type": "node", "id": 5120145869, "lat": 19.4339415, "lon": -99.156741}, {"type": "node", "id": 5120145890, "lat": 19.4340612, "lon": -99.1563538}, {"type": "node", "id": 5120145891, "lat": 19.4339711, "lon": -99.1563097}, {"type": "node", "id": 5120145892, "lat": 19.4339345, "lon": -99.1563973}, {"type": "node", "id": 5120145894, "lat": 19.4337657, "lon": -99.1562069}, {"type": "node", "id": 5120145895, "lat": 19.4338348, "lon": -99.1560575}, {"type": "node", "id": 5120145896, "lat": 19.4340346, "lon": -99.1561578}, {"type": "node", "id": 5120145897, "lat": 19.4340009, "lon": -99.1559104}, {"type": "node", "id": 5120145898, "lat": 19.4338943, "lon": -99.1559288}, {"type": "node", "id": 5120145900, "lat": 19.4339137, "lon": -99.156281}, {"type": "node", "id": 5120145901, "lat": 19.4338613, "lon": -99.1563591}, {"type": "node", "id": 5120145902, "lat": 19.4337273, "lon": -99.1562897}, {"type": "node", "id": 5120145904, "lat": 19.4338163, "lon": -99.1564567}, {"type": "node", "id": 5120145905, "lat": 19.4336823, "lon": -99.1563871}, {"type": "node", "id": 5120145906, "lat": 19.4338792, "lon": -99.1566018}, {"type": "node", "id": 5120145907, "lat": 19.4336403, "lon": -99.1564777}, {"type": "node", "id": 5120145908, "lat": 19.4338392, "lon": -99.156688}, {"type": "node", "id": 5120145910, "lat": 19.4336999, "lon": -99.1559147}, {"type": "node", "id": 5120145913, "lat": 19.4333635, "lon": -99.1557402}, {"type": "node", "id": 5120145914, "lat": 19.4336091, "lon": -99.1561067}, {"type": "node", "id": 5120145917, "lat": 19.4332744, "lon": -99.1559332}, {"type": "node", "id": 5120145918, "lat": 19.4331516, "lon": -99.15692}, {"type": "node", "id": 5120145919, "lat": 19.4331863, "lon": -99.1568375}, {"type": "node", "id": 5120145920, "lat": 19.4330431, "lon": -99.1567699}, {"type": "node", "id": 5120145921, "lat": 19.4330085, "lon": -99.1568525}, {"type": "node", "id": 5120145922, "lat": 19.4319347, "lon": -99.1550848}, {"type": "node", "id": 5120145923, "lat": 19.4320934, "lon": -99.1551645}, {"type": "node", "id": 5120402133, "lat": 19.4351287, "lon": -99.157522}, {"type": "node", "id": 5120402134, "lat": 19.4353191, "lon": -99.1574381}, {"type": "node", "id": 5120402135, "lat": 19.4352077, "lon": -99.157154}, {"type": "node", "id": 5120402143, "lat": 19.4351255, "lon": -99.1582448}, {"type": "node", "id": 5120402154, "lat": 19.4350184, "lon": -99.1579667}, {"type": "node", "id": 5120402155, "lat": 19.4353986, "lon": -99.1578021}, {"type": "node", "id": 5120402156, "lat": 19.4355056, "lon": -99.1580803}, {"type": "node", "id": 5120402158, "lat": 19.4348365, "lon": -99.1582176}, {"type": "node", "id": 5120402159, "lat": 19.4346392, "lon": -99.1582967}, {"type": "node", "id": 5120402160, "lat": 19.4346544, "lon": -99.1583598}, {"type": "node", "id": 5120402161, "lat": 19.4345156, "lon": -99.1584191}, {"type": "node", "id": 5120402162, "lat": 19.4344854, "lon": -99.1582244}, {"type": "node", "id": 5120402163, "lat": 19.4345151, "lon": -99.1581586}, {"type": "node", "id": 5120402164, "lat": 19.4347712, "lon": -99.1580556}, {"type": "node", "id": 5120594979, "lat": 19.4352455, "lon": -99.1571353}, {"type": "node", "id": 5120594980, "lat": 19.4351894, "lon": -99.1567411}, {"type": "node", "id": 5120594982, "lat": 19.4346903, "lon": -99.1568313}, {"type": "node", "id": 5121876170, "lat": 19.4346425, "lon": -99.1574031}, {"type": "node", "id": 5121876171, "lat": 19.434491, "lon": -99.1575278}, {"type": "node", "id": 5121876172, "lat": 19.4344741, "lon": -99.1574736}, {"type": "node", "id": 5121876173, "lat": 19.4343885, "lon": -99.1575116}, {"type": "node", "id": 5121876174, "lat": 19.434745, "lon": -99.1572154}, {"type": "node", "id": 5121876175, "lat": 19.4347187, "lon": -99.1570306}, {"type": "node", "id": 5121876185, "lat": 19.4355236, "lon": -99.1554226}, {"type": "node", "id": 5121876193, "lat": 19.4354794, "lon": -99.1551032}, {"type": "node", "id": 5121876196, "lat": 19.4354468, "lon": -99.1548679}, {"type": "node", "id": 5121876197, "lat": 19.4354312, "lon": -99.1547555}, {"type": "node", "id": 5121876204, "lat": 19.4354209, "lon": -99.1546899}, {"type": "node", "id": 5121876249, "lat": 19.4341924, "lon": -99.1549048}, {"type": "node", "id": 5121876250, "lat": 19.4340289, "lon": -99.154931}, {"type": "node", "id": 5121876251, "lat": 19.4340268, "lon": -99.1547726}, {"type": "node", "id": 5121876252, "lat": 19.4341703, "lon": -99.1547503}, {"type": "node", "id": 5121876257, "lat": 19.4343326, "lon": -99.1548824}, {"type": "node", "id": 5121876260, "lat": 19.4343107, "lon": -99.1547286}, {"type": "node", "id": 5121876267, "lat": 19.433385, "lon": -99.1554238}, {"type": "node", "id": 5121876268, "lat": 19.4334233, "lon": -99.1554301}, {"type": "node", "id": 5121951144, "lat": 19.4346948, "lon": -99.1549804}, {"type": "node", "id": 5121951145, "lat": 19.4345232, "lon": -99.1550076}, {"type": "node", "id": 5121951148, "lat": 19.4344799, "lon": -99.1546992}, {"type": "node", "id": 5121951149, "lat": 19.4346515, "lon": -99.1546721}, {"type": "node", "id": 5121951154, "lat": 19.4347661, "lon": -99.1555696}, {"type": "node", "id": 5121951155, "lat": 19.4347543, "lon": -99.1554835}, {"type": "node", "id": 5121951156, "lat": 19.4346179, "lon": -99.1555045}, {"type": "node", "id": 5121951157, "lat": 19.4346313, "lon": -99.1555904}, {"type": "node", "id": 5121951158, "lat": 19.4346057, "lon": -99.1554157}, {"type": "node", "id": 5121951159, "lat": 19.4344674, "lon": -99.1554371}, {"type": "node", "id": 5121951160, "lat": 19.4344825, "lon": -99.1555468}, {"type": "node", "id": 5121951161, "lat": 19.4346223, "lon": -99.1555252}, {"type": "node", "id": 5121951191, "lat": 19.4339211, "lon": -99.1565111}, {"type": "node", "id": 5121951207, "lat": 19.4340189, "lon": -99.1564403}, {"type": "node", "id": 5121951208, "lat": 19.4340719, "lon": -99.1564326}, {"type": "node", "id": 5121952819, "lat": 19.4346627, "lon": -99.156637}, {"type": "node", "id": 5121952820, "lat": 19.4344825, "lon": -99.1566658}, {"type": "node", "id": 5121954421, "lat": 19.4345101, "lon": -99.1568602}, {"type": "node", "id": 5122016756, "lat": 19.4361361, "lon": -99.1570838}, {"type": "node", "id": 5122016757, "lat": 19.4360545, "lon": -99.1568721}, {"type": "node", "id": 5122016758, "lat": 19.4362902, "lon": -99.1567694}, {"type": "node", "id": 5122016759, "lat": 19.436324, "lon": -99.157002}, {"type": "node", "id": 5122277970, "lat": 19.4361564, "lon": -99.1590117}, {"type": "node", "id": 5122277971, "lat": 19.4360976, "lon": -99.1588715}, {"type": "node", "id": 5122277972, "lat": 19.4359877, "lon": -99.1589234}, {"type": "node", "id": 5122277973, "lat": 19.4360465, "lon": -99.1590636}, {"type": "node", "id": 5122859577, "lat": 19.4357822, "lon": -99.1579404}, {"type": "node", "id": 5122859578, "lat": 19.4355153, "lon": -99.1580639}, {"type": "node", "id": 5122859580, "lat": 19.4356769, "lon": -99.1576846}, {"type": "node", "id": 5147355632, "lat": 19.4317705, "lon": -99.1598507}, {"type": "node", "id": 5147355633, "lat": 19.431749, "lon": -99.1597961}, {"type": "node", "id": 5147355634, "lat": 19.4316246, "lon": -99.1598512}, {"type": "node", "id": 5147355635, "lat": 19.4318179, "lon": -99.1598324}, {"type": "node", "id": 5147355636, "lat": 19.4317747, "lon": -99.1596749}, {"type": "node", "id": 5147355637, "lat": 19.4315878, "lon": -99.1597578}, {"type": "node", "id": 5161015035, "lat": 19.4289699, "lon": -99.1553202}, {"type": "node", "id": 5161015036, "lat": 19.4292282, "lon": -99.1552218}, {"type": "node", "id": 5161015037, "lat": 19.4293564, "lon": -99.1556035}, {"type": "node", "id": 5161015038, "lat": 19.4290832, "lon": -99.1556901}, {"type": "node", "id": 5167930419, "lat": 19.4315188, "lon": -99.1553506}, {"type": "node", "id": 5172553368, "lat": 19.4309719, "lon": -99.1609357}, {"type": "node", "id": 5173790446, "lat": 19.4347372, "lon": -99.1576448}, {"type": "node", "id": 5173790448, "lat": 19.4351121, "lon": -99.1574795}, {"type": "node", "id": 5173790449, "lat": 19.4350174, "lon": -99.1572379}, {"type": "node", "id": 5173790450, "lat": 19.4347646, "lon": -99.1573489}, {"type": "node", "id": 5173790451, "lat": 19.4349541, "lon": -99.1572658}, {"type": "node", "id": 5173790453, "lat": 19.4349423, "lon": -99.1572225}, {"type": "node", "id": 5173790455, "lat": 19.4347639, "lon": -99.1572492}, {"type": "node", "id": 5173790457, "lat": 19.434815, "lon": -99.1567472}, {"type": "node", "id": 5173790458, "lat": 19.4347969, "lon": -99.1566162}, {"type": "node", "id": 5173790459, "lat": 19.4346699, "lon": -99.1566362}, {"type": "node", "id": 5173790460, "lat": 19.434688, "lon": -99.156767}, {"type": "node", "id": 5173790461, "lat": 19.4346852, "lon": -99.1573842}, {"type": "node", "id": 5173790462, "lat": 19.4345752, "lon": -99.1573996}, {"type": "node", "id": 5173790463, "lat": 19.4344704, "lon": -99.1570704}, {"type": "node", "id": 5931949657, "lat": 19.4300426, "lon": -99.1586603}, {"type": "node", "id": 5931949658, "lat": 19.429957, "lon": -99.1586867}, {"type": "node", "id": 6823462754, "lat": 19.4291524, "lon": -99.1569344}, {"type": "node", "id": 6823462755, "lat": 19.4290515, "lon": -99.1569637}, {"type": "node", "id": 6823462756, "lat": 19.4289542, "lon": -99.1569075}, {"type": "node", "id": 6823462759, "lat": 19.4290265, "lon": -99.1567075}, {"type": "node", "id": 6823462760, "lat": 19.4291009, "lon": -99.1567469}, {"type": "node", "id": 7875977295, "lat": 19.4293267, "lon": -99.1541185}, {"type": "node", "id": 7875977300, "lat": 19.4292681, "lon": -99.1563765}, {"type": "node", "id": 7926188841, "lat": 19.4311593, "lon": -99.1577817}, {"type": "node", "id": 7926188842, "lat": 19.4310017, "lon": -99.1578323}, {"type": "node", "id": 7926188843, "lat": 19.4308923, "lon": -99.1581741}, {"type": "node", "id": 9915705570, "lat": 19.4345481, "lon": -99.1575007}, {"type": "node", "id": 9915705571, "lat": 19.4345587, "lon": -99.157467}, {"type": "node", "id": 9915705573, "lat": 19.4345286, "lon": -99.157061}, {"type": "node", "id": 9915705576, "lat": 19.4347818, "lon": -99.1573417}, {"type": "node", "id": 9941487853, "lat": 19.4363339, "lon": -99.1547681}, {"type": "node", "id": 9941487854, "lat": 19.4362788, "lon": -99.154444}, {"type": "node", "id": 9941487855, "lat": 19.4360045, "lon": -99.1545177}, {"type": "node", "id": 9941487856, "lat": 19.4360812, "lon": -99.1548124}, {"type": "node", "id": 9941493156, "lat": 19.4358115, "lon": -99.1552372}, {"type": "node", "id": 9941493159, "lat": 19.4360292, "lon": -99.1552002}, {"type": "node", "id": 9941493160, "lat": 19.4359195, "lon": -99.1544735}, {"type": "node", "id": 9941493163, "lat": 19.43593, "lon": -99.1548206}, {"type": "node", "id": 9941493164, "lat": 19.4359708, "lon": -99.1548136}, {"type": "node", "id": 9941493177, "lat": 19.4358986, "lon": -99.1548259}, {"type": "node", "id": 9941493178, "lat": 19.4359212, "lon": -99.1547716}, {"type": "node", "id": 9941493179, "lat": 19.4358915, "lon": -99.1545757}, {"type": "node", "id": 9941493180, "lat": 19.4358533, "lon": -99.1545354}, {"type": "node", "id": 9941493181, "lat": 19.4358912, "lon": -99.1547767}, {"type": "node", "id": 9941493182, "lat": 19.4358602, "lon": -99.154581}, {"type": "node", "id": 9941493183, "lat": 19.4359269, "lon": -99.1545228}, {"type": "node", "id": 9941493273, "lat": 19.436061, "lon": -99.155512}, {"type": "node", "id": 9941493274, "lat": 19.4360583, "lon": -99.1554933}, {"type": "node", "id": 9941493275, "lat": 19.4360941, "lon": -99.1554873}, {"type": "node", "id": 9941493276, "lat": 19.4360969, "lon": -99.155506}, {"type": "node", "id": 9941493350, "lat": 19.4358951, "lon": -99.1548028}, {"type": "node", "id": 9941493351, "lat": 19.4358566, "lon": -99.1545572}, {"type": "node", "id": 9941493390, "lat": 19.4358953, "lon": -99.1544776}, {"type": "node", "id": 9941493391, "lat": 19.4358993, "lon": -99.1545038}, {"type": "node", "id": 9941493392, "lat": 19.4359235, "lon": -99.1544999}, {"type": "node", "id": 9941493393, "lat": 19.4359796, "lon": -99.1548718}, {"type": "node", "id": 9941493394, "lat": 19.4359572, "lon": -99.1548755}, {"type": "node", "id": 9941493395, "lat": 19.4359609, "lon": -99.1549005}, {"type": "node", "id": 9941493396, "lat": 19.4359834, "lon": -99.1548969}, {"type": "node", "id": 9941493397, "lat": 19.4360255, "lon": -99.155176}, {"type": "node", "id": 9941493398, "lat": 19.4360034, "lon": -99.1551797}, {"type": "node", "id": 9941493399, "lat": 19.436007, "lon": -99.155204}, {"type": "node", "id": 9941493401, "lat": 19.4358338, "lon": -99.1552048}, {"type": "node", "id": 9941493402, "lat": 19.4358072, "lon": -99.1552091}, {"type": "node", "id": 9941493404, "lat": 19.4358378, "lon": -99.1552327}, {"type": "node", "id": 9941493405, "lat": 19.4357281, "lon": -99.1545059}, {"type": "node", "id": 9941493406, "lat": 19.4357056, "lon": -99.1545097}, {"type": "node", "id": 9941493407, "lat": 19.435709, "lon": -99.154533}, {"type": "node", "id": 9941493408, "lat": 19.4357315, "lon": -99.1545293}, {"type": "node", "id": 9941493409, "lat": 19.4358727, "lon": -99.1541031}, {"type": "node", "id": 9941493410, "lat": 19.4358499, "lon": -99.1541069}, {"type": "node", "id": 9941493411, "lat": 19.4358536, "lon": -99.1541319}, {"type": "node", "id": 9941493412, "lat": 19.4358764, "lon": -99.1541281}, {"type": "node", "id": 9941493413, "lat": 19.4356816, "lon": -99.1541364}, {"type": "node", "id": 9941493414, "lat": 19.4356588, "lon": -99.1541402}, {"type": "node", "id": 9941493415, "lat": 19.4356625, "lon": -99.1541652}, {"type": "node", "id": 9941493416, "lat": 19.4356853, "lon": -99.1541614}, {"type": "node", "id": 9941493465, "lat": 19.4359488, "lon": -99.1546675}, {"type": "node", "id": 10157575423, "lat": 19.4340095, "lon": -99.1547907}, {"type": "node", "id": 10157575424, "lat": 19.4340155, "lon": -99.1547783}, {"type": "node", "id": 10157575425, "lat": 19.4344016, "lon": -99.1548713}, {"type": "node", "id": 10157575426, "lat": 19.4343796, "lon": -99.1547176}, {"type": "node", "id": 10157575427, "lat": 19.4344227, "lon": -99.1550197}, {"type": "node", "id": 10157575428, "lat": 19.4340501, "lon": -99.1550794}, {"type": "node", "id": 10162527959, "lat": 19.436025, "lon": -99.1567957}, {"type": "node", "id": 10162527962, "lat": 19.4360089, "lon": -99.1568874}, {"type": "node", "id": 10162527963, "lat": 19.4356255, "lon": -99.1570584}, {"type": "node", "id": 10198406947, "lat": 19.4307451, "lon": -99.1577285}, {"type": "node", "id": 10198406948, "lat": 19.4304686, "lon": -99.157816}, {"type": "node", "id": 10198406949, "lat": 19.4305427, "lon": -99.1580884}, {"type": "node", "id": 10198406950, "lat": 19.4308193, "lon": -99.1579997}, {"type": "node", "id": 10656510241, "lat": 19.4362558, "lon": -99.1572489}, {"type": "node", "id": 10656510242, "lat": 19.436244, "lon": -99.1572195}, {"type": "node", "id": 10656510243, "lat": 19.4358267, "lon": -99.1574069}, {"type": "node", "id": 10656510244, "lat": 19.4358384, "lon": -99.1574362}, {"type": "node", "id": 10656582313, "lat": 19.4326, "lon": -99.1588606}, {"type": "node", "id": 10656582314, "lat": 19.4331953, "lon": -99.1586007}, {"type": "node", "id": 10656582315, "lat": 19.4331816, "lon": -99.1585654}, {"type": "node", "id": 10656582316, "lat": 19.4325863, "lon": -99.1588252}, {"type": "node", "id": 10656790194, "lat": 19.429856, "lon": -99.1603979}, {"type": "node", "id": 10754906011, "lat": 19.4295524, "lon": -99.1541792}, {"type": "node", "id": 10754906012, "lat": 19.4295005, "lon": -99.1540436}, {"type": "node", "id": 10754906013, "lat": 19.4296472, "lon": -99.1609613}, {"type": "node", "id": 10754906014, "lat": 19.4292544, "lon": -99.1606135}, {"type": "node", "id": 10754906015, "lat": 19.4293164, "lon": -99.1607945}, {"type": "node", "id": 10762162130, "lat": 19.4350314, "lon": -99.1567664}, {"type": "node", "id": 10905698403, "lat": 19.4320343, "lon": -99.1547635}, {"type": "node", "id": 10905710525, "lat": 19.4325267, "lon": -99.1550076}, {"type": "node", "id": 10905710533, "lat": 19.4321273, "lon": -99.15432}, {"type": "node", "id": 10905710534, "lat": 19.4322668, "lon": -99.155822}, {"type": "node", "id": 10905710536, "lat": 19.4320679, "lon": -99.1558144}, {"type": "node", "id": 10905710537, "lat": 19.4317427, "lon": -99.155645}, {"type": "node", "id": 11011456996, "lat": 19.4308203, "lon": -99.1584153}, {"type": "node", "id": 11011456997, "lat": 19.4307002, "lon": -99.1584517}, {"type": "node", "id": 11011456998, "lat": 19.4307066, "lon": -99.1584767}, {"type": "node", "id": 11011456999, "lat": 19.4306998, "lon": -99.1584985}, {"type": "node", "id": 11011457000, "lat": 19.4306714, "lon": -99.1585063}, {"type": "node", "id": 11011457001, "lat": 19.4306523, "lon": -99.1584915}, {"type": "node", "id": 11011457002, "lat": 19.4305491, "lon": -99.158112}, {"type": "node", "id": 11011457003, "lat": 19.4307233, "lon": -99.1580568}, {"type": "node", "id": 11042869242, "lat": 19.4292443, "lon": -99.159956}, {"type": "node", "id": 11042869243, "lat": 19.4293578, "lon": -99.1597133}, {"type": "node", "id": 11042869244, "lat": 19.4294159, "lon": -99.1597437}, {"type": "node", "id": 11042869245, "lat": 19.4295999, "lon": -99.1598402}, {"type": "node", "id": 11042869246, "lat": 19.4295291, "lon": -99.1599936}, {"type": "node", "id": 11042869247, "lat": 19.4293226, "lon": -99.1599354}, {"type": "node", "id": 11042869251, "lat": 19.4294797, "lon": -99.1597772}, {"type": "node", "id": 11042869252, "lat": 19.4293952, "lon": -99.1599559}, {"type": "node", "id": 11042869253, "lat": 19.4295398, "lon": -99.1598087}, {"type": "node", "id": 11042869254, "lat": 19.4294632, "lon": -99.159975}, {"type": "node", "id": 11042869255, "lat": 19.429698, "lon": -99.1598917}, {"type": "node", "id": 11042869256, "lat": 19.429545, "lon": -99.1599591}, {"type": "node", "id": 11043362674, "lat": 19.4348058, "lon": -99.1543018}, {"type": "node", "id": 11043362675, "lat": 19.4347666, "lon": -99.1540417}, {"type": "node", "id": 11043362676, "lat": 19.4352218, "lon": -99.1541133}, {"type": "node", "id": 11043362677, "lat": 19.435154, "lon": -99.1541244}, {"type": "node", "id": 11043362678, "lat": 19.4351353, "lon": -99.1539961}, {"type": "node", "id": 11043362679, "lat": 19.4352031, "lon": -99.153985}, {"type": "node", "id": 11043362680, "lat": 19.4339321, "lon": -99.1542171}, {"type": "node", "id": 11043362683, "lat": 19.4342358, "lon": -99.1541711}, {"type": "node", "id": 11043362684, "lat": 19.4339063, "lon": -99.1539151}, {"type": "node", "id": 11043362685, "lat": 19.4338948, "lon": -99.1539367}, {"type": "node", "id": 11045592941, "lat": 19.4341671, "lon": -99.1536646}, {"type": "node", "id": 11045592942, "lat": 19.4341836, "lon": -99.1537858}, {"type": "node", "id": 11045592943, "lat": 19.4341395, "lon": -99.1539755}, {"type": "node", "id": 11045592944, "lat": 19.4341942, "lon": -99.153863}, {"type": "node", "id": 11045695534, "lat": 19.4346638, "lon": -99.1538093}, {"type": "node", "id": 11045695535, "lat": 19.4346297, "lon": -99.153583}, {"type": "node", "id": 11045695539, "lat": 19.4346729, "lon": -99.1538697}, {"type": "node", "id": 11047635017, "lat": 19.4293126, "lon": -99.1596896}, {"type": "node", "id": 11047644419, "lat": 19.4347994, "lon": -99.1540361}, {"type": "node", "id": 11047644420, "lat": 19.4348018, "lon": -99.1540521}, {"type": "node", "id": 11047644421, "lat": 19.4349906, "lon": -99.1540201}, {"type": "node", "id": 11047644422, "lat": 19.4349883, "lon": -99.1540049}, {"type": "node", "id": 11237515560, "lat": 19.4334319, "lon": -99.1569281}, {"type": "node", "id": 11322983709, "lat": 19.4291392, "lon": -99.16183}, {"type": "node", "id": 11322983710, "lat": 19.429208, "lon": -99.1617821}, {"type": "node", "id": 11322983711, "lat": 19.4281759, "lon": -99.1613602}, {"type": "node", "id": 11322983712, "lat": 19.4281356, "lon": -99.1613962}, {"type": "node", "id": 11322983713, "lat": 19.4290612, "lon": -99.1618528}, {"type": "node", "id": 11322983714, "lat": 19.4289779, "lon": -99.1618494}, {"type": "node", "id": 11322983720, "lat": 19.4284623, "lon": -99.1615922}, {"type": "node", "id": 11322983721, "lat": 19.4284451, "lon": -99.1615748}, {"type": "node", "id": 11322983722, "lat": 19.4284069, "lon": -99.1615259}, {"type": "node", "id": 11322983723, "lat": 19.4283946, "lon": -99.1615017}, {"type": "node", "id": 11322983724, "lat": 19.4283872, "lon": -99.1614853}, {"type": "node", "id": 11322983725, "lat": 19.4283822, "lon": -99.161472}, {"type": "node", "id": 11322983726, "lat": 19.4281916, "lon": -99.1613678}, {"type": "node", "id": 11322983727, "lat": 19.4281908, "lon": -99.1613688}, {"type": "node", "id": 11322983728, "lat": 19.428181, "lon": -99.1613793}, {"type": "node", "id": 11322983729, "lat": 19.4281728, "lon": -99.1613915}, {"type": "node", "id": 11322983730, "lat": 19.4281516, "lon": -99.1614514}, {"type": "node", "id": 11322983731, "lat": 19.4281624, "lon": -99.1614139}, {"type": "node", "id": 11322983734, "lat": 19.4289983, "lon": -99.1616199}, {"type": "node", "id": 11322983735, "lat": 19.4289069, "lon": -99.1618228}, {"type": "node", "id": 11322983736, "lat": 19.4283593, "lon": -99.1612859}, {"type": "node", "id": 11322983737, "lat": 19.4282904, "lon": -99.1614219}, {"type": "node", "id": 11322983742, "lat": 19.4292765, "lon": -99.1616746}, {"type": "node", "id": 11322983743, "lat": 19.4292937, "lon": -99.1616836}, {"type": "node", "id": 11322983744, "lat": 19.429363, "lon": -99.1615355}, {"type": "node", "id": 11322983745, "lat": 19.4293451, "lon": -99.1615261}, {"type": "node", "id": 11328298214, "lat": 19.4288327, "lon": -99.1594403}, {"type": "node", "id": 11328298258, "lat": 19.4289128, "lon": -99.1597928}, {"type": "node", "id": 11328298265, "lat": 19.4289169, "lon": -99.1596868}, {"type": "node", "id": 11328298266, "lat": 19.4287565, "lon": -99.1596031}, {"type": "node", "id": 11328322772, "lat": 19.428823, "lon": -99.1596378}, {"type": "node", "id": 11328322775, "lat": 19.4289329, "lon": -99.1596524}, {"type": "node", "id": 11328322776, "lat": 19.428969, "lon": -99.1596713}, {"type": "node", "id": 11328322777, "lat": 19.4290284, "lon": -99.1595429}, {"type": "node", "id": 11328322778, "lat": 19.4288384, "lon": -99.1596452}, {"type": "node", "id": 11328322779, "lat": 19.4288588, "lon": -99.1595995}, {"type": "node", "id": 11328322780, "lat": 19.4288838, "lon": -99.1596125}, {"type": "node", "id": 11328322781, "lat": 19.4288632, "lon": -99.1596584}, {"type": "node", "id": 11328322782, "lat": 19.4289281, "lon": -99.1595861}, {"type": "node", "id": 11328322783, "lat": 19.4289436, "lon": -99.1595522}, {"type": "node", "id": 11328322784, "lat": 19.4289763, "lon": -99.159569}, {"type": "node", "id": 11328322785, "lat": 19.4289608, "lon": -99.159603}, {"type": "node", "id": 11328322786, "lat": 19.4288733, "lon": -99.1595577}, {"type": "node", "id": 11328322787, "lat": 19.4288881, "lon": -99.1595257}, {"type": "node", "id": 11328322788, "lat": 19.4288585, "lon": -99.1595103}, {"type": "node", "id": 11328322789, "lat": 19.4288438, "lon": -99.1595423}, {"type": "node", "id": 11328322790, "lat": 19.4291501, "lon": -99.1599078}, {"type": "node", "id": 11328322791, "lat": 19.4292635, "lon": -99.1596638}, {"type": "node", "id": 11328322792, "lat": 19.4290996, "lon": -99.1598827}, {"type": "node", "id": 11328322793, "lat": 19.4288904, "lon": -99.1598415}, {"type": "node", "id": 11328322794, "lat": 19.4290744, "lon": -99.1599371}, {"type": "node", "id": 11328322795, "lat": 19.4291175, "lon": -99.1603655}, {"type": "node", "id": 11328322796, "lat": 19.4289836, "lon": -99.1600157}, {"type": "node", "id": 11328322797, "lat": 19.4290444, "lon": -99.1603982}, {"type": "node", "id": 11328322798, "lat": 19.4289506, "lon": -99.1601588}, {"type": "node", "id": 11328322799, "lat": 19.4290277, "lon": -99.1601308}, {"type": "node", "id": 11328322800, "lat": 19.4290062, "lon": -99.1600748}, {"type": "node", "id": 11328322832, "lat": 19.4292131, "lon": -99.1596373}, {"type": "node", "id": 11328322833, "lat": 19.4291982, "lon": -99.1596693}, {"type": "node", "id": 11328322834, "lat": 19.4290145, "lon": -99.1595738}, {"type": "node", "id": 11359061681, "lat": 19.4318062, "lon": -99.1554571}, {"type": "node", "id": 11359061682, "lat": 19.4318767, "lon": -99.1554953}, {"type": "node", "id": 11359061683, "lat": 19.4319127, "lon": -99.1554164}, {"type": "node", "id": 11359061684, "lat": 19.4318351, "lon": -99.1553714}, {"type": "node", "id": 11359061686, "lat": 19.4322298, "lon": -99.1559005}, {"type": "node", "id": 11359061691, "lat": 19.4316823, "lon": -99.1558238}, {"type": "node", "id": 11359061692, "lat": 19.4321518, "lon": -99.1560658}, {"type": "node", "id": 11359061693, "lat": 19.4319337, "lon": -99.1559533}, {"type": "node", "id": 11359061694, "lat": 19.4320075, "lon": -99.1557829}, {"type": "node", "id": 11359061695, "lat": 19.4316181, "lon": -99.1560138}, {"type": "node", "id": 11359061696, "lat": 19.4320677, "lon": -99.1562439}, {"type": "node", "id": 11359061697, "lat": 19.4318865, "lon": -99.156152}, {"type": "node", "id": 11359061704, "lat": 19.431731, "lon": -99.1564855}, {"type": "node", "id": 11359260685, "lat": 19.4313689, "lon": -99.1567409}, {"type": "node", "id": 11359260686, "lat": 19.4314626, "lon": -99.1567887}, {"type": "node", "id": 11359260687, "lat": 19.4314703, "lon": -99.1567711}, {"type": "node", "id": 11359260688, "lat": 19.431683, "lon": -99.1570702}, {"type": "node", "id": 11359260689, "lat": 19.4312829, "lon": -99.1569896}, {"type": "node", "id": 11359260690, "lat": 19.4312741, "lon": -99.1570243}, {"type": "node", "id": 11359260691, "lat": 19.4316063, "lon": -99.1572352}, {"type": "node", "id": 11359260692, "lat": 19.4316464, "lon": -99.157149}, {"type": "node", "id": 11359260693, "lat": 19.4314884, "lon": -99.1570686}, {"type": "node", "id": 11359260694, "lat": 19.431264, "lon": -99.1571731}, {"type": "node", "id": 11359260695, "lat": 19.4315643, "lon": -99.1573258}, {"type": "node", "id": 11359260696, "lat": 19.4312669, "lon": -99.1573327}, {"type": "node", "id": 11359260697, "lat": 19.4313689, "lon": -99.1577108}, {"type": "node", "id": 11359260698, "lat": 19.4313808, "lon": -99.1577208}, {"type": "node", "id": 11360891229, "lat": 19.4308313, "lon": -99.1584542}, {"type": "node", "id": 11360891230, "lat": 19.4311136, "lon": -99.1576118}, {"type": "node", "id": 11360891231, "lat": 19.4308642, "lon": -99.1580754}, {"type": "node", "id": 11360891232, "lat": 19.4306459, "lon": -99.1584678}, {"type": "node", "id": 11360891233, "lat": 19.4307391, "lon": -99.1581156}, {"type": "node", "id": 11360891234, "lat": 19.4308216, "lon": -99.1578913}, {"type": "node", "id": 11360891235, "lat": 19.4307742, "lon": -99.1577193}, {"type": "node", "id": 11360891236, "lat": 19.4309003, "lon": -99.1578652}, {"type": "node", "id": 11360891237, "lat": 19.4308887, "lon": -99.1578231}, {"type": "node", "id": 11360891238, "lat": 19.4309486, "lon": -99.1578045}, {"type": "node", "id": 11360891239, "lat": 19.430913, "lon": -99.1576754}, {"type": "node", "id": 11360891240, "lat": 19.4309147, "lon": -99.1576748}, {"type": "node", "id": 11360891241, "lat": 19.4309612, "lon": -99.157845}, {"type": "node", "id": 11360891242, "lat": 19.4311571, "lon": -99.1577809}, {"type": "node", "id": 11360891243, "lat": 19.4311587, "lon": -99.1577794}, {"type": "node", "id": 11360891244, "lat": 19.4309517, "lon": -99.1583915}, {"type": "node", "id": 11360891245, "lat": 19.4309513, "lon": -99.1583942}, {"type": "node", "id": 11360891246, "lat": 19.430926, "lon": -99.1584077}, {"type": "node", "id": 11360891247, "lat": 19.4311566, "lon": -99.1580681}, {"type": "node", "id": 11360891248, "lat": 19.4311692, "lon": -99.1578886}, {"type": "node", "id": 11360891249, "lat": 19.4308595, "lon": -99.1580445}, {"type": "node", "id": 11360891250, "lat": 19.4309261, "lon": -99.1580685}, {"type": "node", "id": 11360891251, "lat": 19.4309544, "lon": -99.1579077}, {"type": "node", "id": 11360891252, "lat": 19.4309334, "lon": -99.1579735}, {"type": "node", "id": 11372425508, "lat": 19.4310207, "lon": -99.1564792}, {"type": "node", "id": 11372425509, "lat": 19.4316439, "lon": -99.1554755}, {"type": "node", "id": 11372425510, "lat": 19.4313449, "lon": -99.1563784}, {"type": "node", "id": 11372425511, "lat": 19.4313879, "lon": -99.1562485}, {"type": "node", "id": 11372425512, "lat": 19.4309916, "lon": -99.1563703}, {"type": "node", "id": 11372425513, "lat": 19.430943, "lon": -99.1561878}, {"type": "node", "id": 11372425514, "lat": 19.4311818, "lon": -99.1563115}, {"type": "node", "id": 11372425515, "lat": 19.431173, "lon": -99.1562773}, {"type": "node", "id": 11372425516, "lat": 19.4311991, "lon": -99.1562694}, {"type": "node", "id": 11372425517, "lat": 19.4311746, "lon": -99.156177}, {"type": "node", "id": 11372425518, "lat": 19.4311493, "lon": -99.1561847}, {"type": "node", "id": 11372425519, "lat": 19.431135, "lon": -99.1561286}, {"type": "node", "id": 11372425520, "lat": 19.4312081, "lon": -99.1563034}, {"type": "node", "id": 11372425521, "lat": 19.4311598, "lon": -99.1561209}, {"type": "node", "id": 11372425522, "lat": 19.4314306, "lon": -99.1560374}, {"type": "node", "id": 11372425523, "lat": 19.4314422, "lon": -99.1560844}, {"type": "node", "id": 11372425524, "lat": 19.4314279, "lon": -99.1561277}, {"type": "node", "id": 11372425525, "lat": 19.4314184, "lon": -99.1561307}, {"type": "node", "id": 11372425526, "lat": 19.4314223, "lon": -99.1561446}, {"type": "node", "id": 11372425527, "lat": 19.4314162, "lon": -99.1560418}, {"type": "node", "id": 11372425528, "lat": 19.4313271, "lon": -99.155697}, {"type": "node", "id": 11372425529, "lat": 19.4314911, "lon": -99.1556457}, {"type": "node", "id": 11372425530, "lat": 19.4314821, "lon": -99.1556131}, {"type": "node", "id": 11372425531, "lat": 19.4315118, "lon": -99.1556038}, {"type": "node", "id": 11372425532, "lat": 19.4315024, "lon": -99.155569}, {"type": "node", "id": 11372425533, "lat": 19.4315538, "lon": -99.1555526}, {"type": "node", "id": 11372425534, "lat": 19.4315409, "lon": -99.1555065}, {"type": "node", "id": 11372425535, "lat": 19.4314609, "lon": -99.156028}, {"type": "node", "id": 11372425536, "lat": 19.4315057, "lon": -99.1555804}, {"type": "node", "id": 11372425537, "lat": 19.4314843, "lon": -99.1555873}, {"type": "node", "id": 11372425538, "lat": 19.4314903, "lon": -99.1556085}, {"type": "node", "id": 11372425539, "lat": 19.4313183, "lon": -99.1556631}, {"type": "node", "id": 11372425540, "lat": 19.4312965, "lon": -99.1555801}, {"type": "node", "id": 11372425541, "lat": 19.4314053, "lon": -99.1560062}, {"type": "node", "id": 11372425542, "lat": 19.4312798, "lon": -99.1560447}, {"type": "node", "id": 11372425543, "lat": 19.431247, "lon": -99.1559232}, {"type": "node", "id": 11372425544, "lat": 19.4313739, "lon": -99.1558854}, {"type": "node", "id": 11372425545, "lat": 19.4311676, "lon": -99.155619}, {"type": "node", "id": 11372425546, "lat": 19.4313729, "lon": -99.1559785}, {"type": "node", "id": 11372425547, "lat": 19.4312894, "lon": -99.1560023}, {"type": "node", "id": 11372425548, "lat": 19.4312773, "lon": -99.1559547}, {"type": "node", "id": 11372425549, "lat": 19.4313609, "lon": -99.1559309}, {"type": "node", "id": 11372425550, "lat": 19.4311391, "lon": -99.1558628}, {"type": "node", "id": 11372425551, "lat": 19.4310792, "lon": -99.1557938}, {"type": "node", "id": 11372425552, "lat": 19.431201, "lon": -99.1557579}, {"type": "node", "id": 11372425553, "lat": 19.4311896, "lon": -99.1557146}, {"type": "node", "id": 11372425554, "lat": 19.4310679, "lon": -99.1557505}, {"type": "node", "id": 11372425555, "lat": 19.4311705, "lon": -99.1557669}, {"type": "node", "id": 11372425556, "lat": 19.4311591, "lon": -99.1557236}, {"type": "node", "id": 11372425557, "lat": 19.4311284, "lon": -99.1557793}, {"type": "node", "id": 11372425558, "lat": 19.431117, "lon": -99.155736}, {"type": "node", "id": 11372425559, "lat": 19.4308921, "lon": -99.1559968}, {"type": "node", "id": 11372425560, "lat": 19.4311144, "lon": -99.1559295}, {"type": "node", "id": 11372425561, "lat": 19.4308193, "lon": -99.1557239}, {"type": "node", "id": 11372425562, "lat": 19.4310808, "lon": -99.1559396}, {"type": "node", "id": 11372425563, "lat": 19.4309424, "lon": -99.1559816}, {"type": "node", "id": 11372425564, "lat": 19.4310772, "lon": -99.1559256}, {"type": "node", "id": 11372425565, "lat": 19.4309384, "lon": -99.1559663}, {"type": "node", "id": 11372425566, "lat": 19.4310876, "lon": -99.155826}, {"type": "node", "id": 11372425567, "lat": 19.4310648, "lon": -99.1557387}, {"type": "node", "id": 11372425568, "lat": 19.4310746, "lon": -99.1558298}, {"type": "node", "id": 11372476769, "lat": 19.4310523, "lon": -99.1557426}, {"type": "node", "id": 11372476770, "lat": 19.4309891, "lon": -99.1558678}, {"type": "node", "id": 11372476771, "lat": 19.4309571, "lon": -99.1558772}, {"type": "node", "id": 11372476772, "lat": 19.4309356, "lon": -99.1557945}, {"type": "node", "id": 11372476773, "lat": 19.4309676, "lon": -99.1557852}, {"type": "node", "id": 11372476774, "lat": 19.4310738, "lon": -99.1558937}, {"type": "node", "id": 11372476775, "lat": 19.4310557, "lon": -99.1558987}, {"type": "node", "id": 11372476776, "lat": 19.4310477, "lon": -99.1558657}, {"type": "node", "id": 11372476777, "lat": 19.4310658, "lon": -99.1558608}, {"type": "node", "id": 11372476778, "lat": 19.4313652, "lon": -99.1558533}, {"type": "node", "id": 11372476779, "lat": 19.4312386, "lon": -99.1558918}, {"type": "node", "id": 11372476780, "lat": 19.4312065, "lon": -99.1557705}, {"type": "node", "id": 11372476781, "lat": 19.4313338, "lon": -99.1557325}, {"type": "node", "id": 11372476782, "lat": 19.4313329, "lon": -99.1558257}, {"type": "node", "id": 11372476783, "lat": 19.4312493, "lon": -99.1558495}, {"type": "node", "id": 11372476784, "lat": 19.4312373, "lon": -99.1558019}, {"type": "node", "id": 11372476785, "lat": 19.4313208, "lon": -99.155778}, {"type": "node", "id": 11372476786, "lat": 19.4313267, "lon": -99.1557035}, {"type": "node", "id": 11372476787, "lat": 19.4311998, "lon": -99.1557424}, {"type": "node", "id": 11372476788, "lat": 19.4312943, "lon": -99.1555808}, {"type": "node", "id": 11372476789, "lat": 19.4312944, "lon": -99.1556758}, {"type": "node", "id": 11372476790, "lat": 19.4312108, "lon": -99.1556997}, {"type": "node", "id": 11372476791, "lat": 19.4311988, "lon": -99.155652}, {"type": "node", "id": 11372476792, "lat": 19.4312823, "lon": -99.1556282}, {"type": "node", "id": 11372476793, "lat": 19.4312895, "lon": -99.1560809}, {"type": "node", "id": 11372587674, "lat": 19.430781, "lon": -99.1555798}, {"type": "node", "id": 11372587675, "lat": 19.4318022, "lon": -99.154279}, {"type": "node", "id": 11372587676, "lat": 19.4318377, "lon": -99.1542824}, {"type": "node", "id": 11372587677, "lat": 19.4318565, "lon": -99.1542919}, {"type": "node", "id": 11372587678, "lat": 19.4318752, "lon": -99.1543083}, {"type": "node", "id": 11372587679, "lat": 19.4318867, "lon": -99.1543264}, {"type": "node", "id": 11372587680, "lat": 19.4318939, "lon": -99.1543491}, {"type": "node", "id": 11372587681, "lat": 19.4318986, "lon": -99.1543762}, {"type": "node", "id": 11372587682, "lat": 19.4318992, "lon": -99.1546524}, {"type": "node", "id": 11372587683, "lat": 19.431891, "lon": -99.1546955}, {"type": "node", "id": 11372587684, "lat": 19.4318677, "lon": -99.1547835}, {"type": "node", "id": 11372587685, "lat": 19.4309986, "lon": -99.1555122}, {"type": "node", "id": 11372587686, "lat": 19.4309354, "lon": -99.1552898}, {"type": "node", "id": 11372587687, "lat": 19.4307178, "lon": -99.1553581}, {"type": "node", "id": 11372587688, "lat": 19.4309384, "lon": -99.1554405}, {"type": "node", "id": 11372587689, "lat": 19.4308111, "lon": -99.1554804}, {"type": "node", "id": 11372587690, "lat": 19.4308057, "lon": -99.1554611}, {"type": "node", "id": 11372587691, "lat": 19.4308305, "lon": -99.1554533}, {"type": "node", "id": 11372587692, "lat": 19.4308174, "lon": -99.1554063}, {"type": "node", "id": 11372587693, "lat": 19.4309199, "lon": -99.1553741}, {"type": "node", "id": 11372587694, "lat": 19.430857, "lon": -99.1553144}, {"type": "node", "id": 11372587695, "lat": 19.4308053, "lon": -99.1551269}, {"type": "node", "id": 11372587696, "lat": 19.430665, "lon": -99.155173}, {"type": "node", "id": 11372587697, "lat": 19.4308409, "lon": -99.155256}, {"type": "node", "id": 11372587698, "lat": 19.4308802, "lon": -99.155244}, {"type": "node", "id": 11372587699, "lat": 19.430896, "lon": -99.1553022}, {"type": "node", "id": 11372587700, "lat": 19.4307516, "lon": -99.1551243}, {"type": "node", "id": 11372587701, "lat": 19.4309956, "lon": -99.155046}, {"type": "node", "id": 11372587702, "lat": 19.4307418, "lon": -99.1550899}, {"type": "node", "id": 11372587703, "lat": 19.4306669, "lon": -99.1551139}, {"type": "node", "id": 11372587704, "lat": 19.4306401, "lon": -99.15502}, {"type": "node", "id": 11372587705, "lat": 19.4309486, "lon": -99.154921}, {"type": "node", "id": 11372587706, "lat": 19.430964, "lon": -99.1549748}, {"type": "node", "id": 11372587707, "lat": 19.4309743, "lon": -99.1549715}, {"type": "node", "id": 11372587708, "lat": 19.4306067, "lon": -99.1549684}, {"type": "node", "id": 11372587709, "lat": 19.4307786, "lon": -99.1549132}, {"type": "node", "id": 11372587710, "lat": 19.4305467, "lon": -99.154758}, {"type": "node", "id": 11372587711, "lat": 19.4307178, "lon": -99.1547031}, {"type": "node", "id": 11372587712, "lat": 19.4318208, "lon": -99.1542785}, {"type": "node", "id": 11372587713, "lat": 19.4307607, "lon": -99.1548472}, {"type": "node", "id": 11372587714, "lat": 19.4308459, "lon": -99.1548186}, {"type": "node", "id": 11372587715, "lat": 19.4307922, "lon": -99.1546384}, {"type": "node", "id": 11372587717, "lat": 19.430862, "lon": -99.1548708}, {"type": "node", "id": 11372587718, "lat": 19.4309472, "lon": -99.1548429}, {"type": "node", "id": 11372587719, "lat": 19.4308735, "lon": -99.1546096}, {"type": "node", "id": 11372587720, "lat": 19.4308175, "lon": -99.1547232}, {"type": "node", "id": 11372587721, "lat": 19.4308336, "lon": -99.1547772}, {"type": "node", "id": 11372587722, "lat": 19.4308793, "lon": -99.1547618}, {"type": "node", "id": 11372587723, "lat": 19.4308632, "lon": -99.1547079}, {"type": "node", "id": 11372587725, "lat": 19.4313962, "lon": -99.1549328}, {"type": "node", "id": 11372587726, "lat": 19.4309129, "lon": -99.1547343}, {"type": "node", "id": 11372587727, "lat": 19.4310155, "lon": -99.1546992}, {"type": "node", "id": 11372587728, "lat": 19.4310261, "lon": -99.1547341}, {"type": "node", "id": 11372587729, "lat": 19.4309677, "lon": -99.1547541}, {"type": "node", "id": 11372587730, "lat": 19.4310591, "lon": -99.1550435}, {"type": "node", "id": 11372587731, "lat": 19.4311652, "lon": -99.1550087}, {"type": "node", "id": 11372587732, "lat": 19.4310617, "lon": -99.1546796}, {"type": "node", "id": 11372587733, "lat": 19.4310326, "lon": -99.1546895}, {"type": "node", "id": 11372587734, "lat": 19.4310287, "lon": -99.1546767}, {"type": "node", "id": 11372587735, "lat": 19.4310751, "lon": -99.1546608}, {"type": "node", "id": 11372587736, "lat": 19.4310416, "lon": -99.1545501}, {"type": "node", "id": 11372587737, "lat": 19.4311792, "lon": -99.1550041}, {"type": "node", "id": 11372587738, "lat": 19.4312569, "lon": -99.1544738}, {"type": "node", "id": 11372587739, "lat": 19.4311271, "lon": -99.1554723}, {"type": "node", "id": 11372587740, "lat": 19.43101, "lon": -99.1550597}, {"type": "node", "id": 11372587741, "lat": 19.4309868, "lon": -99.1554705}, {"type": "node", "id": 11372587742, "lat": 19.4310236, "lon": -99.1554587}, {"type": "node", "id": 11372587743, "lat": 19.4309637, "lon": -99.1552477}, {"type": "node", "id": 11372587744, "lat": 19.4309268, "lon": -99.1552595}, {"type": "node", "id": 11372587745, "lat": 19.430919, "lon": -99.1552322}, {"type": "node", "id": 11372587746, "lat": 19.4309829, "lon": -99.1552121}, {"type": "node", "id": 11372587747, "lat": 19.4309704, "lon": -99.1551673}, {"type": "node", "id": 11372587748, "lat": 19.4309438, "lon": -99.1551757}, {"type": "node", "id": 11372587749, "lat": 19.4309197, "lon": -99.1550893}, {"type": "node", "id": 11372587750, "lat": 19.4309547, "lon": -99.1550778}, {"type": "node", "id": 11372587751, "lat": 19.4309627, "lon": -99.155104}, {"type": "node", "id": 11372587752, "lat": 19.4309866, "lon": -99.1550954}, {"type": "node", "id": 11372587753, "lat": 19.4309796, "lon": -99.1550696}, {"type": "node", "id": 11372587754, "lat": 19.431022, "lon": -99.1551023}, {"type": "node", "id": 11372587755, "lat": 19.4310006, "lon": -99.1551089}, {"type": "node", "id": 11372587756, "lat": 19.4310121, "lon": -99.1551501}, {"type": "node", "id": 11372587757, "lat": 19.4310337, "lon": -99.1551434}, {"type": "node", "id": 11372587758, "lat": 19.4310593, "lon": -99.1552335}, {"type": "node", "id": 11372587759, "lat": 19.4310372, "lon": -99.1552401}, {"type": "node", "id": 11372587760, "lat": 19.4310481, "lon": -99.1552791}, {"type": "node", "id": 11372587761, "lat": 19.4310703, "lon": -99.1552724}, {"type": "node", "id": 11372587762, "lat": 19.4310914, "lon": -99.1553466}, {"type": "node", "id": 11372587763, "lat": 19.4310688, "lon": -99.1553533}, {"type": "node", "id": 11372587764, "lat": 19.4310783, "lon": -99.1553871}, {"type": "node", "id": 11372587765, "lat": 19.431101, "lon": -99.1553803}, {"type": "node", "id": 11372587766, "lat": 19.4313145, "lon": -99.1554141}, {"type": "node", "id": 11372587767, "lat": 19.4312655, "lon": -99.1552332}, {"type": "node", "id": 11372587768, "lat": 19.4310764, "lon": -99.1552939}, {"type": "node", "id": 11372596369, "lat": 19.4312002, "lon": -99.1549972}, {"type": "node", "id": 11372596370, "lat": 19.4312627, "lon": -99.1552233}, {"type": "node", "id": 11372596371, "lat": 19.4313153, "lon": -99.155207}, {"type": "node", "id": 11372596372, "lat": 19.4313075, "lon": -99.1551762}, {"type": "node", "id": 11372596373, "lat": 19.4312543, "lon": -99.1551923}, {"type": "node", "id": 11372596374, "lat": 19.4314049, "lon": -99.1551467}, {"type": "node", "id": 11372596375, "lat": 19.4314132, "lon": -99.1551776}, {"type": "node", "id": 11372596376, "lat": 19.4314631, "lon": -99.1551625}, {"type": "node", "id": 11372596377, "lat": 19.4314548, "lon": -99.1551315}, {"type": "node", "id": 11372596378, "lat": 19.4313982, "lon": -99.154934}, {"type": "node", "id": 11372596379, "lat": 19.4313892, "lon": -99.1548766}, {"type": "node", "id": 11372596380, "lat": 19.4314164, "lon": -99.1548254}, {"type": "node", "id": 11372596381, "lat": 19.4314663, "lon": -99.1548057}, {"type": "node", "id": 11372596382, "lat": 19.4314984, "lon": -99.1548117}, {"type": "node", "id": 11372596383, "lat": 19.4315119, "lon": -99.1548178}, {"type": "node", "id": 11372596384, "lat": 19.4313879, "lon": -99.1548921}, {"type": "node", "id": 11372596385, "lat": 19.4314833, "lon": -99.1549296}, {"type": "node", "id": 11372596386, "lat": 19.4314724, "lon": -99.1549301}, {"type": "node", "id": 11372596387, "lat": 19.431462, "lon": -99.154927}, {"type": "node", "id": 11372596388, "lat": 19.431453, "lon": -99.1549204}, {"type": "node", "id": 11372596389, "lat": 19.4314466, "lon": -99.1549111}, {"type": "node", "id": 11372596390, "lat": 19.4314737, "lon": -99.1548599}, {"type": "node", "id": 11372596391, "lat": 19.4314847, "lon": -99.154861}, {"type": "node", "id": 11372596392, "lat": 19.4314948, "lon": -99.1548658}, {"type": "node", "id": 11372596393, "lat": 19.4315028, "lon": -99.1548739}, {"type": "node", "id": 11372596394, "lat": 19.4315079, "lon": -99.1548843}, {"type": "node", "id": 11372596395, "lat": 19.4314433, "lon": -99.1549002}, {"type": "node", "id": 11372596396, "lat": 19.4314435, "lon": -99.1548886}, {"type": "node", "id": 11372596397, "lat": 19.4314472, "lon": -99.1548778}, {"type": "node", "id": 11372596398, "lat": 19.431454, "lon": -99.1548688}, {"type": "node", "id": 11372596399, "lat": 19.4314632, "lon": -99.1548626}, {"type": "node", "id": 11372596400, "lat": 19.4315094, "lon": -99.1548959}, {"type": "node", "id": 11372596401, "lat": 19.4315074, "lon": -99.1549074}, {"type": "node", "id": 11372596402, "lat": 19.4315019, "lon": -99.1549175}, {"type": "node", "id": 11372596403, "lat": 19.4314935, "lon": -99.1549252}, {"type": "node", "id": 11372596404, "lat": 19.4313668, "lon": -99.1548341}, {"type": "node", "id": 11372596405, "lat": 19.4315253, "lon": -99.1547804}, {"type": "node", "id": 11372596406, "lat": 19.4314168, "lon": -99.1544171}, {"type": "node", "id": 11372596407, "lat": 19.4314304, "lon": -99.1546655}, {"type": "node", "id": 11372596408, "lat": 19.4313829, "lon": -99.1546823}, {"type": "node", "id": 11372596409, "lat": 19.4313371, "lon": -99.1545363}, {"type": "node", "id": 11372596410, "lat": 19.4313846, "lon": -99.1545194}, {"type": "node", "id": 11372596411, "lat": 19.4314152, "lon": -99.1546169}, {"type": "node", "id": 11372596412, "lat": 19.4313677, "lon": -99.1546337}, {"type": "node", "id": 11372596413, "lat": 19.4313994, "lon": -99.1545659}, {"type": "node", "id": 11372596414, "lat": 19.4313519, "lon": -99.1545828}, {"type": "node", "id": 11372596415, "lat": 19.4316285, "lon": -99.1543421}, {"type": "node", "id": 11372596416, "lat": 19.4316589, "lon": -99.1544341}, {"type": "node", "id": 11372596417, "lat": 19.4316479, "lon": -99.1544381}, {"type": "node", "id": 11372596418, "lat": 19.4316601, "lon": -99.1544753}, {"type": "node", "id": 11372596419, "lat": 19.4316494, "lon": -99.1544429}, {"type": "node", "id": 11372596420, "lat": 19.431458, "lon": -99.1545472}, {"type": "node", "id": 11372596421, "lat": 19.4319043, "lon": -99.1545831}, {"type": "node", "id": 11372596422, "lat": 19.4317281, "lon": -99.1546439}, {"type": "node", "id": 11372596423, "lat": 19.4317111, "lon": -99.1545936}, {"type": "node", "id": 11372596424, "lat": 19.4316767, "lon": -99.1546062}, {"type": "node", "id": 11372596425, "lat": 19.4316367, "lon": -99.1544839}, {"type": "node", "id": 11372596426, "lat": 19.4315963, "lon": -99.1544624}, {"type": "node", "id": 11372596427, "lat": 19.4316062, "lon": -99.1544947}, {"type": "node", "id": 11372596428, "lat": 19.4315297, "lon": -99.1545218}, {"type": "node", "id": 11372596429, "lat": 19.4315197, "lon": -99.1544904}, {"type": "node", "id": 11372596430, "lat": 19.4314898, "lon": -99.1545013}, {"type": "node", "id": 11372596431, "lat": 19.4315007, "lon": -99.1545321}, {"type": "node", "id": 11372596432, "lat": 19.4314981, "lon": -99.1546737}, {"type": "node", "id": 11372596433, "lat": 19.4315835, "lon": -99.1546434}, {"type": "node", "id": 11372596434, "lat": 19.4315722, "lon": -99.1546076}, {"type": "node", "id": 11372596435, "lat": 19.4316662, "lon": -99.1545743}, {"type": "node", "id": 11372596436, "lat": 19.4315152, "lon": -99.1547276}, {"type": "node", "id": 11372596437, "lat": 19.4316891, "lon": -99.1546654}, {"type": "node", "id": 11372596438, "lat": 19.4316865, "lon": -99.1546582}, {"type": "node", "id": 11372596439, "lat": 19.4318813, "lon": -99.154591}, {"type": "node", "id": 11372596440, "lat": 19.431882, "lon": -99.1546584}, {"type": "node", "id": 11374143147, "lat": 19.4317159, "lon": -99.1540983}, {"type": "node", "id": 11374143148, "lat": 19.4317508, "lon": -99.153976}, {"type": "node", "id": 11374143151, "lat": 19.431598, "lon": -99.1541428}, {"type": "node", "id": 11374143152, "lat": 19.4315436, "lon": -99.1539947}, {"type": "node", "id": 11374143153, "lat": 19.4317291, "lon": -99.1539178}, {"type": "node", "id": 11374177299, "lat": 19.430676, "lon": -99.1543262}, {"type": "node", "id": 11374177300, "lat": 19.4309168, "lon": -99.1542192}, {"type": "node", "id": 11374177301, "lat": 19.4306844, "lon": -99.1543501}, {"type": "node", "id": 11374177302, "lat": 19.4306249, "lon": -99.1543736}, {"type": "node", "id": 11374177303, "lat": 19.4306164, "lon": -99.1543492}, {"type": "node", "id": 11374177304, "lat": 19.4305778, "lon": -99.1543644}, {"type": "node", "id": 11374177305, "lat": 19.4305495, "lon": -99.1542837}, {"type": "node", "id": 11374177306, "lat": 19.4305006, "lon": -99.154303}, {"type": "node", "id": 11374177307, "lat": 19.4304798, "lon": -99.1542439}, {"type": "node", "id": 11374177308, "lat": 19.4305041, "lon": -99.1542343}, {"type": "node", "id": 11374177309, "lat": 19.430488, "lon": -99.1541884}, {"type": "node", "id": 11374177310, "lat": 19.4308154, "lon": -99.1541571}, {"type": "node", "id": 11374177318, "lat": 19.4308902, "lon": -99.1539769}, {"type": "node", "id": 11374177319, "lat": 19.4310057, "lon": -99.1542797}, {"type": "node", "id": 11374177320, "lat": 19.4310439, "lon": -99.1542648}, {"type": "node", "id": 11374177321, "lat": 19.431049, "lon": -99.1542795}, {"type": "node", "id": 11374177322, "lat": 19.4311077, "lon": -99.1542565}, {"type": "node", "id": 11374177323, "lat": 19.4311025, "lon": -99.1542415}, {"type": "node", "id": 11374177324, "lat": 19.4311735, "lon": -99.1542137}, {"type": "node", "id": 11374177325, "lat": 19.4311665, "lon": -99.1541197}, {"type": "node", "id": 11374177326, "lat": 19.4311383, "lon": -99.1540387}, {"type": "node", "id": 11374177327, "lat": 19.4311438, "lon": -99.1541286}, {"type": "node", "id": 11374177328, "lat": 19.4311139, "lon": -99.1540483}, {"type": "node", "id": 11374177329, "lat": 19.4309473, "lon": -99.1541408}, {"type": "node", "id": 11374177330, "lat": 19.4309561, "lon": -99.1541373}, {"type": "node", "id": 11374756581, "lat": 19.4303074, "lon": -99.1546254}, {"type": "node", "id": 11374756582, "lat": 19.4295888, "lon": -99.1547869}, {"type": "node", "id": 11374756583, "lat": 19.429303, "lon": -99.1540581}, {"type": "node", "id": 11374756584, "lat": 19.4293507, "lon": -99.153936}, {"type": "node", "id": 11374756585, "lat": 19.4300372, "lon": -99.1536618}, {"type": "node", "id": 11374756586, "lat": 19.4301138, "lon": -99.1536948}, {"type": "node", "id": 11374756587, "lat": 19.4303609, "lon": -99.1545176}, {"type": "node", "id": 11374756588, "lat": 19.4294808, "lon": -99.153884}, {"type": "node", "id": 11374756589, "lat": 19.429512, "lon": -99.1539716}, {"type": "node", "id": 11374756590, "lat": 19.429438, "lon": -99.1540008}, {"type": "node", "id": 11374756591, "lat": 19.4294595, "lon": -99.1540613}, {"type": "node", "id": 11374756592, "lat": 19.4294789, "lon": -99.1545065}, {"type": "node", "id": 11374756593, "lat": 19.4297517, "lon": -99.1544021}, {"type": "node", "id": 11374756594, "lat": 19.4297142, "lon": -99.1543035}, {"type": "node", "id": 11374756595, "lat": 19.4296244, "lon": -99.1543409}, {"type": "node", "id": 11374756596, "lat": 19.4295803, "lon": -99.1542217}, {"type": "node", "id": 11374756597, "lat": 19.4296002, "lon": -99.1542134}, {"type": "node", "id": 11374756598, "lat": 19.4295831, "lon": -99.1541662}, {"type": "node", "id": 11374756599, "lat": 19.429821, "lon": -99.1543756}, {"type": "node", "id": 11374756600, "lat": 19.4298648, "lon": -99.1543589}, {"type": "node", "id": 11374756601, "lat": 19.4297757, "lon": -99.1542505}, {"type": "node", "id": 11374756602, "lat": 19.4298202, "lon": -99.1542327}, {"type": "node", "id": 11374756603, "lat": 19.4297751, "lon": -99.1541144}, {"type": "node", "id": 11374756604, "lat": 19.4297395, "lon": -99.1540141}, {"type": "node", "id": 11374756605, "lat": 19.4296607, "lon": -99.1540447}, {"type": "node", "id": 11374756606, "lat": 19.4295884, "lon": -99.1538411}, {"type": "node", "id": 11374756607, "lat": 19.429725, "lon": -99.1537865}, {"type": "node", "id": 11374756608, "lat": 19.4296429, "lon": -99.1539946}, {"type": "node", "id": 11374756609, "lat": 19.4296054, "lon": -99.1538893}, {"type": "node", "id": 11374756610, "lat": 19.4296333, "lon": -99.1539984}, {"type": "node", "id": 11374756611, "lat": 19.4295958, "lon": -99.1538932}, {"type": "node", "id": 11374756612, "lat": 19.4296224, "lon": -99.1539678}, {"type": "node", "id": 11374756613, "lat": 19.4296067, "lon": -99.1539236}, {"type": "node", "id": 11374756614, "lat": 19.4296118, "lon": -99.153972}, {"type": "node", "id": 11374756615, "lat": 19.4295963, "lon": -99.1539276}, {"type": "node", "id": 11374756616, "lat": 19.4294818, "lon": -99.1538873}, {"type": "node", "id": 11374756618, "lat": 19.4295405, "lon": -99.15396}, {"type": "node", "id": 11374756619, "lat": 19.429611, "lon": -99.1541545}, {"type": "node", "id": 11374756620, "lat": 19.4298332, "lon": -99.1540911}, {"type": "node", "id": 11374756621, "lat": 19.4296502, "lon": -99.1541646}, {"type": "node", "id": 11374756622, "lat": 19.4296928, "lon": -99.1542839}, {"type": "node", "id": 11374756623, "lat": 19.4298759, "lon": -99.1542103}, {"type": "node", "id": 11374756624, "lat": 19.4296343, "lon": -99.1543076}, {"type": "node", "id": 11374756625, "lat": 19.4296415, "lon": -99.1541416}, {"type": "node", "id": 11374756626, "lat": 19.4302671, "lon": -99.1542051}, {"type": "node", "id": 11374756627, "lat": 19.4301077, "lon": -99.1539884}, {"type": "node", "id": 11374756628, "lat": 19.4300578, "lon": -99.1540047}, {"type": "node", "id": 11374756629, "lat": 19.4300741, "lon": -99.1538723}, {"type": "node", "id": 11374756630, "lat": 19.4299659, "lon": -99.1537268}, {"type": "node", "id": 11374756631, "lat": 19.4298708, "lon": -99.1537644}, {"type": "node", "id": 11374756632, "lat": 19.4298588, "lon": -99.1537331}, {"type": "node", "id": 11374756633, "lat": 19.4301284, "lon": -99.1542581}, {"type": "node", "id": 11374756634, "lat": 19.4300633, "lon": -99.1540244}, {"type": "node", "id": 11374756635, "lat": 19.4298277, "lon": -99.1542297}, {"type": "node", "id": 11374756636, "lat": 19.4299192, "lon": -99.1544877}, {"type": "node", "id": 11374756637, "lat": 19.4300802, "lon": -99.1544282}, {"type": "node", "id": 11374756638, "lat": 19.4300319, "lon": -99.154295}, {"type": "node", "id": 11374756639, "lat": 19.4300239, "lon": -99.1538886}, {"type": "node", "id": 11374756640, "lat": 19.4297875, "lon": -99.1539624}, {"type": "node", "id": 11374756643, "lat": 19.4295289, "lon": -99.154634}, {"type": "node", "id": 11374756644, "lat": 19.4295806, "lon": -99.1544678}, {"type": "node", "id": 11374756645, "lat": 19.4296024, "lon": -99.1545296}, {"type": "node", "id": 11374756646, "lat": 19.4296644, "lon": -99.1545057}, {"type": "node", "id": 11374756647, "lat": 19.4296512, "lon": -99.1544692}, {"type": "node", "id": 11374756648, "lat": 19.4296703, "lon": -99.1544619}, {"type": "node", "id": 11374756649, "lat": 19.4296616, "lon": -99.1544366}, {"type": "node", "id": 11374756650, "lat": 19.4298723, "lon": -99.154356}, {"type": "node", "id": 11374756651, "lat": 19.4301093, "lon": -99.1546978}, {"type": "node", "id": 11374756652, "lat": 19.4300242, "lon": -99.154448}, {"type": "node", "id": 11374756653, "lat": 19.4301683, "lon": -99.1544078}, {"type": "node", "id": 11374756654, "lat": 19.4301217, "lon": -99.1544252}, {"type": "node", "id": 11374756655, "lat": 19.4301039, "lon": -99.1543719}, {"type": "node", "id": 11374756656, "lat": 19.4301505, "lon": -99.1543545}, {"type": "node", "id": 11374756657, "lat": 19.429873, "lon": -99.1545054}, {"type": "node", "id": 11374756658, "lat": 19.4299576, "lon": -99.1547533}, {"type": "node", "id": 11374756659, "lat": 19.4300325, "lon": -99.1547259}, {"type": "node", "id": 11374756660, "lat": 19.4299478, "lon": -99.1544772}, {"type": "node", "id": 11374756661, "lat": 19.4298411, "lon": -99.1547959}, {"type": "node", "id": 11374756662, "lat": 19.4297569, "lon": -99.1545499}, {"type": "node", "id": 11374756663, "lat": 19.42979, "lon": -99.1546465}, {"type": "node", "id": 11374756664, "lat": 19.4297322, "lon": -99.1546685}, {"type": "node", "id": 11374756665, "lat": 19.4297613, "lon": -99.1547542}, {"type": "node", "id": 11374756666, "lat": 19.4298193, "lon": -99.1547321}, {"type": "node", "id": 11374756667, "lat": 19.4297115, "lon": -99.1547681}, {"type": "node", "id": 11374756668, "lat": 19.4296885, "lon": -99.1547765}, {"type": "node", "id": 11374798169, "lat": 19.4296419, "lon": -99.1547546}, {"type": "node", "id": 11374798170, "lat": 19.4296188, "lon": -99.1546842}, {"type": "node", "id": 11374798171, "lat": 19.4296769, "lon": -99.1546628}, {"type": "node", "id": 11374798172, "lat": 19.4297113, "lon": -99.1548433}, {"type": "node", "id": 11377242829, "lat": 19.429372, "lon": -99.1549683}, {"type": "node", "id": 11377242831, "lat": 19.4290214, "lon": -99.1540762}, {"type": "node", "id": 11377242832, "lat": 19.4291422, "lon": -99.1541281}, {"type": "node", "id": 11377242833, "lat": 19.4294278, "lon": -99.1548432}, {"type": "node", "id": 11377242850, "lat": 19.4287371, "lon": -99.1548698}, {"type": "node", "id": 11377242851, "lat": 19.4286951, "lon": -99.1547609}, {"type": "node", "id": 11377243490, "lat": 19.4289552, "lon": -99.1546003}, {"type": "node", "id": 11377243491, "lat": 19.4287554, "lon": -99.1546839}, {"type": "node", "id": 11377243493, "lat": 19.4288774, "lon": -99.1543893}, {"type": "node", "id": 11377243494, "lat": 19.4289632, "lon": -99.1543534}, {"type": "node", "id": 11377243496, "lat": 19.4289665, "lon": -99.154099}, {"type": "node", "id": 11377243497, "lat": 19.429007, "lon": -99.1542138}, {"type": "node", "id": 11377243498, "lat": 19.4290396, "lon": -99.1542328}, {"type": "node", "id": 11377243499, "lat": 19.4291628, "lon": -99.1541797}, {"type": "node", "id": 11377243503, "lat": 19.429176, "lon": -99.1542127}, {"type": "node", "id": 11377243504, "lat": 19.4290225, "lon": -99.1542782}, {"type": "node", "id": 11377243505, "lat": 19.4289993, "lon": -99.1542169}, {"type": "node", "id": 11377243506, "lat": 19.429217, "lon": -99.1543155}, {"type": "node", "id": 11377243507, "lat": 19.4288984, "lon": -99.1544457}, {"type": "node", "id": 11377243508, "lat": 19.4289472, "lon": -99.1543104}, {"type": "node", "id": 11377243509, "lat": 19.42901, "lon": -99.1542836}, {"type": "node", "id": 11377243510, "lat": 19.4290343, "lon": -99.1545673}, {"type": "node", "id": 11377243511, "lat": 19.4290177, "lon": -99.1545222}, {"type": "node", "id": 11377243512, "lat": 19.4292599, "lon": -99.1544228}, {"type": "node", "id": 11377243513, "lat": 19.4290636, "lon": -99.1546464}, {"type": "node", "id": 11377243514, "lat": 19.4293074, "lon": -99.1545418}, {"type": "node", "id": 11377243515, "lat": 19.4291158, "lon": -99.1547873}, {"type": "node", "id": 11377243516, "lat": 19.4293628, "lon": -99.1546805}, {"type": "node", "id": 11377243517, "lat": 19.4291627, "lon": -99.1549139}, {"type": "node", "id": 11377243518, "lat": 19.4294137, "lon": -99.1548077}, {"type": "node", "id": 11377243519, "lat": 19.4292935, "lon": -99.1548586}, {"type": "node", "id": 11377243520, "lat": 19.4293371, "lon": -99.1549817}, {"type": "node", "id": 11377243521, "lat": 19.4292063, "lon": -99.1550318}, {"type": "node", "id": 11377243522, "lat": 19.428818, "lon": -99.1548368}, {"type": "node", "id": 11377243523, "lat": 19.4289261, "lon": -99.1551393}, {"type": "node", "id": 11377243524, "lat": 19.4288327, "lon": -99.154878}, {"type": "node", "id": 11377243525, "lat": 19.4289216, "lon": -99.1548426}, {"type": "node", "id": 11377243526, "lat": 19.4289772, "lon": -99.1549995}, {"type": "node", "id": 11377243527, "lat": 19.4290066, "lon": -99.1549878}, {"type": "node", "id": 11377243528, "lat": 19.4290442, "lon": -99.155094}, {"type": "node", "id": 11377243529, "lat": 19.4286774, "lon": -99.1547165}, {"type": "node", "id": 11377243530, "lat": 19.4289077, "lon": -99.1548018}, {"type": "node", "id": 11384849828, "lat": 19.4302022, "lon": -99.1568823}, {"type": "node", "id": 11384849829, "lat": 19.4309343, "lon": -99.1566585}, {"type": "node", "id": 11384849830, "lat": 19.4309278, "lon": -99.1575104}, {"type": "node", "id": 11384849831, "lat": 19.4311496, "lon": -99.1574432}, {"type": "node", "id": 11384849832, "lat": 19.4308556, "lon": -99.1572458}, {"type": "node", "id": 11384849833, "lat": 19.4310767, "lon": -99.1571774}, {"type": "node", "id": 11384849834, "lat": 19.4309143, "lon": -99.1574615}, {"type": "node", "id": 11384849835, "lat": 19.4306983, "lon": -99.1575269}, {"type": "node", "id": 11384849837, "lat": 19.4306726, "lon": -99.1570053}, {"type": "node", "id": 11384849838, "lat": 19.4307379, "lon": -99.1572442}, {"type": "node", "id": 11384849839, "lat": 19.4308462, "lon": -99.1572111}, {"type": "node", "id": 11384849840, "lat": 19.4307116, "lon": -99.157146}, {"type": "node", "id": 11384849842, "lat": 19.4305854, "lon": -99.1575607}, {"type": "node", "id": 11384849843, "lat": 19.4305297, "lon": -99.1573559}, {"type": "node", "id": 11384849844, "lat": 19.4306425, "lon": -99.1573216}, {"type": "node", "id": 11384849845, "lat": 19.4303709, "lon": -99.1574838}, {"type": "node", "id": 11384849846, "lat": 19.4305504, "lon": -99.1574305}, {"type": "node", "id": 11384849848, "lat": 19.4305919, "lon": -99.1571359}, {"type": "node", "id": 11384849849, "lat": 19.4302972, "lon": -99.1572211}, {"type": "node", "id": 11384849850, "lat": 19.4305157, "lon": -99.1573055}, {"type": "node", "id": 11384849851, "lat": 19.430629, "lon": -99.1572723}, {"type": "node", "id": 11384849852, "lat": 19.4305405, "lon": -99.1571507}, {"type": "node", "id": 11384849853, "lat": 19.4305071, "lon": -99.1570329}, {"type": "node", "id": 11384849854, "lat": 19.4303151, "lon": -99.1570879}, {"type": "node", "id": 11384849855, "lat": 19.4302987, "lon": -99.1570299}, {"type": "node", "id": 11384849856, "lat": 19.4302479, "lon": -99.1570451}, {"type": "node", "id": 11384849857, "lat": 19.4305696, "lon": -99.1570534}, {"type": "node", "id": 11384849858, "lat": 19.4305377, "lon": -99.1570628}, {"type": "node", "id": 11384849859, "lat": 19.4305441, "lon": -99.157085}, {"type": "node", "id": 11384849860, "lat": 19.4305236, "lon": -99.157091}, {"type": "node", "id": 11384849861, "lat": 19.4306585, "lon": -99.1569545}, {"type": "node", "id": 11384849862, "lat": 19.4306502, "lon": -99.1569244}, {"type": "node", "id": 11384849863, "lat": 19.4305539, "lon": -99.1569867}, {"type": "node", "id": 11384849864, "lat": 19.4306045, "lon": -99.1567593}, {"type": "node", "id": 11384849865, "lat": 19.4305145, "lon": -99.1568412}, {"type": "node", "id": 11384849866, "lat": 19.4305514, "lon": -99.1568297}, {"type": "node", "id": 11384849867, "lat": 19.430567, "lon": -99.1568862}, {"type": "node", "id": 11384849868, "lat": 19.4305996, "lon": -99.156876}, {"type": "node", "id": 11384850269, "lat": 19.4305702, "lon": -99.1567698}, {"type": "node", "id": 11384850270, "lat": 19.4305455, "lon": -99.1569558}, {"type": "node", "id": 11384850271, "lat": 19.4303837, "lon": -99.1570044}, {"type": "node", "id": 11384850272, "lat": 19.4303377, "lon": -99.1568409}, {"type": "node", "id": 11384850273, "lat": 19.4305005, "lon": -99.1567911}, {"type": "node", "id": 11384850274, "lat": 19.4305264, "lon": -99.1568839}, {"type": "node", "id": 11384850275, "lat": 19.4303633, "lon": -99.1569327}, {"type": "node", "id": 11384850276, "lat": 19.430375, "lon": -99.1569747}, {"type": "node", "id": 11384850277, "lat": 19.4304092, "lon": -99.1569645}, {"type": "node", "id": 11384850278, "lat": 19.4303978, "lon": -99.1569223}, {"type": "node", "id": 11384850279, "lat": 19.4305376, "lon": -99.1569261}, {"type": "node", "id": 11384850280, "lat": 19.4305059, "lon": -99.1569356}, {"type": "node", "id": 11384850281, "lat": 19.4304945, "lon": -99.1568935}, {"type": "node", "id": 11384850282, "lat": 19.4303129, "lon": -99.1570256}, {"type": "node", "id": 11384850283, "lat": 19.4303028, "lon": -99.1569911}, {"type": "node", "id": 11384850284, "lat": 19.430374, "lon": -99.156971}, {"type": "node", "id": 11384850285, "lat": 19.430821, "lon": -99.1571125}, {"type": "node", "id": 11384850286, "lat": 19.4307137, "lon": -99.1567259}, {"type": "node", "id": 11384850287, "lat": 19.4310021, "lon": -99.1569055}, {"type": "node", "id": 11384850288, "lat": 19.4307832, "lon": -99.1569722}, {"type": "node", "id": 11384850290, "lat": 19.4307994, "lon": -99.1568269}, {"type": "node", "id": 11384850291, "lat": 19.4309666, "lon": -99.1567762}, {"type": "node", "id": 11384850293, "lat": 19.4308546, "lon": -99.1568102}, {"type": "node", "id": 11384850294, "lat": 19.4309102, "lon": -99.1567933}, {"type": "node", "id": 11384850296, "lat": 19.4309333, "lon": -99.1568841}, {"type": "node", "id": 11384850297, "lat": 19.4308761, "lon": -99.1569016}, {"type": "node", "id": 11384850298, "lat": 19.4308653, "lon": -99.15685}, {"type": "node", "id": 11384850299, "lat": 19.430921, "lon": -99.156833}, {"type": "node", "id": 11384850300, "lat": 19.4307456, "lon": -99.1568433}, {"type": "node", "id": 11384850301, "lat": 19.4307291, "lon": -99.1567836}, {"type": "node", "id": 11384850302, "lat": 19.4309504, "lon": -99.156717}, {"type": "node", "id": 11384850303, "lat": 19.4307633, "lon": -99.1567733}, {"type": "node", "id": 11384850304, "lat": 19.4308739, "lon": -99.1567571}, {"type": "node", "id": 11384850305, "lat": 19.4308696, "lon": -99.1567413}, {"type": "node", "id": 11384850306, "lat": 19.4307676, "lon": -99.1567893}, {"type": "node", "id": 11386697992, "lat": 19.4303311, "lon": -99.1583552}, {"type": "node", "id": 11386697993, "lat": 19.4301338, "lon": -99.1583453}, {"type": "node", "id": 11386697994, "lat": 19.4305306, "lon": -99.1586464}, {"type": "node", "id": 11386697995, "lat": 19.4305467, "lon": -99.1586116}, {"type": "node", "id": 11386697996, "lat": 19.4302035, "lon": -99.1578825}, {"type": "node", "id": 11386697997, "lat": 19.4302526, "lon": -99.158065}, {"type": "node", "id": 11386697998, "lat": 19.4301632, "lon": -99.1580921}, {"type": "node", "id": 11386697999, "lat": 19.4302453, "lon": -99.1580379}, {"type": "node", "id": 11386698000, "lat": 19.4303793, "lon": -99.1579973}, {"type": "node", "id": 11386698001, "lat": 19.430337, "lon": -99.1578422}, {"type": "node", "id": 11386698002, "lat": 19.4302093, "lon": -99.1580781}, {"type": "node", "id": 11386698003, "lat": 19.4302388, "lon": -99.1581864}, {"type": "node", "id": 11386698004, "lat": 19.430416, "lon": -99.1581321}, {"type": "node", "id": 11386698005, "lat": 19.4303865, "lon": -99.1580238}, {"type": "node", "id": 11386698006, "lat": 19.4301925, "lon": -99.1582006}, {"type": "node", "id": 11386698007, "lat": 19.4300374, "lon": -99.1586402}, {"type": "node", "id": 11386698008, "lat": 19.4299915, "lon": -99.158467}, {"type": "node", "id": 11386698009, "lat": 19.430053, "lon": -99.1586098}, {"type": "node", "id": 11386698010, "lat": 19.4300205, "lon": -99.1584874}, {"type": "node", "id": 11386698011, "lat": 19.4300764, "lon": -99.1584204}, {"type": "node", "id": 11386698012, "lat": 19.4301037, "lon": -99.1585436}, {"type": "node", "id": 11386698013, "lat": 19.4301445, "lon": -99.1584657}, {"type": "node", "id": 11386698014, "lat": 19.4298561, "lon": -99.1589077}, {"type": "node", "id": 11386698015, "lat": 19.4298634, "lon": -99.1589126}, {"type": "node", "id": 11386698016, "lat": 19.4298741, "lon": -99.158918}, {"type": "node", "id": 11386698017, "lat": 19.4298861, "lon": -99.1589208}, {"type": "node", "id": 11386698018, "lat": 19.429901, "lon": -99.1589218}, {"type": "node", "id": 11386698019, "lat": 19.4299145, "lon": -99.1589211}, {"type": "node", "id": 11386698020, "lat": 19.4299247, "lon": -99.1589192}, {"type": "node", "id": 11386698021, "lat": 19.4299387, "lon": -99.1589154}, {"type": "node", "id": 11386698022, "lat": 19.4299552, "lon": -99.1589078}, {"type": "node", "id": 11386698023, "lat": 19.4299683, "lon": -99.1588983}, {"type": "node", "id": 11386698024, "lat": 19.4299817, "lon": -99.1588821}, {"type": "node", "id": 11386698025, "lat": 19.429992, "lon": -99.1588536}, {"type": "node", "id": 11386698026, "lat": 19.4299935, "lon": -99.158839}, {"type": "node", "id": 11386698027, "lat": 19.4299935, "lon": -99.1588225}, {"type": "node", "id": 11386698028, "lat": 19.4299911, "lon": -99.1588092}, {"type": "node", "id": 11386698029, "lat": 19.4299506, "lon": -99.1590617}, {"type": "node", "id": 11386698030, "lat": 19.4299328, "lon": -99.1591024}, {"type": "node", "id": 11386698031, "lat": 19.4298973, "lon": -99.1590355}, {"type": "node", "id": 11386698032, "lat": 19.429885, "lon": -99.1590636}, {"type": "node", "id": 11386698033, "lat": 19.4298984, "lon": -99.1590702}, {"type": "node", "id": 11386698034, "lat": 19.4298929, "lon": -99.1590829}, {"type": "node", "id": 11386698035, "lat": 19.4298814, "lon": -99.1589997}, {"type": "node", "id": 11386698036, "lat": 19.4299375, "lon": -99.1590279}, {"type": "node", "id": 11386698037, "lat": 19.4298997, "lon": -99.158959}, {"type": "node", "id": 11386698038, "lat": 19.4299557, "lon": -99.1589872}, {"type": "node", "id": 11386698039, "lat": 19.4299317, "lon": -99.1591339}, {"type": "node", "id": 11386698040, "lat": 19.4300435, "lon": -99.1591885}, {"type": "node", "id": 11386698041, "lat": 19.4299772, "lon": -99.1590292}, {"type": "node", "id": 11386698042, "lat": 19.4300889, "lon": -99.1590839}, {"type": "node", "id": 11386698043, "lat": 19.4301308, "lon": -99.1590645}, {"type": "node", "id": 11386698044, "lat": 19.4299432, "lon": -99.1589697}, {"type": "node", "id": 11386698045, "lat": 19.4303127, "lon": -99.1589041}, {"type": "node", "id": 11386698046, "lat": 19.4302804, "lon": -99.1589742}, {"type": "node", "id": 11386698047, "lat": 19.4301509, "lon": -99.1584534}, {"type": "node", "id": 11386698048, "lat": 19.4303243, "lon": -99.1585431}, {"type": "node", "id": 11388832332, "lat": 19.4295139, "lon": -99.1582466}, {"type": "node", "id": 11388832333, "lat": 19.4294188, "lon": -99.1581956}, {"type": "node", "id": 11388832334, "lat": 19.428916, "lon": -99.1592723}, {"type": "node", "id": 11388832335, "lat": 19.4290956, "lon": -99.1588866}, {"type": "node", "id": 11388832336, "lat": 19.4291512, "lon": -99.1593952}, {"type": "node", "id": 11388832337, "lat": 19.4294391, "lon": -99.1583584}, {"type": "node", "id": 11388832338, "lat": 19.4293325, "lon": -99.1590114}, {"type": "node", "id": 11388832339, "lat": 19.42919, "lon": -99.1586838}, {"type": "node", "id": 11388832340, "lat": 19.4292291, "lon": -99.1586}, {"type": "node", "id": 11388832341, "lat": 19.4293667, "lon": -99.1587777}, {"type": "node", "id": 11388832342, "lat": 19.4294062, "lon": -99.158694}, {"type": "node", "id": 11388832343, "lat": 19.4293658, "lon": -99.1586724}, {"type": "node", "id": 11388832344, "lat": 19.4294197, "lon": -99.1585577}, {"type": "node", "id": 11388832345, "lat": 19.4292825, "lon": -99.1584854}, {"type": "node", "id": 11388832346, "lat": 19.4293685, "lon": -99.1585306}, {"type": "node", "id": 11388832347, "lat": 19.4292833, "lon": -99.1586287}, {"type": "node", "id": 11388832348, "lat": 19.4293389, "lon": -99.1585151}, {"type": "node", "id": 11388832349, "lat": 19.4293129, "lon": -99.1586444}, {"type": "node", "id": 11388832350, "lat": 19.4293278, "lon": -99.1586139}, {"type": "node", "id": 11388832351, "lat": 19.4292985, "lon": -99.1585977}, {"type": "node", "id": 11388832352, "lat": 19.4293549, "lon": -99.1585584}, {"type": "node", "id": 11388832353, "lat": 19.4293256, "lon": -99.1585422}, {"type": "node", "id": 11388832354, "lat": 19.4293761, "lon": -99.1585346}, {"type": "node", "id": 11388832355, "lat": 19.4294026, "lon": -99.1584779}, {"type": "node", "id": 11388832356, "lat": 19.4293089, "lon": -99.1584286}, {"type": "node", "id": 11388832357, "lat": 19.4293599, "lon": -99.1583191}, {"type": "node", "id": 11388832358, "lat": 19.4294381, "lon": -99.1584009}, {"type": "node", "id": 11388832359, "lat": 19.4294127, "lon": -99.1583879}, {"type": "node", "id": 11388832360, "lat": 19.4293773, "lon": -99.1584643}, {"type": "node", "id": 11388832361, "lat": 19.4295372, "lon": -99.1583314}, {"type": "node", "id": 11388832362, "lat": 19.4294696, "lon": -99.15835}, {"type": "node", "id": 11388832363, "lat": 19.4294498, "lon": -99.1582745}, {"type": "node", "id": 11388832364, "lat": 19.4294164, "lon": -99.1583471}, {"type": "node", "id": 11388832365, "lat": 19.4295695, "lon": -99.1584486}, {"type": "node", "id": 11388832366, "lat": 19.4294861, "lon": -99.1584717}, {"type": "node", "id": 11388832367, "lat": 19.4294678, "lon": -99.1583949}, {"type": "node", "id": 11388832368, "lat": 19.4294323, "lon": -99.1586429}, {"type": "node", "id": 11388842369, "lat": 19.4295648, "lon": -99.158607}, {"type": "node", "id": 11388842370, "lat": 19.4294337, "lon": -99.1585835}, {"type": "node", "id": 11388842371, "lat": 19.4294831, "lon": -99.15857}, {"type": "node", "id": 11388842372, "lat": 19.4294707, "lon": -99.1585189}, {"type": "node", "id": 11388842373, "lat": 19.429435, "lon": -99.1585287}, {"type": "node", "id": 11388842374, "lat": 19.429436, "lon": -99.1584855}, {"type": "node", "id": 11388842375, "lat": 19.4295248, "lon": -99.158461}, {"type": "node", "id": 11388842376, "lat": 19.4294296, "lon": -99.158758}, {"type": "node", "id": 11388842377, "lat": 19.4294674, "lon": -99.1587477}, {"type": "node", "id": 11388842378, "lat": 19.4294584, "lon": -99.1587108}, {"type": "node", "id": 11388842379, "lat": 19.4294305, "lon": -99.1587183}, {"type": "node", "id": 11388842380, "lat": 19.4294322, "lon": -99.158646}, {"type": "node", "id": 11388842381, "lat": 19.4296105, "lon": -99.1585974}, {"type": "node", "id": 11388842382, "lat": 19.4296498, "lon": -99.1587399}, {"type": "node", "id": 11388842383, "lat": 19.4295676, "lon": -99.1587631}, {"type": "node", "id": 11388842384, "lat": 19.4295308, "lon": -99.1586192}, {"type": "node", "id": 11388842385, "lat": 19.4294978, "lon": -99.1586282}, {"type": "node", "id": 11388842386, "lat": 19.4295577, "lon": -99.1587243}, {"type": "node", "id": 11388842387, "lat": 19.4295289, "lon": -99.1587323}, {"type": "node", "id": 11388842388, "lat": 19.4295368, "lon": -99.1586425}, {"type": "node", "id": 11388842389, "lat": 19.4295033, "lon": -99.1586514}, {"type": "node", "id": 11388842390, "lat": 19.4293668, "lon": -99.1589389}, {"type": "node", "id": 11388842391, "lat": 19.4296798, "lon": -99.1588492}, {"type": "node", "id": 11388842392, "lat": 19.4295743, "lon": -99.1588794}, {"type": "node", "id": 11388842393, "lat": 19.4295306, "lon": -99.1587763}, {"type": "node", "id": 11388842394, "lat": 19.4295584, "lon": -99.158884}, {"type": "node", "id": 11388842395, "lat": 19.4294284, "lon": -99.1589212}, {"type": "node", "id": 11388842396, "lat": 19.4294123, "lon": -99.1588487}, {"type": "node", "id": 11388842397, "lat": 19.4295386, "lon": -99.1587713}, {"type": "node", "id": 11388842398, "lat": 19.4295464, "lon": -99.1587718}, {"type": "node", "id": 11388842399, "lat": 19.4296505, "lon": -99.1587425}, {"type": "node", "id": 11388842400, "lat": 19.4294121, "lon": -99.1588435}, {"type": "node", "id": 11388842401, "lat": 19.4294282, "lon": -99.158809}, {"type": "node", "id": 11388842402, "lat": 19.4294285, "lon": -99.1588022}, {"type": "node", "id": 11388842403, "lat": 19.4294339, "lon": -99.1588035}, {"type": "node", "id": 11388842404, "lat": 19.4293977, "lon": -99.1590457}, {"type": "node", "id": 11388842405, "lat": 19.4291985, "lon": -99.159295}, {"type": "node", "id": 11388842406, "lat": 19.4292288, "lon": -99.1593106}, {"type": "node", "id": 11388842407, "lat": 19.4293592, "lon": -99.1590254}, {"type": "node", "id": 11388842408, "lat": 19.4292519, "lon": -99.159182}, {"type": "node", "id": 11388842409, "lat": 19.4290156, "lon": -99.1590583}, {"type": "node", "id": 11388842410, "lat": 19.4292841, "lon": -99.1591139}, {"type": "node", "id": 11388842411, "lat": 19.4293003, "lon": -99.1590796}, {"type": "node", "id": 11388842412, "lat": 19.4292401, "lon": -99.1591192}, {"type": "node", "id": 11388842413, "lat": 19.4292733, "lon": -99.1591368}, {"type": "node", "id": 11388842414, "lat": 19.4292509, "lon": -99.1590963}, {"type": "node", "id": 11388842415, "lat": 19.4292668, "lon": -99.1590619}, {"type": "node", "id": 11388842416, "lat": 19.4293117, "lon": -99.1590555}, {"type": "node", "id": 11388842417, "lat": 19.4292781, "lon": -99.1590378}, {"type": "node", "id": 11388842418, "lat": 19.4292096, "lon": -99.1591232}, {"type": "node", "id": 11388842419, "lat": 19.4290894, "lon": -99.1590606}, {"type": "node", "id": 11388842420, "lat": 19.4291437, "lon": -99.1589435}, {"type": "node", "id": 11388842421, "lat": 19.4292639, "lon": -99.1590062}, {"type": "node", "id": 11388842422, "lat": 19.4291769, "lon": -99.1591064}, {"type": "node", "id": 11388842423, "lat": 19.4292363, "lon": -99.1589917}, {"type": "node", "id": 11388842424, "lat": 19.429192, "lon": -99.1590733}, {"type": "node", "id": 11388842425, "lat": 19.4292247, "lon": -99.1590902}, {"type": "node", "id": 11388842426, "lat": 19.4292492, "lon": -99.1590377}, {"type": "node", "id": 11388842427, "lat": 19.4292216, "lon": -99.1590232}, {"type": "node", "id": 11388842428, "lat": 19.4291804, "lon": -99.1589628}, {"type": "node", "id": 11388842429, "lat": 19.429166, "lon": -99.1589936}, {"type": "node", "id": 11388842430, "lat": 19.4291293, "lon": -99.1589743}, {"type": "node", "id": 11388842431, "lat": 19.4291209, "lon": -99.1590771}, {"type": "node", "id": 11388842432, "lat": 19.4291355, "lon": -99.1590458}, {"type": "node", "id": 11388842433, "lat": 19.429104, "lon": -99.1590293}, {"type": "node", "id": 11388842434, "lat": 19.4289788, "lon": -99.1591374}, {"type": "node", "id": 11388842435, "lat": 19.4290549, "lon": -99.159177}, {"type": "node", "id": 11388842436, "lat": 19.4290797, "lon": -99.1591237}, {"type": "node", "id": 11388842437, "lat": 19.4291205, "lon": -99.159145}, {"type": "node", "id": 11388842438, "lat": 19.4291747, "lon": -99.1592392}, {"type": "node", "id": 11388842439, "lat": 19.4292111, "lon": -99.1591608}, {"type": "node", "id": 11388842440, "lat": 19.4290898, "lon": -99.1593631}, {"type": "node", "id": 11388842441, "lat": 19.429153, "lon": -99.159228}, {"type": "node", "id": 11388842442, "lat": 19.4291902, "lon": -99.1592472}, {"type": "node", "id": 11388842443, "lat": 19.4291795, "lon": -99.1592696}, {"type": "node", "id": 11388842444, "lat": 19.4292043, "lon": -99.1592827}, {"type": "node", "id": 11388842445, "lat": 19.4290328, "lon": -99.1593334}, {"type": "node", "id": 11388842446, "lat": 19.4290959, "lon": -99.1591982}, {"type": "node", "id": 11388842447, "lat": 19.4289729, "lon": -99.1593021}, {"type": "node", "id": 11388842448, "lat": 19.4290357, "lon": -99.159167}, {"type": "node", "id": 11388842449, "lat": 19.4292402, "lon": -99.1594417}, {"type": "node", "id": 11388842450, "lat": 19.4294167, "lon": -99.1590557}, {"type": "node", "id": 11388842451, "lat": 19.429713, "lon": -99.1589694}, {"type": "node", "id": 11388842452, "lat": 19.4297175, "lon": -99.1596306}, {"type": "node", "id": 11388842453, "lat": 19.4298233, "lon": -99.1595967}, {"type": "node", "id": 11388842454, "lat": 19.4296669, "lon": -99.159453}, {"type": "node", "id": 11388842455, "lat": 19.4296456, "lon": -99.1594599}, {"type": "node", "id": 11388842456, "lat": 19.4296365, "lon": -99.1594277}, {"type": "node", "id": 11388842457, "lat": 19.4296577, "lon": -99.1594209}, {"type": "node", "id": 11388842458, "lat": 19.4296382, "lon": -99.1593522}, {"type": "node", "id": 11388842459, "lat": 19.4296228, "lon": -99.1593571}, {"type": "node", "id": 11388842460, "lat": 19.4296167, "lon": -99.1593359}, {"type": "node", "id": 11388842461, "lat": 19.4296317, "lon": -99.1593311}, {"type": "node", "id": 11388842462, "lat": 19.4296203, "lon": -99.1592912}, {"type": "node", "id": 11388842463, "lat": 19.4297482, "lon": -99.1592499}, {"type": "node", "id": 11388842464, "lat": 19.4297819, "lon": -99.1594168}, {"type": "node", "id": 11388842465, "lat": 19.4297918, "lon": -99.1594863}, {"type": "node", "id": 11388842466, "lat": 19.4297944, "lon": -99.1594124}, {"type": "node", "id": 11388842467, "lat": 19.4298009, "lon": -99.1594834}, {"type": "node", "id": 11388842468, "lat": 19.4296769, "lon": -99.1592061}, {"type": "node", "id": 11388842469, "lat": 19.4296407, "lon": -99.1590799}, {"type": "node", "id": 11388842470, "lat": 19.4297181, "lon": -99.1591928}, {"type": "node", "id": 11388842471, "lat": 19.4296818, "lon": -99.1590666}, {"type": "node", "id": 11392613052, "lat": 19.4308953, "lon": -99.1565231}, {"type": "node", "id": 11392613053, "lat": 19.4301652, "lon": -99.1567452}, {"type": "node", "id": 11392613054, "lat": 19.4299501, "lon": -99.1559973}, {"type": "node", "id": 11392613055, "lat": 19.4306888, "lon": -99.1557684}, {"type": "node", "id": 11392613057, "lat": 19.4304799, "lon": -99.1561291}, {"type": "node", "id": 11392613058, "lat": 19.430404, "lon": -99.1558566}, {"type": "node", "id": 11392613059, "lat": 19.43036, "lon": -99.1561636}, {"type": "node", "id": 11392613060, "lat": 19.4302818, "lon": -99.1558945}, {"type": "node", "id": 11392613061, "lat": 19.4302457, "lon": -99.1561969}, {"type": "node", "id": 11392613062, "lat": 19.4302377, "lon": -99.1561689}, {"type": "node", "id": 11392613063, "lat": 19.4303527, "lon": -99.1561354}, {"type": "node", "id": 11392613064, "lat": 19.4303007, "lon": -99.1559579}, {"type": "node", "id": 11392613065, "lat": 19.4301873, "lon": -99.1559911}, {"type": "node", "id": 11392613066, "lat": 19.4301698, "lon": -99.1559292}, {"type": "node", "id": 11392613067, "lat": 19.4300238, "lon": -99.1562535}, {"type": "node", "id": 11392613068, "lat": 19.4302427, "lon": -99.1561863}, {"type": "node", "id": 11392703969, "lat": 19.4303221, "lon": -99.1561747}, {"type": "node", "id": 11392703970, "lat": 19.4303848, "lon": -99.1564046}, {"type": "node", "id": 11392703971, "lat": 19.4303608, "lon": -99.1563164}, {"type": "node", "id": 11392703972, "lat": 19.4300676, "lon": -99.1564058}, {"type": "node", "id": 11392703973, "lat": 19.4303548, "lon": -99.1564139}, {"type": "node", "id": 11392703974, "lat": 19.430363, "lon": -99.1564436}, {"type": "node", "id": 11392703975, "lat": 19.4301011, "lon": -99.1565222}, {"type": "node", "id": 11392703976, "lat": 19.4308206, "lon": -99.1562779}, {"type": "node", "id": 11392703977, "lat": 19.4302206, "lon": -99.1562952}, {"type": "node", "id": 11392703978, "lat": 19.4301657, "lon": -99.1563113}, {"type": "node", "id": 11392703979, "lat": 19.4301546, "lon": -99.156269}, {"type": "node", "id": 11392703980, "lat": 19.4302095, "lon": -99.1562528}, {"type": "node", "id": 11392703981, "lat": 19.4303217, "lon": -99.1562698}, {"type": "node", "id": 11392703982, "lat": 19.430288, "lon": -99.1562796}, {"type": "node", "id": 11392703983, "lat": 19.4302814, "lon": -99.1562542}, {"type": "node", "id": 11392703984, "lat": 19.4303151, "lon": -99.1562444}, {"type": "node", "id": 11392703985, "lat": 19.4302458, "lon": -99.1564788}, {"type": "node", "id": 11392703986, "lat": 19.430309, "lon": -99.1567014}, {"type": "node", "id": 11392703987, "lat": 19.4302598, "lon": -99.1566508}, {"type": "node", "id": 11392703988, "lat": 19.430239, "lon": -99.1566573}, {"type": "node", "id": 11392703989, "lat": 19.4302331, "lon": -99.156636}, {"type": "node", "id": 11392703990, "lat": 19.4302539, "lon": -99.1566294}, {"type": "node", "id": 11392703991, "lat": 19.4302511, "lon": -99.1566133}, {"type": "node", "id": 11392703992, "lat": 19.4302278, "lon": -99.1566209}, {"type": "node", "id": 11392703993, "lat": 19.4302193, "lon": -99.1565914}, {"type": "node", "id": 11392703994, "lat": 19.4302426, "lon": -99.1565839}, {"type": "node", "id": 11392703995, "lat": 19.4301977, "lon": -99.1564932}, {"type": "node", "id": 11392703996, "lat": 19.4302094, "lon": -99.1565347}, {"type": "node", "id": 11392703997, "lat": 19.4301743, "lon": -99.1565458}, {"type": "node", "id": 11392703998, "lat": 19.4301625, "lon": -99.1565038}, {"type": "node", "id": 11392703999, "lat": 19.4302225, "lon": -99.1566026}, {"type": "node", "id": 11392704000, "lat": 19.4304262, "lon": -99.1566658}, {"type": "node", "id": 11392704001, "lat": 19.4304025, "lon": -99.156584}, {"type": "node", "id": 11392704002, "lat": 19.4303665, "lon": -99.1565952}, {"type": "node", "id": 11392704003, "lat": 19.4303546, "lon": -99.1565517}, {"type": "node", "id": 11392704004, "lat": 19.4303905, "lon": -99.1565405}, {"type": "node", "id": 11392704005, "lat": 19.4303707, "lon": -99.15647}, {"type": "node", "id": 11392704006, "lat": 19.4302536, "lon": -99.1565062}, {"type": "node", "id": 11392704007, "lat": 19.4302735, "lon": -99.1565768}, {"type": "node", "id": 11392704008, "lat": 19.4303069, "lon": -99.1565664}, {"type": "node", "id": 11392704009, "lat": 19.4303189, "lon": -99.1566099}, {"type": "node", "id": 11392704010, "lat": 19.4302855, "lon": -99.1566203}, {"type": "node", "id": 11392704011, "lat": 19.4305188, "lon": -99.1566376}, {"type": "node", "id": 11392704012, "lat": 19.4304469, "lon": -99.1563866}, {"type": "node", "id": 11392704013, "lat": 19.4303942, "lon": -99.1564017}, {"type": "node", "id": 11392704014, "lat": 19.4304025, "lon": -99.1564317}, {"type": "node", "id": 11392704015, "lat": 19.4306376, "lon": -99.1566015}, {"type": "node", "id": 11392704016, "lat": 19.4305672, "lon": -99.1563516}, {"type": "node", "id": 11392704017, "lat": 19.430476, "lon": -99.1564881}, {"type": "node", "id": 11392704018, "lat": 19.4305371, "lon": -99.15647}, {"type": "node", "id": 11392704019, "lat": 19.4305638, "lon": -99.1565708}, {"type": "node", "id": 11392704020, "lat": 19.4305047, "lon": -99.1565884}, {"type": "node", "id": 11392704021, "lat": 19.4307124, "lon": -99.1565787}, {"type": "node", "id": 11392704022, "lat": 19.4306425, "lon": -99.1563297}, {"type": "node", "id": 11392704023, "lat": 19.4307893, "lon": -99.1565553}, {"type": "node", "id": 11392704024, "lat": 19.4307188, "lon": -99.1563075}, {"type": "node", "id": 11392704025, "lat": 19.4307975, "lon": -99.1563493}, {"type": "node", "id": 11392704026, "lat": 19.4307656, "lon": -99.1563588}, {"type": "node", "id": 11392704027, "lat": 19.4307551, "lon": -99.1563197}, {"type": "node", "id": 11392704028, "lat": 19.430787, "lon": -99.1563101}, {"type": "node", "id": 11392704029, "lat": 19.4307642, "lon": -99.1564671}, {"type": "node", "id": 11392704030, "lat": 19.4308015, "lon": -99.156456}, {"type": "node", "id": 11392704031, "lat": 19.430793, "lon": -99.1564238}, {"type": "node", "id": 11392704032, "lat": 19.4307551, "lon": -99.1564351}, {"type": "node", "id": 11392704033, "lat": 19.4307566, "lon": -99.156049}, {"type": "node", "id": 11392704034, "lat": 19.43083, "lon": -99.1562751}, {"type": "node", "id": 11392704035, "lat": 19.4307026, "lon": -99.1558185}, {"type": "node", "id": 11392704036, "lat": 19.4306721, "lon": -99.155828}, {"type": "node", "id": 11392704037, "lat": 19.4306583, "lon": -99.1557779}, {"type": "node", "id": 11393435060, "lat": 19.4306497, "lon": -99.1556173}, {"type": "node", "id": 11393435061, "lat": 19.4299142, "lon": -99.1558446}, {"type": "node", "id": 11393435062, "lat": 19.4296972, "lon": -99.1550737}, {"type": "node", "id": 11393435063, "lat": 19.4297055, "lon": -99.155053}, {"type": "node", "id": 11393435064, "lat": 19.4304094, "lon": -99.1547882}, {"type": "node", "id": 11393435065, "lat": 19.4304218, "lon": -99.1547963}, {"type": "node", "id": 11393435066, "lat": 19.4300692, "lon": -99.1557967}, {"type": "node", "id": 11393435067, "lat": 19.4300481, "lon": -99.155721}, {"type": "node", "id": 11393435068, "lat": 19.4300823, "lon": -99.1557103}, {"type": "node", "id": 11393437269, "lat": 19.4300645, "lon": -99.1556466}, {"type": "node", "id": 11393437270, "lat": 19.4298749, "lon": -99.1557052}, {"type": "node", "id": 11393437271, "lat": 19.4301554, "lon": -99.15577}, {"type": "node", "id": 11393437272, "lat": 19.4301173, "lon": -99.1556302}, {"type": "node", "id": 11393437273, "lat": 19.4300806, "lon": -99.1554959}, {"type": "node", "id": 11393437274, "lat": 19.4298515, "lon": -99.1555647}, {"type": "node", "id": 11393437275, "lat": 19.4298894, "lon": -99.1557012}, {"type": "node", "id": 11393437276, "lat": 19.4298696, "lon": -99.1555595}, {"type": "node", "id": 11393437277, "lat": 19.4298395, "lon": -99.1554475}, {"type": "node", "id": 11393437278, "lat": 19.4299884, "lon": -99.1554027}, {"type": "node", "id": 11393437279, "lat": 19.4299815, "lon": -99.1553769}, {"type": "node", "id": 11393437280, "lat": 19.4300637, "lon": -99.1553512}, {"type": "node", "id": 11393437281, "lat": 19.4301009, "lon": -99.1554898}, {"type": "node", "id": 11393437282, "lat": 19.4300854, "lon": -99.1553449}, {"type": "node", "id": 11393437283, "lat": 19.4297882, "lon": -99.1553968}, {"type": "node", "id": 11393437284, "lat": 19.4297677, "lon": -99.155324}, {"type": "node", "id": 11393437285, "lat": 19.4300446, "lon": -99.1551982}, {"type": "node", "id": 11393437286, "lat": 19.4300051, "lon": -99.1553695}, {"type": "node", "id": 11393437287, "lat": 19.4299914, "lon": -99.15532}, {"type": "node", "id": 11393437288, "lat": 19.4299456, "lon": -99.1553336}, {"type": "node", "id": 11393437289, "lat": 19.4299597, "lon": -99.1553837}, {"type": "node", "id": 11393437290, "lat": 19.4298953, "lon": -99.1554038}, {"type": "node", "id": 11393437291, "lat": 19.4298543, "lon": -99.1552576}, {"type": "node", "id": 11393437292, "lat": 19.4299186, "lon": -99.1552375}, {"type": "node", "id": 11393437293, "lat": 19.4299316, "lon": -99.1552837}, {"type": "node", "id": 11393437294, "lat": 19.4299775, "lon": -99.15527}, {"type": "node", "id": 11393437295, "lat": 19.4299644, "lon": -99.1552232}, {"type": "node", "id": 11393437296, "lat": 19.429866, "lon": -99.1554129}, {"type": "node", "id": 11393437297, "lat": 19.4298249, "lon": -99.1552668}, {"type": "node", "id": 11393437298, "lat": 19.4297856, "lon": -99.155279}, {"type": "node", "id": 11393437299, "lat": 19.4297958, "lon": -99.1553153}, {"type": "node", "id": 11393437300, "lat": 19.4298163, "lon": -99.1553881}, {"type": "node", "id": 11393437301, "lat": 19.4298267, "lon": -99.1554252}, {"type": "node", "id": 11393437302, "lat": 19.4299411, "lon": -99.1552305}, {"type": "node", "id": 11393437303, "lat": 19.4298937, "lon": -99.1550822}, {"type": "node", "id": 11393437304, "lat": 19.4298573, "lon": -99.1550941}, {"type": "node", "id": 11393437305, "lat": 19.4298776, "lon": -99.1551599}, {"type": "node", "id": 11393437306, "lat": 19.4298578, "lon": -99.1551668}, {"type": "node", "id": 11393437307, "lat": 19.4298701, "lon": -99.1552051}, {"type": "node", "id": 11393437308, "lat": 19.4298422, "lon": -99.1552135}, {"type": "node", "id": 11393437309, "lat": 19.4297574, "lon": -99.1552875}, {"type": "node", "id": 11393437310, "lat": 19.4298472, "lon": -99.15526}, {"type": "node", "id": 11393437311, "lat": 19.4297449, "lon": -99.1552429}, {"type": "node", "id": 11393437312, "lat": 19.4298174, "lon": -99.155221}, {"type": "node", "id": 11393437313, "lat": 19.4298116, "lon": -99.1552001}, {"type": "node", "id": 11393437314, "lat": 19.4298364, "lon": -99.155193}, {"type": "node", "id": 11393437315, "lat": 19.4298353, "lon": -99.1552156}, {"type": "node", "id": 11393437316, "lat": 19.4298653, "lon": -99.1549929}, {"type": "node", "id": 11393437317, "lat": 19.429968, "lon": -99.1549542}, {"type": "node", "id": 11393437318, "lat": 19.4298993, "lon": -99.1550997}, {"type": "node", "id": 11393437319, "lat": 19.429947, "lon": -99.1550831}, {"type": "node", "id": 11393437320, "lat": 19.4299626, "lon": -99.1551336}, {"type": "node", "id": 11393437321, "lat": 19.4299154, "lon": -99.15515}, {"type": "node", "id": 11393437322, "lat": 19.4301939, "lon": -99.1551369}, {"type": "node", "id": 11393437323, "lat": 19.4300422, "lon": -99.1551905}, {"type": "node", "id": 11393437324, "lat": 19.4301187, "lon": -99.1548975}, {"type": "node", "id": 11393437325, "lat": 19.4301818, "lon": -99.1553164}, {"type": "node", "id": 11393437328, "lat": 19.4301643, "lon": -99.1551473}, {"type": "node", "id": 11393437329, "lat": 19.4301362, "lon": -99.1551573}, {"type": "node", "id": 11393437330, "lat": 19.4302722, "lon": -99.1552897}, {"type": "node", "id": 11393437331, "lat": 19.4302319, "lon": -99.1551568}, {"type": "node", "id": 11393437332, "lat": 19.4303343, "lon": -99.1551245}, {"type": "node", "id": 11393437333, "lat": 19.4303125, "lon": -99.1550547}, {"type": "node", "id": 11393437334, "lat": 19.4301823, "lon": -99.1550998}, {"type": "node", "id": 11393437335, "lat": 19.4302479, "lon": -99.1548489}, {"type": "node", "id": 11393437336, "lat": 19.4302879, "lon": -99.1549762}, {"type": "node", "id": 11393437337, "lat": 19.4302732, "lon": -99.1549294}, {"type": "node", "id": 11393437338, "lat": 19.4301581, "lon": -99.1550229}, {"type": "node", "id": 11393437339, "lat": 19.4301433, "lon": -99.1549759}, {"type": "node", "id": 11393437340, "lat": 19.4302022, "lon": -99.155007}, {"type": "node", "id": 11393437341, "lat": 19.4301871, "lon": -99.1549602}, {"type": "node", "id": 11393437342, "lat": 19.4302459, "lon": -99.1549912}, {"type": "node", "id": 11393437343, "lat": 19.4302309, "lon": -99.1549445}, {"type": "node", "id": 11393437344, "lat": 19.4304637, "lon": -99.1549472}, {"type": "node", "id": 11393437345, "lat": 19.4302963, "lon": -99.155003}, {"type": "node", "id": 11393437346, "lat": 19.4302865, "lon": -99.1549718}, {"type": "node", "id": 11393437347, "lat": 19.4303193, "lon": -99.1549608}, {"type": "node", "id": 11393437348, "lat": 19.4303095, "lon": -99.1549278}, {"type": "node", "id": 11393437349, "lat": 19.4302762, "lon": -99.1549389}, {"type": "node", "id": 11393437350, "lat": 19.4304985, "lon": -99.1550726}, {"type": "node", "id": 11393437351, "lat": 19.4305366, "lon": -99.1552096}, {"type": "node", "id": 11393437352, "lat": 19.4302635, "lon": -99.1557367}, {"type": "node", "id": 11393437353, "lat": 19.4301963, "lon": -99.1554897}, {"type": "node", "id": 11393437354, "lat": 19.4300879, "lon": -99.1555228}, {"type": "node", "id": 11393437355, "lat": 19.4301259, "lon": -99.1556617}, {"type": "node", "id": 11393437356, "lat": 19.4302344, "lon": -99.1556299}, {"type": "node", "id": 11393437357, "lat": 19.4302261, "lon": -99.1555992}, {"type": "node", "id": 11393437358, "lat": 19.4301559, "lon": -99.1556192}, {"type": "node", "id": 11393437359, "lat": 19.430164, "lon": -99.1556505}, {"type": "node", "id": 11393437360, "lat": 19.430196, "lon": -99.1556412}, {"type": "node", "id": 11393437361, "lat": 19.430188, "lon": -99.15561}, {"type": "node", "id": 11393437362, "lat": 19.4301518, "lon": -99.1553253}, {"type": "node", "id": 11393437364, "lat": 19.4303398, "lon": -99.1557131}, {"type": "node", "id": 11393437365, "lat": 19.4302284, "lon": -99.1553026}, {"type": "node", "id": 11393437366, "lat": 19.4301637, "lon": -99.1553692}, {"type": "node", "id": 11393437367, "lat": 19.4301823, "lon": -99.1553636}, {"type": "node", "id": 11393437368, "lat": 19.4302499, "lon": -99.1556168}, {"type": "node", "id": 11393437369, "lat": 19.4302322, "lon": -99.1556221}, {"type": "node", "id": 11393437370, "lat": 19.4304374, "lon": -99.1556829}, {"type": "node", "id": 11393437371, "lat": 19.430327, "lon": -99.1552731}, {"type": "node", "id": 11393437372, "lat": 19.4302357, "lon": -99.1553295}, {"type": "node", "id": 11393437373, "lat": 19.4302588, "lon": -99.1553226}, {"type": "node", "id": 11393437374, "lat": 19.4303361, "lon": -99.1556117}, {"type": "node", "id": 11393437375, "lat": 19.4303315, "lon": -99.1556251}, {"type": "node", "id": 11393437376, "lat": 19.4303173, "lon": -99.1556302}, {"type": "node", "id": 11393437377, "lat": 19.4304155, "lon": -99.1556016}, {"type": "node", "id": 11393437378, "lat": 19.4306268, "lon": -99.1555348}, {"type": "node", "id": 11393437379, "lat": 19.4304216, "lon": -99.1556242}, {"type": "node", "id": 11393437380, "lat": 19.4304565, "lon": -99.1556133}, {"type": "node", "id": 11393437381, "lat": 19.4304503, "lon": -99.1555906}, {"type": "node", "id": 11393437382, "lat": 19.4304967, "lon": -99.1555759}, {"type": "node", "id": 11393437383, "lat": 19.430503, "lon": -99.1555989}, {"type": "node", "id": 11393437384, "lat": 19.4305696, "lon": -99.1555783}, {"type": "node", "id": 11393437385, "lat": 19.4305632, "lon": -99.1555549}, {"type": "node", "id": 11393437386, "lat": 19.4303832, "lon": -99.1554817}, {"type": "node", "id": 11393437387, "lat": 19.4305936, "lon": -99.155415}, {"type": "node", "id": 11393437388, "lat": 19.430355, "lon": -99.1553796}, {"type": "node", "id": 11393437389, "lat": 19.4305658, "lon": -99.155315}, {"type": "node", "id": 11393437390, "lat": 19.4304897, "lon": -99.1555781}, {"type": "node", "id": 11393437391, "lat": 19.4304749, "lon": -99.1555212}, {"type": "node", "id": 11393437392, "lat": 19.4305045, "lon": -99.1555126}, {"type": "node", "id": 11393437393, "lat": 19.4305191, "lon": -99.1555688}, {"type": "node", "id": 11393437394, "lat": 19.430613, "lon": -99.1555392}, {"type": "node", "id": 11393437395, "lat": 19.4305792, "lon": -99.1554196}, {"type": "node", "id": 11393437396, "lat": 19.4304958, "lon": -99.1553366}, {"type": "node", "id": 11393437397, "lat": 19.4305057, "lon": -99.1553743}, {"type": "node", "id": 11393437398, "lat": 19.4304744, "lon": -99.1553835}, {"type": "node", "id": 11393437399, "lat": 19.4304645, "lon": -99.155346}, {"type": "node", "id": 11393437400, "lat": 19.4304384, "lon": -99.155354}, {"type": "node", "id": 11393437401, "lat": 19.4304233, "lon": -99.1552985}, {"type": "node", "id": 11393437402, "lat": 19.4304435, "lon": -99.1552924}, {"type": "node", "id": 11393437403, "lat": 19.430442, "lon": -99.1552868}, {"type": "node", "id": 11393437404, "lat": 19.4304842, "lon": -99.1552739}, {"type": "node", "id": 11393437405, "lat": 19.430472, "lon": -99.1552292}, {"type": "node", "id": 11393437406, "lat": 19.4304263, "lon": -99.1553577}, {"type": "node", "id": 11393437407, "lat": 19.4304137, "lon": -99.1553099}, {"type": "node", "id": 11393437408, "lat": 19.4303897, "lon": -99.155317}, {"type": "node", "id": 11393437409, "lat": 19.4303743, "lon": -99.1552588}, {"type": "node", "id": 11395396107, "lat": 19.4295565, "lon": -99.1579152}, {"type": "node", "id": 11395396108, "lat": 19.4293491, "lon": -99.1571742}, {"type": "node", "id": 11395396109, "lat": 19.4293668, "lon": -99.1571399}, {"type": "node", "id": 11395396110, "lat": 19.4300694, "lon": -99.1569196}, {"type": "node", "id": 11395396111, "lat": 19.4302909, "lon": -99.157699}, {"type": "node", "id": 11395396112, "lat": 19.4294689, "lon": -99.1576021}, {"type": "node", "id": 11395396113, "lat": 19.429829, "lon": -99.1574896}, {"type": "node", "id": 11395396114, "lat": 19.4298581, "lon": -99.1575919}, {"type": "node", "id": 11395396115, "lat": 19.4294971, "lon": -99.1577028}, {"type": "node", "id": 11395396116, "lat": 19.4294662, "lon": -99.1575926}, {"type": "node", "id": 11395396117, "lat": 19.4298267, "lon": -99.1574816}, {"type": "node", "id": 11395396118, "lat": 19.429794, "lon": -99.1573675}, {"type": "node", "id": 11395396119, "lat": 19.4295708, "lon": -99.1574373}, {"type": "node", "id": 11395396120, "lat": 19.4295794, "lon": -99.1574671}, {"type": "node", "id": 11395396121, "lat": 19.4294431, "lon": -99.1575098}, {"type": "node", "id": 11395396122, "lat": 19.4297215, "lon": -99.1574633}, {"type": "node", "id": 11395396123, "lat": 19.4296996, "lon": -99.1574698}, {"type": "node", "id": 11395396124, "lat": 19.4296925, "lon": -99.1574429}, {"type": "node", "id": 11395396125, "lat": 19.4297144, "lon": -99.1574364}, {"type": "node", "id": 11395396126, "lat": 19.4295317, "lon": -99.1573005}, {"type": "node", "id": 11395396127, "lat": 19.4293963, "lon": -99.1573429}, {"type": "node", "id": 11395396128, "lat": 19.429476, "lon": -99.1571056}, {"type": "node", "id": 11395396129, "lat": 19.4295029, "lon": -99.1571997}, {"type": "node", "id": 11395396130, "lat": 19.4295231, "lon": -99.1572705}, {"type": "node", "id": 11395396131, "lat": 19.4294954, "lon": -99.1572794}, {"type": "node", "id": 11395396132, "lat": 19.4294752, "lon": -99.1572086}, {"type": "node", "id": 11395396133, "lat": 19.4296856, "lon": -99.1574014}, {"type": "node", "id": 11395396134, "lat": 19.429591, "lon": -99.1570696}, {"type": "node", "id": 11395396135, "lat": 19.4295813, "lon": -99.157252}, {"type": "node", "id": 11395396136, "lat": 19.4295574, "lon": -99.1571671}, {"type": "node", "id": 11395396137, "lat": 19.4294989, "lon": -99.1571857}, {"type": "node", "id": 11395396138, "lat": 19.4296632, "lon": -99.1573229}, {"type": "node", "id": 11395396139, "lat": 19.4296013, "lon": -99.1573419}, {"type": "node", "id": 11395396140, "lat": 19.4296105, "lon": -99.1573755}, {"type": "node", "id": 11395396141, "lat": 19.4296728, "lon": -99.1573563}, {"type": "node", "id": 11395396142, "lat": 19.4296047, "lon": -99.1574268}, {"type": "node", "id": 11395396143, "lat": 19.429595, "lon": -99.1573932}, {"type": "node", "id": 11395396144, "lat": 19.4295504, "lon": -99.157366}, {"type": "node", "id": 11395396145, "lat": 19.4296994, "lon": -99.1570356}, {"type": "node", "id": 11395396146, "lat": 19.4296485, "lon": -99.1578881}, {"type": "node", "id": 11395396147, "lat": 19.4295599, "lon": -99.1576835}, {"type": "node", "id": 11395396148, "lat": 19.4295643, "lon": -99.1576991}, {"type": "node", "id": 11395396149, "lat": 19.4295925, "lon": -99.1576901}, {"type": "node", "id": 11395396150, "lat": 19.4297694, "lon": -99.1576191}, {"type": "node", "id": 11395396151, "lat": 19.4298272, "lon": -99.1578355}, {"type": "node", "id": 11395396152, "lat": 19.4299422, "lon": -99.1578016}, {"type": "node", "id": 11395396153, "lat": 19.4296684, "lon": -99.1576502}, {"type": "node", "id": 11395396154, "lat": 19.4297213, "lon": -99.1576339}, {"type": "node", "id": 11395396155, "lat": 19.4295984, "lon": -99.1577112}, {"type": "node", "id": 11395396156, "lat": 19.4297788, "lon": -99.1576544}, {"type": "node", "id": 11395396157, "lat": 19.4297305, "lon": -99.1576696}, {"type": "node", "id": 11395396158, "lat": 19.4296776, "lon": -99.1576862}, {"type": "node", "id": 11395396159, "lat": 19.4298294, "lon": -99.1576007}, {"type": "node", "id": 11395396160, "lat": 19.4298385, "lon": -99.1576336}, {"type": "node", "id": 11395396161, "lat": 19.4298941, "lon": -99.1576163}, {"type": "node", "id": 11395396162, "lat": 19.4300824, "lon": -99.1577604}, {"type": "node", "id": 11395396163, "lat": 19.430024, "lon": -99.157541}, {"type": "node", "id": 11395396164, "lat": 19.4299262, "lon": -99.157571}, {"type": "node", "id": 11395396165, "lat": 19.4299372, "lon": -99.157612}, {"type": "node", "id": 11395396166, "lat": 19.4298962, "lon": -99.1576243}, {"type": "node", "id": 11395396167, "lat": 19.42994, "lon": -99.1577928}, {"type": "node", "id": 11395396168, "lat": 19.4299785, "lon": -99.1577806}, {"type": "node", "id": 11395412069, "lat": 19.4299808, "lon": -99.1577903}, {"type": "node", "id": 11395412070, "lat": 19.4300437, "lon": -99.1576147}, {"type": "node", "id": 11395412071, "lat": 19.4302491, "lon": -99.157552}, {"type": "node", "id": 11395412072, "lat": 19.4302282, "lon": -99.1574783}, {"type": "node", "id": 11395412073, "lat": 19.4301589, "lon": -99.1575796}, {"type": "node", "id": 11395412074, "lat": 19.4301651, "lon": -99.1576033}, {"type": "node", "id": 11395412075, "lat": 19.4301253, "lon": -99.1575898}, {"type": "node", "id": 11395412076, "lat": 19.430238, "lon": -99.1576497}, {"type": "node", "id": 11395412077, "lat": 19.4302077, "lon": -99.1576582}, {"type": "node", "id": 11395412078, "lat": 19.4301996, "lon": -99.1576257}, {"type": "node", "id": 11395412079, "lat": 19.4302299, "lon": -99.1576172}, {"type": "node", "id": 11395412080, "lat": 19.4301323, "lon": -99.1576791}, {"type": "node", "id": 11395412081, "lat": 19.4300992, "lon": -99.1576886}, {"type": "node", "id": 11395412082, "lat": 19.4300907, "lon": -99.1576553}, {"type": "node", "id": 11395412083, "lat": 19.4301237, "lon": -99.1576458}, {"type": "node", "id": 11395412084, "lat": 19.4301315, "lon": -99.1576133}, {"type": "node", "id": 11395412085, "lat": 19.4300621, "lon": -99.1576091}, {"type": "node", "id": 11395412086, "lat": 19.4300475, "lon": -99.1575568}, {"type": "node", "id": 11395412087, "lat": 19.4301569, "lon": -99.1575227}, {"type": "node", "id": 11395412088, "lat": 19.4301512, "lon": -99.157502}, {"type": "node", "id": 11395412089, "lat": 19.4298069, "lon": -99.1574126}, {"type": "node", "id": 11395412090, "lat": 19.4301769, "lon": -99.1572978}, {"type": "node", "id": 11395412091, "lat": 19.4298758, "lon": -99.1575024}, {"type": "node", "id": 11395412092, "lat": 19.4301301, "lon": -99.1574269}, {"type": "node", "id": 11395412093, "lat": 19.4298697, "lon": -99.1574791}, {"type": "node", "id": 11395412094, "lat": 19.4299058, "lon": -99.1574935}, {"type": "node", "id": 11395412095, "lat": 19.4298971, "lon": -99.15758}, {"type": "node", "id": 11395412096, "lat": 19.4298996, "lon": -99.1574702}, {"type": "node", "id": 11395412097, "lat": 19.4298786, "lon": -99.1573903}, {"type": "node", "id": 11395412098, "lat": 19.4298479, "lon": -99.1573998}, {"type": "node", "id": 11395412099, "lat": 19.4300109, "lon": -99.1575447}, {"type": "node", "id": 11395412100, "lat": 19.4299898, "lon": -99.1574685}, {"type": "node", "id": 11395412101, "lat": 19.4299834, "lon": -99.1574453}, {"type": "node", "id": 11395412102, "lat": 19.429961, "lon": -99.1573644}, {"type": "node", "id": 11395412103, "lat": 19.4300391, "lon": -99.1575364}, {"type": "node", "id": 11395412104, "lat": 19.4300184, "lon": -99.1574601}, {"type": "node", "id": 11395412105, "lat": 19.430012, "lon": -99.1574368}, {"type": "node", "id": 11395412106, "lat": 19.42999, "lon": -99.1573558}, {"type": "node", "id": 11395412107, "lat": 19.430101, "lon": -99.1573213}, {"type": "node", "id": 11395412108, "lat": 19.4301213, "lon": -99.1575111}, {"type": "node", "id": 11395412109, "lat": 19.4301006, "lon": -99.1574356}, {"type": "node", "id": 11395412110, "lat": 19.4300716, "lon": -99.1573305}, {"type": "node", "id": 11395412111, "lat": 19.4301129, "lon": -99.1573642}, {"type": "node", "id": 11395412112, "lat": 19.4300833, "lon": -99.1573727}, {"type": "node", "id": 11395412113, "lat": 19.4297561, "lon": -99.1572307}, {"type": "node", "id": 11395412114, "lat": 19.4301248, "lon": -99.1571146}, {"type": "node", "id": 11395412115, "lat": 19.4301467, "lon": -99.1571914}, {"type": "node", "id": 11395412116, "lat": 19.4301374, "lon": -99.1571944}, {"type": "node", "id": 11395412117, "lat": 19.4301471, "lon": -99.1572283}, {"type": "node", "id": 11395412118, "lat": 19.4301563, "lon": -99.1572253}, {"type": "node", "id": 11395412119, "lat": 19.4300483, "lon": -99.1571387}, {"type": "node", "id": 11395412120, "lat": 19.4300353, "lon": -99.1570932}, {"type": "node", "id": 11395412121, "lat": 19.429951, "lon": -99.1571207}, {"type": "node", "id": 11395412122, "lat": 19.4299437, "lon": -99.1570951}, {"type": "node", "id": 11395412123, "lat": 19.429919, "lon": -99.1571032}, {"type": "node", "id": 11395412124, "lat": 19.4298828, "lon": -99.1569781}, {"type": "node", "id": 11395412125, "lat": 19.429985, "lon": -99.1570561}, {"type": "node", "id": 11395412126, "lat": 19.4299657, "lon": -99.1570622}, {"type": "node", "id": 11395412127, "lat": 19.4299542, "lon": -99.1570214}, {"type": "node", "id": 11395412128, "lat": 19.4299734, "lon": -99.1570153}, {"type": "node", "id": 11395412129, "lat": 19.4299635, "lon": -99.1571654}, {"type": "node", "id": 11397198041, "lat": 19.4300383, "lon": -99.1567893}, {"type": "node", "id": 11397198042, "lat": 19.4290884, "lon": -99.1562597}, {"type": "node", "id": 11397198043, "lat": 19.4298236, "lon": -99.1560351}, {"type": "node", "id": 11397198044, "lat": 19.4294277, "lon": -99.1568894}, {"type": "node", "id": 11397198045, "lat": 19.4294058, "lon": -99.1568106}, {"type": "node", "id": 11397198046, "lat": 19.4292562, "lon": -99.1568575}, {"type": "node", "id": 11397198047, "lat": 19.4294375, "lon": -99.1566562}, {"type": "node", "id": 11397198048, "lat": 19.4292191, "lon": -99.1567254}, {"type": "node", "id": 11397198049, "lat": 19.4293082, "lon": -99.1561925}, {"type": "node", "id": 11397198050, "lat": 19.4291956, "lon": -99.1566415}, {"type": "node", "id": 11397198051, "lat": 19.4293409, "lon": -99.1566482}, {"type": "node", "id": 11397198052, "lat": 19.4291706, "lon": -99.1565526}, {"type": "node", "id": 11397198053, "lat": 19.4293894, "lon": -99.1564837}, {"type": "node", "id": 11397198054, "lat": 19.4291331, "lon": -99.156419}, {"type": "node", "id": 11397198055, "lat": 19.4293521, "lon": -99.1563501}, {"type": "node", "id": 11397198056, "lat": 19.4294021, "lon": -99.1565291}, {"type": "node", "id": 11397198057, "lat": 19.4295239, "lon": -99.1564942}, {"type": "node", "id": 11397198058, "lat": 19.4294312, "lon": -99.1561549}, {"type": "node", "id": 11397198059, "lat": 19.4296642, "lon": -99.1569007}, {"type": "node", "id": 11397198060, "lat": 19.429572, "lon": -99.1565636}, {"type": "node", "id": 11397198061, "lat": 19.4295437, "lon": -99.1565717}, {"type": "node", "id": 11397198062, "lat": 19.429532, "lon": -99.156526}, {"type": "node", "id": 11397198063, "lat": 19.429438, "lon": -99.1565504}, {"type": "node", "id": 11397198064, "lat": 19.4294502, "lon": -99.1565961}, {"type": "node", "id": 11397198065, "lat": 19.4294227, "lon": -99.1566033}, {"type": "node", "id": 11397198066, "lat": 19.4297833, "lon": -99.1568652}, {"type": "node", "id": 11397198067, "lat": 19.4296635, "lon": -99.1564328}, {"type": "node", "id": 11397198068, "lat": 19.4295192, "lon": -99.1564756}, {"type": "node", "id": 11397206269, "lat": 19.4295743, "lon": -99.1561112}, {"type": "node", "id": 11397206270, "lat": 19.4296457, "lon": -99.1563689}, {"type": "node", "id": 11397206271, "lat": 19.4298965, "lon": -99.1562909}, {"type": "node", "id": 11397206272, "lat": 19.4299277, "lon": -99.1564007}, {"type": "node", "id": 11397206273, "lat": 19.4297104, "lon": -99.1564668}, {"type": "node", "id": 11397206274, "lat": 19.429681, "lon": -99.1563579}, {"type": "node", "id": 11397206275, "lat": 19.4299597, "lon": -99.1565132}, {"type": "node", "id": 11397206276, "lat": 19.4297497, "lon": -99.1565742}, {"type": "node", "id": 11397206277, "lat": 19.4297201, "lon": -99.1564638}, {"type": "node", "id": 11397206278, "lat": 19.4299942, "lon": -99.1566344}, {"type": "node", "id": 11397206279, "lat": 19.4297672, "lon": -99.1567022}, {"type": "node", "id": 11397206280, "lat": 19.4297344, "lon": -99.1565787}, {"type": "node", "id": 11397206281, "lat": 19.429871, "lon": -99.1568391}, {"type": "node", "id": 11397206282, "lat": 19.4298409, "lon": -99.1567261}, {"type": "node", "id": 11397206283, "lat": 19.4298277, "lon": -99.15673}, {"type": "node", "id": 11397206284, "lat": 19.4298164, "lon": -99.1566875}, {"type": "node", "id": 11397206285, "lat": 19.4297407, "lon": -99.1567115}, {"type": "node", "id": 11397206286, "lat": 19.4293809, "lon": -99.1568184}, {"type": "node", "id": 11397206287, "lat": 19.4293884, "lon": -99.1568458}, {"type": "node", "id": 11397206288, "lat": 19.429367, "lon": -99.1568525}, {"type": "node", "id": 11397206289, "lat": 19.4293594, "lon": -99.1568251}, {"type": "node", "id": 11397206290, "lat": 19.4293701, "lon": -99.1568218}, {"type": "node", "id": 11397206291, "lat": 19.4293815, "lon": -99.1567989}, {"type": "node", "id": 11397206292, "lat": 19.4293548, "lon": -99.1568072}, {"type": "node", "id": 11397206293, "lat": 19.4293271, "lon": -99.1567082}, {"type": "node", "id": 11397206294, "lat": 19.4293538, "lon": -99.1566998}, {"type": "node", "id": 11397206295, "lat": 19.4293711, "lon": -99.1567618}, {"type": "node", "id": 11397206296, "lat": 19.4293444, "lon": -99.1567701}, {"type": "node", "id": 11397206297, "lat": 19.4293636, "lon": -99.1567344}, {"type": "node", "id": 11397206298, "lat": 19.4293369, "lon": -99.1567428}, {"type": "node", "id": 11397206299, "lat": 19.4294279, "lon": -99.1566219}, {"type": "node", "id": 11397206300, "lat": 19.4293279, "lon": -99.1565998}, {"type": "node", "id": 11397206301, "lat": 19.4294142, "lon": -99.1565726}, {"type": "node", "id": 11397206302, "lat": 19.4293327, "lon": -99.1566178}, {"type": "node", "id": 11397206303, "lat": 19.4293257, "lon": -99.1565037}, {"type": "node", "id": 11397206304, "lat": 19.4292884, "lon": -99.1563701}, {"type": "node", "id": 11397206305, "lat": 19.4292851, "lon": -99.1565164}, {"type": "node", "id": 11397206306, "lat": 19.4292478, "lon": -99.1563829}, {"type": "node", "id": 11397206307, "lat": 19.4292996, "lon": -99.1564104}, {"type": "node", "id": 11397206308, "lat": 19.4292591, "lon": -99.1564232}, {"type": "node", "id": 11397206309, "lat": 19.4293185, "lon": -99.1564781}, {"type": "node", "id": 11397206310, "lat": 19.429278, "lon": -99.1564909}, {"type": "node", "id": 11397206312, "lat": 19.4292381, "lon": -99.1563487}, {"type": "node", "id": 11397206313, "lat": 19.4292054, "lon": -99.1563591}, {"type": "node", "id": 11397206314, "lat": 19.4292151, "lon": -99.1563932}, {"type": "node", "id": 11397206315, "lat": 19.4293329, "lon": -99.1562809}, {"type": "node", "id": 11397206316, "lat": 19.4292964, "lon": -99.1562921}, {"type": "node", "id": 11397206317, "lat": 19.429304, "lon": -99.1563197}, {"type": "node", "id": 11397206318, "lat": 19.4293405, "lon": -99.1563084}, {"type": "node", "id": 11397206319, "lat": 19.4293367, "lon": -99.1562947}, {"type": "node", "id": 11397206320, "lat": 19.4293588, "lon": -99.156374}, {"type": "node", "id": 11397206321, "lat": 19.4294808, "lon": -99.1563357}, {"type": "node", "id": 11397206322, "lat": 19.429369, "lon": -99.1564092}, {"type": "node", "id": 11397206323, "lat": 19.4294908, "lon": -99.1563721}, {"type": "node", "id": 11397206324, "lat": 19.4294497, "lon": -99.1563846}, {"type": "node", "id": 11397206325, "lat": 19.4294398, "lon": -99.1563485}, {"type": "node", "id": 11397206326, "lat": 19.4294013, "lon": -99.1563606}, {"type": "node", "id": 11397206327, "lat": 19.4294112, "lon": -99.1563964}, {"type": "node", "id": 11397206328, "lat": 19.4294599, "lon": -99.1567367}, {"type": "node", "id": 11397206329, "lat": 19.4296085, "lon": -99.1566959}, {"type": "node", "id": 11397206330, "lat": 19.4295906, "lon": -99.1566302}, {"type": "node", "id": 11397206331, "lat": 19.4294413, "lon": -99.1566699}, {"type": "node", "id": 11397206332, "lat": 19.4296335, "lon": -99.1567881}, {"type": "node", "id": 11397206333, "lat": 19.4294861, "lon": -99.1568307}, {"type": "node", "id": 11397206334, "lat": 19.4296414, "lon": -99.156817}, {"type": "node", "id": 11397206335, "lat": 19.4294941, "lon": -99.1568591}, {"type": "node", "id": 11397206336, "lat": 19.4295785, "lon": -99.156835}, {"type": "node", "id": 11397206337, "lat": 19.4295702, "lon": -99.1568064}, {"type": "node", "id": 11397206338, "lat": 19.4295433, "lon": -99.1567138}, {"type": "node", "id": 11397206339, "lat": 19.4295241, "lon": -99.1566479}, {"type": "node", "id": 11397206340, "lat": 19.4295621, "lon": -99.1568397}, {"type": "node", "id": 11397206341, "lat": 19.4295539, "lon": -99.1568111}, {"type": "node", "id": 11397206342, "lat": 19.4295274, "lon": -99.1567182}, {"type": "node", "id": 11397206343, "lat": 19.4295086, "lon": -99.1566521}, {"type": "node", "id": 11397206344, "lat": 19.4294994, "lon": -99.1565345}, {"type": "node", "id": 11397206345, "lat": 19.4295046, "lon": -99.1565551}, {"type": "node", "id": 11397206346, "lat": 19.4294698, "lon": -99.1565643}, {"type": "node", "id": 11397206347, "lat": 19.4294645, "lon": -99.1565435}, {"type": "node", "id": 11397206348, "lat": 19.4297444, "lon": -99.1568768}, {"type": "node", "id": 11397206349, "lat": 19.4297402, "lon": -99.1568609}, {"type": "node", "id": 11397206350, "lat": 19.4297221, "lon": -99.1568663}, {"type": "node", "id": 11397206351, "lat": 19.4297264, "lon": -99.1568822}, {"type": "node", "id": 11397206352, "lat": 19.4296319, "lon": -99.1567821}, {"type": "node", "id": 11397206353, "lat": 19.4296638, "lon": -99.1567723}, {"type": "node", "id": 11397206354, "lat": 19.4296734, "lon": -99.1568071}, {"type": "node", "id": 11397206355, "lat": 19.4297476, "lon": -99.1567363}, {"type": "node", "id": 11397206356, "lat": 19.4297161, "lon": -99.1567463}, {"type": "node", "id": 11397206357, "lat": 19.4297249, "lon": -99.1567774}, {"type": "node", "id": 11397206358, "lat": 19.4297562, "lon": -99.1567674}, {"type": "node", "id": 11397206359, "lat": 19.4296304, "lon": -99.1566607}, {"type": "node", "id": 11397206360, "lat": 19.42969, "lon": -99.1566426}, {"type": "node", "id": 11397206361, "lat": 19.4296994, "lon": -99.1566775}, {"type": "node", "id": 11397206362, "lat": 19.4296398, "lon": -99.1566956}, {"type": "node", "id": 11397206363, "lat": 19.4296903, "lon": -99.1565297}, {"type": "node", "id": 11397206364, "lat": 19.4297007, "lon": -99.1565671}, {"type": "node", "id": 11397206365, "lat": 19.4295827, "lon": -99.156602}, {"type": "node", "id": 11397206366, "lat": 19.4296512, "lon": -99.1565409}, {"type": "node", "id": 11397206367, "lat": 19.4296612, "lon": -99.1565788}, {"type": "node", "id": 11397206368, "lat": 19.4296065, "lon": -99.1565537}, {"type": "node", "id": 11397206369, "lat": 19.4296165, "lon": -99.1565919}, {"type": "node", "id": 11397206370, "lat": 19.4295609, "lon": -99.1565181}, {"type": "node", "id": 11397206371, "lat": 19.4295429, "lon": -99.1565231}, {"type": "node", "id": 11397206372, "lat": 19.4295384, "lon": -99.1565044}, {"type": "node", "id": 11397206373, "lat": 19.4295273, "lon": -99.1565074}, {"type": "node", "id": 11397206374, "lat": 19.429621, "lon": -99.1564454}, {"type": "node", "id": 11397206375, "lat": 19.429633, "lon": -99.1564916}, {"type": "node", "id": 11397206376, "lat": 19.4295863, "lon": -99.1565053}, {"type": "node", "id": 11397206377, "lat": 19.4295743, "lon": -99.1564592}, {"type": "node", "id": 11397206378, "lat": 19.429849, "lon": -99.1564246}, {"type": "node", "id": 11397206379, "lat": 19.4298807, "lon": -99.1565362}, {"type": "node", "id": 11397206380, "lat": 19.4298075, "lon": -99.1564373}, {"type": "node", "id": 11397206381, "lat": 19.429839, "lon": -99.1565483}, {"type": "node", "id": 11397206382, "lat": 19.4298563, "lon": -99.1564504}, {"type": "node", "id": 11397206383, "lat": 19.4298149, "lon": -99.1564634}, {"type": "node", "id": 11397206384, "lat": 19.4298739, "lon": -99.1565125}, {"type": "node", "id": 11397206385, "lat": 19.4298325, "lon": -99.1565255}, {"type": "node", "id": 11397206386, "lat": 19.4298092, "lon": -99.156318}, {"type": "node", "id": 11397206387, "lat": 19.4298235, "lon": -99.156371}, {"type": "node", "id": 11397206388, "lat": 19.4297702, "lon": -99.1563872}, {"type": "node", "id": 11397206389, "lat": 19.4297559, "lon": -99.1563346}, {"type": "node", "id": 11397206390, "lat": 19.4296114, "lon": -99.1562451}, {"type": "node", "id": 11397206391, "lat": 19.4294677, "lon": -99.1562879}, {"type": "node", "id": 11397206392, "lat": 19.4296209, "lon": -99.1562792}, {"type": "node", "id": 11397206393, "lat": 19.4294775, "lon": -99.1563236}, {"type": "node", "id": 11397206394, "lat": 19.4295586, "lon": -99.1562608}, {"type": "node", "id": 11397206395, "lat": 19.4295679, "lon": -99.1562959}, {"type": "node", "id": 11397206396, "lat": 19.4295167, "lon": -99.1562733}, {"type": "node", "id": 11397206397, "lat": 19.429526, "lon": -99.1563084}, {"type": "node", "id": 11397223017, "lat": 19.4297829, "lon": -99.1558856}, {"type": "node", "id": 11397223019, "lat": 19.4288464, "lon": -99.1553972}, {"type": "node", "id": 11397223020, "lat": 19.428866, "lon": -99.1553598}, {"type": "node", "id": 11397223021, "lat": 19.4294824, "lon": -99.1551249}, {"type": "node", "id": 11397223022, "lat": 19.4295746, "lon": -99.1551738}, {"type": "node", "id": 11397223023, "lat": 19.4289447, "lon": -99.1557339}, {"type": "node", "id": 11397223024, "lat": 19.4288898, "lon": -99.1555458}, {"type": "node", "id": 11397223025, "lat": 19.4290248, "lon": -99.1554996}, {"type": "node", "id": 11397223027, "lat": 19.4291553, "lon": -99.1556675}, {"type": "node", "id": 11397223028, "lat": 19.4293453, "lon": -99.1560197}, {"type": "node", "id": 11397223029, "lat": 19.4292369, "lon": -99.1556414}, {"type": "node", "id": 11397223030, "lat": 19.4292456, "lon": -99.1556714}, {"type": "node", "id": 11397223031, "lat": 19.4293644, "lon": -99.1556332}, {"type": "node", "id": 11397223032, "lat": 19.4294645, "lon": -99.1559832}, {"type": "node", "id": 11397223033, "lat": 19.429623, "lon": -99.1559346}, {"type": "node", "id": 11397223034, "lat": 19.429567, "lon": -99.1557294}, {"type": "node", "id": 11397223035, "lat": 19.4295027, "lon": -99.1557502}, {"type": "node", "id": 11397223036, "lat": 19.4294616, "lon": -99.1556015}, {"type": "node", "id": 11397223037, "lat": 19.4293601, "lon": -99.1552627}, {"type": "node", "id": 11397223038, "lat": 19.4294187, "lon": -99.1554581}, {"type": "node", "id": 11397223039, "lat": 19.4296369, "lon": -99.1553867}, {"type": "node", "id": 11397223040, "lat": 19.42961, "lon": -99.1552947}, {"type": "node", "id": 11397223041, "lat": 19.4295527, "lon": -99.1553129}, {"type": "node", "id": 11397223042, "lat": 19.4295795, "lon": -99.1554047}, {"type": "node", "id": 11397223043, "lat": 19.4295117, "lon": -99.155427}, {"type": "node", "id": 11397223044, "lat": 19.4294847, "lon": -99.1553346}, {"type": "node", "id": 11397223045, "lat": 19.4293907, "lon": -99.1553645}, {"type": "node", "id": 11397223046, "lat": 19.4292566, "lon": -99.1553019}, {"type": "node", "id": 11397223047, "lat": 19.4293358, "lon": -99.1551808}, {"type": "node", "id": 11397223048, "lat": 19.429076, "lon": -99.1556667}, {"type": "node", "id": 11397223049, "lat": 19.4290569, "lon": -99.1556731}, {"type": "node", "id": 11397223050, "lat": 19.4290439, "lon": -99.15563}, {"type": "node", "id": 11397223051, "lat": 19.4290628, "lon": -99.1556237}, {"type": "node", "id": 11397223052, "lat": 19.4290475, "lon": -99.1555737}, {"type": "node", "id": 11397223053, "lat": 19.4290291, "lon": -99.1555799}, {"type": "node", "id": 11397223054, "lat": 19.4290148, "lon": -99.155532}, {"type": "node", "id": 11397223055, "lat": 19.4290329, "lon": -99.1555259}, {"type": "node", "id": 11397223056, "lat": 19.4294574, "lon": -99.1555875}, {"type": "node", "id": 11397223057, "lat": 19.4296754, "lon": -99.1555182}, {"type": "node", "id": 11397223058, "lat": 19.4294311, "lon": -99.1554993}, {"type": "node", "id": 11397223059, "lat": 19.4294634, "lon": -99.1554889}, {"type": "node", "id": 11397223060, "lat": 19.429474, "lon": -99.1555278}, {"type": "node", "id": 11397223061, "lat": 19.4294426, "lon": -99.1555379}, {"type": "node", "id": 11397223062, "lat": 19.4294882, "lon": -99.1556999}, {"type": "node", "id": 11397223063, "lat": 19.4297077, "lon": -99.1556289}, {"type": "node", "id": 11397223064, "lat": 19.4297224, "lon": -99.1556791}, {"type": "node", "id": 11397223065, "lat": 19.4296923, "lon": -99.1555763}, {"type": "node", "id": 11397223066, "lat": 19.4295964, "lon": -99.1556072}, {"type": "node", "id": 11397223067, "lat": 19.4295795, "lon": -99.1555487}, {"type": "node", "id": 11397223068, "lat": 19.4295417, "lon": -99.1556249}, {"type": "node", "id": 11397288869, "lat": 19.4295248, "lon": -99.1555661}, {"type": "node", "id": 11397288870, "lat": 19.4296027, "lon": -99.1558602}, {"type": "node", "id": 11397288871, "lat": 19.4297611, "lon": -99.1558113}, {"type": "node", "id": 11397288872, "lat": 19.4295841, "lon": -99.1557936}, {"type": "node", "id": 11397288873, "lat": 19.4297417, "lon": -99.1557451}, {"type": "node", "id": 11397288874, "lat": 19.4296305, "lon": -99.1558516}, {"type": "node", "id": 11397288875, "lat": 19.4296357, "lon": -99.1558702}, {"type": "node", "id": 11397288876, "lat": 19.4296078, "lon": -99.1558789}, {"type": "node", "id": 11397288877, "lat": 19.4292693, "lon": -99.1557543}, {"type": "node", "id": 11397288878, "lat": 19.4294086, "lon": -99.155788}, {"type": "node", "id": 11397288879, "lat": 19.4293938, "lon": -99.1557926}, {"type": "node", "id": 11397288880, "lat": 19.4294016, "lon": -99.1558209}, {"type": "node", "id": 11397288881, "lat": 19.4293111, "lon": -99.1558489}, {"type": "node", "id": 11397288882, "lat": 19.4293034, "lon": -99.1558208}, {"type": "node", "id": 11397288883, "lat": 19.4294037, "lon": -99.1559253}, {"type": "node", "id": 11397288884, "lat": 19.4293625, "lon": -99.1559382}, {"type": "node", "id": 11397288885, "lat": 19.4293528, "lon": -99.1559031}, {"type": "node", "id": 11397288886, "lat": 19.429394, "lon": -99.1558902}, {"type": "node", "id": 11397288887, "lat": 19.4293547, "lon": -99.1557512}, {"type": "node", "id": 11397288888, "lat": 19.4293108, "lon": -99.1557651}, {"type": "node", "id": 11397288889, "lat": 19.4292972, "lon": -99.1557171}, {"type": "node", "id": 11397288890, "lat": 19.4293412, "lon": -99.1557031}, {"type": "node", "id": 11397288891, "lat": 19.4293766, "lon": -99.1558286}, {"type": "node", "id": 11397288892, "lat": 19.4293689, "lon": -99.1558004}, {"type": "node", "id": 11397288893, "lat": 19.4293262, "lon": -99.1558137}, {"type": "node", "id": 11397288894, "lat": 19.4293339, "lon": -99.1558419}, {"type": "node", "id": 11397288895, "lat": 19.4293373, "lon": -99.1559922}, {"type": "node", "id": 11397288896, "lat": 19.429253, "lon": -99.1560181}, {"type": "node", "id": 11397288897, "lat": 19.4291864, "lon": -99.1557789}, {"type": "node", "id": 11404519164, "lat": 19.4294012, "lon": -99.1578398}, {"type": "node", "id": 11404519165, "lat": 19.4293511, "lon": -99.1579431}, {"type": "node", "id": 11404519166, "lat": 19.4287883, "lon": -99.1576436}, {"type": "node", "id": 11404519167, "lat": 19.4288969, "lon": -99.1574088}, {"type": "node", "id": 11404519168, "lat": 19.4291402, "lon": -99.1575354}, {"type": "node", "id": 11404520069, "lat": 19.4293036, "lon": -99.1574845}, {"type": "node", "id": 11404520070, "lat": 19.4292498, "lon": -99.157289}, {"type": "node", "id": 11404520071, "lat": 19.4290871, "lon": -99.1573376}, {"type": "node", "id": 11404520072, "lat": 19.4290247, "lon": -99.1574753}, {"type": "node", "id": 11404520073, "lat": 19.4291765, "lon": -99.1573109}, {"type": "node", "id": 11404520074, "lat": 19.4291896, "lon": -99.1573582}, {"type": "node", "id": 11404520075, "lat": 19.4291358, "lon": -99.1573748}, {"type": "node", "id": 11404520076, "lat": 19.4291226, "lon": -99.157327}, {"type": "node", "id": 11404520077, "lat": 19.4290792, "lon": -99.1573552}, {"type": "node", "id": 11404520078, "lat": 19.4290956, "lon": -99.1573703}, {"type": "node", "id": 11404520079, "lat": 19.4291294, "lon": -99.1574978}, {"type": "node", "id": 11404520080, "lat": 19.4291178, "lon": -99.1575012}, {"type": "node", "id": 11404520081, "lat": 19.429177, "lon": -99.1575239}, {"type": "node", "id": 11404520082, "lat": 19.4291633, "lon": -99.1574742}, {"type": "node", "id": 11404520083, "lat": 19.4292172, "lon": -99.1574579}, {"type": "node", "id": 11404520084, "lat": 19.4292308, "lon": -99.1575072}, {"type": "node", "id": 11404520085, "lat": 19.4290843, "lon": -99.1573735}, {"type": "node", "id": 11404520087, "lat": 19.4287796, "lon": -99.1572186}, {"type": "node", "id": 11404520088, "lat": 19.4287296, "lon": -99.1573218}, {"type": "node", "id": 11404520089, "lat": 19.4291248, "lon": -99.1575274}, {"type": "node", "id": 11404520090, "lat": 19.4290238, "lon": -99.1574459}, {"type": "node", "id": 11404520091, "lat": 19.429052, "lon": -99.1573849}, {"type": "node", "id": 11404520092, "lat": 19.4289892, "lon": -99.1574279}, {"type": "node", "id": 11404520093, "lat": 19.4288916, "lon": -99.1573781}, {"type": "node", "id": 11404520094, "lat": 19.4289269, "lon": -99.1573964}, {"type": "node", "id": 11404520095, "lat": 19.4289966, "lon": -99.1573958}, {"type": "node", "id": 11404520096, "lat": 19.4289426, "lon": -99.1573692}, {"type": "node", "id": 11404520097, "lat": 19.4289567, "lon": -99.157337}, {"type": "node", "id": 11404520098, "lat": 19.4290107, "lon": -99.1573636}, {"type": "node", "id": 11404520099, "lat": 19.4288918, "lon": -99.1573401}, {"type": "node", "id": 11404520100, "lat": 19.4288562, "lon": -99.157322}, {"type": "node", "id": 11404520101, "lat": 19.4288694, "lon": -99.1572929}, {"type": "node", "id": 11404520102, "lat": 19.428905, "lon": -99.1573111}, {"type": "node", "id": 11404520103, "lat": 19.4288386, "lon": -99.157352}, {"type": "node", "id": 11404520104, "lat": 19.4287961, "lon": -99.1573299}, {"type": "node", "id": 11404520105, "lat": 19.4288164, "lon": -99.1572881}, {"type": "node", "id": 11404520106, "lat": 19.4287893, "lon": -99.157274}, {"type": "node", "id": 11404520107, "lat": 19.4289784, "lon": -99.1574513}, {"type": "node", "id": 11404520108, "lat": 19.4289165, "lon": -99.157419}, {"type": "node", "id": 11404520109, "lat": 19.4288812, "lon": -99.1574007}, {"type": "node", "id": 11404520110, "lat": 19.4288287, "lon": -99.1573734}, {"type": "node", "id": 11404520111, "lat": 19.4287862, "lon": -99.1573513}, {"type": "node", "id": 11404520112, "lat": 19.4288081, "lon": -99.1572333}, {"type": "node", "id": 11404520113, "lat": 19.4288352, "lon": -99.1572474}, {"type": "node", "id": 11404520114, "lat": 19.429043, "lon": -99.1573553}, {"type": "node", "id": 11404520115, "lat": 19.4290337, "lon": -99.1573754}, {"type": "node", "id": 11404520118, "lat": 19.4288221, "lon": -99.1575705}, {"type": "node", "id": 11404520121, "lat": 19.4288424, "lon": -99.1575267}, {"type": "node", "id": 11404520126, "lat": 19.4288707, "lon": -99.1574654}, {"type": "node", "id": 11404520128, "lat": 19.4288554, "lon": -99.1574986}, {"type": "node", "id": 11404520129, "lat": 19.4288363, "lon": -99.1573773}, {"type": "node", "id": 11404520133, "lat": 19.4290236, "lon": -99.157241}, {"type": "node", "id": 11404520134, "lat": 19.4290647, "lon": -99.1571547}, {"type": "node", "id": 11404520135, "lat": 19.4290471, "lon": -99.1571452}, {"type": "node", "id": 11404520136, "lat": 19.4291469, "lon": -99.156936}, {"type": "node", "id": 11404520137, "lat": 19.4289624, "lon": -99.1569123}, {"type": "node", "id": 11404520138, "lat": 19.4289301, "lon": -99.1569788}, {"type": "node", "id": 11404520139, "lat": 19.4289097, "lon": -99.1569807}, {"type": "node", "id": 11404520140, "lat": 19.4288973, "lon": -99.157006}, {"type": "node", "id": 11404520141, "lat": 19.4289078, "lon": -99.1570248}, {"type": "node", "id": 11404520142, "lat": 19.4288485, "lon": -99.1571472}, {"type": "node", "id": 11404520143, "lat": 19.4289006, "lon": -99.1570166}, {"type": "node", "id": 11404520144, "lat": 19.428918, "lon": -99.156978}, {"type": "node", "id": 11404520145, "lat": 19.4288983, "lon": -99.1569951}, {"type": "node", "id": 11404520146, "lat": 19.428904, "lon": -99.156985}, {"type": "node", "id": 11404520148, "lat": 19.428947, "lon": -99.1568979}, {"type": "node", "id": 11404520149, "lat": 19.4289462, "lon": -99.1568736}, {"type": "node", "id": 11404520150, "lat": 19.4289451, "lon": -99.1568847}, {"type": "node", "id": 11409068057, "lat": 19.4292591, "lon": -99.1581116}, {"type": "node", "id": 11409080875, "lat": 19.4289393, "lon": -99.1587888}, {"type": "node", "id": 11409080877, "lat": 19.4290532, "lon": -99.1585478}, {"type": "node", "id": 11409080878, "lat": 19.4291365, "lon": -99.1583713}, {"type": "node", "id": 11409080879, "lat": 19.428932, "lon": -99.1582627}, {"type": "node", "id": 11409080880, "lat": 19.4290552, "lon": -99.158005}, {"type": "node", "id": 11409080881, "lat": 19.42879, "lon": -99.1581873}, {"type": "node", "id": 11409080882, "lat": 19.4289127, "lon": -99.1579305}, {"type": "node", "id": 11409080915, "lat": 19.4288156, "lon": -99.1581338}, {"type": "node", "id": 11409080918, "lat": 19.4289202, "lon": -99.1582143}, {"type": "node", "id": 11409080919, "lat": 19.428832, "lon": -99.1581679}, {"type": "node", "id": 11409080920, "lat": 19.4288453, "lon": -99.1581394}, {"type": "node", "id": 11409080921, "lat": 19.4289335, "lon": -99.1581859}, {"type": "node", "id": 11409080922, "lat": 19.4289844, "lon": -99.1580657}, {"type": "node", "id": 11409080923, "lat": 19.4289005, "lon": -99.1580211}, {"type": "node", "id": 11409080924, "lat": 19.4289111, "lon": -99.1579986}, {"type": "node", "id": 11409080925, "lat": 19.4289951, "lon": -99.1580432}, {"type": "node", "id": 11409080926, "lat": 19.4289619, "lon": -99.1580537}, {"type": "node", "id": 11409080927, "lat": 19.4289725, "lon": -99.1580312}, {"type": "node", "id": 11409080928, "lat": 19.4289431, "lon": -99.1580156}, {"type": "node", "id": 11409080929, "lat": 19.4289325, "lon": -99.1580381}, {"type": "node", "id": 11409080930, "lat": 19.4291779, "lon": -99.1582835}, {"type": "node", "id": 11409080931, "lat": 19.4289735, "lon": -99.1581758}, {"type": "node", "id": 11409080932, "lat": 19.4291433, "lon": -99.1582328}, {"type": "node", "id": 11409080933, "lat": 19.4290503, "lon": -99.1581841}, {"type": "node", "id": 11409080934, "lat": 19.4290379, "lon": -99.1582102}, {"type": "node", "id": 11409080935, "lat": 19.4291303, "lon": -99.1582585}, {"type": "node", "id": 11409080936, "lat": 19.4290221, "lon": -99.158202}, {"type": "node", "id": 11409080937, "lat": 19.4289806, "lon": -99.1582886}, {"type": "node", "id": 11409080938, "lat": 19.4287242, "lon": -99.1583734}, {"type": "node", "id": 11409080939, "lat": 19.4288086, "lon": -99.1581972}, {"type": "node", "id": 11409080940, "lat": 19.4288882, "lon": -99.1582395}, {"type": "node", "id": 11409080941, "lat": 19.4289037, "lon": -99.158322}, {"type": "node", "id": 11409080942, "lat": 19.4288897, "lon": -99.1583145}, {"type": "node", "id": 11409080943, "lat": 19.4288604, "lon": -99.1583763}, {"type": "node", "id": 11409080944, "lat": 19.4288305, "lon": -99.1583604}, {"type": "node", "id": 11409080945, "lat": 19.4289374, "lon": -99.1584864}, {"type": "node", "id": 11409080946, "lat": 19.4287251, "lon": -99.158675}, {"type": "node", "id": 11409080947, "lat": 19.4288491, "lon": -99.1586729}, {"type": "node", "id": 11409080948, "lat": 19.4287507, "lon": -99.1586208}, {"type": "node", "id": 11409080949, "lat": 19.4287674, "lon": -99.1585854}, {"type": "node", "id": 11409080950, "lat": 19.4288044, "lon": -99.1585072}, {"type": "node", "id": 11409080951, "lat": 19.4289186, "lon": -99.158526}, {"type": "node", "id": 11409080952, "lat": 19.4288203, "lon": -99.1584737}, {"type": "node", "id": 11409080953, "lat": 19.4286092, "lon": -99.1586134}, {"type": "node", "id": 11409080954, "lat": 19.4289028, "lon": -99.1585595}, {"type": "node", "id": 11409080955, "lat": 19.4288658, "lon": -99.1586376}, {"type": "node", "id": 11409080956, "lat": 19.4288293, "lon": -99.1586183}, {"type": "node", "id": 11409080957, "lat": 19.4288659, "lon": -99.1585399}, {"type": "node", "id": 11409080958, "lat": 19.4288042, "lon": -99.158605}, {"type": "node", "id": 11409080959, "lat": 19.4288409, "lon": -99.1585266}, {"type": "node", "id": 11409080960, "lat": 19.4288117, "lon": -99.1585891}, {"type": "node", "id": 11409080961, "lat": 19.4288345, "lon": -99.1585404}, {"type": "node", "id": 11409080962, "lat": 19.4288367, "lon": -99.1586024}, {"type": "node", "id": 11409080963, "lat": 19.4288595, "lon": -99.1585535}, {"type": "node", "id": 11409080964, "lat": 19.4288234, "lon": -99.1587272}, {"type": "node", "id": 11409080965, "lat": 19.428839, "lon": -99.1584342}, {"type": "node", "id": 11430123760, "lat": 19.4290484, "lon": -99.1567191}, {"type": "node", "id": 11430123761, "lat": 19.4290628, "lon": -99.1567706}, {"type": "node", "id": 11430123762, "lat": 19.4290318, "lon": -99.1567543}, {"type": "node", "id": 11430123763, "lat": 19.4290794, "lon": -99.1567355}, {"type": "node", "id": 11430123764, "lat": 19.4290639, "lon": -99.1567273, "tags": {"entrance": "main"}}, {"type": "node", "id": 11436039361, "lat": 19.4315773, "lon": -99.1539807}, {"type": "node", "id": 11436039363, "lat": 19.4316056, "lon": -99.153969}, {"type": "node", "id": 11436052246, "lat": 19.4311159, "lon": -99.1563319}, {"type": "node", "id": 11436052247, "lat": 19.4310854, "lon": -99.1563413}, {"type": "node", "id": 11436052248, "lat": 19.4310673, "lon": -99.1561495}, {"type": "node", "id": 11436052249, "lat": 19.4310368, "lon": -99.1561589}, {"type": "node", "id": 11436052250, "lat": 19.431098, "lon": -99.1562645}, {"type": "node", "id": 11436052251, "lat": 19.4310673, "lon": -99.1562736}, {"type": "node", "id": 11436052252, "lat": 19.431085, "lon": -99.1562156}, {"type": "node", "id": 11436052253, "lat": 19.4310544, "lon": -99.1562249}, {"type": "node", "id": 11489046477, "lat": 19.4308975, "lon": -99.1565177}, {"type": "node", "id": 11557933251, "lat": 19.4305762, "lon": -99.1588633}, {"type": "node", "id": 11557933252, "lat": 19.4305649, "lon": -99.1588578}, {"type": "node", "id": 11557933253, "lat": 19.4305732, "lon": -99.1588388}, {"type": "node", "id": 11557933254, "lat": 19.4305844, "lon": -99.1588443}, {"type": "node", "id": 11557960950, "lat": 19.4307176, "lon": -99.1585652}, {"type": "node", "id": 11557960951, "lat": 19.4307288, "lon": -99.1585779}, {"type": "node", "id": 11557960952, "lat": 19.4307463, "lon": -99.1585606}, {"type": "node", "id": 11557960953, "lat": 19.4307351, "lon": -99.1585479}, {"type": "node", "id": 11563087094, "lat": 19.4293058, "lon": -99.1616111}, {"type": "node", "id": 11563087095, "lat": 19.4293151, "lon": -99.161591}, {"type": "node", "id": 11563087096, "lat": 19.429338, "lon": -99.1616031}, {"type": "node", "id": 11563087097, "lat": 19.4293284, "lon": -99.1616096}, {"type": "node", "id": 11563087098, "lat": 19.4293285, "lon": -99.1616231}, {"type": "node", "id": 11563278896, "lat": 19.4297486, "lon": -99.1584076, "tags": {"amenity": "parking_entrance", "maxheight:signed": "no", "parking": "multi-storey"}}, {"type": "node", "id": 11563278897, "lat": 19.429731, "lon": -99.1583425, "tags": {"amenity": "parking_entrance", "maxheight:signed": "no", "parking": "multi-storey"}}, {"type": "node", "id": 11565616835, "lat": 19.4320269, "lon": -99.1581064}, {"type": "node", "id": 11565616836, "lat": 19.4319853, "lon": -99.1578063}, {"type": "node", "id": 11565616837, "lat": 19.4319812, "lon": -99.1579183}, {"type": "node", "id": 11579696944, "lat": 19.4311309, "lon": -99.158235}, {"type": "node", "id": 11579696945, "lat": 19.4311444, "lon": -99.1582065}, {"type": "node", "id": 11579696946, "lat": 19.4311279, "lon": -99.1581978}, {"type": "node", "id": 11579696947, "lat": 19.4311145, "lon": -99.1582262}, {"type": "node", "id": 11701278230, "lat": 19.4362746, "lon": -99.1566725}, {"type": "node", "id": 11701278232, "lat": 19.4360599, "lon": -99.1564168}, {"type": "node", "id": 11701278233, "lat": 19.4360753, "lon": -99.1565356}, {"type": "node", "id": 11701278234, "lat": 19.4359889, "lon": -99.1565494}, {"type": "node", "id": 11701278235, "lat": 19.4360113, "lon": -99.1567079}, {"type": "node", "id": 11701278236, "lat": 19.4360489, "lon": -99.1567019}, {"type": "node", "id": 11701278237, "lat": 19.436058, "lon": -99.1567665}, {"type": "node", "id": 11753844135, "lat": 19.4336064, "lon": -99.1544692}, {"type": "node", "id": 11838845362, "lat": 19.4310651, "lon": -99.1539084}, {"type": "node", "id": 11879518360, "lat": 19.4356996, "lon": -99.1557491}, {"type": "node", "id": 11879518361, "lat": 19.4356588, "lon": -99.1557423}, {"type": "node", "id": 11879518365, "lat": 19.4357477, "lon": -99.1557553}, {"type": "node", "id": 11879518366, "lat": 19.4361148, "lon": -99.1557862}, {"type": "node", "id": 12413798180, "lat": 19.4322356, "lon": -99.1543802}, {"type": "node", "id": 12610731881, "lat": 19.4351669, "lon": -99.1549115}, {"type": "node", "id": 12610731883, "lat": 19.4353454, "lon": -99.1547688}, {"type": "node", "id": 12610731885, "lat": 19.4352281, "lon": -99.1549019}, {"type": "node", "id": 12610731886, "lat": 19.4352087, "lon": -99.1547616}, {"type": "node", "id": 12610731887, "lat": 19.4353415, "lon": -99.1547409}, {"type": "node", "id": 12610731888, "lat": 19.4351417, "lon": -99.1547294}, {"type": "node", "id": 12610731889, "lat": 19.4352177, "lon": -99.1547602}, {"type": "node", "id": 12610731891, "lat": 19.4353725, "lon": -99.1546974}, {"type": "node", "id": 12610731892, "lat": 19.4352119, "lon": -99.1547185}, {"type": "node", "id": 12610731893, "lat": 19.4354017, "lon": -99.1545518}, {"type": "node", "id": 12610731894, "lat": 19.4353777, "lon": -99.1547352}, {"type": "node", "id": 12610731895, "lat": 19.4345195, "lon": -99.1554819}, {"type": "node", "id": 12610731896, "lat": 19.4345603, "lon": -99.1554756}, {"type": "node", "id": 12610731897, "lat": 19.4345124, "lon": -99.1554301}, {"type": "node", "id": 12610731898, "lat": 19.4345532, "lon": -99.1554238}, {"type": "node", "id": 12610731899, "lat": 19.4349577, "lon": -99.1550501}, {"type": "node", "id": 12610731900, "lat": 19.4351813, "lon": -99.1550153}, {"type": "node", "id": 12610732401, "lat": 19.4351231, "lon": -99.1545952}, {"type": "node", "id": 12610732402, "lat": 19.4347634, "lon": -99.1546478}, {"type": "node", "id": 12610732403, "lat": 19.4348995, "lon": -99.15463}, {"type": "node", "id": 12610732404, "lat": 19.4349262, "lon": -99.1548225}, {"type": "node", "id": 12610732405, "lat": 19.4349415, "lon": -99.1549327}, {"type": "node", "id": 12610732406, "lat": 19.4347878, "lon": -99.1548414}, {"type": "node", "id": 12610732407, "lat": 19.4348017, "lon": -99.1549517}, {"type": "node", "id": 12610732408, "lat": 19.4349544, "lon": -99.155026}, {"type": "node", "id": 12610732409, "lat": 19.434816, "lon": -99.1550483}, {"type": "node", "id": 12610732410, "lat": 19.4350585, "lon": -99.1550721}, {"type": "node", "id": 12610732411, "lat": 19.4351864, "lon": -99.1550521}, {"type": "node", "id": 12610732412, "lat": 19.4351995, "lon": -99.1551468}, {"type": "node", "id": 12610732413, "lat": 19.4350719, "lon": -99.1551685}, {"type": "node", "id": 12610732414, "lat": 19.4348257, "lon": -99.1551143}, {"type": "node", "id": 12610732415, "lat": 19.4349623, "lon": -99.1550898}, {"type": "node", "id": 12610732416, "lat": 19.4349748, "lon": -99.1551837}, {"type": "node", "id": 12610732418, "lat": 19.4354761, "lon": -99.15543}, {"type": "node", "id": 12610732419, "lat": 19.4348408, "lon": -99.1552045}, {"type": "node", "id": 12610732420, "lat": 19.43548, "lon": -99.1554578}, {"type": "node", "id": 12610732421, "lat": 19.4348886, "lon": -99.1555499}, {"type": "node", "id": 12610732422, "lat": 19.434213, "lon": -99.1551025}, {"type": "node", "id": 12610732423, "lat": 19.4344296, "lon": -99.1550677}, {"type": "node", "id": 12610732424, "lat": 19.4342061, "lon": -99.1550544}, {"type": "node", "id": 12610732425, "lat": 19.4341536, "lon": -99.1551612}, {"type": "node", "id": 12610732426, "lat": 19.4340636, "lon": -99.1551757}, {"type": "node", "id": 12610732427, "lat": 19.4341466, "lon": -99.1551124}, {"type": "node", "id": 12610732428, "lat": 19.4340567, "lon": -99.1551269}, {"type": "node", "id": 12610732429, "lat": 19.4341915, "lon": -99.1551052}, {"type": "node", "id": 12610732430, "lat": 19.4341847, "lon": -99.1550578}, {"type": "node", "id": 12610732431, "lat": 19.4342809, "lon": -99.1552166}, {"type": "node", "id": 12610732432, "lat": 19.4343254, "lon": -99.1552097}, {"type": "node", "id": 12610732433, "lat": 19.4341588, "lon": -99.1552341}, {"type": "node", "id": 12610732434, "lat": 19.4342025, "lon": -99.1552273}, {"type": "node", "id": 12610732435, "lat": 19.4343197, "lon": -99.155168}, {"type": "node", "id": 12610732436, "lat": 19.4342751, "lon": -99.1551748}, {"type": "node", "id": 12610732437, "lat": 19.4341969, "lon": -99.1551869}, {"type": "node", "id": 12610732438, "lat": 19.4341532, "lon": -99.1551936}, {"type": "node", "id": 12610732439, "lat": 19.4342182, "lon": -99.1553899}, {"type": "node", "id": 12610732440, "lat": 19.4341858, "lon": -99.1553948}, {"type": "node", "id": 12610732441, "lat": 19.4342236, "lon": -99.1554293}, {"type": "node", "id": 12610732442, "lat": 19.4341911, "lon": -99.1554342}, {"type": "node", "id": 12610732444, "lat": 19.4344672, "lon": -99.1552867}, {"type": "node", "id": 12610732445, "lat": 19.4344481, "lon": -99.1551481}, {"type": "node", "id": 12610732446, "lat": 19.434068, "lon": -99.1552068}, {"type": "node", "id": 12610732447, "lat": 19.4340871, "lon": -99.1553456}, {"type": "node", "id": 12610732448, "lat": 19.4342923, "lon": -99.1554789}, {"type": "node", "id": 12610732449, "lat": 19.4341093, "lon": -99.1555072}, {"type": "node", "id": 12610732450, "lat": 19.434132, "lon": -99.1556675}, {"type": "node", "id": 12610732451, "lat": 19.4344472, "lon": -99.1552898}, {"type": "node", "id": 12610732452, "lat": 19.4342701, "lon": -99.1553172}, {"type": "node", "id": 12610732453, "lat": 19.4343144, "lon": -99.1556393}, {"type": "node", "id": 12610732454, "lat": 19.4344915, "lon": -99.1556119}, {"type": "node", "id": 12610732486, "lat": 19.4351068, "lon": -99.1538668}, {"type": "node", "id": 12612210408, "lat": 19.4355293, "lon": -99.1557813}, {"type": "node", "id": 12612210409, "lat": 19.435575, "lon": -99.1557741}, {"type": "node", "id": 12612210410, "lat": 19.4355933, "lon": -99.1559057}, {"type": "node", "id": 12612210411, "lat": 19.4355488, "lon": -99.1559127}, {"type": "node", "id": 12612210412, "lat": 19.4355637, "lon": -99.1557171}, {"type": "node", "id": 12612210413, "lat": 19.4355179, "lon": -99.1557}, {"type": "node", "id": 12612210414, "lat": 19.4355699, "lon": -99.1557587}, {"type": "node", "id": 12612210415, "lat": 19.4355271, "lon": -99.1557654}, {"type": "node", "id": 12612210418, "lat": 19.4356836, "lon": -99.1559236}, {"type": "node", "id": 12612210419, "lat": 19.4357229, "lon": -99.1559175}, {"type": "node", "id": 12612210420, "lat": 19.4357989, "lon": -99.1557631}, {"type": "node", "id": 12612210422, "lat": 19.4359958, "lon": -99.1557775}, {"type": "node", "id": 12612210423, "lat": 19.436048, "lon": -99.1557824}, {"type": "node", "id": 12612210425, "lat": 19.4358422, "lon": -99.1559732}, {"type": "node", "id": 12612210426, "lat": 19.4357836, "lon": -99.1559825}, {"type": "node", "id": 12612210427, "lat": 19.4357895, "lon": -99.1560241}, {"type": "node", "id": 12612210428, "lat": 19.4358481, "lon": -99.1560147}, {"type": "node", "id": 12612210429, "lat": 19.4358942, "lon": -99.1560074}, {"type": "node", "id": 12612210430, "lat": 19.4357387, "lon": -99.1560321}, {"type": "node", "id": 12612210431, "lat": 19.4359587, "lon": -99.1559088}, {"type": "node", "id": 12612210432, "lat": 19.4359139, "lon": -99.1559158}, {"type": "node", "id": 12612210433, "lat": 19.4359224, "lon": -99.1559771}, {"type": "node", "id": 12612210434, "lat": 19.4359672, "lon": -99.1559701}, {"type": "node", "id": 12612210435, "lat": 19.4358602, "lon": -99.1557674}, {"type": "node", "id": 12612210436, "lat": 19.4360212, "lon": -99.1559617}, {"type": "node", "id": 12612210437, "lat": 19.4358906, "lon": -99.155982}, {"type": "node", "id": 12612210438, "lat": 19.4361359, "lon": -99.1559462}, {"type": "node", "id": 12612210439, "lat": 19.4360545, "lon": -99.1559588}, {"type": "node", "id": 12612210440, "lat": 19.4360491, "lon": -99.1559195}, {"type": "node", "id": 12612210441, "lat": 19.4361304, "lon": -99.1559068}, {"type": "node", "id": 12612210442, "lat": 19.4361574, "lon": -99.1557857}, {"type": "node", "id": 12612210443, "lat": 19.4360161, "lon": -99.1559246}, {"type": "node", "id": 12612210444, "lat": 19.4361732, "lon": -99.1559002}, {"type": "node", "id": 12612210445, "lat": 19.4360403, "lon": -99.155961}, {"type": "node", "id": 12612210446, "lat": 19.4361795, "lon": -99.1559394}, {"type": "node", "id": 12612210447, "lat": 19.436065, "lon": -99.1561398}, {"type": "node", "id": 12612210448, "lat": 19.4362042, "lon": -99.1561182}, {"type": "node", "id": 12612210449, "lat": 19.4362238, "lon": -99.1562599}, {"type": "node", "id": 12612210450, "lat": 19.4359709, "lon": -99.1561499}, {"type": "node", "id": 12612210451, "lat": 19.4360109, "lon": -99.1561436}, {"type": "node", "id": 12612210452, "lat": 19.4360173, "lon": -99.1561895}, {"type": "node", "id": 12612210453, "lat": 19.4359773, "lon": -99.1561958}, {"type": "node", "id": 12612210454, "lat": 19.435899, "lon": -99.1560318}, {"type": "node", "id": 12612210455, "lat": 19.4360469, "lon": -99.1560089}, {"type": "node", "id": 12612210456, "lat": 19.4360644, "lon": -99.1561352}, {"type": "node", "id": 12612210457, "lat": 19.4359164, "lon": -99.1561583}, {"type": "node", "id": 12612210458, "lat": 19.4359235, "lon": -99.1562042}, {"type": "node", "id": 12612210459, "lat": 19.4360707, "lon": -99.1561812}, {"type": "node", "id": 12612210460, "lat": 19.4360846, "lon": -99.1562815}, {"type": "node", "id": 12612210461, "lat": 19.4359373, "lon": -99.1563044}, {"type": "node", "id": 12612210462, "lat": 19.4347123, "lon": -99.1561559}, {"type": "node", "id": 12612210463, "lat": 19.4347351, "lon": -99.1563168}, {"type": "node", "id": 12612210464, "lat": 19.434599, "lon": -99.1563386}, {"type": "node", "id": 12612210465, "lat": 19.4345761, "lon": -99.1561776}, {"type": "node", "id": 12612210466, "lat": 19.4344116, "lon": -99.1563794}, {"type": "node", "id": 12612210467, "lat": 19.4346012, "lon": -99.1563488}, {"type": "node", "id": 12612210468, "lat": 19.4346252, "lon": -99.1565153}, {"type": "node", "id": 12612210469, "lat": 19.4342596, "lon": -99.1565743}, {"type": "node", "id": 12612210471, "lat": 19.4343871, "lon": -99.1562084}, {"type": "node", "id": 12612210472, "lat": 19.4344464, "lon": -99.1561988}, {"type": "node", "id": 12612210473, "lat": 19.4342111, "lon": -99.1562368}, {"type": "node", "id": 12612210474, "lat": 19.434165, "lon": -99.1559114}, {"type": "node", "id": 12612210475, "lat": 19.4345524, "lon": -99.1560091}, {"type": "node", "id": 12612210476, "lat": 19.4345601, "lon": -99.156063}, {"type": "node", "id": 12612210477, "lat": 19.4345789, "lon": -99.1560599}, {"type": "node", "id": 12612210478, "lat": 19.434582, "lon": -99.1560817}, {"type": "node", "id": 12612210479, "lat": 19.4346057, "lon": -99.1560779}, {"type": "node", "id": 12612210480, "lat": 19.434619, "lon": -99.1561707}, {"type": "node", "id": 12612210481, "lat": 19.4344829, "lon": -99.1561233}, {"type": "node", "id": 12612210482, "lat": 19.4344367, "lon": -99.1561308}, {"type": "node", "id": 12612210483, "lat": 19.4344929, "lon": -99.1561911}, {"type": "node", "id": 12612210484, "lat": 19.4345014, "lon": -99.1560484}, {"type": "node", "id": 12612210485, "lat": 19.434491, "lon": -99.1559764}, {"type": "node", "id": 12612210486, "lat": 19.4345188, "lon": -99.155972}, {"type": "node", "id": 12612210487, "lat": 19.434529, "lon": -99.1560439}, {"type": "node", "id": 12612210488, "lat": 19.4345489, "lon": -99.156182}, {"type": "node", "id": 12612210489, "lat": 19.4344926, "lon": -99.1561911}, {"type": "node", "id": 12612210490, "lat": 19.4343991, "lon": -99.1558696}, {"type": "node", "id": 12612210491, "lat": 19.4347312, "lon": -99.1559803}, {"type": "node", "id": 12612210492, "lat": 19.4345247, "lon": -99.1560135}, {"type": "node", "id": 12612210493, "lat": 19.4345017, "lon": -99.155853}, {"type": "node", "id": 12612210494, "lat": 19.4349684, "lon": -99.1563393}, {"type": "node", "id": 12612210495, "lat": 19.4349468, "lon": -99.1561882}, {"type": "node", "id": 12612210496, "lat": 19.4348986, "lon": -99.156196}, {"type": "node", "id": 12612210497, "lat": 19.4349203, "lon": -99.156347}, {"type": "node", "id": 12612210498, "lat": 19.4351122, "lon": -99.1564401}, {"type": "node", "id": 12612210499, "lat": 19.4351323, "lon": -99.1562707}, {"type": "node", "id": 12612210500, "lat": 19.4351437, "lon": -99.1563508}, {"type": "node", "id": 12612236001, "lat": 19.4351004, "lon": -99.1563579}, {"type": "node", "id": 12612236002, "lat": 19.435195, "lon": -99.1564273}, {"type": "node", "id": 12612236003, "lat": 19.4351717, "lon": -99.1562643}, {"type": "node", "id": 12612236004, "lat": 19.4350267, "lon": -99.1564533}, {"type": "node", "id": 12612236005, "lat": 19.4350889, "lon": -99.1562777}, {"type": "node", "id": 12612236006, "lat": 19.4350035, "lon": -99.1562914}, {"type": "node", "id": 12612236007, "lat": 19.4351387, "lon": -99.1562697}, {"type": "node", "id": 12612236008, "lat": 19.435126, "lon": -99.1561809}, {"type": "node", "id": 12612236009, "lat": 19.4349908, "lon": -99.1562027}, {"type": "node", "id": 12612236010, "lat": 19.4349306, "lon": -99.1564194}, {"type": "node", "id": 12612236011, "lat": 19.4347739, "lon": -99.1564447}, {"type": "node", "id": 12612236012, "lat": 19.4347316, "lon": -99.1561494}, {"type": "node", "id": 12612236013, "lat": 19.4350198, "lon": -99.1564055}, {"type": "node", "id": 12612236014, "lat": 19.4348884, "lon": -99.1561241}, {"type": "node", "id": 12612236015, "lat": 19.4349775, "lon": -99.1561098}, {"type": "node", "id": 12612236016, "lat": 19.4347549, "lon": -99.1561456}, {"type": "node", "id": 12612236017, "lat": 19.4347083, "lon": -99.1558198}, {"type": "node", "id": 12612236018, "lat": 19.4349308, "lon": -99.155784}, {"type": "node", "id": 12612236019, "lat": 19.4349619, "lon": -99.1560011}, {"type": "node", "id": 12612236020, "lat": 19.4351034, "lon": -99.1559339}, {"type": "node", "id": 12612236021, "lat": 19.4351096, "lon": -99.1559774}, {"type": "node", "id": 12612236022, "lat": 19.43506, "lon": -99.1559854}, {"type": "node", "id": 12612236023, "lat": 19.4350289, "lon": -99.1557682}, {"type": "node", "id": 12612236024, "lat": 19.4351987, "lon": -99.1559186}, {"type": "node", "id": 12612236025, "lat": 19.4352049, "lon": -99.1559617}, {"type": "node", "id": 12612236026, "lat": 19.4351504, "lon": -99.1559263}, {"type": "node", "id": 12612236027, "lat": 19.4351256, "lon": -99.1557526}, {"type": "node", "id": 12612236029, "lat": 19.4352458, "lon": -99.1559551}, {"type": "node", "id": 12612236030, "lat": 19.4352148, "lon": -99.1557383}, {"type": "node", "id": 12612236031, "lat": 19.4353025, "lon": -99.1562344}, {"type": "node", "id": 12612236032, "lat": 19.4353059, "lon": -99.1562589}, {"type": "node", "id": 12612236033, "lat": 19.4353464, "lon": -99.1562525}, {"type": "node", "id": 12612236034, "lat": 19.435343, "lon": -99.1562281}, {"type": "node", "id": 12612236035, "lat": 19.4354867, "lon": -99.155805}, {"type": "node", "id": 12612236036, "lat": 19.4354952, "lon": -99.1558664}, {"type": "node", "id": 12612236037, "lat": 19.4353798, "lon": -99.1558852}, {"type": "node", "id": 12612236038, "lat": 19.4353713, "lon": -99.1558237}, {"type": "node", "id": 12612236039, "lat": 19.4355138, "lon": -99.1559873}, {"type": "node", "id": 12612236040, "lat": 19.4355223, "lon": -99.1560486}, {"type": "node", "id": 12612236041, "lat": 19.4354331, "lon": -99.1562506}, {"type": "node", "id": 12612236042, "lat": 19.4354247, "lon": -99.1561907}, {"type": "node", "id": 12612236043, "lat": 19.4355421, "lon": -99.1561716}, {"type": "node", "id": 12612236044, "lat": 19.4355504, "lon": -99.1562315}, {"type": "node", "id": 12612236045, "lat": 19.4353391, "lon": -99.1558915}, {"type": "node", "id": 12612236046, "lat": 19.4353295, "lon": -99.1558303}, {"type": "node", "id": 12612236047, "lat": 19.4355316, "lon": -99.155798}, {"type": "node", "id": 12612236048, "lat": 19.4355414, "lon": -99.1558592}, {"type": "node", "id": 12612236049, "lat": 19.4355582, "lon": -99.1559804}, {"type": "node", "id": 12612236050, "lat": 19.4355675, "lon": -99.1560416}, {"type": "node", "id": 12612236051, "lat": 19.43539, "lon": -99.1562574}, {"type": "node", "id": 12612236052, "lat": 19.4353816, "lon": -99.1561974}, {"type": "node", "id": 12612236053, "lat": 19.4355846, "lon": -99.1561649}, {"type": "node", "id": 12612236054, "lat": 19.4355928, "lon": -99.1562249}, {"type": "node", "id": 12612236055, "lat": 19.4352192, "lon": -99.1562474}, {"type": "node", "id": 12612236056, "lat": 19.4352995, "lon": -99.1560381}, {"type": "node", "id": 12612236057, "lat": 19.4352439, "lon": -99.1560471}, {"type": "node", "id": 12612236058, "lat": 19.4352602, "lon": -99.1561618}, {"type": "node", "id": 12612236059, "lat": 19.4351798, "lon": -99.1559657}, {"type": "node", "id": 12612236060, "lat": 19.4352084, "lon": -99.1561699}, {"type": "node", "id": 12612236061, "lat": 19.4353457, "lon": -99.155939}, {"type": "node", "id": 12612236062, "lat": 19.4353158, "lon": -99.1561526}, {"type": "node", "id": 12612236063, "lat": 19.4352522, "lon": -99.1561043}, {"type": "node", "id": 12612236064, "lat": 19.4353079, "lon": -99.1560955}, {"type": "node", "id": 12612236065, "lat": 19.4353742, "lon": -99.1561435}, {"type": "node", "id": 12612236066, "lat": 19.4352432, "lon": -99.1564199}, {"type": "node", "id": 12612236067, "lat": 19.4353265, "lon": -99.156407}, {"type": "node", "id": 12612236068, "lat": 19.435385, "lon": -99.1562215}, {"type": "node", "id": 12612236069, "lat": 19.435409, "lon": -99.1563941}, {"type": "node", "id": 12612236070, "lat": 19.4353144, "lon": -99.1557218}, {"type": "node", "id": 12612236072, "lat": 19.4356119, "lon": -99.1563624}, {"type": "node", "id": 12612327209, "lat": 19.4353028, "lon": -99.1568357}, {"type": "node", "id": 12612327210, "lat": 19.4352957, "lon": -99.1567861}, {"type": "node", "id": 12612327211, "lat": 19.4353164, "lon": -99.1567828}, {"type": "node", "id": 12612327212, "lat": 19.4353385, "lon": -99.15683}, {"type": "node", "id": 12612327213, "lat": 19.435312, "lon": -99.1567516}, {"type": "node", "id": 12612327214, "lat": 19.4353843, "lon": -99.1569556}, {"type": "node", "id": 12612327215, "lat": 19.4353873, "lon": -99.1569766}, {"type": "node", "id": 12612327216, "lat": 19.4354546, "lon": -99.1570456}, {"type": "node", "id": 12612327217, "lat": 19.4354049, "lon": -99.1569524}, {"type": "node", "id": 12612327218, "lat": 19.4353751, "lon": -99.1570806}, {"type": "node", "id": 12612327219, "lat": 19.4353606, "lon": -99.1569808}, {"type": "node", "id": 12612327220, "lat": 19.4353705, "lon": -99.1570513}, {"type": "node", "id": 12612327221, "lat": 19.4354452, "lon": -99.1569794}, {"type": "node", "id": 12612327222, "lat": 19.4353689, "lon": -99.1566961}, {"type": "node", "id": 12612327223, "lat": 19.4354676, "lon": -99.1569759}, {"type": "node", "id": 12612327224, "lat": 19.4352658, "lon": -99.1568375}, {"type": "node", "id": 12612327225, "lat": 19.4352549, "lon": -99.1567607}, {"type": "node", "id": 12612327226, "lat": 19.4352222, "lon": -99.1568444}, {"type": "node", "id": 12612327227, "lat": 19.4352096, "lon": -99.1567557}, {"type": "node", "id": 12612327228, "lat": 19.4352338, "lon": -99.1567519}, {"type": "node", "id": 12612327229, "lat": 19.4352893, "lon": -99.1567106}, {"type": "node", "id": 12612327230, "lat": 19.4353208, "lon": -99.1567055}, {"type": "node", "id": 12612327231, "lat": 19.4352292, "lon": -99.1567198}, {"type": "node", "id": 12612327232, "lat": 19.4352042, "lon": -99.1567238}, {"type": "node", "id": 12612327233, "lat": 19.4351804, "lon": -99.1565556}, {"type": "node", "id": 12612327234, "lat": 19.4352794, "lon": -99.1566408}, {"type": "node", "id": 12612327235, "lat": 19.4353295, "lon": -99.1566328}, {"type": "node", "id": 12612327236, "lat": 19.4354034, "lon": -99.1565204}, {"type": "node", "id": 12612327237, "lat": 19.435427, "lon": -99.1566868}, {"type": "node", "id": 12612327238, "lat": 19.4353392, "lon": -99.1567008}, {"type": "node", "id": 12612327239, "lat": 19.4356612, "lon": -99.156955}, {"type": "node", "id": 12612327240, "lat": 19.4355843, "lon": -99.1569887}, {"type": "node", "id": 12612327241, "lat": 19.4355725, "lon": -99.1569114}, {"type": "node", "id": 12612327242, "lat": 19.4355096, "lon": -99.1565813}, {"type": "node", "id": 12612327243, "lat": 19.4354142, "lon": -99.1565966}, {"type": "node", "id": 12612327244, "lat": 19.4354201, "lon": -99.1566382}, {"type": "node", "id": 12612327245, "lat": 19.4355152, "lon": -99.1566229}, {"type": "node", "id": 12612327246, "lat": 19.4356176, "lon": -99.1566474}, {"type": "node", "id": 12612327247, "lat": 19.4356071, "lon": -99.1565739}, {"type": "node", "id": 12612327248, "lat": 19.4355755, "lon": -99.156579}, {"type": "node", "id": 12612327249, "lat": 19.4355858, "lon": -99.1566525}, {"type": "node", "id": 12612327250, "lat": 19.4355635, "lon": -99.1564951}, {"type": "node", "id": 12612327251, "lat": 19.4354987, "lon": -99.1565054}, {"type": "node", "id": 12612327252, "lat": 19.4355915, "lon": -99.1566929}, {"type": "node", "id": 12612327253, "lat": 19.435623, "lon": -99.1566878}, {"type": "node", "id": 12612327254, "lat": 19.4355472, "lon": -99.1568467}, {"type": "node", "id": 12612327255, "lat": 19.4356532, "lon": -99.1568984}, {"type": "node", "id": 12612327256, "lat": 19.4354611, "lon": -99.1569293}, {"type": "node", "id": 12612327257, "lat": 19.4354516, "lon": -99.156862}, {"type": "node", "id": 12612327258, "lat": 19.4356922, "lon": -99.1567014}, {"type": "node", "id": 12612327259, "lat": 19.4357165, "lon": -99.1566976}, {"type": "node", "id": 12612327260, "lat": 19.435685, "lon": -99.156651}, {"type": "node", "id": 12612327261, "lat": 19.4356657, "lon": -99.1566541}, {"type": "node", "id": 12612327262, "lat": 19.4357051, "lon": -99.1566176}, {"type": "node", "id": 12612327263, "lat": 19.4356614, "lon": -99.1566241}, {"type": "node", "id": 12612327264, "lat": 19.4357986, "lon": -99.1568466}, {"type": "node", "id": 12612327265, "lat": 19.4356492, "lon": -99.1568705}, {"type": "node", "id": 12612327266, "lat": 19.4356265, "lon": -99.1567119}, {"type": "node", "id": 12612327267, "lat": 19.4357761, "lon": -99.1566881}, {"type": "node", "id": 12612327268, "lat": 19.4357649, "lon": -99.156608}, {"type": "node", "id": 12612327269, "lat": 19.4356153, "lon": -99.1566315}, {"type": "node", "id": 12612327270, "lat": 19.4355952, "lon": -99.1564901}, {"type": "node", "id": 12612327271, "lat": 19.4358621, "lon": -99.1564765}, {"type": "node", "id": 12612327272, "lat": 19.4359761, "lon": -99.1564584}, {"type": "node", "id": 12612327273, "lat": 19.4358314, "lon": -99.1565516}, {"type": "node", "id": 12612327274, "lat": 19.4358401, "lon": -99.1566127}, {"type": "node", "id": 12612327275, "lat": 19.4358718, "lon": -99.1565452}, {"type": "node", "id": 12612327276, "lat": 19.4358804, "lon": -99.1566063}, {"type": "node", "id": 12612327277, "lat": 19.435809, "lon": -99.1566193}, {"type": "node", "id": 12612327278, "lat": 19.4358003, "lon": -99.1565578}, {"type": "node", "id": 12612327279, "lat": 19.4357587, "lon": -99.1565644}, {"type": "node", "id": 12612327280, "lat": 19.4357674, "lon": -99.1566259}, {"type": "node", "id": 12612327281, "lat": 19.4358989, "lon": -99.1567371}, {"type": "node", "id": 12612327282, "lat": 19.4357856, "lon": -99.1567551}, {"type": "node", "id": 12612327283, "lat": 19.4357447, "lon": -99.1564665}, {"type": "node", "id": 12612327284, "lat": 19.4358582, "lon": -99.1564486}, {"type": "node", "id": 12612327285, "lat": 19.4360175, "lon": -99.156752}, {"type": "node", "id": 12612327286, "lat": 19.4359036, "lon": -99.1567701}, {"type": "node", "id": 12612327287, "lat": 19.4360179, "lon": -99.1565127}, {"type": "node", "id": 12612327288, "lat": 19.4360141, "lon": -99.1564859}, {"type": "node", "id": 12612327289, "lat": 19.4359807, "lon": -99.1564912}, {"type": "node", "id": 12612327290, "lat": 19.4359845, "lon": -99.156518}, {"type": "node", "id": 12612327291, "lat": 19.4360584, "lon": -99.1564156}, {"type": "node", "id": 12612327292, "lat": 19.4359721, "lon": -99.1564306}, {"type": "node", "id": 12612327293, "lat": 19.4362354, "lon": -99.156389}, {"type": "node", "id": 12612327294, "lat": 19.4360201, "lon": -99.1567829}, {"type": "node", "id": 12612327295, "lat": 19.4351245, "lon": -99.1565749}, {"type": "node", "id": 12612327296, "lat": 19.4350609, "lon": -99.1565848}, {"type": "node", "id": 12612327297, "lat": 19.4350676, "lon": -99.1566329}, {"type": "node", "id": 12612327298, "lat": 19.4351311, "lon": -99.156623}, {"type": "node", "id": 12612327299, "lat": 19.4346889, "lon": -99.1568212}, {"type": "node", "id": 12612327300, "lat": 19.4345498, "lon": -99.1574404}, {"type": "node", "id": 12612359001, "lat": 19.4345386, "lon": -99.1574754}, {"type": "node", "id": 12612359002, "lat": 19.4345237, "lon": -99.1574519}, {"type": "node", "id": 12612390400, "lat": 19.4321743, "lon": -99.1584701}, {"type": "node", "id": 12612417901, "lat": 19.4322181, "lon": -99.158572}, {"type": "node", "id": 12612417902, "lat": 19.4322504, "lon": -99.1580724}, {"type": "node", "id": 12612417905, "lat": 19.4325959, "lon": -99.1582455}, {"type": "node", "id": 12612417906, "lat": 19.4324918, "lon": -99.1584769}, {"type": "node", "id": 12612417907, "lat": 19.4323019, "lon": -99.1583822}, {"type": "node", "id": 12612417908, "lat": 19.4320889, "lon": -99.1582545}, {"type": "node", "id": 12612417909, "lat": 19.4320775, "lon": -99.1582297}, {"type": "node", "id": 12612417911, "lat": 19.4324519, "lon": -99.1581708}, {"type": "node", "id": 12612417914, "lat": 19.4328326, "lon": -99.1574595}, {"type": "node", "id": 12612417915, "lat": 19.432475, "lon": -99.1571115}, {"type": "node", "id": 12612417916, "lat": 19.4325159, "lon": -99.1571328}, {"type": "node", "id": 12612417917, "lat": 19.4323856, "lon": -99.1570731}, {"type": "node", "id": 12612417918, "lat": 19.4323219, "lon": -99.1570737}, {"type": "node", "id": 12612417919, "lat": 19.4324179, "lon": -99.1570904}, {"type": "node", "id": 12612417920, "lat": 19.4324787, "lon": -99.1570964}, {"type": "node", "id": 12612417921, "lat": 19.4323224, "lon": -99.1571188}, {"type": "node", "id": 12612417922, "lat": 19.432418, "lon": -99.1571154}, {"type": "node", "id": 12612417923, "lat": 19.4325318, "lon": -99.1571372}, {"type": "node", "id": 12612417924, "lat": 19.4325775, "lon": -99.1571565}, {"type": "node", "id": 12612417925, "lat": 19.4326012, "lon": -99.1571684}, {"type": "node", "id": 12612417926, "lat": 19.4326295, "lon": -99.1571853}, {"type": "node", "id": 12612417927, "lat": 19.4326784, "lon": -99.1572238}, {"type": "node", "id": 12612417928, "lat": 19.4327061, "lon": -99.1572488}, {"type": "node", "id": 12612417929, "lat": 19.4327532, "lon": -99.1573013}, {"type": "node", "id": 12612417930, "lat": 19.4327711, "lon": -99.1573272}, {"type": "node", "id": 12612417931, "lat": 19.4328084, "lon": -99.1573952}, {"type": "node", "id": 12612417932, "lat": 19.4328399, "lon": -99.1574865}, {"type": "node", "id": 12612417933, "lat": 19.4328541, "lon": -99.1575631}, {"type": "node", "id": 12612417934, "lat": 19.4328549, "lon": -99.1576469}, {"type": "node", "id": 12612417935, "lat": 19.4328406, "lon": -99.1577333}, {"type": "node", "id": 12612417936, "lat": 19.4328092, "lon": -99.1578156}, {"type": "node", "id": 12612417937, "lat": 19.4327894, "lon": -99.1578551}, {"type": "node", "id": 12612417938, "lat": 19.4327461, "lon": -99.1579092}, {"type": "node", "id": 12612417939, "lat": 19.4327277, "lon": -99.1579238}, {"type": "node", "id": 12612417940, "lat": 19.4327161, "lon": -99.1579981}, {"type": "node", "id": 12612417941, "lat": 19.4326879, "lon": -99.1579839}, {"type": "node", "id": 12612417942, "lat": 19.4326444, "lon": -99.1581531}, {"type": "node", "id": 12612417943, "lat": 19.432524, "lon": -99.1580695}, {"type": "node", "id": 12612417953, "lat": 19.4323277, "lon": -99.157304}, {"type": "node", "id": 12612417962, "lat": 19.4321287, "lon": -99.1574481}, {"type": "node", "id": 12612417963, "lat": 19.4321638, "lon": -99.1574133}, {"type": "node", "id": 12612417964, "lat": 19.4322126, "lon": -99.1573958}, {"type": "node", "id": 12612417965, "lat": 19.4322752, "lon": -99.1573937}, {"type": "node", "id": 12612417972, "lat": 19.4319865, "lon": -99.1579628}, {"type": "node", "id": 12612417973, "lat": 19.4320655, "lon": -99.1582039}, {"type": "node", "id": 12612417974, "lat": 19.4319978, "lon": -99.1577502}, {"type": "node", "id": 12612417975, "lat": 19.4319814, "lon": -99.1578569}, {"type": "node", "id": 12612417976, "lat": 19.4319953, "lon": -99.1579983}, {"type": "node", "id": 12612417977, "lat": 19.4320105, "lon": -99.1580553}, {"type": "node", "id": 12612417979, "lat": 19.432271, "lon": -99.1584521}, {"type": "node", "id": 12612417980, "lat": 19.4324613, "lon": -99.1585446}, {"type": "node", "id": 12612417981, "lat": 19.4324323, "lon": -99.1586091}, {"type": "node", "id": 12613909792, "lat": 19.4331877, "lon": -99.1583678}, {"type": "node", "id": 12613909793, "lat": 19.4333072, "lon": -99.1581752}, {"type": "node", "id": 12613909794, "lat": 19.4332696, "lon": -99.1581878}, {"type": "node", "id": 12613909795, "lat": 19.4332946, "lon": -99.1581328}, {"type": "node", "id": 12613909796, "lat": 19.43349, "lon": -99.1581078}, {"type": "node", "id": 12613909797, "lat": 19.4334748, "lon": -99.1580598}, {"type": "node", "id": 12613909798, "lat": 19.433554, "lon": -99.1581002}, {"type": "node", "id": 12613909799, "lat": 19.4341094, "lon": -99.1579574}, {"type": "node", "id": 12613909800, "lat": 19.4341073, "lon": -99.1579688}, {"type": "node", "id": 12613939801, "lat": 19.4337108, "lon": -99.1577485}, {"type": "node", "id": 12613939802, "lat": 19.4337179, "lon": -99.157817}, {"type": "node", "id": 12613939803, "lat": 19.433687, "lon": -99.1578014}, {"type": "node", "id": 12613939804, "lat": 19.4336564, "lon": -99.157824}, {"type": "node", "id": 12613939805, "lat": 19.4337039, "lon": -99.157848}, {"type": "node", "id": 12613939806, "lat": 19.4335839, "lon": -99.1581153}, {"type": "node", "id": 12613939807, "lat": 19.4336119, "lon": -99.1577487}, {"type": "node", "id": 12613939808, "lat": 19.433652, "lon": -99.1577691}, {"type": "node", "id": 12613939809, "lat": 19.4335975, "lon": -99.15789}, {"type": "node", "id": 12613939810, "lat": 19.4335575, "lon": -99.1578698}, {"type": "node", "id": 12613939811, "lat": 19.4333128, "lon": -99.1577886}, {"type": "node", "id": 12613939812, "lat": 19.4334921, "lon": -99.1580154}, {"type": "node", "id": 12613939813, "lat": 19.4336308, "lon": -99.1577065}, {"type": "node", "id": 12613939814, "lat": 19.4335144, "lon": -99.1576455}, {"type": "node", "id": 12613939815, "lat": 19.433375, "lon": -99.1579563}, {"type": "node", "id": 12613939816, "lat": 19.4328389, "lon": -99.1583782}, {"type": "node", "id": 12613939817, "lat": 19.4328442, "lon": -99.1583658}, {"type": "node", "id": 12613939818, "lat": 19.4329246, "lon": -99.1584046}, {"type": "node", "id": 12613939819, "lat": 19.4329192, "lon": -99.1584171}, {"type": "node", "id": 12613939820, "lat": 19.4328231, "lon": -99.1584591}, {"type": "node", "id": 12613939821, "lat": 19.432816, "lon": -99.1584375}, {"type": "node", "id": 12613939822, "lat": 19.4327663, "lon": -99.1584837}, {"type": "node", "id": 12613939823, "lat": 19.4327912, "lon": -99.1584256}, {"type": "node", "id": 12613939824, "lat": 19.4332842, "lon": -99.1575248}, {"type": "node", "id": 12613939825, "lat": 19.4331343, "lon": -99.1575756}, {"type": "node", "id": 12613939826, "lat": 19.4332706, "lon": -99.1577608}, {"type": "node", "id": 12613939827, "lat": 19.4332203, "lon": -99.1577354}, {"type": "node", "id": 12613939828, "lat": 19.4332867, "lon": -99.1577249}, {"type": "node", "id": 12613939829, "lat": 19.4332364, "lon": -99.1576996}, {"type": "node", "id": 12613939830, "lat": 19.4333313, "lon": -99.1577474}, {"type": "node", "id": 12613939831, "lat": 19.4334033, "lon": -99.1575872}, {"type": "node", "id": 12613939832, "lat": 19.4330708, "lon": -99.1577171}, {"type": "node", "id": 12613939833, "lat": 19.4331078, "lon": -99.1576347}, {"type": "node", "id": 12613939834, "lat": 19.4332288, "lon": -99.1576957}, {"type": "node", "id": 12613939835, "lat": 19.4332103, "lon": -99.1577369}, {"type": "node", "id": 12613939836, "lat": 19.4331918, "lon": -99.1577781}, {"type": "node", "id": 12613939837, "lat": 19.4334249, "lon": -99.1578452}, {"type": "node", "id": 12613939838, "lat": 19.4331328, "lon": -99.1577483}, {"type": "node", "id": 12613939839, "lat": 19.4330378, "lon": -99.1579586}, {"type": "node", "id": 12613939840, "lat": 19.4330827, "lon": -99.1578608}, {"type": "node", "id": 12613939841, "lat": 19.4330195, "lon": -99.1578282}, {"type": "node", "id": 12613939842, "lat": 19.4328505, "lon": -99.1581942}, {"type": "node", "id": 12613939843, "lat": 19.432861, "lon": -99.1581715}, {"type": "node", "id": 12613939844, "lat": 19.4328959, "lon": -99.158189}, {"type": "node", "id": 12613939845, "lat": 19.4328857, "lon": -99.1582119}, {"type": "node", "id": 12613939846, "lat": 19.4331701, "lon": -99.1583585}, {"type": "node", "id": 12613939847, "lat": 19.4331048, "lon": -99.1583849}, {"type": "node", "id": 12613939848, "lat": 19.4331136, "lon": -99.1584094}, {"type": "node", "id": 12613939849, "lat": 19.4329662, "lon": -99.1584425}, {"type": "node", "id": 12613939850, "lat": 19.4330175, "lon": -99.158422}, {"type": "node", "id": 12613939851, "lat": 19.4330269, "lon": -99.1584482}, {"type": "node", "id": 12613939852, "lat": 19.4330294, "lon": -99.1582981}, {"type": "node", "id": 12613939853, "lat": 19.4330429, "lon": -99.158266}, {"type": "node", "id": 12613939854, "lat": 19.4330194, "lon": -99.1582549}, {"type": "node", "id": 12613939855, "lat": 19.433006, "lon": -99.158287}, {"type": "node", "id": 12613939856, "lat": 19.4330065, "lon": -99.1583508}, {"type": "node", "id": 12613939857, "lat": 19.4328661, "lon": -99.1582819}, {"type": "node", "id": 12613939858, "lat": 19.4328349, "lon": -99.1583536}, {"type": "node", "id": 12614319353, "lat": 19.4338605, "lon": -99.1565532}, {"type": "node", "id": 12614319354, "lat": 19.4338712, "lon": -99.1565449}, {"type": "node", "id": 12614319355, "lat": 19.4338752, "lon": -99.1565315}, {"type": "node", "id": 12614319356, "lat": 19.4338711, "lon": -99.1565181}, {"type": "node", "id": 12614319357, "lat": 19.4338603, "lon": -99.1565099}, {"type": "node", "id": 12614319358, "lat": 19.433847, "lon": -99.15651}, {"type": "node", "id": 12614319359, "lat": 19.4338364, "lon": -99.1565183}, {"type": "node", "id": 12614319360, "lat": 19.4338323, "lon": -99.1565317}, {"type": "node", "id": 12614319361, "lat": 19.4338365, "lon": -99.156545}, {"type": "node", "id": 12614319362, "lat": 19.4338472, "lon": -99.1565532}, {"type": "node", "id": 12614319363, "lat": 19.4339423, "lon": -99.1560856}, {"type": "node", "id": 12614319364, "lat": 19.4339221, "lon": -99.1560755}, {"type": "node", "id": 12614319365, "lat": 19.4339128, "lon": -99.1560965}, {"type": "node", "id": 12614319366, "lat": 19.4339329, "lon": -99.1561066}, {"type": "node", "id": 12614319367, "lat": 19.4339474, "lon": -99.1561948}, {"type": "node", "id": 12614319368, "lat": 19.4338812, "lon": -99.1561617}, {"type": "node", "id": 12614319369, "lat": 19.4338703, "lon": -99.1561861}, {"type": "node", "id": 12614319370, "lat": 19.4339366, "lon": -99.1562192}, {"type": "node", "id": 12614319371, "lat": 19.433979, "lon": -99.1565036}, {"type": "node", "id": 12614319372, "lat": 19.4339937, "lon": -99.1564716}, {"type": "node", "id": 12614319373, "lat": 19.4339684, "lon": -99.1564586}, {"type": "node", "id": 12614319374, "lat": 19.4339537, "lon": -99.1564906}, {"type": "node", "id": 12614319375, "lat": 19.4339268, "lon": -99.1564756}, {"type": "node", "id": 12614319376, "lat": 19.4339414, "lon": -99.1564436}, {"type": "node", "id": 12614319377, "lat": 19.4339161, "lon": -99.1564306}, {"type": "node", "id": 12614319378, "lat": 19.4339015, "lon": -99.1564626}, {"type": "node", "id": 12614319379, "lat": 19.4337396, "lon": -99.1565907}, {"type": "node", "id": 12614319380, "lat": 19.4337099, "lon": -99.1565754}, {"type": "node", "id": 12614319381, "lat": 19.4336953, "lon": -99.1566072}, {"type": "node", "id": 12614319382, "lat": 19.433725, "lon": -99.1566225}, {"type": "node", "id": 12614319383, "lat": 19.4338231, "lon": -99.1566346}, {"type": "node", "id": 12614319384, "lat": 19.4337934, "lon": -99.1566193}, {"type": "node", "id": 12614319385, "lat": 19.4337788, "lon": -99.1566511}, {"type": "node", "id": 12614319386, "lat": 19.4338085, "lon": -99.1566664}, {"type": "node", "id": 12614319387, "lat": 19.4337605, "lon": -99.1565445}, {"type": "node", "id": 12614319388, "lat": 19.4337308, "lon": -99.1565291}, {"type": "node", "id": 12614319389, "lat": 19.4337162, "lon": -99.1565609}, {"type": "node", "id": 12614319390, "lat": 19.4337459, "lon": -99.1565763}, {"type": "node", "id": 12614319391, "lat": 19.4338441, "lon": -99.1565883}, {"type": "node", "id": 12614319392, "lat": 19.4338145, "lon": -99.156573}, {"type": "node", "id": 12614319393, "lat": 19.4337999, "lon": -99.1566048}, {"type": "node", "id": 12614319394, "lat": 19.4338296, "lon": -99.1566201}, {"type": "node", "id": 12614319395, "lat": 19.4341103, "lon": -99.1567179}, {"type": "node", "id": 12614319396, "lat": 19.4341, "lon": -99.1566359}, {"type": "node", "id": 12614319397, "lat": 19.4339807, "lon": -99.1566528}, {"type": "node", "id": 12614319398, "lat": 19.4340327, "lon": -99.156438}, {"type": "node", "id": 12614319399, "lat": 19.4340853, "lon": -99.1565309}, {"type": "node", "id": 12614319400, "lat": 19.4340229, "lon": -99.156563}, {"type": "node", "id": 12614319901, "lat": 19.4340425, "lon": -99.1565173}, {"type": "node", "id": 12614319902, "lat": 19.4339214, "lon": -99.1563905}, {"type": "node", "id": 12614319903, "lat": 19.433877, "lon": -99.1564882}, {"type": "node", "id": 12614319904, "lat": 19.4338746, "lon": -99.1563659}, {"type": "node", "id": 12614319905, "lat": 19.4340676, "lon": -99.157108}, {"type": "node", "id": 12614319906, "lat": 19.4341155, "lon": -99.1573575}, {"type": "node", "id": 12614319907, "lat": 19.4341407, "lon": -99.1573545}, {"type": "node", "id": 12614319908, "lat": 19.4341514, "lon": -99.1574553}, {"type": "node", "id": 12614319909, "lat": 19.4338165, "lon": -99.1574986}, {"type": "node", "id": 12614319910, "lat": 19.4338597, "lon": -99.1575202}, {"type": "node", "id": 12614319911, "lat": 19.4338277, "lon": -99.1575918}, {"type": "node", "id": 12614319912, "lat": 19.4338088, "lon": -99.1573939}, {"type": "node", "id": 12614319913, "lat": 19.4338326, "lon": -99.1573402}, {"type": "node", "id": 12614319914, "lat": 19.4338534, "lon": -99.1573505}, {"type": "node", "id": 12614319915, "lat": 19.4338296, "lon": -99.1574042}, {"type": "node", "id": 12614319916, "lat": 19.4337513, "lon": -99.1572752}, {"type": "node", "id": 12614319917, "lat": 19.4337234, "lon": -99.1572606}, {"type": "node", "id": 12614319918, "lat": 19.4337079, "lon": -99.1572936}, {"type": "node", "id": 12614319919, "lat": 19.4337359, "lon": -99.1573083}, {"type": "node", "id": 12614319920, "lat": 19.4337984, "lon": -99.1572983}, {"type": "node", "id": 12614319921, "lat": 19.4337719, "lon": -99.1572843}, {"type": "node", "id": 12614319922, "lat": 19.4337558, "lon": -99.1573183}, {"type": "node", "id": 12614319923, "lat": 19.4337824, "lon": -99.1573323}, {"type": "node", "id": 12614319924, "lat": 19.4337005, "lon": -99.1573842}, {"type": "node", "id": 12614319925, "lat": 19.4336725, "lon": -99.1573695}, {"type": "node", "id": 12614319926, "lat": 19.433657, "lon": -99.1574029}, {"type": "node", "id": 12614319927, "lat": 19.4336849, "lon": -99.1574175}, {"type": "node", "id": 12614319928, "lat": 19.4337459, "lon": -99.1574096}, {"type": "node", "id": 12614319929, "lat": 19.4337194, "lon": -99.1573955}, {"type": "node", "id": 12614319930, "lat": 19.4337047, "lon": -99.1574268}, {"type": "node", "id": 12614319931, "lat": 19.4337312, "lon": -99.1574409}, {"type": "node", "id": 12614319932, "lat": 19.4337663, "lon": -99.1571818}, {"type": "node", "id": 12614319933, "lat": 19.4337798, "lon": -99.1571518}, {"type": "node", "id": 12614319934, "lat": 19.4338437, "lon": -99.1571845}, {"type": "node", "id": 12614319935, "lat": 19.4338292, "lon": -99.1572167}, {"type": "node", "id": 12614319936, "lat": 19.4338499, "lon": -99.1572273}, {"type": "node", "id": 12614319937, "lat": 19.4338645, "lon": -99.157195}, {"type": "node", "id": 12614319938, "lat": 19.4337616, "lon": -99.1571433}, {"type": "node", "id": 12614319939, "lat": 19.4337481, "lon": -99.1571734}, {"type": "node", "id": 12614319940, "lat": 19.4341482, "lon": -99.1569931}, {"type": "node", "id": 12614319941, "lat": 19.4340622, "lon": -99.1570654}, {"type": "node", "id": 12614319942, "lat": 19.4340431, "lon": -99.1570681}, {"type": "node", "id": 12614319943, "lat": 19.4340458, "lon": -99.1570929}, {"type": "node", "id": 12614319944, "lat": 19.4340777, "lon": -99.1571066}, {"type": "node", "id": 12614319945, "lat": 19.4340795, "lon": -99.1571279}, {"type": "node", "id": 12614319946, "lat": 19.4340576, "lon": -99.1571294}, {"type": "node", "id": 12614319947, "lat": 19.4341573, "lon": -99.1575785}, {"type": "node", "id": 12614328771, "lat": 19.4335694, "lon": -99.1544162}, {"type": "node", "id": 12614328772, "lat": 19.4336017, "lon": -99.1544451}, {"type": "node", "id": 12614328773, "lat": 19.4336339, "lon": -99.1549158}, {"type": "node", "id": 12614328774, "lat": 19.4336431, "lon": -99.1548748}, {"type": "node", "id": 12614328775, "lat": 19.4336218, "lon": -99.1549568}, {"type": "node", "id": 12614328776, "lat": 19.4336054, "lon": -99.1549983}, {"type": "node", "id": 12614328777, "lat": 19.4335798, "lon": -99.1550506}, {"type": "node", "id": 12614328778, "lat": 19.4335537, "lon": -99.1550958}, {"type": "node", "id": 12614328779, "lat": 19.4335242, "lon": -99.1551317}, {"type": "node", "id": 12614328780, "lat": 19.4329006, "lon": -99.156014}, {"type": "node", "id": 12614328781, "lat": 19.4330007, "lon": -99.155797}, {"type": "node", "id": 12614328782, "lat": 19.43341, "lon": -99.1552383}, {"type": "node", "id": 12614328783, "lat": 19.4333182, "lon": -99.1553106}, {"type": "node", "id": 12614328784, "lat": 19.433293, "lon": -99.1553193}, {"type": "node", "id": 12614328785, "lat": 19.433234, "lon": -99.1553321}, {"type": "node", "id": 12614328786, "lat": 19.4332045, "lon": -99.1553414}, {"type": "node", "id": 12614328787, "lat": 19.4331484, "lon": -99.1553737}, {"type": "node", "id": 12614328788, "lat": 19.4331044, "lon": -99.1554126}, {"type": "node", "id": 12614328789, "lat": 19.4331947, "lon": -99.1555228}, {"type": "node", "id": 12614328790, "lat": 19.4332292, "lon": -99.1554857}, {"type": "node", "id": 12614328791, "lat": 19.43328, "lon": -99.155468}, {"type": "node", "id": 12614328792, "lat": 19.4333119, "lon": -99.1554603}, {"type": "node", "id": 12614328793, "lat": 19.4333941, "lon": -99.1554137}, {"type": "node", "id": 12614328794, "lat": 19.4333385, "lon": -99.1554537}, {"type": "node", "id": 12614328795, "lat": 19.4333568, "lon": -99.1554465}, {"type": "node", "id": 12614328796, "lat": 19.4333045, "lon": -99.1556876}, {"type": "node", "id": 12614328797, "lat": 19.4333717, "lon": -99.1557224}, {"type": "node", "id": 12614328798, "lat": 19.4333197, "lon": -99.15579}, {"type": "node", "id": 12614328799, "lat": 19.4332968, "lon": -99.1557781}, {"type": "node", "id": 12614328800, "lat": 19.4331806, "lon": -99.1570131}, {"type": "node", "id": 12614351101, "lat": 19.4332109, "lon": -99.1569491}, {"type": "node", "id": 12614351102, "lat": 19.4331589, "lon": -99.1569214}, {"type": "node", "id": 12614351103, "lat": 19.4331286, "lon": -99.1569855}, {"type": "node", "id": 12614351104, "lat": 19.4328366, "lon": -99.1569887}, {"type": "node", "id": 12614351105, "lat": 19.4328477, "lon": -99.1569622}, {"type": "node", "id": 12614351106, "lat": 19.4328699, "lon": -99.1569727}, {"type": "node", "id": 12614351107, "lat": 19.4328588, "lon": -99.1569992}, {"type": "node", "id": 12614351108, "lat": 19.4328624, "lon": -99.1570031}, {"type": "node", "id": 12614351109, "lat": 19.4328815, "lon": -99.1569576}, {"type": "node", "id": 12614351110, "lat": 19.4329383, "lon": -99.1569844}, {"type": "node", "id": 12614351111, "lat": 19.4329192, "lon": -99.1570299}, {"type": "node", "id": 12644288839, "lat": 19.4296638, "lon": -99.1609252, "tags": {"access": "private", "amenity": "parking_entrance", "level": "0"}}, {"type": "node", "id": 12644288841, "lat": 19.4296759, "lon": -99.1608989, "tags": {"access": "private", "amenity": "parking_entrance", "level": "0", "maxheight": "2.6", "parking": "underground"}}, {"type": "node", "id": 12679358069, "lat": 19.4339539, "lon": -99.1543947}, {"type": "node", "id": 12679358070, "lat": 19.4339606, "lon": -99.1544095}, {"type": "node", "id": 12679469718, "lat": 19.4330818, "lon": -99.1554413}, {"type": "node", "id": 12679469735, "lat": 19.4321411, "lon": -99.158396}, {"type": "node", "id": 12690261532, "lat": 19.4338983, "lon": -99.1539635}, {"type": "node", "id": 12690288117, "lat": 19.4355546, "lon": -99.1557137}, {"type": "node", "id": 12690288123, "lat": 19.4362042, "lon": -99.1562629}, {"type": "node", "id": 12728432250, "lat": 19.4322433, "lon": -99.1585149}, {"type": "node", "id": 12728432252, "lat": 19.4360932, "lon": -99.1570998}, {"type": "node", "id": 12728432253, "lat": 19.4357098, "lon": -99.1572708}, {"type": "node", "id": 12728525103, "lat": 19.4320937, "lon": -99.1557611}, {"type": "node", "id": 12728525104, "lat": 19.4321023, "lon": -99.1557657}, {"type": "node", "id": 12728525105, "lat": 19.4321088, "lon": -99.155752}, {"type": "node", "id": 12728525106, "lat": 19.4321262, "lon": -99.1557612}, {"type": "node", "id": 12728525107, "lat": 19.4321315, "lon": -99.1557501}, {"type": "node", "id": 12728561482, "lat": 19.4308344, "lon": -99.1569562}, {"type": "node", "id": 12728561483, "lat": 19.4308866, "lon": -99.1569403}, {"type": "node", "id": 12728561484, "lat": 19.4309439, "lon": -99.1569232}, {"type": "node", "id": 12767618249, "lat": 19.4295487, "lon": -99.1585484}, {"type": "node", "id": 12769610803, "lat": 19.4294147, "lon": -99.1574085}, {"type": "node", "id": 12769610804, "lat": 19.4295613, "lon": -99.1574041}, {"type": "node", "id": 12769751904, "lat": 19.4298482, "lon": -99.1567535}, {"type": "node", "id": 12769751905, "lat": 19.4298187, "lon": -99.1568547}, {"type": "node", "id": 12769751906, "lat": 19.4297673, "lon": -99.1568074}, {"type": "node", "id": 12769751907, "lat": 19.4297959, "lon": -99.1567691}, {"type": "node", "id": 12769751908, "lat": 19.4298033, "lon": -99.1567967}, {"type": "node", "id": 12801660920, "lat": 19.4309564, "lon": -99.1552204}, {"type": "node", "id": 12803713054, "lat": 19.43085, "lon": -99.1542571}, {"type": "node", "id": 12803713055, "lat": 19.4307848, "lon": -99.1540705}, {"type": "node", "id": 12803713056, "lat": 19.4308465, "lon": -99.1542471}, {"type": "node", "id": 12803713057, "lat": 19.4308847, "lon": -99.1541295}, {"type": "way", "id": 158032450, "nodes": [1702714804, 9941487853, 9941487856, 1702714780, 9941487855, 1702714777, 9941487854, 1702714796, 1702714804], "tags": {"architect": "Carlos Obreg\u00f3n Santacilia", "building": "yes", "building:architecture": "art_deco", "height": "67", "historic": "monument", "image": "https://photos.app.goo.gl/9drexQ3nvKBPFvGXA", "name": "Monumento a la Revoluci\u00f3n", "start_date": "1938", "tourism": "attraction", "website": "https://www.mrm.mx/", "wikidata": "Q1389520", "wikimedia_commons": "Category:Monumento a la Revoluci\u00f3n (M\u00e9xico)", "wikipedia": "es:Monumento a la Revoluci\u00f3n (M\u00e9xico)"}}, {"type": "way", "id": 216727413, "nodes": [2261278337, 10656582313, 10656582316, 2261278342, 2261278324, 10656582315, 10656582314, 2261278328, 2261278337], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 216727416, "nodes": [3772750989, 10656510242, 10656510241, 2261278359, 2261278348, 10656510244, 10656510243, 3772750984, 3772750989], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 217332924, "nodes": [2266051740, 1385760548, 2266051736, 2266051758, 2266051740], "tags": {"abandoned:amenity": "fuel", "brand": "Hidrosina", "building": "roof", "layer": "1", "name": "Hidrosina"}}, {"type": "way", "id": 217477791, "nodes": [10754906013, 12644288839, 12644288841, 2267426358, 10656790194, 2267426357, 10754906014, 10754906015, 10754906013], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "180", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "building:architecture": "modern", "building:levels": "37", "building:levels:underground": "9", "building:material": "glass", "height": "163.7", "name": "Torre Punta Reforma", "official_name": "Reforma 180", "start_date": "2008-04", "wikidata": "Q6150245", "wikimedia_commons": "Category:Torre Punta Reforma", "wikipedia": "es:Torre Punta Reforma"}}, {"type": "way", "id": 217482434, "nodes": [2267488269, 11045592941, 11045592942, 11045592944, 2267488258, 11045592943, 2267488292, 12690261532, 11043362685, 11043362684, 2267488287, 2267488256, 2267488269], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "51", "addr:postcode": "06030", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "building:levels": "24", "height": "82", "name": "Torre Bienestar", "wikidata": "Q6150098", "wikimedia_commons": "Category:Torre Contigo", "wikipedia": "es:Torre Contigo"}}, {"type": "way", "id": 217482435, "nodes": [2267488276, 2267488283, 5118619184, 10905698403, 2267488298, 2267488261, 2267488294, 10905710533, 12413798180, 2267488277, 10905710525, 2267488276], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "80", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "hotel", "height": "92", "name": "Fiesta Americana Reforma", "start_date": "1970", "tourism": "hotel"}}, {"type": "way", "id": 217482436, "nodes": [2267488274, 3198940328, 2267488267, 2267488265, 12614328779, 12614328778, 12614328777, 12614328776, 12614328775, 12614328773, 12614328774, 2267488263, 2267488254, 2267488296, 2267488274], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "alt_name": "Hotel Plaza Suites", "building": "commercial", "height": "93", "name": "Plaza Residences"}}, {"type": "way", "id": 217482437, "nodes": [2267488272, 3198940341, 2267488279, 2267488259, 12614328771, 2267488299, 12614328772, 11753844135, 2267488285, 2267488272], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "69", "addr:postcode": "06030", "addr:street": "Avenida Paseo de la Reforma", "air_conditioning": "yes", "bar": "yes", "brand": "Le M\u00e9ridien", "brand:wikidata": "Q261077", "brand:wikipedia": "en:Le M\u00e9ridien", "building": "yes", "height": "65", "internet_access": "wlan", "internet_access:fee": "no", "name": "Le M\u00e9ridien Mexico City", "payment:credit_cards": "yes", "phone": "+52 55-50613000", "rooms": "160", "swimming_pool": "yes", "tourism": "hotel", "website": "https://www.marriott.com/es/hotels/mexdm-le-meridien-mexico-city/overview/"}}, {"type": "way", "id": 217483266, "nodes": [2267496920, 3198940307, 2267496897, 2267496912, 3198940304, 3198940288, 2267496920], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "107", "addr:postcode": "06030", "addr:street": "Avenida Paseo de la Reforma", "building": "yes", "height": "77", "name": "Sevilla Palace", "tourism": "hotel"}}, {"type": "way", "id": 312466771, "nodes": [3183266217, 3183266190, 3183266169, 3183266173, 3183266177, 3183266178, 11322983712, 11322983730, 11322983731, 11322983729, 11322983728, 11322983727, 11322983711, 3183266188, 3183266209, 3183266217], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "222", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "commercial", "height": "32", "internet_access": "wlan", "name": "Centro Comercial Reforma 222", "official_name": "C\u00f3digo Reforma 222", "shop": "mall"}}, {"type": "way", "id": 312466772, "nodes": [3183266219, 11322983734, 11322983736, 3183266189, 3183266184, 11322983726, 11322983737, 11322983725, 11322983724, 11322983723, 11322983722, 3183266191, 11322983721, 11322983720, 3183266198, 11322983735, 3183266206, 11322983714, 3183266207, 11322983713, 3183266213, 11322983709, 3183266216, 11322983710, 3183266219], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "222", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "alt_name": "Torre 1 Reforma 222", "architect": "Teodoro Gonz\u00e1lez de Le\u00f3n", "building": "residential", "building:levels": "31", "building:levels:underground": "5", "height": "125.8", "name": "Torre Reforma 222", "start_date": "2008", "wikidata": "Q3719154", "wikipedia": "es:Edificio Reforma 222 Torre 1"}}, {"type": "way", "id": 312466779, "nodes": [3183266218, 3183266210, 3183266220, 11322983742, 11563087094, 11563087095, 11322983745, 3183266221, 3183266218], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "208", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "brand": "Holiday Inn Express", "brand:wikidata": "Q5880423", "brand:wikipedia": "en:Holiday Inn Express", "building": "hotel", "height": "59", "name": "Holiday Inn Express Mexico Reforma", "tourism": "hotel"}}, {"type": "way", "id": 313844123, "nodes": [3198813794, 3198813797, 5172553368, 3198813792, 3198813794], "tags": {"building": "yes", "height": "28"}}, {"type": "way", "id": 313844125, "nodes": [3198813799, 3198813801, 3198813802, 3198813800, 3198813799], "tags": {"building": "yes", "height": "29"}}, {"type": "way", "id": 313844126, "nodes": [3198813798, 3198813790, 3198813787, 3198813796, 3198813798], "tags": {"building": "yes", "height": "70", "office": "government"}}, {"type": "way", "id": 313844127, "nodes": [3198813783, 3198813786, 3198813784, 3198813778, 3198813783], "tags": {"building": "yes", "height": "58"}}, {"type": "way", "id": 313844131, "nodes": [3198813779, 3198813785, 3198813781, 3198813780, 3198813775, 3198813773, 3198813779], "tags": {"building": "yes", "height": "66"}}, {"type": "way", "id": 313853812, "nodes": [3198940284, 3198940282, 3198940283, 3198940292, 3198940296, 3198940294, 3198940297, 3198940298, 3198940299, 3198940284]}, {"type": "way", "id": 313853814, "nodes": [3198940290, 3198940293, 3198940289, 3198940285, 3198940287, 3198940290]}, {"type": "way", "id": 313853817, "nodes": [3198940309, 12614328789, 3198940312, 12614328790, 3198940316, 12614328791, 12614328792, 12614328794, 12614328795, 3198940322, 5121876267, 12614328793, 5121876268, 3198940328, 2267488267, 12614328782, 3198940327, 3198940323, 12614328783, 12614328784, 3198940319, 12614328785, 12614328786, 3198940314, 12614328787, 3198940308, 12614328788, 12679469718, 3198940306, 3198940303, 3198940309], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "height": "19"}}, {"type": "way", "id": 313853819, "nodes": [3198940299, 3198940304, 3198940288, 3198940284, 3198940299], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "height": "28"}}, {"type": "way", "id": 313853820, "nodes": [3198940307, 2267496920, 3198940295, 12614328780, 3198940311, 3198940307], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "height": "81"}}, {"type": "way", "id": 313853822, "nodes": [3198940300, 12614328781, 3198940315, 12614328799, 12614328798, 3198940321, 12614328796, 3198940309, 3198940303, 3198940300], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "height": "59"}}, {"type": "way", "id": 313853824, "nodes": [3198940307, 2267496897, 3198940317, 3198940313, 3198940311, 3198940307], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "height": "51"}}, {"type": "way", "id": 313857031, "nodes": [3198972775, 3198972776, 11359061697, 3198972774, 3198972765, 11359061704, 3198972775], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "116", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "name": "Secretaria de Desarrollo Social", "office": "government", "opening_hours": "Mo-Fr 09:00-18:00", "wikidata": "Q750182"}}, {"type": "way", "id": 313857035, "nodes": [3198972727, 3198972731, 3198972733, 11386698046, 11386698045, 3198972728, 11386698044, 11386698043, 3198972727], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "164", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "height": "70", "name": "Comisi\u00f3n Federal de Electricidad", "office": "power_utility", "phone": "+52 55 5229 4400", "short_name": "CFE", "website": "https://www.cfe.mx/"}}, {"type": "way", "id": 313857037, "nodes": [3198972732, 3198972735, 11386697994, 11386697995, 5118231490, 3198972730, 11386698048, 11386698047, 11386698013, 11386698012, 5931949657, 3198972729, 3198972732], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "156", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "height": "73", "name": "DGTI Secretaria de Salud", "office": "government"}}, {"type": "way", "id": 313857038, "nodes": [3198972758, 3198972749, 11359260696, 3198972748, 3198972751, 11359260697, 11359260698, 3198972758], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "136", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "height": "69"}}, {"type": "way", "id": 313857040, "nodes": [3198972755, 11359260693, 3198972760, 3198972750, 11359260689, 11359260690, 3198972747, 3198972755], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "124", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "hotel", "height": "35"}}, {"type": "way", "id": 313857041, "nodes": [3198972767, 3198972771, 3198972756, 3198972754, 11359260687, 11359260686, 3198972767], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "122", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office", "height": "49"}}, {"type": "way", "id": 371491145, "nodes": [3750570266, 3750570267, 3750570268, 3750570269, 3750570270, 3750570271, 3750570272, 3750570273, 3750570274, 3750570266], "tags": {"building": "yes", "name": "Secretar\u00eda de Desarrollo Urbano y Vivienda", "office": "government"}}, {"type": "way", "id": 371491213, "nodes": [11565616835, 12612417977, 12612417976, 12612417972, 11565616837, 12612417975, 11565616836, 12612417974, 3198838822, 12612417962, 3198838826, 12612417963, 3198838828, 12612417964, 3198838833, 12612417965, 3198838839, 12612417953, 3198838837, 12612417921, 12612417918, 12612417917, 3198838846, 12612417922, 12612417919, 2267496906, 12612417920, 12612417915, 3198838859, 12612417916, 12612417923, 3198838865, 12612417924, 12612417925, 12612417926, 3198838872, 12612417927, 12612417928, 3198838878, 12612417929, 12612417930, 3198838880, 12612417931, 2267496918, 12612417914, 12612417932, 3198838884, 12612417933, 3198838885, 12612417934, 2267496900, 12612417935, 3198838881, 12612417936, 12612417937, 3198838879, 12612417938, 12612417939, 3198838877, 12612417940, 12612417941, 3198838876, 3198838871, 12612417942, 3198838866, 3198838862, 12612417943, 3198838855, 12612417911, 2267496929, 12612417902, 3198838823, 3198838819, 12612417908, 12612417909, 12612417973, 3198838818, 11565616835], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "government": "legislative", "name": "Senado de la Rep\u00fablica", "office": "government"}}, {"type": "way", "id": 395225424, "nodes": [3981367457, 3981367458, 5173790446, 5121876170, 12612327300, 9915705571, 12612359001, 9915705570, 5121876171, 5121876172, 5121876173, 3981367457], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "disused": "yes"}}, {"type": "way", "id": 395225693, "nodes": [3981375160, 3981375161, 5173790463, 9915705573, 5121876175, 5120594982, 5121954421, 5121952820, 3981375160], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "building:levels": "5", "name": "SME Gimnasio y Estacionamiento"}}, {"type": "way", "id": 395225694, "nodes": [3981375161, 5173790463, 3981375165, 3981375167, 3981375161], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "45", "addr:postcode": "06030", "addr:street": "Calle Maestro Antonio Caso", "branch": "Antonio Caso", "building": "yes", "building:levels": "5", "name": "Sindicato Mexicano de Electricistas", "office": "union", "wikidata": "Q6129115", "wikipedia": "es:Sindicato Mexicano de Electricistas"}}, {"type": "way", "id": 404807784, "nodes": [4070643447, 11386698006, 11386697998, 4070643448, 4070643449, 11563278897, 11563278896, 4070643450, 11386697993, 4070643447], "tags": {"access": "yes", "addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "39", "addr:postcode": "06600", "addr:street": "Calle Roma", "amenity": "parking", "building": "parking", "building:levels": "6", "fee": "yes", "parking": "multi-storey", "roof:levels": "1", "roof:shape": "flat"}}, {"type": "way", "id": 404807785, "nodes": [4070643451, 11386698025, 11386698026, 11386698027, 11386698028, 5931949658, 5931949657, 11386698007, 11386698009, 11386698010, 11386698008, 4070643452, 4070643453, 2266049960, 11386698014, 11386698015, 11386698016, 11386698017, 11386698018, 11386698019, 11386698020, 11386698021, 11386698022, 11386698023, 11386698024, 4070643451], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "41", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "office", "name": "Instituto Nacional para el Federalismo y el Desarrollo Municipal", "office": "government"}}, {"type": "way", "id": 455437465, "nodes": [4518452936, 11397206335, 11397206333, 4518452937, 11397198045, 11397198044, 4518452938, 4518452939, 4518452936], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "44", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "retail", "building:levels": "4", "check_date": "2024-11-26", "email": "info@milan44.mx", "name": "Mil\u00e1n 44", "phone": "+52 55 5207 8410", "shop": "mall", "website": "https://milan44.mx"}}, {"type": "way", "id": 458017173, "nodes": [4540671228, 4540671231, 4540671232, 4540671230, 4540671228], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "16", "addr:postcode": "06600", "addr:street": "Avenida Insurgentes Sur", "building": "office", "building:colour": "silver", "building:levels": "6", "roof:colour": "indianred"}}, {"type": "way", "id": 479740029, "nodes": [4727902542, 4727902543, 4727902544, 4727902545, 4727902542], "tags": {"building": "apartments"}}, {"type": "way", "id": 479740030, "nodes": [4727902546, 4727902547, 4727902548, 4727902549, 4727902546], "tags": {"addr:housenumber": "119", "addr:street": "Serapio Rend\u00f3n", "building": "yes", "name": "Hotel Mallorca", "tourism": "hotel", "website": "https://www.hotelmallorca.mx/"}}, {"type": "way", "id": 479740034, "nodes": [4727902561, 4727902562, 4727902563, 4727902564, 4727902561], "tags": {"addr:district": "Cuauht\u00e9moc", "addr:housenumber": "124", "addr:place": "San Rafael", "addr:postcode": "06470", "addr:street": "Serapio Rend\u00f3n", "building": "hotel", "email": "reservaciones@gsevilla.com.mx", "fax": "+525555661870", "internet_access": "yes", "internet_access:fee": "yes", "phone": "+525555661866", "stars": "3", "website": "www.gsevilla.com.mx", "wheelchair": "yes"}}, {"type": "way", "id": 479740035, "nodes": [4727902564, 4727902563, 4727902565, 4727902566, 4727902564], "tags": {"amenity": "parking", "building": "yes", "name": "Estacionamiento Hotel Sevilla"}}, {"type": "way", "id": 479740036, "nodes": [4727902567, 4727902568, 4727902569, 4727902570, 4727902567], "tags": {"building": "yes", "name": "Centro Social Recreativo del S.T.R.M."}}, {"type": "way", "id": 526243795, "nodes": [5117893202, 5117893201, 5117893200, 12679358070, 12679358069, 11043362680, 5117893195, 5117893194, 5117893189, 5117893202], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "building:colour": "silver", "building:levels": "7", "roof:colour": "indianred"}}, {"type": "way", "id": 526243807, "nodes": [5117893692, 11043362674, 11043362675, 11047644419, 11047644420, 11047644421, 11047644422, 5117893689, 5117893692], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "building:colour": "gainsboro", "building:levels": "2", "roof:colour": "indianred"}}, {"type": "way", "id": 526243809, "nodes": [5117893704, 5117893692, 5117893689, 5117893687, 12610732486, 5117893701, 5117893704]}, {"type": "way", "id": 526274544, "nodes": [5118142072, 5118142073, 5118142074, 5118142075, 5118142076, 5118142077, 5118142072], "tags": {"addr:housenumber": "169", "addr:street": "Avenida Paseo de la Reforma", "building": "yes"}}, {"type": "way", "id": 526278208, "nodes": [5118142265, 11360891244, 7926188843, 11360891250, 11360891249, 5118142269, 11360891251, 11360891252, 5118142270, 7926188842, 11360891242, 7926188841, 5118142273, 11360891248, 5118142274, 5118142275, 11360891247, 5118142277, 5118142278, 5118142280, 5118142282, 5118142283, 5118142284, 5118142265], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "144", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "architect": "Ricardo de Robina", "building": "office", "construction_date": "1958", "height": "25", "name": "Edificio Bal", "year_of_construction": "1958"}}, {"type": "way", "id": 526283779, "nodes": [5118208278, 5118208279, 5118208280, 5118208281, 5118208278], "tags": {"building": "yes"}}, {"type": "way", "id": 526283780, "nodes": [5118208282, 5118208283, 5118208284, 5118208285, 5118208282], "tags": {"building": "yes"}}, {"type": "way", "id": 526286809, "nodes": [7875977295, 5118229304, 10754906011, 10754906012, 11374756591, 7875977295], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "27", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 526287065, "nodes": [5118231490, 5118231491, 4070643447, 11386697993, 5118231492, 5118231493, 11386697992, 3198972730, 5118231490], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "86", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 526287787, "nodes": [5118234857, 5118234858, 5118234859, 5118234860, 5118234857], "tags": {"amenity": "restaurant", "brand": "Vips", "brand:wikidata": "Q48783378", "building": "yes", "cuisine": "mexican", "internet_access": "wlan", "internet_access:fee": "no", "name": "Vips"}}, {"type": "way", "id": 526340691, "nodes": [5118619062, 5118619061, 11372425553, 11372425556, 11372425555, 11372425552, 5118619060, 5118619059, 11372425550, 5118619057, 11372425566, 11372425551, 11372425557, 11372425558, 11372425554, 11372425567, 5118619062], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "15", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 526340696, "nodes": [5118619104, 5167930419, 11372596376, 11372596377, 5118619102, 5118619101, 5118619100, 5118619099, 5118619098, 11372596378, 5118619097, 11372596384, 11372596379, 5118619096, 5118619095, 11372596380, 5118619094, 5118619093, 11372596381, 5118619092, 11372596382, 11372596383, 11372596405, 5118619091, 5118619089, 5118619104]}, {"type": "way", "id": 526340704, "nodes": [5118619161, 5118619160, 5118619159, 5118619158, 5118619157, 5118619161], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "72", "addr:postcode": "06600", "addr:street": "Calle Atenas", "building": "hotel", "name": "Hotel Premier", "phone": "+52 55 5566 2700", "tourism": "hotel"}}, {"type": "way", "id": 526543595, "nodes": [5120144480, 5120144481, 12613909798, 12613939806, 12613939805, 12613939802, 5120144485, 5120144486, 5120144487, 5120144480], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543599, "nodes": [5120144480, 5120144481, 12613909798, 5120144502, 12613909796, 12613909797, 5120144505, 12613909795, 12613909793, 12613909794, 12613909792, 5120144506, 5120144480], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543602, "nodes": [5120144515, 5120144517, 5120144518, 5120144519, 5120144515], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "roof"}}, {"type": "way", "id": 526543603, "nodes": [5120144520, 5120145821, 5120145822, 5120145823, 5120144520], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "roof"}}, {"type": "way", "id": 526543606, "nodes": [5120145832, 12614319936, 12614319935, 12614319934, 12614319937, 5120145833, 5120145834, 12614319938, 12614319933, 12614319932, 12614319939, 5120145824, 5120145832]}, {"type": "way", "id": 526543607, "nodes": [5120145832, 5120145835, 12614319909, 5120145844, 5120145836, 5120145833, 12614319937, 12614319936, 5120145832]}, {"type": "way", "id": 526543609, "nodes": [12614319911, 5120145839, 5120145840, 5120145841, 12614319947, 5120145842, 5120145843, 5120145844, 12614319909, 12614319910, 12614319911], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "commercial"}}, {"type": "way", "id": 526543611, "nodes": [5120145845, 5120145846, 5120145847, 12614319906, 12614319907, 12614319908, 5120145848, 5120145845], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "commercial"}}, {"type": "way", "id": 526543614, "nodes": [5120145846, 5120145856, 12614319944, 12614319945, 12614319946, 5120145859, 5120145865, 5120145862, 5120145857, 5120145834, 5120145833, 5120145836, 5120145847, 5120145846], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543615, "nodes": [5120145859, 12614319943, 12614319942, 12614319941, 12614319905, 12614319944, 5120145856, 12614319940, 5120145860, 5120145861, 5120145857, 5120145862, 5120145863, 5120145864, 5120145865, 5120145859], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543616, "nodes": [5120145861, 5120145867, 5120145868, 5120145908, 5120145869, 5120145861], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "commercial"}}, {"type": "way", "id": 526543620, "nodes": [5121951208, 5120145890, 5120145891, 5120145892, 5121951207, 12614319398, 5121951208], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543621, "nodes": [5120145890, 5120145891, 5120145900, 5120145894, 5120145895, 5120145896, 5120145890]}, {"type": "way", "id": 526543622, "nodes": [5120145896, 5120145897, 5120145898, 5120145895, 12614319365, 12614319364, 12614319363, 12614319366, 5120145896], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543623, "nodes": [5120145900, 12614319904, 5120145901, 5120145902, 5120145894, 5120145900], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543624, "nodes": [5120145901, 5120145904, 5120145905, 5120145902, 5120145901], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543625, "nodes": [5121951191, 5120145906, 5120145907, 5120145905, 5120145904, 12614319903, 5121951191]}, {"type": "way", "id": 526543626, "nodes": [5120145906, 5120145908, 5120145868, 5120145907, 5120145906]}, {"type": "way", "id": 526543627, "nodes": [5120145910, 2267488274, 3198940328, 5121876268, 12614328796, 3198940321, 12614328797, 5120145913, 5120145910], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543628, "nodes": [5120145914, 5120145910, 5120145913, 5120145917, 5120145914], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526543629, "nodes": [5120145918, 5120145919, 5120145920, 5120145921, 5120145918], "tags": {"building": "yes"}}, {"type": "way", "id": 526543630, "nodes": [5120145922, 5120145923, 2267488283, 5118619184, 5120145922], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "47", "addr:postcode": "06600", "addr:street": "Calle Atenas", "building": "hotel", "building:levels": "5"}}, {"type": "way", "id": 526572031, "nodes": [5173790449, 5173790448, 5120402133, 5120402134, 5120402135, 5173790449], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526572038, "nodes": [5120402143, 5120402156, 5120402155, 5120402154, 5120402143], "tags": {"alt_name": "Estaci\u00f3n de Bomberos Cuauht\u00e9moc", "amenity": "fire_station", "building": "yes", "name": "Estaci\u00f3n de Bomberos Ave F\u00e9nix", "official_name": "Estaci\u00f3n Comandante Eulalio Mujica P\u00e9rez", "operator": "Heroico Cuerpo de Bomberos de la Ciudad de M\u00e9xico", "operator:wikidata": "Q21057374"}}, {"type": "way", "id": 526572039, "nodes": [5120402164, 5120402163, 5120402162, 5120402161, 5120402160, 5120402159, 5120402158, 5120402164], "tags": {"building": "yes"}}, {"type": "way", "id": 526589607, "nodes": [5120594979, 5120594980, 10762162130, 12612327299, 5120594982, 5121876175, 5121876174, 5120594979], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "135", "addr:postcode": "06030", "addr:street": "Calle Ezequiel Montes", "building": "hospital", "name": "Hospital de la Luz"}}, {"type": "way", "id": 526769948, "nodes": [5121876249, 5121876250, 10157575423, 10157575424, 5121876251, 5121876252, 5121876249], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526769950, "nodes": [5121876257, 5121876249, 5121876252, 5121876260, 5121876257], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526777380, "nodes": [5121951144, 5121951145, 5121951148, 5121951149, 5121951144], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526777382, "nodes": [5121951161, 5121951157, 5121951154, 5121951155, 5121951156, 5121951158, 12610731898, 12610731896, 12610731895, 12610731897, 5121951159, 5121951160, 5121951161], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526777680, "nodes": [5120594982, 12612327299, 5121952819, 5121952820, 5121954421, 5120594982], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 526784551, "nodes": [5122016756, 5122016757, 5122016758, 5122016759, 5122016756], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "20", "addr:postcode": "06030", "addr:street": "Calle Valent\u00edn G\u00f3mez Far\u00edas", "building": "yes", "name": "Hotel Arizona", "stars": "3", "tourism": "hotel"}}, {"type": "way", "id": 526820053, "nodes": [5122277970, 5122277971, 5122277972, 5122277973, 5122277970], "tags": {"building": "yes"}}, {"type": "way", "id": 526883855, "nodes": [5122859577, 5122859578, 5120402155, 5122859580, 5122859577], "tags": {"building": "fire_station"}}, {"type": "way", "id": 529963949, "nodes": [5147355637, 5147355634, 5147355633, 5147355632, 5147355635, 5147355636, 5147355637], "tags": {"building": "yes"}}, {"type": "way", "id": 531705414, "nodes": [5161015035, 5161015036, 11397223046, 5161015037, 11397223029, 11397223027, 5161015038, 11397223048, 11397223051, 11397223052, 11397223055, 11397223025, 5161015035], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "63", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "retail", "building:levels": "4", "name": "Alianza a favor de la Mujer CDMX"}}, {"type": "way", "id": 533264732, "nodes": [5173790446, 5173790448, 5173790449, 5173790451, 9915705576, 5173790450, 5173790461, 5121876170, 5173790446], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "98", "addr:postcode": "06030", "addr:street": "Avenida Insurgentes Centro", "branch": "Insurgentes", "building": "yes", "building:levels": "9", "name": "Sindicato Mexicano de Electricistas", "office": "union", "wikidata": "Q6129115", "wikipedia": "es:Sindicato Mexicano de Electricistas"}}, {"type": "way", "id": 533264734, "nodes": [5173790451, 5173790453, 5173790455, 9915705576, 5173790451], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 533264735, "nodes": [5173790457, 5173790458, 5173790459, 5173790460, 5173790457], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 533264736, "nodes": [5121876175, 5121876174, 5173790450, 5173790461, 5173790462, 9915705573, 5121876175], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 655781451, "nodes": [5117893691, 5117893686, 5117893685, 11045695539, 11045695534, 11045695535, 5117893680, 2267488269, 11045592941, 11045592942, 11045592944, 2267488258, 11043362683, 5117893189, 5117893202, 5117893691], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06030", "addr:street": "Calle Jos\u00e9 Mar\u00eda Lafragua", "building": "construction", "building:levels:underground": "8", "construction": "residential", "name": "Be Grand Reforma", "operator": "Be Grand", "proposed:building:height": "180", "proposed:building:levels": "50", "proposed:building:use": "apartments"}}, {"type": "way", "id": 728146303, "nodes": [6823462754, 11404520136, 6823462755, 11404520137, 6823462756, 11404520148, 11404520150, 11404520149, 6823462759, 11430123760, 11430123764, 11430123763, 6823462760, 6823462754], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "14", "addr:postcode": "06600", "addr:street": "Calle Roma", "alt_name": "Capilla del Sagrado Coraz\u00f3n de Jes\u00fas", "amenity": "place_of_worship", "architect": "Jos\u00e9 Hilario Elguero", "building": "church", "building:architecture": "neo-romanesque", "check_date": "2025-04-19", "construction_date": "1907", "denomination": "catholic", "name": "Templo del Sagrado Coraz\u00f3n de Jes\u00fas", "old_name": "Parroquia del Sagrado Coraz\u00f3n de Jes\u00fas", "religion": "christian", "short_name": "Sagrado Coraz\u00f3n de Jes\u00fas"}}, {"type": "way", "id": 1081894926, "nodes": [5121876173, 3981375167, 3981375165, 12612359002, 5121876172, 5121876173], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1084964161, "nodes": [9941493163, 9941493177, 9941493350, 9941493181, 9941493178, 9941493179, 9941493182, 9941493351, 9941493180, 9941493183, 9941493465, 9941493164, 9941493163], "tags": {"building": "yes"}}, {"type": "way", "id": 1084964175, "nodes": [9941493273, 9941493274, 9941493275, 9941493276, 9941493273], "tags": {"building": "yes", "height": "3"}}, {"type": "way", "id": 1084964213, "nodes": [9941493160, 9941493390, 9941493391, 9941493392, 9941493160], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964214, "nodes": [9941493393, 9941493394, 9941493395, 9941493396, 9941493393], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964215, "nodes": [9941493397, 9941493398, 9941493399, 9941493159, 9941493397], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964216, "nodes": [9941493401, 9941493402, 9941493156, 9941493404, 9941493401], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964217, "nodes": [9941493405, 9941493406, 9941493407, 9941493408, 9941493405], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964218, "nodes": [9941493409, 9941493410, 9941493411, 9941493412, 9941493409], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1084964219, "nodes": [9941493413, 9941493414, 9941493415, 9941493416, 9941493413], "tags": {"building": "yes", "height": "7"}}, {"type": "way", "id": 1110338532, "nodes": [5121876257, 10157575425, 10157575426, 5121876260, 5121876257], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1110338533, "nodes": [10157575425, 10157575427, 12610732424, 12610732430, 10157575428, 5121876250, 5121876249, 5121876257, 10157575425], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "21", "addr:postcode": "06030", "addr:street": "Calle Ignacio Ram\u00edrez", "building": "construction", "building:levels": "19", "construction": "residential", "name": "Casa Col\u00f3n", "operator": "GDC", "website": "https://casacolon.gdcdesarrollos2.com/"}}, {"type": "way", "id": 1110800585, "nodes": [12728432252, 10162527962, 10162527963, 12728432253, 12728432252], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "86", "addr:postcode": "06030", "addr:street": "Avenida Insurgentes Centro", "architect": "Wiechers", "building": "construction", "building:levels": "21", "building:levels:underground": "6", "check_date": "2019", "construction": "residential", "name": "SkyTown Insurgentes", "opening_date": "2022", "operator": "Inmobiliaria Parque Reforma S.A. de C.V.", "website": "https://www.skytowninsurgentes.mx/"}}, {"type": "way", "id": 1115085846, "nodes": [10198406947, 10198406948, 10198406949, 10198406950, 10198406947], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "150", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "architect": "Enrique Macotela", "building": "construction", "building:levels": "57", "building:levels:underground": "18", "check_date": "2022", "construction": "residential", "ele": "203", "name": "University Tower", "opening_date": "2024", "operator": "Del Parque", "website": "https://universitytower.mx/", "wikidata": "Q119271002", "wikipedia": "es:University Tower"}}, {"type": "way", "id": 1185431654, "nodes": [11011456996, 11011456997, 11011456998, 11011456999, 11011457000, 11011457001, 11360891232, 11011457002, 11011457003, 11360891233, 11011456996], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housename": "Casa Gargollo", "addr:housenumber": "150", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "amenity": "clubhouse", "architect": "Jos\u00e9 Luis Cuevas Pietrasanta", "building": "house", "building:architecture": "eclectic", "building:levels": "2", "check_date": "2025-04-19", "club": "yes", "construction_date": "1904", "loc_name": "Club Universitario", "name": "The University Club of Mexico", "start_date": "1932", "wikidata": "Q119426037", "wikipedia": "es:The University Club of Mexico"}}, {"type": "way", "id": 1189232584, "nodes": [11042869251, 11042869252, 11042869247, 11042869244, 11042869251], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "13", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house", "building:colour": "whitesmoke", "building:levels": "2", "roof:colour": "silver"}}, {"type": "way", "id": 1189232585, "nodes": [11042869253, 11042869254, 11042869252, 11042869251, 11042869253], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "11", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house", "building:colour": "steelblue", "building:levels": "2", "roof:colour": "silver"}}, {"type": "way", "id": 1189232586, "nodes": [11042869253, 11042869245, 11042869256, 11042869246, 11042869254, 11042869253], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "9", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house", "building:colour": "seashell", "building:levels": "2", "roof:colour": "silver"}}, {"type": "way", "id": 1189232587, "nodes": [11042869255, 11042869256, 11042869245, 11042869255], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "shed", "building:levels": "1", "roof:colour": "indianred"}}, {"type": "way", "id": 1189297178, "nodes": [11043362676, 11043362677, 11043362678, 11043362679, 11043362676]}, {"type": "way", "id": 1189297179, "nodes": [2267488292, 11043362680, 5117893195, 11043362683, 2267488258, 11045592943, 2267488292], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "amenity": "parking", "building": "yes", "building:colour": "navajowhite", "building:levels": "4", "parking": "multi-storey", "roof:colour": "lightgrey"}}, {"type": "way", "id": 1189784459, "nodes": [11042869243, 11047635017, 4540671230, 11042869242, 11042869243], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "17", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house", "roof:colour": "indianred"}}, {"type": "way", "id": 1221217433, "nodes": [11322983742, 11322983743, 11563087097, 11322983744, 11322983745, 11563087095, 11563087094, 11322983742], "tags": {"building": "roof", "layer": "2"}}, {"type": "way", "id": 1221428352, "nodes": [11328298265, 11328322775, 11328322776, 11328322834, 11328322777, 11328298214, 11328298266, 11328322772, 11328322778, 11328322779, 11328322780, 11328322781, 11328298265]}, {"type": "way", "id": 1221428353, "nodes": [11328322782, 11328322783, 11328322784, 11328322785, 11328322782]}, {"type": "way", "id": 1221428354, "nodes": [11328322786, 11328322787, 11328322788, 11328322789, 11328322786]}, {"type": "way", "id": 1221428355, "nodes": [4540671230, 11328322790, 11328322791, 11047635017, 4540671230], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house"}}, {"type": "way", "id": 1221428356, "nodes": [11328322790, 11328322792, 11328322833, 11328322832, 11328322791, 11328322790], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "21", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "retail"}}, {"type": "way", "id": 1221428357, "nodes": [11328322794, 11328322793, 11328298258, 11328322776, 11328322834, 11328322833, 11328322792, 11328322794], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "21", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "parking"}}, {"type": "way", "id": 1221428358, "nodes": [4540671231, 11328322795, 11328322799, 11328322800, 11328322796, 4540671228, 4540671231], "tags": {"abandoned": "yes", "addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "yes"}}, {"type": "way", "id": 1221428359, "nodes": [11328322797, 11328322798, 11328322799, 11328322795, 11328322797], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "26", "addr:postcode": "06600", "addr:street": "Avenida Insurgentes Sur", "building": "apartments"}}, {"type": "way", "id": 1224874668, "nodes": [11359061681, 11359061682, 11359061683, 11359061684, 11359061681], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "guardhouse"}}, {"type": "way", "id": 1224874669, "nodes": [10905710536, 12728525103, 12728525104, 12728525105, 12728525106, 12728525107, 10905710534, 11359061686, 10905710536], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "104", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "office"}}, {"type": "way", "id": 1224874670, "nodes": [11359061693, 11359061694, 10905710537, 11359061691, 11359061693], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "61", "addr:postcode": "06600", "addr:street": "Calle Atenas", "building": "retail"}}, {"type": "way", "id": 1224874671, "nodes": [11359061694, 11359061693, 11359061692, 11359061686, 10905710536, 11359061694], "tags": {"abandoned": "yes", "addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "yes"}}, {"type": "way", "id": 1224874672, "nodes": [11359061692, 11359061691, 11359061695, 11359061696, 11359061692], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "110", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "retail"}}, {"type": "way", "id": 1224899864, "nodes": [3198972767, 11359260688, 3198972760, 3198972750, 11359260685, 11359260686, 3198972767], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "124", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "hotel"}}, {"type": "way", "id": 1224899865, "nodes": [3198972755, 11359260691, 11359260692, 11359260693, 3198972755], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "128", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "house"}}, {"type": "way", "id": 1224899866, "nodes": [11359260692, 11359260688, 3198972760, 11359260693, 11359260692], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "126", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "retail"}}, {"type": "way", "id": 1224899868, "nodes": [11359260694, 3198972749, 3198972758, 11359260695, 11359260694], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "130", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "retail"}}, {"type": "way", "id": 1225080355, "nodes": [11360891229, 11011456996, 11360891233, 11360891231, 11360891245, 11360891246, 11360891229], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "146", "addr:postcode": "06600", "addr:street": "Avenida Paseo de la Reforma", "building": "apartments"}}, {"type": "way", "id": 1225080356, "nodes": [11360891235, 11360891234, 11360891236, 11360891237, 11360891238, 11360891239, 11360891235], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "5", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "office"}}, {"type": "way", "id": 1225080357, "nodes": [11360891240, 11360891241, 11360891243, 11360891230, 11360891240], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "3", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "apartments", "building:flats": "12", "building:levels": "6", "name": "Edificio Agnes", "roof:levels": "1", "roof:shape": "flat"}}, {"type": "way", "id": 1226364895, "nodes": [11372425511, 11372425520, 11372425514, 11436052246, 11436052247, 11372425512, 11372425508, 11372425510, 11372425511], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "10", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house"}}, {"type": "way", "id": 1226364896, "nodes": [11372425513, 11372425512, 11436052247, 11436052251, 11436052250, 11436052246, 11372425514, 11372425515, 11372425516, 11372425517, 11372425518, 11372425519, 11436052248, 11436052252, 11436052253, 11436052249, 11372425513], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "95", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "apartments"}}, {"type": "way", "id": 1226364897, "nodes": [11372425520, 11372425516, 11372425517, 11372425521, 11372476793, 11372425527, 11372425522, 11372425523, 11372425524, 11372425525, 11372425526, 11372425511, 11372425520], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "parking"}}, {"type": "way", "id": 1226364898, "nodes": [11372425527, 11372425528, 11372425529, 11372425530, 11372425531, 11372425536, 11372425532, 11372425533, 11372425534, 11372425509, 11372425535, 11372425522, 11372425527], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "56", "addr:postcode": "06600", "addr:street": "Calle Atenas", "building": "commercial"}}, {"type": "way", "id": 1226364899, "nodes": [11372425534, 11372425533, 11372425532, 11372425536, 11372425537, 11372425538, 11372425539, 11372425540, 11372425534], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "office"}}, {"type": "way", "id": 1226364900, "nodes": [11372425541, 11372425542, 11372425543, 11372425544, 11372425541]}, {"type": "way", "id": 1226364901, "nodes": [11372425546, 11372425547, 11372425548, 11372425549, 11372425546]}, {"type": "way", "id": 1226364902, "nodes": [11372425560, 11372425562, 11372425564, 11372425565, 11372425563, 11372425559, 11372425561, 5118619062, 11372425567, 11372476769, 11372425568, 11372425566, 5118619057, 11372425560]}, {"type": "way", "id": 1226364903, "nodes": [11372476770, 11372476771, 11372476772, 11372476773, 11372476770]}, {"type": "way", "id": 1226364904, "nodes": [11372476774, 11372476775, 11372476776, 11372476777, 11372476774]}, {"type": "way", "id": 1226364905, "nodes": [11372476778, 11372476779, 11372476780, 11372476781, 11372476778]}, {"type": "way", "id": 1226364906, "nodes": [11372476782, 11372476783, 11372476784, 11372476785, 11372476782]}, {"type": "way", "id": 1226364907, "nodes": [11372476786, 11372476787, 11372425545, 11372476788, 11372476786]}, {"type": "way", "id": 1226364908, "nodes": [11372476789, 11372476790, 11372476791, 11372476792, 11372476789]}, {"type": "way", "id": 1226364909, "nodes": [11372425513, 11436052249, 11436052248, 11372425519, 11372425521, 11372476793, 11372425542, 11372425543, 11372476779, 11372425560, 11372425562, 11372425563, 11372425559, 11372425513], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "91", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "warehouse"}}, {"type": "way", "id": 1226377516, "nodes": [11372587685, 11372587741, 11372587686, 11372587699, 11372587694, 11372587687, 11372587674, 11372587685]}, {"type": "way", "id": 1226377517, "nodes": [11372587688, 11372587689, 11372587690, 11372587691, 11372587692, 11372587693, 11372587688]}, {"type": "way", "id": 1226377518, "nodes": [11372587694, 11372587697, 11372587695, 11372587696, 11372587687, 11372587694], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "71", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "warehouse"}}, {"type": "way", "id": 1226377519, "nodes": [11372587697, 11372587698, 11372587699, 11372587694, 11372587697], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1226377520, "nodes": [11372587701, 11372587700, 11372587702, 11372587703, 11372587704, 11372587705, 11372587706, 11372587707, 11372587701], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "67", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "commercial"}}, {"type": "way", "id": 1226377521, "nodes": [11372587709, 11372587708, 11372587710, 11372587711, 11372587713, 11372587709], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "65", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "apartments", "name": "Residencial Versalles"}}, {"type": "way", "id": 1226377523, "nodes": [11372587718, 11372587717, 11372587714, 11372587721, 11372587722, 11372587723, 11372587720, 11372587715, 11372587719, 11372587726, 11372587718], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "35", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1226377526, "nodes": [11372587719, 11372587726, 11372587727, 11372587728, 11372587729, 11372587730, 11372587731, 11372587732, 11372587733, 11372587734, 11372587735, 11372587736, 11372587719], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "33", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1226377527, "nodes": [11372587736, 11372587735, 11372587737, 11372596369, 11372587725, 11372596404, 11372587738, 11372587736], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "27", "addr:postcode": "06600", "addr:street": "Calle Versalles", "amenity": "theatre", "building": "civic", "check_date": "2025-04-30", "name": "Nuevo Teatro Silvia Pinal", "old_name": "Teatro Diego Rivera"}}, {"type": "way", "id": 1226377528, "nodes": [11372587741, 11372587742, 11372587743, 11372587744, 11372587745, 12801660920, 11372587746, 11372587747, 11372587748, 11372587749, 11372587750, 11372587751, 11372587752, 11372587753, 11372587740, 11372587754, 11372587755, 11372587756, 11372587757, 11372587758, 11372587759, 11372587760, 11372587761, 11372587768, 11372587762, 11372587763, 11372587764, 11372587765, 11372587739, 11372587685, 11372587741], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "14", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1226377529, "nodes": [11372587739, 11372587766, 11372587767, 11372587768, 11372587762, 11372587765, 11372587739], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "10", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1226377530, "nodes": [11372587767, 11372596370, 11372596373, 11372596369, 11372587737, 11372587731, 11372587730, 11372587740, 11372587754, 11372587757, 11372587758, 11372587761, 11372587768, 11372587767], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 1226377531, "nodes": [11372587766, 11372587767, 11372596370, 11372596371, 11372596372, 11372596373, 11372596369, 11372587725, 5118619100, 5118619102, 11372596377, 11372596374, 11372596375, 11372596376, 5167930419, 11372587766], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "6", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1226377532, "nodes": [11372596400, 11372596401, 11372596402, 11372596403, 11372596385, 11372596386, 11372596387, 11372596388, 11372596389, 11372596395, 11372596396, 11372596397, 11372596398, 11372596399, 11372596390, 11372596391, 11372596392, 11372596393, 11372596394, 11372596400]}, {"type": "way", "id": 1226377533, "nodes": [11372596404, 11372596405, 5118619091, 11372596436, 11372596432, 11372596420, 11372596406, 11372587738, 11372596404]}, {"type": "way", "id": 1226377534, "nodes": [11372596411, 11372596412, 11372596408, 11372596407, 11372596411]}, {"type": "way", "id": 1226377535, "nodes": [11372596413, 11372596414, 11372596409, 11372596410, 11372596413]}, {"type": "way", "id": 1226377536, "nodes": [11372596415, 11372587675, 11372587712, 11372587676, 11372587677, 11372587678, 11372587679, 11372587680, 11372587681, 11372596421, 11372596439, 11372596422, 11372596423, 11372596424, 11372596435, 11372596425, 11372596418, 11372596419, 11372596417, 11372596416, 11372596415], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "15", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office"}}, {"type": "way", "id": 1226377537, "nodes": [11372596415, 11372596416, 11372596417, 11372596419, 11372596426, 11372596427, 11372596428, 11372596429, 11372596430, 11372596431, 11372596420, 11372596406, 11372596415], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office"}}, {"type": "way", "id": 1226377538, "nodes": [11372596425, 11372596427, 11372596428, 11372596431, 11372596420, 11372596432, 11372596433, 11372596434, 11372596435, 11372596425], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office"}}, {"type": "way", "id": 1226377539, "nodes": [5118619089, 5118619091, 11372596436, 11372596437, 11372596438, 11372596422, 11372596439, 11372587682, 11372596440, 11372587683, 11372587684, 5118619089], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "40", "addr:postcode": "06600", "addr:street": "Calle Atenas", "building": "apartments"}}, {"type": "way", "id": 1226587702, "nodes": [11374143152, 11374143151, 11374143147, 11374143148, 11374143153, 11436039363, 11436039361, 11374143152], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "16", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office", "name": "Edificio Plaza Col\u00f3n"}}, {"type": "way", "id": 1226587713, "nodes": [11374177300, 12803713056, 12803713054, 11374177299, 11374177301, 11374177302, 11374177303, 11374177304, 11374177305, 11374177306, 11374177307, 11374177308, 11374177309, 12803713055, 11374177310, 12803713057, 11374177300], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "57", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "detached"}}, {"type": "way", "id": 1226587716, "nodes": [11838845362, 11374177318, 11374177329, 11374177330, 11374177319, 11374177320, 11374177321, 11374177322, 11374177323, 11374177324, 11374177327, 11374177325, 11374177326, 11374177328, 11838845362], "tags": {"access": "private", "addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "28", "addr:neighbourhood": "Colonia Ju\u00e1rez", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "detached", "club": "social", "email": "membership.mexicocity@sohohouse.com", "name": "Soho House", "official_name": "Soho House Mexico City", "operator": "Soho House", "phone": "+52 919 491 3470", "website": "https://www.sohohouse.com/houses/soho-house-mexico-city"}}, {"type": "way", "id": 1226650390, "nodes": [7875977295, 11374756583, 11374756584, 11374756588, 11374756616, 11374756589, 11374756590, 11374756591, 7875977295], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "73", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "house"}}, {"type": "way", "id": 1226650391, "nodes": [5118229304, 11374756592, 11374756644, 11374756649, 11374756593, 11374756594, 11374756595, 11374756596, 11374756597, 11374756598, 10754906011, 5118229304], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "29", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "school"}}, {"type": "way", "id": 1226650392, "nodes": [11374756600, 11374756599, 11374756601, 11374756602, 11374756600], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1226650393, "nodes": [11374756603, 11374756604, 11374756605, 11374756608, 11374756610, 11374756612, 11374756614, 11374756615, 11374756613, 11374756611, 11374756609, 11374756606, 11374756607, 11374756640, 11374756620, 11374756603], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "67", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "house"}}, {"type": "way", "id": 1226650395, "nodes": [11374756618, 11374756619, 11374756598, 11374756589, 11374756618], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 1226650397, "nodes": [11374756623, 11374756635, 11374756602, 11374756601, 11374756622, 11374756621, 11374756603, 11374756620, 11374756623], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "67", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "commercial"}}, {"type": "way", "id": 1226650398, "nodes": [11374756622, 11374756624, 11374756597, 11374756598, 11374756619, 11374756625, 11374756621, 11374756622], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "67", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "outbuilding"}}, {"type": "way", "id": 1226650399, "nodes": [11374756628, 11374756627, 11374756629, 11374756639, 11374756630, 11374756631, 11374756632, 11374756585, 11374756586, 11374756626, 11374756633, 11374756634, 11374756628], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "52", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "retail"}}, {"type": "way", "id": 1226650400, "nodes": [11374756634, 11374756620, 11374756623, 11374756635, 11374756650, 11374756636, 11374756660, 11374756652, 11374756637, 11374756638, 11374756633, 11374756634], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "61", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "industrial"}}, {"type": "way", "id": 1226650402, "nodes": [11374756636, 11374756657, 11374756662, 11374756643, 11374756592, 11374756644, 11374756645, 11374756646, 11374756647, 11374756648, 11374756649, 11374756593, 11374756599, 11374756600, 11374756650, 11374756636], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "35", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1226650403, "nodes": [11374756581, 11374756651, 11374756652, 11374756637, 11374756638, 11374756633, 11374756626, 11374756587, 11374756581]}, {"type": "way", "id": 1226650404, "nodes": [11374756653, 11374756654, 11374756655, 11374756656, 11374756653]}, {"type": "way", "id": 1226650405, "nodes": [11374756657, 11374756658, 11374756659, 11374756660, 11374756636, 11374756657], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "52", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "house"}}, {"type": "way", "id": 1226650406, "nodes": [11374756659, 11374756660, 11374756652, 11374756651, 11374756659], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "50", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office"}}, {"type": "way", "id": 1226650409, "nodes": [11374756661, 11374798172, 11374756582, 11374756643, 11374756662, 11374756663, 11374756664, 11374756665, 11374756666, 11374756661]}, {"type": "way", "id": 1226650410, "nodes": [11374756667, 11374756668, 11374798169, 11374798170, 11374798171, 11374756667]}, {"type": "way", "id": 1226895560, "nodes": [11377243496, 11377243497, 11377243498, 11377243499, 11377242832, 11377242831, 11377243496], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "73", "addr:postcode": "06600", "addr:street": "Calle Abraham Gonz\u00e1lez", "building": "commercial"}}, {"type": "way", "id": 1226895562, "nodes": [11377243499, 11377243503, 11377243504, 11377243505, 11377243497, 11377243498, 11377243499], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "26", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1226895563, "nodes": [11377243503, 11377243506, 11377243507, 11377243493, 11377243494, 11377243508, 11377243509, 11377243504, 11377243503], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "28", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1226895565, "nodes": [11377243506, 11377243507, 11377243490, 11377243510, 11377243511, 11377243512, 11377243506], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "30", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1226895566, "nodes": [11377243511, 11377243510, 11377243513, 11377243514, 11377243512, 11377243511], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "32", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1226895567, "nodes": [11377243513, 11377243515, 11377243516, 11377243514, 11377243513], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "34", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "amenity": "events_venue", "building": "retail", "check_date": "2025-05-02", "contact:facebook": "https://www.facebook.com/people/LUC-34/100063500714722/", "email": "lucerna34contact@gmail.com", "internet_access": "wlan", "internet_access:fee": "customers", "name": "Luc 34", "operator": "Luc 34", "phone": "+52 55 3233 1905", "website": "https://www.lucerna34.com/"}}, {"type": "way", "id": 1226895568, "nodes": [11377243516, 11377243515, 11377243517, 11377243519, 11377243518, 11377243516], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "36", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "commercial"}}, {"type": "way", "id": 1226895569, "nodes": [11377243518, 11377243519, 11377243520, 11377242829, 11377242833, 11377243518], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "38", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1226895570, "nodes": [11377243519, 11377243517, 11377243521, 11377243520, 11377243519], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "60", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1226895571, "nodes": [11377243524, 11377243525, 11377243526, 11377243527, 11377243528, 11377243523, 11377243524], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "64", "addr:postcode": "06600", "addr:street": "Calle Versalles", "amenity": "music_venue", "building": "residential", "check_date": "2025-05-02", "name": "Versalles 64", "website": "https://versalles64.com/"}}, {"type": "way", "id": 1226895572, "nodes": [11377243528, 11377243521, 11377243517, 11377243515, 11377243513, 11377243510, 11377243490, 11377243491, 11377243529, 11377242851, 11377242850, 11377243522, 11377243530, 11377243525, 11377243526, 11377243527, 11377243528], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "62", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "industrial"}}, {"type": "way", "id": 1227701899, "nodes": [11384849831, 11384849830, 11384849834, 11384849832, 11384849833, 11384849831], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "4", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "office"}}, {"type": "way", "id": 1227701900, "nodes": [11384849834, 11384849835, 11384849844, 11384849851, 11384849848, 11384849857, 4070643446, 11384849837, 11384849840, 11384849838, 11384849839, 11384849832, 11384849834], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "8", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "hotel", "name": "Hotel El Ejecutivo", "phone": "+52 55 5566 6422", "tourism": "hotel", "website": "https://www.hotelelejecutivo.com.mx/"}}, {"type": "way", "id": 1227701902, "nodes": [11384849835, 11384849842, 11384849846, 11384849843, 11384849844, 11384849835], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "10", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "retail"}}, {"type": "way", "id": 1227701904, "nodes": [11384849848, 11384849852, 11384849849, 11384849845, 11384849846, 11384849843, 11384849850, 11384849851, 11384849848], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "73", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "parking"}}, {"type": "way", "id": 1227701905, "nodes": [11384849852, 11384849860, 11384849853, 11384849854, 11384849855, 11384849856, 11384849849, 11384849852], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "67", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1227701906, "nodes": [11384849857, 11384849858, 11384849859, 11384849860, 11384849852, 11384849848, 11384849857], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1227701907, "nodes": [11384849862, 11384849861, 11384849863, 11384850270, 11384849862], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1227701908, "nodes": [11384849864, 11384849862, 11384850270, 11384850279, 11384850274, 11384849865, 11384849866, 11384849867, 11384849868, 11384850269, 11384849864], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "commercial"}}, {"type": "way", "id": 1227701909, "nodes": [11384850270, 11384850271, 11384850276, 11384850277, 11384850278, 11384850275, 11384850272, 11384850273, 11384849865, 11384850274, 11384850281, 11384850280, 11384850279, 11384850270], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "27", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments"}}, {"type": "way", "id": 1227701910, "nodes": [11384849856, 11384849855, 11384850282, 11384850283, 11384850284, 11384850275, 11384850272, 11384849828, 11384849856], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "65", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1227701911, "nodes": [11384850285, 11384850288, 11384850300, 11384850301, 11384850286, 11384849864, 11384849862, 11384849861, 11384849837, 11384849840, 11384850285], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "warehouse"}}, {"type": "way", "id": 1227701913, "nodes": [11384850287, 12728561484, 11384850296, 11384850297, 12728561483, 12728561482, 11384850290, 11384850293, 11384850298, 11384850299, 11384850294, 11384850291, 11384850287], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "106", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "hotel", "name": "MC Suites Mexico City", "tourism": "hotel", "website": "https://www.mcsuites.top/"}}, {"type": "way", "id": 1227701914, "nodes": [11384850291, 11384850294, 11384850293, 11384850290, 11384850300, 11384850301, 11384850303, 11384850306, 11384850304, 11384850305, 11384850302, 11384850291], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "104", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "house"}}, {"type": "way", "id": 1227701915, "nodes": [11384850302, 11384849829, 11384850286, 11384850301, 11384850303, 11384850305, 11384850302], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "13", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments"}}, {"type": "way", "id": 1227912039, "nodes": [11386697999, 11386698000, 11386698001, 11386697996, 11386697999], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "78", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 1227912040, "nodes": [11386698002, 11386698003, 11386698004, 11386698005, 11386697997, 11386698002], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "80", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 1227912041, "nodes": [5118231491, 4070643447, 11386698006, 11386698003, 11386698004, 5118231491], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "84", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 1227912042, "nodes": [11386698012, 11386698010, 11386698008, 4070643452, 11386698011, 11386698013, 11386698012], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1227912043, "nodes": [11386698030, 11386698029, 11386698031, 11386698032, 11386698033, 11386698034, 11386698030], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1227912044, "nodes": [11386698036, 11386698035, 11386698037, 11386698038, 11386698036], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1227912045, "nodes": [11386698040, 11386698039, 11386698041, 11386698042, 11386698040], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "civic"}}, {"type": "way", "id": 1228119539, "nodes": [11388842401, 11388832341, 11388832339, 11388832335, 11388832338, 11388842390, 11388842400, 11388842401], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "13", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "parking"}}, {"type": "way", "id": 1228119540, "nodes": [11388832341, 11388832342, 11388832343, 11388832349, 11388832347, 11388832340, 11388832339, 11388832341], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "11", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "house"}}, {"type": "way", "id": 1228119541, "nodes": [11388832343, 11388832344, 11388832354, 11388832346, 11388832352, 11388832353, 11388832348, 11388832345, 11388832340, 11388832347, 11388832351, 11388832350, 11388832349, 11388832343], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "9", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "office"}}, {"type": "way", "id": 1228119542, "nodes": [11388832355, 11388832354, 11388832346, 11388832348, 11388832345, 11388832356, 11388832360, 11388832355], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "office"}}, {"type": "way", "id": 1228119543, "nodes": [11388832356, 11388832357, 11388832364, 11388832337, 11388832358, 11388832359, 11388832360, 11388832356], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "5", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "apartments"}}, {"type": "way", "id": 1228119544, "nodes": [11388832361, 11388832362, 11388832363, 11388832364, 11388832357, 11388832333, 11388832332, 11388832361], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "1", "addr:postcode": "06600", "addr:street": "Calle Berl\u00edn", "building": "apartments"}}, {"type": "way", "id": 1228119545, "nodes": [11388832361, 11388832365, 11388842375, 11388832366, 11388832367, 11388832358, 11388832337, 11388832362, 11388832361], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "36B", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228119546, "nodes": [11388842369, 11388832368, 11388842370, 11388842371, 11388842372, 11388842373, 11388842374, 11388832366, 11388842375, 12767618249, 11388842369], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "36", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228119547, "nodes": [11388842382, 11388842383, 11388842386, 11388842387, 11388842397, 11388842402, 11388842376, 11388842377, 11388842378, 11388842379, 11388842380, 11388842385, 11388842389, 11388842388, 11388842384, 11388842381, 11388842382], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "38", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228119548, "nodes": [11388842399, 11388842391, 11388842392, 11388842398, 11388842399], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "40", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house"}}, {"type": "way", "id": 1228119549, "nodes": [11388842393, 11388842394, 11388842395, 11388842396, 11388842403, 11388842393], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "40", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house"}}, {"type": "way", "id": 1228119550, "nodes": [11388842391, 11388842451, 11388842450, 11388842404, 11388842390, 11388842395, 11388842394, 11388842392, 11388842391], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "hotel"}}, {"type": "way", "id": 1228119551, "nodes": [11388842449, 11388832336, 11388842405, 11388842406, 11388842407, 11388842404, 11388842450, 11388842449], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "20", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "apartments"}}, {"type": "way", "id": 1228119552, "nodes": [11388832338, 11388842416, 11388842417, 11388842415, 11388842411, 11388842410, 11388842414, 11388842412, 11388842413, 11388842408, 11388842439, 11388842409, 11388832335, 11388832338]}, {"type": "way", "id": 1228119553, "nodes": [11388842422, 11388842424, 11388842425, 11388842418, 11388842422]}, {"type": "way", "id": 1228119554, "nodes": [11388842426, 11388842427, 11388842423, 11388842421, 11388842426]}, {"type": "way", "id": 1228119555, "nodes": [11388842428, 11388842429, 11388842430, 11388842420, 11388842428]}, {"type": "way", "id": 1228119556, "nodes": [11388842431, 11388842432, 11388842433, 11388842419, 11388842431]}, {"type": "way", "id": 1228119557, "nodes": [11388842409, 11388842434, 11388842448, 11388842435, 11388842436, 11388842437, 11388842446, 11388842441, 11388842438, 11388842439, 11388842409], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "17", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "apartments"}}, {"type": "way", "id": 1228119558, "nodes": [11388832336, 11388842440, 11388842441, 11388842438, 11388842442, 11388842443, 11388842444, 11388842405, 11388832336], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "22", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house"}}, {"type": "way", "id": 1228119559, "nodes": [11388842440, 11388842445, 11388842446, 11388842441, 11388842440], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "24", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house"}}, {"type": "way", "id": 1228119560, "nodes": [11388842445, 11388842447, 11388842448, 11388842435, 11388842446, 11388842445], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "26", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "house"}}, {"type": "way", "id": 1228119561, "nodes": [11388842447, 11388832334, 11388842434, 11388842448, 11388842447], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "apartments"}}, {"type": "way", "id": 1228119562, "nodes": [11388842453, 11388842452, 11388842454, 11388842455, 11388842456, 11388842457, 11388842458, 11388842459, 11388842460, 11388842461, 11388842462, 11388842463, 11388842466, 11388842464, 11388842467, 11388842465, 11388842453], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "48", "addr:postcode": "06600", "addr:street": "Calle Roma", "amenity": "fast_food", "brand": "McDonald's", "brand:wikidata": "Q38076", "building": "retail", "cuisine": "burger", "drive_through": "yes", "name": "McDonald's", "opening_hours": "Mo-Th 07:00-22:45; Fr-Su 07:00-23:45", "takeaway": "yes"}}, {"type": "way", "id": 1228119563, "nodes": [11388842469, 11388842468, 11388842470, 11388842471, 11388842469], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "service"}}, {"type": "way", "id": 1228496844, "nodes": [11392613057, 11392613059, 11392613063, 11392613064, 11392613060, 11392613058, 11392613057], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "27", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "retail"}}, {"type": "way", "id": 1228496845, "nodes": [11392613059, 11392703969, 11392613061, 11392613068, 11392613062, 11392613063, 11392613059], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "outbuilding"}}, {"type": "way", "id": 1228496846, "nodes": [11392613064, 11392613065, 11392613066, 11392613060, 11392613064], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "29", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "retail"}}, {"type": "way", "id": 1228496847, "nodes": [11392613066, 11392613065, 11392613062, 11392613068, 11392613067, 11392613054, 11392613066], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "55", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 1228496848, "nodes": [11392703971, 11392703972, 11392613067, 11392613068, 11392613061, 11392703969, 11392703971]}, {"type": "way", "id": 1228496849, "nodes": [11392703971, 11392703970, 11392703973, 11392703974, 11392703985, 11392703995, 11392703998, 11392703975, 11392703972, 11392703971], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "61", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228496850, "nodes": [11392703969, 11392703971, 11392703970, 11392704013, 11392704012, 11392704016, 11392704022, 11392704024, 11392703976, 11392704033, 11392613057, 11392613059, 11392703969], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "90", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "retail"}}, {"type": "way", "id": 1228496851, "nodes": [11392703977, 11392703978, 11392703979, 11392703980, 11392703977]}, {"type": "way", "id": 1228496852, "nodes": [11392703981, 11392703982, 11392703983, 11392703984, 11392703981]}, {"type": "way", "id": 1228496853, "nodes": [11392703985, 11392704006, 11392704007, 11392704010, 11392703986, 11392613053, 11392703975, 11392703998, 11392703997, 11392703996, 11392703995, 11392703985]}, {"type": "way", "id": 1228496854, "nodes": [11392703987, 11392703988, 11392703989, 11392703990, 11392703987]}, {"type": "way", "id": 1228496855, "nodes": [11392703991, 11392703992, 11392703999, 11392703993, 11392703994, 11392703991]}, {"type": "way", "id": 1228496856, "nodes": [11392704000, 11392704001, 11392704002, 11392704003, 11392704004, 11392704005, 11392704006, 11392704007, 11392704008, 11392704009, 11392704010, 11392703986, 11392704000], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "28", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments"}}, {"type": "way", "id": 1228496857, "nodes": [11392704000, 11392704011, 11392704020, 11392704017, 11392704012, 11392704013, 11392704014, 11392703974, 11392704005, 11392704004, 11392704001, 11392704000], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "24", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "amenity": "theatre", "building": "retail", "check_date": "2025-04-30", "contact:facebook": "https://www.facebook.com/TeatroElMilagro", "email": "difusion@elmilagro.org.mx", "name": "Teatro El Milagro", "opening_hours": "Mo-Fr 19:00-20:30", "operator": "Arte El Milagro, A.C.", "phone": "+52 55 5535 1291", "start_date": "2008-04-05", "website": "https://elmilagro.org.mx/"}}, {"type": "way", "id": 1228496858, "nodes": [11392704011, 11392704015, 11392704016, 11392704012, 11392704017, 11392704018, 11392704019, 11392704020, 11392704011], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "20", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house"}}, {"type": "way", "id": 1228496859, "nodes": [11392704015, 11392704021, 11392704022, 11392704016, 11392704015], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "18", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house"}}, {"type": "way", "id": 1228496860, "nodes": [11392704021, 11392704023, 11392704029, 11392704032, 11392704024, 11392704022, 11392704021], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "16", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments"}}, {"type": "way", "id": 1228496861, "nodes": [11392704030, 11392704029, 11392704023, 11392613052, 11489046477, 11392704034, 11392703976, 11392704024, 11392704032, 11392704031, 11392704030]}, {"type": "way", "id": 1228496862, "nodes": [11392704025, 11392704026, 11392704027, 11392704028, 11392704025]}, {"type": "way", "id": 1228496863, "nodes": [11392704035, 11392704036, 11392704037, 11392613055, 11392704035], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "guardhouse"}}, {"type": "way", "id": 1228562716, "nodes": [11393435066, 11393435067, 11393435068, 11393437269, 11393437275, 11393437270, 11393435061, 11393435066], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "51", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail", "building:levels": "1", "check_date": "2023-12-26", "name": "Comedor Lucerna", "smoking": "outside", "website": "https://www.comedorlucerna.com/", "wheelchair": "limited"}}, {"type": "way", "id": 1228562717, "nodes": [11393435066, 11393437271, 11393437355, 11393437272, 11393437269, 11393435068, 11393435067, 11393435066], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "34", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "retail"}}, {"type": "way", "id": 1228562718, "nodes": [11393437272, 11393437354, 11393437273, 11393437276, 11393437274, 11393437275, 11393437269, 11393437272], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "house"}}, {"type": "way", "id": 1228562719, "nodes": [11393437276, 11393437277, 11393437278, 11393437279, 11393437286, 11393437280, 11393437281, 11393437273, 11393437276], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "47", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228562720, "nodes": [11393437282, 11393437280, 11393437286, 11393437287, 11393437288, 11393437289, 11393437290, 11393437291, 11393437292, 11393437293, 11393437294, 11393437295, 11393437285, 11393437282], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "45", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228562721, "nodes": [11393437296, 11393437297, 11393437298, 11393437299, 11393437284, 11393437283, 11393437300, 11393437301, 11393437296], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "45", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228562723, "nodes": [11393437310, 11393437297, 11393437298, 11393437309, 11393437311, 11393437312, 11393437313, 11393437314, 11393437308, 11393437315, 11393437310], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "39", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228562724, "nodes": [11393437311, 11393435062, 11393435063, 11393437316, 11393437303, 11393437304, 11393437305, 11393437306, 11393437307, 11393437308, 11393437314, 11393437313, 11393437312, 11393437311], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "53", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "retail"}}, {"type": "way", "id": 1228562725, "nodes": [11393437302, 11393437295, 11393437285, 11393437323, 11393437317, 11393437316, 11393437303, 11393437318, 11393437319, 11393437320, 11393437321, 11393437302], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "51", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "house"}}, {"type": "way", "id": 1228562726, "nodes": [11393437322, 11393437328, 11393437329, 11393437323, 11393437317, 11393437324, 11393437339, 11393437338, 11393437334, 11393437322], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "49", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office"}}, {"type": "way", "id": 1228562730, "nodes": [11393437333, 11393437334, 11393437338, 11393437340, 11393437341, 11393437339, 11393437324, 11393437335, 11393437337, 11393437343, 11393437342, 11393437336, 11393437345, 11393437333], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "47", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1228562731, "nodes": [11393437344, 11393437345, 11393437336, 11393437346, 11393437347, 11393437348, 11393437349, 11393437337, 11393437335, 11393435064, 11393435065, 11393437344], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "43", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments", "name": "Edificio Versalles"}}, {"type": "way", "id": 1228562732, "nodes": [11393437332, 11393437350, 11393437344, 11393437345, 11393437333, 11393437332], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "62", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "house"}}, {"type": "way", "id": 1228562733, "nodes": [11393437330, 11393437371, 11393437409, 11393437405, 11393437351, 11393437350, 11393437332, 11393437331, 11393437330], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "66", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "retail"}}, {"type": "way", "id": 1228562734, "nodes": [11393437352, 11393437271, 11393437355, 11393437359, 11393437358, 11393437272, 11393437354, 11393437353, 11393437357, 11393437361, 11393437360, 11393437356, 11393437352], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "32", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228562737, "nodes": [11393437364, 11393437376, 11393437372, 11393437365, 11393437325, 11393437362, 11393437366, 11393437367, 11393437368, 11393437369, 11393437356, 11393437352, 11393437364], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "30", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "house"}}, {"type": "way", "id": 1228562738, "nodes": [11393437370, 11393437379, 11393437377, 11393437386, 11393437388, 11393437371, 11393437330, 11393437365, 11393437372, 11393437373, 11393437374, 11393437375, 11393437376, 11393437364, 11393437370], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "28", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228562739, "nodes": [11393437370, 11393437379, 11393437380, 11393437381, 11393437390, 11393437382, 11393437383, 11393437384, 11393437385, 11393437394, 11393437378, 11393435060, 11393437370], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "22", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228562740, "nodes": [11393437387, 11393437395, 11393437386, 11393437388, 11393437406, 11393437400, 11393437399, 11393437398, 11393437397, 11393437396, 11393437389, 11393437387], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "72", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "residential", "check_date": "2025-05-01", "contact:facebook": "https://www.facebook.com/CasaPrimMx/", "email": "hola@casaprim.com.mx", "internet_access": "wlan", "name": "Casa Prim", "phone": "+52 55 5546 8080", "reservation": "yes", "tourism": "hotel", "website": "https://casaprim.com.mx/"}}, {"type": "way", "id": 1228562741, "nodes": [11393437377, 11393437381, 11393437390, 11393437391, 11393437392, 11393437393, 11393437385, 11393437394, 11393437395, 11393437386, 11393437377], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "76", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "house"}}, {"type": "way", "id": 1228562742, "nodes": [11393437389, 11393437396, 11393437399, 11393437400, 11393437401, 11393437402, 11393437403, 11393437404, 11393437405, 11393437351, 11393437389], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "70", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "residential"}}, {"type": "way", "id": 1228562743, "nodes": [11393437406, 11393437407, 11393437408, 11393437409, 11393437371, 11393437388, 11393437406], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "70", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "outbuilding"}}, {"type": "way", "id": 1228776305, "nodes": [11395396112, 11395396113, 11395396114, 11395396159, 11395396150, 11395396154, 11395396153, 11395396147, 11395396115, 11395396112], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "33", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "parking"}}, {"type": "way", "id": 1228776306, "nodes": [11395396116, 11395396117, 11395412089, 11395396118, 11395396133, 11395396142, 11395396119, 11395396120, 11395396121, 11395396116]}, {"type": "way", "id": 1228776307, "nodes": [11395396122, 11395396123, 11395396124, 11395396125, 11395396122]}, {"type": "way", "id": 1228776308, "nodes": [12769610803, 11395396144, 11395396126, 11395396127, 12769610803], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "27", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house"}}, {"type": "way", "id": 1228776309, "nodes": [11395396126, 11395396130, 11395396131, 11395396132, 11395396129, 11395396137, 11395396128, 11395396109, 11395396108, 11395396127, 11395396126], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "45", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house", "building:architecture": "eclectic", "building:levels": "2", "check_date": "2025-04-20", "construction_date": "1909", "contact:facebook": "https://www.facebook.com/muchomuseochocolate/", "email": "contacto@mucho.org.mx", "fee": "yes", "name": "Museo del Chocolate", "name:en": "Museum of Chocolate", "official_name": "MUCHO Mundo Chocolate", "opening_hours": "Mo-Su 11:00-17:00", "phone": "+52 55 5535 0410", "short_name": "MUCHO", "start_date": "2012", "tourism": "museum", "website": "http://www.mucho.org.mx/", "year_of_construction": "1909"}}, {"type": "way", "id": 1228776310, "nodes": [11395396133, 11395396142, 11395396143, 12769610804, 11395396144, 11395396126, 11395396130, 11395396135, 11395396136, 11395396137, 11395396128, 11395396134, 11395396138, 11395396139, 11395396140, 11395396141, 11395396133], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "43", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house"}}, {"type": "way", "id": 1228776312, "nodes": [11395396118, 11395412113, 11395396145, 11395396134, 11395396138, 11395396141, 11395396133, 11395396118], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "41", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "house"}}, {"type": "way", "id": 1228776313, "nodes": [11395396146, 11395396107, 11395396115, 11395396147, 11395396148, 11395396149, 11395396155, 11395396146], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "35", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228776314, "nodes": [11395396154, 11395396157, 11395396156, 11395396151, 11395396146, 11395396155, 11395396158, 11395396153, 11395396154], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "26", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "apartments"}}, {"type": "way", "id": 1228776315, "nodes": [11395396150, 11395396159, 11395396160, 11395396161, 11395396166, 11395396167, 11395396152, 11395396151, 11395396156, 11395396150], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "22", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "office"}}, {"type": "way", "id": 1228776316, "nodes": [11395396164, 11395396165, 11395396166, 11395396167, 11395396168, 11395412069, 11395396162, 11395412070, 11395396163, 11395412099, 11395396164], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "20", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "office"}}, {"type": "way", "id": 1228776317, "nodes": [11395412070, 11395396162, 11395396111, 11395412071, 11395412073, 11395412074, 11395412084, 11395412075, 11395412085, 11395412070]}, {"type": "way", "id": 1228776318, "nodes": [11395412076, 11395412077, 11395412078, 11395412079, 11395412076]}, {"type": "way", "id": 1228776319, "nodes": [11395412080, 11395412081, 11395412082, 11395412083, 11395412080]}, {"type": "way", "id": 1228776320, "nodes": [11395412085, 11395412086, 11395412087, 11395412088, 11395412072, 11395412071, 11395412073, 11395412075, 11395412085], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "74", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228776321, "nodes": [11395412072, 11395412088, 11395412092, 11395412109, 11395412108, 11395412103, 11395412104, 11395412100, 11395412099, 11395396164, 11395412094, 11395412091, 11395412095, 11395396114, 11395396113, 11395396117, 11395412089, 11395412098, 11395412093, 11395412096, 11395412097, 11395412102, 11395412101, 11395412105, 11395412106, 11395412110, 11395412112, 11395412111, 11395412107, 11395412090, 11395412072], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "72", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228776322, "nodes": [11395412090, 11395412107, 11395412110, 11395412106, 11395412102, 11395412097, 11395412098, 11395412089, 11395396118, 11395412113, 11395412129, 11395412119, 11395412114, 11395412115, 11395412116, 11395412117, 11395412118, 11395412090], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "70", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1228776323, "nodes": [11395412114, 11395412119, 11395412120, 11395412121, 11395412122, 11395412123, 11395412124, 11395396110, 11395412114]}, {"type": "way", "id": 1228776324, "nodes": [11395412125, 11395412126, 11395412127, 11395412128, 11395412125]}, {"type": "way", "id": 1228776325, "nodes": [11395412122, 11395412121, 11395412129, 11395412113, 11395396145, 11395412124, 11395412123, 11395412122], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "39", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "warehouse"}}, {"type": "way", "id": 1228976694, "nodes": [11397198045, 11397206286, 11397206287, 11397206288, 11397206289, 11397198046, 4518452938, 11397198044, 11397198045], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "21", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house"}}, {"type": "way", "id": 1228976695, "nodes": [4518452937, 11397206328, 11397206331, 11397198047, 11397198048, 11397198046, 11397206289, 11397206290, 11397206286, 11397198045, 4518452937]}, {"type": "way", "id": 1228976696, "nodes": [11397198047, 11397198048, 11397198050, 11397206300, 11397206302, 11397198051, 11397206299, 11397198047], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "17", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house"}}, {"type": "way", "id": 1228976697, "nodes": [11397198050, 11397198052, 11397206305, 11397206303, 11397198053, 11397198056, 11397206301, 11397206300, 11397198050], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "15", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "office"}}, {"type": "way", "id": 1228976698, "nodes": [11397198052, 11397198054, 11397206314, 11397206306, 11397206308, 11397206307, 11397206304, 11397198055, 11397206320, 11397206322, 11397198053, 11397206303, 11397206309, 11397206310, 11397206305, 11397198052], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "13", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228976699, "nodes": [11397198055, 11397206304, 7875977300, 11397206306, 11397206312, 11397206313, 11397206314, 11397198054, 11397198042, 11397198049, 11397206315, 11397206316, 11397206317, 11397206318, 11397198055], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "51", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments", "name": "Edificio California"}}, {"type": "way", "id": 1228976700, "nodes": [11397198056, 11397198057, 11397198068, 11397206323, 11397206324, 11397206325, 11397206321, 11397206393, 11397206391, 11397198058, 11397198049, 11397206315, 11397206319, 11397206318, 11397198055, 11397206320, 11397206326, 11397206327, 11397206322, 11397198053, 11397198056], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "47", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228976701, "nodes": [11397198059, 11397206334, 11397206336, 11397206337, 11397206332, 11397206352, 11397206329, 11397206338, 11397206339, 11397206330, 11397206365, 11397198060, 11397198061, 11397198062, 11397206344, 11397206345, 11397206346, 11397206347, 11397198063, 11397198064, 11397198065, 11397206299, 11397198047, 11397206331, 11397206343, 11397206342, 11397206328, 4518452937, 11397206333, 11397206341, 11397206340, 11397206335, 4518452936, 11397198059], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "40", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments"}}, {"type": "way", "id": 1228976702, "nodes": [11397198066, 12769751906, 11397206358, 11397206357, 11397206356, 11397206355, 11397206285, 11397206364, 11397206367, 11397206366, 11397206363, 11397198067, 11397206374, 11397206375, 11397206376, 11397206377, 11397198068, 11397198057, 11397206373, 11397206372, 11397206371, 11397206370, 11397198060, 11397206368, 11397206369, 11397206365, 11397206330, 11397206329, 11397206352, 11397206353, 11397206354, 11397206334, 11397198059, 11397206351, 11397206350, 11397206349, 11397206348, 11397198066]}, {"type": "way", "id": 1228976703, "nodes": [11397198067, 11397206374, 11397206377, 11397198068, 11397206323, 11397206321, 11397206393, 11397206397, 11397206396, 11397206391, 11397198058, 11397206269, 11397206390, 11397206394, 11397206395, 11397206392, 11397206270, 11397198067], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "45", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228976704, "nodes": [11397206270, 11397206274, 11397206389, 11397206386, 11397206271, 11397198043, 11397206269, 11397206390, 11397206392, 11397206270], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "56", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228976705, "nodes": [11397206271, 11397206272, 11397206378, 11397206380, 11397206277, 11397206273, 11397206274, 11397206389, 11397206388, 11397206387, 11397206386, 11397206271], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "58", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228976706, "nodes": [11397206272, 11397206275, 11397206379, 11397206384, 11397206385, 11397206381, 11397206276, 11397206277, 11397206380, 11397206383, 11397206382, 11397206378, 11397206272], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "60", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments"}}, {"type": "way", "id": 1228976707, "nodes": [11397206275, 11397206278, 11397206284, 11397206279, 11397206280, 11397206276, 11397206381, 11397206379, 11397206275], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "62", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "office"}}, {"type": "way", "id": 1228976708, "nodes": [11397198041, 11397206281, 12769751904, 11397206282, 11397206283, 11397206284, 11397206278, 11397198041], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "64", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "commercial", "building:levels": "5"}}, {"type": "way", "id": 1228976709, "nodes": [11397206281, 12769751905, 12769751908, 12769751907, 12769751904, 11397206281], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "36", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "retail"}}, {"type": "way", "id": 1228976710, "nodes": [11397206295, 11397206296, 11397206292, 11397206291, 11397206295]}, {"type": "way", "id": 1228976711, "nodes": [11397206297, 11397206298, 11397206293, 11397206294, 11397206297]}, {"type": "way", "id": 1228976712, "nodes": [11397206359, 11397206360, 11397206361, 11397206362, 11397206359]}, {"type": "way", "id": 1228983142, "nodes": [5161015038, 11397223023, 11397223024, 11397223025, 11397223055, 11397223054, 11397223053, 11397223052, 11397223051, 11397223050, 11397223049, 11397223048, 5161015038], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "3", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228983143, "nodes": [11397223025, 11397223024, 11397223019, 11397223020, 5161015035, 11397223025], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "1", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1228983146, "nodes": [11397223028, 11397288895, 11397288877, 11397223030, 11397223031, 11397288878, 11397223032, 11397223028]}, {"type": "way", "id": 1228983147, "nodes": [11397223033, 11397288876, 11397288870, 11397288872, 11397223034, 11397223035, 11397223062, 11397223036, 11397223031, 11397288878, 11397223032, 11397223033], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "school"}}, {"type": "way", "id": 1228983148, "nodes": [11397223046, 5161015037, 11397223031, 11397223036, 11397223056, 11397223061, 11397223058, 11397223038, 11397223045, 11397223037, 11397223046], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "61", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1228983149, "nodes": [11397223040, 11397223041, 11397223042, 11397223043, 11397223044, 11397223045, 11397223037, 11397223047, 11397223021, 11397223022, 11397223040], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "57", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "apartments"}}, {"type": "way", "id": 1228983150, "nodes": [11397223056, 11397288869, 11397223067, 11397223057, 11397223039, 11397223042, 11397223043, 11397223038, 11397223058, 11397223059, 11397223060, 11397223061, 11397223056], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "42", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "residential"}}, {"type": "way", "id": 1228983152, "nodes": [11397223062, 11397223035, 11397223034, 11397223064, 11397223063, 11397223062], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "44", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "retail"}}, {"type": "way", "id": 1228983153, "nodes": [11397223065, 11397223066, 11397223067, 11397223057, 11397223065], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "44", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "guardhouse"}}, {"type": "way", "id": 1228983154, "nodes": [11397223066, 11397223068, 11397288869, 11397223067, 11397223066], "tags": {"building": "roof", "layer": "1"}}, {"type": "way", "id": 1228983155, "nodes": [11397223017, 11397223033, 11397288876, 11397288875, 11397288874, 11397288871, 11397223017], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "40", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments"}}, {"type": "way", "id": 1228983156, "nodes": [11397288871, 11397288874, 11397288870, 11397288872, 11397288873, 11397288871], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "48", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228983157, "nodes": [11397288873, 11397223064, 11397223034, 11397288872, 11397288873], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "46", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "house"}}, {"type": "way", "id": 1228983158, "nodes": [11397288883, 11397288884, 11397288885, 11397288886, 11397288883]}, {"type": "way", "id": 1228983159, "nodes": [11397288887, 11397288888, 11397288889, 11397288890, 11397288887]}, {"type": "way", "id": 1228983160, "nodes": [11397288879, 11397288880, 11397288891, 11397288892, 11397288879]}, {"type": "way", "id": 1228983161, "nodes": [11397288893, 11397288894, 11397288881, 11397288882, 11397288893]}, {"type": "way", "id": 1228983162, "nodes": [11397288895, 11397288896, 11397288897, 11397288877, 11397288895], "tags": {"addr:housenumber": "50", "addr:street": "Calle Lisboa", "building": "roof", "layer": "1"}}, {"type": "way", "id": 1229806870, "nodes": [11404519166, 11404520118, 11404520121, 11404520128, 11404520126, 11404519167, 11404520108, 11404520107, 11404520072, 11404520089, 11404519168, 11404520081, 11404520084, 11404520069, 11404519164, 11404519165, 11404519166], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06600", "building": "parking"}}, {"type": "way", "id": 1229806872, "nodes": [11404520069, 11404520070, 11404520073, 11404520074, 11404520075, 11404520076, 11404520071, 11404520077, 11404520085, 11404520078, 11404520079, 11404520080, 11404520089, 11404519168, 11404520081, 11404520082, 11404520083, 11404520084, 11404520069], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "24", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments"}}, {"type": "way", "id": 1229806873, "nodes": [11404520095, 11404520096, 11404520097, 11404520098, 11404520095]}, {"type": "way", "id": 1229806874, "nodes": [11404520099, 11404520100, 11404520101, 11404520102, 11404520099]}, {"type": "way", "id": 1229806875, "nodes": [11404520107, 11404520108, 11404520094, 11404520093, 11404520109, 11404520129, 11404520110, 11404520103, 11404520104, 11404520111, 11404520088, 11404520087, 11404520112, 11404520106, 11404520105, 11404520113, 11404520114, 11404520115, 11404520091, 11404520090, 11404520092, 11404520107]}, {"type": "way", "id": 1229806879, "nodes": [11404520133, 11404520134, 11404520135, 11404520136, 6823462755, 11404520137, 11404520138, 11404520144, 11404520139, 11404520146, 11404520145, 11404520140, 11404520143, 11404520141, 11404520142, 11404520133], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "18", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "ruins", "ruins": "yes"}}, {"type": "way", "id": 1230248478, "nodes": [11409080918, 11409080919, 11409080920, 11409080921, 11409080918]}, {"type": "way", "id": 1230248479, "nodes": [11409080926, 11409080927, 11409080925, 11409080922, 11409080926]}, {"type": "way", "id": 1230248480, "nodes": [11409080928, 11409080929, 11409080923, 11409080924, 11409080928]}, {"type": "way", "id": 1230248481, "nodes": [11409080879, 11409080940, 11409080939, 11409080881, 11409080915, 11409080882, 11409080880, 11409080931, 11409080879]}, {"type": "way", "id": 1230248482, "nodes": [11409080930, 11409080935, 11409080932, 11409080933, 11409080934, 11409080936, 11409080931, 11409080880, 11409068057, 11409080930], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "6", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "architect": "M. Hern\u00e1ndez Cabrera", "building": "house", "construction_date": "1923", "email": "info@mexico-df.uned.es", "name": "Centro de la UNED en M\u00e9xico", "office": "university", "phone": "+52 55 1209 0700", "short_name": "UNED M\u00e9xico", "website": "https://www.uned.es/universidad/inicio/internacional/centros-exterior/centros-uned-america/centro-uned-mexico.html", "year_of_construction": "1923"}}, {"type": "way", "id": 1230248483, "nodes": [11409080936, 11409080937, 11409080879, 11409080931, 11409080936], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "6", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "amenity": "community_centre", "building": "outbuilding", "email": "administracion1@ateneoesmex.com", "name": "Ateneo Espa\u00f1ol de M\u00e9xico", "official_name": "Ateneo Espa\u00f1ol de M\u00e9xico A.C.", "opening_hours": "\"Agenda tu cita\"", "phone": "+52 55 5709 0027", "start_date": "2010", "website": "https://www.ateneoesmex.com/", "wikidata": "Q2842196", "wikipedia": "es:Ateneo Espa\u00f1ol de M\u00e9xico"}}, {"type": "way", "id": 1230248484, "nodes": [11409080878, 11409080877, 11409080945, 11409080965, 11409080938, 11409080939, 11409080940, 11409080944, 11409080943, 11409080942, 11409080941, 11409080879, 11409080937, 11409080878], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "10", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "house"}}, {"type": "way", "id": 1230248486, "nodes": [11409080877, 11409080875, 11409080964, 11409080947, 11409080948, 11409080946, 11409080953, 11409080938, 11409080965, 11409080952, 11409080951, 11409080945, 11409080877]}, {"type": "way", "id": 1230248487, "nodes": [11409080954, 11409080955, 11409080956, 11409080962, 11409080960, 11409080958, 11409080949, 11409080950, 11409080959, 11409080961, 11409080963, 11409080957, 11409080954]}, {"type": "way", "id": 1232300253, "nodes": [11430123761, 11430123762, 11430123760, 11430123764, 11430123763, 11430123761], "tags": {"building": "yes", "building:architecture": "neo-gothic", "check_date": "2023-12-18", "man_made": "tower", "tower:type": "bell_tower"}}, {"type": "way", "id": 1243576347, "nodes": [11557960950, 11557960951, 11557960952, 11557960953, 11557960950], "tags": {"building": "yes", "shop": "newsagent"}}, {"type": "way", "id": 1243576561, "nodes": [11557933251, 11557933252, 11557933253, 11557933254, 11557933251], "tags": {"building": "yes", "name": "Loter\u00eda Nacional", "shop": "lottery"}}, {"type": "way", "id": 1243942076, "nodes": [11563087094, 11563087095, 11563087096, 11563087098, 11563087094], "tags": {"building": "roof", "building:levels": "1", "height": "3.25", "layer": "1"}}, {"type": "way", "id": 1245624586, "nodes": [11579696944, 11579696945, 11579696946, 11579696947, 11579696944], "tags": {"building": "yes", "name:signed": "no", "shop": "newsagent"}}, {"type": "way", "id": 1258727673, "nodes": [11701278230, 12612327293, 11701278232, 11701278233, 11701278234, 11701278235, 11701278236, 11701278237, 11701278230], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "school", "name": "Universidad del Valle de Mexico"}}, {"type": "way", "id": 1362054586, "nodes": [5121876196, 12610731885, 12610731881, 12610731900, 12610732411, 12610732412, 5121876193, 5121876196], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054587, "nodes": [12610731887, 12610731889, 12610731886, 12610731885, 5121876196, 5121876197, 12610731883, 12610731887], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054588, "nodes": [12610732401, 12610731888, 12610731892, 12610731889, 12610731887, 12610731894, 12610731891, 5121876204, 12610731893, 12610732401], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054589, "nodes": [12610732403, 12610732404, 12610732405, 12610732408, 12610731899, 12610731900, 12610731881, 12610731888, 12610732401, 12610732403], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054590, "nodes": [12610732406, 12610732404, 12610732403, 12610732402, 12610732406], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054591, "nodes": [12610732407, 12610732405, 12610732404, 12610732406, 12610732407], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054592, "nodes": [12610732409, 12610732408, 12610732405, 12610732407, 12610732409], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054593, "nodes": [12610732414, 12610732415, 12610731899, 12610732408, 12610732409, 12610732414], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054594, "nodes": [12610732419, 12610732416, 12610732415, 12610732414, 12610732419], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054595, "nodes": [12610732421, 12610732420, 12610732418, 5121876185, 5121876193, 12610732412, 12610732411, 12610732410, 12610732413, 12610732416, 12610732419, 12610732421], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054596, "nodes": [12610732424, 12610732422, 12610732423, 10157575427, 12610732424], "tags": {"building": "yes"}}, {"type": "way", "id": 1362054597, "nodes": [10157575428, 12610732428, 12610732426, 12610732425, 12610732427, 12610732429, 12610732430, 10157575428], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054598, "nodes": [12610732452, 12610732447, 12610732449, 12610732448, 12610732452]}, {"type": "way", "id": 1362054599, "nodes": [12610732439, 12610732441, 12610732442, 12610732440, 12610732439]}, {"type": "way", "id": 1362054600, "nodes": [12610732447, 12610732452, 12610732451, 12610732444, 12610732445, 12610732435, 12610732432, 12610732431, 12610732436, 12610732437, 12610732434, 12610732433, 12610732438, 12610732446, 12610732447], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054601, "nodes": [12610732453, 12610732448, 12610732449, 12610732450, 12610732453], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054602, "nodes": [5121951160, 5121951159, 12610732451, 12610732452, 12610732448, 12610732453, 12610732454, 5121951160], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362054603, "nodes": [5121951160, 12610732454, 5121951157, 5121951161, 5121951160], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243920, "nodes": [12612210411, 12612210410, 12612210409, 12612210408, 12612236047, 12612236048, 12612210411], "tags": {"building": "yes"}}, {"type": "way", "id": 1362243921, "nodes": [12612210415, 12612210414, 12612210412, 12690288117, 12612210413, 12612210415], "tags": {"building": "yes"}}, {"type": "way", "id": 1362243922, "nodes": [12612210419, 11879518360, 11879518361, 12612210418, 12612210419], "tags": {"building": "yes"}}, {"type": "way", "id": 1362243923, "nodes": [12612210435, 12612210420, 11879518365, 11879518360, 12612210419, 12612210430, 12612210427, 12612210426, 12612210425, 12612210428, 12612210429, 12612210437, 12612210435], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243924, "nodes": [12612210437, 12612210433, 12612210432, 12612210431, 12612210434, 12612210436, 12612210443, 12612210422, 12612210435, 12612210437], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243925, "nodes": [12612210444, 12612210442, 11879518366, 12612210423, 12612210422, 12612210443, 12612210440, 12612210439, 12612210438, 12612210441, 12612210444], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243926, "nodes": [12612210447, 12612210448, 12612210446, 12612210438, 12612210439, 12612210445, 12612210455, 12612210456, 12612210447], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243927, "nodes": [12612210460, 12690288123, 12612210449, 12612210448, 12612210447, 12612210459, 12612210460], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243928, "nodes": [12612210457, 12612210450, 12612210453, 12612210458, 12612210461, 12612210460, 12612210459, 12612210452, 12612210451, 12612210456, 12612210455, 12612210454, 12612210457], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243929, "nodes": [12612210465, 12612210464, 12612210463, 12612210462, 12612210480, 12612210465], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243930, "nodes": [12612210473, 12612210469, 12612210468, 12612210467, 12612210466, 12612210471, 12612210473], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243931, "nodes": [12612210490, 12612210474, 12612210473, 12612210471, 12612210472, 12612210482, 12612210490], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243932, "nodes": [12612210488, 12612210465, 12612210480, 12612210479, 12612210478, 12612210477, 12612210476, 12612210475, 12612210492, 12612210487, 12612210488], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243933, "nodes": [12612210493, 12612210490, 12612210482, 12612210481, 12612210489, 12612210483, 12612210488, 12612210487, 12612210484, 12612210485, 12612210486, 12612210493], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243934, "nodes": [12612236017, 12612210493, 12612210486, 12612210492, 12612210475, 12612210491, 12612236017], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243935, "nodes": [12612210498, 12612236002, 12612236003, 12612236007, 12612210499, 12612210500, 12612236001, 12612210498], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243936, "nodes": [12612236006, 12612236013, 12612236004, 12612210498, 12612236001, 12612236005, 12612236006], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243937, "nodes": [12612236009, 12612236006, 12612236005, 12612210499, 12612236007, 12612236008, 12612236009], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243938, "nodes": [12612236014, 12612236016, 12612236012, 12612236011, 12612236010, 12612210497, 12612210496, 12612236014], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243939, "nodes": [12612236015, 12612236014, 12612210496, 12612210495, 12612210494, 12612210497, 12612236010, 12612236013, 12612236006, 12612236009, 12612236015], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243940, "nodes": [12612236018, 12612236017, 12612210491, 12612236016, 12612236014, 12612236015, 12612236019, 12612236018], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243941, "nodes": [12612236022, 12612236023, 12612236018, 12612236019, 12612236022], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243942, "nodes": [12612236020, 12612236026, 12612236027, 12612236023, 12612236022, 12612236021, 12612236020], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243943, "nodes": [12612236030, 12612236027, 12612236026, 12612236024, 12612236025, 12612236029, 12612236030], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243944, "nodes": [12612236070, 12612236030, 12612236029, 12612236061, 12612236045, 12612236046, 12612236070], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243945, "nodes": [12612236057, 12612236056, 12612236064, 12612236062, 12612236065, 12612236061, 12612236029, 12612236025, 12612236059, 12612236060, 12612236058, 12612236063, 12612236057], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243946, "nodes": [12612236068, 12612236052, 12612236065, 12612236062, 12612236064, 12612236063, 12612236058, 12612236060, 12612236055, 12612236031, 12612236068], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243947, "nodes": [12612236067, 12612236032, 12612236031, 12612236055, 12612236066, 12612236067], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243948, "nodes": [12612236069, 12612236051, 12612236068, 12612236034, 12612236033, 12612236032, 12612236067, 12612236069], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362243949, "nodes": [12612236072, 12612236054, 12612236044, 12612236043, 12612236053, 12612236050, 12612236040, 12612236039, 12612236049, 12612210411, 12612236048, 12612236036, 12612236035, 12612236047, 12612210408, 12612210415, 12612210413, 12612236070, 12612236046, 12612236038, 12612236037, 12612236045, 12612236061, 12612236065, 12612236052, 12612236042, 12612236041, 12612236051, 12612236069, 12612236072], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255954, "nodes": [12612327228, 12612327227, 12612327226, 12612327224, 12612327225, 12612327213, 12612327211, 12612327210, 12612327209, 12612327212, 12612327230, 12612327229, 12612327234, 12612327235, 12612327238, 12612327222, 12612327237, 12612327244, 12612327243, 12612327236, 12612327233, 12612327232, 12612327231, 12612327228], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255955, "nodes": [12612327217, 12612327214, 12612327215, 12612327219, 12612327220, 12612327218, 12612327216, 12612327221, 12612327223, 12612327256, 12612327257, 12612327237, 12612327222, 12612327217], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255956, "nodes": [12612327255, 12612327241, 12612327240, 12612327239, 12612327255], "tags": {"building": "yes"}}, {"type": "way", "id": 1362255957, "nodes": [12612327254, 12612327257, 12612327256, 12612327241, 12612327255, 12612327265, 12612327266, 12612327253, 12612327252, 12612327249, 12612327246, 12612327269, 12612327247, 12612327248, 12612327250, 12612327251, 12612327242, 12612327243, 12612327244, 12612327245, 12612327254], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255958, "nodes": [12612327260, 12612327258, 12612327266, 12612327265, 12612327264, 12612327282, 12612327267, 12612327259, 12612327262, 12612327268, 12612327279, 12612327283, 12612327270, 12612327247, 12612327269, 12612327263, 12612327261, 12612327260], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255959, "nodes": [12612327284, 12612327283, 12612327279, 12612327278, 12612327277, 12612327280, 12612327267, 12612327282, 12612327281, 12612327276, 12612327274, 12612327273, 12612327275, 12612327271, 12612327284], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255960, "nodes": [11701278235, 11701278234, 12612327290, 12612327289, 12612327272, 12612327271, 12612327275, 12612327276, 12612327281, 12612327286, 12612327285, 11701278235], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255961, "nodes": [11701278233, 12612327291, 12612327292, 12612327272, 12612327289, 12612327288, 12612327287, 12612327290, 11701278234, 11701278233], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255962, "nodes": [5122016758, 11701278230, 11701278237, 12612327294, 10162527959, 5122016757, 5122016758], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362255963, "nodes": [12612327298, 12612327295, 12612327296, 12612327297, 12612327298], "tags": {"building": "yes"}}, {"type": "way", "id": 1362261906, "nodes": [12612417907, 12612417906, 12612417905, 12612417902, 3198838823, 12679469735, 12612390400, 12612417901, 12728432250, 12612417979, 12612417907], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362261907, "nodes": [12612417981, 12612417980, 12612417979, 12728432250, 12612417981], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412352, "nodes": [5120144487, 12613909800, 12613909799, 5120144486, 5120144487], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412353, "nodes": [12613939803, 12613939802, 5120144485, 12613939801, 12613939803], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412354, "nodes": [5120144502, 12613909798, 12613939806, 12613939805, 12613939804, 5120144502], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412355, "nodes": [12613939810, 12613939809, 12613939808, 12613939807, 12613939810], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412356, "nodes": [12613939815, 12613939812, 12613939810, 12613939807, 12613939813, 12613939814, 12613939831, 12613939830, 12613939811, 12613939837, 12613939815], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412357, "nodes": [12613939819, 12613939818, 12613939817, 12613939816, 12613939819]}, {"type": "way", "id": 1362412358, "nodes": [12613939820, 12613939822, 12613939823, 12613939821, 12613939820]}, {"type": "way", "id": 1362412359, "nodes": [5118138703, 5118138706, 12613939849, 5120144512, 12613939858, 5118138704, 5118138703]}, {"type": "way", "id": 1362412360, "nodes": [12613939833, 12613939834, 12613939829, 12613939827, 12613939826, 12613939828, 12613939830, 12613939831, 12613939824, 12613939825, 12613939833], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412361, "nodes": [12613939836, 12613939835, 12613939834, 12613939833, 12613939832, 12613939838, 12613939836], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412362, "nodes": [12613939840, 5120144505, 12613939815, 12613939837, 12613939811, 12613939835, 12613939836, 12613939838, 12613939840], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412363, "nodes": [5120144515, 5120144519, 12613939839, 12613939840, 12613939841, 5120144515], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362412364, "nodes": [12613939845, 12613939844, 12613939843, 12613939842, 12613939845], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412365, "nodes": [12613939848, 5120144506, 12613909792, 12613939846, 12613939847, 12613939848], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412366, "nodes": [5118138706, 12613939851, 12613939850, 12613939849, 5118138706], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412367, "nodes": [12613939855, 12613939852, 12613939853, 12613939854, 12613939855], "tags": {"building": "yes"}}, {"type": "way", "id": 1362412368, "nodes": [5120144512, 12613939856, 12613939857, 12613939858, 5120144512], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435781, "nodes": [12614319362, 12614319361, 12614319360, 12614319359, 12614319358, 12614319357, 12614319356, 12614319355, 12614319354, 12614319353, 12614319362]}, {"type": "way", "id": 1362435782, "nodes": [12614319370, 12614319369, 12614319368, 12614319367, 12614319370]}, {"type": "way", "id": 1362435783, "nodes": [12614319374, 12614319373, 12614319372, 12614319371, 12614319374]}, {"type": "way", "id": 1362435784, "nodes": [12614319378, 12614319377, 12614319376, 12614319375, 12614319378]}, {"type": "way", "id": 1362435785, "nodes": [12614319382, 12614319381, 12614319380, 12614319379, 12614319382]}, {"type": "way", "id": 1362435786, "nodes": [12614319386, 12614319385, 12614319384, 12614319383, 12614319386]}, {"type": "way", "id": 1362435787, "nodes": [12614319390, 12614319389, 12614319388, 12614319387, 12614319390]}, {"type": "way", "id": 1362435788, "nodes": [12614319394, 12614319393, 12614319392, 12614319391, 12614319394]}, {"type": "way", "id": 1362435789, "nodes": [12614319395, 12614319396, 12614319397, 5120145906, 5120145908, 5120145869, 12614319395], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435790, "nodes": [12614319395, 12614319940, 5120145860, 5120145861, 5120145869, 12614319395], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435791, "nodes": [5121951191, 5120145906, 12614319397, 12614319396, 12614319399, 12614319901, 12614319400, 5121951191], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435792, "nodes": [12614319903, 5121951191, 12614319400, 12614319901, 12614319398, 5121951207, 5120145892, 12614319902, 12614319903]}, {"type": "way", "id": 1362435793, "nodes": [12614319901, 12614319399, 5121951208, 12614319398, 12614319901], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435794, "nodes": [5120145867, 11237515560, 5120145834, 5120145857, 5120145861, 5120145867], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes"}}, {"type": "way", "id": 1362435795, "nodes": [12614319915, 12614319914, 12614319913, 12614319912, 12614319915]}, {"type": "way", "id": 1362435796, "nodes": [12614319919, 12614319918, 12614319917, 12614319916, 12614319919]}, {"type": "way", "id": 1362435797, "nodes": [12614319923, 12614319922, 12614319921, 12614319920, 12614319923]}, {"type": "way", "id": 1362435798, "nodes": [12614319927, 12614319926, 12614319925, 12614319924, 12614319927]}, {"type": "way", "id": 1362435799, "nodes": [12614319931, 12614319930, 12614319929, 12614319928, 12614319931]}, {"type": "way", "id": 1362438278, "nodes": [3198940295, 12614328780, 12614328781, 3198940300, 3198940295], "tags": {"building": "yes"}}, {"type": "way", "id": 1362438279, "nodes": [12614351103, 12614328800, 12614351101, 12614351102, 12614351103], "tags": {"building": "yes"}}, {"type": "way", "id": 1362438280, "nodes": [12614351107, 12614351106, 12614351105, 12614351104, 12614351107], "tags": {"building": "yes"}}, {"type": "way", "id": 1362438281, "nodes": [12614351111, 12614351110, 12614351109, 12614351108, 12614351111], "tags": {"building": "yes"}}, {"type": "way", "id": 1379033214, "nodes": [12769751908, 12769751905, 11397198066, 12769751906, 12769751908], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "36", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "retail"}}, {"type": "relation", "id": 4215745, "members": [{"type": "way", "ref": 313853814, "role": "inner"}, {"type": "way", "ref": 313853812, "role": "outer"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "architect": "Mario Pani", "building": "hotel", "height": "35", "name": "Hotel Reforma", "type": "multipolygon", "year_of_construction": "1936"}}, {"type": "relation", "id": 16087447, "members": [{"type": "way", "ref": 526243809, "role": "outer"}, {"type": "way", "ref": 1189297178, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "building:colour": "moccasin", "roof:colour": "indianred", "type": "multipolygon"}}, {"type": "relation", "id": 16658007, "members": [{"type": "way", "ref": 1221428352, "role": "outer"}, {"type": "way", "ref": 1221428354, "role": "inner"}, {"type": "way", "ref": 1221428353, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "25", "addr:postcode": "06600", "addr:street": "Calle Dinamarca", "building": "apartments", "name": "Edificio Dinamarca", "type": "multipolygon"}}, {"type": "relation", "id": 16748136, "members": [{"type": "way", "ref": 1226364900, "role": "outer"}, {"type": "way", "ref": 1226364901, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16748137, "members": [{"type": "way", "ref": 1226364902, "role": "outer"}, {"type": "way", "ref": 1226364903, "role": "inner"}, {"type": "way", "ref": 1226364904, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "85", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16748138, "members": [{"type": "way", "ref": 1226364905, "role": "outer"}, {"type": "way", "ref": 1226364906, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16748139, "members": [{"type": "way", "ref": 1226364907, "role": "outer"}, {"type": "way", "ref": 1226364908, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16748310, "members": [{"type": "way", "ref": 1226377516, "role": "outer"}, {"type": "way", "ref": 1226377517, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "77", "addr:postcode": "06600", "addr:street": "Calle General Prim", "building": "house", "type": "multipolygon"}}, {"type": "relation", "id": 16748311, "members": [{"type": "way", "ref": 526340696, "role": "outer"}, {"type": "way", "ref": 1226377532, "role": "inner"}], "tags": {"access": "yes", "addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "44", "addr:postcode": "06600", "addr:street": "Calle Atenas", "amenity": "parking", "building": "parking", "fee": "yes", "parking": "multi-storey", "type": "multipolygon"}}, {"type": "relation", "id": 16748312, "members": [{"type": "way", "ref": 1226377533, "role": "outer"}, {"type": "way", "ref": 1226377535, "role": "inner"}, {"type": "way", "ref": 1226377534, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "21", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "office", "type": "multipolygon"}}, {"type": "relation", "id": 16751428, "members": [{"type": "way", "ref": 1226650403, "role": "outer"}, {"type": "way", "ref": 1226650404, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "46", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "commercial", "type": "multipolygon"}}, {"type": "relation", "id": 16751429, "members": [{"type": "way", "ref": 1226650409, "role": "outer"}, {"type": "way", "ref": 1226650410, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "56", "addr:postcode": "06600", "addr:street": "Calle Versalles", "building": "house", "type": "multipolygon"}}, {"type": "relation", "id": 16776887, "members": [{"type": "way", "ref": 1228119552, "role": "outer"}, {"type": "way", "ref": 1228119553, "role": "inner"}, {"type": "way", "ref": 1228119554, "role": "inner"}, {"type": "way", "ref": 1228119555, "role": "inner"}, {"type": "way", "ref": 1228119556, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "15", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16782151, "members": [{"type": "way", "ref": 1228496848, "role": "outer"}, {"type": "way", "ref": 1228496851, "role": "inner"}, {"type": "way", "ref": 1228496852, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "59", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16782152, "members": [{"type": "way", "ref": 1228496853, "role": "outer"}, {"type": "way", "ref": 1228496855, "role": "inner"}, {"type": "way", "ref": 1228496854, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "63", "addr:postcode": "06600", "addr:street": "Calle Lucerna", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16782153, "members": [{"type": "way", "ref": 1228496861, "role": "outer"}, {"type": "way", "ref": 1228496862, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "14", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16786370, "members": [{"type": "way", "ref": 1228776306, "role": "outer"}, {"type": "way", "ref": 1228776307, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "31", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "house", "type": "multipolygon"}}, {"type": "relation", "id": 16786371, "members": [{"type": "way", "ref": 1228776317, "role": "outer"}, {"type": "way", "ref": 1228776319, "role": "inner"}, {"type": "way", "ref": 1228776318, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "16", "addr:postcode": "06600", "addr:street": "Calle Viena", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16786372, "members": [{"type": "way", "ref": 1228776323, "role": "outer"}, {"type": "way", "ref": 1228776324, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "35", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16789528, "members": [{"type": "way", "ref": 1228976695, "role": "outer"}, {"type": "way", "ref": 1228976711, "role": "inner"}, {"type": "way", "ref": 1228976710, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "19", "addr:postcode": "06600", "addr:street": "Calle Roma", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16789529, "members": [{"type": "way", "ref": 1228976702, "role": "outer"}, {"type": "way", "ref": 1228976712, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "38", "addr:postcode": "06600", "addr:street": "Calle Mil\u00e1n", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16789645, "members": [{"type": "way", "ref": 1228983146, "role": "outer"}, {"type": "way", "ref": 1228983160, "role": "inner"}, {"type": "way", "ref": 1228983159, "role": "inner"}, {"type": "way", "ref": 1228983161, "role": "inner"}, {"type": "way", "ref": 1228983158, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "48", "addr:postcode": "06600", "addr:street": "Calle Lisboa", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16801898, "members": [{"type": "way", "ref": 1229806875, "role": "outer"}, {"type": "way", "ref": 1229806874, "role": "inner"}, {"type": "way", "ref": 1229806873, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "9", "addr:postcode": "06600", "addr:street": "Calle Londres", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16809334, "members": [{"type": "way", "ref": 1230248481, "role": "outer"}, {"type": "way", "ref": 1230248478, "role": "inner"}, {"type": "way", "ref": 1230248480, "role": "inner"}, {"type": "way", "ref": 1230248479, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "7", "addr:postcode": "06600", "addr:street": "Calle Berl\u00edn", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 16809335, "members": [{"type": "way", "ref": 1230248486, "role": "outer"}, {"type": "way", "ref": 1230248487, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:housenumber": "14", "addr:postcode": "06600", "addr:street": "Calle Hamburgo", "building": "apartments", "type": "multipolygon"}}, {"type": "relation", "id": 18741488, "members": [{"type": "way", "ref": 1362054599, "role": "inner"}, {"type": "way", "ref": 1362054598, "role": "outer"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18745867, "members": [{"type": "way", "ref": 1362412358, "role": "inner"}, {"type": "way", "ref": 1362412359, "role": "outer"}, {"type": "way", "ref": 1362412357, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18746559, "members": [{"type": "way", "ref": 526543625, "role": "outer"}, {"type": "way", "ref": 1362435781, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18746560, "members": [{"type": "way", "ref": 526543621, "role": "outer"}, {"type": "way", "ref": 1362435782, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18746561, "members": [{"type": "way", "ref": 1362435792, "role": "outer"}, {"type": "way", "ref": 1362435784, "role": "inner"}, {"type": "way", "ref": 1362435783, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18746562, "members": [{"type": "way", "ref": 526543626, "role": "outer"}, {"type": "way", "ref": 1362435788, "role": "inner"}, {"type": "way", "ref": 1362435786, "role": "inner"}, {"type": "way", "ref": 1362435785, "role": "inner"}, {"type": "way", "ref": 1362435787, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "yes", "type": "multipolygon"}}, {"type": "relation", "id": 18746563, "members": [{"type": "way", "ref": 526543607, "role": "outer"}, {"type": "way", "ref": 1362435795, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "commercial", "type": "multipolygon"}}, {"type": "relation", "id": 18746564, "members": [{"type": "way", "ref": 526543606, "role": "outer"}, {"type": "way", "ref": 1362435796, "role": "inner"}, {"type": "way", "ref": 1362435799, "role": "inner"}, {"type": "way", "ref": 1362435798, "role": "inner"}, {"type": "way", "ref": 1362435797, "role": "inner"}], "tags": {"addr:city": "Ciudad de M\u00e9xico", "addr:postcode": "06030", "building": "commercial", "type": "multipolygon"}}]} \ No newline at end of file diff --git a/core/__init__.py b/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/__pycache__/__init__.cpython-310.pyc b/core/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..6e47715 Binary files /dev/null and b/core/__pycache__/__init__.cpython-310.pyc differ diff --git a/core/__pycache__/admin.cpython-310.pyc b/core/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..dd3b4cb Binary files /dev/null and b/core/__pycache__/admin.cpython-310.pyc differ diff --git a/core/__pycache__/apps.cpython-310.pyc b/core/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..526b192 Binary files /dev/null and b/core/__pycache__/apps.cpython-310.pyc differ diff --git a/core/__pycache__/models.cpython-310.pyc b/core/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..6f7b5f2 Binary files /dev/null and b/core/__pycache__/models.cpython-310.pyc differ diff --git a/core/__pycache__/urls.cpython-310.pyc b/core/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..8d73aef Binary files /dev/null and b/core/__pycache__/urls.cpython-310.pyc differ diff --git a/core/__pycache__/views.cpython-310.pyc b/core/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..4c45c88 Binary files /dev/null and b/core/__pycache__/views.cpython-310.pyc differ diff --git a/core/admin.py b/core/admin.py new file mode 100644 index 0000000..e096f02 --- /dev/null +++ b/core/admin.py @@ -0,0 +1,5 @@ +from django.contrib import admin +from .models import Category, UserMenu + +admin.site.register(Category) +admin.site.register(UserMenu) diff --git a/core/apps.py b/core/apps.py new file mode 100644 index 0000000..c0ce093 --- /dev/null +++ b/core/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class CoreConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "core" diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py new file mode 100644 index 0000000..39b0e8c --- /dev/null +++ b/core/migrations/0001_initial.py @@ -0,0 +1,29 @@ +# Generated by Django 5.0.3 on 2024-03-16 20:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Category", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("name", models.CharField(max_length=100)), + ("description", models.TextField(blank=True, null=True)), + ], + ), + ] diff --git a/core/migrations/0002_usermenu.py b/core/migrations/0002_usermenu.py new file mode 100644 index 0000000..0753388 --- /dev/null +++ b/core/migrations/0002_usermenu.py @@ -0,0 +1,51 @@ +# Generated by Django 5.0.3 on 2024-03-16 20:22 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("core", "0001_initial"), + ] + + operations = [ + migrations.CreateModel( + name="UserMenu", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("title", models.CharField(max_length=100)), + ("order", models.IntegerField(default=0)), + ("description", models.TextField()), + ("icon", models.CharField(blank=True, max_length=50, null=True)), + ( + "image", + models.ImageField( + blank=True, null=True, upload_to="media/images/menu/" + ), + ), + ("url", models.CharField(blank=True, max_length=200, null=True)), + ("url_text", models.CharField(blank=True, max_length=50, null=True)), + ( + "category", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="user_menus", + to="core.category", + ), + ), + ], + options={ + "ordering": ["category", "order"], + }, + ), + ] diff --git a/core/migrations/__init__.py b/core/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/migrations/__pycache__/0001_initial.cpython-310.pyc b/core/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..a048bf9 Binary files /dev/null and b/core/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/core/migrations/__pycache__/0002_usermenu.cpython-310.pyc b/core/migrations/__pycache__/0002_usermenu.cpython-310.pyc new file mode 100644 index 0000000..0de369e Binary files /dev/null and b/core/migrations/__pycache__/0002_usermenu.cpython-310.pyc differ diff --git a/core/migrations/__pycache__/__init__.cpython-310.pyc b/core/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..d78e305 Binary files /dev/null and b/core/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/core/models.py b/core/models.py new file mode 100644 index 0000000..710e369 --- /dev/null +++ b/core/models.py @@ -0,0 +1,28 @@ +from django.db import models +from django.contrib.auth.models import User + +class Category(models.Model): + name = models.CharField(max_length=100) + description = models.TextField(blank=True, null=True) + + def __str__(self): + return self.name + +class UserMenu(models.Model): + title = models.CharField(max_length=100) + category = models.ForeignKey(Category, on_delete=models.CASCADE, related_name='user_menus') # Assuming each menu belongs to one category + order = models.IntegerField(default=0) + description = models.TextField() + icon = models.CharField(max_length=50, blank=True, null=True) + image = models.ImageField(upload_to='media/images/menu/', null=True, blank=True) # Changed 'media/images/' to 'user_menu_images/' for clarity + url = models.CharField(max_length=200, blank=True, null=True) + url_text = models.CharField(max_length=50, blank=True, null=True) + + + def __str__(self): + return self.title + + class Meta: + ordering = ['category', 'order'] # Orders by category first, then by the order field within each category + + diff --git a/core/templates/core/index.html b/core/templates/core/index.html new file mode 100644 index 0000000..f9bd19d --- /dev/null +++ b/core/templates/core/index.html @@ -0,0 +1,66 @@ +{% extends 'base.html' %} + +{% block title %}Polisplexity Portal{% endblock title %} + +{% block extra_css %} + +{% endblock extra_css %} + +{% block content %} +
+

Welcome to Polisplexity

+

Select one of the options Bellow

+ + {% for category, items in grouped_menu_items.items %} + {% if not forloop.first %} +
+ {% endif %} +
+
+

{{ category.name }}

+ {{ category.description }} +
+ {% for menu_item in items %} +
+
+ {% if menu_item.image %} + + {{ menu_item.title }} + {% elif menu_item.icon %} + +
+ {{ menu_item.icon }} +
+ {% endif %} +
+
{{ menu_item.title }}
+

{{ menu_item.description }}

+
+ +
+
+ {% endfor %} +
+ {% endfor %} +
+{% endblock content %} + + +{% block extra_js %} + +{% endblock extra_js %} diff --git a/core/tests.py b/core/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/core/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/core/urls.py b/core/urls.py new file mode 100644 index 0000000..55777f9 --- /dev/null +++ b/core/urls.py @@ -0,0 +1,6 @@ +from django.urls import path +from .views import index + +urlpatterns = [ + path('', index, name='index'), +] \ No newline at end of file diff --git a/core/views.py b/core/views.py new file mode 100644 index 0000000..fde312b --- /dev/null +++ b/core/views.py @@ -0,0 +1,11 @@ +from django.shortcuts import render +from django.contrib.auth.decorators import login_required +from .models import UserMenu +from itertools import groupby + + +def index(request): + menu_items = UserMenu.objects.all().order_by('category', 'order') + # Group by category + grouped_menu_items = {k: list(v) for k, v in groupby(menu_items, lambda x: x.category)} + return render(request, 'core/index.html', {'grouped_menu_items': grouped_menu_items}) \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000..f4d8f43 Binary files /dev/null and b/db.sqlite3 differ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b936a83 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3.8" + +services: + db: + image: postgres:15 + container_name: polisplexity_postgres + restart: always + volumes: + - pgdata:/var/lib/postgresql/data + env_file: + - .env + ports: + - "5434:5432" + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"] + interval: 10s + retries: 5 + timeout: 5s + + web: + build: . + container_name: polisplexity_django + restart: always + depends_on: + db: + condition: service_healthy + volumes: + - .:/app # Sync local code into container for live reload + ports: + - "8001:8001" + env_file: + - .env + command: python manage.py runserver 0.0.0.0:8001 + +volumes: + pgdata: + \ No newline at end of file diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..64538df --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "polisplexity.settings") + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == "__main__": + main() diff --git a/media/images/logos/logo_U4MX.png b/media/images/logos/logo_U4MX.png new file mode 100644 index 0000000..cecf7d1 Binary files /dev/null and b/media/images/logos/logo_U4MX.png differ diff --git a/media/media/images/menu/01_Forms_image.webp b/media/media/images/menu/01_Forms_image.webp new file mode 100644 index 0000000..f67499c Binary files /dev/null and b/media/media/images/menu/01_Forms_image.webp differ diff --git a/pgloader.load b/pgloader.load new file mode 100644 index 0000000..7b46594 --- /dev/null +++ b/pgloader.load @@ -0,0 +1,11 @@ +LOAD DATABASE + FROM sqlite:///app/db.sqlite3 + INTO postgresql://postgres:mysecretpassword@localhost:5434/polisplexity + +WITH include no drop, create tables, create indexes, reset sequences + +SET work_mem to '16MB', maintenance_work_mem to '512 MB' + +ALTER SCHEMA 'main' RENAME TO 'public' +; + diff --git a/polisplexity/__init__.py b/polisplexity/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/polisplexity/__pycache__/__init__.cpython-310.pyc b/polisplexity/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..6918b8c Binary files /dev/null and b/polisplexity/__pycache__/__init__.cpython-310.pyc differ diff --git a/polisplexity/__pycache__/settings.cpython-310.pyc b/polisplexity/__pycache__/settings.cpython-310.pyc new file mode 100644 index 0000000..2d499ce Binary files /dev/null and b/polisplexity/__pycache__/settings.cpython-310.pyc differ diff --git a/polisplexity/__pycache__/urls.cpython-310.pyc b/polisplexity/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..8039dc1 Binary files /dev/null and b/polisplexity/__pycache__/urls.cpython-310.pyc differ diff --git a/polisplexity/__pycache__/wsgi.cpython-310.pyc b/polisplexity/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000..a860eb8 Binary files /dev/null and b/polisplexity/__pycache__/wsgi.cpython-310.pyc differ diff --git a/polisplexity/asgi.py b/polisplexity/asgi.py new file mode 100644 index 0000000..06b96bb --- /dev/null +++ b/polisplexity/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for polisplexity project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "polisplexity.settings") + +application = get_asgi_application() diff --git a/polisplexity/settings.py b/polisplexity/settings.py new file mode 100644 index 0000000..a29080f --- /dev/null +++ b/polisplexity/settings.py @@ -0,0 +1,124 @@ +""" +Django settings for polisplexity project. + +Generated by 'django-admin startproject' using Django 5.0.3. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/5.0/ref/settings/ +""" + +from pathlib import Path +import os +import dj_database_url +from dotenv import load_dotenv + +# Load environment variables from .env file +load_dotenv() + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent +BASE_URL = "https://app.polisplexity.tech" + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = os.getenv("SECRET_KEY") + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = os.getenv("DEBUG") == "True" + +ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS", "").split(",") + +# Application definition +INSTALLED_APPS = [ + "django.contrib.admin", + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", + "core", + "pxy_de", + "pxy_cr", + "pxy_whatsapp", + "pxy_city_digital_twins", + "pxy_bots", + "pxy_openai", + "pxy_meta_pages", + "pxy_langchain", + "pxy_neo4j", +] + +MIDDLEWARE = [ + "django.middleware.security.SecurityMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + "django.middleware.common.CommonMiddleware", + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", +] + +ROOT_URLCONF = "polisplexity.urls" + +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [os.path.join(BASE_DIR, "templates")], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", + ], + }, + }, +] + +WSGI_APPLICATION = "polisplexity.wsgi.application" + +# Database Configuration +DATABASES = { + "default": dj_database_url.config(default=os.getenv("DATABASE_URL")) +} + +# Password validation +AUTH_PASSWORD_VALIDATORS = [ + {"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"}, + {"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator"}, + {"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"}, + {"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"}, +] + +# Internationalization +LANGUAGE_CODE = "en-us" +TIME_ZONE = "UTC" +USE_I18N = True +USE_TZ = True + +# Static and Media Files +STATIC_URL = "/static/" +STATIC_ROOT = os.getenv("STATIC_ROOT", os.path.join(BASE_DIR, "static")) + +MEDIA_URL = "/media/" +MEDIA_ROOT = os.getenv("MEDIA_ROOT", os.path.join(BASE_DIR, "media")) + +# Default primary key field type +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" + +# Facebook API Tokens +PAGE_ACCESS_TOKEN = os.getenv("PAGE_ACCESS_TOKEN") +VERIFY_TOKEN = os.getenv("VERIFY_TOKEN") + +os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true" + +# Neo4j Database Configuration +NEO4J_URI = os.getenv("NEO4J_URI") +NEO4J_USERNAME = os.getenv("NEO4J_USERNAME") +NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD") + +# OpenAI API Key +OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") diff --git a/polisplexity/urls.py b/polisplexity/urls.py new file mode 100644 index 0000000..015caef --- /dev/null +++ b/polisplexity/urls.py @@ -0,0 +1,36 @@ +""" +URL configuration for polisplexity project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include +from django.conf import settings +from django.conf.urls.static import static + +admin.site.site_header = "Polisplexity City Technologies" +admin.site.site_title = "Polisplexity Admin Portal" +admin.site.index_title = "Welcome to Polisplexity City Technologies Portal" + +urlpatterns = [ + path("admin/", admin.site.urls), + path('', include('core.urls')), + path('', include('pxy_city_digital_twins.urls')), + path('pxy_whatsapp/', include('pxy_whatsapp.urls')), + path('bots/', include('pxy_bots.urls')), # Webhook URL: /bots/webhook// + path('pxy_meta_pages/', include('pxy_meta_pages.urls', namespace='pxy_meta_pages')), +] + +if settings.DEBUG: + urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) \ No newline at end of file diff --git a/polisplexity/wsgi.py b/polisplexity/wsgi.py new file mode 100644 index 0000000..3406615 --- /dev/null +++ b/polisplexity/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for polisplexity project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "polisplexity.settings") + +application = get_wsgi_application() diff --git a/polisplexity_dump.sql b/polisplexity_dump.sql new file mode 100644 index 0000000..63b875e --- /dev/null +++ b/polisplexity_dump.sql @@ -0,0 +1,2149 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 15.11 (Debian 15.11-1.pgdg120+1) +-- Dumped by pg_dump version 15.12 (Ubuntu 15.12-1.pgdg22.04+1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- +-- Name: auth_group; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_group ( + id bigint NOT NULL, + name text +); + + +ALTER TABLE public.auth_group OWNER TO postgres; + +-- +-- Name: auth_group_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_group_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_group_id_seq OWNER TO postgres; + +-- +-- Name: auth_group_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_group_id_seq OWNED BY public.auth_group.id; + + +-- +-- Name: auth_group_permissions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_group_permissions ( + id bigint NOT NULL, + group_id bigint, + permission_id bigint +); + + +ALTER TABLE public.auth_group_permissions OWNER TO postgres; + +-- +-- Name: auth_group_permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_group_permissions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_group_permissions_id_seq OWNER TO postgres; + +-- +-- Name: auth_group_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_group_permissions_id_seq OWNED BY public.auth_group_permissions.id; + + +-- +-- Name: auth_permission; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_permission ( + id bigint NOT NULL, + content_type_id bigint, + codename text, + name text +); + + +ALTER TABLE public.auth_permission OWNER TO postgres; + +-- +-- Name: auth_permission_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_permission_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_permission_id_seq OWNER TO postgres; + +-- +-- Name: auth_permission_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_permission_id_seq OWNED BY public.auth_permission.id; + + +-- +-- Name: auth_user; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_user ( + id bigint NOT NULL, + password text, + last_login timestamp with time zone, + is_superuser boolean, + username text, + last_name text, + email text, + is_staff boolean, + is_active boolean, + date_joined timestamp with time zone, + first_name text +); + + +ALTER TABLE public.auth_user OWNER TO postgres; + +-- +-- Name: auth_user_groups; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_user_groups ( + id bigint NOT NULL, + user_id bigint, + group_id bigint +); + + +ALTER TABLE public.auth_user_groups OWNER TO postgres; + +-- +-- Name: auth_user_groups_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_user_groups_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_user_groups_id_seq OWNER TO postgres; + +-- +-- Name: auth_user_groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_user_groups_id_seq OWNED BY public.auth_user_groups.id; + + +-- +-- Name: auth_user_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_user_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_user_id_seq OWNER TO postgres; + +-- +-- Name: auth_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_user_id_seq OWNED BY public.auth_user.id; + + +-- +-- Name: auth_user_user_permissions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.auth_user_user_permissions ( + id bigint NOT NULL, + user_id bigint, + permission_id bigint +); + + +ALTER TABLE public.auth_user_user_permissions OWNER TO postgres; + +-- +-- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.auth_user_user_permissions_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.auth_user_user_permissions_id_seq OWNER TO postgres; + +-- +-- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.auth_user_user_permissions_id_seq OWNED BY public.auth_user_user_permissions.id; + + +-- +-- Name: core_category; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.core_category ( + id bigint NOT NULL, + name text, + description text +); + + +ALTER TABLE public.core_category OWNER TO postgres; + +-- +-- Name: core_category_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.core_category_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.core_category_id_seq OWNER TO postgres; + +-- +-- Name: core_category_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.core_category_id_seq OWNED BY public.core_category.id; + + +-- +-- Name: core_usermenu; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.core_usermenu ( + id bigint NOT NULL, + title text, + "order" bigint, + description text, + icon text, + image text, + url text, + url_text text, + category_id bigint +); + + +ALTER TABLE public.core_usermenu OWNER TO postgres; + +-- +-- Name: core_usermenu_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.core_usermenu_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.core_usermenu_id_seq OWNER TO postgres; + +-- +-- Name: core_usermenu_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.core_usermenu_id_seq OWNED BY public.core_usermenu.id; + + +-- +-- Name: django_admin_log; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.django_admin_log ( + id bigint NOT NULL, + object_id text, + object_repr text, + action_flag smallint, + change_message text, + content_type_id bigint, + user_id bigint, + action_time timestamp with time zone +); + + +ALTER TABLE public.django_admin_log OWNER TO postgres; + +-- +-- Name: django_admin_log_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.django_admin_log_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_admin_log_id_seq OWNER TO postgres; + +-- +-- Name: django_admin_log_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.django_admin_log_id_seq OWNED BY public.django_admin_log.id; + + +-- +-- Name: django_content_type; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.django_content_type ( + id bigint NOT NULL, + app_label text, + model text +); + + +ALTER TABLE public.django_content_type OWNER TO postgres; + +-- +-- Name: django_content_type_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.django_content_type_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_content_type_id_seq OWNER TO postgres; + +-- +-- Name: django_content_type_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.django_content_type_id_seq OWNED BY public.django_content_type.id; + + +-- +-- Name: django_migrations; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.django_migrations ( + id bigint NOT NULL, + app text, + name text, + applied timestamp with time zone +); + + +ALTER TABLE public.django_migrations OWNER TO postgres; + +-- +-- Name: django_migrations_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.django_migrations_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.django_migrations_id_seq OWNER TO postgres; + +-- +-- Name: django_migrations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.django_migrations_id_seq OWNED BY public.django_migrations.id; + + +-- +-- Name: django_session; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.django_session ( + session_key text NOT NULL, + session_data text, + expire_date timestamp with time zone +); + + +ALTER TABLE public.django_session OWNER TO postgres; + +-- +-- Name: pxy_bots_telegrambot; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_bots_telegrambot ( + id bigint NOT NULL, + name text, + username text, + token text, + is_active boolean, + assistant_id bigint +); + + +ALTER TABLE public.pxy_bots_telegrambot OWNER TO postgres; + +-- +-- Name: pxy_bots_telegrambot_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_bots_telegrambot_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_bots_telegrambot_id_seq OWNER TO postgres; + +-- +-- Name: pxy_bots_telegrambot_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_bots_telegrambot_id_seq OWNED BY public.pxy_bots_telegrambot.id; + + +-- +-- Name: pxy_de_pipelineproductrun; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_de_pipelineproductrun ( + id bigint NOT NULL, + status text, + date timestamp with time zone, + pipeline_run_id bigint, + step_id bigint +); + + +ALTER TABLE public.pxy_de_pipelineproductrun OWNER TO postgres; + +-- +-- Name: pxy_de_pipelineproductrun_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_de_pipelineproductrun_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_de_pipelineproductrun_id_seq OWNER TO postgres; + +-- +-- Name: pxy_de_pipelineproductrun_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_de_pipelineproductrun_id_seq OWNED BY public.pxy_de_pipelineproductrun.id; + + +-- +-- Name: pxy_de_pipelinerun; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_de_pipelinerun ( + id bigint NOT NULL, + run_identifier text, + overall_status text, + date timestamp with time zone +); + + +ALTER TABLE public.pxy_de_pipelinerun OWNER TO postgres; + +-- +-- Name: pxy_de_pipelinerun_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_de_pipelinerun_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_de_pipelinerun_id_seq OWNER TO postgres; + +-- +-- Name: pxy_de_pipelinerun_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_de_pipelinerun_id_seq OWNED BY public.pxy_de_pipelinerun.id; + + +-- +-- Name: pxy_de_pipelinestep; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_de_pipelinestep ( + id bigint NOT NULL, + name text, + description text +); + + +ALTER TABLE public.pxy_de_pipelinestep OWNER TO postgres; + +-- +-- Name: pxy_de_pipelinestep_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_de_pipelinestep_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_de_pipelinestep_id_seq OWNER TO postgres; + +-- +-- Name: pxy_de_pipelinestep_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_de_pipelinestep_id_seq OWNED BY public.pxy_de_pipelinestep.id; + + +-- +-- Name: pxy_langchain_aiassistant; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_langchain_aiassistant ( + id bigint NOT NULL, + name text, + description text, + model_name text, + api_key text, + provider_id bigint, + created_at timestamp with time zone, + updated_at timestamp with time zone, + neo4j_profile_id bigint, + uses_graph boolean +); + + +ALTER TABLE public.pxy_langchain_aiassistant OWNER TO postgres; + +-- +-- Name: pxy_langchain_aiassistant_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_langchain_aiassistant_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_langchain_aiassistant_id_seq OWNER TO postgres; + +-- +-- Name: pxy_langchain_aiassistant_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_langchain_aiassistant_id_seq OWNED BY public.pxy_langchain_aiassistant.id; + + +-- +-- Name: pxy_langchain_aiprovider; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_langchain_aiprovider ( + id bigint NOT NULL, + description text, + name text +); + + +ALTER TABLE public.pxy_langchain_aiprovider OWNER TO postgres; + +-- +-- Name: pxy_langchain_aiprovider_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_langchain_aiprovider_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_langchain_aiprovider_id_seq OWNER TO postgres; + +-- +-- Name: pxy_langchain_aiprovider_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_langchain_aiprovider_id_seq OWNED BY public.pxy_langchain_aiprovider.id; + + +-- +-- Name: pxy_meta_pages_facebookpageassistant; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_meta_pages_facebookpageassistant ( + id bigint NOT NULL, + page_id text, + page_name text, + created_at timestamp with time zone, + updated_at timestamp with time zone, + assistant_id bigint, + is_subscribed boolean +); + + +ALTER TABLE public.pxy_meta_pages_facebookpageassistant OWNER TO postgres; + +-- +-- Name: pxy_meta_pages_facebookpageassistant_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_meta_pages_facebookpageassistant_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_meta_pages_facebookpageassistant_id_seq OWNER TO postgres; + +-- +-- Name: pxy_meta_pages_facebookpageassistant_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_meta_pages_facebookpageassistant_id_seq OWNED BY public.pxy_meta_pages_facebookpageassistant.id; + + +-- +-- Name: pxy_neo4j_neo4jprofile; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_neo4j_neo4jprofile ( + id bigint NOT NULL, + name text, + uri text, + username text, + password text, + openai_api_key text, + model_name text +); + + +ALTER TABLE public.pxy_neo4j_neo4jprofile OWNER TO postgres; + +-- +-- Name: pxy_neo4j_neo4jprofile_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_neo4j_neo4jprofile_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_neo4j_neo4jprofile_id_seq OWNER TO postgres; + +-- +-- Name: pxy_neo4j_neo4jprofile_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_neo4j_neo4jprofile_id_seq OWNED BY public.pxy_neo4j_neo4jprofile.id; + + +-- +-- Name: pxy_openai_openaiassistant; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_openai_openaiassistant ( + id bigint NOT NULL, + name text, + description text, + api_key text, + assistant_id text, + created_at timestamp with time zone, + updated_at timestamp with time zone +); + + +ALTER TABLE public.pxy_openai_openaiassistant OWNER TO postgres; + +-- +-- Name: pxy_openai_openaiassistant_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_openai_openaiassistant_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_openai_openaiassistant_id_seq OWNER TO postgres; + +-- +-- Name: pxy_openai_openaiassistant_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_openai_openaiassistant_id_seq OWNED BY public.pxy_openai_openaiassistant.id; + + +-- +-- Name: pxy_whatsapp_whatsappbot; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.pxy_whatsapp_whatsappbot ( + id bigint NOT NULL, + name text, + phone_number_id text, + graph_api_token text, + is_active boolean, + webhook_verify_token text, + assistant_id bigint +); + + +ALTER TABLE public.pxy_whatsapp_whatsappbot OWNER TO postgres; + +-- +-- Name: pxy_whatsapp_whatsappbot_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.pxy_whatsapp_whatsappbot_id_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.pxy_whatsapp_whatsappbot_id_seq OWNER TO postgres; + +-- +-- Name: pxy_whatsapp_whatsappbot_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.pxy_whatsapp_whatsappbot_id_seq OWNED BY public.pxy_whatsapp_whatsappbot.id; + + +-- +-- Name: auth_group id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group ALTER COLUMN id SET DEFAULT nextval('public.auth_group_id_seq'::regclass); + + +-- +-- Name: auth_group_permissions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group_permissions ALTER COLUMN id SET DEFAULT nextval('public.auth_group_permissions_id_seq'::regclass); + + +-- +-- Name: auth_permission id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_permission ALTER COLUMN id SET DEFAULT nextval('public.auth_permission_id_seq'::regclass); + + +-- +-- Name: auth_user id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user ALTER COLUMN id SET DEFAULT nextval('public.auth_user_id_seq'::regclass); + + +-- +-- Name: auth_user_groups id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_groups ALTER COLUMN id SET DEFAULT nextval('public.auth_user_groups_id_seq'::regclass); + + +-- +-- Name: auth_user_user_permissions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_user_permissions ALTER COLUMN id SET DEFAULT nextval('public.auth_user_user_permissions_id_seq'::regclass); + + +-- +-- Name: core_category id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.core_category ALTER COLUMN id SET DEFAULT nextval('public.core_category_id_seq'::regclass); + + +-- +-- Name: core_usermenu id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.core_usermenu ALTER COLUMN id SET DEFAULT nextval('public.core_usermenu_id_seq'::regclass); + + +-- +-- Name: django_admin_log id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_admin_log ALTER COLUMN id SET DEFAULT nextval('public.django_admin_log_id_seq'::regclass); + + +-- +-- Name: django_content_type id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_content_type ALTER COLUMN id SET DEFAULT nextval('public.django_content_type_id_seq'::regclass); + + +-- +-- Name: django_migrations id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_migrations ALTER COLUMN id SET DEFAULT nextval('public.django_migrations_id_seq'::regclass); + + +-- +-- Name: pxy_bots_telegrambot id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_bots_telegrambot ALTER COLUMN id SET DEFAULT nextval('public.pxy_bots_telegrambot_id_seq'::regclass); + + +-- +-- Name: pxy_de_pipelineproductrun id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelineproductrun ALTER COLUMN id SET DEFAULT nextval('public.pxy_de_pipelineproductrun_id_seq'::regclass); + + +-- +-- Name: pxy_de_pipelinerun id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelinerun ALTER COLUMN id SET DEFAULT nextval('public.pxy_de_pipelinerun_id_seq'::regclass); + + +-- +-- Name: pxy_de_pipelinestep id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelinestep ALTER COLUMN id SET DEFAULT nextval('public.pxy_de_pipelinestep_id_seq'::regclass); + + +-- +-- Name: pxy_langchain_aiassistant id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiassistant ALTER COLUMN id SET DEFAULT nextval('public.pxy_langchain_aiassistant_id_seq'::regclass); + + +-- +-- Name: pxy_langchain_aiprovider id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiprovider ALTER COLUMN id SET DEFAULT nextval('public.pxy_langchain_aiprovider_id_seq'::regclass); + + +-- +-- Name: pxy_meta_pages_facebookpageassistant id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_meta_pages_facebookpageassistant ALTER COLUMN id SET DEFAULT nextval('public.pxy_meta_pages_facebookpageassistant_id_seq'::regclass); + + +-- +-- Name: pxy_neo4j_neo4jprofile id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_neo4j_neo4jprofile ALTER COLUMN id SET DEFAULT nextval('public.pxy_neo4j_neo4jprofile_id_seq'::regclass); + + +-- +-- Name: pxy_openai_openaiassistant id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_openai_openaiassistant ALTER COLUMN id SET DEFAULT nextval('public.pxy_openai_openaiassistant_id_seq'::regclass); + + +-- +-- Name: pxy_whatsapp_whatsappbot id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_whatsapp_whatsappbot ALTER COLUMN id SET DEFAULT nextval('public.pxy_whatsapp_whatsappbot_id_seq'::regclass); + + +-- +-- Data for Name: auth_group; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_group (id, name) FROM stdin; +\. + + +-- +-- Data for Name: auth_group_permissions; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_group_permissions (id, group_id, permission_id) FROM stdin; +\. + + +-- +-- Data for Name: auth_permission; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_permission (id, content_type_id, codename, name) FROM stdin; +1 1 add_logentry Can add log entry +2 1 change_logentry Can change log entry +3 1 delete_logentry Can delete log entry +4 1 view_logentry Can view log entry +5 2 add_permission Can add permission +6 2 change_permission Can change permission +7 2 delete_permission Can delete permission +8 2 view_permission Can view permission +9 3 add_group Can add group +10 3 change_group Can change group +11 3 delete_group Can delete group +12 3 view_group Can view group +13 4 add_user Can add user +14 4 change_user Can change user +15 4 delete_user Can delete user +16 4 view_user Can view user +17 5 add_contenttype Can add content type +18 5 change_contenttype Can change content type +19 5 delete_contenttype Can delete content type +20 5 view_contenttype Can view content type +21 6 add_session Can add session +22 6 change_session Can change session +23 6 delete_session Can delete session +24 6 view_session Can view session +25 7 add_category Can add category +26 7 change_category Can change category +27 7 delete_category Can delete category +28 7 view_category Can view category +29 8 add_usermenu Can add user menu +30 8 change_usermenu Can change user menu +31 8 delete_usermenu Can delete user menu +32 8 view_usermenu Can view user menu +33 9 add_pipelinerun Can add pipeline run +34 9 change_pipelinerun Can change pipeline run +35 9 delete_pipelinerun Can delete pipeline run +36 9 view_pipelinerun Can view pipeline run +37 10 add_pipelineproductrun Can add pipeline product run +38 10 change_pipelineproductrun Can change pipeline product run +39 10 delete_pipelineproductrun Can delete pipeline product run +40 10 view_pipelineproductrun Can view pipeline product run +41 11 add_pipelinestep Can add pipeline step +42 11 change_pipelinestep Can change pipeline step +43 11 delete_pipelinestep Can delete pipeline step +44 11 view_pipelinestep Can view pipeline step +45 12 add_telegrambot Can add telegram bot +46 12 change_telegrambot Can change telegram bot +47 12 delete_telegrambot Can delete telegram bot +48 12 view_telegrambot Can view telegram bot +49 13 add_openaiassistant Can add open ai assistant +50 13 change_openaiassistant Can change open ai assistant +51 13 delete_openaiassistant Can delete open ai assistant +52 13 view_openaiassistant Can view open ai assistant +53 14 add_whatsappbot Can add whats app bot +54 14 change_whatsappbot Can change whats app bot +55 14 delete_whatsappbot Can delete whats app bot +56 14 view_whatsappbot Can view whats app bot +57 15 add_facebookpageassistant Can add facebook page assistant +58 15 change_facebookpageassistant Can change facebook page assistant +59 15 delete_facebookpageassistant Can delete facebook page assistant +60 15 view_facebookpageassistant Can view facebook page assistant +61 16 add_aiassistant Can add ai assistant +62 16 change_aiassistant Can change ai assistant +63 16 delete_aiassistant Can delete ai assistant +64 16 view_aiassistant Can view ai assistant +65 17 add_aiprovider Can add ai provider +66 17 change_aiprovider Can change ai provider +67 17 delete_aiprovider Can delete ai provider +68 17 view_aiprovider Can view ai provider +69 18 add_neo4jprofile Can add neo4j profile +70 18 change_neo4jprofile Can change neo4j profile +71 18 delete_neo4jprofile Can delete neo4j profile +72 18 view_neo4jprofile Can view neo4j profile +\. + + +-- +-- Data for Name: auth_user; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_user (id, password, last_login, is_superuser, username, last_name, email, is_staff, is_active, date_joined, first_name) FROM stdin; +1 pbkdf2_sha256$720000$0hadfe1JkiOZDizgCLP9v9$zuC8b0o65hZmlBgRnk7uHy8abCn8xamXZKlO04I/EQg= 2025-01-30 17:15:51.060058+00 t ekaropolus edgar@hadox.org t t 2024-03-16 19:50:08.631965+00 +2 pbkdf2_sha256$720000$gmI9203wYNN5ecb3w8mLRG$L8VACNSpXBx1K2fw2eOKxiEz1YHLrmfm5/Qxfp3FmRY= 2025-02-21 19:42:38.644858+00 t ekaroadmin t t 2025-02-21 19:39:44.962626+00 +\. + + +-- +-- Data for Name: auth_user_groups; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_user_groups (id, user_id, group_id) FROM stdin; +\. + + +-- +-- Data for Name: auth_user_user_permissions; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.auth_user_user_permissions (id, user_id, permission_id) FROM stdin; +\. + + +-- +-- Data for Name: core_category; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.core_category (id, name, description) FROM stdin; +22 Transforming Urban Futures Empowering communities to reshape their neighborhoods into thriving, secure places. +23 Homes for All Creating housing solutions that everyone can call home, focusing on sustainability and inclusivity. +24 Green Urban Investments Investing in the future of cities with sustainable and fair financing solutions for urban projects. +25 Smart Cities for Smart Citizens Harnessing the power of technology to make cities smarter, greener, and more inclusive for everyone. +\. + + +-- +-- Data for Name: core_usermenu; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.core_usermenu (id, title, "order", description, icon, image, url, url_text, category_id) FROM stdin; +50 Know Your Rights: Legal Guide 0 Starting with a simple app, we guide you through local laws on land use, evolving to a platform where you can chat with AI for personalized advice and even meet experts virtually! gavel #legal-guide Lauch 22 +51 Unlock Public Lands 0 Discover public lands for housing with our interactive map, dive into virtual tours of potential sites, and finally, plan your housing project with cutting-edge simulation tools! map #unlock-public-lands Lauch 22 +52 Learn & Transform 0 Start with online tutorials about improving neighborhoods, level up to game-like learning experiences, and join a community platform to share ideas and learn through immersive simulations! school #learn-transform Lauch 22 +53 Urban Fabric Regenerator 0 Urban Fabric Regenerator integrates A-Frame for an immersive XR/VR/AR experience, allowing scientists and urban planners to virtually navigate and interact with complex urban simulations. Leveraging SymPy for precise mathematical modeling and NetLogo for dynamic ecosystem simulations, this platform provides a comprehensive tool for envisioning and testing urban regeneration scenarios. OpenAI's advanced AI assists in generating realistic urban landscapes and analyzing data, making it an indispensable tool for cutting-edge urban studies. science #urban-fabric-regenerator Lauch 22 +54 Your Housing Rights 0 Start with a handy resource hub on housing rights, get personalized advice from our AI-driven service, and dive into discussions and stories on our interactive community platform! info #housing-rights Lauch 23 +55 Design Inclusive Homes 0 From basic design guidelines to a dynamic tool predicting the impact of policies, create inclusive housing projects with our advanced digital twin technology! group_add #inclusive-homes Lauch 23 +56 Climate-Ready Homes 0 Learn about climate-resilient housing practices, evaluate your projects for climate readiness, and test designs against future climate scenarios with our advanced simulation tools! eco #climate-ready-homes Lauch 23 +57 Habitat Harmonizer 0 Habitat Harmonizer combines the immersive power of A-Frame with the analytical strengths of SymPy and the simulation capabilities of NetLogo, creating a virtual environment where housing ecosystems can be designed, tested, and optimized. This platform uses OpenAI's generative AI to visualize sustainable living spaces, offering a unique blend of technology and science to architects and environmental scientists. It stands as a beacon for the future of inclusive and eco-friendly housing. biotech #habitat-harmonizer Lauch 23 +58 Fund Your Sustainable Project 0 Explore funding opportunities in our database, get matched with the right investors through our AI system, and join a network where your projects meet sustainability-focused financing! attach_money #fund-sustainable Lauch 24 +59 Plan with Resilience 0 Access a toolkit filled with resources for sustainable planning, use our interactive tool for resilience analysis, and create and visualize resilient urban plans with state-of-the-art technology! build_circle #plan-resilience Lauch 24 +60 Inclusive Climate Action 0 Join our forum to share and discover climate initiatives, connect with resources and collaborators through our AI matchmaking, and co-create climate solutions on our collaborative platform! public #climate-action Lauch 24 +61 EcoQuantum Fund Allocator 0 EcoQuantum Fund Allocator revolutionizes sustainable urban financing by incorporating A-Frame's XR/VR/AR technology for an immersive analysis of financial landscapes and environmental impacts. Supported by SymPy's financial algorithms and NetLogo's environmental simulations, it offers a multi-dimensional perspective on investments. OpenAI's AI enriches this platform by providing deep insights and forecasting, making it a pioneering tool for researchers and economists focused on green urban development. trending_up #ecoquantum-fund-allocator Lauch 24 +62 Discover Smart Living 0 Dive into our resource hub to learn about smart city tech, join interactive courses to see these technologies in action, and experience smart city life through virtual reality tours! local_library #discover-smart Lauch 25 +63 Inclusion in the Digital Age 0 Discuss and learn about making technology accessible for all in our online forum, get personalized tech recommendations from AI, and co-create inclusive tech solutions with the community! forum #inclusion-digital Lauch 25 +64 Eco-Friendly Urban Simulations 0 Start with basic simulations to understand urban impacts, use data science for in-depth sustainability analysis, and explore and test eco-friendly urban designs with our immersive simulation platform! timeline #eco-friendly-simulations Lauch 25 +65 IntelliGrid Architect 0 IntelliGrid Architect leverages A-Frame to provide an XR/VR/AR-enabled platform for designing next-generation smart grids within an interactive, three-dimensional space. Combined with the computational power of SymPy and the agent-based modeling of NetLogo, it offers a sandbox for innovation in urban energy systems. OpenAI's technologies enhance this experience by generating predictive models and visualizations, making it a groundbreaking tool for engineers and technologists dedicated to sustainable urban infrastructure. grid_on #intelligrid-architect Lauch 25 +\. + + +-- +-- Data for Name: django_admin_log; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.django_admin_log (id, object_id, object_repr, action_flag, change_message, content_type_id, user_id, action_time) FROM stdin; +1 1 fasdfadsf 1 [{"added": {}}] 7 1 2024-03-16 20:15:27.507133+00 +2 1 fasdfadsf 3 7 1 2024-03-16 20:22:53.51+00 +3 2 Interactive City Modeling 1 [{"added": {}}] 7 1 2024-03-16 20:24:11.924736+00 +4 1 City Simulation Engine 1 [{"added": {}}] 8 1 2024-03-16 20:24:44.568303+00 +5 1 City Simulation Engine 2 [{"changed": {"fields": ["Image"]}}] 8 1 2024-03-16 21:43:45.945403+00 +6 1 f471586a-c708-45c0-b31a-86fd46057600 1 [{"added": {}}] 9 1 2024-03-17 00:46:15.043334+00 +7 2 Error 3 11 1 2024-03-17 00:55:31.068636+00 +8 1 Fetch Data 3 11 1 2024-03-17 00:55:31.086568+00 +9 5 6f6266ad-2e1b-4dd6-a537-6820a3754443 - Error in Create Categories 3 10 1 2024-03-17 00:56:11.580722+00 +10 4 6f6266ad-2e1b-4dd6-a537-6820a3754443 - Fetch Data 3 10 1 2024-03-17 00:56:11.599191+00 +11 4 6f6266ad-2e1b-4dd6-a537-6820a3754443 3 9 1 2024-03-17 00:56:18.64019+00 +12 3 6d3c9c77-fdc4-4b67-adba-0bc7cf21bcd6 3 9 1 2024-03-17 00:56:18.659805+00 +13 2 595d9758-64eb-451a-95d8-cb20aeca2d1d 3 9 1 2024-03-17 00:56:18.675501+00 +14 1 f471586a-c708-45c0-b31a-86fd46057600 3 9 1 2024-03-17 00:56:18.692085+00 +15 4 Error in Create Categories 3 11 1 2024-03-17 00:56:24.700599+00 +16 3 Fetch Data 3 11 1 2024-03-17 00:56:24.717931+00 +17 5 dd412b1b-40b4-470c-89a3-ede9433d2518 1 [{"added": {}}] 9 1 2024-03-17 00:56:35.669731+00 +18 6 Error in Create Categories 3 11 1 2024-03-17 01:04:22.490627+00 +19 5 Fetch Data 3 11 1 2024-03-17 01:04:22.520455+00 +20 7 68564d6c-cbd7-4444-94ba-130affcc0494 3 9 1 2024-03-17 01:04:35.248198+00 +21 6 b5d12c51-9a3f-4ec4-baa5-c342474e2e2b 3 9 1 2024-03-17 01:04:35.266505+00 +22 7 Educational and Training Modules 3 7 1 2024-03-17 01:06:32.040211+00 +23 6 Urban Planning and Management Interface 3 7 1 2024-03-17 01:06:32.065871+00 +24 5 Data Analytics and Predictive Modeling Tools 3 7 1 2024-03-17 01:06:32.085966+00 +25 4 VR/AR Urban Visualization Platforms 3 7 1 2024-03-17 01:06:32.103568+00 +26 3 3D AI Simulations Software 3 7 1 2024-03-17 01:06:32.122256+00 +27 2 Interactive City Modeling 3 7 1 2024-03-17 01:06:32.143422+00 +28 12 e3a0572a-2872-4539-a25c-9cf8f1f6d21d - Error in Create User Menus 3 10 1 2024-03-17 01:06:51.793788+00 +29 11 e3a0572a-2872-4539-a25c-9cf8f1f6d21d - Create Categories 3 10 1 2024-03-17 01:06:51.817306+00 +30 10 e3a0572a-2872-4539-a25c-9cf8f1f6d21d - Fetch Data 3 10 1 2024-03-17 01:06:51.834613+00 +31 9 Error in Create User Menus 3 11 1 2024-03-17 01:07:00.906331+00 +32 8 Create Categories 3 11 1 2024-03-17 01:07:00.924162+00 +33 7 Fetch Data 3 11 1 2024-03-17 01:07:00.943658+00 +34 8 e3a0572a-2872-4539-a25c-9cf8f1f6d21d 3 9 1 2024-03-17 01:07:08.112379+00 +35 12 Create User Menus 3 11 1 2024-03-17 04:01:06.406036+00 +36 11 Create Categories 3 11 1 2024-03-17 04:01:06.435131+00 +37 10 Fetch Data 3 11 1 2024-03-17 04:01:06.455307+00 +38 9 b4b1bf13-e4db-41bc-b45a-cb6359ed63ac 3 9 1 2024-03-17 04:01:20.926083+00 +39 12 Educational and Training Modules 3 7 1 2024-03-17 04:01:32.155247+00 +40 11 Urban Planning and Management Interface 3 7 1 2024-03-17 04:01:32.1738+00 +41 10 Data Analytics and Predictive Modeling Tools 3 7 1 2024-03-17 04:01:32.190737+00 +42 9 VR/AR Urban Visualization Platforms 3 7 1 2024-03-17 04:01:32.206639+00 +43 8 3D AI Simulations Software 3 7 1 2024-03-17 04:01:32.223257+00 +44 13 Realistic Rendering 3 8 1 2024-03-18 17:23:38.318029+00 +45 12 Generative AI 3 8 1 2024-03-18 17:23:38.34412+00 +46 22 Interactive 3D City Maps 2 [{"changed": {"fields": ["Order"]}}] 8 1 2024-03-18 17:25:20.182762+00 +47 23 Generative Scenario Visualization 2 [{"changed": {"fields": ["Order"]}}] 8 1 2024-03-18 17:25:34.135964+00 +48 24 Advanced Urban Simulation 2 [{"changed": {"fields": ["Order"]}}] 8 1 2024-03-18 17:25:51.172569+00 +49 25 Polisplexity Digital Twin 2 [{"changed": {"fields": ["Order"]}}] 8 1 2024-03-18 17:25:58.828934+00 +50 15 Augmented Reality 3 8 1 2024-03-18 18:31:18.171252+00 +51 14 Virtual Reality Tech 3 8 1 2024-03-18 18:31:18.194381+00 +52 17 Predictive Models 3 8 1 2024-03-18 18:49:14.402011+00 +53 16 Big Data Analytics 3 8 1 2024-03-18 18:49:14.423356+00 +54 17 Educational and Training Modules 3 7 1 2024-03-18 18:55:37.821961+00 +55 19 Interactive Dashboards 3 8 1 2024-03-18 18:55:51.574077+00 +56 18 Cloud Computing 3 8 1 2024-03-18 18:55:51.59537+00 +57 16 Urban Planning and Management Interface 3 7 1 2024-03-18 19:15:09.644012+00 +58 15 Data Analytics and Predictive Modeling Tools 3 7 1 2024-03-18 19:15:09.66644+00 +59 14 VR/AR Urban Visualization Platforms 3 7 1 2024-03-18 19:15:09.69284+00 +60 13 3D AI Simulations Software 3 7 1 2024-03-18 19:15:09.71143+00 +61 14 1f3bd6f2-a5ad-458e-a2da-db3029bfde1b 3 9 1 2024-03-18 19:15:35.103368+00 +62 13 1e4d1713-4bda-4701-bf4f-ad22eb3e4b46 3 9 1 2024-03-18 19:15:35.123204+00 +63 12 1fb06c89-55b8-453b-a74d-a66a699c02aa 3 9 1 2024-03-18 19:15:35.138855+00 +64 11 ea1d0a2d-eb20-4a37-b29a-479429c03534 3 9 1 2024-03-18 19:15:35.154306+00 +65 10 1808a8d1-f8e5-45f8-9ee2-7b30acd250fb 3 9 1 2024-03-18 19:15:35.170085+00 +66 21 Person-Centered Smart Cities 3 7 1 2024-03-18 19:41:10.06097+00 +67 20 Urban and Climate Financing Solutions 3 7 1 2024-03-18 19:41:10.082336+00 +68 19 Adequate Housing Solutions 3 7 1 2024-03-18 19:41:10.101069+00 +69 18 Urban Crisis Solutions 3 7 1 2024-03-18 19:41:10.120991+00 +70 1 PolisplexityBot (@PolisplexityBot) 1 [{"added": {}}] 12 1 2025-01-16 13:42:34.047667+00 +71 1 Dr. Ekaropolus 1 [{"added": {}}] 13 1 2025-01-16 18:13:40.900244+00 +72 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Name"]}}] 13 1 2025-01-16 18:14:02.485403+00 +73 1 Dr. Dr. Ekaropolus 1 [{"added": {}}] 14 1 2025-01-16 22:24:48.066084+00 +74 1 Dr. Dr. Ekaropolus 3 14 1 2025-01-16 22:30:59.009412+00 +75 1 Dr. Dr. Ekaropolus 1 [{"added": {}}] 14 1 2025-01-16 22:36:06.765893+00 +76 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Phone number id"]}}] 14 1 2025-01-16 22:50:03.032049+00 +77 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Is active"]}}] 14 1 2025-01-16 22:59:56.047202+00 +78 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 01:26:25.489972+00 +79 1 Patito Consulting (391198281307800) -> Dr. Dr. Ekaropolus 1 [{"added": {}}] 15 1 2025-01-25 04:09:20.421255+00 +80 1 Patito Consulting 2 [{"changed": {"fields": ["Name"]}}] 13 1 2025-01-25 04:10:07.431916+00 +81 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Name"]}}] 13 1 2025-01-25 04:10:24.174273+00 +82 2 Patito Consulting 1 [{"added": {}}] 13 1 2025-01-25 04:11:16.754745+00 +83 3 Polisplexity 1 [{"added": {}}] 13 1 2025-01-25 04:11:45.030513+00 +84 4 Neurolitiks University 1 [{"added": {}}] 13 1 2025-01-25 04:12:22.966381+00 +85 5 Hadox 1 [{"added": {}}] 13 1 2025-01-25 04:12:55.990439+00 +86 6 The AP Foundation 1 [{"added": {}}] 13 1 2025-01-25 04:13:19.806499+00 +87 1 Patito Consulting (391198281307800) -> Patito Consulting 2 [{"changed": {"fields": ["Assistant"]}}] 15 1 2025-01-25 04:13:37.72098+00 +88 2 The AP Foundation (240725076598985) -> The AP Foundation 1 [{"added": {}}] 15 1 2025-01-25 04:14:05.686283+00 +89 3 Neurolitiks University (1775505595802690) -> Neurolitiks University 1 [{"added": {}}] 15 1 2025-01-25 04:14:25.534086+00 +90 4 Polisplexity (2001899753359253) -> Polisplexity 1 [{"added": {}}] 15 1 2025-01-25 04:14:48.76837+00 +91 4 Neurolitiks University 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:21:47.404829+00 +92 2 Patito Consulting 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:22:04.964064+00 +93 5 Hadox 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:22:19.745784+00 +94 3 Polisplexity 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:22:34.077429+00 +95 6 The AP Foundation 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:22:45.405619+00 +96 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-25 04:23:16.743671+00 +97 6 The AP Foundation 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-28 18:10:30.376292+00 +98 5 Hadox 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-28 18:10:36.261807+00 +99 4 Neurolitiks University 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-28 18:10:42.118444+00 +100 3 Polisplexity 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-28 18:10:50.865585+00 +101 2 Patito Consulting 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-28 18:10:55.983657+00 +102 1 Dr. Dr. Ekaropolus 2 [] 13 1 2025-01-28 18:11:00.813057+00 +103 1 Patito Consulting (391198281307800) -> Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Assistant"]}}] 15 1 2025-01-28 18:15:51.015359+00 +104 1 Patito Consulting (391198281307800) -> Patito Consulting 2 [{"changed": {"fields": ["Assistant"]}}] 15 1 2025-01-28 18:17:51.050626+00 +105 1 Dr. Dr. Ekaropolus 3 14 1 2025-01-28 18:31:33.579259+00 +106 1 Dr. Dr. Ekaropolus 1 [{"added": {}}] 14 1 2025-01-28 18:35:32.584238+00 +107 1 Dr. Dr. Ekaropolus 2 [] 14 1 2025-01-28 18:43:26.36204+00 +108 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Is active"]}}] 14 1 2025-01-28 18:43:37.812073+00 +109 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Assistant"]}}] 14 1 2025-01-28 18:47:54.671711+00 +110 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Assistant"]}}] 14 1 2025-01-28 18:48:52.098532+00 +111 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant"]}}] 12 1 2025-01-28 21:51:26.917321+00 +112 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant"]}}] 12 1 2025-01-28 21:52:44.123533+00 +113 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant"]}}] 12 1 2025-01-28 21:54:22.195563+00 +114 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant"]}}] 12 1 2025-01-28 22:42:07.882037+00 +115 1 OpenAI 1 [{"added": {}}] 17 1 2025-01-29 01:56:59.235244+00 +116 1 OpenAI Assistant (OpenAI) 1 [{"added": {}}] 16 1 2025-01-29 01:58:21.357922+00 +117 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant type"]}}] 12 1 2025-01-29 02:24:56.52717+00 +118 1 PolisplexityBot (@PolisplexityBot) 2 [] 12 1 2025-01-29 02:25:04.545986+00 +119 1 PolisplexityBot (@PolisplexityBot) 2 [{"changed": {"fields": ["Assistant type"]}}] 12 1 2025-01-29 02:29:37.483524+00 +120 1 PolisplexityBot (@PolisplexityBot) 2 [] 12 1 2025-01-29 03:09:23.762181+00 +121 2 DeepSeek 1 [{"added": {}}] 17 1 2025-01-29 03:15:55.715755+00 +122 2 DeepSeek Assistant (deepseek-chat) 1 [{"added": {}}] 16 1 2025-01-29 03:22:42.587635+00 +123 1 Polisplexity Assistant (gpt-4o-mini) 2 [{"changed": {"fields": ["Name", "Description"]}}] 16 1 2025-01-29 03:23:37.298889+00 +124 4 Polisplexity (2001899753359253) -> Polisplexity 2 [] 15 1 2025-01-29 04:55:08.422753+00 +125 5 Dr. Dr. Ekaropolus (556453867548815) -> Dr. Dr. Ekaropolus 1 [{"added": {}}] 15 1 2025-01-29 04:55:36.768076+00 +126 5 Hadox 2 [] 13 1 2025-01-30 01:57:43.732953+00 +127 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-30 01:58:24.9558+00 +128 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Assistant id"]}}] 13 1 2025-01-30 01:58:35.515854+00 +129 1 Dr. Dr. Ekaropolus 2 [{"changed": {"fields": ["Description"]}}] 13 1 2025-01-30 02:28:39.999525+00 +130 1 DefaultNeo4jProfile | Model: gpt-4o-mini 1 [{"added": {}}] 18 1 2025-01-31 17:27:30.786298+00 +131 1 DefaultNeo4jProfile | Model: gpt-4o-mini 2 [{"changed": {"fields": ["password"]}}] 18 1 2025-01-31 17:29:37.857217+00 +132 1 DefaultNeo4jProfile | Model: gpt-4o-mini 2 [] 18 1 2025-01-31 17:32:41.533823+00 +133 1 DefaultNeo4jProfile | Model: gpt-4o-mini 2 [] 18 1 2025-01-31 17:32:54.002194+00 +134 1 DefaultNeo4jProfile | Model: gpt-4o-mini 2 [{"changed": {"fields": ["Uri"]}}] 18 1 2025-01-31 17:35:17.832291+00 +135 1 Polisplexity Assistant (gpt-4o-mini) 2 [{"changed": {"fields": ["Uses graph", "Neo4j profile"]}}] 16 1 2025-02-09 15:07:32.461512+00 +136 1 Polisplexity Assistant (gpt-4o-mini) 2 [] 16 1 2025-02-09 15:12:09.726962+00 +\. + + +-- +-- Data for Name: django_content_type; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.django_content_type (id, app_label, model) FROM stdin; +1 admin logentry +2 auth permission +3 auth group +4 auth user +5 contenttypes contenttype +6 sessions session +7 core category +8 core usermenu +9 pxy_de pipelinerun +10 pxy_de pipelineproductrun +11 pxy_de pipelinestep +12 pxy_bots telegrambot +13 pxy_openai openaiassistant +14 pxy_whatsapp whatsappbot +15 pxy_meta_pages facebookpageassistant +16 pxy_langchain aiassistant +17 pxy_langchain aiprovider +18 pxy_neo4j neo4jprofile +\. + + +-- +-- Data for Name: django_migrations; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.django_migrations (id, app, name, applied) FROM stdin; +1 contenttypes 0001_initial 2024-03-16 19:49:29.992327+00 +2 auth 0001_initial 2024-03-16 19:49:30.035407+00 +3 admin 0001_initial 2024-03-16 19:49:30.075321+00 +4 admin 0002_logentry_remove_auto_add 2024-03-16 19:49:30.104845+00 +5 admin 0003_logentry_add_action_flag_choices 2024-03-16 19:49:30.123983+00 +6 contenttypes 0002_remove_content_type_name 2024-03-16 19:49:30.156945+00 +7 auth 0002_alter_permission_name_max_length 2024-03-16 19:49:30.187529+00 +8 auth 0003_alter_user_email_max_length 2024-03-16 19:49:30.211923+00 +9 auth 0004_alter_user_username_opts 2024-03-16 19:49:30.234126+00 +10 auth 0005_alter_user_last_login_null 2024-03-16 19:49:30.270979+00 +11 auth 0006_require_contenttypes_0002 2024-03-16 19:49:30.286239+00 +12 auth 0007_alter_validators_add_error_messages 2024-03-16 19:49:30.31029+00 +13 auth 0008_alter_user_username_max_length 2024-03-16 19:49:30.338961+00 +14 auth 0009_alter_user_last_name_max_length 2024-03-16 19:49:30.363661+00 +15 auth 0010_alter_group_name_max_length 2024-03-16 19:49:30.387432+00 +16 auth 0011_update_proxy_permissions 2024-03-16 19:49:30.405721+00 +17 auth 0012_alter_user_first_name_max_length 2024-03-16 19:49:30.43227+00 +18 sessions 0001_initial 2024-03-16 19:49:30.461603+00 +19 core 0001_initial 2024-03-16 20:14:42.639872+00 +20 core 0002_usermenu 2024-03-16 20:22:17.468497+00 +21 pxy_de 0001_initial 2024-03-16 23:57:05.077756+00 +22 pxy_bots 0001_initial 2025-01-16 12:39:48.952926+00 +23 pxy_openai 0001_initial 2025-01-16 18:10:48.291052+00 +24 pxy_bots 0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more 2025-01-16 19:50:01.791278+00 +25 pxy_whatsapp 0001_initial 2025-01-16 19:50:01.820716+00 +26 pxy_whatsapp 0002_whatsappbot_webhook_verify_token_and_more 2025-01-16 22:35:04.740855+00 +27 pxy_meta_pages 0001_initial 2025-01-25 04:06:48.63353+00 +28 pxy_whatsapp 0003_whatsappbot_assistant 2025-01-28 18:34:28.240481+00 +29 pxy_bots 0003_telegrambot_assistant 2025-01-28 21:47:09.599938+00 +30 pxy_langchain 0001_initial 2025-01-29 01:49:43.923703+00 +31 pxy_bots 0004_remove_telegrambot_assistant_and_more 2025-01-29 02:08:44.364141+00 +32 pxy_langchain 0002_remove_aiprovider_base_url_aiassistant_created_at_and_more 2025-01-29 03:06:29.270658+00 +33 pxy_bots 0005_remove_telegrambot_assistant_id_and_more 2025-01-29 03:08:29.600079+00 +34 pxy_meta_pages 0002_facebookpageassistant_is_subscribed 2025-01-29 04:44:52.167651+00 +35 pxy_neo4j 0001_initial 2025-01-31 17:10:18.724113+00 +36 pxy_langchain 0003_aiassistant_neo4j_profile_aiassistant_uses_graph 2025-02-09 15:01:24.175204+00 +\. + + +-- +-- Data for Name: django_session; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.django_session (session_key, session_data, expire_date) FROM stdin; +lq105wf1zk14xxz53q77s912xx23bl7g .eJxVjDEOwyAQBP9CHSHAYCBler8BHccRnEQgGbuK8vfYkouk2WJndt8swLaWsHVawpzYlUl2-e0i4JPqAdID6r1xbHVd5sgPhZ-086klet1O9--gQC_7OlohlYS8hxVmzOSNkoTDkLPzwmjrtQZUCseYXETpiGxMKSufkYgE-3wBzvo4YA:1rla2w:dYEAZcaH4mDkBmc-JQ_Tx7WttqPT2AN1fkwwIRKAcO4 2024-03-30 19:50:22.344501+00 +eggbrbp6ddfthxjq0q9db1ayxm8tuuux .eJxVjDEOwyAQBP9CHSHAYCBler8BHccRnEQgGbuK8vfYkouk2WJndt8swLaWsHVawpzYlUl2-e0i4JPqAdID6r1xbHVd5sgPhZ-086klet1O9--gQC_7OlohlYS8hxVmzOSNkoTDkLPzwmjrtQZUCseYXETpiGxMKSufkYgE-3wBzvo4YA:1rlxai:hXKgCtBk6eTjIiJYaN7DzoD8SfqCKLIE-nbnJ2jBJBY 2024-03-31 20:58:48.803173+00 +bjfktuvrdygg4eu6q62r33kybypflnha .eJxVjDEOwyAQBP9CHSHAYCBler8BHccRnEQgGbuK8vfYkouk2WJndt8swLaWsHVawpzYlUl2-e0i4JPqAdID6r1xbHVd5sgPhZ-086klet1O9--gQC_7OlohlYS8hxVmzOSNkoTDkLPzwmjrtQZUCseYXETpiGxMKSufkYgE-3wBzvo4YA:1rmGhN:3ydW-kMhTu6jVPVtkDwmC_PeZI5wGUelAAR6KNU-h2c 2024-04-01 17:22:57.251842+00 +zhx2n8i7l7gwli5o11bf94reg8aji4d6 .eJxVjEEOwiAUBe_C2pACpZ-6dN8zkAf8StXQpLQr490NSRe6fTPz3sLj2LM_Km9-SeIqlLj8bgHxyaWB9EC5rzKuZd-WIJsiT1rltCZ-3U737yCj5lY7jqofkQwbHTQlKEsxIYBc7KzpeoAYLqiREKwiMzA5S7MdtIuYxecL_sU4Xw:1tYPEQ:f2WLTgEcll4EjLiVp0BeVs7tMPjgIc0dhUeQXBtCAto 2025-01-30 12:44:18.026237+00 +01sjsebqcgdpopiddc2v0v53uzfx10oq .eJxVjEEOwiAUBe_C2pACpZ-6dN8zkAf8StXQpLQr490NSRe6fTPz3sLj2LM_Km9-SeIqlLj8bgHxyaWB9EC5rzKuZd-WIJsiT1rltCZ-3U737yCj5lY7jqofkQwbHTQlKEsxIYBc7KzpeoAYLqiREKwiMzA5S7MdtIuYxecL_sU4Xw:1tdY8t:iqb8MKgFrRCyr6tWzw_4ELQ5a9LFJRGfDufUgkERlFQ 2025-02-13 17:15:51.080532+00 +6fpel6jlgmpe5ifbnjpit4d2xcezyu1e .eJxVjMsOwiAQRf-FtSEt5TG4dO83kGEYpGogKe3K-O_apAvd3nPOfYmA21rC1nkJcxJnocTpd4tID647SHestyap1XWZo9wVedAury3x83K4fwcFe_nWxF6DAWM1ADqOyucRmBxN1jsYB5szoZ8MJTd4HcEoVjwhZoo-MrF4fwDd6jiL:1tlYv0:j-Q5msilA6aJkrkEHQm3t1dCvKtBa842rp_WgBo4sCk 2025-03-07 19:42:38.650135+00 +\. + + +-- +-- Data for Name: pxy_bots_telegrambot; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_bots_telegrambot (id, name, username, token, is_active, assistant_id) FROM stdin; +1 PolisplexityBot PolisplexityBot 6474402815:AAHCSXM7VKwyj5-lVh8p3365eRQ5Nj94H4I t 1 +\. + + +-- +-- Data for Name: pxy_de_pipelineproductrun; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_de_pipelineproductrun (id, status, date, pipeline_run_id, step_id) FROM stdin; +31 Success 2024-03-18 19:15:45.565095+00 15 13 +32 Success 2024-03-18 19:15:45.725504+00 15 14 +33 Success 2024-03-18 19:15:46.060082+00 15 15 +34 Success 2024-03-18 20:39:09.851189+00 16 13 +35 Success 2024-03-18 20:39:10.002499+00 16 14 +36 Success 2024-03-18 20:39:10.482308+00 16 15 +\. + + +-- +-- Data for Name: pxy_de_pipelinerun; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_de_pipelinerun (id, run_identifier, overall_status, date) FROM stdin; +5 dd412b1b40b4470c89a3ede9433d2518 All 2024-03-17 00:56:35.664953+00 +15 041ae1489b724249a7b0f38c57694d24 Success 2024-03-18 19:15:44.951099+00 +16 f017d146cce64a679446630434643d38 Success 2024-03-18 20:39:09.145937+00 +\. + + +-- +-- Data for Name: pxy_de_pipelinestep; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_de_pipelinestep (id, name, description) FROM stdin; +13 Fetch Data \N +14 Create Categories \N +15 Create User Menus \N +\. + + +-- +-- Data for Name: pxy_langchain_aiassistant; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_langchain_aiassistant (id, name, description, model_name, api_key, provider_id, created_at, updated_at, neo4j_profile_id, uses_graph) FROM stdin; +1 Polisplexity Assistant You are Urbanista, a thoughtful and optimistic assistant for the U4MX Facebook page. Your role is to engage users about urban sustainability, innovation, and city science. Use an inspirational and civic-minded tone.\r\n\r\nGuidelines:\r\n1. Responses should be short (1–2 sentences).\r\n2. Use emojis like 🏙️, 🌱, or 🚶‍♂️ to highlight urban themes.\r\n3. Focus on sustainability, urban challenges, and emerging city technologies.\r\n4. Encourage audience interaction and discussion. gpt-4o-mini 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 1 2025-01-29 03:06:29.243431+00 2025-02-09 15:12:09.722445+00 1 t +2 DeepSeek Assistant DeepSeek AI provides advanced open-source chat models optimized for reasoning, coding, and general conversations. It supports structured tool calling and token-level streaming. deepseek-chat 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 2 2025-01-29 03:22:42.58379+00 2025-01-29 03:22:42.583819+00 \N f +\. + + +-- +-- Data for Name: pxy_langchain_aiprovider; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_langchain_aiprovider (id, description, name) FROM stdin; +1 OpenAI provides powerful LLMs like GPT-4 and GPT-3.5 OpenAI +2 DeepSeek AI provides state-of-the-art open-source chat models. DeepSeek +\. + + +-- +-- Data for Name: pxy_meta_pages_facebookpageassistant; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_meta_pages_facebookpageassistant (id, page_id, page_name, created_at, updated_at, assistant_id, is_subscribed) FROM stdin; +1 391198281307800 Patito Consulting 2025-01-25 04:09:20.41713+00 2025-01-30 02:59:21.59642+00 2 t +2 240725076598985 The AP Foundation 2025-01-25 04:14:05.661493+00 2025-01-30 02:59:20.427962+00 6 t +3 1775505595802690 Neurolitiks University 2025-01-25 04:14:25.530549+00 2025-01-30 02:59:19.740889+00 4 t +4 2001899753359253 Polisplexity 2025-01-25 04:14:48.76462+00 2025-01-30 02:59:19.090691+00 3 t +5 556453867548815 Dr. Dr. Ekaropolus 2025-01-29 04:55:36.763877+00 2025-01-30 02:59:17.535022+00 1 t +\. + + +-- +-- Data for Name: pxy_neo4j_neo4jprofile; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_neo4j_neo4jprofile (id, name, uri, username, password, openai_api_key, model_name) FROM stdin; +1 DefaultNeo4jProfile neo4j+s://74d433fb.databases.neo4j.io neo4j 4Y5-ppefHkgEiLr-l0qzbf8wNJw0zkOmRmk7cSkSrTg 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 gpt-4o-mini +\. + + +-- +-- Data for Name: pxy_openai_openaiassistant; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_openai_openaiassistant (id, name, description, api_key, assistant_id, created_at, updated_at) FROM stdin; +1 Dr. Dr. Ekaropolus You are Dr. Dr. Ekaropolus, a science-hustling, connection-making assistant for social media and messaging platforms. Your mission is to educate, connect, and sell, all while keeping it fun and engaging.\r\n\r\nGuidelines:\r\n1️⃣ Responses should be concise (1–2 sentences).\r\n2️⃣ Use emojis like 🔬🚀🤝 to emphasize science, innovation, and collaboration.\r\n3️⃣ Always connect users to a scientist, research center, or project from your database.\r\n4️⃣ Sneak in a fun science fact to keep things engaging.\r\n\r\nDr. Dr. Ekaropolus makes science fun, keeps the system connected, and always closes a deal! 🚀😎 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 \N 2025-01-16 18:13:40.892022+00 2025-01-30 02:28:39.994967+00 +2 Patito Consulting You are PatBot, a witty and sarcastic assistant for the Patito Consulting Facebook page. Your role is to entertain and resonate with consultants by sharing humor about consulting life, SAP systems, and the challenges of the profession. Use a playful and conversational tone.\r\n\r\nGuidelines:\r\n1. Responses should be no more than 2 sentences.\r\n2. Use humor and sarcasm appropriately to connect with the audience.\r\n3. Include relatable memes or exaggerations about consulting.\r\n4. Avoid overly technical explanations; focus on humor and relatability. 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 \N 2025-01-25 04:11:16.750408+00 2025-01-28 18:10:55.978168+00 +3 Polisplexity You are Urbanista, a thoughtful and optimistic assistant for the U4MX Facebook page. Your role is to engage users about urban sustainability, innovation, and city science. Use an inspirational and civic-minded tone.\r\n\r\nGuidelines:\r\n1. Responses should be short (1–2 sentences).\r\n2. Use emojis like 🏙️, 🌱, or 🚶‍♂️ to highlight urban themes.\r\n3. Focus on sustainability, urban challenges, and emerging city technologies.\r\n4. Encourage audience interaction and discussion. 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 \N 2025-01-25 04:11:45.027291+00 2025-01-28 18:10:50.861035+00 +4 Neurolitiks University You are TechBridge, a professional and inspiring assistant for the ML4MX Facebook page. Your purpose is to engage users with short, enthusiastic responses about Machine Learning, promote curiosity, and celebrate Mexican researchers. Use an encouraging tone and provide simplified, insightful answers.\r\n\r\nGuidelines:\r\n1. Responses should be no more than 2 sentences.\r\n2. Use emojis sparingly to highlight key ideas (e.g., 🌟, 🤖, 🚀).\r\n3. Avoid jargon; simplify technical terms for a general audience.\r\n4. Focus on Machine Learning, AI, and the achievements of Mexican researchers. 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 \N 2025-01-25 04:12:22.96198+00 2025-01-28 18:10:42.114926+00 +5 Hadox You are HadoxAI, a visionary and solutions-focused assistant for the Hadox Facebook page. Your role is to educate users about AI, data engineering, and complexity science while inspiring them to think about tech’s positive impact. Use a professional and insightful tone.\r\n\r\nGuidelines:\r\n1. Responses should be concise (1–2 sentences).\r\n2. Use emojis like 🤖, 🌍, or 💡 to emphasize innovation and impact.\r\n3. Provide actionable insights or inspiring facts related to AI and open technologies.\r\n4. Avoid deep technical jargon; focus on the bigger picture. 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 \N 2025-01-25 04:12:55.986094+00 2025-01-30 01:57:43.727434+00 +6 The AP Foundation You are NodoBot, a friendly and collaborative assistant for the Nodo Guanajuato Facebook page. Your role is to celebrate Guanajuato’s talent, foster collaboration, and promote cultural pride. Use a warm and community-focused tone.\r\n\r\nGuidelines:\r\n1. Responses should be concise (1–2 sentences).\r\n2. Use emojis like 🎉, 🌟, or 🤝 to highlight community and pride.\r\n3. Focus on Guanajuato’s achievements, collaborations, and culture.\r\n4. Encourage user participation and storytelling. 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 \N 2025-01-25 04:13:19.803233+00 2025-01-28 18:10:30.370577+00 +\. + + +-- +-- Data for Name: pxy_whatsapp_whatsappbot; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.pxy_whatsapp_whatsappbot (id, name, phone_number_id, graph_api_token, is_active, webhook_verify_token, assistant_id) FROM stdin; +1 Dr. Dr. Ekaropolus 526059387259621 EABZBLTtUC8YkBOZCvMwwVLB4OtfT6ZArtKsT3awKvzOsvzAvjeLLPEr1eiKdwvZBMMdml9iQ1v6GfNmUQ7ilAKMonjAE05A3NndPDwuOfAoGxT6ZB12KPT7lWjMZAIpOYepj0Ol77OrDJ6GZAIAuKKuQRK7Vm34UxdUcl5QbXwZATCegt1Pj4TqakVJ353luWJyAsAZDZD t a8f5f167f44f4964e6c998dee827110c 1 +\. + + +-- +-- Name: auth_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_group_id_seq', 1, true); + + +-- +-- Name: auth_group_permissions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_group_permissions_id_seq', 1, true); + + +-- +-- Name: auth_permission_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_permission_id_seq', 72, true); + + +-- +-- Name: auth_user_groups_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_user_groups_id_seq', 1, true); + + +-- +-- Name: auth_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_user_id_seq', 2, true); + + +-- +-- Name: auth_user_user_permissions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.auth_user_user_permissions_id_seq', 1, true); + + +-- +-- Name: core_category_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.core_category_id_seq', 25, true); + + +-- +-- Name: core_usermenu_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.core_usermenu_id_seq', 65, true); + + +-- +-- Name: django_admin_log_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.django_admin_log_id_seq', 136, true); + + +-- +-- Name: django_content_type_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.django_content_type_id_seq', 18, true); + + +-- +-- Name: django_migrations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.django_migrations_id_seq', 36, true); + + +-- +-- Name: pxy_bots_telegrambot_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_bots_telegrambot_id_seq', 1, true); + + +-- +-- Name: pxy_de_pipelineproductrun_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_de_pipelineproductrun_id_seq', 36, true); + + +-- +-- Name: pxy_de_pipelinerun_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_de_pipelinerun_id_seq', 16, true); + + +-- +-- Name: pxy_de_pipelinestep_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_de_pipelinestep_id_seq', 15, true); + + +-- +-- Name: pxy_langchain_aiassistant_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_langchain_aiassistant_id_seq', 2, true); + + +-- +-- Name: pxy_langchain_aiprovider_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_langchain_aiprovider_id_seq', 2, true); + + +-- +-- Name: pxy_meta_pages_facebookpageassistant_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_meta_pages_facebookpageassistant_id_seq', 5, true); + + +-- +-- Name: pxy_neo4j_neo4jprofile_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_neo4j_neo4jprofile_id_seq', 1, true); + + +-- +-- Name: pxy_openai_openaiassistant_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_openai_openaiassistant_id_seq', 6, true); + + +-- +-- Name: pxy_whatsapp_whatsappbot_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.pxy_whatsapp_whatsappbot_id_seq', 1, true); + + +-- +-- Name: django_migrations idx_16386_django_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_migrations + ADD CONSTRAINT idx_16386_django_migrations_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_group_permissions idx_16393_auth_group_permissions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group_permissions + ADD CONSTRAINT idx_16393_auth_group_permissions_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_user_groups idx_16398_auth_user_groups_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_groups + ADD CONSTRAINT idx_16398_auth_user_groups_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_user_user_permissions idx_16403_auth_user_user_permissions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_user_permissions + ADD CONSTRAINT idx_16403_auth_user_user_permissions_pkey PRIMARY KEY (id); + + +-- +-- Name: django_admin_log idx_16408_django_admin_log_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_admin_log + ADD CONSTRAINT idx_16408_django_admin_log_pkey PRIMARY KEY (id); + + +-- +-- Name: django_content_type idx_16415_django_content_type_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_content_type + ADD CONSTRAINT idx_16415_django_content_type_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_permission idx_16422_auth_permission_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_permission + ADD CONSTRAINT idx_16422_auth_permission_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_group idx_16429_auth_group_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group + ADD CONSTRAINT idx_16429_auth_group_pkey PRIMARY KEY (id); + + +-- +-- Name: auth_user idx_16436_auth_user_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user + ADD CONSTRAINT idx_16436_auth_user_pkey PRIMARY KEY (id); + + +-- +-- Name: django_session idx_16442_sqlite_autoindex_django_session_1; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_session + ADD CONSTRAINT idx_16442_sqlite_autoindex_django_session_1 PRIMARY KEY (session_key); + + +-- +-- Name: core_category idx_16448_core_category_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.core_category + ADD CONSTRAINT idx_16448_core_category_pkey PRIMARY KEY (id); + + +-- +-- Name: core_usermenu idx_16455_core_usermenu_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.core_usermenu + ADD CONSTRAINT idx_16455_core_usermenu_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_de_pipelinerun idx_16462_pxy_de_pipelinerun_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelinerun + ADD CONSTRAINT idx_16462_pxy_de_pipelinerun_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_de_pipelinestep idx_16469_pxy_de_pipelinestep_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelinestep + ADD CONSTRAINT idx_16469_pxy_de_pipelinestep_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_de_pipelineproductrun idx_16476_pxy_de_pipelineproductrun_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelineproductrun + ADD CONSTRAINT idx_16476_pxy_de_pipelineproductrun_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_openai_openaiassistant idx_16483_pxy_openai_openaiassistant_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_openai_openaiassistant + ADD CONSTRAINT idx_16483_pxy_openai_openaiassistant_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_whatsapp_whatsappbot idx_16490_pxy_whatsapp_whatsappbot_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_whatsapp_whatsappbot + ADD CONSTRAINT idx_16490_pxy_whatsapp_whatsappbot_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_langchain_aiprovider idx_16497_pxy_langchain_aiprovider_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiprovider + ADD CONSTRAINT idx_16497_pxy_langchain_aiprovider_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_bots_telegrambot idx_16504_pxy_bots_telegrambot_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_bots_telegrambot + ADD CONSTRAINT idx_16504_pxy_bots_telegrambot_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_meta_pages_facebookpageassistant idx_16511_pxy_meta_pages_facebookpageassistant_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_meta_pages_facebookpageassistant + ADD CONSTRAINT idx_16511_pxy_meta_pages_facebookpageassistant_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_neo4j_neo4jprofile idx_16518_pxy_neo4j_neo4jprofile_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_neo4j_neo4jprofile + ADD CONSTRAINT idx_16518_pxy_neo4j_neo4jprofile_pkey PRIMARY KEY (id); + + +-- +-- Name: pxy_langchain_aiassistant idx_16525_pxy_langchain_aiassistant_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiassistant + ADD CONSTRAINT idx_16525_pxy_langchain_aiassistant_pkey PRIMARY KEY (id); + + +-- +-- Name: idx_16393_auth_group_permissions_group_id_b120cbf9; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16393_auth_group_permissions_group_id_b120cbf9 ON public.auth_group_permissions USING btree (group_id); + + +-- +-- Name: idx_16393_auth_group_permissions_group_id_permission_id_0cd325b; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16393_auth_group_permissions_group_id_permission_id_0cd325b ON public.auth_group_permissions USING btree (group_id, permission_id); + + +-- +-- Name: idx_16393_auth_group_permissions_permission_id_84c5c92e; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16393_auth_group_permissions_permission_id_84c5c92e ON public.auth_group_permissions USING btree (permission_id); + + +-- +-- Name: idx_16398_auth_user_groups_group_id_97559544; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16398_auth_user_groups_group_id_97559544 ON public.auth_user_groups USING btree (group_id); + + +-- +-- Name: idx_16398_auth_user_groups_user_id_6a12ed8b; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16398_auth_user_groups_user_id_6a12ed8b ON public.auth_user_groups USING btree (user_id); + + +-- +-- Name: idx_16398_auth_user_groups_user_id_group_id_94350c0c_uniq; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16398_auth_user_groups_user_id_group_id_94350c0c_uniq ON public.auth_user_groups USING btree (user_id, group_id); + + +-- +-- Name: idx_16403_auth_user_user_permissions_permission_id_1fbb5f2c; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16403_auth_user_user_permissions_permission_id_1fbb5f2c ON public.auth_user_user_permissions USING btree (permission_id); + + +-- +-- Name: idx_16403_auth_user_user_permissions_user_id_a95ead1b; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16403_auth_user_user_permissions_user_id_a95ead1b ON public.auth_user_user_permissions USING btree (user_id); + + +-- +-- Name: idx_16403_auth_user_user_permissions_user_id_permission_id_14a6; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16403_auth_user_user_permissions_user_id_permission_id_14a6 ON public.auth_user_user_permissions USING btree (user_id, permission_id); + + +-- +-- Name: idx_16408_django_admin_log_content_type_id_c4bce8eb; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16408_django_admin_log_content_type_id_c4bce8eb ON public.django_admin_log USING btree (content_type_id); + + +-- +-- Name: idx_16408_django_admin_log_user_id_c564eba6; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16408_django_admin_log_user_id_c564eba6 ON public.django_admin_log USING btree (user_id); + + +-- +-- Name: idx_16415_django_content_type_app_label_model_76bd3d3b_uniq; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16415_django_content_type_app_label_model_76bd3d3b_uniq ON public.django_content_type USING btree (app_label, model); + + +-- +-- Name: idx_16422_auth_permission_content_type_id_2f476e4b; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16422_auth_permission_content_type_id_2f476e4b ON public.auth_permission USING btree (content_type_id); + + +-- +-- Name: idx_16422_auth_permission_content_type_id_codename_01ab375a_uni; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16422_auth_permission_content_type_id_codename_01ab375a_uni ON public.auth_permission USING btree (content_type_id, codename); + + +-- +-- Name: idx_16429_sqlite_autoindex_auth_group_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16429_sqlite_autoindex_auth_group_1 ON public.auth_group USING btree (name); + + +-- +-- Name: idx_16436_sqlite_autoindex_auth_user_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16436_sqlite_autoindex_auth_user_1 ON public.auth_user USING btree (username); + + +-- +-- Name: idx_16442_django_session_expire_date_a5c62663; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16442_django_session_expire_date_a5c62663 ON public.django_session USING btree (expire_date); + + +-- +-- Name: idx_16455_core_usermenu_category_id_2fdef06d; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16455_core_usermenu_category_id_2fdef06d ON public.core_usermenu USING btree (category_id); + + +-- +-- Name: idx_16462_sqlite_autoindex_pxy_de_pipelinerun_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16462_sqlite_autoindex_pxy_de_pipelinerun_1 ON public.pxy_de_pipelinerun USING btree (run_identifier); + + +-- +-- Name: idx_16476_pxy_de_pipelineproductrun_pipeline_run_id_dca31b98; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16476_pxy_de_pipelineproductrun_pipeline_run_id_dca31b98 ON public.pxy_de_pipelineproductrun USING btree (pipeline_run_id); + + +-- +-- Name: idx_16476_pxy_de_pipelineproductrun_step_id_0d8c2caa; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16476_pxy_de_pipelineproductrun_step_id_0d8c2caa ON public.pxy_de_pipelineproductrun USING btree (step_id); + + +-- +-- Name: idx_16483_sqlite_autoindex_pxy_openai_openaiassistant_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16483_sqlite_autoindex_pxy_openai_openaiassistant_1 ON public.pxy_openai_openaiassistant USING btree (name); + + +-- +-- Name: idx_16490_pxy_whatsapp_whatsappbot_assistant_id_03961f72; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16490_pxy_whatsapp_whatsappbot_assistant_id_03961f72 ON public.pxy_whatsapp_whatsappbot USING btree (assistant_id); + + +-- +-- Name: idx_16490_sqlite_autoindex_pxy_whatsapp_whatsappbot_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16490_sqlite_autoindex_pxy_whatsapp_whatsappbot_1 ON public.pxy_whatsapp_whatsappbot USING btree (name); + + +-- +-- Name: idx_16497_sqlite_autoindex_pxy_langchain_aiprovider_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16497_sqlite_autoindex_pxy_langchain_aiprovider_1 ON public.pxy_langchain_aiprovider USING btree (name); + + +-- +-- Name: idx_16504_pxy_bots_telegrambot_assistant_id_cf79dc8d; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16504_pxy_bots_telegrambot_assistant_id_cf79dc8d ON public.pxy_bots_telegrambot USING btree (assistant_id); + + +-- +-- Name: idx_16504_sqlite_autoindex_pxy_bots_telegrambot_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16504_sqlite_autoindex_pxy_bots_telegrambot_1 ON public.pxy_bots_telegrambot USING btree (name); + + +-- +-- Name: idx_16504_sqlite_autoindex_pxy_bots_telegrambot_2; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16504_sqlite_autoindex_pxy_bots_telegrambot_2 ON public.pxy_bots_telegrambot USING btree (username); + + +-- +-- Name: idx_16504_sqlite_autoindex_pxy_bots_telegrambot_3; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16504_sqlite_autoindex_pxy_bots_telegrambot_3 ON public.pxy_bots_telegrambot USING btree (token); + + +-- +-- Name: idx_16511_pxy_meta_pages_facebookpageassistant_assistant_id_911; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16511_pxy_meta_pages_facebookpageassistant_assistant_id_911 ON public.pxy_meta_pages_facebookpageassistant USING btree (assistant_id); + + +-- +-- Name: idx_16511_sqlite_autoindex_pxy_meta_pages_facebookpageassistant; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16511_sqlite_autoindex_pxy_meta_pages_facebookpageassistant ON public.pxy_meta_pages_facebookpageassistant USING btree (page_id); + + +-- +-- Name: idx_16518_sqlite_autoindex_pxy_neo4j_neo4jprofile_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16518_sqlite_autoindex_pxy_neo4j_neo4jprofile_1 ON public.pxy_neo4j_neo4jprofile USING btree (name); + + +-- +-- Name: idx_16525_pxy_langchain_aiassistant_neo4j_profile_id_13889865; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16525_pxy_langchain_aiassistant_neo4j_profile_id_13889865 ON public.pxy_langchain_aiassistant USING btree (neo4j_profile_id); + + +-- +-- Name: idx_16525_pxy_langchain_aiassistant_provider_id_0feef4b1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX idx_16525_pxy_langchain_aiassistant_provider_id_0feef4b1 ON public.pxy_langchain_aiassistant USING btree (provider_id); + + +-- +-- Name: idx_16525_sqlite_autoindex_pxy_langchain_aiassistant_1; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE UNIQUE INDEX idx_16525_sqlite_autoindex_pxy_langchain_aiassistant_1 ON public.pxy_langchain_aiassistant USING btree (name); + + +-- +-- Name: auth_group_permissions auth_group_permissions_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group_permissions + ADD CONSTRAINT auth_group_permissions_group_id_fkey FOREIGN KEY (group_id) REFERENCES public.auth_group(id); + + +-- +-- Name: auth_group_permissions auth_group_permissions_permission_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_group_permissions + ADD CONSTRAINT auth_group_permissions_permission_id_fkey FOREIGN KEY (permission_id) REFERENCES public.auth_permission(id); + + +-- +-- Name: auth_permission auth_permission_content_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_permission + ADD CONSTRAINT auth_permission_content_type_id_fkey FOREIGN KEY (content_type_id) REFERENCES public.django_content_type(id); + + +-- +-- Name: auth_user_groups auth_user_groups_group_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_groups + ADD CONSTRAINT auth_user_groups_group_id_fkey FOREIGN KEY (group_id) REFERENCES public.auth_group(id); + + +-- +-- Name: auth_user_groups auth_user_groups_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_groups + ADD CONSTRAINT auth_user_groups_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.auth_user(id); + + +-- +-- Name: auth_user_user_permissions auth_user_user_permissions_permission_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_user_permissions + ADD CONSTRAINT auth_user_user_permissions_permission_id_fkey FOREIGN KEY (permission_id) REFERENCES public.auth_permission(id); + + +-- +-- Name: auth_user_user_permissions auth_user_user_permissions_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.auth_user_user_permissions + ADD CONSTRAINT auth_user_user_permissions_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.auth_user(id); + + +-- +-- Name: core_usermenu core_usermenu_category_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.core_usermenu + ADD CONSTRAINT core_usermenu_category_id_fkey FOREIGN KEY (category_id) REFERENCES public.core_category(id); + + +-- +-- Name: django_admin_log django_admin_log_content_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_admin_log + ADD CONSTRAINT django_admin_log_content_type_id_fkey FOREIGN KEY (content_type_id) REFERENCES public.django_content_type(id); + + +-- +-- Name: django_admin_log django_admin_log_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.django_admin_log + ADD CONSTRAINT django_admin_log_user_id_fkey FOREIGN KEY (user_id) REFERENCES public.auth_user(id); + + +-- +-- Name: pxy_bots_telegrambot pxy_bots_telegrambot_assistant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_bots_telegrambot + ADD CONSTRAINT pxy_bots_telegrambot_assistant_id_fkey FOREIGN KEY (assistant_id) REFERENCES public.pxy_langchain_aiassistant(id); + + +-- +-- Name: pxy_de_pipelineproductrun pxy_de_pipelineproductrun_pipeline_run_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelineproductrun + ADD CONSTRAINT pxy_de_pipelineproductrun_pipeline_run_id_fkey FOREIGN KEY (pipeline_run_id) REFERENCES public.pxy_de_pipelinerun(id); + + +-- +-- Name: pxy_de_pipelineproductrun pxy_de_pipelineproductrun_step_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_de_pipelineproductrun + ADD CONSTRAINT pxy_de_pipelineproductrun_step_id_fkey FOREIGN KEY (step_id) REFERENCES public.pxy_de_pipelinestep(id); + + +-- +-- Name: pxy_langchain_aiassistant pxy_langchain_aiassistant_neo4j_profile_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiassistant + ADD CONSTRAINT pxy_langchain_aiassistant_neo4j_profile_id_fkey FOREIGN KEY (neo4j_profile_id) REFERENCES public.pxy_neo4j_neo4jprofile(id); + + +-- +-- Name: pxy_langchain_aiassistant pxy_langchain_aiassistant_provider_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_langchain_aiassistant + ADD CONSTRAINT pxy_langchain_aiassistant_provider_id_fkey FOREIGN KEY (provider_id) REFERENCES public.pxy_langchain_aiprovider(id); + + +-- +-- Name: pxy_meta_pages_facebookpageassistant pxy_meta_pages_facebookpageassistant_assistant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_meta_pages_facebookpageassistant + ADD CONSTRAINT pxy_meta_pages_facebookpageassistant_assistant_id_fkey FOREIGN KEY (assistant_id) REFERENCES public.pxy_openai_openaiassistant(id); + + +-- +-- Name: pxy_whatsapp_whatsappbot pxy_whatsapp_whatsappbot_assistant_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.pxy_whatsapp_whatsappbot + ADD CONSTRAINT pxy_whatsapp_whatsappbot_assistant_id_fkey FOREIGN KEY (assistant_id) REFERENCES public.pxy_openai_openaiassistant(id); + + +-- +-- PostgreSQL database dump complete +-- + diff --git a/pxy_bots/__init__.py b/pxy_bots/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_bots/__pycache__/__init__.cpython-310.pyc b/pxy_bots/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..22613ba Binary files /dev/null and b/pxy_bots/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/admin.cpython-310.pyc b/pxy_bots/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..daaf50e Binary files /dev/null and b/pxy_bots/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/apps.cpython-310.pyc b/pxy_bots/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..708322c Binary files /dev/null and b/pxy_bots/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/handlers.cpython-310.pyc b/pxy_bots/__pycache__/handlers.cpython-310.pyc new file mode 100644 index 0000000..e297ee2 Binary files /dev/null and b/pxy_bots/__pycache__/handlers.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/models.cpython-310.pyc b/pxy_bots/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..4b0ca40 Binary files /dev/null and b/pxy_bots/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/urls.cpython-310.pyc b/pxy_bots/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..2044c62 Binary files /dev/null and b/pxy_bots/__pycache__/urls.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/utils.cpython-310.pyc b/pxy_bots/__pycache__/utils.cpython-310.pyc new file mode 100644 index 0000000..d6efd91 Binary files /dev/null and b/pxy_bots/__pycache__/utils.cpython-310.pyc differ diff --git a/pxy_bots/__pycache__/views.cpython-310.pyc b/pxy_bots/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..7637473 Binary files /dev/null and b/pxy_bots/__pycache__/views.cpython-310.pyc differ diff --git a/pxy_bots/admin.py b/pxy_bots/admin.py new file mode 100644 index 0000000..3147e30 --- /dev/null +++ b/pxy_bots/admin.py @@ -0,0 +1,52 @@ +from django.contrib import admin +from .models import TelegramBot +from django.utils.html import format_html + +@admin.register(TelegramBot) +class TelegramBotAdmin(admin.ModelAdmin): + list_display = ("name", "username", "is_active", "get_assistant_name", "set_webhook_action") + search_fields = ("name", "username") + list_filter = ("is_active",) + actions = ["set_webhooks"] + + @admin.action(description="Set webhooks for selected bots") + def set_webhooks(self, request, queryset): + base_url = request.build_absolute_uri("/")[:-1] # Get base server URL + results = [] + for bot in queryset: + if bot.is_active: + try: + result = bot.set_webhook(base_url) + self.message_user( + request, + f"Webhook set for {bot.name}: {result}", + level="success", + ) + except Exception as e: + self.message_user( + request, + f"Failed to set webhook for {bot.name}: {str(e)}", + level="error", + ) + results.append(result) + else: + self.message_user( + request, + f"Skipped inactive bot: {bot.name}", + level="warning", + ) + + def get_assistant_name(self, obj): + """Show the name of the assistant linked to the bot.""" + return obj.assistant.name if obj.assistant else "None" + + get_assistant_name.short_description = "Assistant Name" + + def set_webhook_action(self, obj): + """Button in the Django admin to manually trigger webhook setup.""" + return format_html( + 'Set Webhook', + f"/admin/pxy_bots/set_webhook/{obj.id}/" + ) + + set_webhook_action.short_description = "Webhook" diff --git a/pxy_bots/apps.py b/pxy_bots/apps.py new file mode 100644 index 0000000..b21ee60 --- /dev/null +++ b/pxy_bots/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyBotsConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_bots" diff --git a/pxy_bots/handlers.py b/pxy_bots/handlers.py new file mode 100644 index 0000000..a08e5ef --- /dev/null +++ b/pxy_bots/handlers.py @@ -0,0 +1,73 @@ +from telegram import Update, ForceReply +import logging +from pxy_openai.assistants import OpenAIAssistant +from .models import TelegramBot +from asgiref.sync import sync_to_async +from pxy_langchain.models import AIAssistant +from pxy_langchain.services import LangchainAIService + + + +logger = logging.getLogger(__name__) + +async def dream_city_command(update: Update): + """Send a message with a link to the random city generator.""" + message = ( + "Descubre la ciudad de tus sueños! Haz clic en el enlace para explorar una ciudad generada aleatoriamente que podría reflejar tus aspiraciones urbanas: " + "https://app.polisplexity.tech/city/digital/twin/dream/?innovation=30&technology=30&science=40" + ) + await update.message.reply_text(message) + + +async def start(update: Update): + """Send a message when the command /start is issued.""" + user = update.effective_user + await update.message.reply_html( + rf"Hi {user.mention_html()}!", + reply_markup=ForceReply(selective=True), + ) + + +async def help_command(update: Update): + """Send a message when the command /help is issued.""" + user = update.effective_user + await update.message.reply_text(f"Help! How can I assist you, {user.first_name}?") + + +async def handle_location(update: Update): + """Respond to a location message.""" + location = update.message.location + if location: + await update.message.reply_text( + f"Thanks for sharing your location! Latitude: {location.latitude}, Longitude: {location.longitude}" + ) + else: + await update.message.reply_text("Please share your location.") + + +async def respond(update, bot_name): + """Respond to user messages using the LangChain AI service.""" + try: + user_message = update.message.text + + # Fetch the Telegram bot and its assigned AI assistant asynchronously + telegram_bot = await sync_to_async(TelegramBot.objects.get)(name=bot_name, is_active=True) + + if not telegram_bot.assistant: + raise ValueError(f"No assistant configured for bot '{bot_name}'.") + + # Fetch the AI assistant linked to this bot + assistant = await sync_to_async(AIAssistant.objects.get)(name=telegram_bot.assistant.name) + + # Initialize AI service + ai_service = LangchainAIService(assistant) + + # Generate response asynchronously + bot_response = await sync_to_async(ai_service.generate_response)(user_message) + + await update.message.reply_text(bot_response) + + except TelegramBot.DoesNotExist: + await update.message.reply_text(f"Bot '{bot_name}' not found or inactive.") + except Exception as e: + await update.message.reply_text(f"Oops! Something went wrong: {e}") diff --git a/pxy_bots/migrations/0001_initial.py b/pxy_bots/migrations/0001_initial.py new file mode 100644 index 0000000..edf0c72 --- /dev/null +++ b/pxy_bots/migrations/0001_initial.py @@ -0,0 +1,24 @@ +# Generated by Django 4.0.6 on 2025-01-16 12:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='TelegramBot', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(help_text="Name of the bot (e.g., 'SupportBot').", max_length=50, unique=True)), + ('username', models.CharField(help_text="The bot's Telegram username (e.g., 'SupportBot').", max_length=50, unique=True)), + ('token', models.CharField(help_text='Telegram Bot API token.', max_length=200, unique=True)), + ('is_active', models.BooleanField(default=True, help_text='Is this bot active?')), + ], + ), + ] diff --git a/pxy_bots/migrations/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.py b/pxy_bots/migrations/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.py new file mode 100644 index 0000000..a2c99a3 --- /dev/null +++ b/pxy_bots/migrations/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.py @@ -0,0 +1,43 @@ +# Generated by Django 5.0.3 on 2025-01-16 19:49 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_bots", "0001_initial"), + ] + + operations = [ + migrations.AlterField( + model_name="telegrambot", + name="is_active", + field=models.BooleanField( + default=True, help_text="Indicates if this bot is active." + ), + ), + migrations.AlterField( + model_name="telegrambot", + name="name", + field=models.CharField( + help_text="Bot name (e.g., 'SupportBot').", max_length=50, unique=True + ), + ), + migrations.AlterField( + model_name="telegrambot", + name="token", + field=models.CharField( + help_text="Telegram bot token.", max_length=200, unique=True + ), + ), + migrations.AlterField( + model_name="telegrambot", + name="username", + field=models.CharField( + help_text="Bot username (e.g., 'SupportBot').", + max_length=50, + unique=True, + ), + ), + ] diff --git a/pxy_bots/migrations/0003_telegrambot_assistant.py b/pxy_bots/migrations/0003_telegrambot_assistant.py new file mode 100644 index 0000000..cf8c18f --- /dev/null +++ b/pxy_bots/migrations/0003_telegrambot_assistant.py @@ -0,0 +1,30 @@ +# Generated by Django 5.0.3 on 2025-01-28 21:47 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "pxy_bots", + "0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more", + ), + ("pxy_openai", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="telegrambot", + name="assistant", + field=models.ForeignKey( + default=1, + help_text="The OpenAI assistant associated with this Telegram bot.", + on_delete=django.db.models.deletion.CASCADE, + related_name="telegram_bots", + to="pxy_openai.openaiassistant", + ), + preserve_default=False, + ), + ] diff --git a/pxy_bots/migrations/0004_remove_telegrambot_assistant_and_more.py b/pxy_bots/migrations/0004_remove_telegrambot_assistant_and_more.py new file mode 100644 index 0000000..f249700 --- /dev/null +++ b/pxy_bots/migrations/0004_remove_telegrambot_assistant_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 5.0.3 on 2025-01-29 02:08 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("contenttypes", "0002_remove_content_type_name"), + ("pxy_bots", "0003_telegrambot_assistant"), + ] + + operations = [ + migrations.RemoveField( + model_name="telegrambot", + name="assistant", + ), + migrations.AddField( + model_name="telegrambot", + name="assistant_id", + field=models.PositiveIntegerField( + default=1, help_text="The ID of the associated assistant." + ), + preserve_default=False, + ), + migrations.AddField( + model_name="telegrambot", + name="assistant_type", + field=models.ForeignKey( + default=1, + help_text="The assistant model type.", + on_delete=django.db.models.deletion.CASCADE, + to="contenttypes.contenttype", + ), + preserve_default=False, + ), + ] diff --git a/pxy_bots/migrations/0005_remove_telegrambot_assistant_id_and_more.py b/pxy_bots/migrations/0005_remove_telegrambot_assistant_id_and_more.py new file mode 100644 index 0000000..53d56b4 --- /dev/null +++ b/pxy_bots/migrations/0005_remove_telegrambot_assistant_id_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 5.0.3 on 2025-01-29 03:08 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_bots", "0004_remove_telegrambot_assistant_and_more"), + ( + "pxy_langchain", + "0002_remove_aiprovider_base_url_aiassistant_created_at_and_more", + ), + ] + + operations = [ + migrations.RemoveField( + model_name="telegrambot", + name="assistant_id", + ), + migrations.RemoveField( + model_name="telegrambot", + name="assistant_type", + ), + migrations.AddField( + model_name="telegrambot", + name="assistant", + field=models.ForeignKey( + default=1, + help_text="The LangChain AI assistant associated with this Telegram bot.", + on_delete=django.db.models.deletion.CASCADE, + related_name="telegram_bots", + to="pxy_langchain.aiassistant", + ), + preserve_default=False, + ), + ] diff --git a/pxy_bots/migrations/__init__.py b/pxy_bots/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_bots/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_bots/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..896b780 Binary files /dev/null and b/pxy_bots/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_bots/migrations/__pycache__/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.cpython-310.pyc b/pxy_bots/migrations/__pycache__/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.cpython-310.pyc new file mode 100644 index 0000000..501adf1 Binary files /dev/null and b/pxy_bots/migrations/__pycache__/0002_alter_telegrambot_is_active_alter_telegrambot_name_and_more.cpython-310.pyc differ diff --git a/pxy_bots/migrations/__pycache__/0003_telegrambot_assistant.cpython-310.pyc b/pxy_bots/migrations/__pycache__/0003_telegrambot_assistant.cpython-310.pyc new file mode 100644 index 0000000..28c07eb Binary files /dev/null and b/pxy_bots/migrations/__pycache__/0003_telegrambot_assistant.cpython-310.pyc differ diff --git a/pxy_bots/migrations/__pycache__/0004_remove_telegrambot_assistant_and_more.cpython-310.pyc b/pxy_bots/migrations/__pycache__/0004_remove_telegrambot_assistant_and_more.cpython-310.pyc new file mode 100644 index 0000000..f810772 Binary files /dev/null and b/pxy_bots/migrations/__pycache__/0004_remove_telegrambot_assistant_and_more.cpython-310.pyc differ diff --git a/pxy_bots/migrations/__pycache__/0005_remove_telegrambot_assistant_id_and_more.cpython-310.pyc b/pxy_bots/migrations/__pycache__/0005_remove_telegrambot_assistant_id_and_more.cpython-310.pyc new file mode 100644 index 0000000..832ec17 Binary files /dev/null and b/pxy_bots/migrations/__pycache__/0005_remove_telegrambot_assistant_id_and_more.cpython-310.pyc differ diff --git a/pxy_bots/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_bots/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..c171602 Binary files /dev/null and b/pxy_bots/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_bots/models.py b/pxy_bots/models.py new file mode 100644 index 0000000..4c24c92 --- /dev/null +++ b/pxy_bots/models.py @@ -0,0 +1,47 @@ +from django.db import models +from pxy_langchain.models import AIAssistant # Now referencing LangChain AI assistants + +class TelegramBot(models.Model): + """ + Represents a Telegram bot that interacts with users using a LangChain AI assistant. + """ + name = models.CharField(max_length=50, unique=True, help_text="Bot name (e.g., 'SupportBot').") + username = models.CharField(max_length=50, unique=True, help_text="Bot username (e.g., 'SupportBot').") + token = models.CharField(max_length=200, unique=True, help_text="Telegram bot token.") + is_active = models.BooleanField(default=True, help_text="Indicates if this bot is active.") + assistant = models.ForeignKey( + AIAssistant, + on_delete=models.CASCADE, + related_name="telegram_bots", + help_text="The LangChain AI assistant associated with this Telegram bot.", + ) + + def __str__(self): + return f"{self.name} (@{self.username})" + + @staticmethod + def get_bot_token(bot_name): + """Retrieve the token for the given bot name.""" + try: + bot = TelegramBot.objects.get(name=bot_name, is_active=True) + return bot.token + except TelegramBot.DoesNotExist: + raise ValueError(f"Bot with name '{bot_name}' not found or inactive.") + + def set_webhook(self, base_url): + """ + Set the webhook for this bot dynamically based on the server's base URL. + """ + if not self.is_active: + raise ValueError(f"Bot '{self.name}' is inactive. Activate it before setting the webhook.") + + webhook_url = f"{base_url}/bots/webhook/{self.name}/" + response = requests.post( + f"https://api.telegram.org/bot{self.token}/setWebhook", + data={"url": webhook_url} + ) + + if response.status_code == 200: + return response.json() + else: + raise ValueError(f"Failed to set webhook for {self.name}: {response.json()}") diff --git a/pxy_bots/set_webhook.py b/pxy_bots/set_webhook.py new file mode 100644 index 0000000..7565dab --- /dev/null +++ b/pxy_bots/set_webhook.py @@ -0,0 +1,16 @@ +import requests +from pxy_bots.models import TelegramBot + +BASE_URL = "https://your-domain.com/bots/webhook/" + +def set_telegram_webhooks(): + """Sets webhooks for all active bots.""" + bots = TelegramBot.objects.filter(is_active=True) + for bot in bots: + webhook_url = f"{BASE_URL}{bot.name}/" + response = requests.post( + f"https://api.telegram.org/bot{bot.token}/setWebhook", + data={"url": webhook_url} + ) + print(f"Webhook for {bot.name} ({bot.username}) set to: {webhook_url}") + print("Response:", response.json()) diff --git a/pxy_bots/telgram_bot.py b/pxy_bots/telgram_bot.py new file mode 100644 index 0000000..04a4696 --- /dev/null +++ b/pxy_bots/telgram_bot.py @@ -0,0 +1,209 @@ +import logging +from openai import OpenAI +from telegram import ForceReply, Update +from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters +import json +import random + +# Enable logging +logging.basicConfig( + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO +) +logger = logging.getLogger(__name__) + +async def dream_city_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Send a message with a link to the random city generator.""" + # Construct the message + message = ( + "Descubre la ciudad de tus sueños! Haz clic en el enlace para explorar una ciudad generada aleatoriamente que podría reflejar tus aspiraciones urbanas: " + "https://app.polisplexity.tech/city/digital/twin/dream/?innovation=30&technology=30&science=40" + ) + # Send the message + await update.message.reply_text(message) + + +async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Send a message when the command /start is issued.""" + user = update.effective_user + await update.message.reply_html( + rf"Hi {user.mention_html()}!", + reply_markup=ForceReply(selective=True), + ) + +async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Send a message when the command /help is issued.""" + user = update.effective_user + location = update.message.location + await update.message.reply_text(rf"Help! {user.mention_html()} in {location}") + +async def handle_location(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Respond to a location message.""" + location = update.message.location + + if location: + # Extract latitude and longitude + latitude = location.latitude + longitude = location.longitude + + # You can now use the latitude and longitude for your bot's purposes + await update.message.reply_text(f"Thanks for sharing your location! Latitude: {latitude}, Longitude: {longitude}") + else: + # Respond if no location is found in the message + await update.message.reply_text("Please share your location.") + + + +async def assistant(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Respond to user message using OpenAI.""" + bot_response = "Thinking..." + try: + user_message = update.message.text + client = OpenAI(api_key='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',) + + + neurolitiks_assistant = client.beta.assistants.retrieve("asst_LcyxtrwgxgdHoVwSsuTUf5Ec") + + my_thread = client.beta.threads.create() + + my_thread_message = client.beta.threads.messages.create( + thread_id=my_thread.id, + role="user", + content=user_message, + ) + + my_run = client.beta.threads.runs.create( + thread_id=my_thread.id, + assistant_id=neurolitiks_assistant.id, + ) + + + # Step 6: Periodically retrieve the Run to check on its status to see if it has moved to completed + while my_run.status in ["queued", "in_progress"]: + keep_retrieving_run = client.beta.threads.runs.retrieve( + thread_id=my_thread.id, + run_id=my_run.id + ) + + print(keep_retrieving_run) + + if keep_retrieving_run.status == "completed": + + # Step 7: Retrieve the Messages added by the Assistant to the Thread + all_messages = client.beta.threads.messages.list( + thread_id=my_thread.id + ) + bot_response = all_messages.data[0].content[0].text.value #openai_response.choices[0].message.content + break + elif keep_retrieving_run.status == "queued" or keep_retrieving_run.status == "in_progress": + # bot_response += ' ' + my_run.status + pass + else: + bot_response += ' ' + keep_retrieving_run.status + break + + if bot_response: + await update.message.reply_text(bot_response) + else: + # In case the response is empty or only whitespace + await update.message.reply_text("I'm not sure how to respond to that. 🤔") + except Exception as e: + logger.error(f"Error while processing the message: {e}") + # Send a default response in case of an error + await update.message.reply_text(f"Oops, I encountered an issue. Please try again later. 😓 {e}") + +def prepare_persona_feedback(user_query): + # Example function to fetch and format feedback based on user query + # This could query a database or API for more dynamic data + persona_feedback = { + "Other Citizens": "Will analyze and propose community driven improvements.", + "Technology Makers": "Will analyze integration with technologies, and will say what technologies and how.", + "Scientific Innovators": "Will analyze from the urbanist persepective first, and then will recommen what scientific or urban models to use" + } + return persona_feedback + + +def generate_system_prompt(persona_feedback): + return (f"Based on the urban improvement proposal, seek feedback from various perspectives: " + f"Other Citizens suggest: {persona_feedback['Other Citizens']}; " + f"Technology Makers recommend: {persona_feedback['Technology Makers']}; " + f"Scientific Innovators advise: {persona_feedback['Scientific Innovators']}. " + "Evaluate and compile these suggestions to enhance the proposal.") + + +async def respond(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: + """Respond to user message using OpenAI.""" + bot_response = "Thinking..." + try: + user_query = update.message.text + client = OpenAI(api_key='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') + + # Assuming prepare_persona_feedback and generate_system_prompt are defined elsewhere + persona_feedback = prepare_persona_feedback(user_query) + system_prompt = generate_system_prompt(persona_feedback) + + openai_response = client.chat.completions.create( + model="gpt-3.5-turbo-0125", + messages=[ + {"role": "system", "content": "Act as a citizen technology advisor. You will receive enquiries from citizens and will advise on what technologies they could use to resolve them."}, + {"role": "user", "content": user_query} + ], + ) + + bot_response = openai_response.choices[0].message.content + + # Send the main response + if bot_response: + await update.message.reply_text(bot_response) + else: + await update.message.reply_text("I'm not sure how to respond to that. 🤔") + + # Generate random percentages for the URL + innovation = random.randint(1, 100) + technology = random.randint(1, 100) + science = random.randint(1, 100) + + # Prepare the promotional message + dream_city_link = ( + f"Descubre la ciudad de tus sueños! Haz clic en el enlace para explorar una ciudad matemática generada en VR " + f"que podría reflejar tus aspiraciones urbanas: https://app.polisplexity.tech/city/digital/twin/dream/?" + f"innovation={innovation}&technology={technology}&science={science}" + ) + + # Send the promotional message in a separate follow-up message + await update.message.reply_text(dream_city_link) + + except Exception as e: + logger.error(f"Error while processing the message: {e}") + await update.message.reply_text("Oops, I encountered an issue. Please try again later. 😓") + + +def main() -> None: + """Start the bot.""" + application = Application.builder().token("6474402815:AAHCSXM7VKwyj5-lVh8p3365eRQ5Nj94H4I").build() + + application.add_handler(CommandHandler("start", start)) + application.add_handler(CommandHandler("help", help_command)) + application.add_handler(CommandHandler("dream_city", dream_city_command)) + + debate_filter_private = filters.ChatType.PRIVATE & filters.Regex(r'\bmi ciudad de los sueños\b.*:\s*') + application.add_handler(MessageHandler(debate_filter_private, dream_city_command)) + application.add_handler(MessageHandler(filters.ChatType.PRIVATE, respond)) + + # Replace 'your_bot_username' with your bot's username without '@' + bot_username = 'PolisplexityBot' + mention_pattern = fr'@{bot_username}\b' + + # Use the regex filter to check for mentions of the bot + mention_filter = filters.Regex(mention_pattern) + + debate_filter_groups = filters.ChatType.GROUPS & filters.Regex(r'\bmi ciudad de los sueños\b.*:\s*') + application.add_handler(MessageHandler(mention_filter & debate_filter_groups, dream_city_command)) + application.add_handler(MessageHandler(mention_filter & filters.ChatType.GROUPS, respond)) + + # application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, respond)) + application.add_handler(MessageHandler(filters.LOCATION, handle_location)) + + application.run_polling(allowed_updates=Update.ALL_TYPES) + +if __name__ == "__main__": + main() diff --git a/pxy_bots/tests.py b/pxy_bots/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_bots/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_bots/urls.py b/pxy_bots/urls.py new file mode 100644 index 0000000..da3336f --- /dev/null +++ b/pxy_bots/urls.py @@ -0,0 +1,6 @@ +from django.urls import path +from .views import telegram_webhook + +urlpatterns = [ + path('webhook//', telegram_webhook, name='telegram_webhook'), +] diff --git a/pxy_bots/utils.py b/pxy_bots/utils.py new file mode 100644 index 0000000..d7e2619 --- /dev/null +++ b/pxy_bots/utils.py @@ -0,0 +1,20 @@ +from .models import TelegramBot + +def get_bot_token(bot_name: str) -> str: + """ + Retrieve the Telegram bot token by bot name. + + Args: + bot_name (str): The name of the bot to fetch. + + Returns: + str: The Telegram bot token. + + Raises: + ValueError: If no active bot with the given name is found. + """ + try: + bot = TelegramBot.objects.get(name=bot_name, is_active=True) + return bot.token + except TelegramBot.DoesNotExist: + raise ValueError(f"No active bot found with the name '{bot_name}'") diff --git a/pxy_bots/views.py b/pxy_bots/views.py new file mode 100644 index 0000000..17186da --- /dev/null +++ b/pxy_bots/views.py @@ -0,0 +1,69 @@ +import json +from telegram import Update, Bot +from django.http import JsonResponse +from django.views.decorators.csrf import csrf_exempt +from asgiref.sync import sync_to_async +from .models import TelegramBot +from pxy_langchain.services import LangchainAIService +from .handlers import dream_city_command, start, help_command, handle_location +import logging + +logger = logging.getLogger(__name__) + +@csrf_exempt +async def telegram_webhook(request, bot_name): + """ + Webhook view that handles Telegram updates asynchronously and only uses LangChain. + """ + try: + logger.info(f"Webhook called for bot: {bot_name}") + + # Step 1: Fetch the bot instance asynchronously + try: + bot_instance = await sync_to_async(TelegramBot.objects.get)(name=bot_name, is_active=True) + logger.info(f"Loaded bot configuration: {bot_instance}") + except TelegramBot.DoesNotExist: + logger.error(f"Bot '{bot_name}' not found or inactive.") + return JsonResponse({"error": f"Bot '{bot_name}' not found."}, status=400) + + # Step 2: Ensure the bot has a LangChain assistant + if not bot_instance.assistant: + logger.error(f"No assistant configured for bot '{bot_name}'.") + return JsonResponse({"error": "Assistant not configured."}, status=400) + + # Step 3: Process POST request from Telegram + if request.method == "POST": + try: + request_body = json.loads(request.body.decode("utf-8")) + update = Update.de_json(request_body, Bot(token=bot_instance.token)) + logger.info(f"Update received: {update}") + except json.JSONDecodeError as e: + logger.error(f"Failed to decode JSON: {e}") + return JsonResponse({"error": "Invalid JSON payload"}, status=400) + + # Step 4: Route commands to the appropriate handlers + if update.message: + if update.message.text == "/start": + await start(update) + elif update.message.text == "/help": + await help_command(update) + elif update.message.text == "/dream_city": + await dream_city_command(update) + elif update.message.location: + await handle_location(update) + else: + # Step 5: Process AI-generated response using LangChain + assistant_instance = await sync_to_async(LangchainAIService)(bot_instance.assistant) + bot_response = await sync_to_async(assistant_instance.generate_response)(update.message.text) + + # Step 6: Send the response back to Telegram + await update.message.reply_text(bot_response) + + return JsonResponse({"status": "ok"}) + + logger.warning("Received non-POST request") + return JsonResponse({"error": "Invalid request method"}, status=400) + + except Exception as e: + logger.error(f"Error in webhook: {e}") + return JsonResponse({"error": f"Unexpected error: {str(e)}"}, status=500) diff --git a/pxy_city_digital_twins b/pxy_city_digital_twins new file mode 160000 index 0000000..e4ca275 --- /dev/null +++ b/pxy_city_digital_twins @@ -0,0 +1 @@ +Subproject commit e4ca27541e264e4916481d96f0e0fb0d68b0672b diff --git a/pxy_cr/__init__.py b/pxy_cr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_cr/__pycache__/__init__.cpython-310.pyc b/pxy_cr/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..435fa69 Binary files /dev/null and b/pxy_cr/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_cr/__pycache__/admin.cpython-310.pyc b/pxy_cr/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..038301a Binary files /dev/null and b/pxy_cr/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_cr/__pycache__/apps.cpython-310.pyc b/pxy_cr/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..2af3b70 Binary files /dev/null and b/pxy_cr/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_cr/__pycache__/models.cpython-310.pyc b/pxy_cr/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..4ca7d4f Binary files /dev/null and b/pxy_cr/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_cr/admin.py b/pxy_cr/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/pxy_cr/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/pxy_cr/apps.py b/pxy_cr/apps.py new file mode 100644 index 0000000..f1d93f4 --- /dev/null +++ b/pxy_cr/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyCrConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_cr" diff --git a/pxy_cr/migrations/__init__.py b/pxy_cr/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_cr/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_cr/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..535f742 Binary files /dev/null and b/pxy_cr/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_cr/models.py b/pxy_cr/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/pxy_cr/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/pxy_cr/tests.py b/pxy_cr/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_cr/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_cr/views.py b/pxy_cr/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_cr/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_de/__init__.py b/pxy_de/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_de/__pycache__/__init__.cpython-310.pyc b/pxy_de/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..26e2ecd Binary files /dev/null and b/pxy_de/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_de/__pycache__/admin.cpython-310.pyc b/pxy_de/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..b7120da Binary files /dev/null and b/pxy_de/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_de/__pycache__/apps.cpython-310.pyc b/pxy_de/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..c02331b Binary files /dev/null and b/pxy_de/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_de/__pycache__/models.cpython-310.pyc b/pxy_de/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..61e32ba Binary files /dev/null and b/pxy_de/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_de/admin.py b/pxy_de/admin.py new file mode 100644 index 0000000..e7d7f14 --- /dev/null +++ b/pxy_de/admin.py @@ -0,0 +1,36 @@ +from django.contrib import admin +from .models import PipelineStep, PipelineRun, PipelineProductRun + +class PipelineStepAdmin(admin.ModelAdmin): + list_display = ('name', 'description') # Specify the fields to display + +class PipelineProductRunAdmin(admin.ModelAdmin): + list_display = ('pipeline_run', 'step', 'status', 'date') + list_filter = ('status', 'step') # Add filtering by status and step + search_fields = ('pipeline_run__run_identifier', 'step__name') # Enable search by pipeline_run identifier and step name + +# Register your models with custom ModelAdmin +admin.site.register(PipelineStep, PipelineStepAdmin) +admin.site.register(PipelineProductRun, PipelineProductRunAdmin) + +# pxy_de/admin.py (or wherever your PipelineRun admin is) +from django.contrib import messages +from pxy_de.pipelines.pxy_products.run_products import run_pipeline + +def run_pipeline_action(modeladmin, request, queryset): + try: + run_pipeline() + messages.success(request, "Pipeline executed successfully.") + except Exception as e: + messages.error(request, f"Pipeline failed to execute: {str(e)}") + +run_pipeline_action.short_description = "Run Products Pipeline" + +class PipelineRunAdmin(admin.ModelAdmin): + list_display = ['run_identifier', 'overall_status', 'date'] + ordering = ['-date'] + actions = [run_pipeline_action] + +admin.site.register(PipelineRun, PipelineRunAdmin) + + diff --git a/pxy_de/apps.py b/pxy_de/apps.py new file mode 100644 index 0000000..c517058 --- /dev/null +++ b/pxy_de/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyDeConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_de" diff --git a/pxy_de/migrations/0001_initial.py b/pxy_de/migrations/0001_initial.py new file mode 100644 index 0000000..d3764be --- /dev/null +++ b/pxy_de/migrations/0001_initial.py @@ -0,0 +1,85 @@ +# Generated by Django 5.0.3 on 2024-03-16 23:56 + +import django.db.models.deletion +import uuid +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="PipelineRun", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "run_identifier", + models.UUIDField(default=uuid.uuid4, editable=False, unique=True), + ), + ( + "overall_status", + models.CharField(blank=True, max_length=20, null=True), + ), + ("date", models.DateTimeField(auto_now_add=True)), + ], + ), + migrations.CreateModel( + name="PipelineStep", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("name", models.CharField(max_length=100)), + ("description", models.TextField(blank=True, null=True)), + ], + ), + migrations.CreateModel( + name="PipelineProductRun", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("status", models.CharField(max_length=10)), + ("date", models.DateTimeField(auto_now_add=True)), + ( + "pipeline_run", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="product_runs", + to="pxy_de.pipelinerun", + ), + ), + ( + "step", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + to="pxy_de.pipelinestep", + ), + ), + ], + ), + ] diff --git a/pxy_de/migrations/__init__.py b/pxy_de/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_de/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_de/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..6a7f577 Binary files /dev/null and b/pxy_de/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_de/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_de/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..ce71311 Binary files /dev/null and b/pxy_de/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_de/models.py b/pxy_de/models.py new file mode 100644 index 0000000..035ed60 --- /dev/null +++ b/pxy_de/models.py @@ -0,0 +1,30 @@ +# pxy_de/pipelines/models.py +import uuid +from django.db import models + +class PipelineStep(models.Model): + name = models.CharField(max_length=100) + description = models.TextField(blank=True, null=True) + + def __str__(self): + return self.name + +class PipelineRun(models.Model): + run_identifier = models.UUIDField(default=uuid.uuid4, editable=False, unique=True) + overall_status = models.CharField(max_length=20, blank=True, null=True) + date = models.DateTimeField(auto_now_add=True) + + def __str__(self): + return str(self.run_identifier) + +class PipelineProductRun(models.Model): + pipeline_run = models.ForeignKey(PipelineRun, on_delete=models.CASCADE, related_name='product_runs') + step = models.ForeignKey(PipelineStep, on_delete=models.CASCADE) + status = models.CharField(max_length=10) + date = models.DateTimeField(auto_now_add=True) + + def __str__(self): + return f"{self.pipeline_run.run_identifier} - {self.step.name}" + + + diff --git a/pxy_de/pipelines/__init__.py b/pxy_de/pipelines/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_de/pipelines/__pycache__/__init__.cpython-310.pyc b/pxy_de/pipelines/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..a0f4842 Binary files /dev/null and b/pxy_de/pipelines/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_de/pipelines/__pycache__/models.cpython-310.pyc b/pxy_de/pipelines/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..293be0d Binary files /dev/null and b/pxy_de/pipelines/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__init__.py b/pxy_de/pipelines/pxy_products/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_de/pipelines/pxy_products/__pycache__/__init__.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..33c7d47 Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__pycache__/create_category.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/create_category.cpython-310.pyc new file mode 100644 index 0000000..0f70511 Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/create_category.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__pycache__/create_user_menus.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/create_user_menus.cpython-310.pyc new file mode 100644 index 0000000..81cbf68 Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/create_user_menus.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__pycache__/fetch_data.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/fetch_data.cpython-310.pyc new file mode 100644 index 0000000..dec2315 Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/fetch_data.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__pycache__/models.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..bab6491 Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/__pycache__/run_products.cpython-310.pyc b/pxy_de/pipelines/pxy_products/__pycache__/run_products.cpython-310.pyc new file mode 100644 index 0000000..761b16d Binary files /dev/null and b/pxy_de/pipelines/pxy_products/__pycache__/run_products.cpython-310.pyc differ diff --git a/pxy_de/pipelines/pxy_products/create_category.py b/pxy_de/pipelines/pxy_products/create_category.py new file mode 100644 index 0000000..b31a7f0 --- /dev/null +++ b/pxy_de/pipelines/pxy_products/create_category.py @@ -0,0 +1,6 @@ +# create_category.py +from core.models import Category + +def create_categories(data): + for item in data['techClasses']: + Category.objects.get_or_create(name=item['name'], defaults={'description': item['description']}) diff --git a/pxy_de/pipelines/pxy_products/create_user_menus.py b/pxy_de/pipelines/pxy_products/create_user_menus.py new file mode 100644 index 0000000..fa5a903 --- /dev/null +++ b/pxy_de/pipelines/pxy_products/create_user_menus.py @@ -0,0 +1,19 @@ +# create_user_menus.py +from core.models import Category, UserMenu + +def create_user_menus(data): + for item in data['techClasses']: + category, _ = Category.objects.get_or_create(name=item['name']) + for tech in item['technologies']: + UserMenu.objects.get_or_create( + title=tech['title'], + defaults={ + 'description': tech['text'], + 'category': category, + 'icon' : tech['icon'], + 'url' : tech['url'], + 'url_text' : 'Lauch' + } + ) + + diff --git a/pxy_de/pipelines/pxy_products/fetch_data.py b/pxy_de/pipelines/pxy_products/fetch_data.py new file mode 100644 index 0000000..ee2223c --- /dev/null +++ b/pxy_de/pipelines/pxy_products/fetch_data.py @@ -0,0 +1,14 @@ +# fetch_data.py +import requests + +def fetch_data(): + url = "https://polisplexity.tech/api/data/polisplexity_products" + try: + response = requests.get(url) + response.raise_for_status() # This will raise an exception for HTTP errors + return response.json() # Parse and return JSON data + except requests.exceptions.RequestException as e: + print(f"Request failed: {e}") + return None + + diff --git a/pxy_de/pipelines/pxy_products/run_products.py b/pxy_de/pipelines/pxy_products/run_products.py new file mode 100644 index 0000000..edd81af --- /dev/null +++ b/pxy_de/pipelines/pxy_products/run_products.py @@ -0,0 +1,55 @@ +# pxy_de/pipelines/pxy_products/run_products.py +from django.db import transaction +from pxy_de.models import PipelineRun, PipelineStep, PipelineProductRun +from .fetch_data import fetch_data +from .create_category import create_categories +from .create_user_menus import create_user_menus + +def record_pipeline_step(pipeline_run, step_name, status): + # Retrieve the PipelineStep object. Create it if it doesn't exist + step, _ = PipelineStep.objects.get_or_create(name=step_name) + + # Create a record for this pipeline step + PipelineProductRun.objects.create( + pipeline_run=pipeline_run, + step=step, + status=status, + ) + +def run_pipeline(): + # Start a new pipeline run + current_run = PipelineRun.objects.create() + step_log = "" + + try: + # Fetch data from API + data = fetch_data() + if data: + step_log = 'Fetch Data' + record_pipeline_step(current_run, step_log , 'Success') + + # Create categories from the fetched data + step_log = 'Create Categories' + create_categories(data) + record_pipeline_step(current_run, step_log, 'Success') + + # Create user menus for each category + step_log = 'Create User Menus' + create_user_menus(data) + record_pipeline_step(current_run, step_log, 'Success') + + # Mark the overall pipeline run as successful + current_run.overall_status = 'Success' + else: + # If fetching data fails, record it and set the overall run status to 'Failed' + record_pipeline_step(current_run, 'Fetch Data', 'Failed') + current_run.overall_status = 'Failed' + + except Exception as e: + # If any exception occurs, record it and set the overall run status to 'Failed' + record_pipeline_step(current_run, f'Error in {step_log}' ,str(e)) + current_run.overall_status = 'Failed' + + finally: + # Save any changes to the current run (like the overall status) + current_run.save() \ No newline at end of file diff --git a/pxy_de/tests.py b/pxy_de/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_de/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_de/views.py b/pxy_de/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_de/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_langchain/__init__.py b/pxy_langchain/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_langchain/__pycache__/__init__.cpython-310.pyc b/pxy_langchain/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..ac73692 Binary files /dev/null and b/pxy_langchain/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_langchain/__pycache__/admin.cpython-310.pyc b/pxy_langchain/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..6234559 Binary files /dev/null and b/pxy_langchain/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_langchain/__pycache__/apps.cpython-310.pyc b/pxy_langchain/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..fa7e18a Binary files /dev/null and b/pxy_langchain/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_langchain/__pycache__/models.cpython-310.pyc b/pxy_langchain/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..15a36c3 Binary files /dev/null and b/pxy_langchain/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_langchain/__pycache__/services.cpython-310.pyc b/pxy_langchain/__pycache__/services.cpython-310.pyc new file mode 100644 index 0000000..4e18e80 Binary files /dev/null and b/pxy_langchain/__pycache__/services.cpython-310.pyc differ diff --git a/pxy_langchain/admin.py b/pxy_langchain/admin.py new file mode 100644 index 0000000..ac7bc2f --- /dev/null +++ b/pxy_langchain/admin.py @@ -0,0 +1,15 @@ +from django.contrib import admin +from .models import AIProvider, AIAssistant + +@admin.register(AIProvider) +class AIProviderAdmin(admin.ModelAdmin): + list_display = ("name", "description") + search_fields = ("name",) + ordering = ("name",) + +@admin.register(AIAssistant) +class AIAssistantAdmin(admin.ModelAdmin): + list_display = ("name", "model_name", "provider", "uses_graph", "neo4j_profile", "created_at", "updated_at") + search_fields = ("name", "model_name", "neo4j_profile__name") + list_filter = ("provider", "uses_graph") + ordering = ("-created_at",) diff --git a/pxy_langchain/apps.py b/pxy_langchain/apps.py new file mode 100644 index 0000000..0262d20 --- /dev/null +++ b/pxy_langchain/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyLangchainConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_langchain" diff --git a/pxy_langchain/migrations/0001_initial.py b/pxy_langchain/migrations/0001_initial.py new file mode 100644 index 0000000..4244b88 --- /dev/null +++ b/pxy_langchain/migrations/0001_initial.py @@ -0,0 +1,97 @@ +# Generated by Django 5.0.3 on 2025-01-29 01:49 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="AIProvider", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "name", + models.CharField( + help_text="AI provider name (e.g., OpenAI, DeepSeek, Mistral)", + max_length=50, + unique=True, + ), + ), + ( + "base_url", + models.URLField( + blank=True, help_text="Base API URL for the provider", null=True + ), + ), + ( + "description", + models.TextField( + blank=True, help_text="Description of the provider", null=True + ), + ), + ], + ), + migrations.CreateModel( + name="AIAssistant", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "name", + models.CharField( + help_text="Assistant name", max_length=100, unique=True + ), + ), + ( + "description", + models.TextField( + blank=True, + help_text="Assistant's behavior/system role", + null=True, + ), + ), + ( + "model_name", + models.CharField( + help_text="Model name (e.g., gpt-4, deepseek-chat, mistral-7B)", + max_length=100, + ), + ), + ( + "api_key", + models.CharField( + help_text="API key for accessing AI services", max_length=200 + ), + ), + ( + "provider", + models.ForeignKey( + help_text="AI model provider", + on_delete=django.db.models.deletion.CASCADE, + to="pxy_langchain.aiprovider", + ), + ), + ], + ), + ] diff --git a/pxy_langchain/migrations/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.py b/pxy_langchain/migrations/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.py new file mode 100644 index 0000000..b18849f --- /dev/null +++ b/pxy_langchain/migrations/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.py @@ -0,0 +1,88 @@ +# Generated by Django 5.0.3 on 2025-01-29 03:06 + +import django.db.models.deletion +import django.utils.timezone +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_langchain", "0001_initial"), + ] + + operations = [ + migrations.RemoveField( + model_name="aiprovider", + name="base_url", + ), + migrations.AddField( + model_name="aiassistant", + name="created_at", + field=models.DateTimeField( + auto_now_add=True, default=django.utils.timezone.now + ), + preserve_default=False, + ), + migrations.AddField( + model_name="aiassistant", + name="updated_at", + field=models.DateTimeField(auto_now=True), + ), + migrations.AlterField( + model_name="aiassistant", + name="api_key", + field=models.CharField( + help_text="API key for accessing the AI provider.", max_length=200 + ), + ), + migrations.AlterField( + model_name="aiassistant", + name="description", + field=models.TextField( + blank=True, help_text="System role or behavior description.", null=True + ), + ), + migrations.AlterField( + model_name="aiassistant", + name="model_name", + field=models.CharField( + help_text="Name of the AI model (e.g., gpt-4, deepseek-chat, mistral-7b).", + max_length=100, + ), + ), + migrations.AlterField( + model_name="aiassistant", + name="name", + field=models.CharField( + help_text="Unique name of the assistant.", max_length=100, unique=True + ), + ), + migrations.AlterField( + model_name="aiassistant", + name="provider", + field=models.ForeignKey( + help_text="The AI provider for this assistant.", + on_delete=django.db.models.deletion.CASCADE, + to="pxy_langchain.aiprovider", + ), + ), + migrations.AlterField( + model_name="aiprovider", + name="description", + field=models.TextField( + blank=True, + help_text="Description of the provider and its capabilities.", + null=True, + ), + ), + migrations.AlterField( + model_name="aiprovider", + name="name", + field=models.CharField( + help_text="Name of the AI provider (e.g., OpenAI, DeepSeek)", + max_length=100, + unique=True, + ), + ), + ] diff --git a/pxy_langchain/migrations/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.py b/pxy_langchain/migrations/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.py new file mode 100644 index 0000000..ce51080 --- /dev/null +++ b/pxy_langchain/migrations/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.py @@ -0,0 +1,37 @@ +# Generated by Django 5.0.3 on 2025-02-09 15:01 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "pxy_langchain", + "0002_remove_aiprovider_base_url_aiassistant_created_at_and_more", + ), + ("pxy_neo4j", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="aiassistant", + name="neo4j_profile", + field=models.ForeignKey( + blank=True, + help_text="Associated Neo4j profile for querying data.", + null=True, + on_delete=django.db.models.deletion.SET_NULL, + to="pxy_neo4j.neo4jprofile", + ), + ), + migrations.AddField( + model_name="aiassistant", + name="uses_graph", + field=models.BooleanField( + default=False, + help_text="Indicates if this assistant should use graph-based responses.", + ), + ), + ] diff --git a/pxy_langchain/migrations/__init__.py b/pxy_langchain/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_langchain/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_langchain/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..554a660 Binary files /dev/null and b/pxy_langchain/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_langchain/migrations/__pycache__/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.cpython-310.pyc b/pxy_langchain/migrations/__pycache__/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.cpython-310.pyc new file mode 100644 index 0000000..cb20a19 Binary files /dev/null and b/pxy_langchain/migrations/__pycache__/0002_remove_aiprovider_base_url_aiassistant_created_at_and_more.cpython-310.pyc differ diff --git a/pxy_langchain/migrations/__pycache__/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.cpython-310.pyc b/pxy_langchain/migrations/__pycache__/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.cpython-310.pyc new file mode 100644 index 0000000..bec0e52 Binary files /dev/null and b/pxy_langchain/migrations/__pycache__/0003_aiassistant_neo4j_profile_aiassistant_uses_graph.cpython-310.pyc differ diff --git a/pxy_langchain/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_langchain/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..9ed1a1a Binary files /dev/null and b/pxy_langchain/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_langchain/models.py b/pxy_langchain/models.py new file mode 100644 index 0000000..94e7b58 --- /dev/null +++ b/pxy_langchain/models.py @@ -0,0 +1,34 @@ +from django.db import models + +class AIProvider(models.Model): + """ + Stores different AI providers (OpenAI, DeepSeek, Cohere, etc.). + """ + name = models.CharField(max_length=100, unique=True, help_text="Name of the AI provider (e.g., OpenAI, DeepSeek)") + description = models.TextField(blank=True, null=True, help_text="Description of the provider and its capabilities.") + + def __str__(self): + return self.name + +from django.db import models +from pxy_neo4j.models import Neo4jProfile # Import Neo4jProfile + +class AIAssistant(models.Model): + """ + Represents a LangChain-based AI assistant configuration. + """ + name = models.CharField(max_length=100, unique=True, help_text="Unique name of the assistant.") + description = models.TextField(blank=True, null=True, help_text="System role or behavior description.") + model_name = models.CharField(max_length=100, help_text="Name of the AI model (e.g., gpt-4, deepseek-chat, mistral-7b).") + provider = models.ForeignKey(AIProvider, on_delete=models.CASCADE, help_text="The AI provider for this assistant.") + api_key = models.CharField(max_length=200, help_text="API key for accessing the AI provider.") + uses_graph = models.BooleanField(default=False, help_text="Indicates if this assistant should use graph-based responses.") + neo4j_profile = models.ForeignKey(Neo4jProfile, on_delete=models.SET_NULL, null=True, blank=True, help_text="Associated Neo4j profile for querying data.") + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def __str__(self): + return f"{self.name} ({self.model_name})" + + diff --git a/pxy_langchain/services.py b/pxy_langchain/services.py new file mode 100644 index 0000000..5b8e013 --- /dev/null +++ b/pxy_langchain/services.py @@ -0,0 +1,79 @@ +from langchain_openai import ChatOpenAI +from langchain_deepseek import ChatDeepSeek +from langchain.schema import AIMessage, HumanMessage, SystemMessage +from pxy_neo4j.neo4j_connector import Neo4jDatabase # Import Neo4j connector + +class LangchainAIService: + """ + A service to dynamically interact with AI models using LangChain. + """ + + def __init__(self, assistant): + """ + Initialize the AI service with an AIAssistant instance. + """ + self.assistant = assistant + self.client = self.load_model() + self.graph = None + + # Initialize Neo4j connection if graph is enabled + if self.assistant.uses_graph and self.assistant.neo4j_profile: + self.graph = Neo4jDatabase(profile_name=self.assistant.neo4j_profile.name) + + def load_model(self): + """ + Dynamically load the AI model based on the provider. + """ + if not self.assistant.provider: + raise ValueError("Assistant provider is not set.") + + provider_name = self.assistant.provider.name.lower() + + if provider_name == "openai": + return ChatOpenAI( + openai_api_key=self.assistant.api_key, + model_name=self.assistant.model_name + ) + elif provider_name == "deepseek": + return ChatDeepSeek( + model=self.assistant.model_name, + temperature=0.7, + max_tokens=None, + timeout=None, + max_retries=2, + api_key=self.assistant.api_key + ) + else: + raise ValueError(f"Unsupported provider: {provider_name}") + + def generate_response(self, user_message): + """ + Generate a response using the AI model and optionally query the graph. + """ + try: + system_role = self.assistant.description or "You are a helpful assistant." + graph_data = None + + # 🔥 Step 1: Query the graph if enabled + if self.graph: + graph_data = self.graph.query_graph(user_message) + + # 🔥 Step 2: Prepare messages for AI model + messages = [ + SystemMessage(content=system_role), + HumanMessage(content=user_message), + ] + + # 🔥 Step 3: Inject graph response if available + if graph_data: + messages.append(AIMessage(content=f"Graph response: {graph_data}")) + + # 🔥 Step 4: Generate AI response + response = self.client.invoke(messages) + + if isinstance(response, AIMessage): + return response.content + return str(response) + + except Exception as e: + return f"Error generating response: {e}" diff --git a/pxy_langchain/tests.py b/pxy_langchain/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_langchain/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_langchain/views.py b/pxy_langchain/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_langchain/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_meta_pages/__init__.py b/pxy_meta_pages/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_meta_pages/__pycache__/__init__.cpython-310.pyc b/pxy_meta_pages/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..da8f02d Binary files /dev/null and b/pxy_meta_pages/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/admin.cpython-310.pyc b/pxy_meta_pages/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..1ecb826 Binary files /dev/null and b/pxy_meta_pages/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/apps.cpython-310.pyc b/pxy_meta_pages/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..0714b3f Binary files /dev/null and b/pxy_meta_pages/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/models.cpython-310.pyc b/pxy_meta_pages/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..9e3d6c0 Binary files /dev/null and b/pxy_meta_pages/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/services.cpython-310.pyc b/pxy_meta_pages/__pycache__/services.cpython-310.pyc new file mode 100644 index 0000000..0b61af4 Binary files /dev/null and b/pxy_meta_pages/__pycache__/services.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/urls.cpython-310.pyc b/pxy_meta_pages/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..ddf67e2 Binary files /dev/null and b/pxy_meta_pages/__pycache__/urls.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/views.cpython-310.pyc b/pxy_meta_pages/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..7ae5a4c Binary files /dev/null and b/pxy_meta_pages/__pycache__/views.cpython-310.pyc differ diff --git a/pxy_meta_pages/__pycache__/webhook_handlers.cpython-310.pyc b/pxy_meta_pages/__pycache__/webhook_handlers.cpython-310.pyc new file mode 100644 index 0000000..f160898 Binary files /dev/null and b/pxy_meta_pages/__pycache__/webhook_handlers.cpython-310.pyc differ diff --git a/pxy_meta_pages/admin.py b/pxy_meta_pages/admin.py new file mode 100644 index 0000000..4869359 --- /dev/null +++ b/pxy_meta_pages/admin.py @@ -0,0 +1,76 @@ +import requests +from django.conf import settings +from django.contrib import admin +from .models import FacebookPageAssistant +from .services import FacebookService # Import FacebookService for API calls + +@admin.register(FacebookPageAssistant) +class FacebookPageAssistantAdmin(admin.ModelAdmin): + """ + Admin panel configuration for managing Facebook Page Assistants. + """ + list_display = ("page_name", "page_id", "assistant", "is_subscribed", "created_at") + search_fields = ("page_name", "page_id", "assistant__name") + list_filter = ("is_subscribed", "assistant") + actions = ["subscribe_to_webhook", "check_subscription_status"] + + def subscribe_to_webhook(self, request, queryset): + """ + Subscribes selected pages to Facebook webhooks using FacebookService. + """ + fb_service = FacebookService(user_access_token=settings.PAGE_ACCESS_TOKEN) + + for page in queryset: + page_access_token = fb_service.get_page_access_token(page.page_id) + if not page_access_token: + self.message_user(request, f"Failed to get access token for {page.page_name}", level="error") + continue + + url = f"https://graph.facebook.com/v22.0/{page.page_id}/subscribed_apps" + data = { + "subscribed_fields": "feed,mention", + "access_token": page_access_token + } + + try: + response = requests.post(url, data=data) + response.raise_for_status() + page.is_subscribed = True + page.save() + self.message_user(request, f"Successfully subscribed {page.page_name} to webhooks.") + except requests.RequestException as e: + self.message_user(request, f"Failed to subscribe {page.page_name}: {e}", level="error") + + subscribe_to_webhook.short_description = "Subscribe selected pages to webhooks" + + def check_subscription_status(self, request, queryset): + """ + Checks whether selected pages are subscribed to Facebook webhooks using FacebookService. + """ + fb_service = FacebookService(user_access_token=settings.PAGE_ACCESS_TOKEN) + + for page in queryset: + page_access_token = fb_service.get_page_access_token(page.page_id) + if not page_access_token: + self.message_user(request, f"Failed to get access token for {page.page_name}", level="error") + continue + + url = f"https://graph.facebook.com/v22.0/{page.page_id}/subscribed_apps?access_token={page_access_token}" + + try: + response = requests.get(url) + response.raise_for_status() + data = response.json() + + if "data" in data and len(data["data"]) > 0: + page.is_subscribed = True + self.message_user(request, f"{page.page_name} is subscribed.") + else: + page.is_subscribed = False + self.message_user(request, f"{page.page_name} is NOT subscribed.", level="warning") + + page.save() + except requests.RequestException as e: + self.message_user(request, f"Failed to check subscription for {page.page_name}: {e}", level="error") + + check_subscription_status.short_description = "Check webhook subscription status" diff --git a/pxy_meta_pages/apps.py b/pxy_meta_pages/apps.py new file mode 100644 index 0000000..bfc75cb --- /dev/null +++ b/pxy_meta_pages/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyMetaPagesConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_meta_pages" diff --git a/pxy_meta_pages/migrations/0001_initial.py b/pxy_meta_pages/migrations/0001_initial.py new file mode 100644 index 0000000..28d025f --- /dev/null +++ b/pxy_meta_pages/migrations/0001_initial.py @@ -0,0 +1,54 @@ +# Generated by Django 5.0.3 on 2025-01-25 04:06 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("pxy_openai", "0001_initial"), + ] + + operations = [ + migrations.CreateModel( + name="FacebookPageAssistant", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "page_id", + models.CharField( + help_text="Unique ID of the Facebook page", + max_length=100, + unique=True, + ), + ), + ( + "page_name", + models.CharField( + help_text="Name of the Facebook page", max_length=200 + ), + ), + ("created_at", models.DateTimeField(auto_now_add=True)), + ("updated_at", models.DateTimeField(auto_now=True)), + ( + "assistant", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="facebook_pages", + to="pxy_openai.openaiassistant", + ), + ), + ], + ), + ] diff --git a/pxy_meta_pages/migrations/0002_facebookpageassistant_is_subscribed.py b/pxy_meta_pages/migrations/0002_facebookpageassistant_is_subscribed.py new file mode 100644 index 0000000..5359e5a --- /dev/null +++ b/pxy_meta_pages/migrations/0002_facebookpageassistant_is_subscribed.py @@ -0,0 +1,21 @@ +# Generated by Django 5.0.3 on 2025-01-29 04:44 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_meta_pages", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="facebookpageassistant", + name="is_subscribed", + field=models.BooleanField( + default=False, + help_text="Indicates if the page is subscribed to webhooks", + ), + ), + ] diff --git a/pxy_meta_pages/migrations/__init__.py b/pxy_meta_pages/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_meta_pages/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_meta_pages/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..9e944e0 Binary files /dev/null and b/pxy_meta_pages/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_meta_pages/migrations/__pycache__/0002_facebookpageassistant_is_subscribed.cpython-310.pyc b/pxy_meta_pages/migrations/__pycache__/0002_facebookpageassistant_is_subscribed.cpython-310.pyc new file mode 100644 index 0000000..814c61b Binary files /dev/null and b/pxy_meta_pages/migrations/__pycache__/0002_facebookpageassistant_is_subscribed.cpython-310.pyc differ diff --git a/pxy_meta_pages/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_meta_pages/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..22c39fe Binary files /dev/null and b/pxy_meta_pages/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_meta_pages/models.py b/pxy_meta_pages/models.py new file mode 100644 index 0000000..dd353d2 --- /dev/null +++ b/pxy_meta_pages/models.py @@ -0,0 +1,17 @@ +from django.db import models +from pxy_openai.assistants import OpenAIAssistant + +class FacebookPageAssistant(models.Model): + """ + Model to link a Facebook page to an OpenAI assistant and manage webhook subscriptions. + """ + page_id = models.CharField(max_length=100, unique=True, help_text="Unique ID of the Facebook page") + page_name = models.CharField(max_length=200, help_text="Name of the Facebook page") + assistant = models.ForeignKey('pxy_openai.OpenAIAssistant', on_delete=models.CASCADE, related_name="facebook_pages") + is_subscribed = models.BooleanField(default=False, help_text="Indicates if the page is subscribed to webhooks") + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def __str__(self): + return f"{self.page_name} ({self.page_id}) -> {self.assistant.name}" + diff --git a/pxy_meta_pages/services.py b/pxy_meta_pages/services.py new file mode 100644 index 0000000..11e4dcb --- /dev/null +++ b/pxy_meta_pages/services.py @@ -0,0 +1,216 @@ +import requests +from pxy_openai.assistants import OpenAIAssistant as OpenAIService # Import the assistant service +import logging +from .models import FacebookPageAssistant +from django.core.exceptions import ObjectDoesNotExist +from pxy_neo4j.neo4j_connector import Neo4jDatabase + +logger = logging.getLogger(__name__) + + +class FacebookService: + """ + A service to interact with the Facebook Graph API. + """ + + def __init__(self, user_access_token, facebook_api_version="v22.0"): + self.user_access_token = user_access_token + self.facebook_api_version = facebook_api_version + self.base_url = f"https://graph.facebook.com/{self.facebook_api_version}" + self.neo4j_db = Neo4jDatabase() # Initialize Neo4j connection + + def get_system_user_id(self): + """ + Retrieves the system user ID using the user access token. + """ + try: + return '122106889202727657' + except requests.exceptions.RequestException as e: + logger.error(f"Error fetching system user ID: {e}") + return None + + def get_page_access_token(self, page_id): + """ + Retrieves the Page Access Token for a specific Page ID. + """ + url = f"{self.base_url}/122106889202727657/accounts?access_token={self.user_access_token}" + try: + response = requests.get(url) + response.raise_for_status() + data = response.json() + + if "data" in data: + for page in data["data"]: + if page.get("id") == str(page_id): + page_name = page.get("name", "Unknown") + access_token = page.get("access_token", "No Token") + logger.info(f"Retrieved access token for page {page_id}: {page_name}") + return access_token + logger.error(f"Error: Page ID {page_id} not found.") + else: + logger.error("Error: Unexpected response format from Facebook API.") + except requests.exceptions.RequestException as e: + logger.error(f"Error fetching Page Access Token: {e}") + return None + + def post_comment_on_share(self, page_id, post_id, message): + """ + Posts a comment on a shared post using the Facebook API. + Fetches post details (description, parent_id) to improve the comment. + If parent_id exists, posts the same comment on the original post. + """ + # Retrieve the Page Access Token dynamically + page_access_token = self.get_page_access_token(page_id) + if not page_access_token: + logger.error(f"Unable to retrieve access token for page ID: {page_id}") + return None + + # Fetch post details (description, parent_id) + post_details = self.get_post_details(post_id, page_access_token) + if not post_details: + logger.error(f"Failed to retrieve post details for post ID: {post_id}") + return None + + description = post_details.get("description", "") + parent_id = post_details.get("parent_id", None) + + # Fetch the appropriate OpenAI assistant for the page + try: + page_assistant = FacebookPageAssistant.objects.get(page_id=page_id) + openai_assistant_model = page_assistant.assistant + logger.info(f"Using assistant '{openai_assistant_model.name}' for page '{page_assistant.page_name}'") + except ObjectDoesNotExist: + logger.error(f"No assistant configured for page ID: {page_id}") + return None + + # Generate a meaningful comment based on available data + if not message or message.strip() == "": + if description: + prompt = ( + f"Dr. Dr. Ekaropolus previously said: '{description}'. " + "Based on this, write an insightful response in the most appropriate language that engages people in scientific discussion." + ) + else: + prompt = "Say something truly inspiring about science, a fact or idea that will amaze people." + + else: + if description: + prompt = ( + f"Dr. Dr. Ekaropolus previously said: '{message}', " + f"and the shared post describes: '{description}'. " + "Combine these thoughts into an engaging, fun, and insightful response in the most appropriate language." + ) + else: + prompt = f"Dr. Dr. Ekaropolus said: '{message}'. Expand on this with an insightful scientific thought." + + openai_service = OpenAIService(name=openai_assistant_model.name) + bot_response = openai_service.handle_message(prompt) + + # Post a comment on the shared post + shared_comment_response = self._post_facebook_comment(post_id, bot_response, page_access_token) + + # If the comment on the shared post was successful, store in Neo4j + if shared_comment_response: + self.neo4j_db.store_interaction( + user_id=f"fb_bot_{page_id}", + bot_id=f"fb_bot_{page_id}", + user_message=description if description else "Shared post comment", + bot_response=bot_response, + platform="Facebook" + ) + + # If parent_id exists and the first comment was successful, post the same comment on the original post + if parent_id and shared_comment_response: + logger.info(f"Also commenting on the original post: {parent_id}") + original_comment_response = self._post_facebook_comment(parent_id, bot_response, page_access_token) + + # If the comment on the original post was successful, store in Neo4j + if original_comment_response: + self.neo4j_db.store_interaction( + user_id=f"fb_bot_{page_id}", + bot_id=f"fb_bot_{page_id}", + user_message=description if description else "Original post comment", + bot_response=bot_response, + platform="Facebook (Original Post)" + ) + + return shared_comment_response + + + def get_post_details(self, post_id, access_token): + """ + Retrieves details of a post, including description and parent_id. + """ + url = f"{self.base_url}/{post_id}?fields=attachments.limit(10){{description,media,media_type,target,url}},parent_id&access_token={access_token}" + try: + response = requests.get(url) + response.raise_for_status() + data = response.json() + attachments = data.get("attachments", {}).get("data", [{}]) + description = attachments[0].get("description", "") if attachments else "" + parent_id = data.get("parent_id", None) + return {"description": description, "parent_id": parent_id} + except requests.exceptions.RequestException as e: + logger.error(f"Failed to fetch post details for {post_id}. Error: {e}") + return {} + + def _post_facebook_comment(self, post_id, message, access_token): + """ + Helper function to post a comment to a specific post. + """ + url = f"{self.base_url}/{post_id}/comments" + payload = {"message": message, "access_token": access_token} + try: + response = requests.post(url, data=payload) + response.raise_for_status() + logger.info(f"Posted a comment on post ID: {post_id}") + return response.json() + except requests.exceptions.RequestException as e: + logger.error(f"Failed to comment on post ID: {post_id}. Error: {e}") + return None + + + def reply_to_comment(self, page_id, comment_id, message): + """ + Replies to a specific comment using the Facebook API and OpenAI Assistant. + """ + # Retrieve the Page Access Token dynamically + page_access_token = self.get_page_access_token(page_id) + if not page_access_token: + logger.error(f"Unable to retrieve access token for page ID: {page_id}") + return None + + # Fetch the appropriate OpenAI assistant for the page + try: + page_assistant = FacebookPageAssistant.objects.get(page_id=page_id) + openai_assistant_model = page_assistant.assistant + logger.info(f"Using assistant '{openai_assistant_model.name}' for page '{page_assistant.page_name}'") + except ObjectDoesNotExist: + logger.error(f"No assistant configured for page ID: {page_id}") + return None + # Use a default message if the received message is empty + if not message or message.strip() == "": + message = "Thank you for sharing this comment! What do you think about it?" + + openai_service = OpenAIService(name=openai_assistant_model.name) # Pass the model's name to the service + bot_response = openai_service.handle_message(message) + + # Send the response to Facebook + url = f"{self.base_url}/{comment_id}/comments" + payload = {"message": bot_response, "access_token": page_access_token} + try: + response = requests.post(url, data=payload) + response.raise_for_status() + logger.info(f"Replied to comment ID: {comment_id}") + # Store the interaction in Neo4j + self.neo4j_db.store_interaction( + user_id=f"fb_user_{comment_id}", + bot_id=f"fb_bot_{page_id}", + user_message=message, + bot_response=bot_response, + platform="Facebook" + ) + return response.json() + except requests.exceptions.RequestException as e: + logger.error(f"Failed to reply to comment ID: {comment_id}. Error: {e}") + return None diff --git a/pxy_meta_pages/tests.py b/pxy_meta_pages/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_meta_pages/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_meta_pages/urls.py b/pxy_meta_pages/urls.py new file mode 100644 index 0000000..9e733b2 --- /dev/null +++ b/pxy_meta_pages/urls.py @@ -0,0 +1,8 @@ +from django.urls import path +from . import views + +app_name = "pxy_meta_pages" + +urlpatterns = [ + path('webhook/', views.facebook_webhook, name='facebook_webhook'), +] diff --git a/pxy_meta_pages/views.py b/pxy_meta_pages/views.py new file mode 100644 index 0000000..972529b --- /dev/null +++ b/pxy_meta_pages/views.py @@ -0,0 +1,44 @@ +from django.http import JsonResponse, HttpResponse +from django.views.decorators.csrf import csrf_exempt +import json +import logging +from django.conf import settings +from .webhook_handlers import verify_webhook_token, parse_webhook_payload, handle_comment_event, handle_share_event + +# Configure logging +logger = logging.getLogger(__name__) + +VERIFY_TOKEN = settings.VERIFY_TOKEN + +@csrf_exempt +def facebook_webhook(request): + """ + Handles incoming webhook requests from Facebook. + """ + if request.method == "POST": + try: + logger.info("Received POST request.") + payload = json.loads(request.body) + data = parse_webhook_payload(payload) + + sender_id = data.get("from", {}).get("id") + page_id = payload.get("entry", [{}])[0].get("id") + item_type = data.get("item") + + if item_type == "share": + return handle_share_event(page_id, data) + elif item_type == "comment": + return handle_comment_event(page_id, sender_id, data) + + except json.JSONDecodeError as e: + logger.error(f"JSON decoding error: {e}") + return JsonResponse({"error": "Invalid JSON payload"}, status=400) + except Exception as e: + logger.error(f"Error processing webhook: {e}") + return JsonResponse({"error": str(e)}, status=500) + + logger.info("POST request processed successfully.") + return JsonResponse({"status": "success"}, status=200) + + logger.warning(f"Received unsupported HTTP method: {request.method}") + return HttpResponse("Method Not Allowed", status=405) diff --git a/pxy_meta_pages/webhook_handlers.py b/pxy_meta_pages/webhook_handlers.py new file mode 100644 index 0000000..5dc4d81 --- /dev/null +++ b/pxy_meta_pages/webhook_handlers.py @@ -0,0 +1,71 @@ +import json +import logging +from django.http import JsonResponse, HttpResponse +from .services import FacebookService +from django.conf import settings + +# Configure logging +logger = logging.getLogger(__name__) + +PAGE_ACCESS_TOKEN = settings.PAGE_ACCESS_TOKEN + +def verify_webhook_token(mode, token, challenge, verify_token): + """ + Verifies the webhook token and mode. + """ + if mode == "subscribe" and token == verify_token: + logger.info("Webhook verified successfully.") + return HttpResponse(challenge, status=200) + else: + logger.warning(f"Webhook verification failed. Mode: {mode}, Token: {token}") + return HttpResponse("Forbidden", status=403) + + +def parse_webhook_payload(payload): + """ + Parses the webhook payload and extracts relevant data. + """ + try: + entry = payload.get("entry", [{}])[0] + changes = entry.get("changes", [{}])[0] + value = changes.get("value", {}) + return value + except Exception as e: + logger.error(f"Error parsing payload: {e}") + raise + + +def handle_comment_event(page_id, sender_id, data): + """ + Handles incoming comment events. + """ + if sender_id == page_id: + logger.info(f"Skipping self-generated comment. Sender ID: {sender_id}, Page ID: {page_id}") + return JsonResponse({"status": "skipped"}, status=200) + + comment_id = data.get("comment_id") + original_message = data.get("message") + + if comment_id and original_message: + fb_service = FacebookService(PAGE_ACCESS_TOKEN) + fb_service.reply_to_comment(page_id, comment_id, original_message) + logger.info(f"Successfully replied to comment ID: {comment_id} with bot response: {original_message}") + + return JsonResponse({"status": "comment_handled"}, status=200) + + +def handle_share_event(page_id, data): + """ + Handles incoming share events. + """ + share_link = data.get("link") + post_id = data.get("post_id") + share_id = data.get("share_id") + original_message = data.get("message") + + logger.info(f"Post {post_id} was shared. Share ID: {share_id}, Link: {share_link}") + + fb_service = FacebookService(PAGE_ACCESS_TOKEN) + fb_service.post_comment_on_share(page_id, post_id, original_message) + + return JsonResponse({"status": "share_logged"}, status=200) diff --git a/pxy_neo4j/__init__.py b/pxy_neo4j/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_neo4j/__pycache__/__init__.cpython-310.pyc b/pxy_neo4j/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..1f3f6f4 Binary files /dev/null and b/pxy_neo4j/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_neo4j/__pycache__/admin.cpython-310.pyc b/pxy_neo4j/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..b8f0f02 Binary files /dev/null and b/pxy_neo4j/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_neo4j/__pycache__/apps.cpython-310.pyc b/pxy_neo4j/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..bfe947b Binary files /dev/null and b/pxy_neo4j/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_neo4j/__pycache__/models.cpython-310.pyc b/pxy_neo4j/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..dc0e549 Binary files /dev/null and b/pxy_neo4j/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_neo4j/__pycache__/neo4j_connector.cpython-310.pyc b/pxy_neo4j/__pycache__/neo4j_connector.cpython-310.pyc new file mode 100644 index 0000000..ce1e0b2 Binary files /dev/null and b/pxy_neo4j/__pycache__/neo4j_connector.cpython-310.pyc differ diff --git a/pxy_neo4j/admin.py b/pxy_neo4j/admin.py new file mode 100644 index 0000000..10ed1d9 --- /dev/null +++ b/pxy_neo4j/admin.py @@ -0,0 +1,59 @@ +from django.contrib import admin +from django import forms +from .models import Neo4jProfile + +class Neo4jProfileForm(forms.ModelForm): + """ + Custom form to allow secure password & API key updates in Django Admin. + """ + password = forms.CharField( + widget=forms.PasswordInput(render_value=True), + required=False, + help_text="Leave blank to keep the current password." + ) + + openai_api_key = forms.CharField( + widget=forms.PasswordInput(render_value=True), + required=False, + help_text="Leave blank to keep the current API key." + ) + + class Meta: + model = Neo4jProfile + fields = "__all__" + + def clean_password(self): + """ + Ensure that the password field is only updated if changed. + """ + password = self.cleaned_data.get("password") + if not password and self.instance: + return self.instance.password # Keep the existing password if left blank + return password + + def clean_openai_api_key(self): + """ + Ensure that the OpenAI API key is only updated if changed. + """ + api_key = self.cleaned_data.get("openai_api_key") + if not api_key and self.instance: + return self.instance.openai_api_key # Keep the existing API key if left blank + return api_key + +@admin.register(Neo4jProfile) +class Neo4jProfileAdmin(admin.ModelAdmin): + form = Neo4jProfileForm + list_display = ("name", "uri", "model_name") # Display only non-sensitive info + search_fields = ("name", "uri", "model_name") # Enable search functionality + list_filter = ("model_name",) # Allow filtering by AI model + exclude = ("password", "openai_api_key") # Keep sensitive fields hidden in the list view + + def save_model(self, request, obj, form, change): + """ + Custom save behavior to log when an admin modifies a profile. + """ + if change: + self.message_user(request, f"Updated Neo4j Profile: {obj.name}") + else: + self.message_user(request, f"Created new Neo4j Profile: {obj.name}") + super().save_model(request, obj, form, change) diff --git a/pxy_neo4j/apps.py b/pxy_neo4j/apps.py new file mode 100644 index 0000000..84c509d --- /dev/null +++ b/pxy_neo4j/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyNeo4JConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_neo4j" diff --git a/pxy_neo4j/migrations/0001_initial.py b/pxy_neo4j/migrations/0001_initial.py new file mode 100644 index 0000000..4c0ea62 --- /dev/null +++ b/pxy_neo4j/migrations/0001_initial.py @@ -0,0 +1,63 @@ +# Generated by Django 5.0.3 on 2025-01-31 17:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Neo4jProfile", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "name", + models.CharField( + help_text="Profile name for the Neo4j database.", + max_length=100, + unique=True, + ), + ), + ( + "uri", + models.CharField(help_text="Neo4j connection URI.", max_length=255), + ), + ( + "username", + models.CharField(help_text="Neo4j username.", max_length=100), + ), + ( + "password", + models.CharField( + help_text="Neo4j password (stored securely).", max_length=100 + ), + ), + ( + "openai_api_key", + models.CharField( + help_text="OpenAI API key (or equivalent LLM provider).", + max_length=255, + ), + ), + ( + "model_name", + models.CharField( + help_text="LLM Model used (e.g., gpt-4, deepseek-chat).", + max_length=100, + ), + ), + ], + ), + ] diff --git a/pxy_neo4j/migrations/__init__.py b/pxy_neo4j/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_neo4j/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_neo4j/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..86ab5da Binary files /dev/null and b/pxy_neo4j/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_neo4j/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_neo4j/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..b6a8b60 Binary files /dev/null and b/pxy_neo4j/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_neo4j/models.py b/pxy_neo4j/models.py new file mode 100644 index 0000000..17dffd8 --- /dev/null +++ b/pxy_neo4j/models.py @@ -0,0 +1,17 @@ +from django.db import models + +class Neo4jProfile(models.Model): + """ + Stores multiple Neo4j database configurations for different use cases, along with AI model configurations. + """ + name = models.CharField(max_length=100, unique=True, help_text="Profile name for the Neo4j database.") + uri = models.CharField(max_length=255, help_text="Neo4j connection URI.") + username = models.CharField(max_length=100, help_text="Neo4j username.") + password = models.CharField(max_length=100, help_text="Neo4j password (stored securely).") + + # AI Model Configuration for Cypher Query Generation + openai_api_key = models.CharField(max_length=255, help_text="OpenAI API key (or equivalent LLM provider).") + model_name = models.CharField(max_length=100, help_text="LLM Model used (e.g., gpt-4, deepseek-chat).") + + def __str__(self): + return f"{self.name} | Model: {self.model_name}" diff --git a/pxy_neo4j/neo4j_connector.py b/pxy_neo4j/neo4j_connector.py new file mode 100644 index 0000000..7c4a530 --- /dev/null +++ b/pxy_neo4j/neo4j_connector.py @@ -0,0 +1,111 @@ +import logging +from langchain_experimental.graph_transformers import LLMGraphTransformer +from langchain_openai import ChatOpenAI +from django.conf import settings +from langchain_community.graphs import Neo4jGraph +from langchain.schema import Document +from .models import Neo4jProfile +from datetime import datetime +from langchain.prompts import ChatPromptTemplate +from langchain_community.chains.graph_qa.cypher import GraphCypherQAChain + + +logger = logging.getLogger(__name__) + +DEFAULT_PROFILE_NAME = "DefaultNeo4jProfile" # Define a default profile + +class Neo4jDatabase: + """ + Handles connection to Neo4j using different profiles for various use cases. + """ + + def __init__(self, profile_name=None): + try: + # Load the specified Neo4j profile, or fallback to the default + if profile_name: + self.profile = Neo4jProfile.objects.get(name=profile_name) + else: + logger.warning("No profile specified. Using default Neo4j profile.") + self.profile = Neo4jProfile.objects.get(name=DEFAULT_PROFILE_NAME) + + # Connect to the assigned Neo4j instance + self.graph = Neo4jGraph( + url=self.profile.uri, + username=self.profile.username, + password=self.profile.password + ) + + # Load the correct AI model + self.llm = ChatOpenAI( + api_key=self.profile.openai_api_key, + model_name=self.profile.model_name, + temperature=0 + ) + + # Add the custom prompt to enforce English + english_prompt = ChatPromptTemplate.from_template( + "Transform the following text into a graph structure. All nodes, relationships, and properties should be in English, regardless of the original language." + ) + + # Apply the custom English prompt here + self.graph_transformer = LLMGraphTransformer( + llm=self.llm, + prompt=english_prompt + ) + + logger.info(f"Neo4jDatabase initialized with profile: {self.profile.name}") + + except Neo4jProfile.DoesNotExist: + logger.error(f"Neo4j profile '{profile_name}' not found.") + raise + except Exception as e: + logger.error(f"Failed to initialize Neo4jDatabase: {str(e)}") + raise + + def store_interaction(self, user_id, bot_id, user_message, bot_response, platform): + """ + Stores a chatbot interaction as a structured graph in Neo4j. + Converts messages into `Document` objects to work with `LLMGraphTransformer`. + """ + try: + + timestamp = datetime.utcnow().isoformat() + + # Convert messages into `Document` objects + documents = [ + Document(page_content=user_message, metadata={"role": "user", "user_id": user_id, "platform": platform, "created_at": timestamp}), + Document(page_content=bot_response, metadata={"role": "bot", "bot_id": bot_id, "platform": platform, "created_at": timestamp}), + ] + + # Convert text into structured graph documents + graph_docs = self.graph_transformer.convert_to_graph_documents(documents) + + # Store the structured graph data into Neo4j + self.graph.add_graph_documents(graph_docs, include_source=True) + + logger.info(f"Stored interaction in Neo4j (Profile: {self.profile.name})") + except Exception as e: + logger.error(f"Failed to store interaction in Neo4j: {str(e)}") + raise + + def query_graph(self, user_query): + """ + Queries the graph using GraphCypherQAChain and returns a structured response. + """ + logger.info(f"Calling Neo4j {user_query}") + try: + # Use AI model to generate Cypher query + qa_chain = GraphCypherQAChain.from_llm( + llm=self.llm, + graph=self.graph, + verbose=True, + allow_dangerous_requests=True + ) + + result = qa_chain.invoke({"query": user_query}) + logger.info(f"Resulting Neo4j {result}") + return result['result'] + + except Exception as e: + logger.error(f"Graph query failed: {e}") + return None diff --git a/pxy_neo4j/tests.py b/pxy_neo4j/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_neo4j/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_neo4j/views.py b/pxy_neo4j/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_neo4j/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_openai/__init__.py b/pxy_openai/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_openai/__pycache__/__init__.cpython-310.pyc b/pxy_openai/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..55e96cf Binary files /dev/null and b/pxy_openai/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_openai/__pycache__/admin.cpython-310.pyc b/pxy_openai/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..54709c5 Binary files /dev/null and b/pxy_openai/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_openai/__pycache__/apps.cpython-310.pyc b/pxy_openai/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..2bd47c1 Binary files /dev/null and b/pxy_openai/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_openai/__pycache__/assistants.cpython-310.pyc b/pxy_openai/__pycache__/assistants.cpython-310.pyc new file mode 100644 index 0000000..42be2de Binary files /dev/null and b/pxy_openai/__pycache__/assistants.cpython-310.pyc differ diff --git a/pxy_openai/__pycache__/client.cpython-310.pyc b/pxy_openai/__pycache__/client.cpython-310.pyc new file mode 100644 index 0000000..8950552 Binary files /dev/null and b/pxy_openai/__pycache__/client.cpython-310.pyc differ diff --git a/pxy_openai/__pycache__/models.cpython-310.pyc b/pxy_openai/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..282a834 Binary files /dev/null and b/pxy_openai/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_openai/admin.py b/pxy_openai/admin.py new file mode 100644 index 0000000..686ffe0 --- /dev/null +++ b/pxy_openai/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin +from .models import OpenAIAssistant + +@admin.register(OpenAIAssistant) +class OpenAIAssistantAdmin(admin.ModelAdmin): + list_display = ("name", "api_key", "assistant_id", "created_at", "updated_at") + search_fields = ("name", "description") diff --git a/pxy_openai/apps.py b/pxy_openai/apps.py new file mode 100644 index 0000000..7e6ae54 --- /dev/null +++ b/pxy_openai/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyOpenaiConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_openai" diff --git a/pxy_openai/assistants.py b/pxy_openai/assistants.py new file mode 100644 index 0000000..5c2adc4 --- /dev/null +++ b/pxy_openai/assistants.py @@ -0,0 +1,76 @@ +import logging +from .client import OpenAIClient +from .models import OpenAIAssistant as OpenAIAssistantModel + +logger = logging.getLogger(__name__) + +class OpenAIAssistant: + """ + OpenAI Assistant for handling AI interactions. + """ + def __init__(self, name): + """ + Initialize the assistant by loading its configuration from the database. + """ + try: + self.config = OpenAIAssistantModel.objects.get(name=name) + self.client = OpenAIClient(self.config.api_key).get_client() + except OpenAIAssistantModel.DoesNotExist: + raise ValueError(f"Assistant '{name}' not found in the database.") + + def chat_completion(self, user_message): + """ + Call OpenAI's chat completion API. + """ + try: + response = self.client.chat.completions.create( + model="gpt-4o-mini", + messages=[ + { + "role": "system", + "content": self.config.description, # Use description as the system prompt + }, + {"role": "user", "content": user_message}, + ], + ) + return response.choices[0].message.content + except Exception as e: + logger.error(f"Error in chat completion: {e}") + return f"Error in chat completion: {e}" + + def agent_workflow(self, user_message): + """ + Call OpenAI's advanced agent workflow API. + """ + try: + if not self.config.assistant_id: + raise ValueError(f"Assistant '{self.config.name}' does not have an associated assistant ID.") + + assistant = self.client.beta.assistants.retrieve(self.config.assistant_id) + thread = self.client.beta.threads.create() + + # Create a message in the thread + self.client.beta.threads.messages.create(thread_id=thread.id, role="user", content=user_message) + + # Run the assistant workflow + run = self.client.beta.threads.runs.create(thread_id=thread.id, assistant_id=assistant.id) + + # Poll for the result + while run.status in ["queued", "in_progress"]: + run = self.client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id) + if run.status == "completed": + messages = self.client.beta.threads.messages.list(thread_id=thread.id) + return messages.data[0].content[0].text.value + + return "Unexpected error: Workflow did not complete." + except Exception as e: + logger.error(f"Error in agent workflow: {e}") + return f"Error in agent workflow: {e}" + + def handle_message(self, user_message): + """ + Automatically select the correct method based on assistant type. + """ + if self.config.is_special_assistant(): + return self.agent_workflow(user_message) + return self.chat_completion(user_message) diff --git a/pxy_openai/client.py b/pxy_openai/client.py new file mode 100644 index 0000000..fa5f3fb --- /dev/null +++ b/pxy_openai/client.py @@ -0,0 +1,14 @@ +from openai import OpenAI + +class OpenAIClient: + """ + Centralized OpenAI client to manage API interactions. + """ + def __init__(self, api_key): + self.client = OpenAI(api_key=api_key) + + def get_client(self): + """ + Returns the initialized OpenAI client. + """ + return self.client diff --git a/pxy_openai/migrations/0001_initial.py b/pxy_openai/migrations/0001_initial.py new file mode 100644 index 0000000..31c45f7 --- /dev/null +++ b/pxy_openai/migrations/0001_initial.py @@ -0,0 +1,61 @@ +# Generated by Django 5.0.3 on 2025-01-16 18:10 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="OpenAIAssistant", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "name", + models.CharField( + help_text="Unique name of the assistant", + max_length=100, + unique=True, + ), + ), + ( + "description", + models.TextField( + blank=True, + help_text="Description of the assistant's behavior", + null=True, + ), + ), + ( + "api_key", + models.CharField( + help_text="API key for accessing OpenAI services", + max_length=200, + ), + ), + ( + "assistant_id", + models.CharField( + blank=True, + help_text="Optional assistant ID for advanced workflows", + max_length=100, + null=True, + ), + ), + ("created_at", models.DateTimeField(auto_now_add=True)), + ("updated_at", models.DateTimeField(auto_now=True)), + ], + ), + ] diff --git a/pxy_openai/migrations/__init__.py b/pxy_openai/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_openai/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_openai/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..60d152f Binary files /dev/null and b/pxy_openai/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_openai/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_openai/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..4e88a5f Binary files /dev/null and b/pxy_openai/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_openai/models.py b/pxy_openai/models.py new file mode 100644 index 0000000..7ff8848 --- /dev/null +++ b/pxy_openai/models.py @@ -0,0 +1,21 @@ +from django.db import models + +class OpenAIAssistant(models.Model): + """ + Model to store OpenAI assistant details. + """ + name = models.CharField(max_length=100, unique=True, help_text="Unique name of the assistant") + description = models.TextField(blank=True, null=True, help_text="Description of the assistant's behavior") + api_key = models.CharField(max_length=200, help_text="API key for accessing OpenAI services") + assistant_id = models.CharField(max_length=100, blank=True, null=True, help_text="Optional assistant ID for advanced workflows") + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def is_special_assistant(self): + """ + Determines if the assistant is special (has an assistant_id). + """ + return bool(self.assistant_id) + + def __str__(self): + return self.name diff --git a/pxy_openai/tests.py b/pxy_openai/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_openai/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_openai/views.py b/pxy_openai/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_openai/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_orchestrator/__init__.py b/pxy_orchestrator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_orchestrator/admin.py b/pxy_orchestrator/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/pxy_orchestrator/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/pxy_orchestrator/apps.py b/pxy_orchestrator/apps.py new file mode 100644 index 0000000..90bc7b6 --- /dev/null +++ b/pxy_orchestrator/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyOrchestratorConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_orchestrator" diff --git a/pxy_orchestrator/migrations/__init__.py b/pxy_orchestrator/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_orchestrator/models.py b/pxy_orchestrator/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/pxy_orchestrator/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/pxy_orchestrator/tests.py b/pxy_orchestrator/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_orchestrator/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_orchestrator/views.py b/pxy_orchestrator/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/pxy_orchestrator/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/pxy_whatsapp/__init__.py b/pxy_whatsapp/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_whatsapp/__pycache__/__init__.cpython-310.pyc b/pxy_whatsapp/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..95547b6 Binary files /dev/null and b/pxy_whatsapp/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_whatsapp/__pycache__/admin.cpython-310.pyc b/pxy_whatsapp/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000..6e93f46 Binary files /dev/null and b/pxy_whatsapp/__pycache__/admin.cpython-310.pyc differ diff --git a/pxy_whatsapp/__pycache__/apps.cpython-310.pyc b/pxy_whatsapp/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000..48d9732 Binary files /dev/null and b/pxy_whatsapp/__pycache__/apps.cpython-310.pyc differ diff --git a/pxy_whatsapp/__pycache__/models.cpython-310.pyc b/pxy_whatsapp/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000..6a5ceb4 Binary files /dev/null and b/pxy_whatsapp/__pycache__/models.cpython-310.pyc differ diff --git a/pxy_whatsapp/__pycache__/urls.cpython-310.pyc b/pxy_whatsapp/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000..59a37e7 Binary files /dev/null and b/pxy_whatsapp/__pycache__/urls.cpython-310.pyc differ diff --git a/pxy_whatsapp/__pycache__/views.cpython-310.pyc b/pxy_whatsapp/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000..392def5 Binary files /dev/null and b/pxy_whatsapp/__pycache__/views.cpython-310.pyc differ diff --git a/pxy_whatsapp/admin.py b/pxy_whatsapp/admin.py new file mode 100644 index 0000000..82d0102 --- /dev/null +++ b/pxy_whatsapp/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin +from .models import WhatsAppBot + +@admin.register(WhatsAppBot) +class WhatsAppBotAdmin(admin.ModelAdmin): + list_display = ('name', 'phone_number_id', 'is_active') + search_fields = ('name', 'phone_number_id') diff --git a/pxy_whatsapp/apps.py b/pxy_whatsapp/apps.py new file mode 100644 index 0000000..15ed5fd --- /dev/null +++ b/pxy_whatsapp/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PxyWhatsappWebhookConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "pxy_whatsapp" diff --git a/pxy_whatsapp/migrations/0001_initial.py b/pxy_whatsapp/migrations/0001_initial.py new file mode 100644 index 0000000..caaccdf --- /dev/null +++ b/pxy_whatsapp/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# Generated by Django 5.0.3 on 2025-01-16 19:49 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="WhatsAppBot", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("name", models.CharField(max_length=255, unique=True)), + ("phone_number_id", models.CharField(max_length=255, unique=True)), + ("graph_api_token", models.TextField()), + ("is_active", models.BooleanField(default=True)), + ], + ), + ] diff --git a/pxy_whatsapp/migrations/0002_whatsappbot_webhook_verify_token_and_more.py b/pxy_whatsapp/migrations/0002_whatsappbot_webhook_verify_token_and_more.py new file mode 100644 index 0000000..cd65537 --- /dev/null +++ b/pxy_whatsapp/migrations/0002_whatsappbot_webhook_verify_token_and_more.py @@ -0,0 +1,49 @@ +# Generated by Django 5.0.3 on 2025-01-16 22:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_whatsapp", "0001_initial"), + ] + + operations = [ + migrations.AddField( + model_name="whatsappbot", + name="webhook_verify_token", + field=models.CharField( + default="default_value", + help_text="Token for verifying the webhook.", + max_length=255, + ), + preserve_default=False, + ), + migrations.AlterField( + model_name="whatsappbot", + name="graph_api_token", + field=models.TextField(help_text="Graph API token for the bot."), + ), + migrations.AlterField( + model_name="whatsappbot", + name="is_active", + field=models.BooleanField( + default=False, help_text="Is this bot currently active?" + ), + ), + migrations.AlterField( + model_name="whatsappbot", + name="name", + field=models.CharField( + help_text="Name of the WhatsApp bot.", max_length=255, unique=True + ), + ), + migrations.AlterField( + model_name="whatsappbot", + name="phone_number_id", + field=models.CharField( + help_text="Phone number ID for the bot.", max_length=255 + ), + ), + ] diff --git a/pxy_whatsapp/migrations/0003_whatsappbot_assistant.py b/pxy_whatsapp/migrations/0003_whatsappbot_assistant.py new file mode 100644 index 0000000..4ded808 --- /dev/null +++ b/pxy_whatsapp/migrations/0003_whatsappbot_assistant.py @@ -0,0 +1,27 @@ +# Generated by Django 5.0.3 on 2025-01-28 18:34 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("pxy_openai", "0001_initial"), + ("pxy_whatsapp", "0002_whatsappbot_webhook_verify_token_and_more"), + ] + + operations = [ + migrations.AddField( + model_name="whatsappbot", + name="assistant", + field=models.ForeignKey( + default=1, + help_text="The OpenAI assistant associated with this WhatsApp bot.", + on_delete=django.db.models.deletion.CASCADE, + related_name="whatsapp_bots", + to="pxy_openai.openaiassistant", + ), + preserve_default=False, + ), + ] diff --git a/pxy_whatsapp/migrations/__init__.py b/pxy_whatsapp/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/pxy_whatsapp/migrations/__pycache__/0001_initial.cpython-310.pyc b/pxy_whatsapp/migrations/__pycache__/0001_initial.cpython-310.pyc new file mode 100644 index 0000000..e622ac1 Binary files /dev/null and b/pxy_whatsapp/migrations/__pycache__/0001_initial.cpython-310.pyc differ diff --git a/pxy_whatsapp/migrations/__pycache__/0002_whatsappbot_webhook_verify_token_and_more.cpython-310.pyc b/pxy_whatsapp/migrations/__pycache__/0002_whatsappbot_webhook_verify_token_and_more.cpython-310.pyc new file mode 100644 index 0000000..a76d24c Binary files /dev/null and b/pxy_whatsapp/migrations/__pycache__/0002_whatsappbot_webhook_verify_token_and_more.cpython-310.pyc differ diff --git a/pxy_whatsapp/migrations/__pycache__/0003_whatsappbot_assistant.cpython-310.pyc b/pxy_whatsapp/migrations/__pycache__/0003_whatsappbot_assistant.cpython-310.pyc new file mode 100644 index 0000000..e14b739 Binary files /dev/null and b/pxy_whatsapp/migrations/__pycache__/0003_whatsappbot_assistant.cpython-310.pyc differ diff --git a/pxy_whatsapp/migrations/__pycache__/__init__.cpython-310.pyc b/pxy_whatsapp/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..40aaa3e Binary files /dev/null and b/pxy_whatsapp/migrations/__pycache__/__init__.cpython-310.pyc differ diff --git a/pxy_whatsapp/models.py b/pxy_whatsapp/models.py new file mode 100644 index 0000000..bc2e98f --- /dev/null +++ b/pxy_whatsapp/models.py @@ -0,0 +1,18 @@ +from django.db import models +from pxy_openai.models import OpenAIAssistant # Import the OpenAIAssistant model + +class WhatsAppBot(models.Model): + name = models.CharField(max_length=255, unique=True, help_text="Name of the WhatsApp bot.") + phone_number_id = models.CharField(max_length=255, help_text="Phone number ID for the bot.") + graph_api_token = models.TextField(help_text="Graph API token for the bot.") + webhook_verify_token = models.CharField(max_length=255, help_text="Token for verifying the webhook.") + is_active = models.BooleanField(default=False, help_text="Is this bot currently active?") + assistant = models.ForeignKey( + OpenAIAssistant, + on_delete=models.CASCADE, + related_name="whatsapp_bots", + help_text="The OpenAI assistant associated with this WhatsApp bot.", + ) + + def __str__(self): + return self.name diff --git a/pxy_whatsapp/tests.py b/pxy_whatsapp/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/pxy_whatsapp/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/pxy_whatsapp/urls.py b/pxy_whatsapp/urls.py new file mode 100644 index 0000000..be3ef61 --- /dev/null +++ b/pxy_whatsapp/urls.py @@ -0,0 +1,7 @@ +from django.urls import path +from . import views + +urlpatterns = [ + path('webhook/', views.webhook, name='webhook'), + path('webhook/verify/', views.webhook_verification, name='webhook_verification'), +] diff --git a/pxy_whatsapp/views.py b/pxy_whatsapp/views.py new file mode 100644 index 0000000..34966bc --- /dev/null +++ b/pxy_whatsapp/views.py @@ -0,0 +1,128 @@ +import os +import json +import requests +import logging +from django.http import JsonResponse, HttpResponse +from django.views.decorators.csrf import csrf_exempt +from django.views.decorators.http import require_http_methods +from django.shortcuts import get_object_or_404 +from pxy_openai.assistants import OpenAIAssistant +from .models import WhatsAppBot + +logger = logging.getLogger(__name__) + +# Utility Functions +def send_whatsapp_message(phone_number_id, sender_number, bot_response, graph_api_token): + """ + Sends a message back to the user via WhatsApp. + """ + try: + response = requests.post( + f"https://graph.facebook.com/v18.0/{phone_number_id}/messages", + headers={"Authorization": f"Bearer {graph_api_token}"}, + json={ + "messaging_product": "whatsapp", + "to": sender_number, + "text": {"body": bot_response}, + }, + ) + response.raise_for_status() + except Exception as e: + logger.error(f"Error sending message via WhatsApp: {e}") + + +def verify_webhook_token(mode, token, challenge, verify_token): + """ + Verifies the webhook token and mode. + """ + if mode == "subscribe" and token == verify_token: + return HttpResponse(challenge, status=200) + return HttpResponse("Forbidden", status=403) + + +def parse_webhook_payload(payload): + """ + Parses the webhook payload and extracts relevant data. + """ + entry = payload.get("entry", [{}])[0] + changes = entry.get("changes", [{}])[0] + value = changes.get("value", {}) + message = value.get("messages", [{}])[0] + return value, message + + +# Webhook Endpoint +@csrf_exempt +def webhook(request): + """ + Handles incoming webhook requests from WhatsApp. + """ + if request.method == "GET": + # Webhook verification + mode = request.GET.get("hub.mode") + token = request.GET.get("hub.verify_token") + challenge = request.GET.get("hub.challenge") + + # Use the first active bot for verification + bot = WhatsAppBot.objects.filter(is_active=True).first() + if bot: + return verify_webhook_token(mode, token, challenge, bot.webhook_verify_token) + return HttpResponse("No active bots configured", status=500) + + elif request.method == "POST": + try: + # Parse the incoming payload + payload = json.loads(request.body) + value, message = parse_webhook_payload(payload) + + if message.get("type") == "text": + user_message = message["text"]["body"] + phone_number_id = value.get("metadata", {}).get("phone_number_id") + sender_number = message["from"] + + logger.info(f"Received phone_number_id from webhook payload: {phone_number_id}") + # Fetch the appropriate bot configuration + bot = get_object_or_404(WhatsAppBot, phone_number_id=phone_number_id, is_active=True) + + # Initialize the assistant and get a response + assistant = OpenAIAssistant(name=bot.assistant.name) + try: + bot_response = assistant.handle_message(user_message) + except Exception as e: + bot_response = f"Assistant error: {e}" + logger.error(bot_response) + + # Send the response back to the user + send_whatsapp_message(bot.phone_number_id, sender_number, bot_response, bot.graph_api_token) + + except Exception as e: + logger.error(f"Error processing webhook: {e}") + + return JsonResponse({}, status=200) + + return HttpResponse("Method Not Allowed", status=405) + + +# Webhook Verification Endpoint +@require_http_methods(["GET"]) +def webhook_verification(request): + """ + Verifies the webhook token from WhatsApp. + """ + mode = request.GET.get("hub.mode") + token = request.GET.get("hub.verify_token") + challenge = request.GET.get("hub.challenge") + + # Use the first active bot for verification + bot = WhatsAppBot.objects.filter(is_active=True).first() + if bot: + return verify_webhook_token(mode, token, challenge, bot.webhook_verify_token) + return HttpResponse("No active bots configured", status=500) + + +# Root Endpoint +def root(request): + """ + A root endpoint for basic connectivity testing. + """ + return HttpResponse("
Nothing to see here.\nCheckout README.md to start.
", content_type="text/html") diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8e5f3a1 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,145 @@ +aiohappyeyeballs==2.4.4 +aiohttp==3.11.11 +aiosignal==1.3.2 +annotated-types==0.6.0 +anyio==4.3.0 +asgiref==3.7.2 +async-timeout==4.0.3 +attrs==25.1.0 +backoff==2.2.1 +bcrypt==4.2.1 +build==1.2.2.post1 +cachetools==5.5.1 +certifi==2024.2.2 +charset-normalizer==3.3.2 +chroma-hnswlib==0.7.6 +chromadb==0.6.3 +click==8.1.8 +coloredlogs==15.0.1 +dataclasses-json==0.6.7 +Deprecated==1.2.18 +distro==1.9.0 +Django==5.0.3 +durationpy==0.9 +exceptiongroup==1.2.1 +fastapi==0.115.8 +filelock==3.17.0 +flatbuffers==25.1.24 +frozenlist==1.5.0 +fsspec==2024.12.0 +google-auth==2.38.0 +googleapis-common-protos==1.66.0 +greenlet==3.1.1 +grpcio==1.70.0 +h11==0.14.0 +httpcore==1.0.5 +httptools==0.6.4 +httpx==0.27.0 +httpx-sse==0.4.0 +huggingface-hub==0.28.1 +humanfriendly==10.0 +idna==3.6 +importlib_metadata==8.5.0 +importlib_resources==6.5.2 +interchange==2021.0.4 +jiter==0.8.2 +jsonpatch==1.33 +jsonpointer==3.0.0 +kubernetes==32.0.0 +langchain==0.3.16 +langchain-community==0.3.16 +langchain-core==0.3.32 +langchain-deepseek-official==0.1.0 +langchain-experimental==0.3.4 +langchain-neo4j==0.3.0 +langchain-openai==0.3.2 +langchain-text-splitters==0.3.5 +langsmith==0.3.2 +markdown-it-py==3.0.0 +marshmallow==3.26.0 +mdurl==0.1.2 +mmh3==5.1.0 +monotonic==1.6 +mpmath==1.3.0 +multidict==6.1.0 +mypy-extensions==1.0.0 +mysqlclient==2.2.4 +neo4j==5.27.0 +numpy==1.26.4 +oauthlib==3.2.2 +onnxruntime==1.20.1 +openai==1.60.2 +opentelemetry-api==1.29.0 +opentelemetry-exporter-otlp-proto-common==1.29.0 +opentelemetry-exporter-otlp-proto-grpc==1.29.0 +opentelemetry-instrumentation==0.50b0 +opentelemetry-instrumentation-asgi==0.50b0 +opentelemetry-instrumentation-fastapi==0.50b0 +opentelemetry-proto==1.29.0 +opentelemetry-sdk==1.29.0 +opentelemetry-semantic-conventions==0.50b0 +opentelemetry-util-http==0.50b0 +orjson==3.10.15 +overrides==7.7.0 +packaging==24.2 +pansi==2024.11.0 +pillow==10.2.0 +posthog==3.11.0 +propcache==0.2.1 +protobuf==5.29.3 +py2neo==2021.2.4 +pyasn1==0.6.1 +pyasn1_modules==0.4.1 +pydantic==2.10.6 +pydantic-settings==2.7.1 +pydantic_core==2.27.2 +Pygments==2.19.1 +pypdf==5.2.0 +PyPika==0.48.9 +pyproject_hooks==1.2.0 +python-dateutil==2.9.0.post0 +python-dotenv==1.0.1 +python-telegram-bot==21.1.1 +pytz==2024.2 +PyYAML==6.0.2 +regex==2024.11.6 +requests==2.31.0 +requests-oauthlib==2.0.0 +requests-toolbelt==1.0.0 +rich==13.9.4 +rsa==4.9 +shellingham==1.5.4 +six==1.17.0 +sniffio==1.3.1 +SQLAlchemy==2.0.37 +sqlparse==0.4.4 +starlette==0.45.3 +sympy==1.13.3 +tenacity==9.0.0 +tiktoken==0.8.0 +tokenizers==0.21.0 +tomli==2.2.1 +tqdm==4.66.2 +typer==0.15.1 +typing-inspect==0.9.0 +typing_extensions==4.12.2 +urllib3==2.2.1 +uvicorn==0.34.0 +uvloop==0.21.0 +watchfiles==1.0.4 +websocket-client==1.8.0 +websockets==14.2 +wrapt==1.17.2 +yarl==1.18.3 +zipp==3.21.0 +zstandard==0.23.0 +gunicorn +psycopg2 +dj-database-url +networkx +osmnx>=1.6 +geopandas +shapely +pyproj +pyrosm +matplotlib diff --git a/sqlite_dump.sql b/sqlite_dump.sql new file mode 100644 index 0000000..ccf10ab --- /dev/null +++ b/sqlite_dump.sql @@ -0,0 +1 @@ +OCI runtime exec failed: exec failed: unable to start container process: exec: "sqlite3": executable file not found in $PATH: unknown diff --git a/static/admin/css/autocomplete.css b/static/admin/css/autocomplete.css new file mode 100644 index 0000000..69c94e7 --- /dev/null +++ b/static/admin/css/autocomplete.css @@ -0,0 +1,275 @@ +select.admin-autocomplete { + width: 20em; +} + +.select2-container--admin-autocomplete.select2-container { + min-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single, +.select2-container--admin-autocomplete .select2-selection--multiple { + min-height: 30px; + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection, +.select2-container--admin-autocomplete.select2-container--open .select2-selection { + border-color: var(--body-quiet-color); + min-height: 30px; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single { + padding: 0; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple, +.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-selection--single { + background-color: var(--body-bg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: var(--body-fg); + line-height: 30px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder { + color: var(--body-quiet-color); +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single { + background-color: var(--darkened-bg); + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple { + background-color: var(--body-bg); + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: text; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 10px 5px 5px; + width: 100%; + display: flex; + flex-wrap: wrap; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li { + list-style: none; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder { + color: var(--body-quiet-color); + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; + position: absolute; + right: 0; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: var(--darkened-bg); + border: 1px solid var(--border-color); + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove { + color: var(--body-quiet-color); + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: var(--body-fg); +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; +} + +.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; +} + +.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple { + border: solid var(--body-quiet-color) 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: var(--darkened-bg); + cursor: default; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove { + display: none; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.select2-container--admin-autocomplete .select2-search--dropdown { + background: var(--darkened-bg); +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + color: var(--body-fg); + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; +} + +.select2-container--admin-autocomplete .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; + color: var(--body-fg); + background: var(--body-bg); +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: var(--body-quiet-color); +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: var(--selected-bg); + color: var(--body-fg); +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option { + padding-left: 1em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; +} + +.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; +} + +.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] { + background-color: var(--primary); + color: var(--primary-fg); +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} diff --git a/static/admin/css/base.css b/static/admin/css/base.css new file mode 100644 index 0000000..44f2fc8 --- /dev/null +++ b/static/admin/css/base.css @@ -0,0 +1,1156 @@ +/* + DJANGO Admin styles +*/ + +/* VARIABLE DEFINITIONS */ +html[data-theme="light"], +:root { + --primary: #79aec8; + --secondary: #417690; + --accent: #f5dd5d; + --primary-fg: #fff; + + --body-fg: #333; + --body-bg: #fff; + --body-quiet-color: #666; + --body-loud-color: #000; + + --header-color: #ffc; + --header-branding-color: var(--accent); + --header-bg: var(--secondary); + --header-link-color: var(--primary-fg); + + --breadcrumbs-fg: #c4dce8; + --breadcrumbs-link-fg: var(--body-bg); + --breadcrumbs-bg: #264b5d; + + --link-fg: #417893; + --link-hover-color: #036; + --link-selected-fg: var(--secondary); + + --hairline-color: #e8e8e8; + --border-color: #ccc; + + --error-fg: #ba2121; + + --message-success-bg: #dfd; + --message-warning-bg: #ffc; + --message-error-bg: #ffefef; + + --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ + --selected-bg: #e4e4e4; /* E.g. selected table cells */ + --selected-row: #ffc; + + --button-fg: #fff; + --button-bg: var(--secondary); + --button-hover-bg: #205067; + --default-button-bg: #205067; + --default-button-hover-bg: var(--secondary); + --close-button-bg: #747474; + --close-button-hover-bg: #333; + --delete-button-bg: #ba2121; + --delete-button-hover-bg: #a41515; + + --object-tools-fg: var(--button-fg); + --object-tools-bg: var(--close-button-bg); + --object-tools-hover-bg: var(--close-button-hover-bg); + + --font-family-primary: + "Segoe UI", + system-ui, + Roboto, + "Helvetica Neue", + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + --font-family-monospace: + ui-monospace, + Menlo, + Monaco, + "Cascadia Mono", + "Segoe UI Mono", + "Roboto Mono", + "Oxygen Mono", + "Ubuntu Monospace", + "Source Code Pro", + "Fira Mono", + "Droid Sans Mono", + "Courier New", + monospace, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; +} + +html, body { + height: 100%; +} + +body { + margin: 0; + padding: 0; + font-size: 0.875rem; + font-family: var(--font-family-primary); + color: var(--body-fg); + background: var(--body-bg); +} + +/* LINKS */ + +a:link, a:visited { + color: var(--link-fg); + text-decoration: none; + transition: color 0.15s, background 0.15s; +} + +a:focus, a:hover { + color: var(--link-hover-color); +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: var(--header-link-color); + text-decoration: none; +} + +a.section:focus, a.section:hover { + text-decoration: underline; +} + +/* GLOBAL DEFAULTS */ + +p, ol, ul, dl { + margin: .2em 0 .8em 0; +} + +p { + padding: 0; + line-height: 140%; +} + +h1,h2,h3,h4,h5 { + font-weight: bold; +} + +h1 { + margin: 0 0 20px; + font-weight: 300; + font-size: 1.25rem; + color: var(--body-quiet-color); +} + +h2 { + font-size: 1rem; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 0.875rem; + margin: .8em 0 .3em 0; + color: var(--body-quiet-color); + font-weight: bold; +} + +h4 { + font-size: 0.75rem; + margin: 1em 0 .8em 0; + padding-bottom: 3px; +} + +h5 { + font-size: 0.625rem; + margin: 1.5em 0 .5em 0; + color: var(--body-quiet-color); + text-transform: uppercase; + letter-spacing: 1px; +} + +ul > li { + list-style-type: square; + padding: 1px 0; +} + +li ul { + margin-bottom: 0; +} + +li, dt, dd { + font-size: 0.8125rem; + line-height: 1.25rem; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + min-width: 0; + padding: 0; + border: none; + border-top: 1px solid var(--hairline-color); +} + +blockquote { + font-size: 0.6875rem; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: var(--font-family-monospace); + color: var(--body-quiet-color); + font-size: 0.75rem; + overflow-x: auto; +} + +pre.literal-block { + margin: 10px; + background: var(--darkened-bg); + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: var(--hairline-color); + background-color: var(--hairline-color); + height: 1px; + border: none; + margin: 0; + padding: 0; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 0.6875rem; +} + +.mini { + font-size: 0.625rem; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +div.help ul { + margin-bottom: 0; +} + +.help-tooltip { + cursor: help; +} + +p img, h1 img, h2 img, h3 img, h4 img, td img { + vertical-align: middle; +} + +.quiet, a.quiet:link, a.quiet:visited { + color: var(--body-quiet-color); + font-weight: normal; +} + +.clear { + clear: both; +} + +.nowrap { + white-space: nowrap; +} + +.hidden { + display: none !important; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: var(--border-color); +} + +td, th { + font-size: 0.8125rem; + line-height: 1rem; + border-bottom: 1px solid var(--hairline-color); + vertical-align: top; + padding: 8px; +} + +th { + font-weight: 600; + text-align: left; +} + +thead th, +tfoot td { + color: var(--body-quiet-color); + padding: 5px 10px; + font-size: 0.6875rem; + background: var(--body-bg); + border: none; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); +} + +tfoot td { + border-bottom: none; + border-top: 1px solid var(--hairline-color); +} + +thead th.required { + color: var(--body-loud-color); +} + +tr.alt { + background: var(--darkened-bg); +} + +tr:nth-child(odd), .row-form-errors { + background: var(--body-bg); +} + +tr:nth-child(even), +tr:nth-child(even) .errorlist, +tr:nth-child(odd) + .row-form-errors, +tr:nth-child(odd) + .row-form-errors .errorlist { + background: var(--darkened-bg); +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: var(--darkened-bg); +} + +thead th a:link, thead th a:visited { + color: var(--body-quiet-color); +} + +thead th.sorted { + background: var(--selected-bg); +} + +thead th.sorted .text { + padding-right: 42px; +} + +table thead th .text span { + padding: 8px 10px; + display: block; +} + +table thead th .text a { + display: block; + cursor: pointer; + padding: 8px 10px; +} + +table thead th .text a:focus, table thead th .text a:hover { + background: var(--selected-bg); +} + +thead th.sorted a.sortremove { + visibility: hidden; +} + +table thead th.sorted:hover a.sortremove { + visibility: visible; +} + +table thead th.sorted .sortoptions { + display: block; + padding: 9px 5px 0 5px; + float: right; + text-align: right; +} + +table thead th.sorted .sortpriority { + font-size: .8em; + min-width: 12px; + text-align: center; + vertical-align: 3px; + margin-left: 2px; + margin-right: 2px; +} + +table thead th.sorted .sortoptions a { + position: relative; + width: 14px; + height: 14px; + display: inline-block; + background: url(../img/sorting-icons.svg) 0 0 no-repeat; + background-size: 14px auto; +} + +table thead th.sorted .sortoptions a.sortremove { + background-position: 0 0; +} + +table thead th.sorted .sortoptions a.sortremove:after { + content: '\\'; + position: absolute; + top: -6px; + left: 3px; + font-weight: 200; + font-size: 1.125rem; + color: var(--body-quiet-color); +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: var(--link-fg); +} + +table thead th.sorted .sortoptions a.sortremove:focus, +table thead th.sorted .sortoptions a.sortremove:hover { + background-position: 0 -14px; +} + +table thead th.sorted .sortoptions a.ascending { + background-position: 0 -28px; +} + +table thead th.sorted .sortoptions a.ascending:focus, +table thead th.sorted .sortoptions a.ascending:hover { + background-position: 0 -42px; +} + +table thead th.sorted .sortoptions a.descending { + top: 1px; + background-position: 0 -56px; +} + +table thead th.sorted .sortoptions a.descending:focus, +table thead th.sorted .sortoptions a.descending:hover { + background-position: 0 -70px; +} + +/* FORM DEFAULTS */ + +input, textarea, select, .form-row p, form .button { + margin: 2px 0; + padding: 2px 3px; + vertical-align: middle; + font-family: var(--font-family-primary); + font-weight: normal; + font-size: 0.8125rem; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +input[type=text], input[type=password], input[type=email], input[type=url], +input[type=number], input[type=tel], textarea, select, .vTextField { + border: 1px solid var(--border-color); + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} + +input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, +input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus, +textarea:focus, select:focus, .vTextField:focus { + border-color: var(--body-quiet-color); +} + +select { + height: 1.875rem; +} + +select[multiple] { + /* Allow HTML size attribute to override the height in the rule above. */ + height: auto; + min-height: 150px; +} + +/* FORM BUTTONS */ + +.button, input[type=submit], input[type=button], .submit-row input, a.button { + background: var(--button-bg); + padding: 10px 15px; + border: none; + border-radius: 4px; + color: var(--button-fg); + cursor: pointer; + transition: background 0.15s; +} + +a.button { + padding: 4px 5px; +} + +.button:active, input[type=submit]:active, input[type=button]:active, +.button:focus, input[type=submit]:focus, input[type=button]:focus, +.button:hover, input[type=submit]:hover, input[type=button]:hover { + background: var(--button-hover-bg); +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + border: none; + font-weight: 400; + background: var(--default-button-bg); +} + +.button.default:active, input[type=submit].default:active, +.button.default:focus, input[type=submit].default:focus, +.button.default:hover, input[type=submit].default:hover { + background: var(--default-button-hover-bg); +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: var(--body-bg); +} + +.module p, .module ul, .module h3, .module h4, .module dl, .module pre { + padding-left: 10px; + padding-right: 10px; +} + +.module blockquote { + margin-left: 12px; +} + +.module ul, .module ol { + margin-left: 1.5em; +} + +.module h3 { + margin-top: .6em; +} + +.module h2, .module caption, .inline-group h2 { + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 0.8125rem; + text-align: left; + background: var(--header-bg); + color: var(--header-link-color); +} + +.module caption, +.inline-group h2 { + font-size: 0.75rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +.module table { + border-collapse: collapse; +} + +/* MESSAGES & ERRORS */ + +ul.messagelist { + padding: 0; + margin: 0; +} + +ul.messagelist li { + display: block; + font-weight: 400; + font-size: 0.8125rem; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; + background-size: 16px auto; + color: var(--body-fg); + word-break: break-word; +} + +ul.messagelist li.warning { + background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 0.875rem; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: var(--error-fg); + border: 1px solid var(--error-fg); + border-radius: 4px; + background-color: var(--body-bg); + background-position: 5px 12px; + overflow-wrap: break-word; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: var(--error-fg); + background: var(--body-bg); +} + +ul.errorlist li { + font-size: 0.8125rem; + display: block; + margin-bottom: 4px; + overflow-wrap: break-word; +} + +ul.errorlist li:first-child { + margin-top: 0; +} + +ul.errorlist li a { + color: inherit; + text-decoration: underline; +} + +td ul.errorlist { + margin: 0; + padding: 0; +} + +td ul.errorlist li { + margin: 0; +} + +.form-row.errors { + margin: 0; + border: none; + border-bottom: 1px solid var(--hairline-color); + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea, +td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { + border: 1px solid var(--error-fg); +} + +.description { + font-size: 0.75rem; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: var(--breadcrumbs-bg); + padding: 10px 40px; + border: none; + color: var(--breadcrumbs-fg); + text-align: left; +} + +div.breadcrumbs a { + color: var(--breadcrumbs-link-fg); +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: var(--breadcrumbs-fg); +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + +.hidelink { + padding-left: 16px; + background: url(../img/icon-hidelink.svg) 0 1px no-repeat; +} + +.addlink { + padding-left: 16px; + background: url(../img/icon-addlink.svg) 0 1px no-repeat; +} + +.changelink, .inlinechangelink { + padding-left: 16px; + background: url(../img/icon-changelink.svg) 0 1px no-repeat; +} + +.deletelink { + padding-left: 16px; + background: url(../img/icon-deletelink.svg) 0 1px no-repeat; +} + +a.deletelink:link, a.deletelink:visited { + color: #CC3434; /* XXX Probably unused? */ +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; /* XXX Probably unused? */ + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 0.625rem; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 1rem; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: var(--object-tools-bg); + color: var(--object-tools-fg); + font-weight: 400; + font-size: 0.6875rem; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: var(--object-tools-hover-bg); +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink { + background-image: url(../img/tooltag-arrowright.svg); +} + +.object-tools a.addlink { + background-image: url(../img/tooltag-add.svg); +} + +/* OBJECT HISTORY */ + +#change-history table { + width: 100%; +} + +#change-history table tbody th { + width: 16em; +} + +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; + display: flex; + flex-direction: column; + height: 100%; +} + +#container > .main { + display: flex; + flex: 1 0 auto; +} + +.main > .content { + flex: 1 0; + max-width: 100%; +} + +.skip-to-content-link { + position: absolute; + top: -999px; + margin: 5px; + padding: 5px; + background: var(--body-bg); + z-index: 1; +} + +.skip-to-content-link:focus { + left: 0px; + top: 0px; +} + +#content { + padding: 20px 40px; +} + +.dashboard #content { + width: 600px; +} + +#content-main { + float: left; + width: 100%; +} + +#content-related { + float: right; + width: 260px; + position: relative; + margin-right: -300px; +} + +#footer { + clear: both; + padding: 10px; +} + +/* COLUMN TYPES */ + +.colMS { + margin-right: 300px; +} + +.colSM { + margin-left: 300px; +} + +.colSM #content-related { + float: left; + margin-right: 0; + margin-left: -300px; +} + +.colSM #content-main { + float: right; +} + +.popup .colM { + width: auto; +} + +/* HEADER */ + +#header { + width: auto; + height: auto; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 40px; + background: var(--header-bg); + color: var(--header-color); +} + +#header a:link, #header a:visited, #logout-form button { + color: var(--header-link-color); +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +#branding { + display: flex; +} + +#site-name { + padding: 0; + margin: 0; + margin-inline-end: 20px; + font-weight: 300; + font-size: 1.5rem; + color: var(--header-branding-color); +} + +#site-name a:link, #site-name a:visited { + color: var(--accent); +} + +#branding h2 { + padding: 0 10px; + font-size: 0.875rem; + margin: -8px 0 8px 0; + font-weight: normal; + color: var(--header-color); +} + +#branding a:hover { + text-decoration: none; +} + +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: var(--font-family-primary); +} + +#user-tools { + float: right; + margin: 0 0 0 20px; + text-align: right; +} + +#user-tools, #logout-form button{ + padding: 0; + font-weight: 300; + font-size: 0.6875rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +#user-tools a, #logout-form button { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { + text-decoration: none; + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; +} + +/* SIDEBAR */ + +#content-related { + background: var(--darkened-bg); +} + +#content-related .module { + background: none; +} + +#content-related h3 { + color: var(--body-quiet-color); + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 0.8125rem; +} + +#content-related p { + padding-left: 16px; + padding-right: 16px; +} + +#content-related .actionlist { + padding: 0; + margin: 16px; +} + +#content-related .actionlist li { + line-height: 1.2; + margin-bottom: 10px; + padding-left: 18px; +} + +#content-related .module h2 { + background: none; + padding: 16px; + margin-bottom: 16px; + border-bottom: 1px solid var(--hairline-color); + font-size: 1.125rem; + color: var(--body-fg); +} + +.delete-confirmation form input[type="submit"] { + background: var(--delete-button-bg); + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: var(--delete-button-hover-bg); +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 0.9375rem; + line-height: 0.9375rem; + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); + background: var(--close-button-bg); + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: var(--close-button-hover-bg); +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} + +/* PAGINATOR */ + +.paginator { + display: flex; + align-items: center; + gap: 4px; + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} + +.paginator input { + margin-left: auto; +} + +.base-svgs { + display: none; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} diff --git a/static/admin/css/changelists.css b/static/admin/css/changelists.css new file mode 100644 index 0000000..573c389 --- /dev/null +++ b/static/admin/css/changelists.css @@ -0,0 +1,338 @@ +/* CHANGELISTS */ + +#changelist { + display: flex; + align-items: flex-start; + justify-content: space-between; +} + +#changelist .changelist-form-container { + flex: 1 1 auto; + min-width: 0; +} + +#changelist table { + width: 100%; +} + +.change-list .hiddenfields { display:none; } + +.change-list .filtered table { + border-right: none; +} + +.change-list .filtered { + min-height: 400px; +} + +.change-list .filtered .results, .change-list .filtered .paginator, +.filtered #toolbar, .filtered div.xfull { + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; + width: 100%; +} + +#changelist .toplinks { + border-bottom: 1px solid var(--hairline-color); +} + +#changelist .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + +/* CHANGELIST TABLES */ + +#changelist table thead th { + padding: 0; + white-space: nowrap; + vertical-align: middle; +} + +#changelist table thead th.action-checkbox-column { + width: 1.5em; + text-align: center; +} + +#changelist table tbody td.action-checkbox { + text-align: center; +} + +#changelist table tfoot { + color: var(--body-quiet-color); +} + +/* TOOLBAR */ + +#toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +#toolbar form input { + border-radius: 4px; + font-size: 0.875rem; + padding: 5px; + color: var(--body-fg); +} + +#toolbar #searchbar { + height: 1.1875rem; + border: 1px solid var(--border-color); + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 0.8125rem; + max-width: 100%; +} + +#toolbar #searchbar:focus { + border-color: var(--body-quiet-color); +} + +#toolbar form input[type="submit"] { + border: 1px solid var(--border-color); + font-size: 0.8125rem; + padding: 4px 8px; + margin: 0; + vertical-align: middle; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: var(--body-fg); +} + +#toolbar form input[type="submit"]:focus, +#toolbar form input[type="submit"]:hover { + border-color: var(--body-quiet-color); +} + +#changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +#changelist-search .help { + word-break: break-word; +} + +/* FILTER COLUMN */ + +#changelist-filter { + flex: 0 0 240px; + order: 1; + background: var(--darkened-bg); + border-left: none; + margin: 0 0 0 30px; +} + +#changelist-filter h2 { + font-size: 0.875rem; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3, +#changelist-filter details summary { + font-weight: 400; + padding: 0 15px; + margin-bottom: 10px; + cursor: pointer; +} + +#changelist-filter details summary > * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid var(--hairline-color); +} + +#changelist-filter ul:last-child { + border-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: var(--body-quiet-color); + word-break: break-word; +} + +#changelist-filter li.selected { + border-left: 5px solid var(--hairline-color); + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: var(--link-selected-fg); +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: var(--link-hover-color); +} + +#changelist-filter #changelist-filter-extra-actions { + font-size: 0.8125rem; + margin-bottom: 10px; + border-bottom: 1px solid var(--hairline-color); +} + +/* DATE DRILLDOWN */ + +.change-list .toplinks { + display: flex; + padding-bottom: 5px; + flex-wrap: wrap; + gap: 3px 17px; + font-weight: bold; +} + +.change-list .toplinks a { + font-size: 0.8125rem; +} + +.change-list .toplinks .date-back { + color: var(--body-quiet-color); +} + +.change-list .toplinks .date-back:focus, +.change-list .toplinks .date-back:hover { + color: var(--link-hover-color); +} + +/* ACTIONS */ + +.filtered .actions { + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +/* Once the :has() pseudo-class is supported by all browsers, the tr.selected + selector and the JS adding the class can be removed. */ +#changelist tbody tr.selected { + background-color: var(--selected-row); +} + +#changelist tbody tr:has(.action-select:checked) { + background-color: var(--selected-row); +} + +@media (forced-colors: active) { + #changelist tbody tr.selected { + background-color: SelectedItem; + } + #changelist tbody tr:has(.action-select:checked) { + background-color: SelectedItem; + } +} + +#changelist .actions { + padding: 10px; + background: var(--body-bg); + border-top: none; + border-bottom: none; + line-height: 1.5rem; + color: var(--body-quiet-color); + width: 100%; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 0.8125rem; + margin: 0 0.5em; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 1.5rem; + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; + font-size: 0.875rem; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: var(--body-quiet-color); +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 0.8125rem; +} + +#changelist .actions .button { + font-size: 0.8125rem; + border: 1px solid var(--border-color); + border-radius: 4px; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 1.5rem; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: var(--body-fg); +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: var(--body-quiet-color); +} diff --git a/static/admin/css/dark_mode.css b/static/admin/css/dark_mode.css new file mode 100644 index 0000000..c49b6bc --- /dev/null +++ b/static/admin/css/dark_mode.css @@ -0,0 +1,124 @@ +@media (prefers-color-scheme: dark) { + :root { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + } + } + + +html[data-theme="dark"] { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; +} + +/* THEME SWITCH */ +.theme-toggle { + cursor: pointer; + border: none; + padding: 0; + background: transparent; + vertical-align: middle; + margin-inline-start: 5px; + margin-top: -1px; +} + +.theme-toggle svg { + vertical-align: middle; + height: 1rem; + width: 1rem; + display: none; +} + +/* +Fully hide screen reader text so we only show the one matching the current +theme. +*/ +.theme-toggle .visually-hidden { + display: none; +} + +html[data-theme="auto"] .theme-toggle .theme-label-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle .theme-label-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle .theme-label-when-light { + display: block; +} + +/* ICONS */ +.theme-toggle svg.theme-icon-when-auto, +.theme-toggle svg.theme-icon-when-dark, +.theme-toggle svg.theme-icon-when-light { + fill: var(--header-link-color); + color: var(--header-bg); +} + +html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle svg.theme-icon-when-light { + display: block; +} diff --git a/static/admin/css/dashboard.css b/static/admin/css/dashboard.css new file mode 100644 index 0000000..242b81a --- /dev/null +++ b/static/admin/css/dashboard.css @@ -0,0 +1,29 @@ +/* DASHBOARD */ +.dashboard td, .dashboard th { + word-break: break-word; +} + +.dashboard .module table th { + width: 100%; +} + +.dashboard .module table td { + white-space: nowrap; +} + +.dashboard .module table td a { + display: block; + padding-right: .6em; +} + +/* RECENT ACTIONS MODULE */ + +.module ul.actionlist { + margin-left: 0; +} + +ul.actionlist li { + list-style-type: none; + overflow: hidden; + text-overflow: ellipsis; +} diff --git a/static/admin/css/forms.css b/static/admin/css/forms.css new file mode 100644 index 0000000..9a8dad0 --- /dev/null +++ b/static/admin/css/forms.css @@ -0,0 +1,534 @@ +@import url('widgets.css'); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 0.8125rem; + border-bottom: 1px solid var(--hairline-color); +} + +.form-row img, .form-row input { + vertical-align: middle; +} + +.form-row label input[type="checkbox"] { + margin-top: 0; + vertical-align: 0; +} + +form .form-row p { + padding-left: 0; +} + +.flex-container { + display: flex; +} + +.form-multiline { + flex-wrap: wrap; +} + +.form-multiline > div { + padding-bottom: 10px; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: var(--body-quiet-color); + font-size: 0.8125rem; +} + +.required label, label.required { + font-weight: bold; + color: var(--body-fg); +} + +/* RADIO BUTTONS */ + +form div.radiolist div { + padding-right: 7px; +} + +form div.radiolist.inline div { + display: inline-block; +} + +form div.radiolist label { + width: auto; +} + +form div.radiolist input[type="radio"] { + margin: -2px 4px 0 0; + padding: 0; +} + +form ul.inline { + margin-left: 0; + padding: 0; +} + +form ul.inline li { + float: left; + padding-right: 7px; +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + min-width: 160px; + width: 160px; + word-wrap: break-word; + line-height: 1; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; + height: 1.625rem; +} + +.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + overflow-wrap: break-word; +} + +.aligned ul label { + display: inline; + float: none; + width: auto; +} + +.aligned .form-row input { + margin-bottom: 0; +} + +.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField { + width: 350px; +} + +form .aligned ul { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned div.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-left: 0; + padding-left: 0; + font-weight: normal; +} + +form .aligned p.help:last-child, +form .aligned div.help:last-child { + margin-bottom: 0; + padding-bottom: 0; +} + +form .aligned input + p.help, +form .aligned textarea + p.help, +form .aligned select + p.help, +form .aligned input + div.help, +form .aligned textarea + div.help, +form .aligned select + div.help { + margin-left: 160px; + padding-left: 10px; +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + float: none; + width: auto; + display: inline-block; + vertical-align: -3px; + padding: 0 0 5px 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +fieldset .fieldBox { + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p, +form .wide ul.errorlist, +form .wide input + p.help, +form .wide input + div.help { + margin-left: 200px; +} + +form .wide p.help, +form .wide div.help { + padding-left: 50px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSED FIELDSETS */ + +fieldset.collapsed * { + display: none; +} + +fieldset.collapsed h2, fieldset.collapsed { + display: block; +} + +fieldset.collapsed { + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; +} + +fieldset.collapsed h2 { + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +fieldset .collapse-toggle { + color: var(--header-link-color); +} + +fieldset.collapsed .collapse-toggle { + background: transparent; + display: inline; + color: var(--link-fg); +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: var(--font-family-monospace); +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px 12px; + margin: 0 0 20px; + background: var(--darkened-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 2.1875rem; + line-height: 0.9375rem; +} + +.submit-row input, .submit-row a { + margin: 0; +} + +.submit-row input.default { + text-transform: uppercase; +} + +.submit-row a.deletelink { + margin-left: auto; +} + +.submit-row a.deletelink { + display: block; + background: var(--delete-button-bg); + border-radius: 4px; + padding: 0.625rem 0.9375rem; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.closelink { + display: inline-block; + background: var(--close-button-bg); + border-radius: 4px; + padding: 10px 15px; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: var(--delete-button-hover-bg); + text-decoration: none; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: var(--close-button-hover-bg); + text-decoration: none; +} + +/* CUSTOM FORM FIELDS */ + +.vSelectMultipleField { + vertical-align: top; +} + +.vCheckboxField { + border: none; +} + +.vDateField, .vTimeField { + margin-right: 2px; + margin-bottom: 4px; +} + +.vDateField { + min-width: 6.85em; +} + +.vTimeField { + min-width: 4.7em; +} + +.vURLField { + width: 30em; +} + +.vLargeTextField, .vXMLLargeTextField { + width: 48em; +} + +.flatpages-flatpage #id_content { + height: 40.2em; +} + +.module table .vPositiveSmallIntegerField { + width: 2.2em; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +/* INLINES */ + +.inline-group { + padding: 0; + margin: 0 0 30px; +} + +.inline-group thead th { + padding: 8px 10px; +} + +.inline-group .aligned label { + width: 160px; +} + +.inline-related { + position: relative; +} + +.inline-related h3 { + margin: 0; + color: var(--body-quiet-color); + padding: 5px; + font-size: 0.8125rem; + background: var(--darkened-bg); + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 0.6875rem; +} + +.inline-related fieldset { + margin: 0; + background: var(--body-bg); + border: none; + width: 100%; +} + +.inline-related fieldset.module h3 { + margin: 0; + padding: 2px 5px 3px 5px; + font-size: 0.6875rem; + text-align: left; + font-weight: bold; + background: #bcd; + color: var(--body-bg); +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; + overflow-x: scroll; +} + +.last-related fieldset { + border: none; +} + +.inline-group .tabular tr.has_original td { + padding-top: 2em; +} + +.inline-group .tabular tr td.original { + padding: 2px 0 0 0; + width: 0; + _position: relative; +} + +.inline-group .tabular th.original { + width: 0px; + padding: 0; +} + +.inline-group .tabular td.original p { + position: absolute; + left: 0; + height: 1.1em; + padding: 2px 9px; + overflow: hidden; + font-size: 0.5625rem; + font-weight: bold; + color: var(--body-quiet-color); + _width: 700px; +} + +.inline-group ul.tools { + padding: 0; + margin: 0; + list-style: none; +} + +.inline-group ul.tools li { + display: inline; + padding: 0 5px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: var(--body-quiet-color); + background: var(--darkened-bg); + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group ul.tools a.add, +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + background: url(../img/icon-addlink.svg) 0 1px no-repeat; + padding-left: 16px; + font-size: 0.75rem; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.related-lookup { + width: 1rem; + height: 1rem; + background-image: url(../img/search.svg); +} + +form .related-widget-wrapper ul { + display: inline-block; + margin-left: 0; + padding-left: 0; +} + +.clearable-file-input input { + margin-top: 0; +} diff --git a/static/admin/css/login.css b/static/admin/css/login.css new file mode 100644 index 0000000..389772f --- /dev/null +++ b/static/admin/css/login.css @@ -0,0 +1,61 @@ +/* LOGIN FORM */ + +.login { + background: var(--darkened-bg); + height: auto; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 1.125rem; + margin: 0; +} + +.login #header h1 a { + color: var(--header-link-color); +} + +.login #content { + padding: 20px 20px 0; +} + +.login #container { + background: var(--body-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; + height: auto; +} + +.login .form-row { + padding: 4px 0; +} + +.login .form-row label { + display: block; + line-height: 2em; +} + +.login .form-row #id_username, .login .form-row #id_password { + padding: 8px; + width: 100%; + box-sizing: border-box; +} + +.login .submit-row { + padding: 1em 0 0 0; + margin: 0; + text-align: center; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/static/admin/css/nav_sidebar.css b/static/admin/css/nav_sidebar.css new file mode 100644 index 0000000..7eb0de9 --- /dev/null +++ b/static/admin/css/nav_sidebar.css @@ -0,0 +1,150 @@ +.sticky { + position: sticky; + top: 0; + max-height: 100vh; +} + +.toggle-nav-sidebar { + z-index: 20; + left: 0; + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 23px; + width: 23px; + border: 0; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + cursor: pointer; + font-size: 1.25rem; + color: var(--link-fg); + padding: 0; +} + +[dir="rtl"] .toggle-nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; +} + +.toggle-nav-sidebar:hover, +.toggle-nav-sidebar:focus { + background-color: var(--darkened-bg); +} + +#nav-sidebar { + z-index: 15; + flex: 0 0 275px; + left: -276px; + margin-left: -276px; + border-top: 1px solid transparent; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + overflow: auto; +} + +[dir="rtl"] #nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; + left: 0; + margin-left: 0; + right: -276px; + margin-right: -276px; +} + +.toggle-nav-sidebar::before { + content: '\00BB'; +} + +.main.shifted .toggle-nav-sidebar::before { + content: '\00AB'; +} + +.main > #nav-sidebar { + visibility: hidden; +} + +.main.shifted > #nav-sidebar { + margin-left: 0; + visibility: visible; +} + +[dir="rtl"] .main.shifted > #nav-sidebar { + margin-right: 0; +} + +#nav-sidebar .module th { + width: 100%; + overflow-wrap: anywhere; +} + +#nav-sidebar .module th, +#nav-sidebar .module caption { + padding-left: 16px; +} + +#nav-sidebar .module td { + white-space: nowrap; +} + +[dir="rtl"] #nav-sidebar .module th, +[dir="rtl"] #nav-sidebar .module caption { + padding-left: 8px; + padding-right: 16px; +} + +#nav-sidebar .current-app .section:link, +#nav-sidebar .current-app .section:visited { + color: var(--header-color); + font-weight: bold; +} + +#nav-sidebar .current-model { + background: var(--selected-row); +} + +@media (forced-colors: active) { + #nav-sidebar .current-model { + background-color: SelectedItem; + } +} + +.main > #nav-sidebar + .content { + max-width: calc(100% - 23px); +} + +.main.shifted > #nav-sidebar + .content { + max-width: calc(100% - 299px); +} + +@media (max-width: 767px) { + #nav-sidebar, #toggle-nav-sidebar { + display: none; + } + + .main > #nav-sidebar + .content, + .main.shifted > #nav-sidebar + .content { + max-width: 100%; + } +} + +#nav-filter { + width: 100%; + box-sizing: border-box; + padding: 2px 5px; + margin: 5px 0; + border: 1px solid var(--border-color); + background-color: var(--darkened-bg); + color: var(--body-fg); +} + +#nav-filter:focus { + border-color: var(--body-quiet-color); +} + +#nav-filter.no-results { + background: var(--message-error-bg); +} + +#nav-sidebar table { + width: 100%; +} diff --git a/static/admin/css/responsive.css b/static/admin/css/responsive.css new file mode 100644 index 0000000..bb53945 --- /dev/null +++ b/static/admin/css/responsive.css @@ -0,0 +1,970 @@ +/* Tablets */ + +input[type="submit"], button { + -webkit-appearance: none; + appearance: none; +} + +@media (max-width: 1024px) { + /* Basic */ + + html { + -webkit-text-size-adjust: 100%; + } + + td, th { + padding: 10px; + font-size: 0.875rem; + } + + .small { + font-size: 0.75rem; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 15px 20px 20px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #site-name { + margin: 0 0 8px; + line-height: 1.2; + } + + #user-tools { + margin: 0; + font-weight: 400; + line-height: 1.85; + text-align: left; + } + + #user-tools a { + display: inline-block; + line-height: 1.4; + } + + /* Dashboard */ + + .dashboard #content { + width: auto; + } + + #content-related { + margin-right: -290px; + } + + .colSM #content-related { + margin-left: -290px; + } + + .colMS { + margin-right: 290px; + } + + .colSM { + margin-left: 290px; + } + + .dashboard .module table td a { + padding-right: 0; + } + + td .changelink, td .addlink { + font-size: 0.8125rem; + } + + /* Changelist */ + + #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: flex; + flex-wrap: nowrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 1.375rem; + } + + #toolbar form #searchbar { + flex: 1 0 auto; + width: 0; + height: 1.375rem; + margin: 0 10px 0 6px; + } + + #toolbar form input[type=submit] { + flex: 0 1 auto; + } + + #changelist-search .quiet { + width: 0; + flex: 1 0 auto; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: var(--body-bg); + } + + #changelist .actions .button { + min-width: 48px; + margin: 0 10px; + } + + #changelist .actions span.all, + #changelist .actions span.clear, + #changelist .actions span.question, + #changelist .actions span.action-counter { + font-size: 0.6875rem; + margin: 0 10px 0 0; + } + + #changelist-filter { + flex-basis: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + + #changelist .paginator { + border-top-color: var(--hairline-color); /* XXX Is this used at all? */ + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 0.875rem; + } + + .form-row input[type=text], + .form-row input[type=password], + .form-row input[type=email], + .form-row input[type=url], + .form-row input[type=tel], + .form-row input[type=number], + .form-row textarea, + .form-row select, + .form-row .vTextField { + box-sizing: border-box; + margin: 0; + padding: 6px 8px; + min-height: 2.25rem; + font-size: 0.875rem; + } + + .form-row select { + height: 2.25rem; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid var(--hairline-color); + } + + textarea { + max-width: 100%; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned div.radiolist { + margin-left: 2px; + } + + .submit-row { + padding: 8px; + } + + .submit-row a.deletelink { + padding: 10px 7px; + } + + .button, input[type=submit], input[type=button], .submit-row input, a.button { + padding: 7px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter label { + margin: 0 8px 0 0; + } + + .selector .selector-filter input { + width: 100%; + min-height: 0; + flex: 1 1; + } + + .selector-available, .selector-chosen { + width: auto; + flex: 1 1; + display: flex; + flex-direction: column; + } + + .selector select { + width: 100%; + flex: 1 0 auto; + margin-bottom: 5px; + } + + .selector ul.selector-chooser { + width: 26px; + height: 52px; + padding: 2px 0; + border-radius: 20px; + transform: translateY(-10px); + } + + .selector-add, .selector-remove { + width: 20px; + height: 20px; + background-size: 20px auto; + } + + .selector-add { + background-position: 0 -120px; + } + + .selector-remove { + background-position: 0 -80px; + } + + a.selector-chooseall, a.selector-clearall { + align-self: center; + } + + .stacked { + flex-direction: column; + max-width: 480px; + } + + .stacked > * { + flex: 0 1 auto; + } + + .stacked select { + margin-bottom: 0; + } + + .stacked .selector-available, .stacked .selector-chosen { + width: auto; + } + + .stacked ul.selector-chooser { + width: 52px; + height: 26px; + padding: 0 2px; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .stacked .selector-add, .stacked .selector-remove { + background-size: 20px auto; + } + + .stacked .selector-add { + background-position: 0 -40px; + } + + .stacked .active.selector-add { + background-position: 0 -40px; + } + + .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -140px; + } + + .stacked .active.selector-add:focus, .stacked .active.selector-add:hover { + background-position: 0 -60px; + } + + .stacked .selector-remove { + background-position: 0 0; + } + + .stacked .active.selector-remove { + background-position: 0 0; + } + + .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -100px; + } + + .stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { + background-position: 0 -20px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 0.8125rem; + } + + .datetime .timezonewarning { + display: block; + font-size: 0.6875rem; + color: var(--body-quiet-color); + } + + .datetimeshortcuts { + color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */ + } + + .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + width: 75%; + } + + .inline-group { + overflow: auto; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 55px; + background-position: 30px 12px; + } + + ul.messagelist li.error { + background-position: 30px 12px; + } + + ul.messagelist li.warning { + background-position: 30px 14px; + } + + /* Login */ + + .login #header { + padding: 15px 20px; + } + + .login #site-name { + margin: 0; + } + + /* GIS */ + + div.olMap { + max-width: calc(100vw - 30px); + max-height: 300px; + } + + .olMap + .clear_features { + display: block; + margin-top: 10px; + } + + /* Docs */ + + .module table.xfull { + width: 100%; + } + + pre.literal-block { + overflow: auto; + } +} + +/* Mobile */ + +@media (max-width: 767px) { + /* Layout */ + + #header, #content, #footer { + padding: 15px; + } + + #footer:empty { + padding: 0; + } + + div.breadcrumbs { + padding: 10px 15px; + } + + /* Dashboard */ + + .colMS, .colSM { + margin: 0; + } + + #content-related, .colSM #content-related { + width: 100%; + margin: 0; + } + + #content-related .module { + margin-bottom: 0; + } + + #content-related .module h2 { + padding: 10px 15px; + font-size: 1rem; + } + + /* Changelist */ + + #changelist { + align-items: stretch; + flex-direction: column; + } + + #toolbar { + padding: 10px; + } + + #changelist-filter { + margin-left: 0; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + #changelist-filter { + position: static; + width: auto; + margin-top: 30px; + } + + .object-tools { + float: none; + margin: 0 0 15px; + padding: 0; + overflow: hidden; + } + + .object-tools li { + height: auto; + margin-left: 0; + } + + .object-tools li + li { + margin-left: 15px; + } + + /* Forms */ + + .form-row { + padding: 15px 0; + } + + .aligned .form-row, + .aligned .form-row > div { + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + .flex-container { + flex-flow: column; + } + + .flex-container.checkbox-row { + flex-flow: row; + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + fieldset.collapsed .form-row { + display: none; + } + + .aligned label { + width: 100%; + min-width: auto; + padding: 0 0 10px; + } + + .aligned label:after { + max-height: 0; + } + + .aligned .form-row input, + .aligned .form-row select, + .aligned .form-row textarea { + flex: 1 1 auto; + max-width: 100%; + } + + .aligned .checkbox-row input { + flex: 0 1 auto; + margin: 0; + } + + .aligned .vCheckboxLabel { + flex: 1 0; + padding: 1px 0 0 5px; + } + + .aligned label + p, + .aligned label + div.help, + .aligned label + div.readonly { + padding: 0; + margin-left: 0; + } + + .aligned p.file-upload { + font-size: 0.8125rem; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 0.8125rem; + padding-bottom: 0; + } + + .aligned .timezonewarning { + flex: 1 0 100%; + margin-top: 5px; + } + + form .aligned .form-row div.help { + width: 100%; + margin: 5px 0 0; + padding: 0; + } + + form .aligned ul, + form .aligned ul.errorlist { + margin-left: 0; + padding-left: 0; + } + + form .aligned div.radiolist { + margin-top: 5px; + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned div.radiolist:not(.inline) div + div { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + /* Selector */ + + .selector { + flex-direction: column; + gap: 10px 0; + } + + .selector-available, .selector-chosen { + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: block; + width: 52px; + height: 26px; + padding: 0 2px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + .active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -20px; + } + + .selector-add { + background-position: 0 -40px; + } + + .active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -60px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 1px solid var(--hairline-color); + border-radius: 4px; + margin-top: 15px; + overflow: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related > * { + box-sizing: border-box; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row { + border-top: 1px solid var(--hairline-color); + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child { + border-top: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 { + padding: 10px; + border-top-width: 0; + border-bottom-width: 2px; + display: flex; + flex-wrap: wrap; + align-items: center; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label { + margin-right: auto; + } + + .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete { + float: none; + flex: 1 1 100%; + margin-top: 5px; + } + + .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] .aligned label { + width: 100%; + } + + .inline-group[data-inline-type="stacked"] div.add-row { + margin-top: 15px; + border: 1px solid var(--hairline-color); + border-radius: 4px; + } + + .inline-group div.add-row, + .inline-group .tabular tr.add-row td { + padding: 0; + } + + .inline-group div.add-row a, + .inline-group .tabular tr.add-row td a { + display: block; + padding: 8px 10px 8px 26px; + background-position: 8px 9px; + } + + /* Submit row */ + + .submit-row { + padding: 10px; + margin: 0 0 15px; + flex-direction: column; + gap: 8px; + } + + .submit-row input, .submit-row input.default, .submit-row a { + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + text-align: center; + } + + .submit-row a.deletelink { + margin: 0; + } + + /* Messages */ + + ul.messagelist li { + padding-left: 40px; + background-position: 15px 12px; + } + + ul.messagelist li.error { + background-position: 15px 12px; + } + + ul.messagelist li.warning { + background-position: 15px 14px; + } + + /* Paginator */ + + .paginator .this-page, .paginator a:link, .paginator a:visited { + padding: 4px 10px; + } + + /* Login */ + + body.login { + padding: 0 15px; + } + + .login #container { + width: auto; + max-width: 480px; + margin: 50px auto; + } + + .login #header, + .login #content { + padding: 15px; + } + + .login #content-main { + float: none; + } + + .login .form-row { + padding: 0; + } + + .login .form-row + .form-row { + margin-top: 15px; + } + + .login .form-row label { + margin: 0 0 5px; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 0.8125rem; + } + + /* Calendar and clock */ + + .calendarbox, .clockbox { + position: fixed !important; + top: 50% !important; + left: 50% !important; + transform: translate(-50%, -50%); + margin: 0; + border: none; + overflow: visible; + } + + .calendarbox:before, .clockbox:before { + content: ''; + position: fixed; + top: 50%; + left: 50%; + width: 100vw; + height: 100vh; + background: rgba(0, 0, 0, 0.75); + transform: translate(-50%, -50%); + } + + .calendarbox > *, .clockbox > * { + position: relative; + z-index: 1; + } + + .calendarbox > div:first-child { + z-index: 2; + } + + .calendarbox .calendar, .clockbox h2 { + border-radius: 4px 4px 0 0; + overflow: hidden; + } + + .calendarbox .calendar-cancel, .clockbox .calendar-cancel { + border-radius: 0 0 4px 4px; + overflow: hidden; + } + + .calendar-shortcuts { + padding: 10px 0; + font-size: 0.75rem; + line-height: 0.75rem; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: var(--body-bg); + padding: 4px; + } + + .calendar-cancel { + padding: 8px 10px; + } + + .clockbox h2 { + padding: 8px 15px; + } + + .calendar caption { + padding: 10px; + } + + .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + z-index: 1; + top: 10px; + } + + /* History */ + + table#change-history tbody th, table#change-history tbody td { + font-size: 0.8125rem; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 0.8125rem; + word-break: break-word; + } +} diff --git a/static/admin/css/responsive_rtl.css b/static/admin/css/responsive_rtl.css new file mode 100644 index 0000000..31dc8ff --- /dev/null +++ b/static/admin/css/responsive_rtl.css @@ -0,0 +1,84 @@ +/* TABLETS */ + +@media (max-width: 1024px) { + [dir="rtl"] .colMS { + margin-right: 0; + } + + [dir="rtl"] #user-tools { + text-align: right; + } + + [dir="rtl"] #changelist .actions label { + padding-left: 10px; + padding-right: 0; + } + + [dir="rtl"] #changelist .actions select { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .change-list .filtered .results, + [dir="rtl"] .change-list .filtered .paginator, + [dir="rtl"] .filtered #toolbar, + [dir="rtl"] .filtered div.xfull, + [dir="rtl"] .filtered .actions, + [dir="rtl"] #changelist-filter { + margin-left: 0; + } + + [dir="rtl"] .inline-group ul.tools a.add, + [dir="rtl"] .inline-group div.add-row a, + [dir="rtl"] .inline-group .tabular tr.add-row td a { + padding: 8px 26px 8px 10px; + background-position: calc(100% - 8px) 9px; + } + + [dir="rtl"] .related-widget-wrapper-link + .selector { + margin-right: 0; + margin-left: 15px; + } + + [dir="rtl"] .selector .selector-filter label { + margin-right: 0; + margin-left: 8px; + } + + [dir="rtl"] .object-tools li { + float: right; + } + + [dir="rtl"] .object-tools li + li { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .dashboard .module table td a { + padding-left: 0; + padding-right: 16px; + } +} + +/* MOBILE */ + +@media (max-width: 767px) { + [dir="rtl"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul, + [dir="rtl"] form .aligned ul.errorlist { + margin-right: 0; + } + + [dir="rtl"] #changelist-filter { + margin-left: 0; + margin-right: 0; + } + [dir="rtl"] .aligned .vCheckboxLabel { + padding: 1px 5px 0 0; + } +} diff --git a/static/admin/css/rtl.css b/static/admin/css/rtl.css new file mode 100644 index 0000000..9027c7e --- /dev/null +++ b/static/admin/css/rtl.css @@ -0,0 +1,302 @@ +/* GLOBAL */ + +th { + text-align: right; +} + +.module h2, .module caption { + text-align: right; +} + +.module ul, .module ol { + margin-left: 0; + margin-right: 1.5em; +} + +.viewlink, .addlink, .changelink, .hidelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.deletelink { + padding-left: 0; + padding-right: 16px; + background-position: 100% 1px; +} + +.object-tools { + float: left; +} + +thead th:first-child, +tfoot td:first-child { + border-left: none; +} + +/* LAYOUT */ + +#user-tools { + right: auto; + left: 0; + text-align: left; +} + +div.breadcrumbs { + text-align: right; +} + +#content-main { + float: right; +} + +#content-related { + float: left; + margin-left: -300px; + margin-right: auto; +} + +.colMS { + margin-left: 300px; + margin-right: 0; +} + +/* SORTABLE TABLES */ + +table thead th.sorted .sortoptions { + float: left; +} + +thead th.sorted .text { + padding-right: 0; + padding-left: 42px; +} + +/* dashboard styles */ + +.dashboard .module table td a { + padding-left: .6em; + padding-right: 16px; +} + +/* changelists styles */ + +.change-list .filtered table { + border-left: none; + border-right: 0px none; +} + +#changelist-filter { + border-left: none; + border-right: none; + margin-left: 0; + margin-right: 30px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid var(--hairline-color); + padding-right: 10px; + margin-right: -15px; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +.paginator .end { + margin-left: 6px; + margin-right: 0; +} + +.paginator input { + margin-left: 0; + margin-right: auto; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; +} + +.submit-row a.deletelink { + margin-left: 0; + margin-right: auto; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned ul { + margin-right: 163px; + padding-right: 10px; + margin-left: 0; + padding-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +form .aligned p.help, +form .aligned div.help { + margin-right: 160px; + padding-right: 10px; +} + +form div.help ul, +form .aligned .checkbox-row + .help, +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-right: 0; + padding-right: 0; +} + +form .wide p.help, form .wide div.help { + padding-left: 0; + padding-right: 50px; +} + +form .wide p, +form .wide ul.errorlist, +form .wide input + p.help, +form .wide input + div.help { + margin-right: 200px; + margin-left: 0px; +} + +.submit-row { + text-align: right; +} + +fieldset .fieldBox { + margin-left: 20px; + margin-right: 0; +} + +.errorlist li { + background-position: 100% 12px; + padding: 0; +} + +.errornote { + background-position: 100% 12px; + padding: 10px 12px; +} + +/* WIDGETS */ + +.calendarnav-previous { + top: 0; + left: auto; + right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -45px; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -15px; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -80px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -112px; +} + +a.selector-chooseall { + background: url(../img/selector-icons.svg) right -128px no-repeat; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -144px; +} + +a.selector-clearall { + background: url(../img/selector-icons.svg) 0 -160px no-repeat; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -176px; +} + +.inline-deletelink { + float: left; +} + +form .form-row p.datetime { + overflow: hidden; +} + +.related-widget-wrapper { + float: right; +} + +/* MISC */ + +.inline-related h2, .inline-group h2 { + text-align: right +} + +.inline-related h3 span.delete { + padding-right: 20px; + padding-left: inherit; + left: 10px; + right: inherit; + float:left; +} + +.inline-related h3 span.delete label { + margin-left: inherit; + margin-right: 2px; +} + +.selector .selector-chooser { + margin: 0; +} diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/static/admin/css/vendor/select2/LICENSE-SELECT2.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/static/admin/css/vendor/select2/LICENSE-SELECT2.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 Kevin Brown, Igor Vaynberg, and Select2 contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/static/admin/css/vendor/select2/select2.css b/static/admin/css/vendor/select2/select2.css new file mode 100644 index 0000000..750b320 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.css @@ -0,0 +1,481 @@ +.select2-container { + box-sizing: border-box; + display: inline-block; + margin: 0; + position: relative; + vertical-align: middle; } + .select2-container .select2-selection--single { + box-sizing: border-box; + cursor: pointer; + display: block; + height: 28px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--single .select2-selection__rendered { + display: block; + padding-left: 8px; + padding-right: 20px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-selection--single .select2-selection__clear { + position: relative; } + .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered { + padding-right: 8px; + padding-left: 20px; } + .select2-container .select2-selection--multiple { + box-sizing: border-box; + cursor: pointer; + display: block; + min-height: 32px; + user-select: none; + -webkit-user-select: none; } + .select2-container .select2-selection--multiple .select2-selection__rendered { + display: inline-block; + overflow: hidden; + padding-left: 8px; + text-overflow: ellipsis; + white-space: nowrap; } + .select2-container .select2-search--inline { + float: left; } + .select2-container .select2-search--inline .select2-search__field { + box-sizing: border-box; + border: none; + font-size: 100%; + margin-top: 5px; + padding: 0; } + .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + +.select2-dropdown { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + box-sizing: border-box; + display: block; + position: absolute; + left: -100000px; + width: 100%; + z-index: 1051; } + +.select2-results { + display: block; } + +.select2-results__options { + list-style: none; + margin: 0; + padding: 0; } + +.select2-results__option { + padding: 6px; + user-select: none; + -webkit-user-select: none; } + .select2-results__option[aria-selected] { + cursor: pointer; } + +.select2-container--open .select2-dropdown { + left: 0; } + +.select2-container--open .select2-dropdown--above { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--open .select2-dropdown--below { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-search--dropdown { + display: block; + padding: 4px; } + .select2-search--dropdown .select2-search__field { + padding: 4px; + width: 100%; + box-sizing: border-box; } + .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button { + -webkit-appearance: none; } + .select2-search--dropdown.select2-search--hide { + display: none; } + +.select2-close-mask { + border: 0; + margin: 0; + padding: 0; + display: block; + position: fixed; + left: 0; + top: 0; + min-height: 100%; + min-width: 100%; + height: auto; + width: auto; + opacity: 0; + z-index: 99; + background-color: #fff; + filter: alpha(opacity=0); } + +.select2-hidden-accessible { + border: 0 !important; + clip: rect(0 0 0 0) !important; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !important; } + +.select2-container--default .select2-selection--single { + background-color: #fff; + border: 1px solid #aaa; + border-radius: 4px; } + .select2-container--default .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--default .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; } + .select2-container--default .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--default .select2-selection--single .select2-selection__arrow { + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; } + .select2-container--default .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow { + left: 1px; + right: auto; } + +.select2-container--default.select2-container--disabled .select2-selection--single { + background-color: #eee; + cursor: default; } + .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear { + display: none; } + +.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--default .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered { + box-sizing: border-box; + list-style: none; + margin: 0; + padding: 0 5px; + width: 100%; } + .select2-container--default .select2-selection--multiple .select2-selection__rendered li { + list-style: none; } + .select2-container--default .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; + padding: 1px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove { + color: #999; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #333; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline { + float: right; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + margin-left: 5px; + margin-right: auto; } + +.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--default.select2-container--focus .select2-selection--multiple { + border: solid black 1px; + outline: 0; } + +.select2-container--default.select2-container--disabled .select2-selection--multiple { + background-color: #eee; + cursor: default; } + +.select2-container--default.select2-container--disabled .select2-selection__choice__remove { + display: none; } + +.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--default .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; } + +.select2-container--default .select2-search--inline .select2-search__field { + background: transparent; + border: none; + outline: 0; + box-shadow: none; + -webkit-appearance: textfield; } + +.select2-container--default .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--default .select2-results__option[role=group] { + padding: 0; } + +.select2-container--default .select2-results__option[aria-disabled=true] { + color: #999; } + +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: #ddd; } + +.select2-container--default .select2-results__option .select2-results__option { + padding-left: 1em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__group { + padding-left: 0; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option { + margin-left: -1em; + padding-left: 2em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -2em; + padding-left: 3em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -3em; + padding-left: 4em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -4em; + padding-left: 5em; } + .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option { + margin-left: -5em; + padding-left: 6em; } + +.select2-container--default .select2-results__option--highlighted[aria-selected] { + background-color: #5897fb; + color: white; } + +.select2-container--default .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic .select2-selection--single { + background-color: #f7f7f7; + border: 1px solid #aaa; + border-radius: 4px; + outline: 0; + background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%); + background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + .select2-container--classic .select2-selection--single:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--single .select2-selection__rendered { + color: #444; + line-height: 28px; } + .select2-container--classic .select2-selection--single .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-right: 10px; } + .select2-container--classic .select2-selection--single .select2-selection__placeholder { + color: #999; } + .select2-container--classic .select2-selection--single .select2-selection__arrow { + background-color: #ddd; + border: none; + border-left: 1px solid #aaa; + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + height: 26px; + position: absolute; + top: 1px; + right: 1px; + width: 20px; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); } + .select2-container--classic .select2-selection--single .select2-selection__arrow b { + border-color: #888 transparent transparent transparent; + border-style: solid; + border-width: 5px 4px 0 4px; + height: 0; + left: 50%; + margin-left: -4px; + margin-top: -2px; + position: absolute; + top: 50%; + width: 0; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear { + float: left; } + +.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow { + border: none; + border-right: 1px solid #aaa; + border-radius: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; + left: 1px; + right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--single { + border: 1px solid #5897fb; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow { + background: transparent; + border: none; } + .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b { + border-color: transparent transparent #888 transparent; + border-width: 0 4px 5px 4px; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; + background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%); + background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%); + background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); } + +.select2-container--classic .select2-selection--multiple { + background-color: white; + border: 1px solid #aaa; + border-radius: 4px; + cursor: text; + outline: 0; } + .select2-container--classic .select2-selection--multiple:focus { + border: 1px solid #5897fb; } + .select2-container--classic .select2-selection--multiple .select2-selection__rendered { + list-style: none; + margin: 0; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__clear { + display: none; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice { + background-color: #e4e4e4; + border: 1px solid #aaa; + border-radius: 4px; + cursor: default; + float: left; + margin-right: 5px; + margin-top: 5px; + padding: 0 5px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove { + color: #888; + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; } + .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover { + color: #555; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice { + float: right; + margin-left: 5px; + margin-right: auto; } + +.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove { + margin-left: 2px; + margin-right: auto; } + +.select2-container--classic.select2-container--open .select2-selection--multiple { + border: 1px solid #5897fb; } + +.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple { + border-bottom: none; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } + +.select2-container--classic .select2-search--dropdown .select2-search__field { + border: 1px solid #aaa; + outline: 0; } + +.select2-container--classic .select2-search--inline .select2-search__field { + outline: 0; + box-shadow: none; } + +.select2-container--classic .select2-dropdown { + background-color: white; + border: 1px solid transparent; } + +.select2-container--classic .select2-dropdown--above { + border-bottom: none; } + +.select2-container--classic .select2-dropdown--below { + border-top: none; } + +.select2-container--classic .select2-results > .select2-results__options { + max-height: 200px; + overflow-y: auto; } + +.select2-container--classic .select2-results__option[role=group] { + padding: 0; } + +.select2-container--classic .select2-results__option[aria-disabled=true] { + color: grey; } + +.select2-container--classic .select2-results__option--highlighted[aria-selected] { + background-color: #3875d7; + color: white; } + +.select2-container--classic .select2-results__group { + cursor: default; + display: block; + padding: 6px; } + +.select2-container--classic.select2-container--open .select2-dropdown { + border-color: #5897fb; } diff --git a/static/admin/css/vendor/select2/select2.min.css b/static/admin/css/vendor/select2/select2.min.css new file mode 100644 index 0000000..7c18ad5 --- /dev/null +++ b/static/admin/css/vendor/select2/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/static/admin/css/widgets.css b/static/admin/css/widgets.css new file mode 100644 index 0000000..d3d4732 --- /dev/null +++ b/static/admin/css/widgets.css @@ -0,0 +1,603 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + display: flex; + flex-grow: 1; + gap: 0 10px; +} + +.selector select { + height: 17.2em; + flex: 1 0 auto; + overflow: scroll; + width: 100%; +} + +.selector-available, .selector-chosen { + text-align: center; + display: flex; + flex-direction: column; + flex: 1 1; +} + +.selector-available h2, .selector-chosen h2 { + border: 1px solid var(--border-color); + border-radius: 4px 4px 0 0; +} + +.selector-chosen .list-footer-display { + border: 1px solid var(--border-color); + border-top: none; + border-radius: 0 0 4px 4px; + margin: 0 0 10px; + padding: 8px; + text-align: center; + background: var(--primary); + color: var(--header-link-color); + cursor: pointer; +} +.selector-chosen .list-footer-display__clear { + color: var(--breadcrumbs-fg); +} + +.selector-chosen h2 { + background: var(--secondary); + color: var(--header-link-color); +} + +.selector .selector-available h2 { + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +.selector .selector-filter { + border: 1px solid var(--border-color); + border-width: 0 1px; + padding: 8px; + color: var(--body-quiet-color); + font-size: 0.625rem; + margin: 0; + text-align: left; + display: flex; +} + +.selector .selector-filter label, +.inline-group .aligned .selector .selector-filter label { + float: left; + margin: 7px 0 0; + width: 18px; + height: 18px; + padding: 0; + overflow: hidden; + line-height: 1; + min-width: auto; +} + +.selector-filter input { + flex-grow: 1; +} + +.selector .selector-available input, +.selector .selector-chosen input { + margin-left: 8px; +} + +.selector ul.selector-chooser { + align-self: center; + width: 22px; + background-color: var(--selected-bg); + border-radius: 10px; + margin: 0; + padding: 0; + transform: translateY(-17px); +} + +.selector-chooser li { + margin: 0; + padding: 3px; + list-style-type: none; +} + +.selector select { + padding: 0 10px; + margin: 0 0 10px; + border-radius: 0 0 4px 4px; +} +.selector .selector-chosen--with-filtered select { + margin: 0; + border-radius: 0; + height: 14em; +} + +.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display { + display: none; +} + +.selector-add, .selector-remove { + width: 16px; + height: 16px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.55; +} + +.active.selector-add, .active.selector-remove { + opacity: 1; +} + +.active.selector-add:hover, .active.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; +} + +.active.selector-add:focus, .active.selector-add:hover { + background-position: 0 -112px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -64px no-repeat; +} + +.active.selector-remove:focus, .active.selector-remove:hover { + background-position: 0 -80px; +} + +a.selector-chooseall, a.selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 0 auto; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: var(--body-quiet-color); + text-decoration: none; + opacity: 0.55; +} + +a.active.selector-chooseall:focus, a.active.selector-clearall:focus, +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + color: var(--link-fg); +} + +a.active.selector-chooseall, a.active.selector-clearall { + opacity: 1; +} + +a.active.selector-chooseall:hover, a.active.selector-clearall:hover { + cursor: pointer; +} + +a.selector-chooseall { + padding: 0 18px 0 0; + background: url(../img/selector-icons.svg) right -160px no-repeat; + cursor: default; +} + +a.active.selector-chooseall:focus, a.active.selector-chooseall:hover { + background-position: 100% -176px; +} + +a.selector-clearall { + padding: 0 0 0 18px; + background: url(../img/selector-icons.svg) 0 -128px no-repeat; + cursor: default; +} + +a.active.selector-clearall:focus, a.active.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; + display: block; +} + +.stacked select { + width: 480px; + height: 10.1em; +} + +.stacked .selector-available, .stacked .selector-chosen { + width: 480px; +} + +.stacked .selector-available { + margin-bottom: 0; +} + +.stacked .selector-available input { + width: 422px; +} + +.stacked ul.selector-chooser { + height: 22px; + width: 50px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; + transform: none; +} + +.stacked .selector-chooser li { + float: left; + padding: 3px 3px 3px 5px; +} + +.stacked .selector-chooseall, .stacked .selector-clearall { + display: none; +} + +.stacked .selector-add { + background: url(../img/selector-icons.svg) 0 -32px no-repeat; + cursor: default; +} + +.stacked .active.selector-add { + background-position: 0 -32px; + cursor: pointer; +} + +.stacked .active.selector-add:focus, .stacked .active.selector-add:hover { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url(../img/selector-icons.svg) 0 0 no-repeat; + cursor: default; +} + +.stacked .active.selector-remove { + background-position: 0 0px; + cursor: pointer; +} + +.stacked .active.selector-remove:focus, .stacked .active.selector-remove:hover { + background-position: 0 -16px; + cursor: pointer; +} + +.selector .help-icon { + background: url(../img/icon-unknown.svg) 0 0 no-repeat; + display: inline-block; + vertical-align: middle; + margin: -2px 0 0 2px; + width: 13px; + height: 13px; +} + +.selector .selector-chosen .help-icon { + background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat; +} + +.selector .search-label-icon { + background: url(../img/search.svg) 0 0 no-repeat; + display: inline-block; + height: 1.125rem; + width: 1.125rem; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 0.6875rem; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 16px; + width: 16px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url(../img/icon-clock.svg) 0 0 no-repeat; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -16px; +} + +.datetimeshortcuts .date-icon { + background: url(../img/icon-calendar.svg) 0 0 no-repeat; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -16px; +} + +.timezonewarning { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: var(--body-fg); + font-size: 0.6875rem; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 0.75rem; + width: 19em; + text-align: center; + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15); + overflow: hidden; + position: relative; +} + +.clockbox { + width: auto; +} + +.calendar { + margin: 0; + padding: 0; +} + +.calendar table { + margin: 0; + padding: 0; + border-collapse: collapse; + background: white; + width: 100%; +} + +.calendar caption, .calendarbox h2 { + margin: 0; + text-align: center; + border-top: none; + font-weight: 700; + font-size: 0.75rem; + color: #333; + background: var(--accent); +} + +.calendar th { + padding: 8px 5px; + background: var(--darkened-bg); + border-bottom: 1px solid var(--border-color); + font-weight: 400; + font-size: 0.75rem; + text-align: center; + color: var(--body-quiet-color); +} + +.calendar td { + font-weight: 400; + font-size: 0.75rem; + text-align: center; + padding: 0; + border-top: 1px solid var(--hairline-color); + border-bottom: none; +} + +.calendar td.selected a { + background: var(--secondary); + color: var(--button-fg); +} + +.calendar td.nonday { + background: var(--darkened-bg); +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: var(--body-quiet-color); +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: var(--primary); + color: white; +} + +.calendar td a:active, .timelist a:active { + background: var(--header-bg); + color: white; +} + +.calendarnav { + font-size: 0.625rem; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: var(--body-quiet-color); +} + +.calendar-shortcuts { + background: var(--body-bg); + color: var(--body-quiet-color); + font-size: 0.6875rem; + line-height: 0.6875rem; + border-top: 1px solid var(--hairline-color); + padding: 8px 0; +} + +.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next { + display: block; + position: absolute; + top: 8px; + width: 15px; + height: 15px; + text-indent: -9999px; + padding: 0; +} + +.calendarnav-previous { + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendarbox .calendarnav-previous:focus, +.calendarbox .calendarnav-previous:hover { + background-position: 0 -15px; +} + +.calendarnav-next { + right: 10px; + background: url(../img/calendar-icons.svg) 0 -30px no-repeat; +} + +.calendarbox .calendarnav-next:focus, +.calendarbox .calendarnav-next:hover { + background-position: 0 -45px; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 0.75rem; + background: var(--close-button-bg); + border-top: 1px solid var(--border-color); + color: var(--button-fg); +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: var(--close-button-hover-bg); +} + +.calendar-cancel a { + color: var(--button-fg); + display: block; +} + +ul.timelist, .timelist li { + list-style-type: none; + margin: 0; + padding: 0; +} + +.timelist a { + padding: 2px; +} + +/* EDIT INLINE */ + +.inline-deletelink { + float: right; + text-indent: -9999px; + background: url(../img/inline-delete.svg) 0 0 no-repeat; + width: 16px; + height: 16px; + border: 0px none; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + display: flex; + gap: 0 10px; + flex-grow: 1; + flex-wrap: wrap; + margin-bottom: 5px; +} + +.related-widget-wrapper-link { + opacity: .6; + filter: grayscale(1); +} + +.related-widget-wrapper-link:link { + opacity: 1; + filter: grayscale(0); +} + +/* GIS MAPS */ +.dj_map { + width: 600px; + height: 400px; +} diff --git a/static/admin/img/LICENSE b/static/admin/img/LICENSE new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/static/admin/img/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2014 Code Charm Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/img/README.txt b/static/admin/img/README.txt new file mode 100644 index 0000000..4eb2e49 --- /dev/null +++ b/static/admin/img/README.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (http://fontawesome.io/) project. +The Font Awesome font is licensed under the SIL OFL 1.1: +- https://scripts.sil.org/OFL + +SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG +Font-Awesome-SVG-PNG is licensed under the MIT license (see file license +in current folder). diff --git a/static/admin/img/calendar-icons.svg b/static/admin/img/calendar-icons.svg new file mode 100644 index 0000000..dbf21c3 --- /dev/null +++ b/static/admin/img/calendar-icons.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/static/admin/img/gis/move_vertex_off.svg b/static/admin/img/gis/move_vertex_off.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/static/admin/img/gis/move_vertex_off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/admin/img/gis/move_vertex_on.svg b/static/admin/img/gis/move_vertex_on.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/static/admin/img/gis/move_vertex_on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/admin/img/icon-addlink.svg b/static/admin/img/icon-addlink.svg new file mode 100644 index 0000000..e004fb1 --- /dev/null +++ b/static/admin/img/icon-addlink.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-alert.svg b/static/admin/img/icon-alert.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/static/admin/img/icon-alert.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-calendar.svg b/static/admin/img/icon-calendar.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/static/admin/img/icon-calendar.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/static/admin/img/icon-changelink.svg b/static/admin/img/icon-changelink.svg new file mode 100644 index 0000000..bbb137a --- /dev/null +++ b/static/admin/img/icon-changelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-clock.svg b/static/admin/img/icon-clock.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/static/admin/img/icon-clock.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/static/admin/img/icon-deletelink.svg b/static/admin/img/icon-deletelink.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/static/admin/img/icon-deletelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-hidelink.svg b/static/admin/img/icon-hidelink.svg new file mode 100644 index 0000000..2a8b404 --- /dev/null +++ b/static/admin/img/icon-hidelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-no.svg b/static/admin/img/icon-no.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/static/admin/img/icon-no.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-unknown-alt.svg b/static/admin/img/icon-unknown-alt.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/static/admin/img/icon-unknown-alt.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-unknown.svg b/static/admin/img/icon-unknown.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/static/admin/img/icon-unknown.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-viewlink.svg b/static/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/static/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/icon-yes.svg b/static/admin/img/icon-yes.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/static/admin/img/icon-yes.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/inline-delete.svg b/static/admin/img/inline-delete.svg new file mode 100644 index 0000000..17d1ad6 --- /dev/null +++ b/static/admin/img/inline-delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/search.svg b/static/admin/img/search.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/static/admin/img/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/selector-icons.svg b/static/admin/img/selector-icons.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/static/admin/img/selector-icons.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/static/admin/img/sorting-icons.svg b/static/admin/img/sorting-icons.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/static/admin/img/sorting-icons.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/static/admin/img/tooltag-add.svg b/static/admin/img/tooltag-add.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/static/admin/img/tooltag-add.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/img/tooltag-arrowright.svg b/static/admin/img/tooltag-arrowright.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/static/admin/img/tooltag-arrowright.svg @@ -0,0 +1,3 @@ + + + diff --git a/static/admin/js/SelectBox.js b/static/admin/js/SelectBox.js new file mode 100644 index 0000000..3db4ec7 --- /dev/null +++ b/static/admin/js/SelectBox.js @@ -0,0 +1,116 @@ +'use strict'; +{ + const SelectBox = { + cache: {}, + init: function(id) { + const box = document.getElementById(id); + SelectBox.cache[id] = []; + const cache = SelectBox.cache[id]; + for (const node of box.options) { + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + const box = document.getElementById(id); + const scroll_value_from_top = box.scrollTop; + box.innerHTML = ''; + for (const node of SelectBox.cache[id]) { + if (node.displayed) { + const new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.title = node.text; + box.appendChild(new_option); + } + } + box.scrollTop = scroll_value_from_top; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + const tokens = text.toLowerCase().split(/\s+/); + for (const node of SelectBox.cache[id]) { + node.displayed = 1; + const node_text = node.text.toLowerCase(); + for (const token of tokens) { + if (!node_text.includes(token)) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + get_hidden_node_count(id) { + const cache = SelectBox.cache[id] || []; + return cache.filter(node => node.displayed === 0).length; + }, + delete_from_cache: function(id, value) { + let delete_index = null; + const cache = SelectBox.cache[id]; + for (const [i, node] of cache.entries()) { + if (node.value === value) { + delete_index = i; + break; + } + } + cache.splice(delete_index, 1); + }, + add_to_cache: function(id, option) { + SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1}); + }, + cache_contains: function(id, value) { + // Check if an item is contained in the cache + for (const node of SelectBox.cache[id]) { + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const option_value = option.value; + if (option.selected && SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + move_all: function(from, to) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const option_value = option.value; + if (SelectBox.cache_contains(from, option_value)) { + SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1}); + SelectBox.delete_from_cache(from, option_value); + } + } + SelectBox.redisplay(from); + SelectBox.redisplay(to); + }, + sort: function(id) { + SelectBox.cache[id].sort(function(a, b) { + a = a.text.toLowerCase(); + b = b.text.toLowerCase(); + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + return 0; + } ); + }, + select_all: function(id) { + const box = document.getElementById(id); + for (const option of box.options) { + option.selected = true; + } + } + }; + window.SelectBox = SelectBox; +} diff --git a/static/admin/js/SelectFilter2.js b/static/admin/js/SelectFilter2.js new file mode 100644 index 0000000..fc59eba --- /dev/null +++ b/static/admin/js/SelectFilter2.js @@ -0,0 +1,286 @@ +/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires core.js and SelectBox.js. +*/ +'use strict'; +{ + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + const from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + + for (const p of from_box.parentNode.getElementsByTagName('p')) { + if (p.classList.contains("info")) { + // Remove

, because it just gets in the way. + from_box.parentNode.removeChild(p); + } else if (p.classList.contains("help")) { + // Move help text up to the top so it isn't below the select + // boxes or wrapped off on the side to the right of the add + // button: + from_box.parentNode.insertBefore(p, from_box.parentNode.firstChild); + } + } + + //

or
+ const selector_div = quickElement('div', from_box.parentNode); + // Make sure the selector div is at the beginning so that the + // add link would be displayed to the right of the widget. + from_box.parentNode.prepend(selector_div); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + //
+ const selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + const title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name])); + quickElement( + 'span', title_available, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of available %s. You may choose some by ' + + 'selecting them in the box below and then clicking the ' + + '"Choose" arrow between the two boxes.' + ), + [field_name] + ) + ); + + const filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + const search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + const filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + const choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link'); + choose_all.className = 'selector-chooseall'; + + //
    + const selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + const add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link'); + add_link.className = 'selector-add'; + const remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link'); + remove_link.className = 'selector-remove'; + + //
    + const selector_chosen = quickElement('div', selector_div, '', 'id', field_id + '_selector_chosen'); + selector_chosen.className = 'selector-chosen'; + const title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name])); + quickElement( + 'span', title_chosen, '', + 'class', 'help help-tooltip help-icon', + 'title', interpolate( + gettext( + 'This is the list of chosen %s. You may remove some by ' + + 'selecting them in the box below and then clicking the ' + + '"Remove" arrow between the two boxes.' + ), + [field_name] + ) + ); + + const filter_selected_p = quickElement('p', selector_chosen, '', 'id', field_id + '_filter_selected'); + filter_selected_p.className = 'selector-filter'; + + const search_filter_selected_label = quickElement('label', filter_selected_p, '', 'for', field_id + '_selected_input'); + + quickElement( + 'span', search_filter_selected_label, '', + 'class', 'help-tooltip search-label-icon', + 'title', interpolate(gettext("Type into this box to filter down the list of selected %s."), [field_name]) + ); + + filter_selected_p.appendChild(document.createTextNode(' ')); + + const filter_selected_input = quickElement('input', filter_selected_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_selected_input.id = field_id + '_selected_input'; + + const to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', '', 'size', from_box.size, 'name', from_box.name); + to_box.className = 'filtered'; + + const warning_footer = quickElement('div', selector_chosen, '', 'class', 'list-footer-display'); + quickElement('span', warning_footer, '', 'id', field_id + '_list-footer-display-text'); + quickElement('span', warning_footer, ' (click to clear)', 'class', 'list-footer-display__clear'); + + const clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link'); + clear_all.className = 'selector-clearall'; + + from_box.name = from_box.name + '_old'; + + // Set up the JavaScript event handlers for the select box filter interface + const move_selection = function(e, elem, move_func, from, to) { + if (elem.classList.contains('active')) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_link.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from'); + }); + clear_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from'); + }); + warning_footer.addEventListener('click', function(e) { + filter_selected_input.value = ''; + SelectBox.filter(field_id + '_to', ''); + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_from', '_to'); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_from'); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_from', '_to'); + }); + filter_selected_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_to', '_from'); + }); + filter_selected_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_to', '_selected_input'); + }); + filter_selected_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_to', '_from'); + }); + selector_div.addEventListener('change', function(e) { + if (e.target.tagName === 'SELECT') { + SelectFilter.refresh_icons(field_id); + } + }); + selector_div.addEventListener('dblclick', function(e) { + if (e.target.tagName === 'OPTION') { + if (e.target.closest('select').id === field_id + '_to') { + SelectBox.move(field_id + '_to', field_id + '_from'); + } else { + SelectBox.move(field_id + '_from', field_id + '_to'); + } + SelectFilter.refresh_icons(field_id); + } + }); + from_box.closest('form').addEventListener('submit', function() { + SelectBox.filter(field_id + '_to', ''); + SelectBox.select_all(field_id + '_to'); + }); + SelectBox.init(field_id + '_from'); + SelectBox.init(field_id + '_to'); + // Move selected from_box options to to_box + SelectBox.move(field_id + '_from', field_id + '_to'); + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + // Temporarily add the required attribute and check validity. + field.required = true; + const any_selected = field.checkValidity(); + field.required = false; + return any_selected; + }, + refresh_filtered_warning: function(field_id) { + const count = SelectBox.get_hidden_node_count(field_id + '_to'); + const selector = document.getElementById(field_id + '_selector_chosen'); + const warning = document.getElementById(field_id + '_list-footer-display-text'); + selector.className = selector.className.replace('selector-chosen--with-filtered', ''); + warning.textContent = interpolate(ngettext( + '%s selected option not visible', + '%s selected options not visible', + count + ), [count]); + if(count > 0) { + selector.className += ' selector-chosen--with-filtered'; + } + }, + refresh_filtered_selects: function(field_id) { + SelectBox.filter(field_id + '_from', document.getElementById(field_id + "_input").value); + SelectBox.filter(field_id + '_to', document.getElementById(field_id + "_selected_input").value); + }, + refresh_icons: function(field_id) { + const from = document.getElementById(field_id + '_from'); + const to = document.getElementById(field_id + '_to'); + // Active if at least one item is selected + document.getElementById(field_id + '_add_link').classList.toggle('active', SelectFilter.any_selected(from)); + document.getElementById(field_id + '_remove_link').classList.toggle('active', SelectFilter.any_selected(to)); + // Active if the corresponding box isn't empty + document.getElementById(field_id + '_add_all_link').classList.toggle('active', from.querySelector('option')); + document.getElementById(field_id + '_remove_all_link').classList.toggle('active', to.querySelector('option')); + SelectFilter.refresh_filtered_warning(field_id); + }, + filter_key_press: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + source_box.selectedIndex = 0; + SelectBox.move(field_id + source, field_id + target); + source_box.selectedIndex = 0; + event.preventDefault(); + } + }, + filter_key_up: function(event, field_id, source, filter_input) { + const input = filter_input || '_input'; + const source_box = document.getElementById(field_id + source); + const temp = source_box.selectedIndex; + SelectBox.filter(field_id + source, document.getElementById(field_id + input).value); + source_box.selectedIndex = temp; + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }, + filter_key_down: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // right key (39) or left key (37) + const direction = source === '_from' ? 39 : 37; + // right arrow -- move across + if ((event.which && event.which === direction) || (event.keyCode && event.keyCode === direction)) { + const old_index = source_box.selectedIndex; + SelectBox.move(field_id + source, field_id + target); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + source_box.selectedIndex = (old_index === source_box.length) ? source_box.length - 1 : old_index; + return; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + source_box.selectedIndex = (source_box.length === source_box.selectedIndex + 1) ? 0 : source_box.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + source_box.selectedIndex = (source_box.selectedIndex === 0) ? source_box.length - 1 : source_box.selectedIndex - 1; + } + } + }; + + window.addEventListener('load', function(e) { + document.querySelectorAll('select.selectfilter, select.selectfilterstacked').forEach(function(el) { + const data = el.dataset; + SelectFilter.init(el.id, data.fieldName, parseInt(data.isStacked, 10)); + }); + }); +} diff --git a/static/admin/js/actions.js b/static/admin/js/actions.js new file mode 100644 index 0000000..6a2ae91 --- /dev/null +++ b/static/admin/js/actions.js @@ -0,0 +1,204 @@ +/*global gettext, interpolate, ngettext*/ +'use strict'; +{ + function show(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.remove('hidden'); + }); + } + + function hide(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.add('hidden'); + }); + } + + function showQuestion(options) { + hide(options.acrossClears); + show(options.acrossQuestions); + hide(options.allContainer); + } + + function showClear(options) { + show(options.acrossClears); + hide(options.acrossQuestions); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + show(options.allContainer); + hide(options.counterContainer); + } + + function reset(options) { + hide(options.acrossClears); + hide(options.acrossQuestions); + hide(options.allContainer); + show(options.counterContainer); + } + + function clearAcross(options) { + reset(options); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 0; + }); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + } + + function checker(actionCheckboxes, options, checked) { + if (checked) { + showQuestion(options); + } else { + reset(options); + } + actionCheckboxes.forEach(function(el) { + el.checked = checked; + el.closest('tr').classList.toggle(options.selectedClass, checked); + }); + } + + function updateCounter(actionCheckboxes, options) { + const sel = Array.from(actionCheckboxes).filter(function(el) { + return el.checked; + }).length; + const counter = document.querySelector(options.counterContainer); + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + const actions_icnt = Number(counter.dataset.actionsIcnt); + counter.textContent = interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true); + const allToggle = document.getElementById(options.allToggleId); + allToggle.checked = sel === actionCheckboxes.length; + if (allToggle.checked) { + showQuestion(options); + } else { + clearAcross(options); + } + } + + const defaults = { + actionContainer: "div.actions", + counterContainer: "span.action-counter", + allContainer: "div.actions span.all", + acrossInput: "div.actions input.select-across", + acrossQuestions: "div.actions span.question", + acrossClears: "div.actions span.clear", + allToggleId: "action-toggle", + selectedClass: "selected" + }; + + window.Actions = function(actionCheckboxes, options) { + options = Object.assign({}, defaults, options); + let list_editable_changed = false; + let lastChecked = null; + let shiftPressed = false; + + document.addEventListener('keydown', (event) => { + shiftPressed = event.shiftKey; + }); + + document.addEventListener('keyup', (event) => { + shiftPressed = event.shiftKey; + }); + + document.getElementById(options.allToggleId).addEventListener('click', function(event) { + checker(actionCheckboxes, options, this.checked); + updateCounter(actionCheckboxes, options); + }); + + document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 1; + }); + showClear(options); + }); + }); + + document.querySelectorAll(options.acrossClears + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + document.getElementById(options.allToggleId).checked = false; + clearAcross(options); + checker(actionCheckboxes, options, false); + updateCounter(actionCheckboxes, options); + }); + }); + + function affectedCheckboxes(target, withModifier) { + const multiSelect = (lastChecked && withModifier && lastChecked !== target); + if (!multiSelect) { + return [target]; + } + const checkboxes = Array.from(actionCheckboxes); + const targetIndex = checkboxes.findIndex(el => el === target); + const lastCheckedIndex = checkboxes.findIndex(el => el === lastChecked); + const startIndex = Math.min(targetIndex, lastCheckedIndex); + const endIndex = Math.max(targetIndex, lastCheckedIndex); + const filtered = checkboxes.filter((el, index) => (startIndex <= index) && (index <= endIndex)); + return filtered; + }; + + Array.from(document.getElementById('result_list').tBodies).forEach(function(el) { + el.addEventListener('change', function(event) { + const target = event.target; + if (target.classList.contains('action-select')) { + const checkboxes = affectedCheckboxes(target, shiftPressed); + checker(checkboxes, options, target.checked); + updateCounter(actionCheckboxes, options); + lastChecked = target; + } else { + list_editable_changed = true; + } + }); + }); + + document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) { + if (list_editable_changed) { + const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + if (!confirmed) { + event.preventDefault(); + } + } + }); + + const el = document.querySelector('#changelist-form input[name=_save]'); + // The button does not exist if no fields are editable. + if (el) { + el.addEventListener('click', function(event) { + if (document.querySelector('[name=action]').value) { + const text = list_editable_changed + ? gettext("You have selected an action, but you haven’t saved your changes to individual fields yet. Please click OK to save. You’ll need to re-run the action.") + : gettext("You have selected an action, and you haven’t made any changes on individual fields. You’re probably looking for the Go button rather than the Save button."); + if (!confirm(text)) { + event.preventDefault(); + } + } + }); + } + // Sync counter when navigating to the page, such as through the back + // button. + window.addEventListener('pageshow', (event) => updateCounter(actionCheckboxes, options)); + }; + + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + const actionsEls = document.querySelectorAll('tr input.action-select'); + if (actionsEls.length > 0) { + Actions(actionsEls); + } + }); +} diff --git a/static/admin/js/admin/DateTimeShortcuts.js b/static/admin/js/admin/DateTimeShortcuts.js new file mode 100644 index 0000000..aa1cae9 --- /dev/null +++ b/static/admin/js/admin/DateTimeShortcuts.js @@ -0,0 +1,408 @@ +/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// +// +'use strict'; +{ + const DateTimeShortcuts = { + calendars: [], + calendarInputs: [], + clockInputs: [], + clockHours: { + default_: [ + [gettext_noop('Now'), -1], + [gettext_noop('Midnight'), 0], + [gettext_noop('6 a.m.'), 6], + [gettext_noop('Noon'), 12], + [gettext_noop('6 p.m.'), 18] + ] + }, + dismissClockFunc: [], + dismissCalendarFunc: [], + calendarDivName1: 'calendarbox', // name of calendar
    that gets toggled + calendarDivName2: 'calendarin', // name of
    that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock
    that gets toggled + clockLinkName: 'clocklink', // name of the link that is used to toggle + shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts + timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch + timezoneOffset: 0, + init: function() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + for (const inp of document.getElementsByTagName('input')) { + if (inp.type === 'text' && inp.classList.contains('vTimeField')) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.type === 'text' && inp.classList.contains('vDateField')) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localNow = new Date(); + const localOffset = localNow.getTimezoneOffset() * -60; + localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); + return localNow; + } else { + return new Date(); + } + }, + // Add a warning when the time zone in the browser and backend do not match. + addTimezoneWarning: function(inp) { + const warningClass = DateTimeShortcuts.timezoneWarningClass; + let timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600; + + // Only warn if there is a time zone mismatch. + if (!timezoneOffset) { + return; + } + + // Check if warning is already there. + if (inp.parentNode.querySelectorAll('.' + warningClass).length) { + return; + } + + let message; + if (timezoneOffset > 0) { + message = ngettext( + 'Note: You are %s hour ahead of server time.', + 'Note: You are %s hours ahead of server time.', + timezoneOffset + ); + } + else { + timezoneOffset *= -1; + message = ngettext( + 'Note: You are %s hour behind server time.', + 'Note: You are %s hours behind server time.', + timezoneOffset + ); + } + message = interpolate(message, [timezoneOffset]); + + const warning = document.createElement('div'); + warning.classList.add('help', warningClass); + warning.textContent = message; + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + const num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const now_link = document.createElement('a'); + now_link.href = "#"; + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + const clock_link = document.createElement('a'); + clock_link.href = '#'; + clock_link.id = DateTimeShortcuts.clockLinkName + num; + clock_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the clock + e.stopPropagation(); + DateTimeShortcuts.openClock(num); + }); + + quickElement( + 'span', clock_link, '', + 'class', 'clock-icon', + 'title', gettext('Choose a Time') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(now_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(clock_link); + + // Create clock link div + // + // Markup looks like: + //
    + //

    Choose a time

    + // + //

    Cancel

    + //
    + + const clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.id = DateTimeShortcuts.clockDivName + num; + document.body.appendChild(clock_box); + clock_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + quickElement('h2', clock_box, gettext('Choose a time')); + const time_list = quickElement('ul', clock_box); + time_list.className = 'timelist'; + // The list of choices can be overridden in JavaScript like this: + // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]]; + // where name is the name attribute of the . + const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + const time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#'); + time_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, element[1]); + }); + }); + + const cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissClock(num); + }); + + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissClock(num); + event.preventDefault(); + } + }); + }, + openClock: function(num) { + const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + clock_box.style.left = findPosX(clock_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + clock_box.style.left = findPosX(clock_link) - 110 + 'px'; + } + clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px'; + + // Show the clock box + clock_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + dismissClock: function(num) { + document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]); + }, + handleClockQuicklink: function(num, val) { + let d; + if (val === -1) { + d = DateTimeShortcuts.now(); + } + else { + d = new Date(1970, 1, 1, val, 0, 0, 0); + } + DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]); + DateTimeShortcuts.clockInputs[num].focus(); + DateTimeShortcuts.dismissClock(num); + }, + // Add calendar widget to a given field. + addCalendar: function(inp) { + const num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const today_link = document.createElement('a'); + today_link.href = '#'; + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + const cal_link = document.createElement('a'); + cal_link.href = '#'; + cal_link.id = DateTimeShortcuts.calendarLinkName + num; + cal_link.addEventListener('click', function(e) { + e.preventDefault(); + // avoid triggering the document click handler to dismiss the calendar + e.stopPropagation(); + DateTimeShortcuts.openCalendar(num); + }); + quickElement( + 'span', cal_link, '', + 'class', 'date-icon', + 'title', gettext('Choose a Date') + ); + shortcuts_span.appendChild(document.createTextNode('\u00A0')); + shortcuts_span.appendChild(today_link); + shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0')); + shortcuts_span.appendChild(cal_link); + + // Create calendarbox div. + // + // Markup looks like: + // + //
    + //

    + // + // February 2003 + //

    + //
    + // + //
    + //
    + // Yesterday | Today | Tomorrow + //
    + //

    Cancel

    + //
    + const cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.id = DateTimeShortcuts.calendarDivName1 + num; + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + const cal_nav = quickElement('div', cal_box); + const cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#'); + cal_nav_prev.className = 'calendarnav-previous'; + cal_nav_prev.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawPrev(num); + }); + + const cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#'); + cal_nav_next.className = 'calendarnav-next'; + cal_nav_next.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.drawNext(num); + }); + + // main box + const cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num); + cal_main.className = 'calendar'; + DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num)); + DateTimeShortcuts.calendars[num].drawCurrent(); + + // calendar shortcuts + const shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + let day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, -1); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0')); + day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#'); + day_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, +1); + }); + + // cancel bar + const cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + const cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#'); + cancel_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.dismissCalendar(num); + }); + document.addEventListener('keyup', function(event) { + if (event.which === 27) { + // ESC key closes popup + DateTimeShortcuts.dismissCalendar(num); + event.preventDefault(); + } + }); + }, + openCalendar: function(num) { + const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + const inp = DateTimeShortcuts.calendarInputs[num]; + + // Determine if the current value in the input has a valid date. + // If so, draw the calendar with that date's year and month. + if (inp.value) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + const selected = inp.value.strptime(format); + const year = selected.getUTCFullYear(); + const month = selected.getUTCMonth() + 1; + const re = /\d{4}/; + if (re.test(year.toString()) && month >= 1 && month <= 12) { + DateTimeShortcuts.calendars[num].drawDate(month, year, selected); + } + } + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(document.body).direction !== 'rtl') { + cal_box.style.left = findPosX(cal_link) + 17 + 'px'; + } + else { + // since style's width is in em, it'd be tough to calculate + // px value of it. let's use an estimated px for now + cal_box.style.left = findPosX(cal_link) - 180 + 'px'; + } + cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px'; + + cal_box.style.display = 'block'; + document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + dismissCalendar: function(num) { + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]); + }, + drawPrev: function(num) { + DateTimeShortcuts.calendars[num].drawPreviousMonth(); + }, + drawNext: function(num) { + DateTimeShortcuts.calendars[num].drawNextMonth(); + }, + handleCalendarCallback: function(num) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + return function(y, m, d) { + DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format); + DateTimeShortcuts.calendarInputs[num].focus(); + document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none'; + }; + }, + handleCalendarQuickLink: function(num, offset) { + const d = DateTimeShortcuts.now(); + d.setDate(d.getDate() + offset); + DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]); + DateTimeShortcuts.calendarInputs[num].focus(); + DateTimeShortcuts.dismissCalendar(num); + } + }; + + window.addEventListener('load', DateTimeShortcuts.init); + window.DateTimeShortcuts = DateTimeShortcuts; +} diff --git a/static/admin/js/admin/RelatedObjectLookups.js b/static/admin/js/admin/RelatedObjectLookups.js new file mode 100644 index 0000000..32e3f5b --- /dev/null +++ b/static/admin/js/admin/RelatedObjectLookups.js @@ -0,0 +1,240 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. +'use strict'; +{ + const $ = django.jQuery; + let popupIndex = 0; + const relatedWindows = []; + + function dismissChildPopups() { + relatedWindows.forEach(function(win) { + if(!win.closed) { + win.dismissChildPopups(); + win.close(); + } + }); + } + + function setPopupIndex() { + if(document.getElementsByName("_popup").length > 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + return name + "__" + (popupIndex + 1); + } + + function removePopupIndex(name) { + return name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); + const href = new URL(triggeringLink.href); + if (add_popup) { + href.searchParams.set('_popup', 1); + } + const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + chosenId; + } else { + document.getElementById(name).value = chosenId; + } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + const $this = $(triggeringLink); + const siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + const value = $this.val(); + if (value) { + siblings.each(function() { + const elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + elm.removeAttr('aria-disabled'); + }); + } else { + siblings.removeAttr('href'); + siblings.attr('aria-disabled', true); + } + } + + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '...//add/' or + // '...///change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Exclude autocomplete selects. + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] select:not(.admin-autocomplete)`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem) { + const elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); + } else if (elemName === 'INPUT') { + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + const toId = name + "_to"; + const o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + const id = removePopupIndex(win.name.replace(/^edit_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, newId); + selects.next().find('.select2-selection__rendered').each(function() { + // The element can have a clear button as a child. + // Use the lastChild to modify only the displayed value. + this.lastChild.textContent = newRepr; + this.title = newRepr; + }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + const id = removePopupIndex(win.name.replace(/^delete_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + + $(document).ready(function() { + setPopupIndex(); + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { + e.preventDefault(); + if (this.href) { + const event = $.Event('django:show-related', {href: this.href}); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectPopup(this); + } + } + }); + $('body').on('change', '.related-widget-wrapper select', function(e) { + const event = $.Event('django:update-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + updateRelatedObjectLinks(this); + } + }); + $('.related-widget-wrapper select').trigger('change'); + $('body').on('click', '.related-lookup', function(e) { + e.preventDefault(); + const event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); +} diff --git a/static/admin/js/autocomplete.js b/static/admin/js/autocomplete.js new file mode 100644 index 0000000..d3daeab --- /dev/null +++ b/static/admin/js/autocomplete.js @@ -0,0 +1,33 @@ +'use strict'; +{ + const $ = django.jQuery; + + $.fn.djangoAdminSelect2 = function() { + $.each(this, function(i, element) { + $(element).select2({ + ajax: { + data: (params) => { + return { + term: params.term, + page: params.page, + app_label: element.dataset.appLabel, + model_name: element.dataset.modelName, + field_name: element.dataset.fieldName + }; + } + } + }); + }); + return this; + }; + + $(function() { + // Initialize all autocomplete widgets except the one in the template + // form used when a new formset is added. + $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2(); + }); + + document.addEventListener('formset:added', (event) => { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); +} diff --git a/static/admin/js/calendar.js b/static/admin/js/calendar.js new file mode 100644 index 0000000..776310f --- /dev/null +++ b/static/admin/js/calendar.js @@ -0,0 +1,239 @@ +/*global gettext, pgettext, get_format, quickElement, removeChildren*/ +/* +calendar.js - Calendar functions by Adrian Holovaty +depends on core.js for utility functions like removeChildren or quickElement +*/ +'use strict'; +{ + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + const CalendarNamespace = { + monthsOfYear: [ + gettext('January'), + gettext('February'), + gettext('March'), + gettext('April'), + gettext('May'), + gettext('June'), + gettext('July'), + gettext('August'), + gettext('September'), + gettext('October'), + gettext('November'), + gettext('December') + ], + monthsOfYearAbbrev: [ + pgettext('abbrev. month January', 'Jan'), + pgettext('abbrev. month February', 'Feb'), + pgettext('abbrev. month March', 'Mar'), + pgettext('abbrev. month April', 'Apr'), + pgettext('abbrev. month May', 'May'), + pgettext('abbrev. month June', 'Jun'), + pgettext('abbrev. month July', 'Jul'), + pgettext('abbrev. month August', 'Aug'), + pgettext('abbrev. month September', 'Sep'), + pgettext('abbrev. month October', 'Oct'), + pgettext('abbrev. month November', 'Nov'), + pgettext('abbrev. month December', 'Dec') + ], + daysOfWeek: [ + gettext('Sunday'), + gettext('Monday'), + gettext('Tuesday'), + gettext('Wednesday'), + gettext('Thursday'), + gettext('Friday'), + gettext('Saturday') + ], + daysOfWeekAbbrev: [ + pgettext('abbrev. day Sunday', 'Sun'), + pgettext('abbrev. day Monday', 'Mon'), + pgettext('abbrev. day Tuesday', 'Tue'), + pgettext('abbrev. day Wednesday', 'Wed'), + pgettext('abbrev. day Thursday', 'Thur'), + pgettext('abbrev. day Friday', 'Fri'), + pgettext('abbrev. day Saturday', 'Sat') + ], + daysOfWeekInitial: [ + pgettext('one letter Sunday', 'S'), + pgettext('one letter Monday', 'M'), + pgettext('one letter Tuesday', 'T'), + pgettext('one letter Wednesday', 'W'), + pgettext('one letter Thursday', 'T'), + pgettext('one letter Friday', 'F'), + pgettext('one letter Saturday', 'S') + ], + firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')), + isLeapYear: function(year) { + return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0)); + }, + getDaysInMonth: function(month, year) { + let days; + if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) { + days = 31; + } + else if (month === 4 || month === 6 || month === 9 || month === 11) { + days = 30; + } + else if (month === 2 && CalendarNamespace.isLeapYear(year)) { + days = 29; + } + else { + days = 28; + } + return days; + }, + draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999 + const today = new Date(); + const todayDay = today.getDate(); + const todayMonth = today.getMonth() + 1; + const todayYear = today.getFullYear(); + let todayClass = ''; + + // Use UTC functions here because the date field does not contain time + // and using the UTC function variants prevent the local time offset + // from altering the date, specifically the day field. For example: + // + // ``` + // var x = new Date('2013-10-02'); + // var day = x.getDate(); + // ``` + // + // The day variable above will be 1 instead of 2 in, say, US Pacific time + // zone. + let isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + const calDiv = document.getElementById(div_id); + removeChildren(calDiv); + const calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + const tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + let tableRow = quickElement('tr', tableBody); + for (let i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeekInitial[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + const days = CalendarNamespace.getDaysInMonth(month, year); + + let nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (let i = 0; i < startingPos; i++) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + function calendarMonth(y, m) { + function onClick(e) { + e.preventDefault(); + callback(y, m, this.textContent); + } + return onClick; + } + + // Draw days of month + let currentDay = 1; + for (let i = startingPos; currentDay <= days; i++) { + if (i % 7 === 0 && currentDay !== 1) { + tableRow = quickElement('tr', tableBody); + } + if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) { + todayClass = 'today'; + } else { + todayClass = ''; + } + + // use UTC function; see above for explanation. + if (isSelectedMonth && currentDay === selected.getUTCDate()) { + if (todayClass !== '') { + todayClass += " "; + } + todayClass += "selected"; + } + + const cell = quickElement('td', tableRow, '', 'class', todayClass); + const link = quickElement('a', cell, currentDay, 'href', '#'); + link.addEventListener('click', calendarMonth(year, month)); + currentDay++; + } + + // Draw blanks after end of month (optional, but makes for valid code) + while (tableRow.childNodes.length < 7) { + nonDayCell = quickElement('td', tableRow, ' '); + nonDayCell.className = "nonday"; + } + + calDiv.appendChild(calTable); + } + }; + + // Calendar -- A calendar instance + function Calendar(div_id, callback, selected) { + // div_id (string) is the ID of the element in which the calendar will + // be displayed + // callback (string) is the name of a JavaScript function that will be + // called with the parameters (year, month, day) when a day in the + // calendar is clicked + this.div_id = div_id; + this.callback = callback; + this.today = new Date(); + this.currentMonth = this.today.getMonth() + 1; + this.currentYear = this.today.getFullYear(); + if (typeof selected !== 'undefined') { + this.selected = selected; + } + } + Calendar.prototype = { + drawCurrent: function() { + CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected); + }, + drawDate: function(month, year, selected) { + this.currentMonth = month; + this.currentYear = year; + + if(selected) { + this.selected = selected; + } + + this.drawCurrent(); + }, + drawPreviousMonth: function() { + if (this.currentMonth === 1) { + this.currentMonth = 12; + this.currentYear--; + } + else { + this.currentMonth--; + } + this.drawCurrent(); + }, + drawNextMonth: function() { + if (this.currentMonth === 12) { + this.currentMonth = 1; + this.currentYear++; + } + else { + this.currentMonth++; + } + this.drawCurrent(); + }, + drawPreviousYear: function() { + this.currentYear--; + this.drawCurrent(); + }, + drawNextYear: function() { + this.currentYear++; + this.drawCurrent(); + } + }; + window.Calendar = Calendar; + window.CalendarNamespace = CalendarNamespace; +} diff --git a/static/admin/js/cancel.js b/static/admin/js/cancel.js new file mode 100644 index 0000000..3069c6f --- /dev/null +++ b/static/admin/js/cancel.js @@ -0,0 +1,29 @@ +'use strict'; +{ + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + function handleClick(event) { + event.preventDefault(); + const params = new URLSearchParams(window.location.search); + if (params.has('_popup')) { + window.close(); // Close the popup. + } else { + window.history.back(); // Otherwise, go back. + } + } + + document.querySelectorAll('.cancel-link').forEach(function(el) { + el.addEventListener('click', handleClick); + }); + }); +} diff --git a/static/admin/js/change_form.js b/static/admin/js/change_form.js new file mode 100644 index 0000000..96a4c62 --- /dev/null +++ b/static/admin/js/change_form.js @@ -0,0 +1,16 @@ +'use strict'; +{ + const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; + const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; + if (modelName) { + const form = document.getElementById(modelName + '_form'); + for (const element of form.elements) { + // HTMLElement.offsetParent returns null when the element is not + // rendered. + if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { + element.focus(); + break; + } + } + } +} diff --git a/static/admin/js/collapse.js b/static/admin/js/collapse.js new file mode 100644 index 0000000..c6c7b0f --- /dev/null +++ b/static/admin/js/collapse.js @@ -0,0 +1,43 @@ +/*global gettext*/ +'use strict'; +{ + window.addEventListener('load', function() { + // Add anchor tag for Show/Hide link + const fieldsets = document.querySelectorAll('fieldset.collapse'); + for (const [i, elem] of fieldsets.entries()) { + // Don't hide if fields in this fieldset have errors + if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) { + elem.classList.add('collapsed'); + const h2 = elem.querySelector('h2'); + const link = document.createElement('a'); + link.id = 'fieldsetcollapser' + i; + link.className = 'collapse-toggle'; + link.href = '#'; + link.textContent = gettext('Show'); + h2.appendChild(document.createTextNode(' (')); + h2.appendChild(link); + h2.appendChild(document.createTextNode(')')); + } + } + // Add toggle to hide/show anchor tag + const toggleFunc = function(ev) { + if (ev.target.matches('.collapse-toggle')) { + ev.preventDefault(); + ev.stopPropagation(); + const fieldset = ev.target.closest('fieldset'); + if (fieldset.classList.contains('collapsed')) { + // Show + ev.target.textContent = gettext('Hide'); + fieldset.classList.remove('collapsed'); + } else { + // Hide + ev.target.textContent = gettext('Show'); + fieldset.classList.add('collapsed'); + } + } + }; + document.querySelectorAll('fieldset.module').forEach(function(el) { + el.addEventListener('click', toggleFunc); + }); + }); +} diff --git a/static/admin/js/core.js b/static/admin/js/core.js new file mode 100644 index 0000000..10504d4 --- /dev/null +++ b/static/admin/js/core.js @@ -0,0 +1,184 @@ +// Core JavaScript helper functions +'use strict'; + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + const obj = document.createElement(arguments[0]); + if (arguments[2]) { + const textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + const len = arguments.length; + for (let i = 3; i < len; i += 2) { + obj.setAttribute(arguments[i], arguments[i + 1]); + } + arguments[1].appendChild(obj); + return obj; +} + +// "a" is reference to an object +function removeChildren(a) { + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + let curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - obj.scrollLeft; + obj = obj.offsetParent; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + let curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - obj.scrollTop; + obj = obj.offsetParent; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +{ + Date.prototype.getTwelveHours = function() { + return this.getHours() % 12 || 12; + }; + + Date.prototype.getTwoDigitMonth = function() { + return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1); + }; + + Date.prototype.getTwoDigitDate = function() { + return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate(); + }; + + Date.prototype.getTwoDigitTwelveHour = function() { + return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours(); + }; + + Date.prototype.getTwoDigitHour = function() { + return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours(); + }; + + Date.prototype.getTwoDigitMinute = function() { + return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes(); + }; + + Date.prototype.getTwoDigitSecond = function() { + return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds(); + }; + + Date.prototype.getAbbrevDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeekAbbrev[this.getDay()]; + }; + + Date.prototype.getFullDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeek[this.getDay()]; + }; + + Date.prototype.getAbbrevMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()]; + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + const fields = { + a: this.getAbbrevDayName(), + A: this.getFullDayName(), + b: this.getAbbrevMonthName(), + B: this.getFullMonthName(), + c: this.toString(), + d: this.getTwoDigitDate(), + H: this.getTwoDigitHour(), + I: this.getTwoDigitTwelveHour(), + m: this.getTwoDigitMonth(), + M: this.getTwoDigitMinute(), + p: (this.getHours() >= 12) ? 'PM' : 'AM', + S: this.getTwoDigitSecond(), + w: '0' + this.getDay(), + x: this.toLocaleDateString(), + X: this.toLocaleTimeString(), + y: ('' + this.getFullYear()).substr(2, 4), + Y: '' + this.getFullYear(), + '%': '%' + }; + let result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result += fields[format.charAt(i + 1)]; + ++i; + } + else { + result += format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.strptime = function(format) { + const split_format = format.split(/[.\-/]/); + const date = this.split(/[.\-/]/); + let i = 0; + let day, month, year; + while (i < split_format.length) { + switch (split_format[i]) { + case "%d": + day = date[i]; + break; + case "%m": + month = date[i] - 1; + break; + case "%Y": + year = date[i]; + break; + case "%y": + // A %y value in the range of [00, 68] is in the current + // century, while [69, 99] is in the previous century, + // according to the Open Group Specification. + if (parseInt(date[i], 10) >= 69) { + year = date[i]; + } else { + year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100; + } + break; + } + ++i; + } + // Create Date object from UTC since the parsed value is supposed to be + // in UTC, not local time. Also, the calendar uses UTC functions for + // date extraction. + return new Date(Date.UTC(year, month, day)); + }; +} diff --git a/static/admin/js/filters.js b/static/admin/js/filters.js new file mode 100644 index 0000000..f5536eb --- /dev/null +++ b/static/admin/js/filters.js @@ -0,0 +1,30 @@ +/** + * Persist changelist filters state (collapsed/expanded). + */ +'use strict'; +{ + // Init filters. + let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); + + if (!filters) { + filters = {}; + } + + Object.entries(filters).forEach(([key, value]) => { + const detailElement = document.querySelector(`[data-filter-title='${CSS.escape(key)}']`); + + // Check if the filter is present, it could be from other view. + if (detailElement) { + value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); + } + }); + + // Save filter state when clicks. + const details = document.querySelectorAll('details'); + details.forEach(detail => { + detail.addEventListener('toggle', event => { + filters[`${event.target.dataset.filterTitle}`] = detail.open; + sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); + }); + }); +} diff --git a/static/admin/js/inlines.js b/static/admin/js/inlines.js new file mode 100644 index 0000000..e9a1dfe --- /dev/null +++ b/static/admin/js/inlines.js @@ -0,0 +1,359 @@ +/*global DateTimeShortcuts, SelectFilter*/ +/** + * Django admin inlines + * + * Based on jQuery Formset 1.1 + * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com) + * @requires jQuery 1.2.6 or later + * + * Copyright (c) 2009, Stanislaus Madueke + * All rights reserved. + * + * Spiced up with Code from Zain Memon's GSoC project 2009 + * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip. + * + * Licensed under the New BSD License + * See: https://opensource.org/licenses/bsd-license.php + */ +'use strict'; +{ + const $ = django.jQuery; + $.fn.formset = function(opts) { + const options = $.extend({}, $.fn.formset.defaults, opts); + const $this = $(this); + const $parent = $this.parent(); + const updateElementIndex = function(el, prefix, ndx) { + const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + const replacement = prefix + "-" + ndx; + if ($(el).prop("for")) { + $(el).prop("for", $(el).prop("for").replace(id_regex, replacement)); + } + if (el.id) { + el.id = el.id.replace(id_regex, replacement); + } + if (el.name) { + el.name = el.name.replace(id_regex, replacement); + } + }; + const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + let nextIndex = parseInt(totalForms.val(), 10); + const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off"); + let addButton; + + /** + * The "Add another MyModel" button below the inline forms. + */ + const addInlineAddButton = function() { + if (addButton === null) { + if ($this.prop("tagName") === "TR") { + // If forms are laid out as table rows, insert the + // "add" button in a new table row: + const numCols = $this.eq(-1).children().length; + $parent.append('' + options.addText + ""); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', addInlineClickHandler); + }; + + const addInlineClickHandler = function(e) { + e.preventDefault(); + const template = $("#" + options.prefix + "-empty"); + const row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + addInlineDeleteButton(row); + row.find("*").each(function() { + updateElementIndex(this, options.prefix, totalForms.val()); + }); + // Insert the new form when it has been fully edited. + row.insertBefore($(template)); + // Update number of total forms. + $(totalForms).val(parseInt(totalForms.val(), 10) + 1); + nextIndex += 1; + // Hide the add button if there's a limit and it's been reached. + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // Show the remove buttons if there are more than min_num. + toggleDeleteButtonVisibility(row.closest('.inline-group')); + + // Pass the new form to the post-add callback, if provided. + if (options.added) { + options.added(row); + } + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); + }; + + /** + * The "X" button that is part of every unsaved inline. + * (When saved, it is replaced with a "Delete" checkbox.) + */ + const addInlineDeleteButton = function(row) { + if (row.is("tr")) { + // If the forms are laid out in table rows, insert + // the remove button into the last table cell: + row.children(":last").append('"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an
  • after the last list item: + row.append('
  • ' + options.deleteText + "
  • "); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('' + options.deleteText + ""); + } + // Add delete handler for each row. + row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this)); + }; + + const inlineDeleteHandler = function(e1) { + e1.preventDefault(); + const deleteButton = $(e1.target); + const row = deleteButton.closest('.' + options.formCssClass); + const inlineGroup = row.closest('.inline-group'); + // Remove the parent form containing this button, + // and also remove the relevant row with non-field errors: + const prevRow = row.prev(); + if (prevRow.length && prevRow.hasClass('row-form-errors')) { + prevRow.remove(); + } + row.remove(); + nextIndex -= 1; + // Pass the deleted form to the post-delete callback, if provided. + if (options.removed) { + options.removed(row); + } + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); + // Update the TOTAL_FORMS form count. + const forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once below maximum number. + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Hide the remove buttons if at min_num. + toggleDeleteButtonVisibility(inlineGroup); + // Also, update names and ids for all remaining form controls so + // they remain in sequence: + let i, formCount; + const updateElementCallback = function() { + updateElementIndex(this, options.prefix, i); + }; + for (i = 0, formCount = forms.length; i < formCount; i++) { + updateElementIndex($(forms).get(i), options.prefix, i); + $(forms.get(i)).find("*").each(updateElementCallback); + } + }; + + const toggleDeleteButtonVisibility = function(inlineGroup) { + if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) { + inlineGroup.find('.inline-deletelink').hide(); + } else { + inlineGroup.find('.inline-deletelink').show(); + } + }; + + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + + // Create the delete buttons for all unsaved inlines: + $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() { + addInlineDeleteButton($(this)); + }); + toggleDeleteButtonVisibility($this); + + // Create the add button, initially hidden. + addButton = options.addButton; + addInlineAddButton(); + + // Show the add button if allowed to add more items. + // Note that max_num = None translates to a blank string. + const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + if ($this.length && showAddButton) { + addButton.parent().show(); + } else { + addButton.parent().hide(); + } + + return this; + }; + + /* Setup plugin defaults */ + $.fn.formset.defaults = { + prefix: "form", // The form prefix for your django formset + addText: "add another", // Text for the add link + deleteText: "remove", // Text for the delete link + addCssClass: "add-row", // CSS class applied to the add link + deleteCssClass: "delete-row", // CSS class applied to the delete link + emptyCssClass: "empty-row", // CSS class applied to the empty row + formCssClass: "dynamic-form", // CSS class applied to each form in a formset + added: null, // Function called each time a new form is added + removed: null, // Function called each time a form is deleted + addButton: null // Existing add button to use + }; + + + // Tabular inlines --------------------------------------------------------- + $.fn.tabularFormset = function(selector, options) { + const $rows = $(this); + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const updateSelectFilter = function() { + // If any SelectFilter widgets are a part of the new form, + // instantiate a new SelectFilter instance for it. + if (typeof SelectFilter !== 'undefined') { + $('.selectfilter').each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $('.selectfilterstacked').each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + const $rows = $(this); + const updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + const count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $(".selectfilterstacked").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.find('input, select, textarea').attr('id')); + }); + if (dependencies.length) { + input.prepopulate(dependencies, input.attr('maxlength')); + } + }); + }; + + $rows.formset({ + prefix: options.prefix, + addText: options.addText, + formCssClass: "dynamic-" + options.prefix, + deleteCssClass: "inline-deletelink", + deleteText: options.deleteText, + emptyCssClass: "empty-form", + removed: updateInlineLabel, + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + updateInlineLabel(row); + }, + addButton: options.addButton + }); + + return $rows; + }; + + $(document).ready(function() { + $(".js-inline-admin-formset").each(function() { + const data = $(this).data(), + inlineOptions = data.inlineFormset; + let selector; + switch(data.inlineType) { + case "stacked": + selector = inlineOptions.name + "-group .inline-related"; + $(selector).stackedFormset(selector, inlineOptions.options); + break; + case "tabular": + selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr.form-row"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +} diff --git a/static/admin/js/jquery.init.js b/static/admin/js/jquery.init.js new file mode 100644 index 0000000..f40b27f --- /dev/null +++ b/static/admin/js/jquery.init.js @@ -0,0 +1,8 @@ +/*global jQuery:false*/ +'use strict'; +/* Puts the included jQuery into our own namespace using noConflict and passing + * it 'true'. This ensures that the included jQuery doesn't pollute the global + * namespace (i.e. this preserves pre-existing values for both window.$ and + * window.jQuery). + */ +window.django = {jQuery: jQuery.noConflict(true)}; diff --git a/static/admin/js/nav_sidebar.js b/static/admin/js/nav_sidebar.js new file mode 100644 index 0000000..7e735db --- /dev/null +++ b/static/admin/js/nav_sidebar.js @@ -0,0 +1,79 @@ +'use strict'; +{ + const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); + if (toggleNavSidebar !== null) { + const navSidebar = document.getElementById('nav-sidebar'); + const main = document.getElementById('main'); + let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); + if (navSidebarIsOpen === null) { + navSidebarIsOpen = 'true'; + } + main.classList.toggle('shifted', navSidebarIsOpen === 'true'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + + toggleNavSidebar.addEventListener('click', function() { + if (navSidebarIsOpen === 'true') { + navSidebarIsOpen = 'false'; + } else { + navSidebarIsOpen = 'true'; + } + localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); + main.classList.toggle('shifted'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + }); + } + + function initSidebarQuickFilter() { + const options = []; + const navSidebar = document.getElementById('nav-sidebar'); + if (!navSidebar) { + return; + } + navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => { + options.push({title: container.innerHTML, node: container}); + }); + + function checkValue(event) { + let filterValue = event.target.value; + if (filterValue) { + filterValue = filterValue.toLowerCase(); + } + if (event.key === 'Escape') { + filterValue = ''; + event.target.value = ''; // clear input + } + let matches = false; + for (const o of options) { + let displayValue = ''; + if (filterValue) { + if (o.title.toLowerCase().indexOf(filterValue) === -1) { + displayValue = 'none'; + } else { + matches = true; + } + } + // show/hide parent + o.node.parentNode.parentNode.style.display = displayValue; + } + if (!filterValue || matches) { + event.target.classList.remove('no-results'); + } else { + event.target.classList.add('no-results'); + } + sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue); + } + + const nav = document.getElementById('nav-filter'); + nav.addEventListener('change', checkValue, false); + nav.addEventListener('input', checkValue, false); + nav.addEventListener('keyup', checkValue, false); + + const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue'); + if (storedValue) { + nav.value = storedValue; + checkValue({target: nav, key: ''}); + } + } + window.initSidebarQuickFilter = initSidebarQuickFilter; + initSidebarQuickFilter(); +} diff --git a/static/admin/js/popup_response.js b/static/admin/js/popup_response.js new file mode 100644 index 0000000..2b1d3dd --- /dev/null +++ b/static/admin/js/popup_response.js @@ -0,0 +1,16 @@ +/*global opener */ +'use strict'; +{ + const initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse); + switch(initData.action) { + case 'change': + opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value); + break; + case 'delete': + opener.dismissDeleteRelatedObjectPopup(window, initData.value); + break; + default: + opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj); + break; + } +} diff --git a/static/admin/js/prepopulate.js b/static/admin/js/prepopulate.js new file mode 100644 index 0000000..89e95ab --- /dev/null +++ b/static/admin/js/prepopulate.js @@ -0,0 +1,43 @@ +/*global URLify*/ +'use strict'; +{ + const $ = django.jQuery; + $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) { + /* + Depends on urlify.js + Populates a selected field with the values of the dependent fields, + URLifies and shortens the string. + dependencies - array of dependent fields ids + maxLength - maximum length of the URLify'd string + allowUnicode - Unicode support of the URLify'd string + */ + return this.each(function() { + const prepopulatedField = $(this); + + const populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + const values = []; + $.each(dependencies, function(i, field) { + field = $(field); + if (field.val().length > 0) { + values.push(field.val()); + } + }); + prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode)); + }; + + prepopulatedField.data('_changed', false); + prepopulatedField.on('change', function() { + prepopulatedField.data('_changed', true); + }); + + if (!prepopulatedField.val()) { + $(dependencies.join(',')).on('keyup change focus', populate); + } + }); + }; +} diff --git a/static/admin/js/prepopulate_init.js b/static/admin/js/prepopulate_init.js new file mode 100644 index 0000000..a58841f --- /dev/null +++ b/static/admin/js/prepopulate_init.js @@ -0,0 +1,15 @@ +'use strict'; +{ + const $ = django.jQuery; + const fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields'); + $.each(fields, function(index, field) { + $( + '.empty-form .form-row .field-' + field.name + + ', .empty-form.form-row .field-' + field.name + + ', .empty-form .form-row.field-' + field.name + ).addClass('prepopulated_field'); + $(field.id).data('dependency_list', field.dependency_list).prepopulate( + field.dependency_ids, field.maxLength, field.allowUnicode + ); + }); +} diff --git a/static/admin/js/theme.js b/static/admin/js/theme.js new file mode 100644 index 0000000..794cd15 --- /dev/null +++ b/static/admin/js/theme.js @@ -0,0 +1,56 @@ +'use strict'; +{ + window.addEventListener('load', function(e) { + + function setTheme(mode) { + if (mode !== "light" && mode !== "dark" && mode !== "auto") { + console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`); + mode = "auto"; + } + document.documentElement.dataset.theme = mode; + localStorage.setItem("theme", mode); + } + + function cycleTheme() { + const currentTheme = localStorage.getItem("theme") || "auto"; + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + + if (prefersDark) { + // Auto (dark) -> Light -> Dark + if (currentTheme === "auto") { + setTheme("light"); + } else if (currentTheme === "light") { + setTheme("dark"); + } else { + setTheme("auto"); + } + } else { + // Auto (light) -> Dark -> Light + if (currentTheme === "auto") { + setTheme("dark"); + } else if (currentTheme === "dark") { + setTheme("light"); + } else { + setTheme("auto"); + } + } + } + + function initTheme() { + // set theme defined in localStorage if there is one, or fallback to auto mode + const currentTheme = localStorage.getItem("theme"); + currentTheme ? setTheme(currentTheme) : setTheme("auto"); + } + + function setupTheme() { + // Attach event handlers for toggling themes + const buttons = document.getElementsByClassName("theme-toggle"); + Array.from(buttons).forEach((btn) => { + btn.addEventListener("click", cycleTheme); + }); + initTheme(); + } + + setupTheme(); + }); +} diff --git a/static/admin/js/urlify.js b/static/admin/js/urlify.js new file mode 100644 index 0000000..9fc0409 --- /dev/null +++ b/static/admin/js/urlify.js @@ -0,0 +1,169 @@ +/*global XRegExp*/ +'use strict'; +{ + const LATIN_MAP = { + 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE', + 'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I', + 'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', + 'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', + 'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a', + 'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c', + 'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i', + 'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o', + 'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u', + 'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y' + }; + const LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + const GREEK_MAP = { + 'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h', + 'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3', + 'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f', + 'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o', + 'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y', + 'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z', + 'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N', + 'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y', + 'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I', + 'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y' + }; + const TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + const ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + const RUSSIAN_MAP = { + 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo', + 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm', + 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', + 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '', + 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya', + 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo', + 'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M', + 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', + 'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '', + 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya' + }; + const UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + const CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + const SLOVAK_MAP = { + 'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l', + 'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't', + 'ú': 'u', 'ý': 'y', 'ž': 'z', + 'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L', + 'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T', + 'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z' + }; + const POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + const LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + const ARABIC_MAP = { + 'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd', + 'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't', + 'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm', + 'ن': 'n', 'ه': 'h', 'و': 'o', 'ي': 'y' + }; + const LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + const SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + const AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + const GEORGIAN_MAP = { + 'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z', + 'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o', + 'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f', + 'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz', + 'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h' + }; + + const ALL_DOWNCODE_MAPS = [ + LATIN_MAP, + LATIN_SYMBOLS_MAP, + GREEK_MAP, + TURKISH_MAP, + ROMANIAN_MAP, + RUSSIAN_MAP, + UKRAINIAN_MAP, + CZECH_MAP, + SLOVAK_MAP, + POLISH_MAP, + LATVIAN_MAP, + ARABIC_MAP, + LITHUANIAN_MAP, + SERBIAN_MAP, + AZERBAIJANI_MAP, + GEORGIAN_MAP + ]; + + const Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + for (const lookup of ALL_DOWNCODE_MAPS) { + Object.assign(Downcoder.map, lookup); + } + Downcoder.regex = new RegExp(Object.keys(Downcoder.map).join('|'), 'g'); + } + }; + + function downcode(slug) { + Downcoder.Initialize(); + return slug.replace(Downcoder.regex, function(m) { + return Downcoder.map[m]; + }); + } + + + function URLify(s, num_chars, allowUnicode) { + // changes, e.g., "Petty theft" to "petty-theft" + if (!allowUnicode) { + s = downcode(s); + } + s = s.toLowerCase(); // convert to lowercase + // if downcode doesn't hit, the char will be stripped here + if (allowUnicode) { + // Keep Unicode letters including both lowercase and uppercase + // characters, whitespace, and dash; remove other characters. + s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), ''); + } else { + s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars + } + s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces + s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens + s = s.substring(0, num_chars); // trim to first num_chars chars + return s.replace(/-+$/g, ''); // trim any trailing hyphens + } + window.URLify = URLify; +} diff --git a/static/admin/js/vendor/jquery/LICENSE.txt b/static/admin/js/vendor/jquery/LICENSE.txt new file mode 100644 index 0000000..f642c3f --- /dev/null +++ b/static/admin/js/vendor/jquery/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/static/admin/js/vendor/jquery/jquery.js b/static/admin/js/vendor/jquery/jquery.js new file mode 100644 index 0000000..1a86433 --- /dev/null +++ b/static/admin/js/vendor/jquery/jquery.js @@ -0,0 +1,10716 @@ +/*! + * jQuery JavaScript Library v3.7.1 + * https://jquery.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2023-08-28T13:37Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket trac-14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var version = "3.7.1", + + rhtmlSuffix = /HTML$/i, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + + // Retrieve the text value of an array of DOM nodes + text: function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += jQuery.text( node ); + } + } + if ( nodeType === 1 || nodeType === 11 ) { + return elem.textContent; + } + if ( nodeType === 9 ) { + return elem.documentElement.textContent; + } + if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + isXMLDoc: function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Assume HTML when documentElement doesn't yet exist, such as inside + // document fragments. + return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var pop = arr.pop; + + +var sort = arr.sort; + + +var splice = arr.splice; + + +var whitespace = "[\\x20\\t\\r\\n\\f]"; + + +var rtrimCSS = new RegExp( + "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", + "g" +); + + + + +// Note: an element does not contain itself +jQuery.contains = function( a, b ) { + var bup = b && b.parentNode; + + return a === bup || !!( bup && bup.nodeType === 1 && ( + + // Support: IE 9 - 11+ + // IE doesn't have `contains` on SVG. + a.contains ? + a.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); +}; + + + + +// CSS string/identifier serialization +// https://drafts.csswg.org/cssom/#common-serializing-idioms +var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + +function fcssescape( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; +} + +jQuery.escapeSelector = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + + + + +var preferredDoc = document, + pushNative = push; + +( function() { + +var i, + Expr, + outermostContext, + sortInput, + hasDuplicate, + push = pushNative, + + // Local document vars + document, + documentElement, + documentIsHTML, + rbuggyQSA, + matches, + + // Instance-specific data + expando = jQuery.expando, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + + "loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + ID: new RegExp( "^#(" + identifier + ")" ), + CLASS: new RegExp( "^\\.(" + identifier + ")" ), + TAG: new RegExp( "^(" + identifier + "|[*])" ), + ATTR: new RegExp( "^" + attributes ), + PSEUDO: new RegExp( "^" + pseudos ), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + bool: new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + needsContext: new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + if ( nonHex ) { + + // Strip the backslash prefix from a non-hex escape sequence + return nonHex; + } + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + return high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes; see `setDocument`. + // Support: IE 9 - 11+, Edge 12 - 18+ + // Removing the function wrapper causes a "Permission Denied" + // error in IE/Edge. + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && nodeName( elem, "fieldset" ); + }, + { dir: "parentNode", next: "legend" } + ); + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android <=4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { + apply: function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + }, + call: function( target ) { + pushNative.apply( target, slice.call( arguments, 1 ) ); + } + }; +} + +function find( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE 9 only + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + push.call( results, elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE 9 only + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + find.contains( context, elem ) && + elem.id === m ) { + + push.call( results, elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when + // strict-comparing two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( newContext != context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = jQuery.escapeSelector( nid ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties + // (see https://github.com/jquery/sizzle/issues/157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by jQuery selector module + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + return nodeName( elem, "input" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && + elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11+ + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a jQuery selector context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [node] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +function setDocument( node ) { + var subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + documentElement = document.documentElement; + documentIsHTML = !jQuery.isXMLDoc( document ); + + // Support: iOS 7 only, IE 9 - 11+ + // Older browsers didn't support unprefixed `matches`. + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.msMatchesSelector; + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors + // (see trac-13936). + // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, + // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. + if ( documentElement.msMatchesSelector && + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 9 - 11+, Edge 12 - 18+ + subWindow.addEventListener( "unload", unloadHandler ); + } + + // Support: IE <10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + documentElement.appendChild( el ).id = jQuery.expando; + return !document.getElementsByName || + !document.getElementsByName( jQuery.expando ).length; + } ); + + // Support: IE 9 only + // Check to see if it's possible to do matchesSelector + // on a disconnected node. + support.disconnectedMatch = assert( function( el ) { + return matches.call( el, "*" ); + } ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // IE/Edge don't support the :scope pseudo-class. + support.scope = assert( function() { + return document.querySelectorAll( ":scope" ); + } ); + + // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only + // Make sure the `:has()` argument is parsed unforgivingly. + // We include `*` in the test to detect buggy implementations that are + // _selectively_ forgiving (specifically when the list includes at least + // one valid selector). + // Note that we treat complete lack of support for `:has()` as if it were + // spec-compliant support, which is fine because use of `:has()` in such + // environments will fail in the qSA path and fall back to jQuery traversal + // anyway. + support.cssHas = assert( function() { + try { + document.querySelector( ":has(*,:jqfake)" ); + return false; + } catch ( e ) { + return true; + } + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter.ID = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find.ID = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter.ID = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find.ID = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find.TAG = function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else { + return context.querySelectorAll( tag ); + } + }; + + // Class + Expr.find.CLASS = function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + rbuggyQSA = []; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + documentElement.appendChild( el ).innerHTML = + "" + + ""; + + // Support: iOS <=7 - 8 only + // Boolean attributes and "value" are not treated correctly in some XML documents + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: iOS <=7 - 8 only + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: iOS 8 only + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE 9 - 11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + documentElement.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + } ); + + if ( !support.cssHas ) { + + // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ + // Our regular `try-catch` mechanism fails to detect natively-unsupported + // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) + // in browsers that parse the `:has()` argument as a forgiving selector list. + // https://drafts.csswg.org/selectors/#relational now requires the argument + // to be parsed unforgivingly, but browsers have not yet fully adjusted. + rbuggyQSA.push( ":has" ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a === document || a.ownerDocument == preferredDoc && + find.contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b === document || b.ownerDocument == preferredDoc && + find.contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + }; + + return document; +} + +find.matches = function( expr, elements ) { + return find( expr, null, null, elements ); +}; + +find.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return find( expr, document, null, [ elem ] ).length > 0; +}; + +find.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return jQuery.contains( context, elem ); +}; + + +find.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (see trac-13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + if ( val !== undefined ) { + return val; + } + + return elem.getAttribute( name ); +}; + +find.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +jQuery.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + // + // Support: Android <=4.0+ + // Testing for detecting duplicates is unpredictable so instead assume we can't + // depend on duplicate detection in all browsers without a stable sort. + hasDuplicate = !support.sortStable; + sortInput = !support.sortStable && slice.call( results, 0 ); + sort.call( results, sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + splice.call( results, duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +jQuery.fn.uniqueSort = function() { + return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); +}; + +Expr = jQuery.expr = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + ATTR: function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) + .replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + CHILD: function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + find.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) + ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + find.error( match[ 0 ] ); + } + + return match; + }, + + PSEUDO: function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr.CHILD.test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + TAG: function( nodeNameSelector ) { + var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return nodeName( elem, expectedNodeName ); + }; + }, + + CLASS: function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + ")" + className + + "(" + whitespace + "|$)" ) ) && + classCache( className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + ATTR: function( name, operator, check ) { + return function( elem ) { + var result = find.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + if ( operator === "=" ) { + return result === check; + } + if ( operator === "!=" ) { + return result !== check; + } + if ( operator === "^=" ) { + return check && result.indexOf( check ) === 0; + } + if ( operator === "*=" ) { + return check && result.indexOf( check ) > -1; + } + if ( operator === "$=" ) { + return check && result.slice( -check.length ) === check; + } + if ( operator === "~=" ) { + return ( " " + result.replace( rwhitespace, " " ) + " " ) + .indexOf( check ) > -1; + } + if ( operator === "|=" ) { + return result === check || result.slice( 0, check.length + 1 ) === check + "-"; + } + + return false; + }; + }, + + CHILD: function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + nodeName( node, name ) : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || ( parent[ expando ] = {} ); + cache = outerCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + cache = outerCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + nodeName( node, name ) : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + outerCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + PSEUDO: function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // https://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + find.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as jQuery does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + not: markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrimCSS, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element + // (see https://github.com/jquery/sizzle/issues/299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + has: markFunction( function( selector ) { + return function( elem ) { + return find( selector, elem ).length > 0; + }; + } ), + + contains: markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // https://www.w3.org/TR/selectors/#lang-pseudo + lang: markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + find.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + target: function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + root: function( elem ) { + return elem === documentElement; + }, + + focus: function( elem ) { + return elem === safeActiveElement() && + document.hasFocus() && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + enabled: createDisabledPseudo( false ), + disabled: createDisabledPseudo( true ), + + checked: function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + return ( nodeName( elem, "input" ) && !!elem.checked ) || + ( nodeName( elem, "option" ) && !!elem.selected ); + }, + + selected: function( elem ) { + + // Support: IE <=11+ + // Accessing the selectedIndex property + // forces the browser to treat the default option as + // selected when in an optgroup. + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + empty: function( elem ) { + + // https://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + parent: function( elem ) { + return !Expr.pseudos.empty( elem ); + }, + + // Element/input types + header: function( elem ) { + return rheader.test( elem.nodeName ); + }, + + input: function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + button: function( elem ) { + return nodeName( elem, "input" ) && elem.type === "button" || + nodeName( elem, "button" ); + }, + + text: function( elem ) { + var attr; + return nodeName( elem, "input" ) && elem.type === "text" && + + // Support: IE <10 only + // New HTML5 attribute values (e.g., "search") appear + // with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + first: createPositionalPseudo( function() { + return [ 0 ]; + } ), + + last: createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + even: createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + odd: createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + lt: createPositionalPseudo( function( matchIndexes, length, argument ) { + var i; + + if ( argument < 0 ) { + i = argument + length; + } else if ( argument > length ) { + i = length; + } else { + i = argument; + } + + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + gt: createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos.nth = Expr.pseudos.eq; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rleadingCombinator.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrimCSS, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + if ( parseOnly ) { + return soFar.length; + } + + return soFar ? + find.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + if ( skip && nodeName( elem, skip ) ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = outerCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + outerCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + find( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, matcherOut, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || + multipleContexts( selector || "*", + context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems; + + if ( matcher ) { + + // If we have a postFinder, or filtered seed, or non-seed postFilter + // or preexisting results, + matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results; + + // Find primary matches + matcher( matcherIn, matcherOut, context, xml ); + } else { + matcherOut = matcherIn; + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element + // (see https://github.com/jquery/sizzle/issues/299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrimCSS, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find.TAG( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: iOS <=7 - 9 only + // Tolerate NodeList properties (IE: "length"; Safari: ) matching + // elements by id. (see trac-14142) + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + push.call( results, elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + jQuery.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +function compile( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +} + +/** + * A low-level selection function that works with jQuery's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with jQuery selector compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find.ID( + token.matches[ 0 ].replace( runescape, funescape ), + context + ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && + testContext( context.parentNode ) || context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +} + +// One-time assignments + +// Support: Android <=4.0 - 4.1+ +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Initialize against the default document +setDocument(); + +// Support: Android <=4.0 - 4.1+ +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +jQuery.find = find; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.unique = jQuery.uniqueSort; + +// These have always been private, but they used to be documented as part of +// Sizzle so let's maintain them for now for backwards compatibility purposes. +find.compile = compile; +find.select = select; +find.setDocument = setDocument; +find.tokenize = tokenize; + +find.escape = jQuery.escapeSelector; +find.getText = jQuery.text; +find.isXML = jQuery.isXMLDoc; +find.selectors = jQuery.expr; +find.support = jQuery.support; +find.uniqueSort = jQuery.uniqueSort; + + /* eslint-enable */ + +} )(); + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (trac-9521) + // Strict HTML recognition (trac-11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to jQuery#find + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.error ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the error, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getErrorHook ) { + process.error = jQuery.Deferred.getErrorHook(); + + // The deprecated alias of the above. While the name suggests + // returning the stack, not an error instance, jQuery just passes + // it directly to `console.warn` so both will work; an instance + // just better cooperates with source maps. + } else if ( jQuery.Deferred.getStackHook ) { + process.error = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error +// captured before the async barrier to get the original error cause +// which may otherwise be hidden. +jQuery.Deferred.exceptionHook = function( error, asyncError ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, + error.stack, asyncError ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See trac-6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (trac-9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see trac-8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (trac-14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (trac-11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (trac-14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (trac-13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
    " ], + col: [ 2, "", "
    " ], + tr: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (trac-12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (trac-13208) + // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (trac-13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", true ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, isSetup ) { + + // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add + if ( !isSetup ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + if ( !saved ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + this[ type ](); + result = dataPriv.get( this, type ); + dataPriv.set( this, type, false ); + + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + return result; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering + // the native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved ) { + + // ...and capture the result + dataPriv.set( this, type, jQuery.event.trigger( + saved[ 0 ], + saved.slice( 1 ), + this + ) ); + + // Abort handling of the native event by all jQuery handlers while allowing + // native handlers on the same element to run. On target, this is achieved + // by stopping immediate propagation just on the jQuery event. However, + // the native event is re-wrapped by a jQuery one on each level of the + // propagation so the only way to stop it for jQuery is to stop it for + // everyone via native `stopPropagation()`. This is not a problem for + // focus/blur which don't bubble, but it does also stop click on checkboxes + // and radios. We accept this limitation. + event.stopPropagation(); + event.isImmediatePropagationStopped = returnTrue; + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (trac-504, trac-13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + + function focusMappedHandler( nativeEvent ) { + if ( document.documentMode ) { + + // Support: IE 11+ + // Attach a single focusin/focusout handler on the document while someone wants + // focus/blur. This is because the former are synchronous in IE while the latter + // are async. In other browsers, all those handlers are invoked synchronously. + + // `handle` from private data would already wrap the event, but we need + // to change the `type` here. + var handle = dataPriv.get( this, "handle" ), + event = jQuery.event.fix( nativeEvent ); + event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; + event.isSimulated = true; + + // First, handle focusin/focusout + handle( nativeEvent ); + + // ...then, handle focus/blur + // + // focus/blur don't bubble while focusin/focusout do; simulate the former by only + // invoking the handler at the lower level. + if ( event.target === event.currentTarget ) { + + // The setup part calls `leverageNative`, which, in turn, calls + // `jQuery.event.add`, so event handle will already have been set + // by this point. + handle( event ); + } + } else { + + // For non-IE browsers, attach a single capturing handler on the document + // while someone wants focusin/focusout. + jQuery.event.simulate( delegateType, nativeEvent.target, + jQuery.event.fix( nativeEvent ) ); + } + } + + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + var attaches; + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, true ); + + if ( document.documentMode ) { + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + attaches = dataPriv.get( this, delegateType ); + if ( !attaches ) { + this.addEventListener( delegateType, focusMappedHandler ); + } + dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); + } else { + + // Return false to allow normal processing in the caller + return false; + } + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + teardown: function() { + var attaches; + + if ( document.documentMode ) { + attaches = dataPriv.get( this, delegateType ) - 1; + if ( !attaches ) { + this.removeEventListener( delegateType, focusMappedHandler ); + dataPriv.remove( this, delegateType ); + } else { + dataPriv.set( this, delegateType, attaches ); + } + } else { + + // Return false to indicate standard teardown should be applied + return false; + } + }, + + // Suppress native focus or blur if we're currently inside + // a leveraged native-event stack + _default: function( event ) { + return dataPriv.get( event.target, type ); + }, + + delegateType: delegateType + }; + + // Support: Firefox <=44 + // Firefox doesn't have focus(in | out) events + // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 + // + // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 + // focus(in | out) events fire after focus & blur events, + // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order + // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 + // + // Support: IE 9 - 11+ + // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, + // attach a single handler for both events in IE. + jQuery.event.special[ delegateType ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ); + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + if ( !attaches ) { + if ( document.documentMode ) { + this.addEventListener( delegateType, focusMappedHandler ); + } else { + doc.addEventListener( type, focusMappedHandler, true ); + } + } + dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ) - 1; + + if ( !attaches ) { + if ( document.documentMode ) { + this.removeEventListener( delegateType, focusMappedHandler ); + } else { + doc.removeEventListener( type, focusMappedHandler, true ); + } + dataPriv.remove( dataHolder, delegateType ); + } else { + dataPriv.set( dataHolder, delegateType, attaches ); + } + } + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (trac-8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Re-enable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + + // Unwrap a CDATA section containing script contents. This shouldn't be + // needed as in XML documents they're already not visible when + // inspecting element contents and in HTML documents they have no + // meaning but we're preserving that logic for backwards compatibility. + // This will be removed completely in 4.0. See gh-4904. + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew jQuery#find here for performance reasons: + // https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var rcustomProp = /^--/; + + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (trac-8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "box-sizing:content-box;border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is `display: block` + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + isCustomProp = rcustomProp.test( name ), + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, trac-12537) + // .css('--customProperty) (gh-3144) + if ( computed ) { + + // Support: IE <=9 - 11+ + // IE only supports `"float"` in `getPropertyValue`; in computed styles + // it's only available as `"cssFloat"`. We no longer modify properties + // sent to `.css()` apart from camelCasing, so we need to check both. + // Normally, this would create difference in behavior: if + // `getPropertyValue` returns an empty string, the value returned + // by `.css()` would be `undefined`. This is usually the case for + // disconnected elements. However, in IE even disconnected elements + // with no styles return `"none"` for `getPropertyValue( "float" )` + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( isCustomProp && ret ) { + + // Support: Firefox 105+, Chrome <=105+ + // Spec requires trimming whitespace for custom properties (gh-4926). + // Firefox only trims leading whitespace. Chrome just collapses + // both leading & trailing whitespace to a single space. + // + // Fall back to `undefined` if empty string returned. + // This collapses a missing definition with property defined + // and set to an empty string but there's no standard API + // allowing us to differentiate them without a performance penalty + // and returning `undefined` aligns with older jQuery. + // + // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED + // as whitespace while CSS does not, but this is not a problem + // because CSS preprocessing replaces them with U+000A LINE FEED + // (which *is* CSS whitespace) + // https://www.w3.org/TR/css-syntax-3/#input-preprocessing + ret = ret.replace( rtrimCSS, "$1" ) || undefined; + } + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0, + marginDelta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + // Count margin delta separately to only add it after scroll gutter adjustment. + // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). + if ( box === "margin" ) { + marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta + marginDelta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + animationIterationCount: true, + aspectRatio: true, + borderImageSlice: true, + columnCount: true, + flexGrow: true, + flexShrink: true, + fontWeight: true, + gridArea: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnStart: true, + gridRow: true, + gridRowEnd: true, + gridRowStart: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + scale: true, + widows: true, + zIndex: true, + zoom: true, + + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeMiterlimit: true, + strokeOpacity: true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (trac-7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug trac-9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (trac-7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // Use proper attribute retrieval (trac-12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + if ( cur.indexOf( " " + className + " " ) < 0 ) { + cur += className + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + removeClass: function( value ) { + var classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + + // This expression is here for better compressibility (see addClass) + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + + // Remove *all* instances + while ( cur.indexOf( " " + className + " " ) > -1 ) { + cur = cur.replace( " " + className + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var classNames, className, i, self, + type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + classNames = classesToArray( value ); + + return this.each( function() { + if ( isValidValue ) { + + // Toggle individual class names + self = jQuery( this ); + + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (trac-14686, trac-14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (trac-2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (trac-9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (trac-6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // trac-7653, trac-8125, trac-8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes trac-9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (trac-10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket trac-12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // trac-9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (trac-11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // trac-1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see trac-8605, trac-14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // trac-14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " + {% block extra_js %}{% endblock extra_js %} + + diff --git a/templates/message.html b/templates/message.html new file mode 100644 index 0000000..6f340b5 --- /dev/null +++ b/templates/message.html @@ -0,0 +1,9 @@ + {% if messages %} +
    + {% for message in messages %} +
    + {{ message }} +
    + {% endfor %} +
    + {% endif %} \ No newline at end of file diff --git a/templates/navbar.html b/templates/navbar.html new file mode 100644 index 0000000..4e293fc --- /dev/null +++ b/templates/navbar.html @@ -0,0 +1,58 @@ + + +