cooriroo.ai, research

Dubai2Graph: the city as one graph

A map shows what is where. A graph records what is connected to what, and that is the form a routing engine, a neural network and an AI agent can work with. Dubai2Graph joins the city's roads, public transport, buildings, businesses and communities into one graph, then answers questions on it.

Ask the graph

Seven questions, computed from open data. Pick one and the map shows the answer.

Urban Dubai drawn from the graph. The layer shown follows the selected question.DeiraديرةDXB airportمطار دبيAl QuozالقوزPalm Jumeirahنخلة جميراJebel Aliجبل علي

Downtown Dubai: 547 businesses, 583 m from the nearest stop

8,332 of 57,690 businesses in urban Dubai, 14.4 percent, are more than 400 m from a stop. Ten cells of 300 m would bring 1,831 of them within reach.

Bus stop300 m cell with businesses beyond 400 m of a stopTen best locations for a new stop

How. Every business is measured to the nearest of 2,819 stops in the timetable, then counted on a 300 m grid. This is a coverage score. It does not predict how many people would ride.

What a graph adds to a map of the city

Dubai is one of the best-mapped cities in the world, in two and three dimensions. Dubai2Graph does not redraw that map. It turns map layers into connections, so the same data can answer a different kind of question.

A map layer tells youThe graph tells you
Where the bus stops areWhich stops the whole network depends on
Where the airport and the free zone areHow much of the city each can reach in an hour
Where the warehouses areWhich warehouses form one territory
Where each community's border runsWhich communities behave alike, even far apart
Where today's deliveries areHow to share them between vans, on the real roads

How the graph is built

Four steps, the same for every layer. The method follows City2Graph, the open-source library for turning cities into graphs, and each step can be checked.

  1. Collect the layers

    Roads, the public transport timetable, buildings, businesses and community borders. Any layer with a shape and an identifier can be added.

  2. Turn shapes into nodes and edges

    A stop becomes a node. Two stops served one after the other become an edge, weighted by minutes. A building plot touching another, or facing a street, becomes an edge too.

  3. Join them into one graph

    Stops attach to streets, businesses to plots, plots to communities. Different kinds of node stay different, which is what "heterogeneous graph" means.

  4. Ask, or learn

    Shortest paths and centrality answer questions directly. A graph neural network learns patterns that no single layer shows.

import city2graph as c2g

# the timetable as a travel-time graph
gtfs = c2g.load_gtfs("rta_gtfs.zip")
stops, legs = c2g.travel_summary_graph(
    gtfs, start_time="06:00:00", end_time="10:00:00")

G    = c2g.gdf_to_nx(stops, legs)    # ask: reach, centrality
data = c2g.gdf_to_pyg(stops, legs)   # learn: PyTorch Geometric

Step 2 for public transport, shortened. The full notebook will be published with the page.

Building plotStreet segmentPlots that touchStreets that connect
Figure 1. Deira after step 2. 2,485 buildings from Overture Maps become 3,406 plot nodes and 5,528 street nodes, joined by 2,761 plot-to-plot edges, 11,871 street-to-street edges and 24,843 edges between a plot and the street it faces (not drawn).
Part of the graphNodesEdgesUsed for
Major roads13,927 junctionsroad segments between themRoutes, distances between any two points
Public transport2,819 stops3,745 legs, 5,676 walking links, 303 transfersReach in minutes, critical stops
Urban fabric, Deira3,406 plots, 5,528 streets2,761 + 11,871 + 24,843Addresses to streets, last 100 metres
Businesses57,690 placesnearest stop, nearest neighboursCoverage, territories
Communities137 communities849 shared borders and transit linksWhich areas behave alike

Open data today, official layers when available

Everything on this page is computed from open data, so anyone can repeat it. The pipeline is built to take official city layers in the same way, with the same four steps.

LayerSourceStatus
RoadsOpenStreetMapIn the graph
Public transportRTA timetable in the open GTFS formatIn the graph
Buildings, businesses, communitiesOverture MapsIn the graph
AddressesMakani, Dubai's official address system, published as open dataNext
Official base map layersFrom the data owner, under its own access termsReady to connect
An operator's own trips and stopsCooriroo, per customer. Synthetic in every public figureReady to connect

What these results do not show

Each answer above is a first result on open data. These are its limits.

  • Coverage is not demand

    The bus stop score counts businesses near a location. It says nothing about how many people would use a stop there.

  • The timetable is a snapshot

    Public transport figures use a published copy of the timetable valid from late August to December 2025.

  • One training run

    The community groups come from a single run of the model without a held-out test. Group names are our reading of the result.

  • The delivery day is synthetic

    The addresses are real businesses. The orders, the depot choice and the van size are invented for the example.

  • No arrival-time model yet

    Predicting arrival times needs real trip records. A timetable alone would only teach the model the timetable.

  • Major roads only

    The road graph holds motorways, trunk and primary roads. Local streets are modelled in Deira so far.

Bring a layer or a question

If you hold data about Dubai, or run an operation in it, we can add your layer to the graph and show what it answers. One working session with an engineer.

Write toinfo@cooriroo.comCooriroo Technologies L.L.C., Dubai

Method: Sato, Pietrostefani, Mahabir and Arribas-Bel (2026), City2Graph: a Python library for heterogeneous graph neural networks and spatial analysis in urban systems. Computers, Environment and Urban Systems 130.

Road network and bus stops from OpenStreetMap contributors (ODbL). Places, buildings and community borders from Overture Maps Foundation. Public transport from the RTA GTFS feed. © 2026 Cooriroo Technologies L.L.C.

Cooriroo, the platformEverything on this site runs here: trips, drivers, vehicles, shifts and the agents.Open cooriroo.com