superblockify package#

Subpackages#

Submodules#

superblockify.attribute module#

Work with graph attributes.

superblockify.attribute.aggregate_edge_attr(graph, key, func, dismiss_none=True)[source]#

Aggregate edge attributes by function.

Parameters:
graphnetworkx.Graph

Input graph, subgraph or view

keyimmutable

Edge attribute key

funcfunction

Function to aggregate values. Able to handle lists.

dismiss_nonebool, optional

If True, dismiss None values. Default: True

Returns:
dict

Dictionary of aggregated edge attributes

Raises:
KeyError

If there are no edge attributes for the given key.

Examples

>>> G = nx.Graph()
>>> G.add_edge(1, 2, weight=1)
>>> G.add_edge(2, 3, weight=2)
>>> G.add_edge(3, 4, weight=3)
>>> G.add_edge(4, 1, weight=None)
>>> aggregate_edge_attr(G, 'weight', sum)
6
>>> aggregate_edge_attr(G, 'weight', lambda x: sum(x)/len(x))
2.0
>>> aggregate_edge_attr(G, 'weight', lambda x: x)
[1, 2, 3]
superblockify.attribute.determine_minmax_val(graph, minmax_val, attr, attr_type='edge')[source]#

Determine the min and max values of an attribute in a graph.

This function is used to determine the min and max values of an attribute. If minmax_val is None, the min and max values of the attribute in the graph are used. If minmax_val is a tuple of length 2, the values are used as min and max values. If minmax_val is a tuple of length 2, but the first value is larger than the second, a ValueError is raised. If only one value in the tuple is given, the other value is set accordingly.

Parameters:
graphnetworkx.Graph

Input graph

minmax_valtuple, None

Tuple of (min, max) values of the attribute to be plotted or None

attrstring

Graph’s attribute to select min and max values by

attr_typestring, optional

Type of the attribute, either “edge” or “node”

Returns:
tuple

Tuple of (min, max) values.

Raises:
ValueError

If minmax_val is not a tuple of length 2 or None.

ValueError

If minmax_val[0] is not smaller than minmax_val[1].

ValueError

If attr_type is not “edge” or “node”.

superblockify.attribute.get_edge_subgraph_with_attribute_value(graph, attribute_label, attribute_value)[source]#

Return subgraph view of edges with a given attribute value. The graph, edge, and node attributes in the returned subgraph view are references to the corresponding attributes in the original graph. The view is read-only.

Parameters:
graphnetworkx.Graph

Input graph

attribute_labelstring

Name of an existing node attribute

attribute_valueint

Value of the attribute to be selected

Returns:
networkx.Graph

Subgraph of edges with the given attribute value

Raises:
ValueError

If the graph has no attributes with the given key.

ValueError

If the returned subgraph is empty.

Examples

>>> G = nx.path_graph(6)
>>> nx.set_edge_attributes(G, {edge: {'attr': int(edge[0]/2)} for edge in G.edges})
>>> get_edges_with_attribute_value(G, 'attr', 1).edges
EdgeView([(2, 3), (3, 4)])
superblockify.attribute.new_edge_attribute_by_function(graph, function, source_attribute, destination_attribute, allow_overwriting=False)[source]#

Maps new edge attributes from an existing attribute to a new one.

Works on the passed graph and writes new attribute as a result of the function to it.

Parameters:
graphnetworkx.Graph

Input graph

functionfunction

Function that takes the source attribute

source_attributestring

Name of an existing node attribute

destination_attributestring

Name of a node attribute which is to be written

allow_overwritingbool, optional

Set to True if graph attributes are allowed to be overwritten, as in the ase where source and destination attribute have the same name.

Raises:
ValueError

If the graph has already attributes with the destination key, and overfriting is False.

ValueError

If the source attribute does not exist in the graph.

Examples

>>> G = nx.path_graph(3)
>>> nx.set_edge_attributes(G, 4, 'four')
>>> new_edge_attribute_by_function(G, lambda x: 2*x, 'four', 'eight')
>>> G.edges.data('eight')
EdgeDataView([(0, 1, 8), (1, 2, 8)])

superblockify.config module#

Configuration file for superblockify.

This module contains the configuration class for superblockify.

Notes

Logger configuration is done using the logging.cfg file. The logger for this module is named superblockify.

class superblockify.config.Config[source]#

Bases: object

Configuration class for superblockify.

Attributes:
WORK_DIR

The working directory of the package. This is used to store the graphs and results in subdirectories of this directory. By default, this is the current working directory when the package is imported. This is only used to define the following directories.

GRAPH_DIR

The directory where the graphs are stored.

RESULTS_DIR

The directory where the results are stored.

GHSL_DIR

The directory where the GHSL population data is stored when downloaded.

V_MAX_LTN

The maximum speed in km/h for the restricted calculation of travel times.

V_MAX_SPARSE

The maximum speed in km/h for the restricted calculation of travel times for the sparsified graph.

NETWORK_FILTER

The filter used to filter the OSM data for the graph. This is a string that is passed to the osmnx.graph_from_place() function.

CLUSTERING_PERCENTILE

The percentile used to determine the betweenness centrality threshold for the spatial clustering and anisotropy nodes.

NUM_BINS

The number of bins used for the histograms in the entropy calculation.

FULL_RASTER

The path and filename of the full GHSL raster. If None, tiles of the needed area are downloaded from the JRC FTP server and stored in the GHSL_DIR directory. <https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/GHS_POP_GLOBE_R2023A/GHS_POP_E2025_GLOBE_R2023A_54009_100/V1-0/GHS_POP_E2025_GLOBE_R2023A_54009_100_V1_0.zip>

DOWNLOAD_TIMEOUT

The timeout in seconds for downloading the GHSL raster tiles.

logger

The logger for this module. This is used to log information, warnings and errors throughout the package.

TEST_DATA_PATH

The path to the test data directory.

HIDE_PLOTS

Whether to hide the plots in the tests.

PLACES_GENERAL

A list of tuples of the form (name, place) where name is the name of the place and place is the place string that is passed to the superblockify.utils.load_graph_from_place() function.

PLACES_SMALL

Same as PLACES_GENERAL but for places of which the graph is small enough to be used in the tests.

PLACES_100_CITIES

100 cities from Boeing et al. (2019) <https://doi.org/10.1007/s41109-019-0189-1> A dictionary of the form {name: place} where name is the name of the place, and place is a dictionary of various attributes. One of them is the query attribute which is the place string or a list of place strings. Find the extensive list in the ./cities.yml file.

PLACES_GERMANY

List of cities in Germany by population. All cities with more than 100,000 inhabitants are included. Data from the German Federal Statistical Office.

PLOT_SUFFIX

The format of the plots. Can be "png", "jpg", "pdf", "svg", etc. Matplotlib uses the Pillow library to save the plots, so all formats supported by Pillow are supported by Matplotlib. <https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html>

MAX_NODES

The maximum number of nodes in the graph. If the graph has more nodes, it is reduced. See superblockify.partitioning.utils.reduce_graph().

CLUSTERING_PERCENTILE = 90#
DOWNLOAD_TIMEOUT = 60#
FULL_RASTER = None#
GHSL_DIR = '/home/runner/work/superblockify/superblockify/data/ghsl'#
GRAPH_DIR = '/home/runner/work/superblockify/superblockify/data/graphs'#
HIDE_PLOTS = True#
MAX_NODES = 20000#
NETWORK_FILTER = '["highway"]["area"!~"yes"]["access"!~"private"]["highway"!~"abandoned|bridleway|bus_guideway|busway|construction|corridor|cycleway|elevator|escalator|footway|path|pedestrian|planned|platform|proposed|raceway|service|steps|track"]["motor_vehicle"!~"no"]["motorcar"!~"no"]["service"!~"alley|driveway|emergency_access|parking|parking_aisle|private"]'#
NUM_BINS = 36#
PLACES_100_CITIES = {'Amsterdam': {'OSM relation': ['https://www.openstreetmap.org/relation/271110'], 'P 4w': 0.205, 'P de': 0.146, 'circuity_avg': 1.08, 'country': 'NL', 'k_avg': 2.897, 'median_segment_length': 65.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Amsterdam,+North+Holland,+Netherlands'], 'orient_order': 0.071, 'osm_id': [271110], 'pop_GHSL2023': 818407.499844633, 'query': 'Amsterdam, North Holland, Netherlands', 'region': 'EU', o': 3.504, w': 3.488}, 'Athens': {'OSM relation': ['https://www.openstreetmap.org/relation/1370736'], 'P 4w': 0.363, 'P de': 0.056, 'circuity_avg': 1.019, 'country': 'GR', 'k_avg': 3.245, 'median_segment_length': 55.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Municipality+of+Athens,+Regional+Unit+of+Central+Athens,+Attica,+Greece'], 'orient_order': 0.041, 'osm_id': [1370736], 'pop_GHSL2023': 613633.1565856932, 'query': 'Municipality of Athens, Regional Unit of Central Athens, Attica, Greece', 'region': 'EU', o': 3.538, w': 3.532}, 'Atlanta': {'OSM relation': ['https://www.openstreetmap.org/relation/119557'], 'P 4w': 0.153, 'P de': 0.164, 'circuity_avg': 1.074, 'country': 'US-GA', 'k_avg': 2.806, 'median_segment_length': 112.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Atlanta,+Fulton+County,+Georgia,+United+States'], 'orient_order': 0.315, 'osm_id': [119557], 'pop_GHSL2023': 517627.27642059315, 'query': 'Atlanta, Fulton County, Georgia, United States', 'region': 'NAM', o': 3.204, w': 3.197}, 'Baghdad': {'OSM relation': ['https://www.openstreetmap.org/relation/5638803'], 'P 4w': 0.144, 'P de': 0.05, 'circuity_avg': 1.033, 'country': 'IQ', 'k_avg': 3.043, 'median_segment_length': 68.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Baghdad,+Baghdad+Governorate,+Iraq'], 'orient_order': 0.083, 'osm_id': [5638803], 'pop_GHSL2023': 6338692.7509337645, 'query': 'Baghdad, Baghdad Governorate, Iraq', 'region': 'MEA', o': 3.49, w': 3.498}, 'Baltimore': {'OSM relation': ['https://www.openstreetmap.org/relation/133345'], 'P 4w': 0.36, 'P de': 0.085, 'circuity_avg': 1.036, 'country': 'US-MD', 'k_avg': 3.182, 'median_segment_length': 100.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Baltimore,+Maryland,+United+States'], 'orient_order': 0.223, 'osm_id': [133345], 'pop_GHSL2023': 628695.3598501991, 'query': 'Baltimore, Maryland, United States', 'region': 'NAM', o': 3.324, w': 3.367}, 'Bangkok': {'OSM relation': ['https://www.openstreetmap.org/relation/92277'], 'P 4w': 0.108, 'P de': 0.36, 'circuity_avg': 1.059, 'country': 'TH', 'k_avg': 2.385, 'median_segment_length': 64.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=TH-10,+Thailand'], 'orient_order': 0.105, 'osm_id': [92277], 'pop_GHSL2023': 12342851.661893278, 'query': 'TH-10, Thailand', 'region': 'A&O', o': 3.465, w': 3.452}, 'Barcelona': {'OSM relation': ['https://www.openstreetmap.org/relation/2417889'], 'P 4w': 0.303, 'P de': 0.078, 'circuity_avg': 1.052, 'country': 'ES', 'k_avg': 3.135, 'median_segment_length': 78.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Barcelonès,+Barcelona,+Catalonia,+Spain'], 'orient_order': 0.108, 'osm_id': [2417889], 'pop_GHSL2023': 2463690.163737535, 'query': 'Barcelonès, Barcelona, Catalonia, Spain', 'region': 'EU', o': 3.462, w': 3.46}, 'Beijing': {'OSM relation': ['https://www.openstreetmap.org/relation/912940'], 'P 4w': 0.241, 'P de': 0.135, 'circuity_avg': 1.053, 'country': 'CN', 'k_avg': 2.985, 'median_segment_length': 177.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=CN-BJ,+China'], 'orient_order': 0.335, 'osm_id': [912940], 'pop_GHSL2023': 24149290.576004617, 'query': 'CN-BJ, China', 'region': 'A&O', o': 3.177, w': 3.206}, 'Beirut': {'OSM relation': ['https://www.openstreetmap.org/relation/316552'], 'P 4w': 0.218, 'P de': 0.072, 'circuity_avg': 1.026, 'country': 'LB', 'k_avg': 3.061, 'median_segment_length': 63.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Beirut+Governorate,+Lebanon'], 'orient_order': 0.206, 'osm_id': [316552], 'pop_GHSL2023': 354208.8213920592, 'query': 'Beirut Governorate, Lebanon', 'region': 'MEA', o': 3.344, w': 3.308}, 'Berlin': {'OSM relation': ['https://www.openstreetmap.org/relation/62422'], 'P 4w': 0.259, 'P de': 0.118, 'circuity_avg': 1.04, 'country': 'DE', 'k_avg': 3.002, 'median_segment_length': 113.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Berlin,+Germany'], 'orient_order': 0.011, 'osm_id': [62422], 'pop_GHSL2023': 3524738.8939121147, 'query': 'Berlin, Germany', 'region': 'EU', o': 3.572, w': 3.57}, 'Bogota': {'OSM relation': ['https://www.openstreetmap.org/relation/7426387'], 'P 4w': 0.234, 'P de': 0.122, 'circuity_avg': 1.044, 'country': 'CO', 'k_avg': 2.977, 'median_segment_length': 58.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bogota,+Bogota+Capital+District+-+Municipality,+RAP+(Especial)+Central,+Colombia'], 'orient_order': 0.04, 'osm_id': [7426387], 'pop_GHSL2023': 8899793.370068071, 'query': 'Bogota, Bogota Capital District - Municipality, RAP (Especial) Central, Colombia', 'region': 'LatAm', o': 3.539, w': 3.529}, 'Boston': {'OSM relation': ['https://www.openstreetmap.org/relation/2315704'], 'P 4w': 0.211, 'P de': 0.135, 'circuity_avg': 1.039, 'country': 'US-MA', 'k_avg': 2.945, 'median_segment_length': 77.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Boston,+Suffolk+County,+Massachusetts,+United+States'], 'orient_order': 0.026, 'osm_id': [2315704], 'pop_GHSL2023': 613869.7221977434, 'query': 'Boston, Suffolk County, Massachusetts, United States', 'region': 'NAM', o': 3.554, w': 3.552}, 'Budapest': {'OSM relation': ['https://www.openstreetmap.org/relation/37244'], 'P 4w': 0.231, 'P de': 0.096, 'circuity_avg': 1.032, 'country': 'HU', 'k_avg': 3.037, 'median_segment_length': 93.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Budapest,+Central+Hungary,+Hungary'], 'orient_order': 0.05, 'osm_id': [37244], 'pop_GHSL2023': 1835722.523857839, 'query': 'Budapest, Central Hungary, Hungary', 'region': 'EU', o': 3.528, w': 3.516}, 'Buenos Aires': {'OSM relation': ['https://www.openstreetmap.org/relation/1224652'], 'P 4w': 0.576, 'P de': 0.027, 'circuity_avg': 1.011, 'country': 'AR', 'k_avg': 3.548, 'median_segment_length': 104.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Autonomous+City+of+Buenos+Aires,+Argentina'], 'orient_order': 0.151, 'osm_id': [1224652], 'pop_GHSL2023': 2711340.2666851874, 'query': 'Autonomous City of Buenos Aires, Argentina', 'region': 'LatAm', o': 3.411, w': 3.423}, 'Cairo': {'OSM relation': ['https://www.openstreetmap.org/relation/5466227'], 'P 4w': 0.171, 'P de': 0.085, 'circuity_avg': 1.067, 'country': 'EG', 'k_avg': 2.996, 'median_segment_length': 66.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cairo,+Egypt'], 'orient_order': 0.041, 'osm_id': [5466227], 'pop_GHSL2023': 9149031.085013825, 'query': 'Cairo, Egypt', 'region': 'MEA', o': 3.538, w': 3.526}, 'Cape Town': {'OSM relation': ['https://www.openstreetmap.org/relation/79604'], 'P 4w': 0.162, 'P de': 0.183, 'circuity_avg': 1.102, 'country': 'ZA', 'k_avg': 2.793, 'median_segment_length': 75.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Cape+Town,+Western+Cape,+8001,+South+Africa'], 'orient_order': 0.025, 'osm_id': [79604], 'pop_GHSL2023': 5052916.481144726, 'query': 'City of Cape Town, Western Cape, 8001, South Africa', 'region': 'MEA', o': 3.556, w': 3.553}, 'Caracas': {'OSM relation': ['https://www.openstreetmap.org/relation/11219583'], 'P 4w': 0.145, 'P de': 0.217, 'circuity_avg': 1.148, 'country': 'VE', 'k_avg': 2.71, 'median_segment_length': 95.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Caracas,+Venezuela'], 'orient_order': 0.029, 'osm_id': [11219583], 'pop_GHSL2023': 2668989.406249012, 'query': 'Caracas, Venezuela', 'region': 'LatAm', o': 3.551, w': 3.564}, 'Casablanca': {'OSM relation': ['https://www.openstreetmap.org/relation/4072985'], 'P 4w': 0.178, 'P de': 0.08, 'circuity_avg': 1.048, 'country': 'MA', 'k_avg': 3.026, 'median_segment_length': 48.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Casablanca,+Casablanca-Settat,+Morocco'], 'orient_order': 0.094, 'osm_id': [4072985], 'pop_GHSL2023': 3387477.14780569, 'query': 'Casablanca, Casablanca-Settat, Morocco', 'region': 'MEA', o': 3.477, w': 3.461}, 'Charlotte': {'OSM relation': ['https://www.openstreetmap.org/relation/177415'], 'P 4w': 0.139, 'P de': 0.288, 'circuity_avg': 1.067, 'country': 'US-NC', 'k_avg': 2.546, 'median_segment_length': 117.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Charlotte,+Mecklenburg+County,+North+Carolina,+United+States'], 'orient_order': 0.002, 'osm_id': [177415], 'pop_GHSL2023': 829529.5766545291, 'query': 'Charlotte, Mecklenburg County, North Carolina, United States', 'region': 'NAM', o': 3.582, w': 3.581}, 'Chicago': {'OSM relation': ['https://www.openstreetmap.org/relation/122604'], 'P 4w': 0.507, 'P de': 0.074, 'circuity_avg': 1.016, 'country': 'US-IL', 'k_avg': 3.343, 'median_segment_length': 105.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Chicago,+Cook+County,+Illinois,+United+States'], 'orient_order': 0.899, 'osm_id': [122604], 'pop_GHSL2023': 2640668.741081328, 'query': 'Chicago, Cook County, Illinois, United States', 'region': 'NAM', o': 2.083, w': 2.103}, 'Cleveland': {'OSM relation': ['https://www.openstreetmap.org/relation/182130'], 'P 4w': 0.198, 'P de': 0.091, 'circuity_avg': 1.029, 'country': 'US-OH', 'k_avg': 2.979, 'median_segment_length': 103.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cleveland,+Cuyahoga+County,+Ohio,+United+States'], 'orient_order': 0.486, 'osm_id': [182130], 'pop_GHSL2023': 365347.62727096665, 'query': 'Cleveland, Cuyahoga County, Ohio, United States', 'region': 'NAM', o': 2.961, w': 2.899}, 'Copenhagen': {'OSM relation': ['https://www.openstreetmap.org/relation/2192363', 'https://www.openstreetmap.org/relation/2186660'], 'P 4w': 0.194, 'P de': 0.146, 'circuity_avg': 1.048, 'country': 'DK', 'k_avg': 2.881, 'median_segment_length': 78.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Københavns+Kommune,+Denmark', 'https://nominatim.openstreetmap.org/ui/search.html?q=Frederiksberg+Kommune,+Denmark'], 'orient_order': 0.029, 'osm_id': [2192363, 2186660], 'pop_GHSL2023': 764718.588683754, 'query': ['Københavns Kommune, Denmark', 'Frederiksberg Kommune, Denmark'], 'region': 'EU', o': 3.552, w': 3.551}, 'Dallas': {'OSM relation': ['https://www.openstreetmap.org/relation/6571629'], 'P 4w': 0.317, 'P de': 0.091, 'circuity_avg': 1.042, 'country': 'US-TX', 'k_avg': 3.12, 'median_segment_length': 106.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dallas,+Dallas+County,+Texas,+United+States'], 'orient_order': 0.305, 'osm_id': [6571629], 'pop_GHSL2023': 1472292.9103196533, 'query': 'Dallas, Dallas County, Texas, United States', 'region': 'NAM', o': 3.218, w': 3.182}, 'Damascus': {'OSM relation': ['https://www.openstreetmap.org/relation/7328462'], 'P 4w': 0.107, 'P de': 0.146, 'circuity_avg': 1.085, 'country': 'SY', 'k_avg': 2.801, 'median_segment_length': 65.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Damascus+Governorate,+Syria'], 'orient_order': 0.043, 'osm_id': [7328462], 'pop_GHSL2023': 2160242.529167125, 'query': 'Damascus Governorate, Syria', 'region': 'MEA', o': 3.536, w': 3.525}, 'Denver': {'OSM relation': ['https://www.openstreetmap.org/relation/1411339'], 'P 4w': 0.416, 'P de': 0.071, 'circuity_avg': 1.031, 'country': 'US-CO', 'k_avg': 3.249, 'median_segment_length': 102.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Denver,+Colorado,+United+States'], 'orient_order': 0.678, 'osm_id': [1411339], 'pop_GHSL2023': 675848.2442275502, 'query': 'Denver, Colorado, United States', 'region': 'NAM', o': 2.634, w': 2.571}, 'Detroit': {'OSM relation': ['https://www.openstreetmap.org/relation/134591'], 'P 4w': 0.482, 'P de': 0.053, 'circuity_avg': 1.012, 'country': 'US-MI', 'k_avg': 3.352, 'median_segment_length': 101.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Detroit,+Wayne+County,+Michigan,+United+States'], 'orient_order': 0.582, 'osm_id': [134591], 'pop_GHSL2023': 658243.4261336921, 'query': 'Detroit, Wayne County, Michigan, United States', 'region': 'NAM', o': 2.807, w': 2.718}, 'Dubai': {'OSM relation': ['https://www.openstreetmap.org/relation/4479752'], 'P 4w': 0.073, 'P de': 0.074, 'circuity_avg': 1.087, 'country': 'AE', 'k_avg': 2.925, 'median_segment_length': 79.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dubai,+United+Arab+Emirates'], 'orient_order': 0.031, 'osm_id': [4479752], 'pop_GHSL2023': 3122371.0558517794, 'query': 'Dubai, United Arab Emirates', 'region': 'MEA', o': 3.55, w': 3.529}, 'Dublin': {'OSM relation': ['https://www.openstreetmap.org/relation/1109531'], 'P 4w': 0.068, 'P de': 0.279, 'circuity_avg': 1.061, 'country': 'IE', 'k_avg': 2.492, 'median_segment_length': 71.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dublin,+Dublin+1,+Leinster,+Ireland'], 'orient_order': 0.024, 'osm_id': [1109531], 'pop_GHSL2023': 554085.2711834605, 'query': 'Dublin, Dublin 1, Leinster, Ireland', 'region': 'EU', o': 3.557, w': 3.541}, 'Glasgow': {'OSM relation': ['https://www.openstreetmap.org/relation/1906767'], 'P 4w': 0.109, 'P de': 0.238, 'circuity_avg': 1.079, 'country': 'GB', 'k_avg': 2.62, 'median_segment_length': 72.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Glasgow+City,+Scotland,+G2+1DY,+United+Kingdom'], 'orient_order': 0.047, 'osm_id': [1906767], 'pop_GHSL2023': 582972.040480375, 'query': 'Glasgow City, Scotland, G2 1DY, United Kingdom', 'region': 'EU', o': 3.531, w': 3.513}, 'Hanoi': {'OSM relation': ['https://www.openstreetmap.org/relation/1903516'], 'P 4w': 0.102, 'P de': 0.246, 'circuity_avg': 1.065, 'country': 'VN', 'k_avg': 2.61, 'median_segment_length': 64.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hà+Nội,+Vietnam'], 'orient_order': 0.01, 'osm_id': [1903516], 'pop_GHSL2023': 7412688.725904138, 'query': 'Hà Nội, Vietnam', 'region': 'A&O', o': 3.573, w': 3.572}, 'Havana': {'OSM relation': ['https://www.openstreetmap.org/relation/1854615'], 'P 4w': 0.357, 'P de': 0.118, 'circuity_avg': 1.04, 'country': 'CU', 'k_avg': 3.13, 'median_segment_length': 86.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=CU-03,+Cuba'], 'orient_order': 0.029, 'osm_id': [1854615], 'pop_GHSL2023': 2078137.1455927053, 'query': 'CU-03, Cuba', 'region': 'LatAm', o': 3.551, w': 3.552}, 'Helsinki': {'OSM relation': ['https://www.openstreetmap.org/relation/34914'], 'P 4w': 0.134, 'P de': 0.395, 'circuity_avg': 1.063, 'country': 'FI', 'k_avg': 2.348, 'median_segment_length': 42.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Helsinki,+Helsinki+sub-region,+Uusimaa,+Southern+Finland,+Mainland+Finland,+Finland'], 'orient_order': 0.006, 'osm_id': [34914], 'pop_GHSL2023': 640938.2250840327, 'query': 'Helsinki, Helsinki sub-region, Uusimaa, Southern Finland, Mainland Finland, Finland', 'region': 'EU', o': 3.577, w': 3.571}, 'Hong Kong': {'OSM relation': ['https://www.openstreetmap.org/relation/10264792'], 'P 4w': 0.174, 'P de': 0.114, 'circuity_avg': 1.137, 'country': 'HK', 'k_avg': 2.932, 'median_segment_length': 61.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hong+Kong+Island,+Hong+Kong,+China'], 'orient_order': 0.012, 'osm_id': [10264792], 'pop_GHSL2023': 1220949.8235658924, 'query': 'Hong Kong Island, Hong Kong, China', 'region': 'A&O', o': 3.571, w': 3.563}, 'Honolulu': {'OSM relation': ['https://www.openstreetmap.org/relation/119231'], 'P 4w': 0.185, 'P de': 0.252, 'circuity_avg': 1.073, 'country': 'US-HI', 'k_avg': 2.681, 'median_segment_length': 101.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=R119231'], 'orient_order': 0.034, 'osm_id': [119231], 'pop_GHSL2023': 404124.8977179931, 'query': 119231, 'region': 'NAM', o': 3.545, w': 3.55}, 'Houston': {'OSM relation': ['https://www.openstreetmap.org/relation/2688911', 'https://www.openstreetmap.org/relation/6586766', 'https://www.openstreetmap.org/relation/2947146', 'https://www.openstreetmap.org/relation/2947144', 'https://www.openstreetmap.org/relation/2947142', 'https://www.openstreetmap.org/relation/2947138', 'https://www.openstreetmap.org/relation/2947141', 'https://www.openstreetmap.org/relation/2947143', 'https://www.openstreetmap.org/relation/2947145', 'https://www.openstreetmap.org/relation/2947140', 'https://www.openstreetmap.org/relation/2947137', 'https://www.openstreetmap.org/relation/2947139', 'https://www.openstreetmap.org/relation/4840276'], 'P 4w': 0.307, 'P de': 0.127, 'circuity_avg': 1.045, 'country': 'US-TX', 'k_avg': 3.027, 'median_segment_length': 96.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Houston,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Bellaire,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=West+University+Place,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Southside+Place,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Jacinto+City,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Galena+Park,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hunters+Creek+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Piney+Point+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Spring+Valley,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hilshire+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Bunker+Hill+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hedwig+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Jersey+Village,+Harris+County,+Texas,+United+States'], 'orient_order': 0.425, 'osm_id': [2688911, 6586766, 2947146, 2947144, 2947142, 2947138, 2947141, 2947143, 2947145, 2947140, 2947137, 2947139, 4840276], 'pop_GHSL2023': 2780403.3394391406, 'query': ['Houston, Harris County, Texas, United States', 'Bellaire, Harris County, Texas, United States', 'West University Place, Harris County, Texas, United States', 'Southside Place, Harris County, Texas, United States', 'Jacinto City, Harris County, Texas, United States', 'Galena Park, Harris County, Texas, United States', 'Hunters Creek Village, Harris County, Texas, United States', 'Piney Point Village, Harris County, Texas, United States', 'Spring Valley, Harris County, Texas, United States', 'Hilshire Village, Harris County, Texas, United States', 'Bunker Hill Village, Harris County, Texas, United States', 'Hedwig Village, Harris County, Texas, United States', 'Jersey Village, Harris County, Texas, United States'], 'region': 'NAM', o': 3.052, w': 3.006}, 'Istanbul': {'OSM relation': ['https://www.openstreetmap.org/relation/223474'], 'P 4w': 0.174, 'P de': 0.093, 'circuity_avg': 1.059, 'country': 'TR', 'k_avg': 2.998, 'median_segment_length': 50.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=TR-34,+Turkey'], 'orient_order': 0.007, 'osm_id': [223474], 'pop_GHSL2023': 14243965.122489264, 'query': 'TR-34, Turkey', 'region': 'MEA', o': 3.576, w': 3.574}, 'Jakarta': {'OSM relation': ['https://www.openstreetmap.org/relation/6362934'], 'P 4w': 0.096, 'P de': 0.175, 'circuity_avg': 1.065, 'country': 'ID', 'k_avg': 2.741, 'median_segment_length': 52.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Special+Capital+Region+of+Jakarta,+Java,+Indonesia'], 'orient_order': 0.167, 'osm_id': [6362934], 'pop_GHSL2023': 11342187.842398439, 'query': 'Special Capital Region of Jakarta, Java, Indonesia', 'region': 'A&O', o': 3.391, w': 3.347}, 'Jerusalem': {'OSM relation': ['https://www.openstreetmap.org/relation/1381350'], 'P 4w': 0.109, 'P de': 0.18, 'circuity_avg': 1.092, 'country': 'IL', 'k_avg': 2.735, 'median_segment_length': 44.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Jerusalem,+Jerusalem+District,+Israel'], 'orient_order': 0.014, 'osm_id': [1381350], 'pop_GHSL2023': 1253649.2788656482, 'query': 'Jerusalem, Jerusalem District, Israel', 'region': 'MEA', o': 3.568, w': 3.562}, 'Johannesburg': {'OSM relation': ['https://www.openstreetmap.org/relation/594508'], 'P 4w': 0.182, 'P de': 0.158, 'circuity_avg': 1.098, 'country': 'ZA', 'k_avg': 2.865, 'median_segment_length': 88.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Johannesburg+Metropolitan+Municipality,+2001,+South+Africa'], 'orient_order': 0.019, 'osm_id': [594508], 'pop_GHSL2023': 6409611.695537722, 'query': 'City of Johannesburg Metropolitan Municipality, 2001, South Africa', 'region': 'MEA', o': 3.562, w': 3.556}, 'Kabul': {'OSM relation': ['https://www.openstreetmap.org/relation/6616233'], 'P 4w': 0.13, 'P de': 0.226, 'circuity_avg': 1.062, 'country': 'AF', 'k_avg': 2.673, 'median_segment_length': 79.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kabul+District,+Kabul+Province,+Afghanistan'], 'orient_order': 0.076, 'osm_id': [6616233], 'pop_GHSL2023': 5656560.564128555, 'query': 'Kabul District, Kabul Province, Afghanistan', 'region': 'A&O', o': 3.499, w': 3.51}, 'Karachi': {'OSM relation': ['https://www.openstreetmap.org/relation/6080948'], 'P 4w': 0.216, 'P de': 0.095, 'circuity_avg': 1.032, 'country': 'PK', 'k_avg': 3.027, 'median_segment_length': 71.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Karachi+Division,+Sindh,+Pakistan'], 'orient_order': 0.088, 'osm_id': [6080948], 'pop_GHSL2023': 21243358.03043522, 'query': 'Karachi Division, Sindh, Pakistan', 'region': 'A&O', o': 3.485, w': 3.493}, 'Kathmandu': {'OSM relation': ['https://www.openstreetmap.org/relation/4583247'], 'P 4w': 0.089, 'P de': 0.234, 'circuity_avg': 1.071, 'country': 'NP', 'k_avg': 2.595, 'median_segment_length': 63.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kathmandu,+Bagmati+Pradesh,+Nepal'], 'orient_order': 0.054, 'osm_id': [4583247], 'pop_GHSL2023': 3008734.5134922313, 'query': 'Kathmandu, Bagmati Pradesh, Nepal', 'region': 'A&O', o': 3.523, w': 3.5}, 'Kiev': {'OSM relation': ['https://www.openstreetmap.org/relation/421866'], 'P 4w': 0.16, 'P de': 0.164, 'circuity_avg': 1.053, 'country': 'UA', 'k_avg': 2.813, 'median_segment_length': 125.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kyiv,+Ukraine'], 'orient_order': 0.014, 'osm_id': [421866], 'pop_GHSL2023': 2552854.8664907534, 'query': 'Kyiv, Ukraine', 'region': 'EU', o': 3.568, w': 3.554}, 'Kyoto': {'OSM relation': ['https://www.openstreetmap.org/relation/357794'], 'P 4w': 0.157, 'P de': 0.134, 'circuity_avg': 1.09, 'country': 'JP', 'k_avg': 2.887, 'median_segment_length': 49.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kyoto,+Kyoto+Prefecture,+Japan'], 'orient_order': 0.357, 'osm_id': [357794], 'pop_GHSL2023': 1270597.194326272, 'query': 'Kyoto, Kyoto Prefecture, Japan', 'region': 'A&O', o': 3.148, w': 3.229}, 'Lagos': {'OSM relation': ['https://www.openstreetmap.org/relation/7644528'], 'P 4w': 0.07, 'P de': 0.223, 'circuity_avg': 1.048, 'country': 'NG', 'k_avg': 2.619, 'median_segment_length': 87.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lagos+Island,+Lagos+State,+Nigeria'], 'orient_order': 0.039, 'osm_id': [7644528], 'pop_GHSL2023': 119799.5473861694, 'query': 'Lagos Island, Lagos State, Nigeria', 'region': 'MEA', o': 3.54, w': 3.521}, 'Las Vegas': {'OSM relation': ['https://www.openstreetmap.org/relation/170117', 'https://www.openstreetmap.org/relation/170118', 'https://www.openstreetmap.org/relation/170116', 'https://www.openstreetmap.org/relation/170007', 'https://www.openstreetmap.org/relation/170049', 'https://www.openstreetmap.org/relation/170053', 'https://www.openstreetmap.org/relation/170068', 'https://www.openstreetmap.org/relation/170132'], 'P 4w': 0.166, 'P de': 0.23, 'circuity_avg': 1.079, 'country': 'US-NV', 'k_avg': 2.676, 'median_segment_length': 86.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Las+Vegas,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=North+Las+Vegas,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Henderson,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Winchester,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Spring+Valley,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Paradise,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Sunrise+Manor,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Enterprise,+Clark+County,+Nevada,+United+States'], 'orient_order': 0.542, 'osm_id': [170117, 170118, 170116, 170007, 170049, 170053, 170068, 170132], 'pop_GHSL2023': 2451129.123220173, 'query': ['Las Vegas, Clark County, Nevada, United States', 'North Las Vegas, Clark County, Nevada, United States', 'Henderson, Clark County, Nevada, United States', 'Winchester, Clark County, Nevada, United States', 'Spring Valley, Clark County, Nevada, United States', 'Paradise, Clark County, Nevada, United States', 'Sunrise Manor, Clark County, Nevada, United States', 'Enterprise, Clark County, Nevada, United States'], 'region': 'NAM', o': 2.874, w': 2.775}, 'Lima': {'OSM relation': ['https://www.openstreetmap.org/relation/12933390'], 'P 4w': 0.331, 'P de': 0.04, 'circuity_avg': 1.017, 'country': 'PE', 'k_avg': 3.161, 'median_segment_length': 76.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lima+Metropolitan+Area,+Lima,+Peru'], 'orient_order': 0.278, 'osm_id': [12933390], 'pop_GHSL2023': 10924814.244125538, 'query': 'Lima Metropolitan Area, Lima, Peru', 'region': 'LatAm', o': 3.254, w': 3.228}, 'Lisbon': {'OSM relation': ['https://www.openstreetmap.org/relation/5400890'], 'P 4w': 0.154, 'P de': 0.108, 'circuity_avg': 1.068, 'country': 'PT', 'k_avg': 2.923, 'median_segment_length': 60.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lisbon,+Portugal'], 'orient_order': 0.023, 'osm_id': [5400890], 'pop_GHSL2023': 564066.0386443137, 'query': 'Lisbon, Portugal', 'region': 'EU', o': 3.558, w': 3.546}, 'London': {'OSM relation': ['https://www.openstreetmap.org/relation/175342'], 'P 4w': 0.07, 'P de': 0.251, 'circuity_avg': 1.061, 'country': 'GB', 'k_avg': 2.561, 'median_segment_length': 70.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Greater+London,+England,+United+Kingdom'], 'orient_order': 0.015, 'osm_id': [175342], 'pop_GHSL2023': 9734682.771514352, 'query': 'Greater London, England, United Kingdom', 'region': 'EU', o': 3.566, w': 3.564}, 'Los Angeles': {'OSM relation': ['https://www.openstreetmap.org/relation/396479'], 'P 4w': 0.273, 'P de': 0.171, 'circuity_avg': 1.048, 'country': 'US-CA', 'k_avg': 2.911, 'median_segment_length': 109.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Los+Angeles+County,+California,+United+States'], 'orient_order': 0.348, 'osm_id': [396479], 'pop_GHSL2023': 10131722.735823404, 'query': 'Los Angeles County, California, United States', 'region': 'NAM', o': 3.161, w': 3.145}, 'Madrid': {'OSM relation': ['https://www.openstreetmap.org/relation/5326784'], 'P 4w': 0.21, 'P de': 0.065, 'circuity_avg': 1.05, 'country': 'ES', 'k_avg': 3.079, 'median_segment_length': 62.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Madrid,+Community+of+Madrid,+Spain'], 'orient_order': 0.019, 'osm_id': [5326784], 'pop_GHSL2023': 3797206.0047106226, 'query': 'Madrid, Community of Madrid, Spain', 'region': 'EU', o': 3.562, w': 3.553}, 'Manhattan': {'OSM relation': ['https://www.openstreetmap.org/relation/8398124'], 'P 4w': 0.572, 'P de': 0.027, 'circuity_avg': 1.017, 'country': 'US-NY', 'k_avg': 3.508, 'median_segment_length': 82.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Manhattan,+New+York+County,+New+York,+United+States'], 'orient_order': 0.669, 'osm_id': [8398124], 'pop_GHSL2023': 1658451.516783237, 'query': 'Manhattan, New York County, New York, United States', 'region': 'NAM', o': 2.65, w': 2.571}, 'Manila': {'OSM relation': ['https://www.openstreetmap.org/relation/147488'], 'P 4w': 0.347, 'P de': 0.095, 'circuity_avg': 1.023, 'country': 'PH', 'k_avg': 3.141, 'median_segment_length': 63.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Metro+Manila,+Philippines'], 'orient_order': 0.062, 'osm_id': [147488], 'pop_GHSL2023': 13751861.781497028, 'query': 'Metro Manila, Philippines', 'region': 'A&O', o': 3.514, w': 3.484}, 'Melbourne': {'OSM relation': ['https://www.openstreetmap.org/relation/4246124'], 'P 4w': 0.332, 'P de': 0.06, 'circuity_avg': 1.037, 'country': 'AU', 'k_avg': 3.16, 'median_segment_length': 51.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Greater+Melbourne,+Victoria,+Australia'], 'orient_order': 0.34, 'osm_id': [4246124], 'pop_GHSL2023': 5378918.1597416485, 'query': 'Greater Melbourne, Victoria, Australia', 'region': 'A&O', o': 3.172, w': 3.203}, 'Mexico City': {'OSM relation': ['https://www.openstreetmap.org/relation/1376330'], 'P 4w': 0.264, 'P de': 0.146, 'circuity_avg': 1.043, 'country': 'MX', 'k_avg': 2.977, 'median_segment_length': 69.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mexico+City,+Mexico'], 'orient_order': 0.154, 'osm_id': [1376330], 'pop_GHSL2023': 7649332.880559048, 'query': 'Mexico City, Mexico', 'region': 'LatAm', o': 3.408, w': 3.406}, 'Miami': {'OSM relation': ['https://www.openstreetmap.org/relation/1216769'], 'P 4w': 0.407, 'P de': 0.069, 'circuity_avg': 1.023, 'country': 'US-FL', 'k_avg': 3.236, 'median_segment_length': 96.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Miami,+Miami-Dade+County,+Florida,+United+States'], 'orient_order': 0.811, 'osm_id': [1216769], 'pop_GHSL2023': 401627.16193004296, 'query': 'Miami, Miami-Dade County, Florida, United States', 'region': 'NAM', o': 2.341, w': 2.291}, 'Minneapolis': {'OSM relation': ['https://www.openstreetmap.org/relation/136712'], 'P 4w': 0.521, 'P de': 0.053, 'circuity_avg': 1.023, 'country': 'US-MN', 'k_avg': 3.393, 'median_segment_length': 115.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Minneapolis,+Hennepin+County,+Minnesota,+United+States'], 'orient_order': 0.749, 'osm_id': [136712], 'pop_GHSL2023': 375276.78887844074, 'query': 'Minneapolis, Hennepin County, Minnesota, United States', 'region': 'NAM', o': 2.486, w': 2.464}, 'Mogadishu': {'OSM relation': ['https://www.openstreetmap.org/relation/1720125'], 'P 4w': 0.472, 'P de': 0.055, 'circuity_avg': 1.019, 'country': 'SO', 'k_avg': 3.346, 'median_segment_length': 39.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mogadishu+District,+Banaadir,+Somalia'], 'orient_order': 0.375, 'osm_id': [1720125], 'pop_GHSL2023': 3867823.297230401, 'query': 'Mogadishu District, Banaadir, Somalia', 'region': 'MEA', o': 3.123, w': 3.292}, 'Montreal': {'OSM relation': ['https://www.openstreetmap.org/relation/1571328'], 'P 4w': 0.344, 'P de': 0.051, 'circuity_avg': 1.057, 'country': 'CA-QC', 'k_avg': 3.239, 'median_segment_length': 87.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Montreal+(administrative+region),+Quebec,+Canada'], 'orient_order': 0.204, 'osm_id': [1571328], 'pop_GHSL2023': 1972042.624127009, 'query': 'Montreal (administrative region), Quebec, Canada', 'region': 'NAM', o': 3.346, w': 3.332}, 'Moscow': {'OSM relation': ['https://www.openstreetmap.org/relation/2555133'], 'P 4w': 0.17, 'P de': 0.074, 'circuity_avg': 1.055, 'country': 'RU', 'k_avg': 2.999, 'median_segment_length': 130.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Moscow,+Central+Federal+District,+Russia'], 'orient_order': 0.007, 'osm_id': [2555133], 'pop_GHSL2023': 12023201.84294212, 'query': 'Moscow, Central Federal District, Russia', 'region': 'EU', o': 3.576, w': 3.573}, 'Mumbai': {'OSM relation': ['https://www.openstreetmap.org/relation/7888990'], 'P 4w': 0.136, 'P de': 0.211, 'circuity_avg': 1.081, 'country': 'IN', 'k_avg': 2.705, 'median_segment_length': 68.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mumbai,+Mumbai+Suburban,+Maharashtra,+India'], 'orient_order': 0.075, 'osm_id': [7888990], 'pop_GHSL2023': 14523039.176669551, 'query': 'Mumbai, Mumbai Suburban, Maharashtra, India', 'region': 'A&O', o': 3.499, w': 3.476}, 'Munich': {'OSM relation': ['https://www.openstreetmap.org/relation/62428'], 'P 4w': 0.2, 'P de': 0.099, 'circuity_avg': 1.046, 'country': 'DE', 'k_avg': 2.958, 'median_segment_length': 96.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Munich,+Bavaria,+Germany'], 'orient_order': 0.078, 'osm_id': [62428], 'pop_GHSL2023': 1552833.6185131217, 'query': 'Munich, Bavaria, Germany', 'region': 'EU', o': 3.496, w': 3.482}, 'Nairobi': {'OSM relation': ['https://www.openstreetmap.org/relation/9721587'], 'P 4w': 0.075, 'P de': 0.279, 'circuity_avg': 1.083, 'country': 'KE', 'k_avg': 2.506, 'median_segment_length': 91.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Nairobi,+Nairobi+County,+Kenya'], 'orient_order': 0.014, 'osm_id': [9721587], 'pop_GHSL2023': 5838242.6927329, 'query': 'Nairobi, Nairobi County, Kenya', 'region': 'MEA', o': 3.568, w': 3.556}, 'New Delhi': {'OSM relation': ['https://www.openstreetmap.org/relation/2763541'], 'P 4w': 0.119, 'P de': 0.197, 'circuity_avg': 1.083, 'country': 'IN', 'k_avg': 2.696, 'median_segment_length': 62.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=New+Delhi,+Delhi,+India'], 'orient_order': 0.062, 'osm_id': [2763541], 'pop_GHSL2023': 1203942.1327352521, 'query': 'New Delhi, Delhi, India', 'region': 'A&O', o': 3.515, w': 3.491}, 'New Orleans': {'OSM relation': ['https://www.openstreetmap.org/relation/131885'], 'P 4w': 0.526, 'P de': 0.077, 'circuity_avg': 1.035, 'country': 'US-LA', 'k_avg': 3.378, 'median_segment_length': 99.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=New+Orleans,+Orleans+Parish,+Louisiana,+United+States'], 'orient_order': 0.123, 'osm_id': [131885], 'pop_GHSL2023': 366732.97836517997, 'query': 'New Orleans, Orleans Parish, Louisiana, United States', 'region': 'NAM', o': 3.444, w': 3.457}, 'Orlando': {'OSM relation': ['https://www.openstreetmap.org/relation/1128379'], 'P 4w': 0.237, 'P de': 0.12, 'circuity_avg': 1.064, 'country': 'US-FL', 'k_avg': 2.914, 'median_segment_length': 100.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Orlando,+Orange+County,+Florida,+United+States'], 'orient_order': 0.481, 'osm_id': [1128379], 'pop_GHSL2023': 304166.8284669285, 'query': 'Orlando, Orange County, Florida, United States', 'region': 'NAM', o': 2.969, w': 2.929}, 'Osaka': {'OSM relation': ['https://www.openstreetmap.org/relation/358674'], 'P 4w': 0.292, 'P de': 0.069, 'circuity_avg': 1.025, 'country': 'JP', 'k_avg': 3.155, 'median_segment_length': 51.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Osaka,+Osaka+Prefecture,+Japan'], 'orient_order': 0.243, 'osm_id': [358674], 'pop_GHSL2023': 2388944.7906184644, 'query': 'Osaka, Osaka Prefecture, Japan', 'region': 'A&O', o': 3.298, w': 3.306}, 'Oslo': {'OSM relation': ['https://www.openstreetmap.org/relation/406091'], 'P 4w': 0.113, 'P de': 0.197, 'circuity_avg': 1.095, 'country': 'NO', 'k_avg': 2.711, 'median_segment_length': 78.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oslo,+Norway'], 'orient_order': 0.008, 'osm_id': [406091], 'pop_GHSL2023': 708820.38776549, 'query': 'Oslo, Norway', 'region': 'EU', o': 3.574, w': 3.564}, 'Paris': {'OSM relation': ['https://www.openstreetmap.org/relation/7444'], 'P 4w': 0.24, 'P de': 0.05, 'circuity_avg': 1.023, 'country': 'FR', 'k_avg': 3.11, 'median_segment_length': 71.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Paris,+Ile-de-France,+Metropolitan+France,+France'], 'orient_order': 0.016, 'osm_id': [7444], 'pop_GHSL2023': 2322862.0913982387, 'query': 'Paris, Ile-de-France, Metropolitan France, France', 'region': 'EU', o': 3.566, w': 3.568}, 'Philadelphia': {'OSM relation': ['https://www.openstreetmap.org/relation/188022'], 'P 4w': 0.398, 'P de': 0.047, 'circuity_avg': 1.03, 'country': 'US-PA', 'k_avg': 3.315, 'median_segment_length': 83.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Philadelphia,+Philadelphia+County,+Pennsylvania,+United+States'], 'orient_order': 0.312, 'osm_id': [188022], 'pop_GHSL2023': 1501334.2557670078, 'query': 'Philadelphia, Philadelphia County, Pennsylvania, United States', 'region': 'NAM', o': 3.209, w': 3.267}, 'Phnom Penh': {'OSM relation': ['https://www.openstreetmap.org/relation/2199033'], 'P 4w': 0.188, 'P de': 0.205, 'circuity_avg': 1.04, 'country': 'KH', 'k_avg': 2.784, 'median_segment_length': 81.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=KH-12,+Cambodia'], 'orient_order': 0.324, 'osm_id': [2199033], 'pop_GHSL2023': 2369492.133270343, 'query': 'KH-12, Cambodia', 'region': 'A&O', o': 3.193, w': 3.235}, 'Phoenix': {'OSM relation': ['https://www.openstreetmap.org/relation/111257'], 'P 4w': 0.171, 'P de': 0.186, 'circuity_avg': 1.073, 'country': 'US-AZ', 'k_avg': 2.795, 'median_segment_length': 97.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Phoenix,+Maricopa+County,+Arizona,+United+States'], 'orient_order': 0.586, 'osm_id': [111257], 'pop_GHSL2023': 1872464.6450785124, 'query': 'Phoenix, Maricopa County, Arizona, United States', 'region': 'NAM', o': 2.801, w': 2.563}, 'Pittsburgh': {'OSM relation': ['https://www.openstreetmap.org/relation/188553', 'https://www.openstreetmap.org/relation/188551', 'https://www.openstreetmap.org/relation/187458', 'https://www.openstreetmap.org/relation/187434', 'https://www.openstreetmap.org/relation/187435'], 'P 4w': 0.231, 'P de': 0.173, 'circuity_avg': 1.054, 'country': 'US-PA', 'k_avg': 2.854, 'median_segment_length': 94.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Pittsburgh,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Mount+Oliver,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Green+Tree,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Crafton,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Ingram,+Allegheny+County,+Pennsylvania,+United+States'], 'orient_order': 0.018, 'osm_id': [188553, 188551, 187458, 187434, 187435], 'pop_GHSL2023': 309714.70544934267, 'query': ['Pittsburgh, Allegheny County, Pennsylvania, United States', 'Mount Oliver, Allegheny County, Pennsylvania, United States', 'Green Tree, Allegheny County, Pennsylvania, United States', 'Crafton, Allegheny County, Pennsylvania, United States', 'Ingram, Allegheny County, Pennsylvania, United States'], 'region': 'NAM', o': 3.564, w': 3.565}, 'Port au Prince': {'OSM relation': ['https://www.openstreetmap.org/relation/387318'], 'P 4w': 0.087, 'P de': 0.295, 'circuity_avg': 1.088, 'country': 'HT', 'k_avg': 2.495, 'median_segment_length': 55.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Port-au-Prince,+West,+Haiti'], 'orient_order': 0.028, 'osm_id': [387318], 'pop_GHSL2023': 1481683.71467255, 'query': 'Port-au-Prince, West, Haiti', 'region': 'LatAm', o': 3.552, w': 3.554}, 'Portland': {'OSM relation': ['https://www.openstreetmap.org/relation/186579', 'https://www.openstreetmap.org/relation/186714'], 'P 4w': 0.327, 'P de': 0.146, 'circuity_avg': 1.041, 'country': 'US-OR', 'k_avg': 3.032, 'median_segment_length': 82.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Portland,+Multnomah+County,+Oregon,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Maywood+Park,+Multnomah+County,+Oregon,+United+States'], 'orient_order': 0.679, 'osm_id': [186579, 186714], 'pop_GHSL2023': 685184.3103695348, 'query': ['Portland, Multnomah County, Oregon, United States', 'Maywood Park, Multnomah County, Oregon, United States'], 'region': 'NAM', o': 2.632, w': 2.68}, 'Prague': {'OSM relation': ['https://www.openstreetmap.org/relation/435514'], 'P 4w': 0.171, 'P de': 0.177, 'circuity_avg': 1.065, 'country': 'CZ', 'k_avg': 2.807, 'median_segment_length': 84.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Prague,+Czechia'], 'orient_order': 0.049, 'osm_id': [435514], 'pop_GHSL2023': 1327193.6264477668, 'query': 'Prague, Czechia', 'region': 'EU', o': 3.529, w': 3.513}, 'Pyongyang': {'OSM relation': ['https://www.openstreetmap.org/relation/356443'], 'P 4w': 0.12, 'P de': 0.294, 'circuity_avg': 1.097, 'country': 'KP', 'k_avg': 2.524, 'median_segment_length': 132.4, 'nominatim link': ["https://nominatim.openstreetmap.org/ui/search.html?q=P'yŏngyang,+North+Korea"], 'orient_order': 0.024, 'osm_id': [356443], 'pop_GHSL2023': 3480278.592318181, 'query': "P'yŏngyang, North Korea", 'region': 'A&O', o': 3.557, w': 3.568}, 'Reykjavik': {'OSM relation': ['https://www.openstreetmap.org/relation/2580605'], 'P 4w': 0.117, 'P de': 0.283, 'circuity_avg': 1.071, 'country': 'IS', 'k_avg': 2.54, 'median_segment_length': 63.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Reykjavik,+Capital+Region,+Iceland'], 'orient_order': 0.056, 'osm_id': [2580605], 'pop_GHSL2023': 104272.41692510885, 'query': 'Reykjavik, Capital Region, Iceland', 'region': 'EU', o': 3.522, w': 3.529}, 'Rio de Janeiro': {'OSM relation': ['https://www.openstreetmap.org/relation/2697338'], 'P 4w': 0.147, 'P de': 0.172, 'circuity_avg': 1.055, 'country': 'BR', 'k_avg': 2.804, 'median_segment_length': 74.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rio+de+Janeiro,+Southeast+Region,+Brazil'], 'orient_order': 0.014, 'osm_id': [2697338], 'pop_GHSL2023': 6768933.523283653, 'query': 'Rio de Janeiro, Southeast Region, Brazil', 'region': 'LatAm', o': 3.568, w': 3.566}, 'Rome': {'OSM relation': ['https://www.openstreetmap.org/relation/41485'], 'P 4w': 0.145, 'P de': 0.161, 'circuity_avg': 1.07, 'country': 'IT', 'k_avg': 2.82, 'median_segment_length': 73.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rome,+Roma+Capitale,+Lazio,+Italy'], 'orient_order': 0.005, 'osm_id': [41485], 'pop_GHSL2023': 2706949.850030726, 'query': 'Rome, Roma Capitale, Lazio, Italy', 'region': 'EU', o': 3.578, w': 3.578}, 'San Francisco': {'OSM relation': ['https://www.openstreetmap.org/relation/111968'], 'P 4w': 0.454, 'P de': 0.087, 'circuity_avg': 1.033, 'country': 'US-CA', 'k_avg': 3.304, 'median_segment_length': 94.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=San+Francisco,+California,+United+States'], 'orient_order': 0.278, 'osm_id': [111968], 'pop_GHSL2023': 823489.8565498033, 'query': 'San Francisco, California, United States', 'region': 'NAM', o': 3.253, w': 3.226}, 'Sao Paulo': {'OSM relation': ['https://www.openstreetmap.org/relation/298285'], 'P 4w': 0.176, 'P de': 0.12, 'circuity_avg': 1.05, 'country': 'BR', 'k_avg': 2.936, 'median_segment_length': 76.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=São+Paulo,+Southeast+Region,+Brazil'], 'orient_order': 0.002, 'osm_id': [298285], 'pop_GHSL2023': 11858950.620425723, 'query': 'São Paulo, Southeast Region, Brazil', 'region': 'LatAm', o': 3.581, w': 3.58}, 'Sarajevo': {'OSM relation': ['https://www.openstreetmap.org/relation/15445108'], 'P 4w': 0.078, 'P de': 0.27, 'circuity_avg': 1.133, 'country': 'BA', 'k_avg': 2.522, 'median_segment_length': 94.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Sarajevo,+Sarajevo+Canton,+Bosnia+and+Herzegovina'], 'orient_order': 0.039, 'osm_id': [15445108], 'pop_GHSL2023': 196713.784235157, 'query': 'Sarajevo, Sarajevo Canton, Bosnia and Herzegovina', 'region': 'EU', o': 3.54, w': 3.558}, 'Seattle': {'OSM relation': ['https://www.openstreetmap.org/relation/237385'], 'P 4w': 0.369, 'P de': 0.136, 'circuity_avg': 1.028, 'country': 'US-WA', 'k_avg': 3.107, 'median_segment_length': 97.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Seattle,+King+County,+Washington,+United+States'], 'orient_order': 0.723, 'osm_id': [237385], 'pop_GHSL2023': 710391.1301186976, 'query': 'Seattle, King County, Washington, United States', 'region': 'NAM', o': 2.542, w': 2.474}, 'Seoul': {'OSM relation': ['https://www.openstreetmap.org/relation/2297418'], 'P 4w': 0.205, 'P de': 0.101, 'circuity_avg': 1.048, 'country': 'KR', 'k_avg': 3.011, 'median_segment_length': 53.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Seoul,+South+Korea'], 'orient_order': 0.009, 'osm_id': [2297418], 'pop_GHSL2023': 9645141.225111853, 'query': 'Seoul, South Korea', 'region': 'A&O', o': 3.573, w': 3.573}, 'Shanghai': {'OSM relation': ['https://www.openstreetmap.org/relation/913067'], 'P 4w': 0.317, 'P de': 0.156, 'circuity_avg': 1.04, 'country': 'CN', 'k_avg': 3.017, 'median_segment_length': 233.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Shanghai,+China'], 'orient_order': 0.121, 'osm_id': [913067], 'pop_GHSL2023': 33924003.60635262, 'query': 'Shanghai, China', 'region': 'A&O', o': 3.447, w': 3.433}, 'Singapore': {'OSM relation': ['https://www.openstreetmap.org/relation/536780'], 'P 4w': 0.215, 'P de': 0.11, 'circuity_avg': 1.077, 'country': 'SG', 'k_avg': 2.994, 'median_segment_length': 64.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Singapore'], 'orient_order': 0.005, 'osm_id': [536780], 'pop_GHSL2023': 5959450.356524699, 'query': 'Singapore', 'region': 'A&O', o': 3.578, w': 3.57}, 'St Louis': {'OSM relation': ['https://www.openstreetmap.org/relation/1180533'], 'P 4w': 0.374, 'P de': 0.098, 'circuity_avg': 1.023, 'country': 'US-MO', 'k_avg': 3.165, 'median_segment_length': 107.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=St.+Louis,+Missouri,+United+States'], 'orient_order': 0.276, 'osm_id': [1180533], 'pop_GHSL2023': 312467.4185018753, 'query': 'St. Louis, Missouri, United States', 'region': 'NAM', o': 3.256, w': 3.225}, 'Stockholm': {'OSM relation': ['https://www.openstreetmap.org/relation/398021'], 'P 4w': 0.141, 'P de': 0.222, 'circuity_avg': 1.091, 'country': 'SE', 'k_avg': 2.681, 'median_segment_length': 82.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Stockholms+kommun,+Stockholm+County,+Sweden'], 'orient_order': 0.006, 'osm_id': [398021], 'pop_GHSL2023': 1022888.4359776971, 'query': 'Stockholms kommun, Stockholm County, Sweden', 'region': 'EU', o': 3.577, w': 3.568}, 'Sydney': {'OSM relation': ['https://www.openstreetmap.org/relation/5750005'], 'P 4w': 0.087, 'P de': 0.206, 'circuity_avg': 1.073, 'country': 'AU', 'k_avg': 2.674, 'median_segment_length': 93.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Sydney,+Council+of+the+City+of+Sydney,+New+South+Wales,+Australia'], 'orient_order': 0.092, 'osm_id': [5750005], 'pop_GHSL2023': 5100197.878210587, 'query': 'Sydney, Council of the City of Sydney, New South Wales, Australia', 'region': 'A&O', o': 3.48, w': 3.431}, 'Taipei': {'OSM relation': ['https://www.openstreetmap.org/relation/1293250'], 'P 4w': 0.305, 'P de': 0.11, 'circuity_avg': 1.068, 'country': 'TW', 'k_avg': 3.096, 'median_segment_length': 73.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Taipei,+Taiwan'], 'orient_order': 0.158, 'osm_id': [1293250], 'pop_GHSL2023': 2542878.0502161, 'query': 'Taipei, Taiwan', 'region': 'A&O', o': 3.402, w': 3.428}, 'Tehran': {'OSM relation': ['https://www.openstreetmap.org/relation/6663864'], 'P 4w': 0.134, 'P de': 0.24, 'circuity_avg': 1.045, 'country': 'IR', 'k_avg': 2.652, 'median_segment_length': 52.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Tehran,+Tehran+Province,+Iran'], 'orient_order': 0.137, 'osm_id': [6663864], 'pop_GHSL2023': 7294182.58308172, 'query': 'Tehran, Tehran Province, Iran', 'region': 'MEA', o': 3.427, w': 3.405}, 'Tokyo': {'OSM relation': ['https://www.openstreetmap.org/relation/1543125'], 'P 4w': 0.186, 'P de': 0.119, 'circuity_avg': 1.046, 'country': 'JP', 'k_avg': 2.95, 'median_segment_length': 49.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=JP-13,+Japan'], 'orient_order': 0.05, 'osm_id': [1543125], 'pop_GHSL2023': 13453095.368577162, 'query': 'JP-13, Japan', 'region': 'A&O', o': 3.528, w': 3.529}, 'Toronto': {'OSM relation': ['https://www.openstreetmap.org/relation/324211'], 'P 4w': 0.217, 'P de': 0.109, 'circuity_avg': 1.09, 'country': 'CA-ON', 'k_avg': 2.994, 'median_segment_length': 103.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Toronto,+Golden+Horseshoe,+Ontario,+Canada'], 'orient_order': 0.474, 'osm_id': [324211], 'pop_GHSL2023': 2860231.37706411, 'query': 'City of Toronto, Golden Horseshoe, Ontario, Canada', 'region': 'NAM', o': 2.98, w': 2.885}, 'Ulaanbaatar': {'OSM relation': ['https://www.openstreetmap.org/relation/270090'], 'P 4w': 0.061, 'P de': 0.283, 'circuity_avg': 1.065, 'country': 'MN', 'k_avg': 2.486, 'median_segment_length': 88.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ulaanbaatar,+Mongolia'], 'orient_order': 0.058, 'osm_id': [270090], 'pop_GHSL2023': 1876392.4283411014, 'query': 'Ulaanbaatar, Mongolia', 'region': 'A&O', o': 3.519, w': 3.463}, 'Vancouver': {'OSM relation': ['https://www.openstreetmap.org/relation/1852574'], 'P 4w': 0.455, 'P de': 0.073, 'circuity_avg': 1.022, 'country': 'CA-BC', 'k_avg': 3.308, 'median_segment_length': 103.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Vancouver,+British+Columbia,+Canada'], 'orient_order': 0.749, 'osm_id': [1852574], 'pop_GHSL2023': 693480.7865019785, 'query': 'Vancouver, British Columbia, Canada', 'region': 'NAM', o': 2.488, w': 2.413}, 'Venice (Mestre)': {'OSM relation': ['https://www.openstreetmap.org/relation/44741'], 'P 4w': 0.073, 'P de': 0.3, 'circuity_avg': 1.09, 'country': 'IT', 'k_avg': 2.474, 'median_segment_length': 23.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Venice,+Venezia,+Veneto,+Italy'], 'orient_order': 0.017, 'osm_id': [44741], 'pop_GHSL2023': 256643.2521157807, 'query': 'Venice, Venezia, Veneto, Italy', 'region': 'EU', o': 3.564, w': 3.553}, 'Vienna': {'OSM relation': ['https://www.openstreetmap.org/relation/109166'], 'P 4w': 0.244, 'P de': 0.122, 'circuity_avg': 1.043, 'country': 'AT', 'k_avg': 2.985, 'median_segment_length': 90.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Vienna,+Austria'], 'orient_order': 0.05, 'osm_id': [109166], 'pop_GHSL2023': 1932893.754314165, 'query': 'Vienna, Austria', 'region': 'EU', o': 3.528, w': 3.515}, 'Warsaw': {'OSM relation': ['https://www.openstreetmap.org/relation/336075'], 'P 4w': 0.16, 'P de': 0.204, 'circuity_avg': 1.043, 'country': 'PL', 'k_avg': 2.717, 'median_segment_length': 90.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Warsaw,+Masovian+Voivodeship,+Poland'], 'orient_order': 0.036, 'osm_id': [336075], 'pop_GHSL2023': 1849553.232625499, 'query': 'Warsaw, Masovian Voivodeship, Poland', 'region': 'EU', o': 3.544, w': 3.532}, 'Washington': {'OSM relation': ['https://www.openstreetmap.org/relation/5396194'], 'P 4w': 0.37, 'P de': 0.065, 'circuity_avg': 1.038, 'country': 'US-DC', 'k_avg': 3.252, 'median_segment_length': 99.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Washington,+District+of+Columbia,+United+States'], 'orient_order': 0.377, 'osm_id': [5396194], 'pop_GHSL2023': 701524.8640937685, 'query': 'Washington, District of Columbia, United States', 'region': 'NAM', o': 3.121, w': 3.113}}#
PLACES_FILE = '/home/runner/work/superblockify/superblockify/superblockify/cities.yml'#
PLACES_GENERAL = [('Barcelona', 'Barcelona, Catalonia, Spain'), ('Brooklyn', 'Brooklyn, New York, United States'), ('Copenhagen', ['Københavns Kommune, Denmark', 'Frederiksberg Kommune, Denmark']), ('Resistencia', 'Resistencia, Chaco, Argentina'), ('Liechtenstein', 'Liechtenstein')]#
PLACES_GERMANY = {'Aachen': {'OSM relation': ['https://www.openstreetmap.org/relation/62564'], 'country': 'DE', 'location': '50°47′N 6°5′E / 50.783°N 6.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Aachen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62564], 'pop_GHSL2023': 243387.76502981776, 'population': 249070, 'query': 'Aachen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Augsburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62407'], 'country': 'DE', 'location': '48°22′N 10°54′E / 48.367°N 10.900°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Augsburg,+Bavaria,+Germany'], 'osm_id': [62407], 'pop_GHSL2023': 284132.46682134515, 'population': 296478, 'query': 'Augsburg, Bavaria, Germany', 'state': 'Bavaria'}, 'Bergisch Gladbach': {'OSM relation': ['https://www.openstreetmap.org/relation/173103'], 'country': 'DE', 'location': '51°6′N 7°7′E / 51.100°N 7.117°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bergisch+Gladbach,+North+Rhine-Westphalia,+Germany'], 'osm_id': [173103], 'pop_GHSL2023': 116460.2804894326, 'population': 111645, 'query': 'Bergisch Gladbach, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Berlin': {'OSM relation': ['https://www.openstreetmap.org/relation/62422'], 'country': 'DE', 'location': '52°31′N 13°23′E / 52.517°N 13.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Berlin,+Germany'], 'osm_id': [62422], 'pop_GHSL2023': 3524738.8939121147, 'population': 3677472, 'query': 'Berlin, Germany', 'state': 'Berlin'}, 'Bielefeld': {'OSM relation': ['https://www.openstreetmap.org/relation/62646'], 'country': 'DE', 'location': '52°1′N 8°32′E / 52.017°N 8.533°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bielefeld,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62646], 'pop_GHSL2023': 333409.8926514386, 'population': 334002, 'query': 'Bielefeld, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bochum': {'OSM relation': ['https://www.openstreetmap.org/relation/62644'], 'country': 'DE', 'location': '51°29′N 7°13′E / 51.483°N 7.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bochum,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62644], 'pop_GHSL2023': 357434.85097885126, 'population': 363441, 'query': 'Bochum, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bonn': {'OSM relation': ['https://www.openstreetmap.org/relation/62508'], 'country': 'DE', 'location': '50°44′N 7°6′E / 50.733°N 7.100°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bonn,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62508], 'pop_GHSL2023': 298244.66710514383, 'population': 331885, 'query': 'Bonn, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bottrop': {'OSM relation': ['https://www.openstreetmap.org/relation/62634'], 'country': 'DE', 'location': '51°31′29″N 6°55′22″E / 51.52472°N 6.92278°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bottrop,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62634], 'pop_GHSL2023': 120419.19062280792, 'population': 117311, 'query': 'Bottrop, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Braunschweig': {'OSM relation': ['https://www.openstreetmap.org/relation/62531'], 'country': 'DE', 'location': '52°16′N 10°31′E / 52.267°N 10.517°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Braunschweig,+Lower+Saxony,+Germany'], 'osm_id': [62531], 'pop_GHSL2023': 231285.2623034268, 'population': 248823, 'query': 'Braunschweig, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Bremen': {'OSM relation': ['https://www.openstreetmap.org/relation/62559'], 'country': 'DE', 'location': '53°5′N 8°48′E / 53.083°N 8.800°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bremen,+City+of+Bremen,+Germany'], 'osm_id': [62559], 'pop_GHSL2023': 569530.6147225898, 'population': 563290, 'query': 'Bremen, City of Bremen, Germany', 'state': 'Bremen'}, 'Bremerhaven': {'OSM relation': ['https://www.openstreetmap.org/relation/62658'], 'country': 'DE', 'location': '53°33′N 8°35′E / 53.550°N 8.583°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bremerhaven,+Bremen,+Germany'], 'osm_id': [62658], 'pop_GHSL2023': 113689.3916842702, 'population': 113173, 'query': 'Bremerhaven, Bremen, Germany', 'state': 'Bremen'}, 'Chemnitz': {'OSM relation': ['https://www.openstreetmap.org/relation/62594'], 'country': 'DE', 'location': '50°50′N 12°55′E / 50.833°N 12.917°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Chemnitz,+Saxony,+Germany'], 'osm_id': [62594], 'pop_GHSL2023': 281487.2192971407, 'population': 243105, 'query': 'Chemnitz, Saxony, Germany', 'state': 'Saxony'}, 'Cologne (Köln)': {'OSM relation': ['https://www.openstreetmap.org/relation/62578'], 'country': 'DE', 'location': '50°56′N 6°57′E / 50.933°N 6.950°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cologne,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62578], 'pop_GHSL2023': 1171662.0742877943, 'population': 1073096, 'query': 'Cologne, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Darmstadt': {'OSM relation': ['https://www.openstreetmap.org/relation/62581'], 'country': 'DE', 'location': '49°52′N 8°39′E / 49.867°N 8.650°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Darmstadt,+Hesse,+Germany'], 'osm_id': [62581], 'pop_GHSL2023': 143254.62058037517, 'population': 159631, 'query': 'Darmstadt, Hesse, Germany', 'state': 'Hesse'}, 'Dortmund': {'OSM relation': ['https://www.openstreetmap.org/relation/1829065'], 'country': 'DE', 'location': '51°31′N 7°28′E / 51.517°N 7.467°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dortmund,+North+Rhine-Westphalia,+Germany'], 'osm_id': [1829065], 'pop_GHSL2023': 597406.1646491288, 'population': 586852, 'query': 'Dortmund, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Dresden': {'OSM relation': ['https://www.openstreetmap.org/relation/191645'], 'country': 'DE', 'location': '51°2′N 13°44′E / 51.033°N 13.733°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dresden,+Saxony,+Germany'], 'osm_id': [191645], 'pop_GHSL2023': 604470.7496758811, 'population': 555351, 'query': 'Dresden, Saxony, Germany', 'state': 'Saxony'}, 'Duisburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62456'], 'country': 'DE', 'location': '51°26′N 6°46′E / 51.433°N 6.767°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Duisburg,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62456], 'pop_GHSL2023': 541060.8880877494, 'population': 495152, 'query': 'Duisburg, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Düsseldorf': {'OSM relation': ['https://www.openstreetmap.org/relation/62539'], 'country': 'DE', 'location': '51°14′N 6°47′E / 51.233°N 6.783°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dusseldorf,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62539], 'pop_GHSL2023': 629943.5862600802, 'population': 619477, 'query': 'Dusseldorf, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Erfurt': {'OSM relation': ['https://www.openstreetmap.org/relation/62745'], 'country': 'DE', 'location': '50°59′N 11°2′E / 50.983°N 11.033°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Erfurt,+Thuringia,+Germany'], 'osm_id': [62745], 'pop_GHSL2023': 229810.96490019985, 'population': 213227, 'query': 'Erfurt, Thuringia, Germany', 'state': 'Thuringia'}, 'Erlangen': {'OSM relation': ['https://www.openstreetmap.org/relation/62403'], 'country': 'DE', 'location': '49°35′N 11°1′E / 49.583°N 11.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Erlangen,+Bavaria,+Germany'], 'osm_id': [62403], 'pop_GHSL2023': 126349.33028798547, 'population': 113292, 'query': 'Erlangen, Bavaria, Germany', 'state': 'Bavaria'}, 'Essen': {'OSM relation': ['https://www.openstreetmap.org/relation/62713'], 'country': 'DE', 'location': '51°27′N 7°1′E / 51.450°N 7.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Essen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62713], 'pop_GHSL2023': 566901.7672717569, 'population': 579432, 'query': 'Essen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Frankfurt am Main': {'OSM relation': ['https://www.openstreetmap.org/relation/62400'], 'country': 'DE', 'location': '50°7′N 8°41′E / 50.117°N 8.683°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Frankfurt,+Hesse,+Germany'], 'osm_id': [62400], 'pop_GHSL2023': 821447.1059717236, 'population': 759224, 'query': 'Frankfurt, Hesse, Germany', 'state': 'Hesse'}, 'Freiburg im Breisgau': {'OSM relation': ['https://www.openstreetmap.org/relation/62768'], 'country': 'DE', 'location': '47°59′N 7°51′E / 47.983°N 7.850°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Freiburg+im+Breisgau,+Baden-Württemberg,+Germany'], 'osm_id': [62768], 'pop_GHSL2023': 252070.2626246958, 'population': 231848, 'query': 'Freiburg im Breisgau, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Fürth': {'OSM relation': ['https://www.openstreetmap.org/relation/62374'], 'country': 'DE', 'location': '49°28′N 11°0′E / 49.467°N 11.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Fürth,+Bavaria,+Germany'], 'osm_id': [62374], 'pop_GHSL2023': 147272.84554243082, 'population': 129122, 'query': 'Fürth, Bavaria, Germany', 'state': 'Bavaria'}, 'Gelsenkirchen': {'OSM relation': ['https://www.openstreetmap.org/relation/62522'], 'country': 'DE', 'location': '51°31′N 7°6′E / 51.517°N 7.100°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Gelsenkirchen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62522], 'pop_GHSL2023': 268021.2257325648, 'population': 260126, 'query': 'Gelsenkirchen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Göttingen': {'OSM relation': ['https://www.openstreetmap.org/relation/191361'], 'country': 'DE', 'location': '51°32′N 9°56′E / 51.533°N 9.933°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Göttingen,+Lower+Saxony,+Germany'], 'osm_id': [191361], 'pop_GHSL2023': 124678.53125402467, 'population': 116557, 'query': 'Göttingen, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Gütersloh': {'OSM relation': ['https://www.openstreetmap.org/relation/138119'], 'country': 'DE', 'location': '51°54′N 8°23′E / 51.900°N 8.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Gütersloh,+North+Rhine-Westphalia,+Germany'], 'osm_id': [138119], 'pop_GHSL2023': 89440.50304740664, 'population': 101158, 'query': 'Gütersloh, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hagen': {'OSM relation': ['https://www.openstreetmap.org/relation/1800297'], 'country': 'DE', 'location': '51°22′N 7°29′E / 51.367°N 7.483°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hagen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [1800297], 'pop_GHSL2023': 192985.87121069425, 'population': 188713, 'query': 'Hagen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Halle (Saale)': {'OSM relation': ['https://www.openstreetmap.org/relation/62638'], 'country': 'DE', 'location': '51°29′N 11°58′E / 51.483°N 11.967°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Halle+(Saale),+Saxony-Anhalt,+Germany'], 'osm_id': [62638], 'pop_GHSL2023': 226774.07903894776, 'population': 238061, 'query': 'Halle (Saale), Saxony-Anhalt, Germany', 'state': 'Saxony-Anhalt'}, 'Hamburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62782'], 'country': 'DE', 'location': '53°33′N 10°0′E / 53.550°N 10.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hamburg,+Germany'], 'osm_id': [62782], 'pop_GHSL2023': 1761088.7599678198, 'population': 1906411, 'query': 'Hamburg, Germany', 'state': 'Hamburg'}, 'Hamm': {'OSM relation': ['https://www.openstreetmap.org/relation/62499'], 'country': 'DE', 'location': '51°41′N 7°49′E / 51.683°N 7.817°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hamm,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62499], 'pop_GHSL2023': 171828.1519785523, 'population': 179238, 'query': 'Hamm, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hanover (Hannover)': {'OSM relation': ['https://www.openstreetmap.org/relation/59418'], 'country': 'DE', 'location': '52°22′N 9°43′E / 52.367°N 9.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hanover,+Lower+Saxony,+Germany'], 'osm_id': [59418], 'pop_GHSL2023': 536017.4882024525, 'population': 535932, 'query': 'Hanover, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Heidelberg': {'OSM relation': ['https://www.openstreetmap.org/relation/285864'], 'country': 'DE', 'location': '49°25′N 8°43′E / 49.417°N 8.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Heidelberg,+Baden-Württemberg,+Germany'], 'osm_id': [285864], 'pop_GHSL2023': 154854.53628560057, 'population': 159245, 'query': 'Heidelberg, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Heilbronn': {'OSM relation': ['https://www.openstreetmap.org/relation/62751'], 'country': 'DE', 'location': '49°9′N 9°13′E / 49.150°N 9.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Heilbronn,+Baden-Württemberg,+Germany'], 'osm_id': [62751], 'pop_GHSL2023': 116836.40956012529, 'population': 125613, 'query': 'Heilbronn, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Herne': {'OSM relation': ['https://www.openstreetmap.org/relation/62396'], 'country': 'DE', 'location': '51°33′N 7°13′E / 51.550°N 7.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Herne,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62396], 'pop_GHSL2023': 164314.78438377377, 'population': 156621, 'query': 'Herne, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hildesheim': {'OSM relation': ['https://www.openstreetmap.org/relation/1176503'], 'country': 'DE', 'location': '52°9′N 9°57′E / 52.150°N 9.950°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hildesheim,+Lower+Saxony,+Germany'], 'osm_id': [1176503], 'pop_GHSL2023': 108481.75792009567, 'population': 100319, 'query': 'Hildesheim, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Ingolstadt': {'OSM relation': ['https://www.openstreetmap.org/relation/62381'], 'country': 'DE', 'location': '48°46′N 11°26′E / 48.767°N 11.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ingolstadt,+Bavaria,+Germany'], 'osm_id': [62381], 'pop_GHSL2023': 124418.21458852934, 'population': 138016, 'query': 'Ingolstadt, Bavaria, Germany', 'state': 'Bavaria'}, 'Jena': {'OSM relation': ['https://www.openstreetmap.org/relation/62693'], 'country': 'DE', 'location': '50°55′38″N 11°35′10″E / 50.92722°N 11.58611°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Jena,+Thuringia,+Germany'], 'osm_id': [62693], 'pop_GHSL2023': 96349.92435650199, 'population': 110502, 'query': 'Jena, Thuringia, Germany', 'state': 'Thuringia'}, 'Karlsruhe': {'OSM relation': ['https://www.openstreetmap.org/relation/62518'], 'country': 'DE', 'location': '49°0′N 8°24′E / 49.000°N 8.400°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Karlsruhe,+Baden-Württemberg,+Germany'], 'osm_id': [62518], 'pop_GHSL2023': 321957.63255011983, 'population': 306502, 'query': 'Karlsruhe, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Kassel': {'OSM relation': ['https://www.openstreetmap.org/relation/62598'], 'country': 'DE', 'location': '51°19′N 9°30′E / 51.317°N 9.500°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kassel,+Hesse,+Germany'], 'osm_id': [62598], 'pop_GHSL2023': 195841.11059885466, 'population': 200406, 'query': 'Kassel, Hesse, Germany', 'state': 'Hesse'}, 'Kiel': {'OSM relation': ['https://www.openstreetmap.org/relation/27021'], 'country': 'DE', 'location': '54°20′N 10°8′E / 54.333°N 10.133°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kiel,+Schleswig-Holstein,+Germany'], 'osm_id': [27021], 'pop_GHSL2023': 236948.35277050728, 'population': 246243, 'query': 'Kiel, Schleswig-Holstein, Germany', 'state': 'Schleswig-Holstein'}, 'Koblenz': {'OSM relation': ['https://www.openstreetmap.org/relation/62512'], 'country': 'DE', 'location': '50°21′35″N 7°35′52″E / 50.35972°N 7.59778°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Koblenz,+Rhineland-Palatinate,+Germany'], 'osm_id': [62512], 'pop_GHSL2023': 121517.91575462554, 'population': 113638, 'query': 'Koblenz, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Krefeld': {'OSM relation': ['https://www.openstreetmap.org/relation/62748'], 'country': 'DE', 'location': '51°20′N 6°34′E / 51.333°N 6.567°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Krefeld,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62748], 'pop_GHSL2023': 228622.10160866374, 'population': 227050, 'query': 'Krefeld, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Leipzig': {'OSM relation': ['https://www.openstreetmap.org/relation/62649'], 'country': 'DE', 'location': '51°20′N 12°23′E / 51.333°N 12.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Leipzig,+Saxony,+Germany'], 'osm_id': [62649], 'pop_GHSL2023': 587300.3685810135, 'population': 601866, 'query': 'Leipzig, Saxony, Germany', 'state': 'Saxony'}, 'Leverkusen': {'OSM relation': ['https://www.openstreetmap.org/relation/62449'], 'country': 'DE', 'location': '51°2′N 6°59′E / 51.033°N 6.983°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Leverkusen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62449], 'pop_GHSL2023': 151995.9388852119, 'population': 163851, 'query': 'Leverkusen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Ludwigshafen am Rhein': {'OSM relation': ['https://www.openstreetmap.org/relation/62347'], 'country': 'DE', 'location': '49°29′N 8°26′E / 49.483°N 8.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ludwigshafen+am+Rhein,+Rhineland-Palatinate,+Germany'], 'osm_id': [62347], 'pop_GHSL2023': 146645.6872336566, 'population': 172145, 'query': 'Ludwigshafen am Rhein, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Lübeck': {'OSM relation': ['https://www.openstreetmap.org/relation/27027'], 'country': 'DE', 'location': '53°52′N 10°41′E / 53.867°N 10.683°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lübeck,+Schleswig-Holstein,+Germany'], 'osm_id': [27027], 'pop_GHSL2023': 214359.11554070184, 'population': 216277, 'query': 'Lübeck, Schleswig-Holstein, Germany', 'state': 'Schleswig-Holstein'}, 'Magdeburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62481'], 'country': 'DE', 'location': '52°8′N 11°37′E / 52.133°N 11.617°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Magdeburg,+Saxony-Anhalt,+Germany'], 'osm_id': [62481], 'pop_GHSL2023': 239762.95349462883, 'population': 236188, 'query': 'Magdeburg, Saxony-Anhalt, Germany', 'state': 'Saxony-Anhalt'}, 'Mainz': {'OSM relation': ['https://www.openstreetmap.org/relation/62630'], 'country': 'DE', 'location': '50°0′N 8°16′E / 50.000°N 8.267°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mainz,+Rhineland-Palatinate,+Germany'], 'osm_id': [62630], 'pop_GHSL2023': 192033.2704339176, 'population': 217556, 'query': 'Mainz, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Mannheim': {'OSM relation': ['https://www.openstreetmap.org/relation/62691'], 'country': 'DE', 'location': '49°29′N 8°28′E / 49.483°N 8.467°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mannheim,+Baden-Württemberg,+Germany'], 'osm_id': [62691], 'pop_GHSL2023': 331411.8676640092, 'population': 311831, 'query': 'Mannheim, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Moers': {'OSM relation': ['https://www.openstreetmap.org/relation/58623'], 'country': 'DE', 'location': '51°27′33″N 6°37′11″E / 51.45917°N 6.61972°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Moers,+North+Rhine-Westphalia,+Germany'], 'osm_id': [58623], 'pop_GHSL2023': 107912.45186328885, 'population': 103725, 'query': 'Moers, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Munich': {'OSM relation': ['https://www.openstreetmap.org/relation/62428'], 'country': 'DE', 'location': '48°8′N 11°34′E / 48.133°N 11.567°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Munich,+Bavaria,+Germany'], 'osm_id': [62428], 'pop_GHSL2023': 1552833.6185131217, 'population': 1487708, 'query': 'Munich, Bavaria, Germany', 'state': 'Bavaria'}, 'Mönchengladbach': {'OSM relation': ['https://www.openstreetmap.org/relation/62410'], 'country': 'DE', 'location': '51°12′N 6°26′E / 51.200°N 6.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mönchengladbach,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62410], 'pop_GHSL2023': 267545.6431359052, 'population': 261001, 'query': 'Mönchengladbach, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Mülheim an der Ruhr': {'OSM relation': ['https://www.openstreetmap.org/relation/62385'], 'country': 'DE', 'location': '51°26′N 6°53′E / 51.433°N 6.883°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mülheim+an+der+Ruhr,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62385], 'pop_GHSL2023': 173668.34945082662, 'population': 170739, 'query': 'Mülheim an der Ruhr, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Münster': {'OSM relation': ['https://www.openstreetmap.org/relation/62591'], 'country': 'DE', 'location': '51°58′N 7°38′E / 51.967°N 7.633°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Münster,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62591], 'pop_GHSL2023': 341446.0807846858, 'population': 317713, 'query': 'Münster, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Neuss': {'OSM relation': ['https://www.openstreetmap.org/relation/163307'], 'country': 'DE', 'location': '51°12′N 6°42′E / 51.200°N 6.700°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Neuss,+North+Rhine-Westphalia,+Germany'], 'osm_id': [163307], 'pop_GHSL2023': 169732.4745044112, 'population': 152731, 'query': 'Neuss, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Nuremberg': {'OSM relation': ['https://www.openstreetmap.org/relation/62780'], 'country': 'DE', 'location': '49°27′N 11°5′E / 49.450°N 11.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Nuremberg,+Bavaria,+Germany'], 'osm_id': [62780], 'pop_GHSL2023': 499332.5104406102, 'population': 510632, 'query': 'Nuremberg, Bavaria, Germany', 'state': 'Bavaria'}, 'Oberhausen': {'OSM relation': ['https://www.openstreetmap.org/relation/62734'], 'country': 'DE', 'location': '51°28′N 6°51′E / 51.467°N 6.850°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oberhausen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62734], 'pop_GHSL2023': 210994.3231761455, 'population': 208752, 'query': 'Oberhausen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Offenbach am Main': {'OSM relation': ['https://www.openstreetmap.org/relation/62695'], 'country': 'DE', 'location': '50°6′N 8°48′E / 50.100°N 8.800°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Offenbach+am+Main,+Hesse,+Germany'], 'osm_id': [62695], 'pop_GHSL2023': 109759.49343144891, 'population': 131295, 'query': 'Offenbach am Main, Hesse, Germany', 'state': 'Hesse'}, 'Oldenburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62409'], 'country': 'DE', 'location': '53°8′N 8°13′E / 53.133°N 8.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oldenburg,+Lower+Saxony,+Germany'], 'osm_id': [62409], 'pop_GHSL2023': 149219.0436193719, 'population': 170389, 'query': 'Oldenburg, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Osnabrück': {'OSM relation': ['https://www.openstreetmap.org/relation/62631'], 'country': 'DE', 'location': '52°17′N 8°3′E / 52.283°N 8.050°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Osnabrück,+Lower+Saxony,+Germany'], 'osm_id': [62631], 'pop_GHSL2023': 148963.6332005262, 'population': 165034, 'query': 'Osnabrück, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Paderborn': {'OSM relation': ['https://www.openstreetmap.org/relation/5610766'], 'country': 'DE', 'location': '51°43′N 8°46′E / 51.717°N 8.767°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Paderborn,+North+Rhine-Westphalia,+Germany'], 'osm_id': [5610766], 'pop_GHSL2023': 93098.35931211707, 'population': 152531, 'query': 'Paderborn, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Pforzheim': {'OSM relation': ['https://www.openstreetmap.org/relation/62471'], 'country': 'DE', 'location': '48°54′N 8°43′E / 48.900°N 8.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Pforzheim,+Baden-Württemberg,+Germany'], 'osm_id': [62471], 'pop_GHSL2023': 114279.89176134576, 'population': 125529, 'query': 'Pforzheim, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Potsdam': {'OSM relation': ['https://www.openstreetmap.org/relation/62369'], 'country': 'DE', 'location': '52°24′N 13°4′E / 52.400°N 13.067°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Potsdam,+Brandenburg,+Germany'], 'osm_id': [62369], 'pop_GHSL2023': 197204.92013428442, 'population': 183154, 'query': 'Potsdam, Brandenburg, Germany', 'state': 'Brandenburg'}, 'Recklinghausen': {'OSM relation': ['https://www.openstreetmap.org/relation/56665'], 'country': 'DE', 'location': '51°35′6″N 7°9′43″E / 51.58500°N 7.16194°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Recklinghausen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [56665], 'pop_GHSL2023': 118133.97546708581, 'population': 110714, 'query': 'Recklinghausen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Regensburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62411'], 'country': 'DE', 'location': '49°1′N 12°5′E / 49.017°N 12.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Regensburg,+Bavaria,+Germany'], 'osm_id': [62411], 'pop_GHSL2023': 151635.27298718685, 'population': 153542, 'query': 'Regensburg, Bavaria, Germany', 'state': 'Bavaria'}, 'Remscheid': {'OSM relation': ['https://www.openstreetmap.org/relation/11799931'], 'country': 'DE', 'location': '51°11′N 7°12′E / 51.183°N 7.200°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Remscheid,+North+Rhine-Westphalia,+Germany'], 'osm_id': [11799931], 'pop_GHSL2023': 55548.23748469351, 'population': 111770, 'query': 'Remscheid, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Reutlingen': {'OSM relation': ['https://www.openstreetmap.org/relation/2772661'], 'country': 'DE', 'location': '48°29′N 9°13′E / 48.483°N 9.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Reutlingen,+Baden-Württemberg,+Germany'], 'osm_id': [2772661], 'pop_GHSL2023': 121992.67420992251, 'population': 116456, 'query': 'Reutlingen, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Rostock': {'OSM relation': ['https://www.openstreetmap.org/relation/62405'], 'country': 'DE', 'location': '54°5′N 12°8′E / 54.083°N 12.133°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rostock,+Mecklenburg-Vorpommern,+Germany'], 'osm_id': [62405], 'pop_GHSL2023': 180835.00286210616, 'population': 208400, 'query': 'Rostock, Mecklenburg-Vorpommern, Germany', 'state': 'Mecklenburg-Vorpommern'}, 'Saarbrücken': {'OSM relation': ['https://www.openstreetmap.org/relation/1187159'], 'country': 'DE', 'location': '49°14′N 7°0′E / 49.233°N 7.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Saarbrücken,+Saarland,+Germany'], 'osm_id': [1187159], 'pop_GHSL2023': 185580.33219028142, 'population': 179634, 'query': 'Saarbrücken, Saarland, Germany', 'state': 'Saarland'}, 'Salzgitter': {'OSM relation': ['https://www.openstreetmap.org/relation/62659'], 'country': 'DE', 'location': '52°9′N 10°20′E / 52.150°N 10.333°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Salzgitter,+Lower+Saxony,+Germany'], 'osm_id': [62659], 'pop_GHSL2023': 95014.67304599934, 'population': 103694, 'query': 'Salzgitter, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Siegen': {'OSM relation': ['https://www.openstreetmap.org/relation/163256'], 'country': 'DE', 'location': '50°53′N 8°1′E / 50.883°N 8.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Siegen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [163256], 'pop_GHSL2023': 111237.85921204832, 'population': 101516, 'query': 'Siegen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Solingen': {'OSM relation': ['https://www.openstreetmap.org/relation/62699'], 'country': 'DE', 'location': '51°10′N 7°5′E / 51.167°N 7.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Solingen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62699], 'pop_GHSL2023': 158327.46900320047, 'population': 158957, 'query': 'Solingen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Stuttgart': {'OSM relation': ['https://www.openstreetmap.org/relation/2793104'], 'country': 'DE', 'location': '48°47′N 9°11′E / 48.783°N 9.183°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Stuttgart,+Baden-Württemberg,+Germany'], 'osm_id': [2793104], 'pop_GHSL2023': 608298.9549454299, 'population': 626275, 'query': 'Stuttgart, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Trier': {'OSM relation': ['https://www.openstreetmap.org/relation/172679'], 'country': 'DE', 'location': '49°45′N 6°38′E / 49.750°N 6.633°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Trier,+Rhineland-Palatinate,+Germany'], 'osm_id': [172679], 'pop_GHSL2023': 124173.42026184776, 'population': 110570, 'query': 'Trier, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Ulm': {'OSM relation': ['https://www.openstreetmap.org/relation/62495'], 'country': 'DE', 'location': '48°24′N 9°59′E / 48.400°N 9.983°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ulm,+Baden-Württemberg,+Germany'], 'osm_id': [62495], 'pop_GHSL2023': 117743.99580718306, 'population': 126949, 'query': 'Ulm, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Wiesbaden': {'OSM relation': ['https://www.openstreetmap.org/relation/62496'], 'country': 'DE', 'location': '50°5′N 8°14′E / 50.083°N 8.233°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wiesbaden,+Hesse,+Germany'], 'osm_id': [62496], 'pop_GHSL2023': 297597.62034389994, 'population': 278950, 'query': 'Wiesbaden, Hesse, Germany', 'state': 'Hesse'}, 'Wolfsburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62418'], 'country': 'DE', 'location': '52°25′23″N 10°47′14″E / 52.42306°N 10.78722°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wolfsburg,+Lower+Saxony,+Germany'], 'osm_id': [62418], 'pop_GHSL2023': 114474.95202474817, 'population': 123949, 'query': 'Wolfsburg, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Wuppertal': {'OSM relation': ['https://www.openstreetmap.org/relation/62478'], 'country': 'DE', 'location': '51°16′N 7°11′E / 51.267°N 7.183°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wuppertal,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62478], 'pop_GHSL2023': 349787.26579546917, 'population': 354572, 'query': 'Wuppertal, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Würzburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62464'], 'country': 'DE', 'location': '49°47′N 9°56′E / 49.783°N 9.933°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Würzburg,+Bavaria,+Germany'], 'osm_id': [62464], 'pop_GHSL2023': 128355.29968417247, 'population': 126933, 'query': 'Würzburg, Bavaria, Germany', 'state': 'Bavaria'}}#
PLACES_SMALL = [('Adliswil', 'Adliswil, Bezirk Horgen, Zürich, Switzerland'), ('MissionTown', '团城山街道, Xialu, Hubei, China'), ('Scheveningen', 'Scheveningen, The Hague, Netherlands')]#
PLOT_SUFFIX = 'pdf'#
RESULTS_DIR = '/home/runner/work/superblockify/superblockify/data/results'#
TEST_DATA_PATH = '/home/runner/work/superblockify/superblockify/superblockify/../tests/test_data'#
V_MAX_LTN = 15.0#
V_MAX_SPARSE = 50.0#
WORK_DIR = '/home/runner/work/superblockify/superblockify'#
file = <_io.TextIOWrapper name='/home/runner/work/superblockify/superblockify/superblockify/cities.yml' mode='r' encoding='utf-8'>#
places = {'place_lists': {'100_cities_boeing': {'cities': {'Amsterdam': {'OSM relation': ['https://www.openstreetmap.org/relation/271110'], 'P 4w': 0.205, 'P de': 0.146, 'circuity_avg': 1.08, 'country': 'NL', 'k_avg': 2.897, 'median_segment_length': 65.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Amsterdam,+North+Holland,+Netherlands'], 'orient_order': 0.071, 'osm_id': [271110], 'pop_GHSL2023': 818407.499844633, 'query': 'Amsterdam, North Holland, Netherlands', 'region': 'EU', o': 3.504, w': 3.488}, 'Athens': {'OSM relation': ['https://www.openstreetmap.org/relation/1370736'], 'P 4w': 0.363, 'P de': 0.056, 'circuity_avg': 1.019, 'country': 'GR', 'k_avg': 3.245, 'median_segment_length': 55.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Municipality+of+Athens,+Regional+Unit+of+Central+Athens,+Attica,+Greece'], 'orient_order': 0.041, 'osm_id': [1370736], 'pop_GHSL2023': 613633.1565856932, 'query': 'Municipality of Athens, Regional Unit of Central Athens, Attica, Greece', 'region': 'EU', o': 3.538, w': 3.532}, 'Atlanta': {'OSM relation': ['https://www.openstreetmap.org/relation/119557'], 'P 4w': 0.153, 'P de': 0.164, 'circuity_avg': 1.074, 'country': 'US-GA', 'k_avg': 2.806, 'median_segment_length': 112.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Atlanta,+Fulton+County,+Georgia,+United+States'], 'orient_order': 0.315, 'osm_id': [119557], 'pop_GHSL2023': 517627.27642059315, 'query': 'Atlanta, Fulton County, Georgia, United States', 'region': 'NAM', o': 3.204, w': 3.197}, 'Baghdad': {'OSM relation': ['https://www.openstreetmap.org/relation/5638803'], 'P 4w': 0.144, 'P de': 0.05, 'circuity_avg': 1.033, 'country': 'IQ', 'k_avg': 3.043, 'median_segment_length': 68.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Baghdad,+Baghdad+Governorate,+Iraq'], 'orient_order': 0.083, 'osm_id': [5638803], 'pop_GHSL2023': 6338692.7509337645, 'query': 'Baghdad, Baghdad Governorate, Iraq', 'region': 'MEA', o': 3.49, w': 3.498}, 'Baltimore': {'OSM relation': ['https://www.openstreetmap.org/relation/133345'], 'P 4w': 0.36, 'P de': 0.085, 'circuity_avg': 1.036, 'country': 'US-MD', 'k_avg': 3.182, 'median_segment_length': 100.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Baltimore,+Maryland,+United+States'], 'orient_order': 0.223, 'osm_id': [133345], 'pop_GHSL2023': 628695.3598501991, 'query': 'Baltimore, Maryland, United States', 'region': 'NAM', o': 3.324, w': 3.367}, 'Bangkok': {'OSM relation': ['https://www.openstreetmap.org/relation/92277'], 'P 4w': 0.108, 'P de': 0.36, 'circuity_avg': 1.059, 'country': 'TH', 'k_avg': 2.385, 'median_segment_length': 64.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=TH-10,+Thailand'], 'orient_order': 0.105, 'osm_id': [92277], 'pop_GHSL2023': 12342851.661893278, 'query': 'TH-10, Thailand', 'region': 'A&O', o': 3.465, w': 3.452}, 'Barcelona': {'OSM relation': ['https://www.openstreetmap.org/relation/2417889'], 'P 4w': 0.303, 'P de': 0.078, 'circuity_avg': 1.052, 'country': 'ES', 'k_avg': 3.135, 'median_segment_length': 78.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Barcelonès,+Barcelona,+Catalonia,+Spain'], 'orient_order': 0.108, 'osm_id': [2417889], 'pop_GHSL2023': 2463690.163737535, 'query': 'Barcelonès, Barcelona, Catalonia, Spain', 'region': 'EU', o': 3.462, w': 3.46}, 'Beijing': {'OSM relation': ['https://www.openstreetmap.org/relation/912940'], 'P 4w': 0.241, 'P de': 0.135, 'circuity_avg': 1.053, 'country': 'CN', 'k_avg': 2.985, 'median_segment_length': 177.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=CN-BJ,+China'], 'orient_order': 0.335, 'osm_id': [912940], 'pop_GHSL2023': 24149290.576004617, 'query': 'CN-BJ, China', 'region': 'A&O', o': 3.177, w': 3.206}, 'Beirut': {'OSM relation': ['https://www.openstreetmap.org/relation/316552'], 'P 4w': 0.218, 'P de': 0.072, 'circuity_avg': 1.026, 'country': 'LB', 'k_avg': 3.061, 'median_segment_length': 63.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Beirut+Governorate,+Lebanon'], 'orient_order': 0.206, 'osm_id': [316552], 'pop_GHSL2023': 354208.8213920592, 'query': 'Beirut Governorate, Lebanon', 'region': 'MEA', o': 3.344, w': 3.308}, 'Berlin': {'OSM relation': ['https://www.openstreetmap.org/relation/62422'], 'P 4w': 0.259, 'P de': 0.118, 'circuity_avg': 1.04, 'country': 'DE', 'k_avg': 3.002, 'median_segment_length': 113.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Berlin,+Germany'], 'orient_order': 0.011, 'osm_id': [62422], 'pop_GHSL2023': 3524738.8939121147, 'query': 'Berlin, Germany', 'region': 'EU', o': 3.572, w': 3.57}, 'Bogota': {'OSM relation': ['https://www.openstreetmap.org/relation/7426387'], 'P 4w': 0.234, 'P de': 0.122, 'circuity_avg': 1.044, 'country': 'CO', 'k_avg': 2.977, 'median_segment_length': 58.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bogota,+Bogota+Capital+District+-+Municipality,+RAP+(Especial)+Central,+Colombia'], 'orient_order': 0.04, 'osm_id': [7426387], 'pop_GHSL2023': 8899793.370068071, 'query': 'Bogota, Bogota Capital District - Municipality, RAP (Especial) Central, Colombia', 'region': 'LatAm', o': 3.539, w': 3.529}, 'Boston': {'OSM relation': ['https://www.openstreetmap.org/relation/2315704'], 'P 4w': 0.211, 'P de': 0.135, 'circuity_avg': 1.039, 'country': 'US-MA', 'k_avg': 2.945, 'median_segment_length': 77.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Boston,+Suffolk+County,+Massachusetts,+United+States'], 'orient_order': 0.026, 'osm_id': [2315704], 'pop_GHSL2023': 613869.7221977434, 'query': 'Boston, Suffolk County, Massachusetts, United States', 'region': 'NAM', o': 3.554, w': 3.552}, 'Budapest': {'OSM relation': ['https://www.openstreetmap.org/relation/37244'], 'P 4w': 0.231, 'P de': 0.096, 'circuity_avg': 1.032, 'country': 'HU', 'k_avg': 3.037, 'median_segment_length': 93.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Budapest,+Central+Hungary,+Hungary'], 'orient_order': 0.05, 'osm_id': [37244], 'pop_GHSL2023': 1835722.523857839, 'query': 'Budapest, Central Hungary, Hungary', 'region': 'EU', o': 3.528, w': 3.516}, 'Buenos Aires': {'OSM relation': ['https://www.openstreetmap.org/relation/1224652'], 'P 4w': 0.576, 'P de': 0.027, 'circuity_avg': 1.011, 'country': 'AR', 'k_avg': 3.548, 'median_segment_length': 104.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Autonomous+City+of+Buenos+Aires,+Argentina'], 'orient_order': 0.151, 'osm_id': [1224652], 'pop_GHSL2023': 2711340.2666851874, 'query': 'Autonomous City of Buenos Aires, Argentina', 'region': 'LatAm', o': 3.411, w': 3.423}, 'Cairo': {'OSM relation': ['https://www.openstreetmap.org/relation/5466227'], 'P 4w': 0.171, 'P de': 0.085, 'circuity_avg': 1.067, 'country': 'EG', 'k_avg': 2.996, 'median_segment_length': 66.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cairo,+Egypt'], 'orient_order': 0.041, 'osm_id': [5466227], 'pop_GHSL2023': 9149031.085013825, 'query': 'Cairo, Egypt', 'region': 'MEA', o': 3.538, w': 3.526}, 'Cape Town': {'OSM relation': ['https://www.openstreetmap.org/relation/79604'], 'P 4w': 0.162, 'P de': 0.183, 'circuity_avg': 1.102, 'country': 'ZA', 'k_avg': 2.793, 'median_segment_length': 75.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Cape+Town,+Western+Cape,+8001,+South+Africa'], 'orient_order': 0.025, 'osm_id': [79604], 'pop_GHSL2023': 5052916.481144726, 'query': 'City of Cape Town, Western Cape, 8001, South Africa', 'region': 'MEA', o': 3.556, w': 3.553}, 'Caracas': {'OSM relation': ['https://www.openstreetmap.org/relation/11219583'], 'P 4w': 0.145, 'P de': 0.217, 'circuity_avg': 1.148, 'country': 'VE', 'k_avg': 2.71, 'median_segment_length': 95.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Caracas,+Venezuela'], 'orient_order': 0.029, 'osm_id': [11219583], 'pop_GHSL2023': 2668989.406249012, 'query': 'Caracas, Venezuela', 'region': 'LatAm', o': 3.551, w': 3.564}, 'Casablanca': {'OSM relation': ['https://www.openstreetmap.org/relation/4072985'], 'P 4w': 0.178, 'P de': 0.08, 'circuity_avg': 1.048, 'country': 'MA', 'k_avg': 3.026, 'median_segment_length': 48.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Casablanca,+Casablanca-Settat,+Morocco'], 'orient_order': 0.094, 'osm_id': [4072985], 'pop_GHSL2023': 3387477.14780569, 'query': 'Casablanca, Casablanca-Settat, Morocco', 'region': 'MEA', o': 3.477, w': 3.461}, 'Charlotte': {'OSM relation': ['https://www.openstreetmap.org/relation/177415'], 'P 4w': 0.139, 'P de': 0.288, 'circuity_avg': 1.067, 'country': 'US-NC', 'k_avg': 2.546, 'median_segment_length': 117.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Charlotte,+Mecklenburg+County,+North+Carolina,+United+States'], 'orient_order': 0.002, 'osm_id': [177415], 'pop_GHSL2023': 829529.5766545291, 'query': 'Charlotte, Mecklenburg County, North Carolina, United States', 'region': 'NAM', o': 3.582, w': 3.581}, 'Chicago': {'OSM relation': ['https://www.openstreetmap.org/relation/122604'], 'P 4w': 0.507, 'P de': 0.074, 'circuity_avg': 1.016, 'country': 'US-IL', 'k_avg': 3.343, 'median_segment_length': 105.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Chicago,+Cook+County,+Illinois,+United+States'], 'orient_order': 0.899, 'osm_id': [122604], 'pop_GHSL2023': 2640668.741081328, 'query': 'Chicago, Cook County, Illinois, United States', 'region': 'NAM', o': 2.083, w': 2.103}, 'Cleveland': {'OSM relation': ['https://www.openstreetmap.org/relation/182130'], 'P 4w': 0.198, 'P de': 0.091, 'circuity_avg': 1.029, 'country': 'US-OH', 'k_avg': 2.979, 'median_segment_length': 103.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cleveland,+Cuyahoga+County,+Ohio,+United+States'], 'orient_order': 0.486, 'osm_id': [182130], 'pop_GHSL2023': 365347.62727096665, 'query': 'Cleveland, Cuyahoga County, Ohio, United States', 'region': 'NAM', o': 2.961, w': 2.899}, 'Copenhagen': {'OSM relation': ['https://www.openstreetmap.org/relation/2192363', 'https://www.openstreetmap.org/relation/2186660'], 'P 4w': 0.194, 'P de': 0.146, 'circuity_avg': 1.048, 'country': 'DK', 'k_avg': 2.881, 'median_segment_length': 78.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Københavns+Kommune,+Denmark', 'https://nominatim.openstreetmap.org/ui/search.html?q=Frederiksberg+Kommune,+Denmark'], 'orient_order': 0.029, 'osm_id': [2192363, 2186660], 'pop_GHSL2023': 764718.588683754, 'query': ['Københavns Kommune, Denmark', 'Frederiksberg Kommune, Denmark'], 'region': 'EU', o': 3.552, w': 3.551}, 'Dallas': {'OSM relation': ['https://www.openstreetmap.org/relation/6571629'], 'P 4w': 0.317, 'P de': 0.091, 'circuity_avg': 1.042, 'country': 'US-TX', 'k_avg': 3.12, 'median_segment_length': 106.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dallas,+Dallas+County,+Texas,+United+States'], 'orient_order': 0.305, 'osm_id': [6571629], 'pop_GHSL2023': 1472292.9103196533, 'query': 'Dallas, Dallas County, Texas, United States', 'region': 'NAM', o': 3.218, w': 3.182}, 'Damascus': {'OSM relation': ['https://www.openstreetmap.org/relation/7328462'], 'P 4w': 0.107, 'P de': 0.146, 'circuity_avg': 1.085, 'country': 'SY', 'k_avg': 2.801, 'median_segment_length': 65.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Damascus+Governorate,+Syria'], 'orient_order': 0.043, 'osm_id': [7328462], 'pop_GHSL2023': 2160242.529167125, 'query': 'Damascus Governorate, Syria', 'region': 'MEA', o': 3.536, w': 3.525}, 'Denver': {'OSM relation': ['https://www.openstreetmap.org/relation/1411339'], 'P 4w': 0.416, 'P de': 0.071, 'circuity_avg': 1.031, 'country': 'US-CO', 'k_avg': 3.249, 'median_segment_length': 102.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Denver,+Colorado,+United+States'], 'orient_order': 0.678, 'osm_id': [1411339], 'pop_GHSL2023': 675848.2442275502, 'query': 'Denver, Colorado, United States', 'region': 'NAM', o': 2.634, w': 2.571}, 'Detroit': {'OSM relation': ['https://www.openstreetmap.org/relation/134591'], 'P 4w': 0.482, 'P de': 0.053, 'circuity_avg': 1.012, 'country': 'US-MI', 'k_avg': 3.352, 'median_segment_length': 101.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Detroit,+Wayne+County,+Michigan,+United+States'], 'orient_order': 0.582, 'osm_id': [134591], 'pop_GHSL2023': 658243.4261336921, 'query': 'Detroit, Wayne County, Michigan, United States', 'region': 'NAM', o': 2.807, w': 2.718}, 'Dubai': {'OSM relation': ['https://www.openstreetmap.org/relation/4479752'], 'P 4w': 0.073, 'P de': 0.074, 'circuity_avg': 1.087, 'country': 'AE', 'k_avg': 2.925, 'median_segment_length': 79.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dubai,+United+Arab+Emirates'], 'orient_order': 0.031, 'osm_id': [4479752], 'pop_GHSL2023': 3122371.0558517794, 'query': 'Dubai, United Arab Emirates', 'region': 'MEA', o': 3.55, w': 3.529}, 'Dublin': {'OSM relation': ['https://www.openstreetmap.org/relation/1109531'], 'P 4w': 0.068, 'P de': 0.279, 'circuity_avg': 1.061, 'country': 'IE', 'k_avg': 2.492, 'median_segment_length': 71.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dublin,+Dublin+1,+Leinster,+Ireland'], 'orient_order': 0.024, 'osm_id': [1109531], 'pop_GHSL2023': 554085.2711834605, 'query': 'Dublin, Dublin 1, Leinster, Ireland', 'region': 'EU', o': 3.557, w': 3.541}, 'Glasgow': {'OSM relation': ['https://www.openstreetmap.org/relation/1906767'], 'P 4w': 0.109, 'P de': 0.238, 'circuity_avg': 1.079, 'country': 'GB', 'k_avg': 2.62, 'median_segment_length': 72.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Glasgow+City,+Scotland,+G2+1DY,+United+Kingdom'], 'orient_order': 0.047, 'osm_id': [1906767], 'pop_GHSL2023': 582972.040480375, 'query': 'Glasgow City, Scotland, G2 1DY, United Kingdom', 'region': 'EU', o': 3.531, w': 3.513}, 'Hanoi': {'OSM relation': ['https://www.openstreetmap.org/relation/1903516'], 'P 4w': 0.102, 'P de': 0.246, 'circuity_avg': 1.065, 'country': 'VN', 'k_avg': 2.61, 'median_segment_length': 64.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hà+Nội,+Vietnam'], 'orient_order': 0.01, 'osm_id': [1903516], 'pop_GHSL2023': 7412688.725904138, 'query': 'Hà Nội, Vietnam', 'region': 'A&O', o': 3.573, w': 3.572}, 'Havana': {'OSM relation': ['https://www.openstreetmap.org/relation/1854615'], 'P 4w': 0.357, 'P de': 0.118, 'circuity_avg': 1.04, 'country': 'CU', 'k_avg': 3.13, 'median_segment_length': 86.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=CU-03,+Cuba'], 'orient_order': 0.029, 'osm_id': [1854615], 'pop_GHSL2023': 2078137.1455927053, 'query': 'CU-03, Cuba', 'region': 'LatAm', o': 3.551, w': 3.552}, 'Helsinki': {'OSM relation': ['https://www.openstreetmap.org/relation/34914'], 'P 4w': 0.134, 'P de': 0.395, 'circuity_avg': 1.063, 'country': 'FI', 'k_avg': 2.348, 'median_segment_length': 42.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Helsinki,+Helsinki+sub-region,+Uusimaa,+Southern+Finland,+Mainland+Finland,+Finland'], 'orient_order': 0.006, 'osm_id': [34914], 'pop_GHSL2023': 640938.2250840327, 'query': 'Helsinki, Helsinki sub-region, Uusimaa, Southern Finland, Mainland Finland, Finland', 'region': 'EU', o': 3.577, w': 3.571}, 'Hong Kong': {'OSM relation': ['https://www.openstreetmap.org/relation/10264792'], 'P 4w': 0.174, 'P de': 0.114, 'circuity_avg': 1.137, 'country': 'HK', 'k_avg': 2.932, 'median_segment_length': 61.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hong+Kong+Island,+Hong+Kong,+China'], 'orient_order': 0.012, 'osm_id': [10264792], 'pop_GHSL2023': 1220949.8235658924, 'query': 'Hong Kong Island, Hong Kong, China', 'region': 'A&O', o': 3.571, w': 3.563}, 'Honolulu': {'OSM relation': ['https://www.openstreetmap.org/relation/119231'], 'P 4w': 0.185, 'P de': 0.252, 'circuity_avg': 1.073, 'country': 'US-HI', 'k_avg': 2.681, 'median_segment_length': 101.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=R119231'], 'orient_order': 0.034, 'osm_id': [119231], 'pop_GHSL2023': 404124.8977179931, 'query': 119231, 'region': 'NAM', o': 3.545, w': 3.55}, 'Houston': {'OSM relation': ['https://www.openstreetmap.org/relation/2688911', 'https://www.openstreetmap.org/relation/6586766', 'https://www.openstreetmap.org/relation/2947146', 'https://www.openstreetmap.org/relation/2947144', 'https://www.openstreetmap.org/relation/2947142', 'https://www.openstreetmap.org/relation/2947138', 'https://www.openstreetmap.org/relation/2947141', 'https://www.openstreetmap.org/relation/2947143', 'https://www.openstreetmap.org/relation/2947145', 'https://www.openstreetmap.org/relation/2947140', 'https://www.openstreetmap.org/relation/2947137', 'https://www.openstreetmap.org/relation/2947139', 'https://www.openstreetmap.org/relation/4840276'], 'P 4w': 0.307, 'P de': 0.127, 'circuity_avg': 1.045, 'country': 'US-TX', 'k_avg': 3.027, 'median_segment_length': 96.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Houston,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Bellaire,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=West+University+Place,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Southside+Place,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Jacinto+City,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Galena+Park,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hunters+Creek+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Piney+Point+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Spring+Valley,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hilshire+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Bunker+Hill+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Hedwig+Village,+Harris+County,+Texas,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Jersey+Village,+Harris+County,+Texas,+United+States'], 'orient_order': 0.425, 'osm_id': [2688911, 6586766, 2947146, 2947144, 2947142, 2947138, 2947141, 2947143, 2947145, 2947140, 2947137, 2947139, 4840276], 'pop_GHSL2023': 2780403.3394391406, 'query': ['Houston, Harris County, Texas, United States', 'Bellaire, Harris County, Texas, United States', 'West University Place, Harris County, Texas, United States', 'Southside Place, Harris County, Texas, United States', 'Jacinto City, Harris County, Texas, United States', 'Galena Park, Harris County, Texas, United States', 'Hunters Creek Village, Harris County, Texas, United States', 'Piney Point Village, Harris County, Texas, United States', 'Spring Valley, Harris County, Texas, United States', 'Hilshire Village, Harris County, Texas, United States', 'Bunker Hill Village, Harris County, Texas, United States', 'Hedwig Village, Harris County, Texas, United States', 'Jersey Village, Harris County, Texas, United States'], 'region': 'NAM', o': 3.052, w': 3.006}, 'Istanbul': {'OSM relation': ['https://www.openstreetmap.org/relation/223474'], 'P 4w': 0.174, 'P de': 0.093, 'circuity_avg': 1.059, 'country': 'TR', 'k_avg': 2.998, 'median_segment_length': 50.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=TR-34,+Turkey'], 'orient_order': 0.007, 'osm_id': [223474], 'pop_GHSL2023': 14243965.122489264, 'query': 'TR-34, Turkey', 'region': 'MEA', o': 3.576, w': 3.574}, 'Jakarta': {'OSM relation': ['https://www.openstreetmap.org/relation/6362934'], 'P 4w': 0.096, 'P de': 0.175, 'circuity_avg': 1.065, 'country': 'ID', 'k_avg': 2.741, 'median_segment_length': 52.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Special+Capital+Region+of+Jakarta,+Java,+Indonesia'], 'orient_order': 0.167, 'osm_id': [6362934], 'pop_GHSL2023': 11342187.842398439, 'query': 'Special Capital Region of Jakarta, Java, Indonesia', 'region': 'A&O', o': 3.391, w': 3.347}, 'Jerusalem': {'OSM relation': ['https://www.openstreetmap.org/relation/1381350'], 'P 4w': 0.109, 'P de': 0.18, 'circuity_avg': 1.092, 'country': 'IL', 'k_avg': 2.735, 'median_segment_length': 44.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Jerusalem,+Jerusalem+District,+Israel'], 'orient_order': 0.014, 'osm_id': [1381350], 'pop_GHSL2023': 1253649.2788656482, 'query': 'Jerusalem, Jerusalem District, Israel', 'region': 'MEA', o': 3.568, w': 3.562}, 'Johannesburg': {'OSM relation': ['https://www.openstreetmap.org/relation/594508'], 'P 4w': 0.182, 'P de': 0.158, 'circuity_avg': 1.098, 'country': 'ZA', 'k_avg': 2.865, 'median_segment_length': 88.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Johannesburg+Metropolitan+Municipality,+2001,+South+Africa'], 'orient_order': 0.019, 'osm_id': [594508], 'pop_GHSL2023': 6409611.695537722, 'query': 'City of Johannesburg Metropolitan Municipality, 2001, South Africa', 'region': 'MEA', o': 3.562, w': 3.556}, 'Kabul': {'OSM relation': ['https://www.openstreetmap.org/relation/6616233'], 'P 4w': 0.13, 'P de': 0.226, 'circuity_avg': 1.062, 'country': 'AF', 'k_avg': 2.673, 'median_segment_length': 79.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kabul+District,+Kabul+Province,+Afghanistan'], 'orient_order': 0.076, 'osm_id': [6616233], 'pop_GHSL2023': 5656560.564128555, 'query': 'Kabul District, Kabul Province, Afghanistan', 'region': 'A&O', o': 3.499, w': 3.51}, 'Karachi': {'OSM relation': ['https://www.openstreetmap.org/relation/6080948'], 'P 4w': 0.216, 'P de': 0.095, 'circuity_avg': 1.032, 'country': 'PK', 'k_avg': 3.027, 'median_segment_length': 71.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Karachi+Division,+Sindh,+Pakistan'], 'orient_order': 0.088, 'osm_id': [6080948], 'pop_GHSL2023': 21243358.03043522, 'query': 'Karachi Division, Sindh, Pakistan', 'region': 'A&O', o': 3.485, w': 3.493}, 'Kathmandu': {'OSM relation': ['https://www.openstreetmap.org/relation/4583247'], 'P 4w': 0.089, 'P de': 0.234, 'circuity_avg': 1.071, 'country': 'NP', 'k_avg': 2.595, 'median_segment_length': 63.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kathmandu,+Bagmati+Pradesh,+Nepal'], 'orient_order': 0.054, 'osm_id': [4583247], 'pop_GHSL2023': 3008734.5134922313, 'query': 'Kathmandu, Bagmati Pradesh, Nepal', 'region': 'A&O', o': 3.523, w': 3.5}, 'Kiev': {'OSM relation': ['https://www.openstreetmap.org/relation/421866'], 'P 4w': 0.16, 'P de': 0.164, 'circuity_avg': 1.053, 'country': 'UA', 'k_avg': 2.813, 'median_segment_length': 125.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kyiv,+Ukraine'], 'orient_order': 0.014, 'osm_id': [421866], 'pop_GHSL2023': 2552854.8664907534, 'query': 'Kyiv, Ukraine', 'region': 'EU', o': 3.568, w': 3.554}, 'Kyoto': {'OSM relation': ['https://www.openstreetmap.org/relation/357794'], 'P 4w': 0.157, 'P de': 0.134, 'circuity_avg': 1.09, 'country': 'JP', 'k_avg': 2.887, 'median_segment_length': 49.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kyoto,+Kyoto+Prefecture,+Japan'], 'orient_order': 0.357, 'osm_id': [357794], 'pop_GHSL2023': 1270597.194326272, 'query': 'Kyoto, Kyoto Prefecture, Japan', 'region': 'A&O', o': 3.148, w': 3.229}, 'Lagos': {'OSM relation': ['https://www.openstreetmap.org/relation/7644528'], 'P 4w': 0.07, 'P de': 0.223, 'circuity_avg': 1.048, 'country': 'NG', 'k_avg': 2.619, 'median_segment_length': 87.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lagos+Island,+Lagos+State,+Nigeria'], 'orient_order': 0.039, 'osm_id': [7644528], 'pop_GHSL2023': 119799.5473861694, 'query': 'Lagos Island, Lagos State, Nigeria', 'region': 'MEA', o': 3.54, w': 3.521}, 'Las Vegas': {'OSM relation': ['https://www.openstreetmap.org/relation/170117', 'https://www.openstreetmap.org/relation/170118', 'https://www.openstreetmap.org/relation/170116', 'https://www.openstreetmap.org/relation/170007', 'https://www.openstreetmap.org/relation/170049', 'https://www.openstreetmap.org/relation/170053', 'https://www.openstreetmap.org/relation/170068', 'https://www.openstreetmap.org/relation/170132'], 'P 4w': 0.166, 'P de': 0.23, 'circuity_avg': 1.079, 'country': 'US-NV', 'k_avg': 2.676, 'median_segment_length': 86.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Las+Vegas,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=North+Las+Vegas,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Henderson,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Winchester,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Spring+Valley,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Paradise,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Sunrise+Manor,+Clark+County,+Nevada,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Enterprise,+Clark+County,+Nevada,+United+States'], 'orient_order': 0.542, 'osm_id': [170117, 170118, 170116, 170007, 170049, 170053, 170068, 170132], 'pop_GHSL2023': 2451129.123220173, 'query': ['Las Vegas, Clark County, Nevada, United States', 'North Las Vegas, Clark County, Nevada, United States', 'Henderson, Clark County, Nevada, United States', 'Winchester, Clark County, Nevada, United States', 'Spring Valley, Clark County, Nevada, United States', 'Paradise, Clark County, Nevada, United States', 'Sunrise Manor, Clark County, Nevada, United States', 'Enterprise, Clark County, Nevada, United States'], 'region': 'NAM', o': 2.874, w': 2.775}, 'Lima': {'OSM relation': ['https://www.openstreetmap.org/relation/12933390'], 'P 4w': 0.331, 'P de': 0.04, 'circuity_avg': 1.017, 'country': 'PE', 'k_avg': 3.161, 'median_segment_length': 76.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lima+Metropolitan+Area,+Lima,+Peru'], 'orient_order': 0.278, 'osm_id': [12933390], 'pop_GHSL2023': 10924814.244125538, 'query': 'Lima Metropolitan Area, Lima, Peru', 'region': 'LatAm', o': 3.254, w': 3.228}, 'Lisbon': {'OSM relation': ['https://www.openstreetmap.org/relation/5400890'], 'P 4w': 0.154, 'P de': 0.108, 'circuity_avg': 1.068, 'country': 'PT', 'k_avg': 2.923, 'median_segment_length': 60.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lisbon,+Portugal'], 'orient_order': 0.023, 'osm_id': [5400890], 'pop_GHSL2023': 564066.0386443137, 'query': 'Lisbon, Portugal', 'region': 'EU', o': 3.558, w': 3.546}, 'London': {'OSM relation': ['https://www.openstreetmap.org/relation/175342'], 'P 4w': 0.07, 'P de': 0.251, 'circuity_avg': 1.061, 'country': 'GB', 'k_avg': 2.561, 'median_segment_length': 70.3, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Greater+London,+England,+United+Kingdom'], 'orient_order': 0.015, 'osm_id': [175342], 'pop_GHSL2023': 9734682.771514352, 'query': 'Greater London, England, United Kingdom', 'region': 'EU', o': 3.566, w': 3.564}, 'Los Angeles': {'OSM relation': ['https://www.openstreetmap.org/relation/396479'], 'P 4w': 0.273, 'P de': 0.171, 'circuity_avg': 1.048, 'country': 'US-CA', 'k_avg': 2.911, 'median_segment_length': 109.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Los+Angeles+County,+California,+United+States'], 'orient_order': 0.348, 'osm_id': [396479], 'pop_GHSL2023': 10131722.735823404, 'query': 'Los Angeles County, California, United States', 'region': 'NAM', o': 3.161, w': 3.145}, 'Madrid': {'OSM relation': ['https://www.openstreetmap.org/relation/5326784'], 'P 4w': 0.21, 'P de': 0.065, 'circuity_avg': 1.05, 'country': 'ES', 'k_avg': 3.079, 'median_segment_length': 62.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Madrid,+Community+of+Madrid,+Spain'], 'orient_order': 0.019, 'osm_id': [5326784], 'pop_GHSL2023': 3797206.0047106226, 'query': 'Madrid, Community of Madrid, Spain', 'region': 'EU', o': 3.562, w': 3.553}, 'Manhattan': {'OSM relation': ['https://www.openstreetmap.org/relation/8398124'], 'P 4w': 0.572, 'P de': 0.027, 'circuity_avg': 1.017, 'country': 'US-NY', 'k_avg': 3.508, 'median_segment_length': 82.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Manhattan,+New+York+County,+New+York,+United+States'], 'orient_order': 0.669, 'osm_id': [8398124], 'pop_GHSL2023': 1658451.516783237, 'query': 'Manhattan, New York County, New York, United States', 'region': 'NAM', o': 2.65, w': 2.571}, 'Manila': {'OSM relation': ['https://www.openstreetmap.org/relation/147488'], 'P 4w': 0.347, 'P de': 0.095, 'circuity_avg': 1.023, 'country': 'PH', 'k_avg': 3.141, 'median_segment_length': 63.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Metro+Manila,+Philippines'], 'orient_order': 0.062, 'osm_id': [147488], 'pop_GHSL2023': 13751861.781497028, 'query': 'Metro Manila, Philippines', 'region': 'A&O', o': 3.514, w': 3.484}, 'Melbourne': {'OSM relation': ['https://www.openstreetmap.org/relation/4246124'], 'P 4w': 0.332, 'P de': 0.06, 'circuity_avg': 1.037, 'country': 'AU', 'k_avg': 3.16, 'median_segment_length': 51.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Greater+Melbourne,+Victoria,+Australia'], 'orient_order': 0.34, 'osm_id': [4246124], 'pop_GHSL2023': 5378918.1597416485, 'query': 'Greater Melbourne, Victoria, Australia', 'region': 'A&O', o': 3.172, w': 3.203}, 'Mexico City': {'OSM relation': ['https://www.openstreetmap.org/relation/1376330'], 'P 4w': 0.264, 'P de': 0.146, 'circuity_avg': 1.043, 'country': 'MX', 'k_avg': 2.977, 'median_segment_length': 69.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mexico+City,+Mexico'], 'orient_order': 0.154, 'osm_id': [1376330], 'pop_GHSL2023': 7649332.880559048, 'query': 'Mexico City, Mexico', 'region': 'LatAm', o': 3.408, w': 3.406}, 'Miami': {'OSM relation': ['https://www.openstreetmap.org/relation/1216769'], 'P 4w': 0.407, 'P de': 0.069, 'circuity_avg': 1.023, 'country': 'US-FL', 'k_avg': 3.236, 'median_segment_length': 96.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Miami,+Miami-Dade+County,+Florida,+United+States'], 'orient_order': 0.811, 'osm_id': [1216769], 'pop_GHSL2023': 401627.16193004296, 'query': 'Miami, Miami-Dade County, Florida, United States', 'region': 'NAM', o': 2.341, w': 2.291}, 'Minneapolis': {'OSM relation': ['https://www.openstreetmap.org/relation/136712'], 'P 4w': 0.521, 'P de': 0.053, 'circuity_avg': 1.023, 'country': 'US-MN', 'k_avg': 3.393, 'median_segment_length': 115.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Minneapolis,+Hennepin+County,+Minnesota,+United+States'], 'orient_order': 0.749, 'osm_id': [136712], 'pop_GHSL2023': 375276.78887844074, 'query': 'Minneapolis, Hennepin County, Minnesota, United States', 'region': 'NAM', o': 2.486, w': 2.464}, 'Mogadishu': {'OSM relation': ['https://www.openstreetmap.org/relation/1720125'], 'P 4w': 0.472, 'P de': 0.055, 'circuity_avg': 1.019, 'country': 'SO', 'k_avg': 3.346, 'median_segment_length': 39.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mogadishu+District,+Banaadir,+Somalia'], 'orient_order': 0.375, 'osm_id': [1720125], 'pop_GHSL2023': 3867823.297230401, 'query': 'Mogadishu District, Banaadir, Somalia', 'region': 'MEA', o': 3.123, w': 3.292}, 'Montreal': {'OSM relation': ['https://www.openstreetmap.org/relation/1571328'], 'P 4w': 0.344, 'P de': 0.051, 'circuity_avg': 1.057, 'country': 'CA-QC', 'k_avg': 3.239, 'median_segment_length': 87.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Montreal+(administrative+region),+Quebec,+Canada'], 'orient_order': 0.204, 'osm_id': [1571328], 'pop_GHSL2023': 1972042.624127009, 'query': 'Montreal (administrative region), Quebec, Canada', 'region': 'NAM', o': 3.346, w': 3.332}, 'Moscow': {'OSM relation': ['https://www.openstreetmap.org/relation/2555133'], 'P 4w': 0.17, 'P de': 0.074, 'circuity_avg': 1.055, 'country': 'RU', 'k_avg': 2.999, 'median_segment_length': 130.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Moscow,+Central+Federal+District,+Russia'], 'orient_order': 0.007, 'osm_id': [2555133], 'pop_GHSL2023': 12023201.84294212, 'query': 'Moscow, Central Federal District, Russia', 'region': 'EU', o': 3.576, w': 3.573}, 'Mumbai': {'OSM relation': ['https://www.openstreetmap.org/relation/7888990'], 'P 4w': 0.136, 'P de': 0.211, 'circuity_avg': 1.081, 'country': 'IN', 'k_avg': 2.705, 'median_segment_length': 68.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mumbai,+Mumbai+Suburban,+Maharashtra,+India'], 'orient_order': 0.075, 'osm_id': [7888990], 'pop_GHSL2023': 14523039.176669551, 'query': 'Mumbai, Mumbai Suburban, Maharashtra, India', 'region': 'A&O', o': 3.499, w': 3.476}, 'Munich': {'OSM relation': ['https://www.openstreetmap.org/relation/62428'], 'P 4w': 0.2, 'P de': 0.099, 'circuity_avg': 1.046, 'country': 'DE', 'k_avg': 2.958, 'median_segment_length': 96.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Munich,+Bavaria,+Germany'], 'orient_order': 0.078, 'osm_id': [62428], 'pop_GHSL2023': 1552833.6185131217, 'query': 'Munich, Bavaria, Germany', 'region': 'EU', o': 3.496, w': 3.482}, 'Nairobi': {'OSM relation': ['https://www.openstreetmap.org/relation/9721587'], 'P 4w': 0.075, 'P de': 0.279, 'circuity_avg': 1.083, 'country': 'KE', 'k_avg': 2.506, 'median_segment_length': 91.8, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Nairobi,+Nairobi+County,+Kenya'], 'orient_order': 0.014, 'osm_id': [9721587], 'pop_GHSL2023': 5838242.6927329, 'query': 'Nairobi, Nairobi County, Kenya', 'region': 'MEA', o': 3.568, w': 3.556}, 'New Delhi': {'OSM relation': ['https://www.openstreetmap.org/relation/2763541'], 'P 4w': 0.119, 'P de': 0.197, 'circuity_avg': 1.083, 'country': 'IN', 'k_avg': 2.696, 'median_segment_length': 62.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=New+Delhi,+Delhi,+India'], 'orient_order': 0.062, 'osm_id': [2763541], 'pop_GHSL2023': 1203942.1327352521, 'query': 'New Delhi, Delhi, India', 'region': 'A&O', o': 3.515, w': 3.491}, 'New Orleans': {'OSM relation': ['https://www.openstreetmap.org/relation/131885'], 'P 4w': 0.526, 'P de': 0.077, 'circuity_avg': 1.035, 'country': 'US-LA', 'k_avg': 3.378, 'median_segment_length': 99.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=New+Orleans,+Orleans+Parish,+Louisiana,+United+States'], 'orient_order': 0.123, 'osm_id': [131885], 'pop_GHSL2023': 366732.97836517997, 'query': 'New Orleans, Orleans Parish, Louisiana, United States', 'region': 'NAM', o': 3.444, w': 3.457}, 'Orlando': {'OSM relation': ['https://www.openstreetmap.org/relation/1128379'], 'P 4w': 0.237, 'P de': 0.12, 'circuity_avg': 1.064, 'country': 'US-FL', 'k_avg': 2.914, 'median_segment_length': 100.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Orlando,+Orange+County,+Florida,+United+States'], 'orient_order': 0.481, 'osm_id': [1128379], 'pop_GHSL2023': 304166.8284669285, 'query': 'Orlando, Orange County, Florida, United States', 'region': 'NAM', o': 2.969, w': 2.929}, 'Osaka': {'OSM relation': ['https://www.openstreetmap.org/relation/358674'], 'P 4w': 0.292, 'P de': 0.069, 'circuity_avg': 1.025, 'country': 'JP', 'k_avg': 3.155, 'median_segment_length': 51.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Osaka,+Osaka+Prefecture,+Japan'], 'orient_order': 0.243, 'osm_id': [358674], 'pop_GHSL2023': 2388944.7906184644, 'query': 'Osaka, Osaka Prefecture, Japan', 'region': 'A&O', o': 3.298, w': 3.306}, 'Oslo': {'OSM relation': ['https://www.openstreetmap.org/relation/406091'], 'P 4w': 0.113, 'P de': 0.197, 'circuity_avg': 1.095, 'country': 'NO', 'k_avg': 2.711, 'median_segment_length': 78.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oslo,+Norway'], 'orient_order': 0.008, 'osm_id': [406091], 'pop_GHSL2023': 708820.38776549, 'query': 'Oslo, Norway', 'region': 'EU', o': 3.574, w': 3.564}, 'Paris': {'OSM relation': ['https://www.openstreetmap.org/relation/7444'], 'P 4w': 0.24, 'P de': 0.05, 'circuity_avg': 1.023, 'country': 'FR', 'k_avg': 3.11, 'median_segment_length': 71.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Paris,+Ile-de-France,+Metropolitan+France,+France'], 'orient_order': 0.016, 'osm_id': [7444], 'pop_GHSL2023': 2322862.0913982387, 'query': 'Paris, Ile-de-France, Metropolitan France, France', 'region': 'EU', o': 3.566, w': 3.568}, 'Philadelphia': {'OSM relation': ['https://www.openstreetmap.org/relation/188022'], 'P 4w': 0.398, 'P de': 0.047, 'circuity_avg': 1.03, 'country': 'US-PA', 'k_avg': 3.315, 'median_segment_length': 83.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Philadelphia,+Philadelphia+County,+Pennsylvania,+United+States'], 'orient_order': 0.312, 'osm_id': [188022], 'pop_GHSL2023': 1501334.2557670078, 'query': 'Philadelphia, Philadelphia County, Pennsylvania, United States', 'region': 'NAM', o': 3.209, w': 3.267}, 'Phnom Penh': {'OSM relation': ['https://www.openstreetmap.org/relation/2199033'], 'P 4w': 0.188, 'P de': 0.205, 'circuity_avg': 1.04, 'country': 'KH', 'k_avg': 2.784, 'median_segment_length': 81.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=KH-12,+Cambodia'], 'orient_order': 0.324, 'osm_id': [2199033], 'pop_GHSL2023': 2369492.133270343, 'query': 'KH-12, Cambodia', 'region': 'A&O', o': 3.193, w': 3.235}, 'Phoenix': {'OSM relation': ['https://www.openstreetmap.org/relation/111257'], 'P 4w': 0.171, 'P de': 0.186, 'circuity_avg': 1.073, 'country': 'US-AZ', 'k_avg': 2.795, 'median_segment_length': 97.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Phoenix,+Maricopa+County,+Arizona,+United+States'], 'orient_order': 0.586, 'osm_id': [111257], 'pop_GHSL2023': 1872464.6450785124, 'query': 'Phoenix, Maricopa County, Arizona, United States', 'region': 'NAM', o': 2.801, w': 2.563}, 'Pittsburgh': {'OSM relation': ['https://www.openstreetmap.org/relation/188553', 'https://www.openstreetmap.org/relation/188551', 'https://www.openstreetmap.org/relation/187458', 'https://www.openstreetmap.org/relation/187434', 'https://www.openstreetmap.org/relation/187435'], 'P 4w': 0.231, 'P de': 0.173, 'circuity_avg': 1.054, 'country': 'US-PA', 'k_avg': 2.854, 'median_segment_length': 94.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Pittsburgh,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Mount+Oliver,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Green+Tree,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Crafton,+Allegheny+County,+Pennsylvania,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Ingram,+Allegheny+County,+Pennsylvania,+United+States'], 'orient_order': 0.018, 'osm_id': [188553, 188551, 187458, 187434, 187435], 'pop_GHSL2023': 309714.70544934267, 'query': ['Pittsburgh, Allegheny County, Pennsylvania, United States', 'Mount Oliver, Allegheny County, Pennsylvania, United States', 'Green Tree, Allegheny County, Pennsylvania, United States', 'Crafton, Allegheny County, Pennsylvania, United States', 'Ingram, Allegheny County, Pennsylvania, United States'], 'region': 'NAM', o': 3.564, w': 3.565}, 'Port au Prince': {'OSM relation': ['https://www.openstreetmap.org/relation/387318'], 'P 4w': 0.087, 'P de': 0.295, 'circuity_avg': 1.088, 'country': 'HT', 'k_avg': 2.495, 'median_segment_length': 55.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Port-au-Prince,+West,+Haiti'], 'orient_order': 0.028, 'osm_id': [387318], 'pop_GHSL2023': 1481683.71467255, 'query': 'Port-au-Prince, West, Haiti', 'region': 'LatAm', o': 3.552, w': 3.554}, 'Portland': {'OSM relation': ['https://www.openstreetmap.org/relation/186579', 'https://www.openstreetmap.org/relation/186714'], 'P 4w': 0.327, 'P de': 0.146, 'circuity_avg': 1.041, 'country': 'US-OR', 'k_avg': 3.032, 'median_segment_length': 82.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Portland,+Multnomah+County,+Oregon,+United+States', 'https://nominatim.openstreetmap.org/ui/search.html?q=Maywood+Park,+Multnomah+County,+Oregon,+United+States'], 'orient_order': 0.679, 'osm_id': [186579, 186714], 'pop_GHSL2023': 685184.3103695348, 'query': ['Portland, Multnomah County, Oregon, United States', 'Maywood Park, Multnomah County, Oregon, United States'], 'region': 'NAM', o': 2.632, w': 2.68}, 'Prague': {'OSM relation': ['https://www.openstreetmap.org/relation/435514'], 'P 4w': 0.171, 'P de': 0.177, 'circuity_avg': 1.065, 'country': 'CZ', 'k_avg': 2.807, 'median_segment_length': 84.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Prague,+Czechia'], 'orient_order': 0.049, 'osm_id': [435514], 'pop_GHSL2023': 1327193.6264477668, 'query': 'Prague, Czechia', 'region': 'EU', o': 3.529, w': 3.513}, 'Pyongyang': {'OSM relation': ['https://www.openstreetmap.org/relation/356443'], 'P 4w': 0.12, 'P de': 0.294, 'circuity_avg': 1.097, 'country': 'KP', 'k_avg': 2.524, 'median_segment_length': 132.4, 'nominatim link': ["https://nominatim.openstreetmap.org/ui/search.html?q=P'yŏngyang,+North+Korea"], 'orient_order': 0.024, 'osm_id': [356443], 'pop_GHSL2023': 3480278.592318181, 'query': "P'yŏngyang, North Korea", 'region': 'A&O', o': 3.557, w': 3.568}, 'Reykjavik': {'OSM relation': ['https://www.openstreetmap.org/relation/2580605'], 'P 4w': 0.117, 'P de': 0.283, 'circuity_avg': 1.071, 'country': 'IS', 'k_avg': 2.54, 'median_segment_length': 63.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Reykjavik,+Capital+Region,+Iceland'], 'orient_order': 0.056, 'osm_id': [2580605], 'pop_GHSL2023': 104272.41692510885, 'query': 'Reykjavik, Capital Region, Iceland', 'region': 'EU', o': 3.522, w': 3.529}, 'Rio de Janeiro': {'OSM relation': ['https://www.openstreetmap.org/relation/2697338'], 'P 4w': 0.147, 'P de': 0.172, 'circuity_avg': 1.055, 'country': 'BR', 'k_avg': 2.804, 'median_segment_length': 74.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rio+de+Janeiro,+Southeast+Region,+Brazil'], 'orient_order': 0.014, 'osm_id': [2697338], 'pop_GHSL2023': 6768933.523283653, 'query': 'Rio de Janeiro, Southeast Region, Brazil', 'region': 'LatAm', o': 3.568, w': 3.566}, 'Rome': {'OSM relation': ['https://www.openstreetmap.org/relation/41485'], 'P 4w': 0.145, 'P de': 0.161, 'circuity_avg': 1.07, 'country': 'IT', 'k_avg': 2.82, 'median_segment_length': 73.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rome,+Roma+Capitale,+Lazio,+Italy'], 'orient_order': 0.005, 'osm_id': [41485], 'pop_GHSL2023': 2706949.850030726, 'query': 'Rome, Roma Capitale, Lazio, Italy', 'region': 'EU', o': 3.578, w': 3.578}, 'San Francisco': {'OSM relation': ['https://www.openstreetmap.org/relation/111968'], 'P 4w': 0.454, 'P de': 0.087, 'circuity_avg': 1.033, 'country': 'US-CA', 'k_avg': 3.304, 'median_segment_length': 94.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=San+Francisco,+California,+United+States'], 'orient_order': 0.278, 'osm_id': [111968], 'pop_GHSL2023': 823489.8565498033, 'query': 'San Francisco, California, United States', 'region': 'NAM', o': 3.253, w': 3.226}, 'Sao Paulo': {'OSM relation': ['https://www.openstreetmap.org/relation/298285'], 'P 4w': 0.176, 'P de': 0.12, 'circuity_avg': 1.05, 'country': 'BR', 'k_avg': 2.936, 'median_segment_length': 76.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=São+Paulo,+Southeast+Region,+Brazil'], 'orient_order': 0.002, 'osm_id': [298285], 'pop_GHSL2023': 11858950.620425723, 'query': 'São Paulo, Southeast Region, Brazil', 'region': 'LatAm', o': 3.581, w': 3.58}, 'Sarajevo': {'OSM relation': ['https://www.openstreetmap.org/relation/15445108'], 'P 4w': 0.078, 'P de': 0.27, 'circuity_avg': 1.133, 'country': 'BA', 'k_avg': 2.522, 'median_segment_length': 94.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Sarajevo,+Sarajevo+Canton,+Bosnia+and+Herzegovina'], 'orient_order': 0.039, 'osm_id': [15445108], 'pop_GHSL2023': 196713.784235157, 'query': 'Sarajevo, Sarajevo Canton, Bosnia and Herzegovina', 'region': 'EU', o': 3.54, w': 3.558}, 'Seattle': {'OSM relation': ['https://www.openstreetmap.org/relation/237385'], 'P 4w': 0.369, 'P de': 0.136, 'circuity_avg': 1.028, 'country': 'US-WA', 'k_avg': 3.107, 'median_segment_length': 97.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Seattle,+King+County,+Washington,+United+States'], 'orient_order': 0.723, 'osm_id': [237385], 'pop_GHSL2023': 710391.1301186976, 'query': 'Seattle, King County, Washington, United States', 'region': 'NAM', o': 2.542, w': 2.474}, 'Seoul': {'OSM relation': ['https://www.openstreetmap.org/relation/2297418'], 'P 4w': 0.205, 'P de': 0.101, 'circuity_avg': 1.048, 'country': 'KR', 'k_avg': 3.011, 'median_segment_length': 53.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Seoul,+South+Korea'], 'orient_order': 0.009, 'osm_id': [2297418], 'pop_GHSL2023': 9645141.225111853, 'query': 'Seoul, South Korea', 'region': 'A&O', o': 3.573, w': 3.573}, 'Shanghai': {'OSM relation': ['https://www.openstreetmap.org/relation/913067'], 'P 4w': 0.317, 'P de': 0.156, 'circuity_avg': 1.04, 'country': 'CN', 'k_avg': 3.017, 'median_segment_length': 233.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Shanghai,+China'], 'orient_order': 0.121, 'osm_id': [913067], 'pop_GHSL2023': 33924003.60635262, 'query': 'Shanghai, China', 'region': 'A&O', o': 3.447, w': 3.433}, 'Singapore': {'OSM relation': ['https://www.openstreetmap.org/relation/536780'], 'P 4w': 0.215, 'P de': 0.11, 'circuity_avg': 1.077, 'country': 'SG', 'k_avg': 2.994, 'median_segment_length': 64.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Singapore'], 'orient_order': 0.005, 'osm_id': [536780], 'pop_GHSL2023': 5959450.356524699, 'query': 'Singapore', 'region': 'A&O', o': 3.578, w': 3.57}, 'St Louis': {'OSM relation': ['https://www.openstreetmap.org/relation/1180533'], 'P 4w': 0.374, 'P de': 0.098, 'circuity_avg': 1.023, 'country': 'US-MO', 'k_avg': 3.165, 'median_segment_length': 107.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=St.+Louis,+Missouri,+United+States'], 'orient_order': 0.276, 'osm_id': [1180533], 'pop_GHSL2023': 312467.4185018753, 'query': 'St. Louis, Missouri, United States', 'region': 'NAM', o': 3.256, w': 3.225}, 'Stockholm': {'OSM relation': ['https://www.openstreetmap.org/relation/398021'], 'P 4w': 0.141, 'P de': 0.222, 'circuity_avg': 1.091, 'country': 'SE', 'k_avg': 2.681, 'median_segment_length': 82.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Stockholms+kommun,+Stockholm+County,+Sweden'], 'orient_order': 0.006, 'osm_id': [398021], 'pop_GHSL2023': 1022888.4359776971, 'query': 'Stockholms kommun, Stockholm County, Sweden', 'region': 'EU', o': 3.577, w': 3.568}, 'Sydney': {'OSM relation': ['https://www.openstreetmap.org/relation/5750005'], 'P 4w': 0.087, 'P de': 0.206, 'circuity_avg': 1.073, 'country': 'AU', 'k_avg': 2.674, 'median_segment_length': 93.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Sydney,+Council+of+the+City+of+Sydney,+New+South+Wales,+Australia'], 'orient_order': 0.092, 'osm_id': [5750005], 'pop_GHSL2023': 5100197.878210587, 'query': 'Sydney, Council of the City of Sydney, New South Wales, Australia', 'region': 'A&O', o': 3.48, w': 3.431}, 'Taipei': {'OSM relation': ['https://www.openstreetmap.org/relation/1293250'], 'P 4w': 0.305, 'P de': 0.11, 'circuity_avg': 1.068, 'country': 'TW', 'k_avg': 3.096, 'median_segment_length': 73.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Taipei,+Taiwan'], 'orient_order': 0.158, 'osm_id': [1293250], 'pop_GHSL2023': 2542878.0502161, 'query': 'Taipei, Taiwan', 'region': 'A&O', o': 3.402, w': 3.428}, 'Tehran': {'OSM relation': ['https://www.openstreetmap.org/relation/6663864'], 'P 4w': 0.134, 'P de': 0.24, 'circuity_avg': 1.045, 'country': 'IR', 'k_avg': 2.652, 'median_segment_length': 52.0, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Tehran,+Tehran+Province,+Iran'], 'orient_order': 0.137, 'osm_id': [6663864], 'pop_GHSL2023': 7294182.58308172, 'query': 'Tehran, Tehran Province, Iran', 'region': 'MEA', o': 3.427, w': 3.405}, 'Tokyo': {'OSM relation': ['https://www.openstreetmap.org/relation/1543125'], 'P 4w': 0.186, 'P de': 0.119, 'circuity_avg': 1.046, 'country': 'JP', 'k_avg': 2.95, 'median_segment_length': 49.6, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=JP-13,+Japan'], 'orient_order': 0.05, 'osm_id': [1543125], 'pop_GHSL2023': 13453095.368577162, 'query': 'JP-13, Japan', 'region': 'A&O', o': 3.528, w': 3.529}, 'Toronto': {'OSM relation': ['https://www.openstreetmap.org/relation/324211'], 'P 4w': 0.217, 'P de': 0.109, 'circuity_avg': 1.09, 'country': 'CA-ON', 'k_avg': 2.994, 'median_segment_length': 103.1, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=City+of+Toronto,+Golden+Horseshoe,+Ontario,+Canada'], 'orient_order': 0.474, 'osm_id': [324211], 'pop_GHSL2023': 2860231.37706411, 'query': 'City of Toronto, Golden Horseshoe, Ontario, Canada', 'region': 'NAM', o': 2.98, w': 2.885}, 'Ulaanbaatar': {'OSM relation': ['https://www.openstreetmap.org/relation/270090'], 'P 4w': 0.061, 'P de': 0.283, 'circuity_avg': 1.065, 'country': 'MN', 'k_avg': 2.486, 'median_segment_length': 88.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ulaanbaatar,+Mongolia'], 'orient_order': 0.058, 'osm_id': [270090], 'pop_GHSL2023': 1876392.4283411014, 'query': 'Ulaanbaatar, Mongolia', 'region': 'A&O', o': 3.519, w': 3.463}, 'Vancouver': {'OSM relation': ['https://www.openstreetmap.org/relation/1852574'], 'P 4w': 0.455, 'P de': 0.073, 'circuity_avg': 1.022, 'country': 'CA-BC', 'k_avg': 3.308, 'median_segment_length': 103.7, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Vancouver,+British+Columbia,+Canada'], 'orient_order': 0.749, 'osm_id': [1852574], 'pop_GHSL2023': 693480.7865019785, 'query': 'Vancouver, British Columbia, Canada', 'region': 'NAM', o': 2.488, w': 2.413}, 'Venice (Mestre)': {'OSM relation': ['https://www.openstreetmap.org/relation/44741'], 'P 4w': 0.073, 'P de': 0.3, 'circuity_avg': 1.09, 'country': 'IT', 'k_avg': 2.474, 'median_segment_length': 23.2, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Venice,+Venezia,+Veneto,+Italy'], 'orient_order': 0.017, 'osm_id': [44741], 'pop_GHSL2023': 256643.2521157807, 'query': 'Venice, Venezia, Veneto, Italy', 'region': 'EU', o': 3.564, w': 3.553}, 'Vienna': {'OSM relation': ['https://www.openstreetmap.org/relation/109166'], 'P 4w': 0.244, 'P de': 0.122, 'circuity_avg': 1.043, 'country': 'AT', 'k_avg': 2.985, 'median_segment_length': 90.4, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Vienna,+Austria'], 'orient_order': 0.05, 'osm_id': [109166], 'pop_GHSL2023': 1932893.754314165, 'query': 'Vienna, Austria', 'region': 'EU', o': 3.528, w': 3.515}, 'Warsaw': {'OSM relation': ['https://www.openstreetmap.org/relation/336075'], 'P 4w': 0.16, 'P de': 0.204, 'circuity_avg': 1.043, 'country': 'PL', 'k_avg': 2.717, 'median_segment_length': 90.9, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Warsaw,+Masovian+Voivodeship,+Poland'], 'orient_order': 0.036, 'osm_id': [336075], 'pop_GHSL2023': 1849553.232625499, 'query': 'Warsaw, Masovian Voivodeship, Poland', 'region': 'EU', o': 3.544, w': 3.532}, 'Washington': {'OSM relation': ['https://www.openstreetmap.org/relation/5396194'], 'P 4w': 0.37, 'P de': 0.065, 'circuity_avg': 1.038, 'country': 'US-DC', 'k_avg': 3.252, 'median_segment_length': 99.5, 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Washington,+District+of+Columbia,+United+States'], 'orient_order': 0.377, 'osm_id': [5396194], 'pop_GHSL2023': 701524.8640937685, 'query': 'Washington, District of Columbia, United States', 'region': 'NAM', o': 3.121, w': 3.113}}, 'description': '100 representative cities from Boeing (2019)'}, 'germany_by_pop': {'cities': {'Aachen': {'OSM relation': ['https://www.openstreetmap.org/relation/62564'], 'country': 'DE', 'location': '50°47′N 6°5′E / 50.783°N 6.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Aachen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62564], 'pop_GHSL2023': 243387.76502981776, 'population': 249070, 'query': 'Aachen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Augsburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62407'], 'country': 'DE', 'location': '48°22′N 10°54′E / 48.367°N 10.900°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Augsburg,+Bavaria,+Germany'], 'osm_id': [62407], 'pop_GHSL2023': 284132.46682134515, 'population': 296478, 'query': 'Augsburg, Bavaria, Germany', 'state': 'Bavaria'}, 'Bergisch Gladbach': {'OSM relation': ['https://www.openstreetmap.org/relation/173103'], 'country': 'DE', 'location': '51°6′N 7°7′E / 51.100°N 7.117°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bergisch+Gladbach,+North+Rhine-Westphalia,+Germany'], 'osm_id': [173103], 'pop_GHSL2023': 116460.2804894326, 'population': 111645, 'query': 'Bergisch Gladbach, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Berlin': {'OSM relation': ['https://www.openstreetmap.org/relation/62422'], 'country': 'DE', 'location': '52°31′N 13°23′E / 52.517°N 13.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Berlin,+Germany'], 'osm_id': [62422], 'pop_GHSL2023': 3524738.8939121147, 'population': 3677472, 'query': 'Berlin, Germany', 'state': 'Berlin'}, 'Bielefeld': {'OSM relation': ['https://www.openstreetmap.org/relation/62646'], 'country': 'DE', 'location': '52°1′N 8°32′E / 52.017°N 8.533°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bielefeld,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62646], 'pop_GHSL2023': 333409.8926514386, 'population': 334002, 'query': 'Bielefeld, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bochum': {'OSM relation': ['https://www.openstreetmap.org/relation/62644'], 'country': 'DE', 'location': '51°29′N 7°13′E / 51.483°N 7.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bochum,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62644], 'pop_GHSL2023': 357434.85097885126, 'population': 363441, 'query': 'Bochum, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bonn': {'OSM relation': ['https://www.openstreetmap.org/relation/62508'], 'country': 'DE', 'location': '50°44′N 7°6′E / 50.733°N 7.100°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bonn,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62508], 'pop_GHSL2023': 298244.66710514383, 'population': 331885, 'query': 'Bonn, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Bottrop': {'OSM relation': ['https://www.openstreetmap.org/relation/62634'], 'country': 'DE', 'location': '51°31′29″N 6°55′22″E / 51.52472°N 6.92278°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bottrop,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62634], 'pop_GHSL2023': 120419.19062280792, 'population': 117311, 'query': 'Bottrop, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Braunschweig': {'OSM relation': ['https://www.openstreetmap.org/relation/62531'], 'country': 'DE', 'location': '52°16′N 10°31′E / 52.267°N 10.517°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Braunschweig,+Lower+Saxony,+Germany'], 'osm_id': [62531], 'pop_GHSL2023': 231285.2623034268, 'population': 248823, 'query': 'Braunschweig, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Bremen': {'OSM relation': ['https://www.openstreetmap.org/relation/62559'], 'country': 'DE', 'location': '53°5′N 8°48′E / 53.083°N 8.800°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bremen,+City+of+Bremen,+Germany'], 'osm_id': [62559], 'pop_GHSL2023': 569530.6147225898, 'population': 563290, 'query': 'Bremen, City of Bremen, Germany', 'state': 'Bremen'}, 'Bremerhaven': {'OSM relation': ['https://www.openstreetmap.org/relation/62658'], 'country': 'DE', 'location': '53°33′N 8°35′E / 53.550°N 8.583°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Bremerhaven,+Bremen,+Germany'], 'osm_id': [62658], 'pop_GHSL2023': 113689.3916842702, 'population': 113173, 'query': 'Bremerhaven, Bremen, Germany', 'state': 'Bremen'}, 'Chemnitz': {'OSM relation': ['https://www.openstreetmap.org/relation/62594'], 'country': 'DE', 'location': '50°50′N 12°55′E / 50.833°N 12.917°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Chemnitz,+Saxony,+Germany'], 'osm_id': [62594], 'pop_GHSL2023': 281487.2192971407, 'population': 243105, 'query': 'Chemnitz, Saxony, Germany', 'state': 'Saxony'}, 'Cologne (Köln)': {'OSM relation': ['https://www.openstreetmap.org/relation/62578'], 'country': 'DE', 'location': '50°56′N 6°57′E / 50.933°N 6.950°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Cologne,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62578], 'pop_GHSL2023': 1171662.0742877943, 'population': 1073096, 'query': 'Cologne, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Darmstadt': {'OSM relation': ['https://www.openstreetmap.org/relation/62581'], 'country': 'DE', 'location': '49°52′N 8°39′E / 49.867°N 8.650°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Darmstadt,+Hesse,+Germany'], 'osm_id': [62581], 'pop_GHSL2023': 143254.62058037517, 'population': 159631, 'query': 'Darmstadt, Hesse, Germany', 'state': 'Hesse'}, 'Dortmund': {'OSM relation': ['https://www.openstreetmap.org/relation/1829065'], 'country': 'DE', 'location': '51°31′N 7°28′E / 51.517°N 7.467°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dortmund,+North+Rhine-Westphalia,+Germany'], 'osm_id': [1829065], 'pop_GHSL2023': 597406.1646491288, 'population': 586852, 'query': 'Dortmund, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Dresden': {'OSM relation': ['https://www.openstreetmap.org/relation/191645'], 'country': 'DE', 'location': '51°2′N 13°44′E / 51.033°N 13.733°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dresden,+Saxony,+Germany'], 'osm_id': [191645], 'pop_GHSL2023': 604470.7496758811, 'population': 555351, 'query': 'Dresden, Saxony, Germany', 'state': 'Saxony'}, 'Duisburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62456'], 'country': 'DE', 'location': '51°26′N 6°46′E / 51.433°N 6.767°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Duisburg,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62456], 'pop_GHSL2023': 541060.8880877494, 'population': 495152, 'query': 'Duisburg, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Düsseldorf': {'OSM relation': ['https://www.openstreetmap.org/relation/62539'], 'country': 'DE', 'location': '51°14′N 6°47′E / 51.233°N 6.783°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Dusseldorf,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62539], 'pop_GHSL2023': 629943.5862600802, 'population': 619477, 'query': 'Dusseldorf, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Erfurt': {'OSM relation': ['https://www.openstreetmap.org/relation/62745'], 'country': 'DE', 'location': '50°59′N 11°2′E / 50.983°N 11.033°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Erfurt,+Thuringia,+Germany'], 'osm_id': [62745], 'pop_GHSL2023': 229810.96490019985, 'population': 213227, 'query': 'Erfurt, Thuringia, Germany', 'state': 'Thuringia'}, 'Erlangen': {'OSM relation': ['https://www.openstreetmap.org/relation/62403'], 'country': 'DE', 'location': '49°35′N 11°1′E / 49.583°N 11.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Erlangen,+Bavaria,+Germany'], 'osm_id': [62403], 'pop_GHSL2023': 126349.33028798547, 'population': 113292, 'query': 'Erlangen, Bavaria, Germany', 'state': 'Bavaria'}, 'Essen': {'OSM relation': ['https://www.openstreetmap.org/relation/62713'], 'country': 'DE', 'location': '51°27′N 7°1′E / 51.450°N 7.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Essen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62713], 'pop_GHSL2023': 566901.7672717569, 'population': 579432, 'query': 'Essen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Frankfurt am Main': {'OSM relation': ['https://www.openstreetmap.org/relation/62400'], 'country': 'DE', 'location': '50°7′N 8°41′E / 50.117°N 8.683°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Frankfurt,+Hesse,+Germany'], 'osm_id': [62400], 'pop_GHSL2023': 821447.1059717236, 'population': 759224, 'query': 'Frankfurt, Hesse, Germany', 'state': 'Hesse'}, 'Freiburg im Breisgau': {'OSM relation': ['https://www.openstreetmap.org/relation/62768'], 'country': 'DE', 'location': '47°59′N 7°51′E / 47.983°N 7.850°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Freiburg+im+Breisgau,+Baden-Württemberg,+Germany'], 'osm_id': [62768], 'pop_GHSL2023': 252070.2626246958, 'population': 231848, 'query': 'Freiburg im Breisgau, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Fürth': {'OSM relation': ['https://www.openstreetmap.org/relation/62374'], 'country': 'DE', 'location': '49°28′N 11°0′E / 49.467°N 11.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Fürth,+Bavaria,+Germany'], 'osm_id': [62374], 'pop_GHSL2023': 147272.84554243082, 'population': 129122, 'query': 'Fürth, Bavaria, Germany', 'state': 'Bavaria'}, 'Gelsenkirchen': {'OSM relation': ['https://www.openstreetmap.org/relation/62522'], 'country': 'DE', 'location': '51°31′N 7°6′E / 51.517°N 7.100°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Gelsenkirchen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62522], 'pop_GHSL2023': 268021.2257325648, 'population': 260126, 'query': 'Gelsenkirchen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Göttingen': {'OSM relation': ['https://www.openstreetmap.org/relation/191361'], 'country': 'DE', 'location': '51°32′N 9°56′E / 51.533°N 9.933°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Göttingen,+Lower+Saxony,+Germany'], 'osm_id': [191361], 'pop_GHSL2023': 124678.53125402467, 'population': 116557, 'query': 'Göttingen, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Gütersloh': {'OSM relation': ['https://www.openstreetmap.org/relation/138119'], 'country': 'DE', 'location': '51°54′N 8°23′E / 51.900°N 8.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Gütersloh,+North+Rhine-Westphalia,+Germany'], 'osm_id': [138119], 'pop_GHSL2023': 89440.50304740664, 'population': 101158, 'query': 'Gütersloh, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hagen': {'OSM relation': ['https://www.openstreetmap.org/relation/1800297'], 'country': 'DE', 'location': '51°22′N 7°29′E / 51.367°N 7.483°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hagen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [1800297], 'pop_GHSL2023': 192985.87121069425, 'population': 188713, 'query': 'Hagen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Halle (Saale)': {'OSM relation': ['https://www.openstreetmap.org/relation/62638'], 'country': 'DE', 'location': '51°29′N 11°58′E / 51.483°N 11.967°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Halle+(Saale),+Saxony-Anhalt,+Germany'], 'osm_id': [62638], 'pop_GHSL2023': 226774.07903894776, 'population': 238061, 'query': 'Halle (Saale), Saxony-Anhalt, Germany', 'state': 'Saxony-Anhalt'}, 'Hamburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62782'], 'country': 'DE', 'location': '53°33′N 10°0′E / 53.550°N 10.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hamburg,+Germany'], 'osm_id': [62782], 'pop_GHSL2023': 1761088.7599678198, 'population': 1906411, 'query': 'Hamburg, Germany', 'state': 'Hamburg'}, 'Hamm': {'OSM relation': ['https://www.openstreetmap.org/relation/62499'], 'country': 'DE', 'location': '51°41′N 7°49′E / 51.683°N 7.817°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hamm,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62499], 'pop_GHSL2023': 171828.1519785523, 'population': 179238, 'query': 'Hamm, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hanover (Hannover)': {'OSM relation': ['https://www.openstreetmap.org/relation/59418'], 'country': 'DE', 'location': '52°22′N 9°43′E / 52.367°N 9.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hanover,+Lower+Saxony,+Germany'], 'osm_id': [59418], 'pop_GHSL2023': 536017.4882024525, 'population': 535932, 'query': 'Hanover, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Heidelberg': {'OSM relation': ['https://www.openstreetmap.org/relation/285864'], 'country': 'DE', 'location': '49°25′N 8°43′E / 49.417°N 8.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Heidelberg,+Baden-Württemberg,+Germany'], 'osm_id': [285864], 'pop_GHSL2023': 154854.53628560057, 'population': 159245, 'query': 'Heidelberg, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Heilbronn': {'OSM relation': ['https://www.openstreetmap.org/relation/62751'], 'country': 'DE', 'location': '49°9′N 9°13′E / 49.150°N 9.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Heilbronn,+Baden-Württemberg,+Germany'], 'osm_id': [62751], 'pop_GHSL2023': 116836.40956012529, 'population': 125613, 'query': 'Heilbronn, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Herne': {'OSM relation': ['https://www.openstreetmap.org/relation/62396'], 'country': 'DE', 'location': '51°33′N 7°13′E / 51.550°N 7.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Herne,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62396], 'pop_GHSL2023': 164314.78438377377, 'population': 156621, 'query': 'Herne, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Hildesheim': {'OSM relation': ['https://www.openstreetmap.org/relation/1176503'], 'country': 'DE', 'location': '52°9′N 9°57′E / 52.150°N 9.950°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Hildesheim,+Lower+Saxony,+Germany'], 'osm_id': [1176503], 'pop_GHSL2023': 108481.75792009567, 'population': 100319, 'query': 'Hildesheim, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Ingolstadt': {'OSM relation': ['https://www.openstreetmap.org/relation/62381'], 'country': 'DE', 'location': '48°46′N 11°26′E / 48.767°N 11.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ingolstadt,+Bavaria,+Germany'], 'osm_id': [62381], 'pop_GHSL2023': 124418.21458852934, 'population': 138016, 'query': 'Ingolstadt, Bavaria, Germany', 'state': 'Bavaria'}, 'Jena': {'OSM relation': ['https://www.openstreetmap.org/relation/62693'], 'country': 'DE', 'location': '50°55′38″N 11°35′10″E / 50.92722°N 11.58611°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Jena,+Thuringia,+Germany'], 'osm_id': [62693], 'pop_GHSL2023': 96349.92435650199, 'population': 110502, 'query': 'Jena, Thuringia, Germany', 'state': 'Thuringia'}, 'Karlsruhe': {'OSM relation': ['https://www.openstreetmap.org/relation/62518'], 'country': 'DE', 'location': '49°0′N 8°24′E / 49.000°N 8.400°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Karlsruhe,+Baden-Württemberg,+Germany'], 'osm_id': [62518], 'pop_GHSL2023': 321957.63255011983, 'population': 306502, 'query': 'Karlsruhe, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Kassel': {'OSM relation': ['https://www.openstreetmap.org/relation/62598'], 'country': 'DE', 'location': '51°19′N 9°30′E / 51.317°N 9.500°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kassel,+Hesse,+Germany'], 'osm_id': [62598], 'pop_GHSL2023': 195841.11059885466, 'population': 200406, 'query': 'Kassel, Hesse, Germany', 'state': 'Hesse'}, 'Kiel': {'OSM relation': ['https://www.openstreetmap.org/relation/27021'], 'country': 'DE', 'location': '54°20′N 10°8′E / 54.333°N 10.133°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Kiel,+Schleswig-Holstein,+Germany'], 'osm_id': [27021], 'pop_GHSL2023': 236948.35277050728, 'population': 246243, 'query': 'Kiel, Schleswig-Holstein, Germany', 'state': 'Schleswig-Holstein'}, 'Koblenz': {'OSM relation': ['https://www.openstreetmap.org/relation/62512'], 'country': 'DE', 'location': '50°21′35″N 7°35′52″E / 50.35972°N 7.59778°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Koblenz,+Rhineland-Palatinate,+Germany'], 'osm_id': [62512], 'pop_GHSL2023': 121517.91575462554, 'population': 113638, 'query': 'Koblenz, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Krefeld': {'OSM relation': ['https://www.openstreetmap.org/relation/62748'], 'country': 'DE', 'location': '51°20′N 6°34′E / 51.333°N 6.567°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Krefeld,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62748], 'pop_GHSL2023': 228622.10160866374, 'population': 227050, 'query': 'Krefeld, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Leipzig': {'OSM relation': ['https://www.openstreetmap.org/relation/62649'], 'country': 'DE', 'location': '51°20′N 12°23′E / 51.333°N 12.383°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Leipzig,+Saxony,+Germany'], 'osm_id': [62649], 'pop_GHSL2023': 587300.3685810135, 'population': 601866, 'query': 'Leipzig, Saxony, Germany', 'state': 'Saxony'}, 'Leverkusen': {'OSM relation': ['https://www.openstreetmap.org/relation/62449'], 'country': 'DE', 'location': '51°2′N 6°59′E / 51.033°N 6.983°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Leverkusen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62449], 'pop_GHSL2023': 151995.9388852119, 'population': 163851, 'query': 'Leverkusen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Ludwigshafen am Rhein': {'OSM relation': ['https://www.openstreetmap.org/relation/62347'], 'country': 'DE', 'location': '49°29′N 8°26′E / 49.483°N 8.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ludwigshafen+am+Rhein,+Rhineland-Palatinate,+Germany'], 'osm_id': [62347], 'pop_GHSL2023': 146645.6872336566, 'population': 172145, 'query': 'Ludwigshafen am Rhein, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Lübeck': {'OSM relation': ['https://www.openstreetmap.org/relation/27027'], 'country': 'DE', 'location': '53°52′N 10°41′E / 53.867°N 10.683°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Lübeck,+Schleswig-Holstein,+Germany'], 'osm_id': [27027], 'pop_GHSL2023': 214359.11554070184, 'population': 216277, 'query': 'Lübeck, Schleswig-Holstein, Germany', 'state': 'Schleswig-Holstein'}, 'Magdeburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62481'], 'country': 'DE', 'location': '52°8′N 11°37′E / 52.133°N 11.617°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Magdeburg,+Saxony-Anhalt,+Germany'], 'osm_id': [62481], 'pop_GHSL2023': 239762.95349462883, 'population': 236188, 'query': 'Magdeburg, Saxony-Anhalt, Germany', 'state': 'Saxony-Anhalt'}, 'Mainz': {'OSM relation': ['https://www.openstreetmap.org/relation/62630'], 'country': 'DE', 'location': '50°0′N 8°16′E / 50.000°N 8.267°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mainz,+Rhineland-Palatinate,+Germany'], 'osm_id': [62630], 'pop_GHSL2023': 192033.2704339176, 'population': 217556, 'query': 'Mainz, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Mannheim': {'OSM relation': ['https://www.openstreetmap.org/relation/62691'], 'country': 'DE', 'location': '49°29′N 8°28′E / 49.483°N 8.467°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mannheim,+Baden-Württemberg,+Germany'], 'osm_id': [62691], 'pop_GHSL2023': 331411.8676640092, 'population': 311831, 'query': 'Mannheim, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Moers': {'OSM relation': ['https://www.openstreetmap.org/relation/58623'], 'country': 'DE', 'location': '51°27′33″N 6°37′11″E / 51.45917°N 6.61972°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Moers,+North+Rhine-Westphalia,+Germany'], 'osm_id': [58623], 'pop_GHSL2023': 107912.45186328885, 'population': 103725, 'query': 'Moers, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Munich': {'OSM relation': ['https://www.openstreetmap.org/relation/62428'], 'country': 'DE', 'location': '48°8′N 11°34′E / 48.133°N 11.567°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Munich,+Bavaria,+Germany'], 'osm_id': [62428], 'pop_GHSL2023': 1552833.6185131217, 'population': 1487708, 'query': 'Munich, Bavaria, Germany', 'state': 'Bavaria'}, 'Mönchengladbach': {'OSM relation': ['https://www.openstreetmap.org/relation/62410'], 'country': 'DE', 'location': '51°12′N 6°26′E / 51.200°N 6.433°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mönchengladbach,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62410], 'pop_GHSL2023': 267545.6431359052, 'population': 261001, 'query': 'Mönchengladbach, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Mülheim an der Ruhr': {'OSM relation': ['https://www.openstreetmap.org/relation/62385'], 'country': 'DE', 'location': '51°26′N 6°53′E / 51.433°N 6.883°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Mülheim+an+der+Ruhr,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62385], 'pop_GHSL2023': 173668.34945082662, 'population': 170739, 'query': 'Mülheim an der Ruhr, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Münster': {'OSM relation': ['https://www.openstreetmap.org/relation/62591'], 'country': 'DE', 'location': '51°58′N 7°38′E / 51.967°N 7.633°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Münster,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62591], 'pop_GHSL2023': 341446.0807846858, 'population': 317713, 'query': 'Münster, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Neuss': {'OSM relation': ['https://www.openstreetmap.org/relation/163307'], 'country': 'DE', 'location': '51°12′N 6°42′E / 51.200°N 6.700°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Neuss,+North+Rhine-Westphalia,+Germany'], 'osm_id': [163307], 'pop_GHSL2023': 169732.4745044112, 'population': 152731, 'query': 'Neuss, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Nuremberg': {'OSM relation': ['https://www.openstreetmap.org/relation/62780'], 'country': 'DE', 'location': '49°27′N 11°5′E / 49.450°N 11.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Nuremberg,+Bavaria,+Germany'], 'osm_id': [62780], 'pop_GHSL2023': 499332.5104406102, 'population': 510632, 'query': 'Nuremberg, Bavaria, Germany', 'state': 'Bavaria'}, 'Oberhausen': {'OSM relation': ['https://www.openstreetmap.org/relation/62734'], 'country': 'DE', 'location': '51°28′N 6°51′E / 51.467°N 6.850°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oberhausen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62734], 'pop_GHSL2023': 210994.3231761455, 'population': 208752, 'query': 'Oberhausen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Offenbach am Main': {'OSM relation': ['https://www.openstreetmap.org/relation/62695'], 'country': 'DE', 'location': '50°6′N 8°48′E / 50.100°N 8.800°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Offenbach+am+Main,+Hesse,+Germany'], 'osm_id': [62695], 'pop_GHSL2023': 109759.49343144891, 'population': 131295, 'query': 'Offenbach am Main, Hesse, Germany', 'state': 'Hesse'}, 'Oldenburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62409'], 'country': 'DE', 'location': '53°8′N 8°13′E / 53.133°N 8.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Oldenburg,+Lower+Saxony,+Germany'], 'osm_id': [62409], 'pop_GHSL2023': 149219.0436193719, 'population': 170389, 'query': 'Oldenburg, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Osnabrück': {'OSM relation': ['https://www.openstreetmap.org/relation/62631'], 'country': 'DE', 'location': '52°17′N 8°3′E / 52.283°N 8.050°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Osnabrück,+Lower+Saxony,+Germany'], 'osm_id': [62631], 'pop_GHSL2023': 148963.6332005262, 'population': 165034, 'query': 'Osnabrück, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Paderborn': {'OSM relation': ['https://www.openstreetmap.org/relation/5610766'], 'country': 'DE', 'location': '51°43′N 8°46′E / 51.717°N 8.767°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Paderborn,+North+Rhine-Westphalia,+Germany'], 'osm_id': [5610766], 'pop_GHSL2023': 93098.35931211707, 'population': 152531, 'query': 'Paderborn, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Pforzheim': {'OSM relation': ['https://www.openstreetmap.org/relation/62471'], 'country': 'DE', 'location': '48°54′N 8°43′E / 48.900°N 8.717°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Pforzheim,+Baden-Württemberg,+Germany'], 'osm_id': [62471], 'pop_GHSL2023': 114279.89176134576, 'population': 125529, 'query': 'Pforzheim, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Potsdam': {'OSM relation': ['https://www.openstreetmap.org/relation/62369'], 'country': 'DE', 'location': '52°24′N 13°4′E / 52.400°N 13.067°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Potsdam,+Brandenburg,+Germany'], 'osm_id': [62369], 'pop_GHSL2023': 197204.92013428442, 'population': 183154, 'query': 'Potsdam, Brandenburg, Germany', 'state': 'Brandenburg'}, 'Recklinghausen': {'OSM relation': ['https://www.openstreetmap.org/relation/56665'], 'country': 'DE', 'location': '51°35′6″N 7°9′43″E / 51.58500°N 7.16194°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Recklinghausen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [56665], 'pop_GHSL2023': 118133.97546708581, 'population': 110714, 'query': 'Recklinghausen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Regensburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62411'], 'country': 'DE', 'location': '49°1′N 12°5′E / 49.017°N 12.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Regensburg,+Bavaria,+Germany'], 'osm_id': [62411], 'pop_GHSL2023': 151635.27298718685, 'population': 153542, 'query': 'Regensburg, Bavaria, Germany', 'state': 'Bavaria'}, 'Remscheid': {'OSM relation': ['https://www.openstreetmap.org/relation/11799931'], 'country': 'DE', 'location': '51°11′N 7°12′E / 51.183°N 7.200°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Remscheid,+North+Rhine-Westphalia,+Germany'], 'osm_id': [11799931], 'pop_GHSL2023': 55548.23748469351, 'population': 111770, 'query': 'Remscheid, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Reutlingen': {'OSM relation': ['https://www.openstreetmap.org/relation/2772661'], 'country': 'DE', 'location': '48°29′N 9°13′E / 48.483°N 9.217°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Reutlingen,+Baden-Württemberg,+Germany'], 'osm_id': [2772661], 'pop_GHSL2023': 121992.67420992251, 'population': 116456, 'query': 'Reutlingen, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Rostock': {'OSM relation': ['https://www.openstreetmap.org/relation/62405'], 'country': 'DE', 'location': '54°5′N 12°8′E / 54.083°N 12.133°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Rostock,+Mecklenburg-Vorpommern,+Germany'], 'osm_id': [62405], 'pop_GHSL2023': 180835.00286210616, 'population': 208400, 'query': 'Rostock, Mecklenburg-Vorpommern, Germany', 'state': 'Mecklenburg-Vorpommern'}, 'Saarbrücken': {'OSM relation': ['https://www.openstreetmap.org/relation/1187159'], 'country': 'DE', 'location': '49°14′N 7°0′E / 49.233°N 7.000°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Saarbrücken,+Saarland,+Germany'], 'osm_id': [1187159], 'pop_GHSL2023': 185580.33219028142, 'population': 179634, 'query': 'Saarbrücken, Saarland, Germany', 'state': 'Saarland'}, 'Salzgitter': {'OSM relation': ['https://www.openstreetmap.org/relation/62659'], 'country': 'DE', 'location': '52°9′N 10°20′E / 52.150°N 10.333°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Salzgitter,+Lower+Saxony,+Germany'], 'osm_id': [62659], 'pop_GHSL2023': 95014.67304599934, 'population': 103694, 'query': 'Salzgitter, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Siegen': {'OSM relation': ['https://www.openstreetmap.org/relation/163256'], 'country': 'DE', 'location': '50°53′N 8°1′E / 50.883°N 8.017°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Siegen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [163256], 'pop_GHSL2023': 111237.85921204832, 'population': 101516, 'query': 'Siegen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Solingen': {'OSM relation': ['https://www.openstreetmap.org/relation/62699'], 'country': 'DE', 'location': '51°10′N 7°5′E / 51.167°N 7.083°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Solingen,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62699], 'pop_GHSL2023': 158327.46900320047, 'population': 158957, 'query': 'Solingen, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Stuttgart': {'OSM relation': ['https://www.openstreetmap.org/relation/2793104'], 'country': 'DE', 'location': '48°47′N 9°11′E / 48.783°N 9.183°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Stuttgart,+Baden-Württemberg,+Germany'], 'osm_id': [2793104], 'pop_GHSL2023': 608298.9549454299, 'population': 626275, 'query': 'Stuttgart, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Trier': {'OSM relation': ['https://www.openstreetmap.org/relation/172679'], 'country': 'DE', 'location': '49°45′N 6°38′E / 49.750°N 6.633°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Trier,+Rhineland-Palatinate,+Germany'], 'osm_id': [172679], 'pop_GHSL2023': 124173.42026184776, 'population': 110570, 'query': 'Trier, Rhineland-Palatinate, Germany', 'state': 'Rhineland-Palatinate'}, 'Ulm': {'OSM relation': ['https://www.openstreetmap.org/relation/62495'], 'country': 'DE', 'location': '48°24′N 9°59′E / 48.400°N 9.983°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Ulm,+Baden-Württemberg,+Germany'], 'osm_id': [62495], 'pop_GHSL2023': 117743.99580718306, 'population': 126949, 'query': 'Ulm, Baden-Württemberg, Germany', 'state': 'Baden-Württemberg'}, 'Wiesbaden': {'OSM relation': ['https://www.openstreetmap.org/relation/62496'], 'country': 'DE', 'location': '50°5′N 8°14′E / 50.083°N 8.233°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wiesbaden,+Hesse,+Germany'], 'osm_id': [62496], 'pop_GHSL2023': 297597.62034389994, 'population': 278950, 'query': 'Wiesbaden, Hesse, Germany', 'state': 'Hesse'}, 'Wolfsburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62418'], 'country': 'DE', 'location': '52°25′23″N 10°47′14″E / 52.42306°N 10.78722°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wolfsburg,+Lower+Saxony,+Germany'], 'osm_id': [62418], 'pop_GHSL2023': 114474.95202474817, 'population': 123949, 'query': 'Wolfsburg, Lower Saxony, Germany', 'state': 'Lower Saxony'}, 'Wuppertal': {'OSM relation': ['https://www.openstreetmap.org/relation/62478'], 'country': 'DE', 'location': '51°16′N 7°11′E / 51.267°N 7.183°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Wuppertal,+North+Rhine-Westphalia,+Germany'], 'osm_id': [62478], 'pop_GHSL2023': 349787.26579546917, 'population': 354572, 'query': 'Wuppertal, North Rhine-Westphalia, Germany', 'state': 'North Rhine-Westphalia'}, 'Würzburg': {'OSM relation': ['https://www.openstreetmap.org/relation/62464'], 'country': 'DE', 'location': '49°47′N 9°56′E / 49.783°N 9.933°E', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Würzburg,+Bavaria,+Germany'], 'osm_id': [62464], 'pop_GHSL2023': 128355.29968417247, 'population': 126933, 'query': 'Würzburg, Bavaria, Germany', 'state': 'Bavaria'}}, 'description': 'List of cities in Germany by population (Wikipedia)'}, 'test_general': {'cities': {'Barcelona': {'OSM relation': ['https://www.openstreetmap.org/relation/347950'], 'country': 'ES', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Barcelona,+Catalonia,+Spain'], 'osm_id': [347950], 'pop_GHSL2023': 1757832.6379999514, 'query': 'Barcelona, Catalonia, Spain', 'region': 'EU'}, 'Brooklyn': {'OSM relation': ['https://www.openstreetmap.org/relation/9691750'], 'country': 'US', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Brooklyn,+New+York,+United+States'], 'osm_id': [9691750], 'pop_GHSL2023': 2443446.936081211, 'query': 'Brooklyn, New York, United States', 'region': 'NAM'}, 'Copenhagen': {'OSM relation': ['https://www.openstreetmap.org/relation/2192363', 'https://www.openstreetmap.org/relation/2186660'], 'country': 'DK', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Københavns+Kommune,+Denmark', 'https://nominatim.openstreetmap.org/ui/search.html?q=Frederiksberg+Kommune,+Denmark'], 'osm_id': [2192363, 2186660], 'pop_GHSL2023': 764718.588683754, 'query': ['Københavns Kommune, Denmark', 'Frederiksberg Kommune, Denmark'], 'region': 'EU'}, 'Liechtenstein': {'OSM relation': ['https://www.openstreetmap.org/relation/1155955'], 'country': 'LI', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Liechtenstein'], 'osm_id': [1155955], 'pop_GHSL2023': 37289.27578861111, 'query': 'Liechtenstein', 'region': 'EU'}, 'Resistencia': {'OSM relation': ['https://www.openstreetmap.org/relation/1572779'], 'country': 'AR', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Resistencia,+Chaco,+Argentina'], 'osm_id': [1572779], 'pop_GHSL2023': 328740.3926395578, 'query': 'Resistencia, Chaco, Argentina', 'region': 'LatAm'}}, 'description': 'Larger test cities'}, 'test_small': {'cities': {'Adliswil': {'OSM relation': ['https://www.openstreetmap.org/relation/1682077'], 'country': 'CH', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Adliswil,+Bezirk+Horgen,+Zürich,+Switzerland'], 'osm_id': [1682077], 'pop_GHSL2023': 13676.786494255062, 'query': 'Adliswil, Bezirk Horgen, Zürich, Switzerland', 'region': 'EU'}, 'MissionTown': {'OSM relation': ['https://www.openstreetmap.org/relation/14163964'], 'country': 'CN', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=团城山街道,+Xialu,+Hubei,+China'], 'osm_id': [14163964], 'pop_GHSL2023': 101881.07181787488, 'query': '团城山街道, Xialu, Hubei, China', 'region': 'A&O'}, 'Scheveningen': {'OSM relation': ['https://www.openstreetmap.org/relation/13751467'], 'country': 'NL', 'nominatim link': ['https://nominatim.openstreetmap.org/ui/search.html?q=Scheveningen,+The+Hague,+Netherlands'], 'osm_id': [13751467], 'pop_GHSL2023': 77554.43975925444, 'query': 'Scheveningen, The Hague, Netherlands', 'region': 'EU'}}, 'description': 'Small test cities'}}, 'regions': {'A&O': 'Asia & Oceania', 'EU': 'Europe', 'LatAm': 'Latin America', 'MEA': 'Middle East & Africa', 'NAM': 'North America'}}#
yaml = <ruamel.yaml.main.YAML object>#
superblockify.config.set_log_level(level: int | str) None[source]#

Set the logging level for the superblockify logger.

Also sets the logging level for the first handler of the root logger.

Parameters:
levelint | str

The logging level. See the logging module for more information.

Raises:
ValueError

If the level is not a valid logging level.

superblockify.graph_stats module#

Spatial graph order measures for the superblockify package.

superblockify.graph_stats.basic_graph_stats(graph, area=None)[source]#

Calculate several basic graph stats.

This function calculates the stats from osmnx.stats.basic_stats() and adds the street count per node and the street orientation order (street_orientation_order()).

Parameters:
graphnetworkx.MultiDiGraph

The graph to calculate the stats of.

areafloat or None

The area of the graph in square meters. This is used to calculate density measures.

superblockify.graph_stats.calculate_component_metrics(components)[source]#

Calculate metrics for the components.

Calculates the metrics for the components and writes them to each component dictionary.

Parameters:
componentslist of dicts

List of dictionaries containing the components.

Notes

Works in-place on the components if they are defined, otherwise on the partitions.

superblockify.graph_stats.street_orientation_order(graph, num_bins)[source]#

Calculate the street orientation order of a graph.

\[\phi=1-\left(\frac{H_o-H_g}{H_{\max}-H_g}\right)^2\]

Where \(H_o\) is the orientation entropy of the graph, \(H_g\) is the minimal plausible entropy of a grid like city \(H_g \approx 1.386\), and \(H_{\max}\) is the maximal entropy of a city where the streets are uniformly distributed \(H_{\max} = \log(\text{num_bins=36}) \approx 3.584\). To make an order parameter of this from total disorder to order, \(\phi\) is designed to reach from 0 to 1. [1] [2]

Calculations are done on the undirected graph, and if the graph is projected, it is first unprojected to WGS84.

Parameters:
graphnetworkx.MultiDiGraph

The graph to calculate the street orientation order of.

num_binsint

The number of bins to use for the orientation histogram in the entropy calculation. Positive integer.

Returns:
float

The street orientation order of the graph as defined by [1].

Raises:
ValueError

If num_bins is not a positive integer.

References

[1] (1,2)

Boeing, G. Urban spatial order: street network orientation, configuration, and entropy. Appl Netw Sci 4, 67 (2019). https://doi.org/10.1007/s41109-019-0189-1

[2]

Boeing, G. Street Network Models and Indicators for Every Urban Area in the World. Geographical Analysis 54, 519–535 (2022). https://doi.org/10.1111/gean.12281

superblockify.plot module#

Plotting functions.

superblockify.plot.make_color_list(graph, attr, cmap, obj_type='edge', attr_types='numerical', minmax_val=None, none_color=(0.5, 0.5, 0.5, 1))[source]#

Make a list of colors based on an attribute and colormap.

Color will be chosen based on the specified attribute passed to a colormap.

Parameters:
graphnetworkx.MultiDiGraph

Input graph

attrstring

Graph’s attribute to select colors by

cmapmatplotlib.colors.Colormap

Colormap to use for the colors

obj_typestring, optional

Type of the object to take the attribute from, can be ‘edge’ or ‘node’

attr_typesstring, optional

Type of the attribute to be plotted, can be ‘numerical’ or ‘categorical’

minmax_valtuple, optional

If attr_types is ‘numerical’, tuple of (min, max) values of the attribute to be plotted (default: min and max of attr)

none_colortuple, optional

Color to use for objects with None attribute value

Returns:
list

List of colors, order is the same as in graph.nodes() or graph.edges()

Raises:
ValueError

If attr_types is not ‘numerical’ or ‘categorical’

ValueError

If attr_types is ‘categorical’ and minmax_val is not None

ValueError

If obj_type is not “edge” or “node”

superblockify.plot.make_edge_color_list(graph, attr, cmap, attr_types='numerical', minmax_val=None, none_color=(0.5, 0.5, 0.5, 1))[source]#

Make a list of edge colors based on an edge attribute and colormap.

Color will be chosen based on the specified edge attribute passed to a colormap.

Parameters:
graphnetworkx.MultiDiGraph

Input graph

attrstring

Graph’s edge attribute to select colors by

attr_typesstring, optional

Type of the edge attribute to be plotted, can be ‘numerical’ or ‘categorical’

cmapmatplotlib.colors.Colormap

Colormap to use for the edge colors

minmax_valtuple, optional

If attr_types is ‘numerical’, tuple of (min, max) values of the attribute to be plotted (default: min and max of attr)

none_colortuple, optional

Color to use for edges with None attribute value

Returns:
list

List of edge colors, order is the same as in graph.edges()

superblockify.plot.make_node_color_list(graph, attr, cmap, attr_types='numerical', minmax_val=None, none_color=(0.5, 0.5, 0.5, 1))[source]#

Make a list of node colors based on a node attribute and colormap.

Color will be chosen based on the specified node attribute passed to a colormap.

Parameters:
graphnetworkx.MultiDiGraph

Input graph

attrstring

Graph’s node attribute to select colors by

attr_typesstring, optional

Type of the node attribute to be plotted, can be ‘numerical’ or ‘categorical’

cmapmatplotlib.colors.Colormap

Colormap to use for the node colors

minmax_valtuple, optional

If attr_types is ‘numerical’, tuple of (min, max) values of the attribute to be plotted (default: min and max of attr)

none_colortuple, optional

Color to use for nodes with None attribute value

Returns:
list

List of node colors, order is the same as in graph.nodes()

Raises:
ValueError

If attr_types is not ‘numerical’ or ‘categorical’

ValueError

If attr_types is ‘categorical’ and minmax_val is not None

superblockify.plot.paint_streets(graph, cmap='hsv', **pg_kwargs)[source]#

Plot a graph with (cyclic) colormap related to edge direction.

Color will be chosen based on edge bearing, cyclic in 90 degree. Function is a wrapper around osmnx.plot_graph.

Parameters:
graphnetworkx.Graph

Input graph

cmapstring, optional

name of a matplotlib colormap

pg_kwargs

keyword arguments to pass to osmnx.plot_graph.

Returns:
fig, axtuple

matplotlib figure, axis

Raises:
ValueError

If no bearing attribute is found in the graph.

Examples

_See example in scripts/TestingNotebooks/20221122-painting_grids.py._

superblockify.plot.plot_by_attribute(graph, edge_attr=None, edge_attr_types='numerical', edge_cmap='hsv', edge_linewidth=1, edge_minmax_val=None, node_attr=None, node_attr_types='numerical', node_cmap='hsv', node_size=15, node_minmax_val=None, edge_color=None, node_color=None, **pg_kwargs)[source]#

Plot a graph based on an edge attribute and colormap.

Color will be chosen based on the specified edge attribute passed to a colormap. Function is a direct wrapper around osmnx.plot_graph.

Parameters:
graphnetworkx.MultiDiGraph

Input graph

edge_attrstring, optional

Graph’s edge attribute to select colors by

edge_attr_typesstring, optional

Type of the edge attribute to be plotted, can be ‘numerical’ or ‘categorical’

edge_cmapstring or matplotlib.colors.ListedColormap, optional

Name of a matplotlib colormap to use for the edge colors or a colormap object

edge_linewidthfloat, optional

Width of the edges’ lines

edge_minmax_valtuple, optional

Tuple of (min, max) values of the edge attribute to be plotted (default: min and max of edge attr)

node_attrstring, optional

Graph’s node attribute to select colors by

node_attr_typesstring, optional

Type of the node attribute to be plotted, can be ‘numerical’ or ‘categorical’

node_cmapstring or matplotlib.colors.ListedColormap, optional

Name of a matplotlib colormap to use for the node colors or a colormap object

node_sizeint, optional

Size of the nodes

node_minmax_valtuple, optional

Tuple of (min, max) values of the node attribute to be plotted (default: min and max of node attr)

pg_kwargs

Keyword arguments to pass to osmnx.plot_graph.

edge_colorstring, optional

Do not pass this attribute if edge_attr is set, as it is set by the edge attribute and colormap.

node_colorstring, optional

Do not pass this attribute if node_attr is set, as it is set by the node attribute and colormap.

Returns:
fig, axetuple

matplotlib figure, axis

Raises:
ValueError

If edge_color/node_color is set while edge_attr/node_attr is set.

ValueError

If edge_linewidth and node_size both <= 0, otherwise the plot will be empty.

ValueError

If edge_attr and node_attr are both None.

Notes

At least one of edge_attr or node_attr must be set.

superblockify.plot.plot_component_size(graph, attr, component_size, component_values, size_measure_label, ignore=None, title=None, cmap='hsv', minmax_val=None, num_component_log_scale=True, show_legend=None, xticks=None, **kwargs)[source]#

Plot the distribution of component sizes for each partition value.

x-axis: values of the partition y-axis: size of the component (e.g. number of edges, nodes or length) color: value of the partition

Parameters:
graphnetworkx.MultiDiGraph

Input graph

attrstring

Graph’s attribute to select colormap min and max values by if minmax_val is incomplete

component_sizelist

Number of edges in each component

component_valueslist

Value of the partition for each component

size_measure_labelstr

Label of the size measure (e.g. “Number of edges”, “Number of nodes”, “Length (m)”)

ignorelist, optional

List of values to ignore, plot in gray. If None, no values are ignored.

titlestr, optional

Title of the plot

cmapstring, optional

Name of a matplotlib colormap

minmax_valtuple, optional

Tuple of (min, max) values of the attribute to be plotted (default: min and max of attr)

num_component_log_scalebool, optional

If True, the y-axis is plotted on a log scale

show_legendbool, optional

If True, the legend is shown. If None, the legend is shown if the unique values of the partition are less than 23.

xtickslist, optional

List of xticks

kwargs

Keyword arguments to pass to matplotlib.pyplot.plot.

Returns:
fig, axetuple

matplotlib figure, axis

superblockify.plot.plot_road_type_for(graph, included_types, name, **plt_kwargs)[source]#

Plot the distribution of road types for the given graph.

Find possible road types from the graph’s edges, or at https://wiki.openstreetmap.org/wiki/Key:highway.

Parameters:
graphnetworkx.MultiDiGraph

Input graph

included_typeslist

List of osm highway keys to be highlighted, all other edges have another color

namestr

Title of the plot

plt_kwargs

Keyword arguments to pass to matplotlib.pyplot.plot.

Returns:
fig, axetuple

matplotlib figure, axis

superblockify.plot.save_plot(results_dir, fig, filename, **sa_kwargs)[source]#

Save the plot fig to file.

Saved in the results_dir/filename.

Parameters:
results_dirstr

Directory to save to.

figmatplotlib.figure.Figure

Figure to save.

filenamestr

Filename to save to.

sa_kwargs

Keyword arguments to pass to matplotlib.pyplot.savefig.

superblockify.utils module#

Utility functions for superblockify.

superblockify.utils.compare_components_and_partitions(list1, list2)[source]#

Compare two lists of dictionaries.

The lists are equal if they have the same length and the dictionaries in the lists are equal. If a value of a dictionary is a networkx.Graph, it compares the graphs with networkx.graph_equal().

Parameters:
list1list of dict

The first list of dictionaries to compare.

list2list of dict

The second list of dictionaries to compare.

Returns:
bool

True if the lists are equal, False otherwise.

superblockify.utils.compare_dicts(dict1, dict2)[source]#

Compare two dictionaries recursively.

Function to recursively compare nested dicts that might contain numpy arrays.

Parameters:
dict1dict

The first dictionary to compare.

dict2dict

The second dictionary to compare.

Returns:
bool

True if the dictionaries are equal, False otherwise.

superblockify.utils.extract_attributes(graph, edge_attributes, node_attributes)[source]#

Extract only the specified attributes from a graph.

Parameters:
graphnetworkx.MultiDiGraph

The graph to extract attributes from.

edge_attributesset

The edge attributes to keep.

node_attributesset

The node attributes to keep.

Returns:
networkx.MultiDiGraph

The graph with only the specified attributes.

superblockify.utils.has_pairwise_overlap(lists)[source]#

Return a boolean array indicating overlap between pairs of lists.

Uses numpy arrays and vector broadcasting to speed up the calculation. For short lists using set operations is faster.

Parameters:
listslist of lists

The lists to check for pairwise overlap. Lists can be of different length.

Returns:
has_overlapndarray

A boolean array indicating whether there is overlap between each pair of lists. has_overlap[i, j] is True if there is overlap between list i and list j, and False otherwise.

Raises:
ValueError

If lists is not a list of lists.

ValueError

If lists is empty.

superblockify.utils.load_graph_from_place(save_as, search_string, add_population=False, only_cache=False, max_nodes=20000, **gfp_kwargs)[source]#

Load a graph from a place and save it to a file.

The method filters the attributes of the graph to only include the ones that are needed for the package.

Parameters:
save_asstr

The name of the file to save the graph to.

search_stringstr or list of str

The place to load the graph from. Find the place name on OpenStreetMap. https://nominatim.openstreetmap.org/ Can otherwise be OSM relation ID or a list of those. They have the format “R1234567”. Not mixed with place names.

add_populationbool, optional

Whether to add population data to the graph. Default is False.

only_cachebool, optional

Whether to only load the graph from cache. Default is False.

max_nodesint, optional

Maximum number of nodes in the graph. If the graph has more nodes, it will be reduced to max_nodes, by taking the ego graph of a representative, central node. If None, the graph will not be reduced. Default is set in superblockify.config.

**gfp_kwargs

Keyword arguments to pass to osmnx.graph_from_place.

Returns:
networkx.MultiDiGraph or None

The graph loaded from the place. If only_cache is True, returns None.

superblockify.utils.load_graphml_dtypes(filepath=None, attribute_label=None, attribute_dtype=None)[source]#

Load a graphml file with custom dtypes.

Parameters:
filepathstr

Path to the graphml file.

attribute_labelstr, optional

The attribute label to convert to the specified dtype.

attribute_dtypetype, optional

The dtype to convert the attribute to.

Returns:
networkx.MultiDiGraph

The graph.

superblockify.utils.percentual_increase(val_1, val_2)[source]#

Compute the percentual increase between two values.

3 -> 4 = 33.33% = 1/3 4 -> 3 = -25.00% = -1/4

Parameters:
val_1float

The first value.

val_2float

The second value.

Returns:
float

The relative difference between the two values.

Notes

If both values are zero, the result is zero. If one value is zero, the result is +-infinity.

Module contents#

superblockify init.