├── Pipfile ├── Pipfile.lock ├── README.adoc ├── data └── roads.csv ├── notebooks ├── .ipynb_checkpoints │ ├── 00_Import-checkpoint.ipynb │ ├── 01_Random-Projection-checkpoint.ipynb │ └── 02_Node2vec-checkpoint.ipynb ├── .jupyter │ └── migrated ├── 00_Import.ipynb ├── 01_Random-Projection.ipynb ├── 02_Node2vec.ipynb └── charts │ ├── node2vec-color.json │ ├── node2vec.json │ ├── randomProjection-color.json │ └── randomProjection.json └── scripts ├── cypher ├── embeddings.cypher └── import.cypher └── python └── roads.py /Pipfile: -------------------------------------------------------------------------------- 1 | [[source]] 2 | name = "pypi" 3 | url = "https://pypi.org/simple" 4 | verify_ssl = true 5 | 6 | [dev-packages] 7 | 8 | [packages] 9 | neo4j = "*" 10 | sklearn = "*" 11 | altair = "*" 12 | altair-viewer = "*" 13 | jupyter = "*" 14 | scipy = "*" 15 | 16 | [requires] 17 | python_version = "3.7" 18 | -------------------------------------------------------------------------------- /Pipfile.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_meta": { 3 | "hash": { 4 | "sha256": "efe89c8c1410bb717e70a08f0ec1e1903c7274cd1dc2069a99147036cb899780" 5 | }, 6 | "pipfile-spec": 6, 7 | "requires": { 8 | "python_version": "3.7" 9 | }, 10 | "sources": [ 11 | { 12 | "name": "pypi", 13 | "url": "https://pypi.org/simple", 14 | "verify_ssl": true 15 | } 16 | ] 17 | }, 18 | "default": { 19 | "altair": { 20 | "hashes": [ 21 | "sha256:3edd30d4f4bb0a37278b72578e7e60bc72045a8e6704179e2f4738e35bc12931", 22 | "sha256:7748841a1bea8354173d1140bef6d3b58bea21d201f562528e9599ea384feb7f" 23 | ], 24 | "index": "pypi", 25 | "version": "==4.1.0" 26 | }, 27 | "altair-data-server": { 28 | "hashes": [ 29 | "sha256:b39205a48ab2678020fc58739cb973845879ed169cb5addddc9dcbf5a69aeb2b", 30 | "sha256:bd1414d69dbfec22c804b34210491d7313e5edc7736504dfb8c405ded0e2015b" 31 | ], 32 | "version": "==0.4.1" 33 | }, 34 | "altair-viewer": { 35 | "hashes": [ 36 | "sha256:2964dbde6b7c5be723ddd9d509db4de67c9fb4c765d4e864087dc931c4524439", 37 | "sha256:5e290c472b70f14b5c943d464b96ca78c7131bb5f515cdb8b031e0d0722267e5" 38 | ], 39 | "index": "pypi", 40 | "version": "==0.3.0" 41 | }, 42 | "attrs": { 43 | "hashes": [ 44 | "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c", 45 | "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72" 46 | ], 47 | "version": "==19.3.0" 48 | }, 49 | "backcall": { 50 | "hashes": [ 51 | "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e", 52 | "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255" 53 | ], 54 | "version": "==0.2.0" 55 | }, 56 | "bleach": { 57 | "hashes": [ 58 | "sha256:2bce3d8fab545a6528c8fa5d9f9ae8ebc85a56da365c7f85180bfe96a35ef22f", 59 | "sha256:3c4c520fdb9db59ef139915a5db79f8b51bc2a7257ea0389f30c846883430a4b" 60 | ], 61 | "version": "==3.1.5" 62 | }, 63 | "decorator": { 64 | "hashes": [ 65 | "sha256:41fa54c2a0cc4ba648be4fd43cff00aedf5b9465c9bf18d64325bc225f08f760", 66 | "sha256:e3a62f0520172440ca0dcc823749319382e377f37f140a0b99ef45fecb84bfe7" 67 | ], 68 | "version": "==4.4.2" 69 | }, 70 | "defusedxml": { 71 | "hashes": [ 72 | "sha256:6687150770438374ab581bb7a1b327a847dd9c5749e396102de3fad4e8a3ef93", 73 | "sha256:f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" 74 | ], 75 | "version": "==0.6.0" 76 | }, 77 | "entrypoints": { 78 | "hashes": [ 79 | "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19", 80 | "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451" 81 | ], 82 | "version": "==0.3" 83 | }, 84 | "importlib-metadata": { 85 | "hashes": [ 86 | "sha256:90bb658cdbbf6d1735b6341ce708fc7024a3e14e99ffdc5783edea9f9b077f83", 87 | "sha256:dc15b2969b4ce36305c51eebe62d418ac7791e9a157911d58bfb1f9ccd8e2070" 88 | ], 89 | "markers": "python_version < '3.8'", 90 | "version": "==1.7.0" 91 | }, 92 | "ipykernel": { 93 | "hashes": [ 94 | "sha256:0a5f1fc6f63241b9710b5960d314ffe44d8a18bf6674e3f28d2542b192fa318c", 95 | "sha256:89dc4bd19c7781f6d7eef0e666c59ce57beac56bb39b511544a71397b7b31cbb" 96 | ], 97 | "version": "==5.3.2" 98 | }, 99 | "ipython": { 100 | "hashes": [ 101 | "sha256:2dbcc8c27ca7d3cfe4fcdff7f45b27f9a8d3edfa70ff8024a71c7a8eb5f09d64", 102 | "sha256:9f4fcb31d3b2c533333893b9172264e4821c1ac91839500f31bd43f2c59b3ccf" 103 | ], 104 | "markers": "python_version >= '3.3'", 105 | "version": "==7.16.1" 106 | }, 107 | "ipython-genutils": { 108 | "hashes": [ 109 | "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8", 110 | "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8" 111 | ], 112 | "version": "==0.2.0" 113 | }, 114 | "ipywidgets": { 115 | "hashes": [ 116 | "sha256:13ffeca438e0c0f91ae583dc22f50379b9d6b28390ac7be8b757140e9a771516", 117 | "sha256:e945f6e02854a74994c596d9db83444a1850c01648f1574adf144fbbabe05c97" 118 | ], 119 | "version": "==7.5.1" 120 | }, 121 | "jedi": { 122 | "hashes": [ 123 | "sha256:1ddb0ec78059e8e27ec9eb5098360b4ea0a3dd840bedf21415ea820c21b40a22", 124 | "sha256:807d5d4f96711a2bcfdd5dfa3b1ae6d09aa53832b182090b222b5efb81f52f63" 125 | ], 126 | "version": "==0.17.1" 127 | }, 128 | "jinja2": { 129 | "hashes": [ 130 | "sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0", 131 | "sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035" 132 | ], 133 | "version": "==2.11.2" 134 | }, 135 | "joblib": { 136 | "hashes": [ 137 | "sha256:8f52bf24c64b608bf0b2563e0e47d6fcf516abc8cfafe10cfd98ad66d94f92d6", 138 | "sha256:d348c5d4ae31496b2aa060d6d9b787864dd204f9480baaa52d18850cb43e9f49" 139 | ], 140 | "version": "==0.16.0" 141 | }, 142 | "jsonschema": { 143 | "hashes": [ 144 | "sha256:4e5b3cf8216f577bee9ce139cbe72eca3ea4f292ec60928ff24758ce626cd163", 145 | "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a" 146 | ], 147 | "version": "==3.2.0" 148 | }, 149 | "jupyter": { 150 | "hashes": [ 151 | "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7", 152 | "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78", 153 | "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f" 154 | ], 155 | "index": "pypi", 156 | "version": "==1.0.0" 157 | }, 158 | "jupyter-client": { 159 | "hashes": [ 160 | "sha256:5099cda1ac86b27b655a715c51e15bdc8bd9595b2b17adb41a2bd446bbbafc4a", 161 | "sha256:9f0092a0951d878e7521924899e1fba6f689c7a99d43735a4c0bc05c6f311452" 162 | ], 163 | "version": "==6.1.5" 164 | }, 165 | "jupyter-console": { 166 | "hashes": [ 167 | "sha256:6f6ead433b0534909df789ea64f0a14cdf9b6b2360757756f08182be4b9e431b", 168 | "sha256:b392155112ec86a329df03b225749a0fa903aa80811e8eda55796a40b5e470d8" 169 | ], 170 | "version": "==6.1.0" 171 | }, 172 | "jupyter-core": { 173 | "hashes": [ 174 | "sha256:394fd5dd787e7c8861741880bdf8a00ce39f95de5d18e579c74b882522219e7e", 175 | "sha256:a4ee613c060fe5697d913416fc9d553599c05e4492d58fac1192c9a6844abb21" 176 | ], 177 | "version": "==4.6.3" 178 | }, 179 | "markupsafe": { 180 | "hashes": [ 181 | "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473", 182 | "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161", 183 | "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235", 184 | "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5", 185 | "sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42", 186 | "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff", 187 | "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b", 188 | "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1", 189 | "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e", 190 | "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183", 191 | "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66", 192 | "sha256:596510de112c685489095da617b5bcbbac7dd6384aeebeda4df6025d0256a81b", 193 | "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1", 194 | "sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15", 195 | "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1", 196 | "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e", 197 | "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b", 198 | "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905", 199 | "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735", 200 | "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d", 201 | "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e", 202 | "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d", 203 | "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c", 204 | "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21", 205 | "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2", 206 | "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5", 207 | "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b", 208 | "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6", 209 | "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f", 210 | "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f", 211 | "sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2", 212 | "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7", 213 | "sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be" 214 | ], 215 | "version": "==1.1.1" 216 | }, 217 | "mistune": { 218 | "hashes": [ 219 | "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e", 220 | "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4" 221 | ], 222 | "version": "==0.8.4" 223 | }, 224 | "nbconvert": { 225 | "hashes": [ 226 | "sha256:21fb48e700b43e82ba0e3142421a659d7739b65568cc832a13976a77be16b523", 227 | "sha256:f0d6ec03875f96df45aa13e21fd9b8450c42d7e1830418cccc008c0df725fcee" 228 | ], 229 | "version": "==5.6.1" 230 | }, 231 | "nbformat": { 232 | "hashes": [ 233 | "sha256:54d4d6354835a936bad7e8182dcd003ca3dc0cedfee5a306090e04854343b340", 234 | "sha256:ea55c9b817855e2dfcd3f66d74857342612a60b1f09653440f4a5845e6e3523f" 235 | ], 236 | "version": "==5.0.7" 237 | }, 238 | "neo4j": { 239 | "hashes": [ 240 | "sha256:f82fcf10cfce1fc63a5b2404a1583bd28d048d04320ace0f7d5c06c70122c8ad" 241 | ], 242 | "index": "pypi", 243 | "version": "==4.0.1" 244 | }, 245 | "notebook": { 246 | "hashes": [ 247 | "sha256:3edc616c684214292994a3af05eaea4cc043f6b4247d830f3a2f209fa7639a80", 248 | "sha256:47a9092975c9e7965ada00b9a20f0cf637d001db60d241d479f53c0be117ad48" 249 | ], 250 | "version": "==6.0.3" 251 | }, 252 | "numpy": { 253 | "hashes": [ 254 | "sha256:13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0", 255 | "sha256:26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98", 256 | "sha256:26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27", 257 | "sha256:30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2", 258 | "sha256:33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b", 259 | "sha256:356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23", 260 | "sha256:3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7", 261 | "sha256:4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7", 262 | "sha256:63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb", 263 | "sha256:658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf", 264 | "sha256:76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598", 265 | "sha256:7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3", 266 | "sha256:7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4", 267 | "sha256:8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610", 268 | "sha256:a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632", 269 | "sha256:a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0", 270 | "sha256:a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef", 271 | "sha256:b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd", 272 | "sha256:be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0", 273 | "sha256:c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b", 274 | "sha256:cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a", 275 | "sha256:d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e", 276 | "sha256:d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d", 277 | "sha256:dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796", 278 | "sha256:df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a", 279 | "sha256:fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596" 280 | ], 281 | "version": "==1.19.0" 282 | }, 283 | "packaging": { 284 | "hashes": [ 285 | "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8", 286 | "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181" 287 | ], 288 | "version": "==20.4" 289 | }, 290 | "pandas": { 291 | "hashes": [ 292 | "sha256:02f1e8f71cd994ed7fcb9a35b6ddddeb4314822a0e09a9c5b2d278f8cb5d4096", 293 | "sha256:13f75fb18486759da3ff40f5345d9dd20e7d78f2a39c5884d013456cec9876f0", 294 | "sha256:35b670b0abcfed7cad76f2834041dcf7ae47fd9b22b63622d67cdc933d79f453", 295 | "sha256:4c73f373b0800eb3062ffd13d4a7a2a6d522792fa6eb204d67a4fad0a40f03dc", 296 | "sha256:5759edf0b686b6f25a5d4a447ea588983a33afc8a0081a0954184a4a87fd0dd7", 297 | "sha256:5a7cf6044467c1356b2b49ef69e50bf4d231e773c3ca0558807cdba56b76820b", 298 | "sha256:69c5d920a0b2a9838e677f78f4dde506b95ea8e4d30da25859db6469ded84fa8", 299 | "sha256:8778a5cc5a8437a561e3276b85367412e10ae9fff07db1eed986e427d9a674f8", 300 | "sha256:9871ef5ee17f388f1cb35f76dc6106d40cb8165c562d573470672f4cdefa59ef", 301 | "sha256:9c31d52f1a7dd2bb4681d9f62646c7aa554f19e8e9addc17e8b1b20011d7522d", 302 | "sha256:ab8173a8efe5418bbe50e43f321994ac6673afc5c7c4839014cf6401bbdd0705", 303 | "sha256:ae961f1f0e270f1e4e2273f6a539b2ea33248e0e3a11ffb479d757918a5e03a9", 304 | "sha256:b3c4f93fcb6e97d993bf87cdd917883b7dab7d20c627699f360a8fb49e9e0b91", 305 | "sha256:c9410ce8a3dee77653bc0684cfa1535a7f9c291663bd7ad79e39f5ab58f67ab3", 306 | "sha256:f69e0f7b7c09f1f612b1f8f59e2df72faa8a6b41c5a436dde5b615aaf948f107", 307 | "sha256:faa42a78d1350b02a7d2f0dbe3c80791cf785663d6997891549d0f86dc49125e" 308 | ], 309 | "version": "==1.0.5" 310 | }, 311 | "pandocfilters": { 312 | "hashes": [ 313 | "sha256:b3dd70e169bb5449e6bc6ff96aea89c5eea8c5f6ab5e207fc2f521a2cf4a0da9" 314 | ], 315 | "version": "==1.4.2" 316 | }, 317 | "parso": { 318 | "hashes": [ 319 | "sha256:158c140fc04112dc45bca311633ae5033c2c2a7b732fa33d0955bad8152a8dd0", 320 | "sha256:908e9fae2144a076d72ae4e25539143d40b8e3eafbaeae03c1bfe226f4cdf12c" 321 | ], 322 | "version": "==0.7.0" 323 | }, 324 | "pexpect": { 325 | "hashes": [ 326 | "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", 327 | "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" 328 | ], 329 | "markers": "sys_platform != 'win32'", 330 | "version": "==4.8.0" 331 | }, 332 | "pickleshare": { 333 | "hashes": [ 334 | "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca", 335 | "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56" 336 | ], 337 | "version": "==0.7.5" 338 | }, 339 | "portpicker": { 340 | "hashes": [ 341 | "sha256:d2cdc776873635ed421315c4d22e63280042456bbfa07397817e687b142b9667" 342 | ], 343 | "version": "==1.3.1" 344 | }, 345 | "prometheus-client": { 346 | "hashes": [ 347 | "sha256:983c7ac4b47478720db338f1491ef67a100b474e3bc7dafcbaefb7d0b8f9b01c", 348 | "sha256:c6e6b706833a6bd1fd51711299edee907857be10ece535126a158f911ee80915" 349 | ], 350 | "version": "==0.8.0" 351 | }, 352 | "prompt-toolkit": { 353 | "hashes": [ 354 | "sha256:563d1a4140b63ff9dd587bda9557cffb2fe73650205ab6f4383092fb882e7dc8", 355 | "sha256:df7e9e63aea609b1da3a65641ceaf5bc7d05e0a04de5bd45d05dbeffbabf9e04" 356 | ], 357 | "version": "==3.0.5" 358 | }, 359 | "ptyprocess": { 360 | "hashes": [ 361 | "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0", 362 | "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f" 363 | ], 364 | "markers": "os_name != 'nt'", 365 | "version": "==0.6.0" 366 | }, 367 | "pygments": { 368 | "hashes": [ 369 | "sha256:647344a061c249a3b74e230c739f434d7ea4d8b1d5f3721bc0f3558049b38f44", 370 | "sha256:ff7a40b4860b727ab48fad6360eb351cc1b33cbf9b15a0f689ca5353e9463324" 371 | ], 372 | "version": "==2.6.1" 373 | }, 374 | "pyparsing": { 375 | "hashes": [ 376 | "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", 377 | "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" 378 | ], 379 | "version": "==2.4.7" 380 | }, 381 | "pyrsistent": { 382 | "hashes": [ 383 | "sha256:28669905fe725965daa16184933676547c5bb40a5153055a8dee2a4bd7933ad3" 384 | ], 385 | "version": "==0.16.0" 386 | }, 387 | "python-dateutil": { 388 | "hashes": [ 389 | "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c", 390 | "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a" 391 | ], 392 | "version": "==2.8.1" 393 | }, 394 | "pytz": { 395 | "hashes": [ 396 | "sha256:a494d53b6d39c3c6e44c3bec237336e14305e4f29bbf800b599253057fbb79ed", 397 | "sha256:c35965d010ce31b23eeb663ed3cc8c906275d6be1a34393a1d73a41febf4a048" 398 | ], 399 | "version": "==2020.1" 400 | }, 401 | "pyzmq": { 402 | "hashes": [ 403 | "sha256:07fb8fe6826a229dada876956590135871de60dbc7de5a18c3bcce2ed1f03c98", 404 | "sha256:13a5638ab24d628a6ade8f794195e1a1acd573496c3b85af2f1183603b7bf5e0", 405 | "sha256:15b4cb21118f4589c4db8be4ac12b21c8b4d0d42b3ee435d47f686c32fe2e91f", 406 | "sha256:21f7d91f3536f480cb2c10d0756bfa717927090b7fb863e6323f766e5461ee1c", 407 | "sha256:2a88b8fabd9cc35bd59194a7723f3122166811ece8b74018147a4ed8489e6421", 408 | "sha256:342fb8a1dddc569bc361387782e8088071593e7eaf3e3ecf7d6bd4976edff112", 409 | "sha256:4ee0bfd82077a3ff11c985369529b12853a4064320523f8e5079b630f9551448", 410 | "sha256:54aa24fd60c4262286fc64ca632f9e747c7cc3a3a1144827490e1dc9b8a3a960", 411 | "sha256:58688a2dfa044fad608a8e70ba8d019d0b872ec2acd75b7b5e37da8905605891", 412 | "sha256:5b99c2ae8089ef50223c28bac57510c163bfdff158c9e90764f812b94e69a0e6", 413 | "sha256:5b9d21fc56c8aacd2e6d14738021a9d64f3f69b30578a99325a728e38a349f85", 414 | "sha256:5f1f2eb22aab606f808163eb1d537ac9a0ba4283fbeb7a62eb48d9103cf015c2", 415 | "sha256:6ca519309703e95d55965735a667809bbb65f52beda2fdb6312385d3e7a6d234", 416 | "sha256:87c78f6936e2654397ca2979c1d323ee4a889eef536cc77a938c6b5be33351a7", 417 | "sha256:8952f6ba6ae598e792703f3134af5a01af8f5c7cf07e9a148f05a12b02412cea", 418 | "sha256:931339ac2000d12fe212e64f98ce291e81a7ec6c73b125f17cf08415b753c087", 419 | "sha256:956775444d01331c7eb412c5fb9bb62130dfaac77e09f32764ea1865234e2ca9", 420 | "sha256:97b6255ae77328d0e80593681826a0479cb7bac0ba8251b4dd882f5145a2293a", 421 | "sha256:aaa8b40b676576fd7806839a5de8e6d5d1b74981e6376d862af6c117af2a3c10", 422 | "sha256:af0c02cf49f4f9eedf38edb4f3b6bb621d83026e7e5d76eb5526cc5333782fd6", 423 | "sha256:b08780e3a55215873b3b8e6e7ca8987f14c902a24b6ac081b344fd430d6ca7cd", 424 | "sha256:ba6f24431b569aec674ede49cad197cad59571c12deed6ad8e3c596da8288217", 425 | "sha256:bafd651b557dd81d89bd5f9c678872f3e7b7255c1c751b78d520df2caac80230", 426 | "sha256:bfff5ffff051f5aa47ba3b379d87bd051c3196b0c8a603e8b7ed68a6b4f217ec", 427 | "sha256:cf5d689ba9513b9753959164cf500079383bc18859f58bf8ce06d8d4bef2b054", 428 | "sha256:dcbc3f30c11c60d709c30a213dc56e88ac016fe76ac6768e64717bd976072566", 429 | "sha256:f9d7e742fb0196992477415bb34366c12e9bb9a0699b8b3f221ff93b213d7bec", 430 | "sha256:faee2604f279d31312bc455f3d024f160b6168b9c1dde22bf62d8c88a4deca8e" 431 | ], 432 | "version": "==19.0.1" 433 | }, 434 | "qtconsole": { 435 | "hashes": [ 436 | "sha256:4f43d0b049eacb7d723772847f0c465feccce0ccb398871a6e146001a22bad23", 437 | "sha256:f5cb275d30fc8085e2d1d18bc363e5ba0ce6e559bf37d7d6727b773134298754" 438 | ], 439 | "version": "==4.7.5" 440 | }, 441 | "qtpy": { 442 | "hashes": [ 443 | "sha256:2db72c44b55d0fe1407be8fba35c838ad0d6d3bb81f23007886dc1fc0f459c8d", 444 | "sha256:fa0b8363b363e89b2a6f49eddc162a04c0699ae95e109a6be3bb145a913190ea" 445 | ], 446 | "version": "==1.9.0" 447 | }, 448 | "scikit-learn": { 449 | "hashes": [ 450 | "sha256:04799686060ecbf8992f26a35be1d99e981894c8c7860c1365cda4200f954a16", 451 | "sha256:058d213092de4384710137af1300ed0ff030b8c40459a6c6f73c31ccd274cc39", 452 | "sha256:0c3464e46ef8bd4f1bfa5c009648c6449412c8f7e9b3fc0c9e3d800139c48827", 453 | "sha256:0e7b55f73b35537ecd0d19df29dd39aa9e076dba78f3507b8136c819d84611fd", 454 | "sha256:16feae4361be6b299d4d08df5a30956b4bfc8eadf173fe9258f6d59630f851d4", 455 | "sha256:244ca85d6eba17a1e6e8a66ab2f584be6a7784b5f59297e3d7ff8c7983af627c", 456 | "sha256:3e6e92b495eee193a8fa12a230c9b7976ea0fc1263719338e35c986ea1e42cff", 457 | "sha256:5bcea4d6ee431c814261117281363208408aa4e665633655895feb059021aca6", 458 | "sha256:93f56abd316d131645559ec0ab4f45e3391c2ccdd4eadaa4912f4c1e0a6f2c96", 459 | "sha256:9e04c0811ea92931ee8490d638171b8cb2f21387efcfff526bbc8c2a3da60f1c", 460 | "sha256:bded94236e16774385202cafd26190ce96db18e4dc21e99473848c61e4fdc400", 461 | "sha256:c2fa33d20408b513cf432505c80e6eb4bf4d71434f1ae36680765d4a2c2a16ec", 462 | "sha256:e3fec1c8831f8f93ad85581ca29ca1bb88e2da377fb097cf8322aa89c21bc9b8", 463 | "sha256:e585682e37f2faa81ad6cd4472fff646bf2fd0542147bec93697a905db8e6bd2", 464 | "sha256:e9879ba9e64ec3add41bf201e06034162f853652ef4849b361d73b0deb3153ad", 465 | "sha256:ebe853e6f318f9d8b3b74dd17e553720d35646eff675a69eeaed12fbbbb07daa" 466 | ], 467 | "version": "==0.23.1" 468 | }, 469 | "scipy": { 470 | "hashes": [ 471 | "sha256:039572f0ca9578a466683558c5bf1e65d442860ec6e13307d528749cfe6d07b8", 472 | "sha256:058e84930407927f71963a4ad8c1dc96c4d2d075636a68578195648c81f78810", 473 | "sha256:06b19a650471781056c1a2172eeeeb777b8b516e9434005dd392a4559e0938b9", 474 | "sha256:35d042d6499caf1a5d171baed0ebf01eb665b7af2ad98a8ff1b0e6e783654540", 475 | "sha256:57a0f2be3063dbe1e3daf31ec9005576e8fd1022a28159d0db71d14566899d16", 476 | "sha256:5e0bb43ff581811ab7f27425f6b96c1ddf7591ccad2e486c9af0b910c18f7185", 477 | "sha256:71742889393a724dfce755b6b61228677873d269a4234e51ddaf08b998433c91", 478 | "sha256:7908c85854c5b5b6d3ce7fefafac1ca3e23ff9ac41edabc2d46ae5dc9fa070ac", 479 | "sha256:81859ed3aad620752dd2c07c32b5d3a80a0d47c5e3813904621954a78a0ae899", 480 | "sha256:8302d69fb1528ea7c7f2a1ea640d354c981b6eb8192d1c175349874209397604", 481 | "sha256:9323d268775991b79690f7b9a28a4e8b8c4f2b160ed9f8a90123127314e2d3c1", 482 | "sha256:b4858ccbd88f4b53950fb9fc0069c1d9fea83d7cff2382e1d8b023d3f4883014", 483 | "sha256:c05c6fe76228cc13c5214e9faf5f2a871a1da54473bc417ab9da310d0e5fff8b", 484 | "sha256:c06e731aa46c0dfc563cc636155758178ebc019ef78b9b0f4370effe2ac0f0e6", 485 | "sha256:eb46d8b5947ca27b0bc972cecfba8130f088a83ab3d08c1a6033d9070b3046b3", 486 | "sha256:fff15df01bef1243468be60c55178ed7576270b200aab08a7ffd5b8e0bbc340c" 487 | ], 488 | "index": "pypi", 489 | "version": "==1.5.1" 490 | }, 491 | "send2trash": { 492 | "hashes": [ 493 | "sha256:60001cc07d707fe247c94f74ca6ac0d3255aabcb930529690897ca2a39db28b2", 494 | "sha256:f1691922577b6fa12821234aeb57599d887c4900b9ca537948d2dac34aea888b" 495 | ], 496 | "version": "==1.5.0" 497 | }, 498 | "six": { 499 | "hashes": [ 500 | "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", 501 | "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced" 502 | ], 503 | "version": "==1.15.0" 504 | }, 505 | "sklearn": { 506 | "hashes": [ 507 | "sha256:e23001573aa194b834122d2b9562459bf5ae494a2d59ca6b8aa22c85a44c0e31" 508 | ], 509 | "index": "pypi", 510 | "version": "==0.0" 511 | }, 512 | "terminado": { 513 | "hashes": [ 514 | "sha256:4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2", 515 | "sha256:a43dcb3e353bc680dd0783b1d9c3fc28d529f190bc54ba9a229f72fe6e7a54d7" 516 | ], 517 | "version": "==0.8.3" 518 | }, 519 | "testpath": { 520 | "hashes": [ 521 | "sha256:60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e", 522 | "sha256:bfcf9411ef4bf3db7579063e0546938b1edda3d69f4e1fb8756991f5951f85d4" 523 | ], 524 | "version": "==0.4.4" 525 | }, 526 | "threadpoolctl": { 527 | "hashes": [ 528 | "sha256:38b74ca20ff3bb42caca8b00055111d74159ee95c4370882bbff2b93d24da725", 529 | "sha256:ddc57c96a38beb63db45d6c159b5ab07b6bced12c45a1f07b2b92f272aebfa6b" 530 | ], 531 | "version": "==2.1.0" 532 | }, 533 | "toolz": { 534 | "hashes": [ 535 | "sha256:08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560" 536 | ], 537 | "version": "==0.10.0" 538 | }, 539 | "tornado": { 540 | "hashes": [ 541 | "sha256:0fe2d45ba43b00a41cd73f8be321a44936dc1aba233dee979f17a042b83eb6dc", 542 | "sha256:22aed82c2ea340c3771e3babc5ef220272f6fd06b5108a53b4976d0d722bcd52", 543 | "sha256:2c027eb2a393d964b22b5c154d1a23a5f8727db6fda837118a776b29e2b8ebc6", 544 | "sha256:5217e601700f24e966ddab689f90b7ea4bd91ff3357c3600fa1045e26d68e55d", 545 | "sha256:5618f72e947533832cbc3dec54e1dffc1747a5cb17d1fd91577ed14fa0dc081b", 546 | "sha256:5f6a07e62e799be5d2330e68d808c8ac41d4a259b9cea61da4101b83cb5dc673", 547 | "sha256:c58d56003daf1b616336781b26d184023ea4af13ae143d9dda65e31e534940b9", 548 | "sha256:c952975c8ba74f546ae6de2e226ab3cc3cc11ae47baf607459a6728585bb542a", 549 | "sha256:c98232a3ac391f5faea6821b53db8db461157baa788f5d6222a193e9456e1740" 550 | ], 551 | "version": "==6.0.4" 552 | }, 553 | "traitlets": { 554 | "hashes": [ 555 | "sha256:70b4c6a1d9019d7b4f6846832288f86998aa3b9207c6821f3578a6a6a467fe44", 556 | "sha256:d023ee369ddd2763310e4c3eae1ff649689440d4ae59d7485eb4cfbbe3e359f7" 557 | ], 558 | "version": "==4.3.3" 559 | }, 560 | "wcwidth": { 561 | "hashes": [ 562 | "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", 563 | "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" 564 | ], 565 | "version": "==0.2.5" 566 | }, 567 | "webencodings": { 568 | "hashes": [ 569 | "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", 570 | "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923" 571 | ], 572 | "version": "==0.5.1" 573 | }, 574 | "widgetsnbextension": { 575 | "hashes": [ 576 | "sha256:079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7", 577 | "sha256:bd314f8ceb488571a5ffea6cc5b9fc6cba0adaf88a9d2386b93a489751938bcd" 578 | ], 579 | "version": "==3.5.1" 580 | }, 581 | "zipp": { 582 | "hashes": [ 583 | "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b", 584 | "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96" 585 | ], 586 | "version": "==3.1.0" 587 | } 588 | }, 589 | "develop": {} 590 | } 591 | -------------------------------------------------------------------------------- /README.adoc: -------------------------------------------------------------------------------- 1 | = Neo4j Graph Embeddings 2 | 3 | This repository goes with the Applied Graph Embeddings tutorial, which you can find at https://neo4j.com/developer/applied-graph-embeddings/[neo4j.com/developer/applied-graph-embeddings^] 4 | 5 | == Importing dataset 6 | 7 | You can import the dataset by executing the commands described in link:scripts/cypher/import.cypher[import.cypher], using https://neo4j.com/developer/neo4j-browser/[Neo4j Browser^] or https://neo4j.com/docs/operations-manual/current/tools/cypher-shell/[Cypher Shell^]. 8 | -------------------------------------------------------------------------------- /data/roads.csv: -------------------------------------------------------------------------------- 1 | road_number,origin_country_code,origin_reference_place,destination_country_code,destination_reference_place,distance,watercrossing 2 | E01,GB,Larne,GB,Belfast,36,false 3 | E01,GB,Belfast,IRL,Dublin,165,false 4 | E01,IRL,Dublin,IRL,Wexford,140,false 5 | E01,IRL,Wexford,IRL,Rosslare,19,false 6 | E01,IRL,Rosslare,E,La Coruña,1002,true 7 | E01,E,La Coruña,E,Pontevedra,128,false 8 | E01,E,Pontevedra,P,Valença do Minho,57,false 9 | E01,P,Valença do Minho,P,Porto,115,false 10 | E01,P,Porto,P,Aveiro,67,false 11 | E01,P,Aveiro,P,Coimbra,61,false 12 | E01,P,Coimbra,P,Lisboa,199,false 13 | E01,P,Lisboa,P,Setúbal,46,false 14 | E01,P,Setúbal,P,Faro,262,false 15 | E01,P,Faro,P,Vila Real de Santo António,57,false 16 | E01,P,Vila Real de Santo António,E,Huelva,62,false 17 | E01,E,Huelva,E,Sevilla,91,false 18 | E03,F,Cherbourg,F,Rennes,205,false 19 | E03,F,Rennes,F,Nantes,112,false 20 | E03,F,Nantes,F,La Rochelle,143,false 21 | E04,S,Helsingborg,S,Jönköping,241,false 22 | E04,S,Jönköping,S,Norrköping,170,false 23 | E04,S,Norrköping,S,Södertälje,130,false 24 | E04,S,Södertälje,S,Stockholm,32,false 25 | E04,S,Stockholm,S,Sundsvall,387,false 26 | E04,S,Sundsvall,S,Umeå,281,false 27 | E04,S,Umeå,S,Luleå,274,false 28 | E04,S,Luleå,S,Haparanda,134,false 29 | E04,S,Haparanda,FIN,Tornio,6,false 30 | E04,FIN,Tornio,FIN,Kemi,33,false 31 | E05,GB,Greenock,GB,Glasgow,40,false 32 | E05,GB,Glasgow,GB,Gretna,142,false 33 | E05,GB,Gretna,GB,Carlisle,16,false 34 | E05,GB,Carlisle,GB,Penrith,40,false 35 | E05,GB,Penrith,GB,Preston,109,false 36 | E05,GB,Preston,GB,Warrington,49,false 37 | E05,GB,Warrington,GB,Birmingham,128,false 38 | E05,GB,Birmingham,GB,Newbury,166,false 39 | E05,GB,Newbury,GB,Southampton,71,false 40 | E05,GB,Southampton,F,Le Havre,207,true 41 | E05,F,Le Havre,F,Paris,196,false 42 | E05,F,Paris,F,Orléans,134,false 43 | E05,F,Orléans,F,Tours,118,false 44 | E05,F,Tours,F,Poitiers,101,false 45 | E05,F,Poitiers,F,Bordeaux,256,false 46 | E05,F,Bordeaux,E,San Sebastián,243,false 47 | E05,E,San Sebastián,E,Burgos,246,false 48 | E05,E,Burgos,E,Madrid,250,false 49 | E05,E,Madrid,E,Cordóba,391,false 50 | E05,E,Cordóba,E,Sevilla,141,false 51 | E05,E,Sevilla,E,Cádiz,122,false 52 | E05,E,Cádiz,E,Algeciras,117,false 53 | E06,S,Trelleborg,S,Malmö,27,false 54 | E06,S,Malmö,S,Halmstad,140,false 55 | E06,S,Halmstad,S,Göteborg,136,false 56 | E06,S,Göteborg,N,Oslo,314,false 57 | E06,N,Oslo,N,Lillehammer,178,false 58 | E06,N,Lillehammer,N,Trondheim,352,false 59 | E06,N,Trondheim,N,Narvik,887,false 60 | E06,N,Narvik,N,Olderfjord,612,false 61 | E06,N,Olderfjord,N,Karasjok,138,false 62 | E06,N,Karasjok,N,Kirkenes,267,false 63 | E07,F,Pau,E,Jaça,115,false 64 | E07,E,Jaça,E,Huesca,73,false 65 | E07,E,Huesca,E,Zaragoza,72,false 66 | E08,N,Tromsø,N,Nordkjosbotn,70,false 67 | E08,N,Nordkjosbotn,N,Skibotn,48,false 68 | E08,N,Skibotn,FIN,Kilpisjärvi,44,false 69 | E08,FIN,Kilpisjärvi,FIN,Tornio,457,false 70 | E09,F,Orléans,F,Limoges,277,false 71 | E09,F,Limoges,F,Toulouse,299,false 72 | E09,F,Toulouse,E,Barcelona,391,false 73 | E10,N,Å,N,Narvik,400,false 74 | E10,N,Narvik,S,Kiruna,175,false 75 | E10,S,Kiruna,S,Luleå,350,false 76 | E105,N,Kirkenes,RUS,Murmansk,243,false 77 | E105,RUS,Murmansk,RUS,Petrozavodsk,948,false 78 | E105,RUS,Petrozavodsk,RUS,Sankt-Peterburg,415,false 79 | E105,RUS,Sankt-Peterburg,RUS,Moskva,717,false 80 | E105,RUS,Moskva,RUS,Orel,357,false 81 | E105,RUS,Orel,UA,Charkov,379,false 82 | E105,UA,Charkov,UA,Simferopol,649,false 83 | E105,UA,Simferopol,UA,Alushta,43,false 84 | E105,UA,Alushta,UA,Jalta,43,false 85 | E11,F,Vierzon,F,Montluçon,121,false 86 | E11,F,Montluçon,F,Clermont-Ferrand,114,false 87 | E11,F,Clermont-Ferrand,F,Montpellier,335,false 88 | E115,RUS,Moskva,RUS,Rostov-na-Donu,1066,false 89 | E115,RUS,Rostov-na-Donu,RUS,Stavropol,411,false 90 | E115,RUS,Stavropol,RUS,Machačkala,624,false 91 | E115,RUS,Machačkala,AZ,Baku,400,false 92 | E115,AZ,Baku, ,*Iran*,307,false 93 | E12,N,Mo i Rana,S,Umeå,475,false 94 | E12,S,Umeå,FIN,Vaasa,118,true 95 | E12,FIN,Vaasa,FIN,Tampere,240,false 96 | E12,FIN,Tampere,FIN,Helsinki,177,false 97 | E13,GB,Doncaster,GB,Sheffield,38,false 98 | E13,GB,Sheffield,GB,Nottingham,74,false 99 | E13,GB,Nottingham,GB,Leicester,43,false 100 | E13,GB,Leicester,GB,Northampton,63,false 101 | E13,GB,Northampton,GB,London,110,false 102 | E134,N,Haugesund,N,Haukeligrend,188,false 103 | E134,N,Haukeligrend,N,Drammen,214,false 104 | E136,N,Ålesund,N,Andalsnes,119,false 105 | E136,N,Andalsnes,N,Dombås,104,false 106 | E14,N,Trondheim,S,Storlien,103,false 107 | E14,S,Storlien,S,Ostersund,159,false 108 | E14,S,Ostersund,S,Sundsvall,186,false 109 | E15,GB,Inverness,GB,Perth,182,false 110 | E15,GB,Perth,GB,Edinburgh,68,false 111 | E15,GB,Edinburgh,GB,Newcastle upon Tyne,183,false 112 | E15,GB,Newcastle upon Tyne,GB,Scotch Corner,73,false 113 | E15,GB,Scotch Corner,GB,Doncaster,118,false 114 | E15,GB,Doncaster,GB,London,277,false 115 | E15,GB,London,GB,Folkestone,112,false 116 | E15,GB,Folkestone,GB,Dover,11,false 117 | E15,GB,Dover,F,Calais,42,true 118 | E15,F,Calais,F,Paris,291,false 119 | E15,F,Paris,F,Lyon,467,false 120 | E15,F,Lyon,F,Orange,204,false 121 | E15,F,Orange,F,Narbonne,191,false 122 | E15,F,Narbonne,E,Gerona,153,false 123 | E15,E,Gerona,E,Barcelona,102,false 124 | E15,E,Barcelona,E,Tarragona,112,false 125 | E15,E,Tarragona,E,Castellón de la Plana,188,false 126 | E15,E,Castellón de la Plana,E,Valencia,74,false 127 | E15,E,Valencia,E,Alicante,173,false 128 | E15,E,Alicante,E,Murcia,80,false 129 | E15,E,Murcia,E,Algeciras,525,false 130 | E16,GB,Londonderry,GB,Belfast,115,false 131 | E16,GB,Belfast,GB,Glasgow,239,true 132 | E16,GB,Glasgow,GB,Edinburgh,75,false 133 | E16,GB,Edinburgh,N,Bergen,702,true 134 | E16,N,Bergen,N,Fagernes,365,false 135 | E16,N,Fagernes,N,Oslo,182,false 136 | E17,B,Antwerpen,B,Gent,58,false 137 | E17,B,Gent,B,Kortrijk,49,false 138 | E17,B,Kortrijk,F,Cambrai,104,false 139 | E17,F,Cambrai,F,Reims,147,false 140 | E17,F,Reims,F,Beaune,339,false 141 | E18,GB,Craigavon,GB,Belfast,38,false 142 | E18,GB,Belfast,GB,Larne,36,false 143 | E18,GB,Larne,GB,Stranraer,70,true 144 | E18,GB,Stranraer,GB,Gretna,153,false 145 | E18,GB,Gretna,GB,Carlisle,16,false 146 | E18,GB,Carlisle,GB,Newcastle upon Tyne,114,false 147 | E18,GB,Newcastle upon Tyne,N,Kristiansand,684,true 148 | E18,N,Kristiansand,N,Oslo,323,false 149 | E18,N,Oslo,S,Örebro,336,false 150 | E18,S,Örebro,S,Arboga,42,false 151 | E18,S,Arboga,S,Västeras,57,false 152 | E18,S,Västeras,S,Stockholm,108,false 153 | E18,S,Stockholm,S,Kapellskär,93,false 154 | E18,S,Kapellskär,FIN,Mariehamn,65,true 155 | E18,FIN,Mariehamn,FIN,Naantali,154,true 156 | E18,FIN,Naantali,FIN,Turku,15,false 157 | E18,FIN,Turku,FIN,Helsinki,167,false 158 | E18,FIN,Helsinki,FIN,Vaalimaa,191,false 159 | E18,FIN,Vaalimaa,RUS,Sankt-Peterburg,205,false 160 | E19,NL,Amsterdam,NL,Den Haag,59,false 161 | E19,NL,Den Haag,NL,Rotterdam,26,false 162 | E19,NL,Rotterdam,NL,Breda,46,false 163 | E19,NL,Breda,B,Antwerpen,58,false 164 | E19,B,Antwerpen,B,Bruxelles,49,false 165 | E19,B,Bruxelles,B,Mons,66,false 166 | E19,B,Mons,F,Valenciennes,42,false 167 | E19,F,Valenciennes,F,Paris,206,false 168 | E20,IRL,Shannon,IRL,Limerick,22,false 169 | E20,IRL,Limerick,IRL,Portlaoise,110,false 170 | E20,IRL,Portlaoise,IRL,Dublin,89,false 171 | E20,IRL,Dublin,GB,Liverpool,264,true 172 | E20,GB,Liverpool,GB,Manchester,55,false 173 | E20,GB,Manchester,GB,Bradford,63,false 174 | E20,GB,Bradford,GB,Leeds,25,false 175 | E20,GB,Leeds,GB,Kingston upon Hull,104,false 176 | E20,GB,Kingston upon Hull,DK,Esbjerg,597,true 177 | E20,DK,Esbjerg,DK,Kolding,75,false 178 | E20,DK,Kolding,DK,Middelfart,30,false 179 | E20,DK,Middelfart,DK,Nyborg,77,false 180 | E20,DK,Nyborg,DK,Korsør,27,true 181 | E20,DK,Korsør,DK,Køge,74,false 182 | E20,DK,Køge,DK,København,45,false 183 | E20,DK,København,S,Malmö,38,true 184 | E20,S,Malmö,S,Helsingborg,66,false 185 | E20,S,Helsingborg,S,Halmstad,84,false 186 | E20,S,Halmstad,S,Göteborg,136,false 187 | E20,S,Göteborg,S,Örebro,287,false 188 | E20,S,Örebro,S,Arboga,42,false 189 | E20,S,Arboga,S,Eskilstuna,44,false 190 | E20,S,Eskilstuna,S,Södertälje,81,false 191 | E20,S,Södertälje,S,Stockholm,32,false 192 | E20,S,Stockholm,EST,Tallinn,333,true 193 | E20,EST,Tallinn,RUS,Sankt-Peterburg,367,false 194 | E201,IRL,Cork,IRL,Portlaoise,173,false 195 | E21,F,Metz,F,Nancy,58,false 196 | E21,F,Nancy,F,Dijon,213,false 197 | E21,F,Dijon,CH,Genève,186,false 198 | E22,GB,Holyhead,GB,Chester,139,false 199 | E22,GB,Chester,GB,Warrington,35,false 200 | E22,GB,Warrington,GB,Manchester,29,false 201 | E22,GB,Manchester,GB,Leeds,71,false 202 | E22,GB,Leeds,GB,Doncaster,55,false 203 | E22,GB,Doncaster,GB,Immingham,74,false 204 | E22,GB,Immingham,NL,Amsterdam,369,true 205 | E22,NL,Amsterdam,NL,Groningen,200,false 206 | E22,NL,Groningen,D,Oldenburg,131,false 207 | E22,D,Oldenburg,D,Bremen,51,false 208 | E22,D,Bremen,D,Hamburg,124,false 209 | E22,D,Hamburg,D,Lübeck,71,false 210 | E22,D,Lübeck,D,Rostock,131,false 211 | E22,D,Rostock,D,Stralsund,73,false 212 | E22,D,Stralsund,D,Saßnitz,51,false 213 | E22,D,Saßnitz,S,Trelleborg,111,true 214 | E22,S,Trelleborg,S,Malmö,27,false 215 | E22,S,Malmö,S,Kalmar,295,false 216 | E22,S,Kalmar,S,Norrköping,254,false 217 | E23,F,Metz,F,Nancy,58,false 218 | E23,F,Nancy,F,Besançon,199,false 219 | E23,F,Besançon,CH,Vallorbe,86,false 220 | E23,CH,Vallorbe,CH,Lausanne,48,false 221 | E231,NL,Amsterdam,NL,Amersfoort,54,false 222 | E232,NL,Amersfoort,NL,Hoogeveen,110,false 223 | E232,NL,Hoogeveen,NL,Groningen,62,false 224 | E233,NL,Hoogeveen,D,Haselünne,73,false 225 | E233,D,Haselünne,D,Cloppenburg,46,false 226 | E233,D,Cloppenburg,D,Bremen,70,false 227 | E234,D,Cuxhaven,D,Bremerhaven,41,false 228 | E234,D,Bremerhaven,D,Bremen,57,false 229 | E234,D,Bremen,D,Walsrode,68,false 230 | E24,GB,Birmingham,GB,Cambridge,163,false 231 | E24,GB,Cambridge,GB,Ipswich,91,false 232 | E25,NL,Hoek van Holland,NL,Rotterdam,33,false 233 | E25,NL,Rotterdam,NL,Gouda,25,false 234 | E25,NL,Gouda,NL,Utrecht,35,false 235 | E25,NL,Utrecht,NL,'s-Hertogenbosch,59,false 236 | E25,NL,'s-Hertogenbosch,NL,Eindhoven,38,false 237 | E25,NL,Eindhoven,NL,Maastricht,86,false 238 | E25,NL,Maastricht,B,Liège,40,false 239 | E25,B,Liège,B,Bastogne,90,false 240 | E25,B,Bastogne,B,Arlon,38,false 241 | E25,B,Arlon,L,Luxembourg,28,false 242 | E25,L,Luxembourg,F,Metz,63,false 243 | E25,F,Metz,F,Saint-Avold,49,false 244 | E25,F,Saint-Avold,F,Strasbourg,124,false 245 | E25,F,Strasbourg,F,Mulhouse,108,false 246 | E25,F,Mulhouse,CH,Basel,38,false 247 | E25,CH,Basel,CH,Olten,47,false 248 | E25,CH,Olten,CH,Bern,67,false 249 | E25,CH,Bern,CH,Lausanne,103,false 250 | E25,CH,Lausanne,CH,Genève,64,false 251 | E25,CH,Genève,F,Mont-Blanc,91,false 252 | E25,F,Mont-Blanc,I,Aosta,46,false 253 | E25,I,Aosta,I,Ivrea,70,false 254 | E25,I,Ivrea,I,Vercelli,59,false 255 | E25,I,Vercelli,I,Alessandria,55,false 256 | E25,I,Alessandria,I,Genova,90,false 257 | E251,D,Saßnitz,D,Stralsund,50,false 258 | E251,D,Stralsund,D,Neubrandenburg,99,false 259 | E251,D,Neubrandenburg,D,Berlin,136,false 260 | E26,D,Hamburg,D,Berlin,283,false 261 | E261,PL,Świecie,PL,Poznań,179,false 262 | E261,PL,Poznań,PL,Wrocław,183,false 263 | E27,F,Belfort,CH,Bern,133,false 264 | E27,CH,Bern,CH,Martigny,129,false 265 | E27,CH,Martigny,CH,Grand-Saint-Bernard,39,false 266 | E27,CH,Grand-Saint-Bernard,I,Aosta,27,false 267 | E271,LT,Klaipéda,LT,Kaunas,213,false 268 | E271,LT,Kaunas,LT,Vilnius,103,false 269 | E271,LT,Vilnius,BY,Minsk,184,false 270 | E271,BY,Minsk,BY,Gomel',318,false 271 | E272,LT,Klaipéda,LT,Palanga,28,false 272 | E272,LT,Palanga,LT,Siauliai,147,false 273 | E272,LT,Siauliai,LT,Panevėžys,79,false 274 | E272,LT,Panevėžys,LT,Ukmergé,64,false 275 | E272,LT,Ukmergé,LT,Vilnius,73,false 276 | E28,D,Berlin,PL,Szczecin,153,false 277 | E28,PL,Szczecin,PL,Goleniów,38,false 278 | E28,PL,Goleniów,PL,Koszalin,117,false 279 | E28,PL,Koszalin,PL,Gdańsk,205,false 280 | E29,D,Köln,L,Luxembourg,207,false 281 | E29,L,Luxembourg,D,Saarbrücken,97,false 282 | E29,D,Saarbrücken,F,Sarreguemines,19,false 283 | E30,IRL,Cork,IRL,Waterford,135,false 284 | E30,IRL,Waterford,IRL,Wexford,61,false 285 | E30,IRL,Wexford,IRL,Rosslare,19,false 286 | E30,IRL,Rosslare,GB,Fishguard,113,true 287 | E30,GB,Fishguard,GB,Swansea,119,false 288 | E30,GB,Swansea,GB,Cardiff,65,false 289 | E30,GB,Cardiff,GB,Newport,23,false 290 | E30,GB,Newport,GB,Bristol,49,false 291 | E30,GB,Bristol,GB,London,192,false 292 | E30,GB,London,GB,Colchester,106,false 293 | E30,GB,Colchester,GB,Ipswich,32,false 294 | E30,GB,Ipswich,GB,Felixstowe,22,false 295 | E30,GB,Felixstowe,NL,Hoek van Holland,207,true 296 | E30,NL,Hoek van Holland,NL,Den Haag,27,false 297 | E30,NL,Den Haag,NL,Gouda,32,false 298 | E30,NL,Gouda,NL,Utrecht,35,false 299 | E30,NL,Utrecht,NL,Amersfoort,25,false 300 | E30,NL,Amersfoort,NL,Oldenzaal,116,false 301 | E30,NL,Oldenzaal,D,Osnabrück,83,false 302 | E30,D,Osnabrück,D,Bad Oeynhausen,60,false 303 | E30,D,Bad Oeynhausen,D,Hannover,80,false 304 | E30,D,Hannover,D,Braunschweig,67,false 305 | E30,D,Braunschweig,D,Magdeburg,101,false 306 | E30,D,Magdeburg,D,Berlin,160,false 307 | E30,D,Berlin,PL,Świebodzin,187,false 308 | E30,PL,Świebodzin,PL,Poznań,111,false 309 | E30,PL,Poznań,PL,Łowicz,229,false 310 | E30,PL,Łowicz,PL,Warszawa,81,false 311 | E30,PL,Warszawa,BY,Brėst,197,false 312 | E30,BY,Brėst,BY,Minsk,348,false 313 | E30,BY,Minsk,RUS,Smolensk,353,false 314 | E30,RUS,Smolensk,RUS,Moskva,401,false 315 | E30,RUS,Moskva,RUS,Rjazan,192,false 316 | E30,RUS,Rjazan,RUS,Penza,453,false 317 | E30,RUS,Penza,RUS,Samara,432,false 318 | E31,NL,Rotterdam,NL,Gorinchem,43,false 319 | E31,NL,Gorinchem,NL,Nijmegen,77,false 320 | E31,NL,Nijmegen,D,Goch,48,false 321 | E31,D,Goch,D,Krefeld,63,false 322 | E31,D,Krefeld,D,Köln,60,false 323 | E31,D,Köln,D,Koblenz,99,false 324 | E31,D,Koblenz,D,Bingen,66,false 325 | E31,D,Bingen,D,Ludwigshafen,82,false 326 | E311,NL,Breda,NL,Gorinchem,44,false 327 | E311,NL,Gorinchem,NL,Utrecht,40,false 328 | E312,NL,Vlissingen,NL,Breda,99,false 329 | E312,NL,Breda,NL,Eindhoven,68,false 330 | E313,B,Antwerpen,B,Liège,120,false 331 | E314,B,Leuven,B,Hasselt,59,false 332 | E314,B,Hasselt,NL,Heerlen,57,false 333 | E314,NL,Heerlen,D,Aachen,20,false 334 | E32,GB,Colchester,GB,Harwich,31,false 335 | E33,I,Parma,I,La Spezia,124,false 336 | E331,D,Dortmund,D,Kassel,185,false 337 | E34,B,Zeebrugge,B,Antwerpen,101,false 338 | E34,B,Antwerpen,NL,Eindhoven,86,false 339 | E34,NL,Eindhoven,NL,Venlo,57,false 340 | E34,NL,Venlo,D,Oberhausen,54,false 341 | E34,D,Oberhausen,D,Dortmund,50,false 342 | E34,D,Dortmund,D,Bad Oeynhausen,141,false 343 | E35,NL,Amsterdam,NL,Utrecht,46,false 344 | E35,NL,Utrecht,NL,Arnhem,70,false 345 | E35,NL,Arnhem,D,Emmerich,34,false 346 | E35,D,Emmerich,D,Oberhausen,72,false 347 | E35,D,Oberhausen,D,Köln,73,false 348 | E35,D,Köln,D,Frankfurt am Main,195,false 349 | E35,D,Frankfurt am Main,D,Heidelberg,88,false 350 | E35,D,Heidelberg,D,Karlsruhe,54,false 351 | E35,D,Karlsruhe,D,Offenburg,77,false 352 | E35,D,Offenburg,CH,Basel,126,false 353 | E35,CH,Basel,CH,Olten,47,false 354 | E35,CH,Olten,CH,Luzern,53,false 355 | E35,CH,Luzern,CH,Altdorf,43,false 356 | E35,CH,Altdorf,CH,San Gottardo,50,false 357 | E35,CH,San Gottardo,CH,Bellinzona,61,false 358 | E35,CH,Bellinzona,CH,Lugano,27,false 359 | E35,CH,Lugano,CH,Chiasso,25,false 360 | E35,CH,Chiasso,I,Como,6,false 361 | E35,I,Como,I,Milano,46,false 362 | E35,I,Milano,I,Piacenza,66,false 363 | E35,I,Piacenza,I,Parma,63,false 364 | E35,I,Parma,I,Modena,60,false 365 | E35,I,Modena,I,Firenze,138,false 366 | E35,I,Firenze,I,Arezzo,79,false 367 | E35,I,Arezzo,I,Roma,219,false 368 | E36,D,Berlin,D,Lübbenau,95,false 369 | E36,D,Lübbenau,D,Cottbus,36,false 370 | E36,D,Cottbus,PL,Legnica,152,false 371 | E37,D,Bremen,D,Osnabrück,121,false 372 | E37,D,Osnabrück,D,Dortmund,123,false 373 | E37,D,Dortmund,D,Köln,92,false 374 | E371,PL,Radom,PL,Rzeszów,194,false 375 | E371,PL,Rzeszów,PL,Barwinek,89,false 376 | E371,PL,Barwinek,SK,Vyšný Komárnik,4,false 377 | E371,SK,Vyšný Komárnik,SK,Svidnik,18,false 378 | E371,SK,Svidnik,SK,Prešov,54,false 379 | E372,PL,Warszawa,PL,Lublin,164,false 380 | E372,PL,Lublin,UA,L'vov,210,false 381 | E373,PL,Lublin,UA,Kovel,164,false 382 | E373,UA,Kovel,UA,Rovno,147,false 383 | E381,UA,Kiev,RUS,Orel,517,false 384 | E39,N,Trondheim,N,Ålesund,313,false 385 | E39,N,Ålesund,N,Bergen,389,false 386 | E39,N,Bergen,N,Stavanger,188,false 387 | E39,N,Stavanger,N,Kristiansand,240,false 388 | E39,N,Kristiansand,DK,Hirtshals,135,true 389 | E39,DK,Hirtshals,DK,Hjørring,18,false 390 | E39,DK,Hjørring,DK,Nørresundby,46,false 391 | E39,DK,Nørresundby,DK,Ålborg,1,false 392 | E40,F,Calais,B,Oostende,96,false 393 | E40,B,Oostende,B,Gent,64,false 394 | E40,B,Gent,B,Bruxelles,55,false 395 | E40,B,Bruxelles,B,Liège,94,false 396 | E40,B,Liège,D,Aachen,64,false 397 | E40,D,Aachen,D,Köln,72,false 398 | E40,D,Köln,D,Olpe,73,false 399 | E40,D,Olpe,D,Gießen,95,false 400 | E40,D,Gießen,D,Bad Hersfeld,98,false 401 | E40,D,Bad Hersfeld,D,Herleshausen,42,false 402 | E40,D,Herleshausen,D,Eisenach,15,false 403 | E40,D,Eisenach,D,Erfurt,63,false 404 | E40,D,Erfurt,D,Gera,88,false 405 | E40,D,Gera,D,Chemnitz,74,false 406 | E40,D,Chemnitz,D,Dresden,76,false 407 | E40,D,Dresden,D,Görlitz,109,false 408 | E40,D,Görlitz,PL,Legnica,101,false 409 | E40,PL,Legnica,PL,Wrocław,79,false 410 | E40,PL,Wrocław,PL,Opole,95,false 411 | E40,PL,Opole,PL,Gliwice,72,false 412 | E40,PL,Gliwice,PL,Kraków,109,false 413 | E40,PL,Kraków,PL,Przemyśl,246,false 414 | E40,PL,Przemyśl,UA,L'vov,95,false 415 | E40,UA,L'vov,UA,Rovno,208,false 416 | E40,UA,Rovno,UA,Žitomir,184,false 417 | E40,UA,Žitomir,UA,Kiev,146,false 418 | E40,UA,Kiev,UA,Charkov,471,false 419 | E40,UA,Charkov,RUS,Rostov-na-Donu,479,false 420 | E401,F,Saint-Brieuc,F,Caen,233,false 421 | E402,F,Calais,F,Rouen,216,false 422 | E402,F,Rouen,F,Le Mans,200,false 423 | E403,B,Zeebrugge,B,Brugge,16,false 424 | E403,B,Brugge,B,Kortrijk,52,false 425 | E403,B,Kortrijk,B,Tournai,28,false 426 | E404,B,Jabbeke,B,Zeebrugge,24,false 427 | E41,D,Dortmund,D,Gießen,166,false 428 | E41,D,Gießen,D,Aschaffenburg,99,false 429 | E41,D,Aschaffenburg,D,Würzburg,79,false 430 | E41,D,Würzburg,D,Stuttgart,145,false 431 | E41,D,Stuttgart,CH,Schaffhausen,170,false 432 | E41,CH,Schaffhausen,CH,Winterthur,26,false 433 | E41,CH,Winterthur,CH,Zürich,25,false 434 | E41,CH,Zürich,CH,Altdorf,78,false 435 | E411,B,Bruxelles,B,Namur,65,false 436 | E411,B,Namur,B,Arlon,129,false 437 | E411,B,Arlon,F,Longwy,24,false 438 | E411,F,Longwy,F,Metz,62,false 439 | E42,F,Dunkerque,F,Lille,71,false 440 | E42,F,Lille,B,Mons,77,false 441 | E42,B,Mons,B,Charleroi,51,false 442 | E42,B,Charleroi,B,Namur,41,false 443 | E42,B,Namur,B,Liège,61,false 444 | E42,B,Liège,B,Sankt-Vith,87,false 445 | E42,B,Sankt-Vith,D,Wittlich,85,false 446 | E42,D,Wittlich,D,Bingen,91,false 447 | E42,D,Bingen,D,Wiesbaden,33,false 448 | E42,D,Wiesbaden,D,Frankfurt am Main,41,false 449 | E42,D,Frankfurt am Main,D,Aschaffenburg,41,false 450 | E420,B,Nivelles,B,Charleroi,29,false 451 | E420,B,Charleroi,F,Reims,158,false 452 | E421,D,Aachen,B,Sankt-Vith,84,false 453 | E421,B,Sankt-Vith,L,Luxembourg,88,false 454 | E422,D,Trier,D,Saarbrücken,95,false 455 | E429,B,Tournai,B,Halle,75,false 456 | E43,D,Würzburg,D,Ulm,195,false 457 | E43,D,Ulm,D,Lindau,119,false 458 | E43,D,Lindau,A,Bregenz,9,false 459 | E43,A,Bregenz,CH,Sankt Margrethen,13,false 460 | E43,CH,Sankt Margrethen,CH,Buchs,37,false 461 | E43,CH,Buchs,CH,Chur,44,false 462 | E43,CH,Chur,CH,San Bernardino,70,false 463 | E43,CH,San Bernardino,CH,Bellinzona,43,false 464 | E44,F,Le Havre,F,Amiens,178,false 465 | E44,F,Amiens,F,Charleville-Mézières,198,false 466 | E44,F,Charleville-Mézières,L,Luxembourg,153,false 467 | E44,L,Luxembourg,D,Trier,46,false 468 | E44,D,Trier,D,Koblenz,126,false 469 | E44,D,Koblenz,D,Gießen,106,false 470 | E441,D,Chemnitz,D,Plauen,76,false 471 | E442,CZ,Karlovy Vary,CZ,Teplice,96,false 472 | E442,CZ,Teplice,CZ,Turnov,128,false 473 | E442,CZ,Turnov,CZ,Hradec Králové,76,false 474 | E442,CZ,Hradec Králové,CZ,Olomouc,144,false 475 | E442,CZ,Olomouc,SK,Žilina,139,false 476 | E45,S,Göteborg,DK,Frederikshavn,90,true 477 | E45,DK,Frederikshavn,DK,Ålborg,65,false 478 | E45,DK,Ålborg,DK,Århus,121,false 479 | E45,DK,Århus,DK,Vejle,69,false 480 | E45,DK,Vejle,DK,Kolding,31,false 481 | E45,DK,Kolding,DK,Frøslev,80,false 482 | E45,DK,Frøslev,D,Flensburg,8,false 483 | E45,D,Flensburg,D,Hamburg,158,false 484 | E45,D,Hamburg,D,Hannover,157,false 485 | E45,D,Hannover,D,Göttingen,124,false 486 | E45,D,Göttingen,D,Kassel,46,false 487 | E45,D,Kassel,D,Fulda,110,false 488 | E45,D,Fulda,D,Würzburg,110,false 489 | E45,D,Würzburg,D,Nürnberg,118,false 490 | E45,D,Nürnberg,D,München,165,false 491 | E45,D,München,D,Rosenheim,72,false 492 | E45,D,Rosenheim,A,Wörgl,53,false 493 | E45,A,Wörgl,A,Innsbruck,60,false 494 | E45,A,Innsbruck,A,Brennerpaß,36,false 495 | E45,A,Brennerpaß,I,Passo di Brennero,0,false 496 | E45,I,Passo di Brennero,I,Fortezza,45,false 497 | E45,I,Fortezza,I,Bolzano,50,false 498 | E45,I,Bolzano,I,Trento,57,false 499 | E45,I,Trento,I,Verona,99,false 500 | E45,I,Verona,I,Modena,103,false 501 | E45,I,Modena,I,Bologna,42,false 502 | E45,I,Bologna,I,Cesena,95,false 503 | E45,I,Cesena,I,Perugia,154,false 504 | E45,I,Perugia,I,Fiano Romana,148,false 505 | E45,I,Fiano Romana,I,San Cesareo,64,false 506 | E45,I,San Cesareo,I,Napoli,200,false 507 | E45,I,Napoli,I,Salerno,57,false 508 | E45,I,Salerno,I,Sicignano degli Alburni,65,false 509 | E45,I,Sicignano degli Alburni,I,Cosenza,222,false 510 | E45,I,Cosenza,I,Villa San Giovanni,177,false 511 | E45,I,Villa San Giovanni,I,Messina,8,true 512 | E45,I,Messina,I,Catánia,98,false 513 | E45,I,Catánia,I,Siracusa,66,false 514 | E45,I,Siracusa,I,Gela,154,false 515 | E451,D,Gießen,D,Frankfurt am Main,67,false 516 | E451,D,Frankfurt am Main,D,Mannheim,84,false 517 | E46,F,Cherbourg,F,Caen,122,false 518 | E46,F,Caen,F,Rouen,122,false 519 | E46,F,Rouen,F,Reims,244,false 520 | E46,F,Reims,F,Charleville-Mézières,87,false 521 | E46,F,Charleville-Mézières,B,Liège,178,false 522 | E461,CZ,Svitavy,CZ,Brno,72,false 523 | E461,CZ,Brno,A,Wien,141,false 524 | E462,CZ,Brno,CZ,Olomouc,81,false 525 | E462,CZ,Olomouc,CZ,Česky Tĕšin,114,false 526 | E462,CZ,Česky Tĕšin,PL,Kraków,129,false 527 | E47,S,Helsingborg,DK,Helsingør,9,true 528 | E47,DK,Helsingør,DK,København,47,false 529 | E47,DK,København,DK,Køge,45,false 530 | E47,DK,Køge,DK,Vordingborg,60,false 531 | E47,DK,Vordingborg,DK,Farø,11,false 532 | E47,DK,Farø,DK,Rødby,53,false 533 | E47,DK,Rødby,D,Lübeck,117,true 534 | E471,UA,Mukačevo,UA,L'vov,207,false 535 | E48,D,Schweinfurt,D,Bayreuth,121,false 536 | E48,D,Bayreuth,D,Marktredwitz,49,false 537 | E48,D,Marktredwitz,CZ,Cheb,26,false 538 | E48,CZ,Cheb,CZ,Karlovy Vary,43,false 539 | E48,CZ,Karlovy Vary,CZ,Praha,126,false 540 | E49,D,Magdeburg,D,Halle,86,false 541 | E49,D,Halle,D,Plauen,161,false 542 | E49,D,Plauen,D,Schönberg,44,false 543 | E49,D,Schönberg,CZ,Vojtanov,3,false 544 | E49,CZ,Vojtanov,CZ,Karlovy Vary,52,false 545 | E49,CZ,Karlovy Vary,CZ,Plzeň,73,false 546 | E49,CZ,Plzeň,CZ,České Budějovice,137,false 547 | E49,CZ,České Budějovice,CZ,Třeboň,27,false 548 | E49,CZ,Třeboň,CZ,Halámky,25,false 549 | E49,CZ,Halámky,A,Wien,151,false 550 | E50,F,Brest,F,Rennes,245,false 551 | E50,F,Rennes,F,Le Mans,151,false 552 | E50,F,Le Mans,F,Paris,203,false 553 | E50,F,Paris,F,Reims,145,false 554 | E50,F,Reims,F,Metz,190,false 555 | E50,F,Metz,D,Saarbrücken,71,false 556 | E50,D,Saarbrücken,D,Mannheim,135,false 557 | E50,D,Mannheim,D,Heilbronn,80,false 558 | E50,D,Heilbronn,D,Nürnberg,166,false 559 | E50,D,Nürnberg,CZ,Rozvadov,134,false 560 | E50,CZ,Rozvadov,CZ,Plzeň,65,false 561 | E50,CZ,Plzeň,CZ,Praha,93,false 562 | E50,CZ,Praha,CZ,Jihlava,126,false 563 | E50,CZ,Jihlava,CZ,Brno,90,false 564 | E50,CZ,Brno,SK,Trencin,135,false 565 | E50,SK,Trencin,SK,Prešov,299,false 566 | E50,SK,Prešov,SK,Košice,35,false 567 | E50,SK,Košice,SK,Vyšné Nemecké,89,false 568 | E50,SK,Vyšné Nemecké,UA,Užgorod,6,false 569 | E50,UA,Užgorod,UA,Mukačevo,41,false 570 | E501,F,Le Mans,F,Angers,97,false 571 | E502,F,Le Mans,F,Tours,82,false 572 | E51,D,Berlin,D,Leipzig,191,false 573 | E51,D,Leipzig,D,Gera,68,false 574 | E51,D,Gera,D,Hirschberg,66,false 575 | E51,D,Hirschberg,D,Hof,14,false 576 | E51,D,Hof,D,Bayreuth,54,false 577 | E51,D,Bayreuth,D,Nürnberg,87,false 578 | E511,F,Courtenay,F,Troyes,133,false 579 | E512,F,Remiremont,F,Mulhouse,77,false 580 | E52,F,Strasbourg,D,Appenweier,22,false 581 | E52,D,Appenweier,D,Karlsruhe,69,false 582 | E52,D,Karlsruhe,D,Stuttgart,80,false 583 | E52,D,Stuttgart,D,Ulm,91,false 584 | E52,D,Ulm,D,München,143,false 585 | E52,D,München,A,Salzburg,149,false 586 | E53,CZ,Plzeň,D,Bayerisch Eisenstein,84,false 587 | E53,D,Bayerisch Eisenstein,D,Deggendorf,55,false 588 | E53,D,Deggendorf,D,München,146,false 589 | E531,D,Offenburg,D,Donaueschingen,96,false 590 | E532,D,Memmingen,D,Füssen,71,false 591 | E533,D,München,D,Garmisch-Partenkirchen,89,false 592 | E533,D,Garmisch-Partenkirchen,D,Mittenwald,18,false 593 | E533,D,Mittenwald,A,Seefeld in Tirol,15,false 594 | E533,A,Seefeld in Tirol,A,Innsbruck,23,false 595 | E54,F,Paris,F,Chaumont,265,false 596 | E54,F,Chaumont,F,Mulhouse,226,false 597 | E54,F,Mulhouse,CH,Basel,38,false 598 | E54,CH,Basel,D,Waldshut,54,false 599 | E54,D,Waldshut,D,Lindau,144,false 600 | E54,D,Lindau,D,München,180,false 601 | E55,S,Helsingborg,DK,Helsingør,9,true 602 | E55,DK,Helsingør,DK,København,47,false 603 | E55,DK,København,DK,Køge,45,false 604 | E55,DK,Køge,DK,Vordingborg,60,false 605 | E55,DK,Vordingborg,DK,Farø,11,false 606 | E55,DK,Farø,DK,Nykøbing Falster,25,false 607 | E55,DK,Nykøbing Falster,DK,Gedser,23,false 608 | E55,DK,Gedser,D,Rostock,45,true 609 | E55,D,Rostock,D,Berlin,230,false 610 | E55,D,Berlin,D,Lübbenau,94,false 611 | E55,D,Lübbenau,D,Dresden,105,false 612 | E55,D,Dresden,CZ,Teplice,63,false 613 | E55,CZ,Teplice,CZ,Praha,95,false 614 | E55,CZ,Praha,CZ,Tábor,86,false 615 | E55,CZ,Tábor,CZ,České Budějovice,57,false 616 | E55,CZ,České Budějovice,CZ,Dolní Dvořiště,42,false 617 | E55,CZ,Dolní Dvořiště,A,Linz,58,false 618 | E55,A,Linz,A,Salzburg,130,false 619 | E55,A,Salzburg,A,Villach,194,false 620 | E55,A,Villach,I,Tarvisio,32,false 621 | E55,I,Tarvisio,I,Udine,96,false 622 | E55,I,Udine,I,Palmanova,24,false 623 | E55,I,Palmanova,I,Venézia-Mestre,103,false 624 | E55,I,Venézia-Mestre,I,Ravenna,135,false 625 | E55,I,Ravenna,I,Cesena,35,false 626 | E55,I,Cesena,I,Rimini,38,false 627 | E55,I,Rimini,I,Fano,53,false 628 | E55,I,Fano,I,Ancona,58,false 629 | E55,I,Ancona,I,Pescara,158,false 630 | E55,I,Pescara,I,Canosa di Puglia,236,false 631 | E55,I,Canosa di Puglia,I,Bari,74,false 632 | E55,I,Bari,I,Brindisi,119,false 633 | E55,I,Brindisi,GR,Igoumenítsa,252,true 634 | E55,GR,Igoumenítsa,GR,Préveza,92,false 635 | E55,GR,Préveza,GR,Mesolóngi,126,false 636 | E55,GR,Mesolóngi,GR,Río,38,false 637 | E55,GR,Río,GR,Pátra,10,false 638 | E55,GR,Pátra,GR,Pírgos,95,false 639 | E55,GR,Pírgos,GR,Kalámata,111,false 640 | E551,CZ,České Budějovice,CZ,Humpolec,109,false 641 | E552,D,München,A,Braunau am Inn,130,false 642 | E552,A,Braunau am Inn,A,Wels,86,false 643 | E552,A,Wels,A,Linz,32,false 644 | E56,D,Nürnberg,D,Regensburg,104,false 645 | E56,D,Regensburg,D,Passau,127,false 646 | E56,D,Passau,A,Wels,88,false 647 | E56,A,Wels,A,Sattledt,11,false 648 | E57,A,Sattledt,A,Liezen,79,false 649 | E57,A,Liezen,A,Sankt Michael in Obersteiermark,73,false 650 | E57,A,Sankt Michael in Obersteiermark,A,Graz,59,false 651 | E57,A,Graz,SLO,Maribor,67,false 652 | E57,SLO,Maribor,SLO,Ljubljana,133,false 653 | E571,SK,Bratislava,SK,Zvolen,193,false 654 | E571,SK,Zvolen,SK,Košice,209,false 655 | E572,SK,Trencin,SK,Žiar nad Hronom,103,false 656 | E573,H,Püspökladány,H,Nyiregyháza,104,false 657 | E573,H,Nyiregyháza,UA,Čop,75,false 658 | E573,UA,Čop,UA,Užgorod,25,false 659 | E574,RO,Bacău,RO,Braşov,166,false 660 | E574,RO,Braşov,RO,Piteşti,125,false 661 | E575,SK,Bratislava,SK,Dunajská Streda,55,false 662 | E575,SK,Dunajská Streda,SK,Medved'ov,25,false 663 | E575,SK,Medved'ov,H,Vámószabadi,6,false 664 | E575,H,Vámószabadi,H,Györ,8,false 665 | E576,RO,Cluj-Napoca,RO,Dej,58,false 666 | E576,RO,Dej,RO,Bistriţa,61,false 667 | E576,RO,Bistriţa,RO,Suceava,182,false 668 | E58,A,Wien,SK,Bratislava,65,false 669 | E581,RO,Mărăşeşti,RO,Tecuci,21,false 670 | E581,RO,Tecuci,RO,Albiţa,132,false 671 | E581,RO,Albiţa,MD,Leušeny,5,false 672 | E581,MD,Leušeny,MD,Chişinău,72,false 673 | E581,MD,Chişinău,UA,Odessa,177,false 674 | E583,RO,Roman,RO,Iaşi,84,false 675 | E583,RO,Iaşi,RO,Sculeni,22,false 676 | E59,CZ,Praha,CZ,Jihlava,126,false 677 | E59,CZ,Jihlava,A,Wien,171,false 678 | E59,A,Wien,A,Graz,201,false 679 | E59,A,Graz,A,Spielfeld,47,false 680 | E59,A,Spielfeld,SLO,Maribor,21,false 681 | E59,SLO,Maribor,HR,Zagreb,115,false 682 | E60,F,Brest,F,Nantes,304,false 683 | E60,F,Nantes,F,Tours,220,false 684 | E60,F,Tours,F,Orléans,118,false 685 | E60,F,Orléans,F,Courtenay,99,false 686 | E60,F,Courtenay,F,Beaune,204,false 687 | E60,F,Beaune,F,Besançon,108,false 688 | E60,F,Besançon,F,Belfort,93,false 689 | E60,F,Belfort,F,Mulhouse,44,false 690 | E60,F,Mulhouse,CH,Basel,38,false 691 | E60,CH,Basel,CH,Zürich,90,false 692 | E60,CH,Zürich,CH,Winterthur,25,false 693 | E60,CH,Winterthur,CH,Sankt Gallen,58,false 694 | E60,CH,Sankt Gallen,CH,Sankt Margrethen,25,false 695 | E60,CH,Sankt Margrethen,A,Lauterach,12,false 696 | E60,A,Lauterach,A,Feldkirch,32,false 697 | E60,A,Feldkirch,A,Imst,106,false 698 | E60,A,Imst,A,Innsbruck,58,false 699 | E60,A,Innsbruck,A,Wörgl,60,false 700 | E60,A,Wörgl,D,Rosenheim,53,false 701 | E60,D,Rosenheim,A,Salzburg,89,false 702 | E60,A,Salzburg,A,Linz,130,false 703 | E60,A,Linz,A,Wien,181,false 704 | E60,A,Wien,A,Nickelsdorf,71,false 705 | E60,A,Nickelsdorf,H,Mosonmagyaróvár,24,false 706 | E60,H,Mosonmagyaróvár,H,Györ,40,false 707 | E60,H,Györ,H,Budapest,119,false 708 | E60,H,Budapest,H,Püspökladány,198,false 709 | E60,H,Püspökladány,RO,Oradea,73,false 710 | E60,RO,Oradea,RO,Cluj-Napoca,146,false 711 | E60,RO,Cluj-Napoca,RO,Turda,29,false 712 | E60,RO,Turda,RO,Tîrgu Mureş,78,false 713 | E60,RO,Tîrgu Mureş,RO,Braşov,166,false 714 | E60,RO,Braşov,RO,Ploieşti,102,false 715 | E60,RO,Ploieşti,RO,Bucureşti,59,false 716 | E60,RO,Bucureşti,RO,Urziceni,57,false 717 | E60,RO,Urziceni,RO,Slobozia,63,false 718 | E60,RO,Slobozia,RO,Hîrşova,56,false 719 | E60,RO,Hîrşova,RO,Constanta,83,false 720 | E601,F,Niort,F,La Rochelle,62,false 721 | E602,F,La Rochelle,F,Saintes,68,false 722 | E603,F,Saintes,F,Angoulème,74,false 723 | E603,F,Angoulème,F,Limoges,104,false 724 | E604,F,Tours,F,Vierzon,115,false 725 | E606,F,Angoulème,F,Bordeaux,129,false 726 | E607,F,Digoin,F,Chalon-sur-Saône,88,false 727 | E61,A,Villach,A,Karawanken Tunnel,22,false 728 | E61,A,Karawanken Tunnel,SLO,Predor Karavanke,7,false 729 | E61,SLO,Predor Karavanke,SLO,Naklo,37,false 730 | E61,SLO,Naklo,SLO,Ljubljana,34,false 731 | E61,SLO,Ljubljana,I,Trieste,96,false 732 | E61,I,Trieste,HR,Rijeka,73,false 733 | E611,F,Lyon,F,Pont-d'Ain,57,false 734 | E612,I,Ivrea,I,Torino,55,false 735 | E62,F,Nantes,F,Poitiers,186,false 736 | E62,F,Poitiers,F,Mâcon,415,false 737 | E62,F,Mâcon,CH,Genève,152,false 738 | E62,CH,Genève,CH,Lausanne,64,false 739 | E62,CH,Lausanne,CH,Martigny,71,false 740 | E62,CH,Martigny,CH,Sion,29,false 741 | E62,CH,Sion,CH,Simplon,83,false 742 | E62,CH,Simplon,I,Gravellona Toce,65,false 743 | E62,I,Gravellona Toce,I,Milano,95,false 744 | E62,I,Milano,I,Tortona,78,false 745 | E62,I,Tortona,I,Genova,69,false 746 | E63,FIN,Sodankylä,FIN,Kemijärvi,108,false 747 | E63,FIN,Kemijärvi,FIN,Kuusamo,141,false 748 | E63,FIN,Kuusamo,FIN,Kajaani,253,false 749 | E63,FIN,Kajaani,FIN,Kuopio,173,false 750 | E63,FIN,Kuopio,FIN,Jyväskylä,147,false 751 | E63,FIN,Jyväskylä,FIN,Tampere,146,false 752 | E63,FIN,Tampere,FIN,Turku,158,false 753 | E64,I,Torino,I,Milano,143,false 754 | E64,I,Milano,I,Brescia,103,false 755 | E641,A,Wörgl,A,Sankt Johann in Tirol,31,false 756 | E641,A,Sankt Johann in Tirol,A,Lofer,25,false 757 | E641,A,Lofer,A,Salzburg,49,false 758 | E65,S,Malmö,S,Ystad,57,false 759 | E65,S,Ystad,PL,Świnoujście,173,true 760 | E65,PL,Świnoujście,PL,Wolin,27,false 761 | E65,PL,Wolin,PL,Goleniów,41,false 762 | E65,PL,Goleniów,PL,Szczecin,38,false 763 | E65,PL,Szczecin,PL,Świebodzin,169,false 764 | E65,PL,Świebodzin,PL,Jelenia Góra,278,false 765 | E65,PL,Jelenia Góra,CZ,Harrachov,32,false 766 | E65,CZ,Harrachov,CZ,Zelezný Brod,27,false 767 | E65,CZ,Zelezný Brod,CZ,Turnov,13,false 768 | E65,CZ,Turnov,CZ,Mladá Boleslav,30,false 769 | E65,CZ,Mladá Boleslav,CZ,Praha,57,false 770 | E65,CZ,Praha,CZ,Jihlava,126,false 771 | E65,CZ,Jihlava,CZ,Brno,90,false 772 | E65,CZ,Brno,CZ,Břeclav,60,false 773 | E65,CZ,Břeclav,SK,Bratislava,85,false 774 | E65,SK,Bratislava,H,Rajka,20,false 775 | E65,H,Rajka,H,Mosonmagyaróvár,16,false 776 | E65,H,Mosonmagyaróvár,H,Csorna,37,false 777 | E65,H,Csorna,H,Szombathely,69,false 778 | E65,H,Szombathely,H,Körmend,25,false 779 | E65,H,Körmend,H,Zalaegerszeg,32,false 780 | E65,H,Zalaegerszeg,H,Nagykanizsa,49,false 781 | E65,H,Nagykanizsa,H,Letenye,23,false 782 | E65,H,Letenye,HR,Zagreb,117,false 783 | E65,HR,Zagreb,HR,Karlovac,53,false 784 | E65,HR,Karlovac,HR,Rijeka,127,false 785 | E65,HR,Rijeka,HR,Split,350,false 786 | E65,HR,Split,HR,Metković,131,false 787 | E65,HR,Metković,HR,Dubrovnik,92,false 788 | E65,HR,Dubrovnik,YU,Petrovac,143,false 789 | E65,YU,Petrovac,YU,Podgorica,48,false 790 | E65,YU,Podgorica,YU,Bijelo Polje,112,false 791 | E65,YU,Bijelo Polje,MK,Skopje,250,false 792 | E65,MK,Skopje,MK,Kicevo,113,false 793 | E65,MK,Kicevo,MK,Ohrid,62,false 794 | E65,MK,Ohrid,MK,Bitola,64,false 795 | E65,MK,Bitola,GR,Níki,16,false 796 | E65,GR,Níki,GR,Vévi,24,false 797 | E65,GR,Vévi,GR,Kozáni,64,false 798 | E65,GR,Kozáni,GR,Lárissa,119,false 799 | E65,GR,Lárissa,GR,Domokós,75,false 800 | E65,GR,Domokós,GR,Lamía,38,false 801 | E65,GR,Lamía,GR,Brálos,27,false 802 | E65,GR,Brálos,GR,Itéa,44,false 803 | E65,GR,Itéa,GR,Antirrio,91,false 804 | E65,GR,Antirrio,GR,Río,4,true 805 | E65,GR,Río,GR,Égio,29,false 806 | E65,GR,Égio,GR,Korinthos,99,false 807 | E65,GR,Korinthos,GR,Trípoli,81,false 808 | E65,GR,Trípoli,GR,Kalámata,90,false 809 | E65,GR,Kalámata,GR,Kissámos,326,true 810 | E65,GR,Kissámos,GR,Chaniá,37,false 811 | E651,A,Altenmarkt im Pongau,A,Liezen,72,false 812 | E652,A,Klagenfurt,A,Loibl Pass,29,false 813 | E652,A,Loibl Pass,SLO,Naklo,21,false 814 | E66,I,Fortezza,I,San Candido,62,false 815 | E66,I,San Candido,A,Spittal an der Drau,119,false 816 | E66,A,Spittal an der Drau,A,Villach,42,false 817 | E66,A,Villach,A,Klagenfurt,39,false 818 | E66,A,Klagenfurt,A,Graz,127,false 819 | E66,A,Graz,H,Veszprém,220,false 820 | E66,H,Veszprém,H,Székesfehérvár,44,false 821 | E661,H,Balatonkeresztúr,H,Nagyatád,59,false 822 | E661,H,Nagyatád,H,Barcs,37,false 823 | E661,H,Barcs,HR,Virovitica,16,false 824 | E661,HR,Virovitica,HR,Okučani,96,false 825 | E661,HR,Okučani,BIH,Banja Luka,71,false 826 | E661,BIH,Banja Luka,BIH,Jajce,76,false 827 | E661,BIH,Jajce,BIH,Donji Vakuf,31,false 828 | E661,BIH,Donji Vakuf,BIH,Zenica,64,false 829 | E662,YU,Subotica,YU,Sombor,57,false 830 | E662,YU,Sombor,HR,Osijek,74,false 831 | E67,FIN,Helsinki,EST,Tallinn,83,true 832 | E67,EST,Tallinn,LV,Riga,307,false 833 | E67,LV,Riga,LT,Panevėžys,154,false 834 | E67,LT,Panevėžys,LT,Kaunas,119,false 835 | E67,LT,Kaunas,PL,Warszawa,383,false 836 | E67,PL,Warszawa,PL,Piotrków Trybunalski,136,false 837 | E67,PL,Piotrków Trybunalski,PL,Wrocław,207,false 838 | E67,PL,Wrocław,PL,Kłodzko,93,false 839 | E67,PL,Kłodzko,CZ,Bĕloves,36,false 840 | E67,CZ,Bĕloves,CZ,Náchod,4,false 841 | E67,CZ,Náchod,CZ,Hradec Králové,41,false 842 | E67,CZ,Hradec Králové,CZ,Praha,109,false 843 | E671,RO,Timişoara,RO,Arad,53,false 844 | E671,RO,Arad,RO,Oradea,111,false 845 | E673,RO,Lugoj,RO,Deva,93,false 846 | E68,H,Szeged,RO,Arad,100,false 847 | E68,RO,Arad,RO,Deva,143,false 848 | E68,RO,Deva,RO,Sibiu,114,false 849 | E68,RO,Sibiu,RO,Braşov,142,false 850 | E69,N,Nordkapp,N,Olderfjord,111,false 851 | E70,E,La Coruña,E,Oviedo,295,false 852 | E70,E,Oviedo,E,Bilbao,280,false 853 | E70,E,Bilbao,E,San Sebastián,97,false 854 | E70,E,San Sebastián,F,Bordeaux,244,false 855 | E70,F,Bordeaux,F,Clermont-Ferrand,359,false 856 | E70,F,Clermont-Ferrand,F,Lyon,173,false 857 | E70,F,Lyon,F,Chambéry,97,false 858 | E70,F,Chambéry,I,Susa,157,false 859 | E70,I,Susa,I,Torino,59,false 860 | E70,I,Torino,I,Alessandria,88,false 861 | E70,I,Alessandria,I,Tortona,30,false 862 | E70,I,Tortona,I,Brescia,165,false 863 | E70,I,Brescia,I,Verona,76,false 864 | E70,I,Verona,I,Venézia-Mestre,112,false 865 | E70,I,Venézia-Mestre,I,Palmanova,102,false 866 | E70,I,Palmanova,I,Trieste,50,false 867 | E70,I,Trieste,SLO,Ljubljana,96,false 868 | E70,SLO,Ljubljana,HR,Zagreb,141,false 869 | E70,HR,Zagreb,HR,Đakovo,244,false 870 | E70,HR,Đakovo,YU,Beograd,209,false 871 | E70,YU,Beograd,YU,Vrsac,81,false 872 | E70,YU,Vrsac,RO,Timişoara,77,false 873 | E70,RO,Timişoara,RO,Caransebeş,103,false 874 | E70,RO,Caransebeş,RO,Drobeta-Turnu Severin,104,false 875 | E70,RO,Drobeta-Turnu Severin,RO,Craiova,110,false 876 | E70,RO,Craiova,RO,Piteşti,130,false 877 | E70,RO,Piteşti,RO,Bucureşti,114,false 878 | E70,RO,Bucureşti,RO,Giurgiu,65,false 879 | E70,RO,Giurgiu,BG,Ruse,14,false 880 | E70,BG,Ruse,BG,Razgrad,61,false 881 | E70,BG,Razgrad,BG,Šumen,46,false 882 | E70,BG,Šumen,BG,Varna,89,false 883 | E70,BG,Varna,TR,Samsun,721,true 884 | E70,TR,Samsun,TR,Ordu,150,false 885 | E70,TR,Ordu,TR,Giresun,47,false 886 | E70,TR,Giresun,TR,Trabzon,131,false 887 | E71,SK,Košice,H,Miskolc,84,false 888 | E71,H,Miskolc,H,Budapest,171,false 889 | E71,H,Budapest,H,Balatonaliga,93,false 890 | E71,H,Balatonaliga,H,Nagykanizsa,119,false 891 | E71,H,Nagykanizsa,HR,Zagreb,140,false 892 | E71,HR,Zagreb,HR,Karlovac,53,false 893 | E71,HR,Karlovac,BIH,Bihać,99,false 894 | E71,BIH,Bihać,HR,Knin,154,false 895 | E71,HR,Knin,HR,Split,103,false 896 | E711,F,Lyon,F,Grenoble,106,false 897 | E712,CH,Genève,F,Chambéry,85,false 898 | E712,F,Chambéry,F,Marseille,325,false 899 | E713,F,Valence,F,Grenoble,92,false 900 | E714,F,Orange,F,Marseille,116,false 901 | E717,I,Torino,I,Savona,134,false 902 | E72,F,Bordeaux,F,Toulouse,242,false 903 | E73,H,Budapest,H,Szekszárd,155,false 904 | E73,H,Szekszárd,H,Mohács,46,false 905 | E73,H,Mohács,HR,Osijek,56,false 906 | E73,HR,Osijek,HR,Đakovo,38,false 907 | E73,HR,Đakovo,BIH,Bosanski Samac,35,false 908 | E73,BIH,Bosanski Samac,BIH,Zenica,145,false 909 | E73,BIH,Zenica,BIH,Mostar,166,false 910 | E73,BIH,Mostar,HR,Metković,43,false 911 | E74,F,Nice,I,Cuneo,120,false 912 | E74,I,Cuneo,I,Asti,88,false 913 | E74,I,Asti,I,Alessandria,38,false 914 | E75,N,Vardø,FIN,Utsjoki,212,false 915 | E75,FIN,Utsjoki,FIN,Ivalo,161,false 916 | E75,FIN,Ivalo,FIN,Sodankylä,163,false 917 | E75,FIN,Sodankylä,FIN,Rovaniemi,128,false 918 | E75,FIN,Rovaniemi,FIN,Kemi,121,false 919 | E75,FIN,Kemi,FIN,Oulu,107,false 920 | E75,FIN,Oulu,FIN,Jyväskylä,338,false 921 | E75,FIN,Jyväskylä,FIN,Lahti,178,false 922 | E75,FIN,Lahti,FIN,Helsinki,103,false 923 | E75,FIN,Helsinki,PL,Gdańsk,744,true 924 | E75,PL,Gdańsk,PL,Świecie,126,false 925 | E75,PL,Świecie,PL,Krośniewice,163,false 926 | E75,PL,Krośniewice,PL,Łódź,60,false 927 | E75,PL,Łódź,PL,Piotrków Trybunalski,55,false 928 | E75,PL,Piotrków Trybunalski,PL,Katowice,154,false 929 | E75,PL,Katowice,CZ,Česky Tĕšin,74,false 930 | E75,CZ,Česky Tĕšin,SK,Žilina,72,false 931 | E75,SK,Žilina,SK,Bratislava,200,false 932 | E75,SK,Bratislava,H,Györ,75,false 933 | E75,H,Györ,H,Budapest,119,false 934 | E75,H,Budapest,H,Szeged,168,false 935 | E75,H,Szeged,YU,Beograd,221,false 936 | E75,YU,Beograd,YU,Niš,232,false 937 | E75,YU,Niš,MK,Kumanovo,161,false 938 | E75,MK,Kumanovo,MK,Skopje,40,false 939 | E75,MK,Skopje,MK,Gevgelija,155,false 940 | E75,MK,Gevgelija,GR,Évzoni,7,false 941 | E75,GR,Évzoni,GR,Thessaloníki,69,false 942 | E75,GR,Thessaloníki,GR,Lárissa,151,false 943 | E75,GR,Lárissa,GR,Almirós,215,false 944 | E75,GR,Almirós,GR,Lamía,76,false 945 | E75,GR,Lamía,GR,Athína,214,false 946 | E75,GR,Athína,GR,Chaniá,311,true 947 | E75,GR,Chaniá,GR,Iráklio,132,false 948 | E75,GR,Iráklio,GR,Ágios Nikólaos,63,false 949 | E75,GR,Ágios Nikólaos,GR,Sitía,70,false 950 | E751,HR,Rijeka,HR,Pula,106,false 951 | E751,HR,Pula,SLO,Koper,95,false 952 | E76,I,Migliarino,I,Firenze,88,false 953 | E761,BIH,Bihać,BIH,Jajce,157,false 954 | E761,BIH,Jajce,BIH,Donji Vakuf,31,false 955 | E761,BIH,Donji Vakuf,BIH,Zenica,64,false 956 | E761,BIH,Zenica,BIH,Sarajevo,73,false 957 | E761,BIH,Sarajevo,YU,Užice,168,false 958 | E761,YU,Užice,YU,Čačak,55,false 959 | E761,YU,Čačak,YU,Kraljevo,38,false 960 | E761,YU,Kraljevo,YU,Kruševac,60,false 961 | E761,YU,Kruševac,YU,Pojate,23,false 962 | E761,YU,Pojate,YU,Paraćin,17,false 963 | E761,YU,Paraćin,YU,Zajĕcar,87,false 964 | E762,BIH,Sarajevo,YU,Podgorica,209,false 965 | E762,YU,Podgorica, ,*Albania*,23,false 966 | E763,YU,Beograd,YU,Čačak,137,false 967 | E763,YU,Čačak,YU,Nova Varos,117,false 968 | E763,YU,Nova Varos,YU,Bijelo Polje,73,false 969 | E77,PL,Gdańsk,PL,Elblag,60,false 970 | E77,PL,Elblag,PL,Warszawa,279,false 971 | E77,PL,Warszawa,PL,Radom,114,false 972 | E77,PL,Radom,PL,Kraków,192,false 973 | E77,PL,Kraków,SK,Trstená,103,false 974 | E77,SK,Trstená,SK,Ružomberok,54,false 975 | E77,SK,Ružomberok,SK,Zvolen,72,false 976 | E77,SK,Zvolen,H,Budapest,145,false 977 | E771,RO,Drobeta-Turnu Severin,YU,Niš,228,false 978 | E772,BG,Jablanica,BG,Veliko Tarnovo,149,false 979 | E772,BG,Veliko Tarnovo,BG,Šumen,131,false 980 | E773,BG,Popovica,BG,Stara Zagora,64,false 981 | E773,BG,Stara Zagora,BG,Burgas,177,false 982 | E78,I,Grosseto,I,Arezzo,138,false 983 | E78,I,Arezzo,I,Sansepolcro,42,false 984 | E78,I,Sansepolcro,I,Fano,105,false 985 | E79,RO,Oradea,RO,Beius,57,false 986 | E79,RO,Beius,RO,Deva,116,false 987 | E79,RO,Deva,RO,Petroşani,86,false 988 | E79,RO,Petroşani,RO,Tirgu Jiu,48,false 989 | E79,RO,Tirgu Jiu,RO,Craiova,112,false 990 | E79,RO,Craiova,RO,Calafat,87,false 991 | E79,RO,Calafat,BG,Vidin,8,true 992 | E79,BG,Vidin,BG,Vraca,126,false 993 | E79,BG,Vraca,BG,Botevgrad,50,false 994 | E79,BG,Botevgrad,BG,Sofia,63,false 995 | E79,BG,Sofia,BG,Blagoevgrad,92,false 996 | E79,BG,Blagoevgrad,GR,Séres,124,false 997 | E79,GR,Séres,GR,Thessaloníki,81,false 998 | E80,P,Lisboa,P,Santarem,82,false 999 | E80,P,Santarem,P,Leiria,73,false 1000 | E80,P,Leiria,P,Coimbra,74,false 1001 | E80,P,Coimbra,P,Aveiro,61,false 1002 | E80,P,Aveiro,P,Viseu,72,false 1003 | E80,P,Viseu,P,Guarda,68,false 1004 | E80,P,Guarda,P,Vilar Formoso,42,false 1005 | E80,P,Vilar Formoso,E,Salamanca,116,false 1006 | E80,E,Salamanca,E,Burgos,239,false 1007 | E80,E,Burgos,E,San Sebastián,246,false 1008 | E80,E,San Sebastián,F,Pau,157,false 1009 | E80,F,Pau,F,Toulouse,195,false 1010 | E80,F,Toulouse,F,Narbonne,154,false 1011 | E80,F,Narbonne,F,Nîmes,142,false 1012 | E80,F,Nîmes,F,Aix-en-Provence,106,false 1013 | E80,F,Aix-en-Provence,F,Nice,175,false 1014 | E80,F,Nice,I,Ventimiglia,34,false 1015 | E80,I,Ventimiglia,I,Savona,111,false 1016 | E80,I,Savona,I,Genova,48,false 1017 | E80,I,Genova,I,La Spezia,102,false 1018 | E80,I,La Spezia,I,Migliarino,71,false 1019 | E80,I,Migliarino,I,Livorno,32,false 1020 | E80,I,Livorno,I,Grosseto,135,false 1021 | E80,I,Grosseto,I,Roma,182,false 1022 | E80,I,Roma,I,Pescara,209,false 1023 | E80,I,Pescara,HR,Dubrovnik,320,true 1024 | E80,HR,Dubrovnik,YU,Petrovac,144,false 1025 | E80,YU,Petrovac,YU,Podgorica,48,false 1026 | E80,YU,Podgorica,YU,Priština,237,false 1027 | E80,YU,Priština,YU,Niš,124,false 1028 | E80,YU,Niš,YU,Dimitrovgrad,94,false 1029 | E80,YU,Dimitrovgrad,BG,Sofia,59,false 1030 | E80,BG,Sofia,BG,Plovdiv,140,false 1031 | E80,BG,Plovdiv,BG,Svilengrad,140,false 1032 | E80,BG,Svilengrad,TR,Edirne,34,false 1033 | E80,TR,Edirne,TR,Babaeski,62,false 1034 | E80,TR,Babaeski,TR,Silivri,123,false 1035 | E80,TR,Silivri,TR,Istanbul,71,false 1036 | E80,TR,Istanbul,TR,Izmit,107,false 1037 | E80,TR,Izmit,TR,Adapazari,42,false 1038 | E80,TR,Adapazari,TR,Bolu,111,false 1039 | E80,TR,Bolu,TR,Gerede,66,false 1040 | E80,TR,Gerede,TR,Ilgaz,142,false 1041 | E80,TR,Ilgaz,TR,Amasya,229,false 1042 | E80,TR,Amasya,TR,Niksar,111,false 1043 | E80,TR,Niksar,TR,Refahiye,191,false 1044 | E80,TR,Refahiye,TR,Erzincan,70,false 1045 | E80,TR,Erzincan,TR,Askale,138,false 1046 | E80,TR,Askale,TR,Erzurum,54,false 1047 | E80,TR,Erzurum,TR,Ağri,185,false 1048 | E80,TR,Ağri,TR,Gürbulak,129,false 1049 | E80,TR,Gürbulak, ,*Iran*,6,false 1050 | E801,P,Coimbra,P,Viseu,91,false 1051 | E801,P,Viseu,P,Vila Real,101,false 1052 | E801,P,Vila Real,P,Chaves,63,false 1053 | E801,P,Chaves,E,Verín,26,false 1054 | E802,P,Bragança,P,Guarda,192,false 1055 | E802,P,Guarda,P,Castelo Branco,101,false 1056 | E802,P,Castelo Branco,P,Portalegre,84,false 1057 | E802,P,Portalegre,P,Évora,100,false 1058 | E802,P,Évora,P,Beja,77,false 1059 | E802,P,Beja,P,Ourique,65,false 1060 | E803,E,Salamanca,E,Merida,278,false 1061 | E803,E,Merida,E,Sevilla,194,false 1062 | E804,E,Bilbao,E,Logroño,131,false 1063 | E804,E,Logroño,E,Zaragoza,174,false 1064 | E805,P,Famalicão,P,Chaves,377,false 1065 | E806,P,Torres Novas,P,Abrantes,32,false 1066 | E806,P,Abrantes,P,Castelo Branco,99,false 1067 | E806,P,Castelo Branco,P,Guarda,101,false 1068 | E81,RO,Halmeu,RO,Satu Mare,31,false 1069 | E81,RO,Satu Mare,RO,Zalau,93,false 1070 | E81,RO,Zalau,RO,Cluj-Napoca,77,false 1071 | E81,RO,Cluj-Napoca,RO,Turda,29,false 1072 | E81,RO,Turda,RO,Sebeş,81,false 1073 | E81,RO,Sebeş,RO,Sibiu,52,false 1074 | E81,RO,Sibiu,RO,Piteşti,145,false 1075 | E82,P,Porto,P,Vila Real,93,false 1076 | E82,P,Vila Real,P,Bragança,116,false 1077 | E82,P,Bragança,E,Zamora,102,false 1078 | E82,E,Zamora,E,Tordesillas,68,false 1079 | E821,I,Roma,I,San Cesareo,36,false 1080 | E83,BG,Bjala,BG,Pleven,95,false 1081 | E83,BG,Pleven,BG,Jablanica,78,false 1082 | E83,BG,Jablanica,BG,Botevgrad,29,false 1083 | E83,BG,Botevgrad,BG,Sofia,63,false 1084 | E84,TR,Keşan,TR,Tekirdag,93,false 1085 | E84,TR,Tekirdag,TR,Silivri,70,false 1086 | E841,I,Avellino,I,Salerno,36,false 1087 | E842,I,Napoli,I,Avellino,56,false 1088 | E842,I,Avellino,I,Benevento,28,false 1089 | E842,I,Benevento,I,Canosa di Puglia,135,false 1090 | E843,I,Bari,I,Taranto,94,false 1091 | E844,I,Spezzano Albanese,I,Sibari,24,false 1092 | E846,I,Cosenza,I,Crotone,117,false 1093 | E847,I,Sicignano degli Alburni,I,Potenza,59,false 1094 | E847,I,Potenza,I,Metaponto,111,false 1095 | E848,I,Sant'Eufemia Lamezia,I,Catanzaro,37,false 1096 | E85,LT,Klaipéda,LT,Kaunas,213,false 1097 | E85,LT,Kaunas,LT,Vilnius,103,false 1098 | E85,LT,Vilnius,BY,Lida,95,false 1099 | E85,BY,Lida,BY,Slonim,97,false 1100 | E85,BY,Slonim,BY,Kobrin,145,false 1101 | E85,BY,Kobrin,UA,Luck,202,false 1102 | E85,UA,Luck,UA,Černovcy,333,false 1103 | E85,UA,Černovcy,RO,Siret,41,false 1104 | E85,RO,Siret,RO,Suceava,40,false 1105 | E85,RO,Suceava,RO,Roman,104,false 1106 | E85,RO,Roman,RO,Bacău,42,false 1107 | E85,RO,Bacău,RO,Mărăşeşti,85,false 1108 | E85,RO,Mărăşeşti,RO,Buzău,93,false 1109 | E85,RO,Buzău,RO,Urziceni,53,false 1110 | E85,RO,Urziceni,RO,Bucureşti,57,false 1111 | E85,RO,Bucureşti,RO,Giurgiu,65,false 1112 | E85,RO,Giurgiu,BG,Ruse,14,false 1113 | E85,BG,Ruse,BG,Bjala,49,false 1114 | E85,BG,Bjala,BG,Veliko Tarnovo,52,false 1115 | E85,BG,Veliko Tarnovo,BG,Stara Zagora,108,false 1116 | E85,BG,Stara Zagora,BG,Haskovo,59,false 1117 | E85,BG,Haskovo,BG,Svilengrad,68,false 1118 | E85,BG,Svilengrad,GR,Orménio,17,false 1119 | E85,GR,Orménio,GR,Kastanies,31,false 1120 | E85,GR,Kastanies,GR,Didimoticho,38,false 1121 | E85,GR,Didimoticho,GR,Alexandropoúli,110,false 1122 | E851,YU,Petrovac, ,*Albania*,53,false 1123 | E851, ,*Albania*, ,*Albania*,148,false 1124 | E851, ,*Albania*,YU,Prizren,16,false 1125 | E851,YU,Prizren,YU,Priština,78,false 1126 | E852,MK,Ohrid, ,*Albania*,29,false 1127 | E853,GR,Ioánnina, ,*Albania*,61,false 1128 | E86,GR,Kristalopigí,GR,Flórina,45,false 1129 | E86,GR,Flórina,GR,Vévi,21,false 1130 | E86,GR,Vévi,GR,Géfira,111,false 1131 | E87,RO,Tulcea,RO,Constanta,129,false 1132 | E87,RO,Constanta,BG,Varna,156,false 1133 | E87,BG,Varna,BG,Burgas,127,false 1134 | E87,BG,Burgas,BG,Mičurin,62,false 1135 | E87,BG,Mičurin,BG,Malko Tarnovo,41,false 1136 | E87,BG,Malko Tarnovo,TR,Dereköy,15,false 1137 | E87,TR,Dereköy,TR,Kirklareli,31,false 1138 | E87,TR,Kirklareli,TR,Babaeski,37,false 1139 | E87,TR,Babaeski,TR,Havza,27,false 1140 | E87,TR,Havza,TR,Keşan,85,false 1141 | E87,TR,Keşan,TR,Gelibolu,67,false 1142 | E87,TR,Gelibolu,TR,Eceabat,43,false 1143 | E87,TR,Eceabat,TR,Çanakkale,6,true 1144 | E87,TR,Çanakkale,TR,Ayvalik,180,false 1145 | E87,TR,Ayvalik,TR,Izmir,153,false 1146 | E87,TR,Izmir,TR,Selçuk,81,false 1147 | E87,TR,Selçuk,TR,Aydin,51,false 1148 | E87,TR,Aydin,TR,Denizli,184,false 1149 | E87,TR,Denizli,TR,Acipayam,57,false 1150 | E87,TR,Acipayam,TR,Korkuteli,105,false 1151 | E87,TR,Korkuteli,TR,Antalya,64,false 1152 | E871,BG,Sofia,BG,Kjustendil,95,false 1153 | E871,BG,Kjustendil,MK,Kumanovo,98,false 1154 | E88,TR,Ankara,TR,Yozgat,213,false 1155 | E88,TR,Yozgat,TR,Sivas,234,false 1156 | E88,TR,Sivas,TR,Refahiye,174,false 1157 | E89,TR,Gerede,TR,Kizilcahamam,64,false 1158 | E89,TR,Kizilcahamam,TR,Ankara,83,false 1159 | E90,P,Lisboa,P,Montijo,50,false 1160 | E90,P,Montijo,P,Setúbal,23,false 1161 | E90,P,Setúbal,P,Évora,99,false 1162 | E90,P,Évora,P,Caia,98,false 1163 | E90,P,Caia,E,Badajoz,57,false 1164 | E90,E,Badajoz,E,Madrid,406,false 1165 | E90,E,Madrid,E,Zaragoza,310,false 1166 | E90,E,Zaragoza,E,Lérida,149,false 1167 | E90,E,Lérida,E,Barcelona,178,false 1168 | E90,E,Barcelona,I,Mazara del Vallo,986,true 1169 | E90,I,Mazara del Vallo,I,Alcamo,79,false 1170 | E90,I,Alcamo,I,Palermo,64,false 1171 | E90,I,Palermo,I,Buonfornello,47,false 1172 | E90,I,Buonfornello,I,Messina,184,false 1173 | E90,I,Messina,I,Reggio di Calabria,19,true 1174 | E90,I,Reggio di Calabria,I,Catanzaro,197,false 1175 | E90,I,Catanzaro,I,Crotone,74,false 1176 | E90,I,Crotone,I,Sibari,115,false 1177 | E90,I,Sibari,I,Metaponto,195,false 1178 | E90,I,Metaponto,I,Taranto,48,false 1179 | E90,I,Taranto,I,Brindisi,70,false 1180 | E90,I,Brindisi,GR,Igoumenítsa,252,true 1181 | E90,GR,Igoumenítsa,GR,Ioánnina,92,false 1182 | E90,GR,Ioánnina,GR,Kozáni,181,false 1183 | E90,GR,Kozáni,GR,Thessaloníki,129,false 1184 | E90,GR,Thessaloníki,GR,Alexandropoúli,343,false 1185 | E90,GR,Alexandropoúli,TR,Ipsala,54,false 1186 | E90,TR,Ipsala,TR,Keşan,31,false 1187 | E90,TR,Keşan,TR,Gelibolu,67,false 1188 | E90,TR,Gelibolu,TR,Lapseki,8,true 1189 | E90,TR,Lapseki,TR,Bursa,224,false 1190 | E90,TR,Bursa,TR,Eskişehir,151,false 1191 | E90,TR,Eskişehir,TR,Sivrihisar,97,false 1192 | E90,TR,Sivrihisar,TR,Ankara,148,false 1193 | E90,TR,Ankara,TR,Aksaray,233,false 1194 | E90,TR,Aksaray,TR,Adana,252,false 1195 | E90,TR,Adana,TR,Toprakkale,89,false 1196 | E90,TR,Toprakkale,TR,Gazi Antep,135,false 1197 | E90,TR,Gazi Antep,TR,Sanli Urfa,140,false 1198 | E90,TR,Sanli Urfa,TR,Nusaybin,230,false 1199 | E90,TR,Nusaybin,TR,Cizre,95,false 1200 | E90,TR,Cizre,TR,Habur,44,false 1201 | E90,TR,Habur, ,*Iraq*,1,false 1202 | E901,E,Madrid,E,Valencia,344,false 1203 | E902,E,Jaén,E,Granada,88,false 1204 | E902,E,Granada,E,Málaga,124,false 1205 | E91,TR,Toprakkale,TR,Iskenderun,63,false 1206 | E91,TR,Iskenderun,TR,Topboğazi,23,false 1207 | E91,TR,Topboğazi,TR,Antakya,31,false 1208 | E91,TR,Antakya,TR,Yayladaği,43,false 1209 | E91,TR,Yayladaği, ,*Syria*,5,false 1210 | E92,GR,Igoumenítsa,GR,Ioánnina,92,false 1211 | E92,GR,Ioánnina,GR,Tríkala,139,false 1212 | E92,GR,Tríkala,GR,Vólos,119,false 1213 | E931,I,Mazara del Vallo,I,Gela,189,false 1214 | E932,I,Buonfornello,I,Enna,86,false 1215 | E932,I,Enna,I,Catánia,85,false 1216 | E933,I,Alcamo,I,Trapani,57,false 1217 | E94,GR,Korinthos,GR,Athína,83,false 1218 | E95,RUS,Sankt-Peterburg,RUS,Pskov,282,false 1219 | E95,RUS,Pskov,BY,Gomel',686,false 1220 | E95,BY,Gomel',UA,Kiev,249,false 1221 | E95,UA,Kiev,UA,Odessa,477,false 1222 | E95,UA,Odessa,TR,Samsun,731,true 1223 | E95,TR,Samsun,TR,Merzifon,103,false 1224 | E951,GR,Ioánnina,GR,Árta,72,false 1225 | E951,GR,Árta,GR,Agrínio,83,false 1226 | E951,GR,Agrínio,GR,Mesolóngi,35,false 1227 | E952,GR,Aktio,GR,Vónitsa,14,false 1228 | E952,GR,Vónitsa,GR,Amfilochía,38,false 1229 | E952,GR,Amfilochía,GR,Karpenísi,113,false 1230 | E952,GR,Karpenísi,GR,Lamía,77,false 1231 | E96,TR,Izmir,TR,Usak,211,false 1232 | E96,TR,Usak,TR,Afyon,114,false 1233 | E96,TR,Afyon,TR,Sivrihisar,121,false 1234 | E961,GR,Trípoli,GR,Spárti,60,false 1235 | E961,GR,Spárti,GR,Gíthio,44,false 1236 | E962,GR,Elefsína,GR,Thíva,48,false 1237 | E97,RUS,Rostov-na-Donu,RUS,Krasnodar,279,false 1238 | E97,RUS,Krasnodar,RUS,Novorossijsk,141,false 1239 | E97,RUS,Novorossijsk,RUS,Soči,233,false 1240 | E97,RUS,Soči,GE,Batumi,372,false 1241 | E97,GE,Batumi,TR,Trabzon,200,false 1242 | E97,TR,Trabzon,TR,Gümüshane,91,false 1243 | E97,TR,Gümüshane,TR,Askale,140,false 1244 | E98,TR,Topboğazi,TR,Kirikhan,10,false 1245 | E98,TR,Kirikhan,TR,Reyhanli,38,false 1246 | E98,TR,Reyhanli,TR,Cilvegözü,14,false 1247 | E98,TR,Cilvegözü, ,*Syria*,2,false 1248 | E99,TR,Doğubayazit,TR,Muradiye,87,false 1249 | E99,TR,Muradiye,TR,Bitlis,189,false 1250 | E99,TR,Bitlis,TR,Diyarbakir,205,false 1251 | E99,TR,Diyarbakir,TR,Sanli Urfa,186,false 1252 | -------------------------------------------------------------------------------- /notebooks/.ipynb_checkpoints/00_Import-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Importing the European Roads dataset\n", 8 | "\n", 9 | "In this notebook we're going to import the European Roads dataset into Neo4j. Let's first import the Neo4j Python driver:" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "name": "stdout", 19 | "output_type": "stream", 20 | "text": [ 21 | "Collecting neo4j\n", 22 | "Collecting sklearn\n", 23 | "Collecting altair\n", 24 | " Using cached https://files.pythonhosted.org/packages/01/55/0bb2226e34f21fa549c3f4557b4f154a5632f61132a969da17c95ca8eab9/altair-4.1.0-py3-none-any.whl\n", 25 | "Requirement already satisfied: pytz in /opt/conda/lib/python3.7/site-packages (from neo4j) (2018.9)\n", 26 | "Requirement already satisfied: scikit-learn in /opt/conda/lib/python3.7/site-packages (from sklearn) (0.20.3)\n", 27 | "Requirement already satisfied: pandas>=0.18 in /opt/conda/lib/python3.7/site-packages (from altair) (0.24.2)\n", 28 | "Requirement already satisfied: toolz in /opt/conda/lib/python3.7/site-packages (from altair) (0.9.0)\n", 29 | "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.7/site-packages (from altair) (3.0.1)\n", 30 | "Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from altair) (1.15.4)\n", 31 | "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.7/site-packages (from altair) (2.10.1)\n", 32 | "Requirement already satisfied: entrypoints in /opt/conda/lib/python3.7/site-packages (from altair) (0.3)\n", 33 | "Requirement already satisfied: scipy>=0.13.3 in /opt/conda/lib/python3.7/site-packages (from scikit-learn->sklearn) (1.2.1)\n", 34 | "Requirement already satisfied: python-dateutil>=2.5.0 in /opt/conda/lib/python3.7/site-packages (from pandas>=0.18->altair) (2.8.0)\n", 35 | "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (19.1.0)\n", 36 | "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (0.14.11)\n", 37 | "Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (41.0.0)\n", 38 | "Requirement already satisfied: six>=1.11.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (1.12.0)\n", 39 | "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.7/site-packages (from jinja2->altair) (1.1.1)\n", 40 | "Installing collected packages: neo4j, sklearn, altair\n", 41 | "Successfully installed altair-4.1.0 neo4j-4.0.1 sklearn-0.0\n", 42 | "Note: you may need to restart the kernel to use updated packages.\n" 43 | ] 44 | } 45 | ], 46 | "source": [ 47 | "pip install neo4j sklearn altair" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 13, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "from neo4j import GraphDatabase\n", 57 | "from neo4j.exceptions import ClientError\n", 58 | "import os" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": {}, 64 | "source": [ 65 | "Once we've done that we can initialise the Neo4j driver." 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 11, 71 | "metadata": {}, 72 | "outputs": [], 73 | "source": [ 74 | "bolt_url = os.getenv(\"NEO4J_BOLT_URL\", \"bolt://localhost\")\n", 75 | "user = os.getenv(\"NEO4J_USER\", \"neo4j\")\n", 76 | "password = os.getenv(\"NEO4J_PASSWORD\", \"neo\")\n", 77 | "driver = GraphDatabase.driver(\"bolt://graph-embeddings-neo4j\", auth=(user, password))" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "## Importing the dataset\n", 85 | "\n", 86 | "And now we can import the dataset:" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 12, 92 | "metadata": {}, 93 | "outputs": [ 94 | { 95 | "name": "stdout", 96 | "output_type": "stream", 97 | "text": [ 98 | "An equivalent constraint already exists, 'Constraint( UNIQUE, :Place(name) )'.\n" 99 | ] 100 | }, 101 | { 102 | "data": { 103 | "text/plain": [ 104 | "{'properties_set': 5000}" 105 | ] 106 | }, 107 | "metadata": {}, 108 | "output_type": "display_data" 109 | } 110 | ], 111 | "source": [ 112 | "with driver.session(database=\"neo4j\") as session:\n", 113 | " try: \n", 114 | " session.run(\"\"\"\n", 115 | " CREATE CONSTRAINT ON (p:Place) ASSERT p.name IS UNIQUE;\n", 116 | " \"\"\")\n", 117 | " except ClientError as ex:\n", 118 | " print(ex)\n", 119 | " \n", 120 | " result = session.run(\"\"\"\n", 121 | " USING PERIODIC COMMIT 1000\n", 122 | " LOAD CSV WITH HEADERS FROM \"https://github.com/neo4j-examples/graph-embeddings/raw/main/data/roads.csv\"\n", 123 | " AS row\n", 124 | "\n", 125 | " MERGE (origin:Place {name: row.origin_reference_place})\n", 126 | " MERGE (originCountry:Country {code: row.origin_country_code})\n", 127 | "\n", 128 | " MERGE (destination:Place {name: row.destination_reference_place})\n", 129 | " MERGE (destinationCountry:Country {code: row.destination_country_code})\n", 130 | " \n", 131 | "\n", 132 | " MERGE (origin)-[eroad:EROAD {number: row.road_number}]->(destination)\n", 133 | " SET eroad.distance = toInteger(row.distance), eroad.watercrossing = row.watercrossing;\n", 134 | " \"\"\")\n", 135 | " display(result.consume().counters)" 136 | ] 137 | } 138 | ], 139 | "metadata": { 140 | "kernelspec": { 141 | "display_name": "Python 3", 142 | "language": "python", 143 | "name": "python3" 144 | }, 145 | "language_info": { 146 | "codemirror_mode": { 147 | "name": "ipython", 148 | "version": 3 149 | }, 150 | "file_extension": ".py", 151 | "mimetype": "text/x-python", 152 | "name": "python", 153 | "nbconvert_exporter": "python", 154 | "pygments_lexer": "ipython3", 155 | "version": "3.7.3" 156 | } 157 | }, 158 | "nbformat": 4, 159 | "nbformat_minor": 4 160 | } 161 | -------------------------------------------------------------------------------- /notebooks/.jupyter/migrated: -------------------------------------------------------------------------------- 1 | 2020-07-09T08:18:59.308067 -------------------------------------------------------------------------------- /notebooks/00_Import.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Importing the European Roads dataset\n", 8 | "\n", 9 | "In this notebook we're going to import the European Roads dataset into Neo4j. Let's first import the Neo4j Python driver:" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "name": "stdout", 19 | "output_type": "stream", 20 | "text": [ 21 | "Collecting neo4j\n", 22 | "Collecting sklearn\n", 23 | "Collecting altair\n", 24 | " Using cached https://files.pythonhosted.org/packages/01/55/0bb2226e34f21fa549c3f4557b4f154a5632f61132a969da17c95ca8eab9/altair-4.1.0-py3-none-any.whl\n", 25 | "Requirement already satisfied: pytz in /opt/conda/lib/python3.7/site-packages (from neo4j) (2018.9)\n", 26 | "Requirement already satisfied: scikit-learn in /opt/conda/lib/python3.7/site-packages (from sklearn) (0.20.3)\n", 27 | "Requirement already satisfied: pandas>=0.18 in /opt/conda/lib/python3.7/site-packages (from altair) (0.24.2)\n", 28 | "Requirement already satisfied: toolz in /opt/conda/lib/python3.7/site-packages (from altair) (0.9.0)\n", 29 | "Requirement already satisfied: jsonschema in /opt/conda/lib/python3.7/site-packages (from altair) (3.0.1)\n", 30 | "Requirement already satisfied: numpy in /opt/conda/lib/python3.7/site-packages (from altair) (1.15.4)\n", 31 | "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.7/site-packages (from altair) (2.10.1)\n", 32 | "Requirement already satisfied: entrypoints in /opt/conda/lib/python3.7/site-packages (from altair) (0.3)\n", 33 | "Requirement already satisfied: scipy>=0.13.3 in /opt/conda/lib/python3.7/site-packages (from scikit-learn->sklearn) (1.2.1)\n", 34 | "Requirement already satisfied: python-dateutil>=2.5.0 in /opt/conda/lib/python3.7/site-packages (from pandas>=0.18->altair) (2.8.0)\n", 35 | "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (19.1.0)\n", 36 | "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (0.14.11)\n", 37 | "Requirement already satisfied: setuptools in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (41.0.0)\n", 38 | "Requirement already satisfied: six>=1.11.0 in /opt/conda/lib/python3.7/site-packages (from jsonschema->altair) (1.12.0)\n", 39 | "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.7/site-packages (from jinja2->altair) (1.1.1)\n", 40 | "Installing collected packages: neo4j, sklearn, altair\n", 41 | "Successfully installed altair-4.1.0 neo4j-4.0.1 sklearn-0.0\n", 42 | "Note: you may need to restart the kernel to use updated packages.\n" 43 | ] 44 | } 45 | ], 46 | "source": [ 47 | "pip install neo4j sklearn altair" 48 | ] 49 | }, 50 | { 51 | "cell_type": "code", 52 | "execution_count": 3, 53 | "metadata": {}, 54 | "outputs": [], 55 | "source": [ 56 | "from neo4j import GraphDatabase\n", 57 | "from neo4j.exceptions import ClientError\n", 58 | "import os" 59 | ] 60 | }, 61 | { 62 | "cell_type": "markdown", 63 | "metadata": {}, 64 | "source": [ 65 | "Once we've done that we can initialise the Neo4j driver." 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 4, 71 | "metadata": {}, 72 | "outputs": [], 73 | "source": [ 74 | "bolt_url = os.getenv(\"NEO4J_BOLT_URL\", \"bolt://localhost\")\n", 75 | "user = os.getenv(\"NEO4J_USER\", \"neo4j\")\n", 76 | "password = os.getenv(\"NEO4J_PASSWORD\", \"neo\")\n", 77 | "driver = GraphDatabase.driver(\"bolt://graph-embeddings-neo4j\", auth=(user, password))" 78 | ] 79 | }, 80 | { 81 | "cell_type": "markdown", 82 | "metadata": {}, 83 | "source": [ 84 | "## Importing the dataset\n", 85 | "\n", 86 | "And now we can import the dataset:" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 6, 92 | "metadata": {}, 93 | "outputs": [ 94 | { 95 | "name": "stdout", 96 | "output_type": "stream", 97 | "text": [ 98 | "An equivalent constraint already exists, 'Constraint( UNIQUE, :Place(name) )'.\n" 99 | ] 100 | }, 101 | { 102 | "data": { 103 | "text/plain": [ 104 | "{'labels_added': 933, 'relationships_created': 2145, 'nodes_created': 933, 'properties_set': 4683}" 105 | ] 106 | }, 107 | "metadata": {}, 108 | "output_type": "display_data" 109 | } 110 | ], 111 | "source": [ 112 | "with driver.session(database=\"neo4j\") as session:\n", 113 | " try: \n", 114 | " session.run(\"\"\"\n", 115 | " CREATE CONSTRAINT ON (p:Place) ASSERT p.name IS UNIQUE;\n", 116 | " \"\"\")\n", 117 | " except ClientError as ex:\n", 118 | " print(ex)\n", 119 | " \n", 120 | " result = session.run(\"\"\"\n", 121 | " USING PERIODIC COMMIT 1000\n", 122 | " LOAD CSV WITH HEADERS FROM \"https://github.com/neo4j-examples/graph-embeddings/raw/main/data/roads.csv\"\n", 123 | " AS row\n", 124 | "\n", 125 | " MERGE (origin:Place {name: row.origin_reference_place})\n", 126 | " MERGE (originCountry:Country {code: row.origin_country_code})\n", 127 | "\n", 128 | " MERGE (destination:Place {name: row.destination_reference_place})\n", 129 | " MERGE (destinationCountry:Country {code: row.destination_country_code})\n", 130 | " \n", 131 | " MERGE (origin)-[:IN_COUNTRY]->(originCountry)\n", 132 | " MERGE (destination)-[:IN_COUNTRY]->(destinationCountry)\n", 133 | "\n", 134 | " MERGE (origin)-[eroad:EROAD {number: row.road_number}]->(destination)\n", 135 | " SET eroad.distance = toInteger(row.distance), eroad.watercrossing = row.watercrossing;\n", 136 | " \"\"\")\n", 137 | " display(result.consume().counters)" 138 | ] 139 | } 140 | ], 141 | "metadata": { 142 | "kernelspec": { 143 | "display_name": "Python 3", 144 | "language": "python", 145 | "name": "python3" 146 | }, 147 | "language_info": { 148 | "codemirror_mode": { 149 | "name": "ipython", 150 | "version": 3 151 | }, 152 | "file_extension": ".py", 153 | "mimetype": "text/x-python", 154 | "name": "python", 155 | "nbconvert_exporter": "python", 156 | "pygments_lexer": "ipython3", 157 | "version": "3.7.3" 158 | } 159 | }, 160 | "nbformat": 4, 161 | "nbformat_minor": 4 162 | } 163 | -------------------------------------------------------------------------------- /notebooks/charts/node2vec-color.json: -------------------------------------------------------------------------------- 1 | {"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"name": "data-82a7b16c074939462766f6a0e1a1eda0"}, "mark": {"type": "circle", "size": 60}, "encoding": {"color": {"type": "nominal", "field": "country"}, "tooltip": [{"type": "nominal", "field": "place"}, {"type": "nominal", "field": "country"}], "x": {"type": "quantitative", "field": "x"}, "y": {"type": "quantitative", "field": "y"}}, "height": 400, "width": 700, "$schema": "https://vega.github.io/schema/vega-lite/v4.8.1.json", "datasets": {"data-82a7b16c074939462766f6a0e1a1eda0": [{"place": "Larne", "country": "GB", "x": 23.5971622467041, "y": -3.4788525104522705}, {"place": "Belfast", "country": "GB", "x": 23.132070541381836, "y": -4.331253528594971}, {"place": "La Coru\u00f1a", "country": "E", "x": -6.959006309509277, "y": 7.212301254272461}, {"place": "Pontevedra", "country": "E", "x": -6.56352424621582, "y": 7.505499362945557}, {"place": "Huelva", "country": "E", "x": -11.583806037902832, "y": 11.094340324401855}, {"place": "Cherbourg", "country": "F", "x": -1.398701786994934, "y": 1.7606923580169678}, {"place": "Rennes", "country": "F", "x": -2.0304977893829346, "y": 0.9728484749794006}, {"place": "Nantes", "country": "F", "x": -3.222228527069092, "y": 0.9669696092605591}, {"place": "Greenock", "country": "GB", "x": 22.48859977722168, "y": -5.141818046569824}, {"place": "Glasgow", "country": "GB", "x": 22.007535934448242, "y": -4.52088737487793}, {"place": "Gretna", "country": "GB", "x": 21.686342239379883, "y": -3.2372586727142334}, {"place": "Carlisle", "country": "GB", "x": 20.80674171447754, "y": -3.629676580429077}, {"place": "Penrith", "country": "GB", "x": 20.163745880126953, "y": -2.782966375350952}, {"place": "Preston", "country": "GB", "x": 19.28508186340332, "y": -2.0759246349334717}, {"place": "Warrington", "country": "GB", "x": 17.830751419067383, "y": -1.7032060623168945}, {"place": "Birmingham", "country": "GB", "x": 16.939695358276367, "y": -0.6337239146232605}, {"place": "Newbury", "country": "GB", "x": 4.114959716796875, "y": -4.3097920417785645}, {"place": "Southampton", "country": "GB", "x": 3.2061350345611572, "y": -4.4229841232299805}, {"place": "Le Havre", "country": "F", "x": 2.03605318069458, "y": -4.396010398864746}, {"place": "Paris", "country": "F", "x": 0.15768936276435852, "y": -3.60566782951355}, {"place": "Orl\u00e9ans", "country": "F", "x": -3.302507162094116, "y": -1.8680168390274048}, {"place": "Tours", "country": "F", "x": -4.090080738067627, "y": -0.3519839644432068}, {"place": "Poitiers", "country": "F", "x": -5.269989967346191, "y": -1.1011312007904053}, {"place": "Bordeaux", "country": "F", "x": -8.660426139831543, "y": 2.9834437370300293}, {"place": "San Sebasti\u00e1n", "country": "E", "x": -8.918471336364746, "y": 4.871042728424072}, {"place": "Burgos", "country": "E", "x": -10.119176864624023, "y": 8.080099105834961}, {"place": "Madrid", "country": "E", "x": -11.763603210449219, "y": 7.772871017456055}, {"place": "Cord\u00f3ba", "country": "E", "x": -11.894949913024902, "y": 9.241196632385254}, {"place": "Sevilla", "country": "E", "x": -11.761260986328125, "y": 10.298996925354004}, {"place": "C\u00e1diz", "country": "E", "x": -12.774252891540527, "y": 10.653653144836426}, {"place": "Pau", "country": "F", "x": -10.007491111755371, "y": 4.234782695770264}, {"place": "Ja\u00e7a", "country": "E", "x": -10.981873512268066, "y": 5.192709922790527}, {"place": "Huesca", "country": "E", "x": -11.527820587158203, "y": 5.869046211242676}, {"place": "Limoges", "country": "F", "x": -7.485523223876953, "y": 2.289020538330078}, {"place": "Toulouse", "country": "F", "x": -11.002041816711426, "y": 2.537926435470581}, {"place": "Vierzon", "country": "F", "x": -6.056710243225098, "y": 0.2668803632259369}, {"place": "Montlu\u00e7on", "country": "F", "x": -7.107753753662109, "y": 0.14503557980060577}, {"place": "Clermont-Ferrand", "country": "F", "x": -7.978862285614014, "y": -0.052667297422885895}, {"place": "Doncaster", "country": "GB", "x": 14.74386978149414, "y": -2.9935872554779053}, {"place": "Sheffield", "country": "GB", "x": 14.015390396118164, "y": -2.2175099849700928}, {"place": "Nottingham", "country": "GB", "x": 13.333251953125, "y": -1.741382360458374}, {"place": "Leicester", "country": "GB", "x": 12.757813453674316, "y": -1.2411220073699951}, {"place": "Northampton", "country": "GB", "x": 12.112601280212402, "y": -0.7742995619773865}, {"place": "Inverness", "country": "GB", "x": 21.856664657592773, "y": -6.530788421630859}, {"place": "Perth", "country": "GB", "x": 21.48891258239746, "y": -6.205822467803955}, {"place": "Edinburgh", "country": "GB", "x": 21.092182159423828, "y": -5.492187976837158}, {"place": "Newcastle upon Tyne", "country": "GB", "x": 19.848970413208008, "y": -4.661495208740234}, {"place": "Scotch Corner", "country": "GB", "x": 15.416053771972656, "y": -2.637514352798462}, {"place": "London", "country": "GB", "x": 11.776893615722656, "y": -1.6623870134353638}, {"place": "Folkestone", "country": "GB", "x": 10.75255298614502, "y": -0.6844444870948792}, {"place": "Dover", "country": "GB", "x": 3.3834657669067383, "y": 0.08573795109987259}, {"place": "Calais", "country": "F", "x": 1.9836957454681396, "y": -0.00939176045358181}, {"place": "Lyon", "country": "F", "x": -9.397947311401367, "y": -2.1186885833740234}, {"place": "Orange", "country": "F", "x": -10.881640434265137, "y": -0.8981896638870239}, {"place": "Narbonne", "country": "F", "x": -12.346360206604004, "y": 1.5617111921310425}, {"place": "Gerona", "country": "E", "x": -12.793927192687988, "y": 2.5888760089874268}, {"place": "Barcelona", "country": "E", "x": -13.621905326843262, "y": 4.2415618896484375}, {"place": "Tarragona", "country": "E", "x": -14.593783378601074, "y": 6.0760416984558105}, {"place": "Castell\u00f3n de la Plana", "country": "E", "x": -14.443511962890625, "y": 7.162911891937256}, {"place": "Valencia", "country": "E", "x": -13.909449577331543, "y": 7.966099739074707}, {"place": "Alicante", "country": "E", "x": -14.17626667022705, "y": 9.041487693786621}, {"place": "Murcia", "country": "E", "x": -14.072918891906738, "y": 9.93184757232666}, {"place": "Londonderry", "country": "GB", "x": 23.773635864257812, "y": -4.81967306137085}, {"place": "Cambrai", "country": "F", "x": -1.5458757877349854, "y": -5.438036918640137}, {"place": "Reims", "country": "F", "x": -0.7042584419250488, "y": -5.923524379730225}, {"place": "Craigavon", "country": "GB", "x": 24.06673812866211, "y": -4.093369483947754}, {"place": "Stranraer", "country": "GB", "x": 22.634572982788086, "y": -3.5315253734588623}, {"place": "Valenciennes", "country": "F", "x": 0.2120671421289444, "y": -2.6560583114624023}, {"place": "Liverpool", "country": "GB", "x": 18.023229598999023, "y": -3.783348321914673}, {"place": "Manchester", "country": "GB", "x": 17.33757781982422, "y": -3.331777572631836}, {"place": "Bradford", "country": "GB", "x": 16.726041793823242, "y": -4.093443870544434}, {"place": "Leeds", "country": "GB", "x": 16.138818740844727, "y": -4.050961017608643}, {"place": "Kingston upon Hull", "country": "GB", "x": 15.898813247680664, "y": -4.821465492248535}, {"place": "Metz", "country": "F", "x": 0.030041571706533432, "y": -8.28465747833252}, {"place": "Nancy", "country": "F", "x": -1.2419283390045166, "y": -8.18237018585205}, {"place": "Dijon", "country": "F", "x": -2.852651357650757, "y": -7.421395778656006}, {"place": "Holyhead", "country": "GB", "x": 18.557422637939453, "y": -0.5894159078598022}, {"place": "Chester", "country": "GB", "x": 18.395126342773438, "y": -0.8388182520866394}, {"place": "Immingham", "country": "GB", "x": 14.568231582641602, "y": -3.6665737628936768}, {"place": "Oldenburg", "country": "D", "x": 7.941713809967041, "y": -27.899578094482422}, {"place": "Bremen", "country": "D", "x": 8.683462142944336, "y": -26.206680297851562}, {"place": "Hamburg", "country": "D", "x": 9.979331970214844, "y": -25.15793228149414}, {"place": "L\u00fcbeck", "country": "D", "x": 11.243134498596191, "y": -25.61957550048828}, {"place": "Rostock", "country": "D", "x": 11.993141174316406, "y": -24.866527557373047}, {"place": "Stralsund", "country": "D", "x": 12.938358306884766, "y": -24.570016860961914}, {"place": "Sa\u00dfnitz", "country": "D", "x": 13.543252944946289, "y": -24.72429656982422}, {"place": "Besan\u00e7on", "country": "F", "x": -2.280143976211548, "y": -8.36921501159668}, {"place": "Hasel\u00fcnne", "country": "D", "x": 7.417094707489014, "y": -27.33146858215332}, {"place": "Cloppenburg", "country": "D", "x": 8.030067443847656, "y": -26.904441833496094}, {"place": "Cuxhaven", "country": "D", "x": 9.135287284851074, "y": -27.648082733154297}, {"place": "Bremerhaven", "country": "D", "x": 9.73828411102295, "y": -27.153949737548828}, {"place": "Cambridge", "country": "GB", "x": 15.976076126098633, "y": -0.017288867384195328}, {"place": "Saint-Avold", "country": "F", "x": -1.2829909324645996, "y": -10.026856422424316}, {"place": "Strasbourg", "country": "F", "x": -1.6032625436782837, "y": -11.456826210021973}, {"place": "Mulhouse", "country": "F", "x": -2.663499593734741, "y": -11.414657592773438}, {"place": "Mont-Blanc", "country": "F", "x": -12.16016674041748, "y": -5.333008766174316}, {"place": "Aosta", "country": "I", "x": -13.018525123596191, "y": -5.599806785583496}, {"place": "Ivrea", "country": "I", "x": -14.080989837646484, "y": -5.371862411499023}, {"place": "Vercelli", "country": "I", "x": -15.067801475524902, "y": -5.4742608070373535}, {"place": "Alessandria", "country": "I", "x": -16.12521743774414, "y": -5.097818374633789}, {"place": "Neubrandenburg", "country": "D", "x": 12.164456367492676, "y": -23.958858489990234}, {"place": "Belfort", "country": "F", "x": -2.9184298515319824, "y": -9.885645866394043}, {"place": "Berlin", "country": "D", "x": 11.451651573181152, "y": -23.07448387145996}, {"place": "K\u00f6ln", "country": "D", "x": 5.720663070678711, "y": -13.392691612243652}, {"place": "Saarbr\u00fccken", "country": "D", "x": 1.7598682641983032, "y": -9.908976554870605}, {"place": "Fishguard", "country": "GB", "x": 10.232194900512695, "y": -5.515523910522461}, {"place": "Swansea", "country": "GB", "x": 10.502212524414062, "y": -5.0185441970825195}, {"place": "Cardiff", "country": "GB", "x": 10.7564697265625, "y": -4.361581325531006}, {"place": "Newport", "country": "GB", "x": 11.051873207092285, "y": -3.547391414642334}, {"place": "Bristol", "country": "GB", "x": 11.40810775756836, "y": -2.7314212322235107}, {"place": "Colchester", "country": "GB", "x": 13.567115783691406, "y": -0.2899460196495056}, {"place": "Ipswich", "country": "GB", "x": 14.811856269836426, "y": 0.15536832809448242}, {"place": "Felixstowe", "country": "GB", "x": 14.411561012268066, "y": 0.7327826619148254}, {"place": "Osnabr\u00fcck", "country": "D", "x": 7.436066627502441, "y": -25.376266479492188}, {"place": "Bad Oeynhausen", "country": "D", "x": 7.600131511688232, "y": -24.170969009399414}, {"place": "Hannover", "country": "D", "x": 8.617571830749512, "y": -24.140085220336914}, {"place": "Braunschweig", "country": "D", "x": 9.79853343963623, "y": -22.874832153320312}, {"place": "Magdeburg", "country": "D", "x": 10.44194507598877, "y": -22.19244384765625}, {"place": "Goch", "country": "D", "x": 7.5825676918029785, "y": -12.211692810058594}, {"place": "Krefeld", "country": "D", "x": 6.884232997894287, "y": -12.527629852294922}, {"place": "Koblenz", "country": "D", "x": 4.517012119293213, "y": -13.442280769348145}, {"place": "Bingen", "country": "D", "x": 3.9068386554718018, "y": -12.434493064880371}, {"place": "Parma", "country": "I", "x": -20.273130416870117, "y": -6.23898983001709}, {"place": "Dortmund", "country": "D", "x": 6.842099189758301, "y": -15.149897575378418}, {"place": "Oberhausen", "country": "D", "x": 6.840000152587891, "y": -14.07492733001709}, {"place": "Emmerich", "country": "D", "x": 7.845383644104004, "y": -13.979935646057129}, {"place": "Frankfurt am Main", "country": "D", "x": 3.4435181617736816, "y": -14.783785820007324}, {"place": "Heidelberg", "country": "D", "x": 0.12069292366504669, "y": -14.13798713684082}, {"place": "Karlsruhe", "country": "D", "x": -1.0882588624954224, "y": -14.213663101196289}, {"place": "Offenburg", "country": "D", "x": -1.9881532192230225, "y": -13.623037338256836}, {"place": "Como", "country": "I", "x": -17.43661117553711, "y": -7.593618392944336}, {"place": "Milano", "country": "I", "x": -17.48457145690918, "y": -6.711777687072754}, {"place": "Piacenza", "country": "I", "x": -18.917570114135742, "y": -6.300351619720459}, {"place": "Modena", "country": "I", "x": -21.4964656829834, "y": -6.512166976928711}, {"place": "Firenze", "country": "I", "x": -24.856914520263672, "y": -6.332618236541748}, {"place": "Arezzo", "country": "I", "x": -26.075292587280273, "y": -5.139607906341553}, {"place": "L\u00fcbbenau", "country": "D", "x": 12.140900611877441, "y": -21.829973220825195}, {"place": "Cottbus", "country": "D", "x": 12.906882286071777, "y": -21.717872619628906}, {"place": "Aachen", "country": "D", "x": 5.689564228057861, "y": -11.713484764099121}, {"place": "Olpe", "country": "D", "x": 5.232255458831787, "y": -14.496054649353027}, {"place": "Gie\u00dfen", "country": "D", "x": 4.988551139831543, "y": -15.557597160339355}, {"place": "Bad Hersfeld", "country": "D", "x": 5.861265659332275, "y": -16.926284790039062}, {"place": "Herleshausen", "country": "D", "x": 6.412364482879639, "y": -17.441072463989258}, {"place": "Eisenach", "country": "D", "x": 7.2508440017700195, "y": -18.326072692871094}, {"place": "Erfurt", "country": "D", "x": 7.915931224822998, "y": -19.253055572509766}, {"place": "Gera", "country": "D", "x": 8.3242826461792, "y": -20.093542098999023}, {"place": "Chemnitz", "country": "D", "x": 11.450599670410156, "y": -20.07984161376953}, {"place": "Dresden", "country": "D", "x": 12.300654411315918, "y": -20.272642135620117}, {"place": "G\u00f6rlitz", "country": "D", "x": 12.810014724731445, "y": -20.795412063598633}, {"place": "Saint-Brieuc", "country": "F", "x": 0.03240298479795456, "y": 1.5692205429077148}, {"place": "Rouen", "country": "F", "x": 0.27624547481536865, "y": -0.15714117884635925}, {"place": "Aschaffenburg", "country": "D", "x": 3.698983669281006, "y": -16.001325607299805}, {"place": "W\u00fcrzburg", "country": "D", "x": 0.5642789006233215, "y": -17.278026580810547}, {"place": "Stuttgart", "country": "D", "x": -0.7597931027412415, "y": -16.32870864868164}, {"place": "Longwy", "country": "F", "x": -0.06837471574544907, "y": -8.991719245910645}, {"place": "Dunkerque", "country": "F", "x": 1.2711412906646729, "y": -1.875221610069275}, {"place": "Lille", "country": "F", "x": 1.3199033737182617, "y": -1.9373482465744019}, {"place": "Wittlich", "country": "D", "x": 4.15920877456665, "y": -11.607611656188965}, {"place": "Wiesbaden", "country": "D", "x": 3.3581244945526123, "y": -13.368663787841797}, {"place": "Trier", "country": "D", "x": 2.3464112281799316, "y": -10.824840545654297}, {"place": "Ulm", "country": "D", "x": -0.7548047304153442, "y": -17.61501121520996}, {"place": "Lindau", "country": "D", "x": -1.7773537635803223, "y": -17.58916473388672}, {"place": "Amiens", "country": "F", "x": 2.1078407764434814, "y": -5.541355609893799}, {"place": "Charleville-M\u00e9zi\u00e8res", "country": "F", "x": 1.6310641765594482, "y": -6.437383651733398}, {"place": "Flensburg", "country": "D", "x": 10.41752815246582, "y": -24.93798828125}, {"place": "G\u00f6ttingen", "country": "D", "x": 6.51369047164917, "y": -23.37136459350586}, {"place": "Kassel", "country": "D", "x": 5.54270076751709, "y": -22.871597290039062}, {"place": "Fulda", "country": "D", "x": 4.503615379333496, "y": -22.444164276123047}, {"place": "N\u00fcrnberg", "country": "D", "x": 1.656064510345459, "y": -19.209766387939453}, {"place": "M\u00fcnchen", "country": "D", "x": -1.129170298576355, "y": -19.103092193603516}, {"place": "Rosenheim", "country": "D", "x": -2.0282726287841797, "y": -19.764646530151367}, {"place": "Passo di Brennero", "country": "I", "x": -19.718856811523438, "y": -11.429598808288574}, {"place": "Fortezza", "country": "I", "x": -20.394712448120117, "y": -10.892166137695312}, {"place": "Bolzano", "country": "I", "x": -20.337966918945312, "y": -10.121238708496094}, {"place": "Trento", "country": "I", "x": -20.484403610229492, "y": -9.266358375549316}, {"place": "Verona", "country": "I", "x": -21.363197326660156, "y": -8.206002235412598}, {"place": "Bologna", "country": "I", "x": -22.516958236694336, "y": -6.132445335388184}, {"place": "Cesena", "country": "I", "x": -23.194658279418945, "y": -5.572836875915527}, {"place": "Perugia", "country": "I", "x": -23.402315139770508, "y": -4.116491794586182}, {"place": "Fiano Romana", "country": "I", "x": -26.159730911254883, "y": -2.8744289875030518}, {"place": "San Cesareo", "country": "I", "x": -26.80725860595703, "y": -2.2295610904693604}, {"place": "Napoli", "country": "I", "x": -27.153057098388672, "y": -0.9188058972358704}, {"place": "Salerno", "country": "I", "x": -27.025197982788086, "y": 1.147009253501892}, {"place": "Sicignano degli Alburni", "country": "I", "x": -26.806716918945312, "y": 2.967106342315674}, {"place": "Cosenza", "country": "I", "x": -24.195594787597656, "y": 4.514820575714111}, {"place": "Villa San Giovanni", "country": "I", "x": -23.43111801147461, "y": 5.192618370056152}, {"place": "Messina", "country": "I", "x": -22.428857803344727, "y": 6.044055938720703}, {"place": "Cat\u00e1nia", "country": "I", "x": -21.08053207397461, "y": 5.718992233276367}, {"place": "Siracusa", "country": "I", "x": -20.153139114379883, "y": 6.178202152252197}, {"place": "Caen", "country": "F", "x": -0.5409186482429504, "y": 1.4458531141281128}, {"place": "Schweinfurt", "country": "D", "x": 3.080514669418335, "y": -19.648834228515625}, {"place": "Bayreuth", "country": "D", "x": 3.7717268466949463, "y": -19.79388999938965}, {"place": "Marktredwitz", "country": "D", "x": 3.154047966003418, "y": -20.386476516723633}, {"place": "Halle", "country": "D", "x": 10.504500389099121, "y": -20.9733829498291}, {"place": "Plauen", "country": "D", "x": 10.61394214630127, "y": -19.922727584838867}, {"place": "Sch\u00f6nberg", "country": "D", "x": 10.888686180114746, "y": -19.21164894104004}, {"place": "Brest", "country": "F", "x": -2.450601816177368, "y": 1.5859017372131348}, {"place": "Le Mans", "country": "F", "x": -1.1319984197616577, "y": -0.8704816699028015}, {"place": "Mannheim", "country": "D", "x": 2.2779088020324707, "y": -15.68647289276123}, {"place": "Heilbronn", "country": "D", "x": 1.8946774005889893, "y": -18.113067626953125}, {"place": "Leipzig", "country": "D", "x": 8.737120628356934, "y": -20.93773651123047}, {"place": "Hirschberg", "country": "D", "x": 6.797916412353516, "y": -20.123003005981445}, {"place": "Hof", "country": "D", "x": 5.338122367858887, "y": -19.93424415588379}, {"place": "Courtenay", "country": "F", "x": -3.257859468460083, "y": -3.171924352645874}, {"place": "Remiremont", "country": "F", "x": -3.260014772415161, "y": -11.316241264343262}, {"place": "Appenweier", "country": "D", "x": -1.3453913927078247, "y": -12.76777172088623}, {"place": "Bayerisch Eisenstein", "country": "D", "x": -0.059131164103746414, "y": -19.510414123535156}, {"place": "Deggendorf", "country": "D", "x": -0.5675973296165466, "y": -19.812423706054688}, {"place": "Memmingen", "country": "D", "x": 5.535508632659912, "y": 10.623169898986816}, {"place": "Garmisch-Partenkirchen", "country": "D", "x": -1.371126651763916, "y": -20.599714279174805}, {"place": "Mittenwald", "country": "D", "x": -2.021897315979004, "y": -20.878618240356445}, {"place": "Chaumont", "country": "F", "x": -0.3625446557998657, "y": -4.320295810699463}, {"place": "Waldshut", "country": "D", "x": -2.4414544105529785, "y": -16.38420295715332}, {"place": "Tarvisio", "country": "I", "x": -22.321504592895508, "y": -11.202293395996094}, {"place": "Udine", "country": "I", "x": -22.535972595214844, "y": -10.580184936523438}, {"place": "Palmanova", "country": "I", "x": -22.88300323486328, "y": -9.558829307556152}, {"place": "Ven\u00e9zia-Mestre", "country": "I", "x": -22.669559478759766, "y": -8.625020027160645}, {"place": "Ravenna", "country": "I", "x": -23.207244873046875, "y": -6.99080753326416}, {"place": "Rimini", "country": "I", "x": -24.141002655029297, "y": -4.996807098388672}, {"place": "Fano", "country": "I", "x": -24.71747589111328, "y": -3.9163105487823486}, {"place": "Ancona", "country": "I", "x": -24.911884307861328, "y": -2.8103275299072266}, {"place": "Pescara", "country": "I", "x": -24.953683853149414, "y": -1.7092781066894531}, {"place": "Canosa di Puglia", "country": "I", "x": -24.984228134155273, "y": -0.4415573477745056}, {"place": "Bari", "country": "I", "x": -24.61958122253418, "y": 0.7634481191635132}, {"place": "Brindisi", "country": "I", "x": 18.882522583007812, "y": 17.32467269897461}, {"place": "Igoumen\u00edtsa", "country": "GR", "x": 19.51827621459961, "y": 16.568763732910156}, {"place": "Pr\u00e9veza", "country": "GR", "x": 21.212949752807617, "y": 15.77026081085205}, {"place": "Mesol\u00f3ngi", "country": "GR", "x": 22.494699478149414, "y": 14.948896408081055}, {"place": "R\u00edo", "country": "GR", "x": 23.332931518554688, "y": 14.200518608093262}, {"place": "P\u00e1tra", "country": "GR", "x": 24.294965744018555, "y": 13.705224990844727}, {"place": "P\u00edrgos", "country": "GR", "x": 25.005826950073242, "y": 12.874105453491211}, {"place": "Regensburg", "country": "D", "x": 1.2851523160934448, "y": -20.16916275024414}, {"place": "Passau", "country": "D", "x": 0.88216632604599, "y": -20.836994171142578}, {"place": "Beaune", "country": "F", "x": -2.612062692642212, "y": -4.521388530731201}, {"place": "Niort", "country": "F", "x": -3.7456209659576416, "y": 2.812081813812256}, {"place": "La Rochelle", "country": "F", "x": -4.173297882080078, "y": 2.293398857116699}, {"place": "Saintes", "country": "F", "x": -5.157487869262695, "y": 2.798569917678833}, {"place": "Angoul\u00e8me", "country": "F", "x": -6.443194389343262, "y": 2.814591884613037}, {"place": "Digoin", "country": "F", "x": 16.102760314941406, "y": 21.370744705200195}, {"place": "Trieste", "country": "I", "x": -23.659156799316406, "y": -9.834734916687012}, {"place": "M\u00e2con", "country": "F", "x": -5.396193504333496, "y": -2.0935542583465576}, {"place": "Gravellona Toce", "country": "I", "x": -16.445571899414062, "y": -7.160453796386719}, {"place": "Tortona", "country": "I", "x": -17.542404174804688, "y": -5.756615161895752}, {"place": "Torino", "country": "I", "x": -14.689685821533203, "y": -4.42266321182251}, {"place": "N\u00edki", "country": "GR", "x": 15.214874267578125, "y": 12.90333080291748}, {"place": "V\u00e9vi", "country": "GR", "x": 15.982941627502441, "y": 12.858222961425781}, {"place": "Koz\u00e1ni", "country": "GR", "x": 16.955076217651367, "y": 14.127524375915527}, {"place": "L\u00e1rissa", "country": "GR", "x": 18.029512405395508, "y": 12.805914878845215}, {"place": "Domok\u00f3s", "country": "GR", "x": 18.978782653808594, "y": 12.349879264831543}, {"place": "Lam\u00eda", "country": "GR", "x": 20.355514526367188, "y": 11.402792930603027}, {"place": "Br\u00e1los", "country": "GR", "x": 21.432619094848633, "y": 11.980154037475586}, {"place": "It\u00e9a", "country": "GR", "x": 22.084842681884766, "y": 12.63381576538086}, {"place": "Antirrio", "country": "GR", "x": 22.69066047668457, "y": 13.32314395904541}, {"place": "\u00c9gio", "country": "GR", "x": 23.685932159423828, "y": 12.940661430358887}, {"place": "Korinthos", "country": "GR", "x": 24.04945945739746, "y": 11.973869323730469}, {"place": "Tr\u00edpoli", "country": "GR", "x": 25.586620330810547, "y": 12.014998435974121}, {"place": "Kal\u00e1mata", "country": "GR", "x": 24.94485092163086, "y": 11.44406795501709}, {"place": "Kiss\u00e1mos", "country": "GR", "x": 24.745500564575195, "y": 10.384750366210938}, {"place": "San Candido", "country": "I", "x": -20.987030029296875, "y": -11.392507553100586}, {"place": "Oviedo", "country": "E", "x": -7.79993200302124, "y": 6.807251930236816}, {"place": "Bilbao", "country": "E", "x": -8.701104164123535, "y": 6.311990261077881}, {"place": "Chamb\u00e9ry", "country": "F", "x": -11.223213195800781, "y": -3.0664875507354736}, {"place": "Susa", "country": "I", "x": -13.18493366241455, "y": -3.6683099269866943}, {"place": "Brescia", "country": "I", "x": -18.933197021484375, "y": -7.33698844909668}, {"place": "Samsun", "country": "TR", "x": -7.273571968078613, "y": 18.552719116210938}, {"place": "Ordu", "country": "TR", "x": -6.577311038970947, "y": 18.728981018066406}, {"place": "Giresun", "country": "TR", "x": -5.939865589141846, "y": 18.476760864257812}, {"place": "Valence", "country": "F", "x": -8.556581497192383, "y": -2.5735421180725098}, {"place": "Nice", "country": "F", "x": -15.765765190124512, "y": -1.8014508485794067}, {"place": "Cuneo", "country": "I", "x": -15.680960655212402, "y": -2.6484317779541016}, {"place": "Asti", "country": "I", "x": -15.628253936767578, "y": -3.6339452266693115}, {"place": "\u00c9vzoni", "country": "GR", "x": 13.43194580078125, "y": 14.756209373474121}, {"place": "Thessalon\u00edki", "country": "GR", "x": 14.333922386169434, "y": 14.81318473815918}, {"place": "Almir\u00f3s", "country": "GR", "x": 19.065885543823242, "y": 11.652661323547363}, {"place": "Ath\u00edna", "country": "GR", "x": 22.974336624145508, "y": 10.833715438842773}, {"place": "Chani\u00e1", "country": "GR", "x": 23.831974029541016, "y": 10.020209312438965}, {"place": "Ir\u00e1klio", "country": "GR", "x": 24.353656768798828, "y": 9.272649765014648}, {"place": "\u00c1gios Nik\u00f3laos", "country": "GR", "x": 25.163738250732422, "y": 9.03685188293457}, {"place": "Migliarino", "country": "I", "x": -25.08905029296875, "y": -7.100902557373047}, {"place": "Grosseto", "country": "I", "x": -26.77565574645996, "y": -5.199272155761719}, {"place": "Sansepolcro", "country": "I", "x": -25.54021453857422, "y": -4.611756801605225}, {"place": "S\u00e9res", "country": "GR", "x": 15.017281532287598, "y": 15.269439697265625}, {"place": "Salamanca", "country": "E", "x": -10.15471363067627, "y": 9.113316535949707}, {"place": "N\u00eemes", "country": "F", "x": -14.351430892944336, "y": 0.044581037014722824}, {"place": "Aix-en-Provence", "country": "F", "x": -14.92961311340332, "y": -0.7487013936042786}, {"place": "Ventimiglia", "country": "I", "x": -16.58183479309082, "y": -3.036245822906494}, {"place": "Savona", "country": "I", "x": -16.38065528869629, "y": -4.242928981781006}, {"place": "Genova", "country": "I", "x": -17.664052963256836, "y": -4.710026741027832}, {"place": "La Spezia", "country": "I", "x": -19.92446517944336, "y": -5.168923854827881}, {"place": "Livorno", "country": "I", "x": -26.095701217651367, "y": -6.280898571014404}, {"place": "Roma", "country": "I", "x": -26.630006790161133, "y": -3.8273956775665283}, {"place": "Edirne", "country": "TR", "x": 8.539884567260742, "y": 15.226722717285156}, {"place": "Babaeski", "country": "TR", "x": 7.814785957336426, "y": 15.655890464782715}, {"place": "Silivri", "country": "TR", "x": 6.991958141326904, "y": 16.512075424194336}, {"place": "Istanbul", "country": "TR", "x": 5.815540790557861, "y": 16.487138748168945}, {"place": "Izmit", "country": "TR", "x": 4.876009464263916, "y": 16.80414581298828}, {"place": "Adapazari", "country": "TR", "x": 3.5777010917663574, "y": 17.475322723388672}, {"place": "Bolu", "country": "TR", "x": 2.5380072593688965, "y": 18.044185638427734}, {"place": "Gerede", "country": "TR", "x": 2.1482596397399902, "y": 18.81070327758789}, {"place": "Ilgaz", "country": "TR", "x": 1.0928385257720947, "y": 18.842994689941406}, {"place": "Amasya", "country": "TR", "x": 0.3113541901111603, "y": 18.75665855407715}, {"place": "Niksar", "country": "TR", "x": -0.42091992497444153, "y": 18.935609817504883}, {"place": "Refahiye", "country": "TR", "x": -1.1994625329971313, "y": 19.43739891052246}, {"place": "Erzincan", "country": "TR", "x": -2.5961053371429443, "y": 18.868650436401367}, {"place": "Askale", "country": "TR", "x": -3.672581672668457, "y": 18.542659759521484}, {"place": "Erzurum", "country": "TR", "x": -3.3251218795776367, "y": 17.759021759033203}, {"place": "A\u011fri", "country": "TR", "x": -3.761664390563965, "y": 17.27707862854004}, {"place": "G\u00fcrbulak", "country": "TR", "x": -3.7723548412323, "y": 16.717517852783203}, {"place": "Merida", "country": "E", "x": -10.752909660339355, "y": 10.021173477172852}, {"place": "Logro\u00f1o", "country": "E", "x": -10.241609573364258, "y": 6.425771713256836}, {"place": "Zamora", "country": "E", "x": -11.79062271118164, "y": -10.830349922180176}, {"place": "Ke\u015fan", "country": "TR", "x": 8.957913398742676, "y": 17.599262237548828}, {"place": "Tekirdag", "country": "TR", "x": 7.6944122314453125, "y": 17.210229873657227}, {"place": "Avellino", "country": "I", "x": -26.848026275634766, "y": -0.03388524800539017}, {"place": "Benevento", "country": "I", "x": -25.89396095275879, "y": -0.1360025703907013}, {"place": "Spezzano Albanese", "country": "I", "x": -26.168554306030273, "y": 4.669607639312744}, {"place": "Potenza", "country": "I", "x": -26.019323348999023, "y": 2.648016929626465}, {"place": "Sant'Eufemia Lamezia", "country": "I", "x": -25.11353874206543, "y": 6.052698135375977}, {"place": "Orm\u00e9nio", "country": "GR", "x": 10.000871658325195, "y": 15.069211959838867}, {"place": "Kastanies", "country": "GR", "x": 10.619389533996582, "y": 15.317323684692383}, {"place": "Didimoticho", "country": "GR", "x": 11.654107093811035, "y": 15.487116813659668}, {"place": "Io\u00e1nnina", "country": "GR", "x": 18.29610252380371, "y": 15.737444877624512}, {"place": "Kristalopig\u00ed", "country": "GR", "x": 14.925256729125977, "y": 11.823888778686523}, {"place": "Fl\u00f3rina", "country": "GR", "x": 15.453962326049805, "y": 11.72562026977539}, {"place": "Derek\u00f6y", "country": "TR", "x": 6.508577823638916, "y": 15.103633880615234}, {"place": "Kirklareli", "country": "TR", "x": 7.0747222900390625, "y": 15.306023597717285}, {"place": "Havza", "country": "TR", "x": 8.377151489257812, "y": 16.475561141967773}, {"place": "Gelibolu", "country": "TR", "x": 8.11623477935791, "y": 18.801715850830078}, {"place": "Eceabat", "country": "TR", "x": 8.067143440246582, "y": 19.788433074951172}, {"place": "\u00c7anakkale", "country": "TR", "x": 7.761459827423096, "y": 20.865798950195312}, {"place": "Ayvalik", "country": "TR", "x": 7.609506607055664, "y": 22.10732078552246}, {"place": "Izmir", "country": "TR", "x": 7.189550876617432, "y": 23.004375457763672}, {"place": "Sel\u00e7uk", "country": "TR", "x": 7.905312538146973, "y": 23.48541259765625}, {"place": "Aydin", "country": "TR", "x": 8.796975135803223, "y": 23.541812896728516}, {"place": "Denizli", "country": "TR", "x": 9.166645050048828, "y": 24.317943572998047}, {"place": "Acipayam", "country": "TR", "x": 9.855484962463379, "y": 23.870864868164062}, {"place": "Korkuteli", "country": "TR", "x": 10.234434127807617, "y": 24.580039978027344}, {"place": "Ankara", "country": "TR", "x": 2.9522013664245605, "y": 21.878511428833008}, {"place": "Yozgat", "country": "TR", "x": 0.9851924777030945, "y": 20.84355926513672}, {"place": "Sivas", "country": "TR", "x": -0.12237663567066193, "y": 20.268423080444336}, {"place": "Kizilcahamam", "country": "TR", "x": 2.414628505706787, "y": 20.02280616760254}, {"place": "Badajoz", "country": "E", "x": -12.388321876525879, "y": 8.019020080566406}, {"place": "Zaragoza", "country": "E", "x": -12.146578788757324, "y": 6.550240516662598}, {"place": "L\u00e9rida", "country": "E", "x": -13.244967460632324, "y": 5.6446404457092285}, {"place": "Mazara del Vallo", "country": "I", "x": -17.982894897460938, "y": 6.148553848266602}, {"place": "Alcamo", "country": "I", "x": -18.977340698242188, "y": 6.580430030822754}, {"place": "Palermo", "country": "I", "x": -20.064191818237305, "y": 7.154004096984863}, {"place": "Buonfornello", "country": "I", "x": -21.240507125854492, "y": 7.220351696014404}, {"place": "Reggio di Calabria", "country": "I", "x": -23.453779220581055, "y": 6.3375725746154785}, {"place": "Catanzaro", "country": "I", "x": -24.364469528198242, "y": 6.4572672843933105}, {"place": "Crotone", "country": "I", "x": -24.882890701293945, "y": 5.222867012023926}, {"place": "Sibari", "country": "I", "x": -25.72932243347168, "y": 4.201357364654541}, {"place": "Metaponto", "country": "I", "x": -25.271472930908203, "y": 3.0751192569732666}, {"place": "Taranto", "country": "I", "x": -24.80636215209961, "y": 2.01464581489563}, {"place": "Alexandropo\u00fali", "country": "GR", "x": 12.42269229888916, "y": 15.923896789550781}, {"place": "Ipsala", "country": "TR", "x": 10.733978271484375, "y": 16.867786407470703}, {"place": "Lapseki", "country": "TR", "x": 6.877340316772461, "y": 19.788192749023438}, {"place": "Bursa", "country": "TR", "x": 6.156104564666748, "y": 20.322900772094727}, {"place": "Eski\u015fehir", "country": "TR", "x": 5.124585151672363, "y": 20.733930587768555}, {"place": "Sivrihisar", "country": "TR", "x": 4.415602684020996, "y": 21.914758682250977}, {"place": "Aksaray", "country": "TR", "x": 2.926762819290161, "y": 23.245851516723633}, {"place": "Adana", "country": "TR", "x": 2.7275917530059814, "y": 25.382753372192383}, {"place": "Toprakkale", "country": "TR", "x": 2.6463613510131836, "y": 26.74099349975586}, {"place": "Gazi Antep", "country": "TR", "x": 1.6538488864898682, "y": 27.389333724975586}, {"place": "Sanli Urfa", "country": "TR", "x": 0.9263553023338318, "y": 28.029245376586914}, {"place": "Nusaybin", "country": "TR", "x": 0.7345962524414062, "y": 28.89450454711914}, {"place": "Cizre", "country": "TR", "x": 0.2200242131948471, "y": 29.262434005737305}, {"place": "Habur", "country": "TR", "x": 0.5251288414001465, "y": 29.739686965942383}, {"place": "Ja\u00e9n", "country": "E", "x": -15.449241638183594, "y": -16.519805908203125}, {"place": "Granada", "country": "E", "x": -15.680143356323242, "y": -16.641605377197266}, {"place": "Iskenderun", "country": "TR", "x": 3.3272669315338135, "y": 27.430633544921875}, {"place": "Topbo\u011fazi", "country": "TR", "x": 4.369972229003906, "y": 27.431547164916992}, {"place": "Antakya", "country": "TR", "x": 4.329993724822998, "y": 28.43385124206543}, {"place": "Yaylada\u011fi", "country": "TR", "x": 5.46921443939209, "y": 27.850095748901367}, {"place": "Tr\u00edkala", "country": "GR", "x": 18.876863479614258, "y": 15.118667602539062}, {"place": "Enna", "country": "I", "x": -21.281681060791016, "y": 6.504541873931885}, {"place": "\u00c1rta", "country": "GR", "x": 20.272193908691406, "y": 15.305585861206055}, {"place": "Agr\u00ednio", "country": "GR", "x": 21.409732818603516, "y": 15.013906478881836}, {"place": "Aktio", "country": "GR", "x": 19.547531127929688, "y": 8.937363624572754}, {"place": "V\u00f3nitsa", "country": "GR", "x": 20.046777725219727, "y": 8.999061584472656}, {"place": "Amfiloch\u00eda", "country": "GR", "x": 19.81734275817871, "y": 9.625384330749512}, {"place": "Karpen\u00edsi", "country": "GR", "x": 20.359468460083008, "y": 10.217889785766602}, {"place": "Usak", "country": "TR", "x": 6.103144645690918, "y": 22.723045349121094}, {"place": "Afyon", "country": "TR", "x": 5.214203357696533, "y": 22.593420028686523}, {"place": "Sp\u00e1rti", "country": "GR", "x": 26.371368408203125, "y": 11.874529838562012}, {"place": "Elefs\u00edna", "country": "GR", "x": -8.921311378479004, "y": -16.17563819885254}, {"place": "Trabzon", "country": "TR", "x": -5.026418209075928, "y": 19.006999969482422}, {"place": "G\u00fcm\u00fcshane", "country": "TR", "x": -4.661332607269287, "y": 18.428390502929688}, {"place": "Kirikhan", "country": "TR", "x": 4.931901454925537, "y": 28.121618270874023}, {"place": "Reyhanli", "country": "TR", "x": 5.1352338790893555, "y": 28.93645668029785}, {"place": "Cilveg\u00f6z\u00fc", "country": "TR", "x": 5.875004291534424, "y": 28.731300354003906}, {"place": "Do\u011fubayazit", "country": "TR", "x": -1.801466464996338, "y": 27.538572311401367}, {"place": "Muradiye", "country": "TR", "x": -1.7468438148498535, "y": 27.86501693725586}, {"place": "Bitlis", "country": "TR", "x": -1.0102320909500122, "y": 27.792022705078125}, {"place": "Diyarbakir", "country": "TR", "x": -0.1294884830713272, "y": 27.822420120239258}, {"place": "Algeciras", "country": "E", "x": -13.276477813720703, "y": 10.459843635559082}, {"place": "Montpellier", "country": "F", "x": -8.34503173828125, "y": 0.5928606986999512}, {"place": "Walsrode", "country": "D", "x": 8.833854675292969, "y": -26.915496826171875}, {"place": "Sarreguemines", "country": "F", "x": 1.3659052848815918, "y": -10.680121421813965}, {"place": "Ludwigshafen", "country": "D", "x": 3.262605667114258, "y": -12.41045093536377}, {"place": "Harwich", "country": "GB", "x": 12.799346923828125, "y": 0.007136688567698002}, {"place": "Gela", "country": "I", "x": -19.329530715942383, "y": 5.6741132736206055}, {"place": "Angers", "country": "F", "x": -1.0231859683990479, "y": -0.30720195174217224}, {"place": "Troyes", "country": "F", "x": -3.2357006072998047, "y": -3.720792531967163}, {"place": "Donaueschingen", "country": "D", "x": -2.438291311264038, "y": -13.019201278686523}, {"place": "F\u00fcssen", "country": "D", "x": 5.540278434753418, "y": 10.61652946472168}, {"place": "Chalon-sur-Sa\u00f4ne", "country": "F", "x": 16.102617263793945, "y": 21.36858558654785}, {"place": "Pont-d'Ain", "country": "F", "x": -9.05020809173584, "y": -1.546688437461853}, {"place": "Grenoble", "country": "F", "x": -8.974886894226074, "y": -2.8802297115325928}, {"place": "Marseille", "country": "F", "x": -10.999747276306152, "y": -1.9773293733596802}, {"place": "Sit\u00eda", "country": "GR", "x": 24.871383666992188, "y": 8.469253540039062}, {"place": "Ver\u00edn", "country": "E", "x": -12.195403099060059, "y": -11.554553031921387}, {"place": "Tordesillas", "country": "E", "x": -11.811025619506836, "y": -10.867585182189941}, {"place": "G\u00e9fira", "country": "GR", "x": 15.944965362548828, "y": 12.253652572631836}, {"place": "Antalya", "country": "TR", "x": 10.562760353088379, "y": 24.069604873657227}, {"place": "M\u00e1laga", "country": "E", "x": -15.360129356384277, "y": -16.45867347717285}, {"place": "V\u00f3los", "country": "GR", "x": 19.338472366333008, "y": 15.719395637512207}, {"place": "Trapani", "country": "I", "x": -18.94661521911621, "y": 7.303320407867432}, {"place": "Merzifon", "country": "TR", "x": -7.024296283721924, "y": 18.17364501953125}, {"place": "G\u00edthio", "country": "GR", "x": 26.44711685180664, "y": 11.250081062316895}, {"place": "Th\u00edva", "country": "GR", "x": -8.914474487304688, "y": -16.17983055114746}]}} -------------------------------------------------------------------------------- /notebooks/charts/node2vec.json: -------------------------------------------------------------------------------- 1 | {"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}}, "data": {"name": "data-82a7b16c074939462766f6a0e1a1eda0"}, "mark": {"type": "circle", "size": 60}, "encoding": {"tooltip": [{"type": "nominal", "field": "place"}, {"type": "nominal", "field": "country"}], "x": {"type": "quantitative", "field": "x"}, "y": {"type": "quantitative", "field": "y"}}, "height": 400, "width": 700, "$schema": "https://vega.github.io/schema/vega-lite/v4.8.1.json", "datasets": {"data-82a7b16c074939462766f6a0e1a1eda0": [{"place": "Larne", "country": "GB", "x": 23.5971622467041, "y": -3.4788525104522705}, {"place": "Belfast", "country": "GB", "x": 23.132070541381836, "y": -4.331253528594971}, {"place": "La Coru\u00f1a", "country": "E", "x": -6.959006309509277, "y": 7.212301254272461}, {"place": "Pontevedra", "country": "E", "x": -6.56352424621582, "y": 7.505499362945557}, {"place": "Huelva", "country": "E", "x": -11.583806037902832, "y": 11.094340324401855}, {"place": "Cherbourg", "country": "F", "x": -1.398701786994934, "y": 1.7606923580169678}, {"place": "Rennes", "country": "F", "x": -2.0304977893829346, "y": 0.9728484749794006}, {"place": "Nantes", "country": "F", "x": -3.222228527069092, "y": 0.9669696092605591}, {"place": "Greenock", "country": "GB", "x": 22.48859977722168, "y": -5.141818046569824}, {"place": "Glasgow", "country": "GB", "x": 22.007535934448242, "y": -4.52088737487793}, {"place": "Gretna", "country": "GB", "x": 21.686342239379883, "y": -3.2372586727142334}, {"place": "Carlisle", "country": "GB", "x": 20.80674171447754, "y": -3.629676580429077}, {"place": "Penrith", "country": "GB", "x": 20.163745880126953, "y": -2.782966375350952}, {"place": "Preston", "country": "GB", "x": 19.28508186340332, "y": -2.0759246349334717}, {"place": "Warrington", "country": "GB", "x": 17.830751419067383, "y": -1.7032060623168945}, {"place": "Birmingham", "country": "GB", "x": 16.939695358276367, "y": -0.6337239146232605}, {"place": "Newbury", "country": "GB", "x": 4.114959716796875, "y": -4.3097920417785645}, {"place": "Southampton", "country": "GB", "x": 3.2061350345611572, "y": -4.4229841232299805}, {"place": "Le Havre", "country": "F", "x": 2.03605318069458, "y": -4.396010398864746}, {"place": "Paris", "country": "F", "x": 0.15768936276435852, "y": -3.60566782951355}, {"place": "Orl\u00e9ans", "country": "F", "x": -3.302507162094116, "y": -1.8680168390274048}, {"place": "Tours", "country": "F", "x": -4.090080738067627, "y": -0.3519839644432068}, {"place": "Poitiers", "country": "F", "x": -5.269989967346191, "y": -1.1011312007904053}, {"place": "Bordeaux", "country": "F", "x": -8.660426139831543, "y": 2.9834437370300293}, {"place": "San Sebasti\u00e1n", "country": "E", "x": -8.918471336364746, "y": 4.871042728424072}, {"place": "Burgos", "country": "E", "x": -10.119176864624023, "y": 8.080099105834961}, {"place": "Madrid", "country": "E", "x": -11.763603210449219, "y": 7.772871017456055}, {"place": "Cord\u00f3ba", "country": "E", "x": -11.894949913024902, "y": 9.241196632385254}, {"place": "Sevilla", "country": "E", "x": -11.761260986328125, "y": 10.298996925354004}, {"place": "C\u00e1diz", "country": "E", "x": -12.774252891540527, "y": 10.653653144836426}, {"place": "Pau", "country": "F", "x": -10.007491111755371, "y": 4.234782695770264}, {"place": "Ja\u00e7a", "country": "E", "x": -10.981873512268066, "y": 5.192709922790527}, {"place": "Huesca", "country": "E", "x": -11.527820587158203, "y": 5.869046211242676}, {"place": "Limoges", "country": "F", "x": -7.485523223876953, "y": 2.289020538330078}, {"place": "Toulouse", "country": "F", "x": -11.002041816711426, "y": 2.537926435470581}, {"place": "Vierzon", "country": "F", "x": -6.056710243225098, "y": 0.2668803632259369}, {"place": "Montlu\u00e7on", "country": "F", "x": -7.107753753662109, "y": 0.14503557980060577}, {"place": "Clermont-Ferrand", "country": "F", "x": -7.978862285614014, "y": -0.052667297422885895}, {"place": "Doncaster", "country": "GB", "x": 14.74386978149414, "y": -2.9935872554779053}, {"place": "Sheffield", "country": "GB", "x": 14.015390396118164, "y": -2.2175099849700928}, {"place": "Nottingham", "country": "GB", "x": 13.333251953125, "y": -1.741382360458374}, {"place": "Leicester", "country": "GB", "x": 12.757813453674316, "y": -1.2411220073699951}, {"place": "Northampton", "country": "GB", "x": 12.112601280212402, "y": -0.7742995619773865}, {"place": "Inverness", "country": "GB", "x": 21.856664657592773, "y": -6.530788421630859}, {"place": "Perth", "country": "GB", "x": 21.48891258239746, "y": -6.205822467803955}, {"place": "Edinburgh", "country": "GB", "x": 21.092182159423828, "y": -5.492187976837158}, {"place": "Newcastle upon Tyne", "country": "GB", "x": 19.848970413208008, "y": -4.661495208740234}, {"place": "Scotch Corner", "country": "GB", "x": 15.416053771972656, "y": -2.637514352798462}, {"place": "London", "country": "GB", "x": 11.776893615722656, "y": -1.6623870134353638}, {"place": "Folkestone", "country": "GB", "x": 10.75255298614502, "y": -0.6844444870948792}, {"place": "Dover", "country": "GB", "x": 3.3834657669067383, "y": 0.08573795109987259}, {"place": "Calais", "country": "F", "x": 1.9836957454681396, "y": -0.00939176045358181}, {"place": "Lyon", "country": "F", "x": -9.397947311401367, "y": -2.1186885833740234}, {"place": "Orange", "country": "F", "x": -10.881640434265137, "y": -0.8981896638870239}, {"place": "Narbonne", "country": "F", "x": -12.346360206604004, "y": 1.5617111921310425}, {"place": "Gerona", "country": "E", "x": -12.793927192687988, "y": 2.5888760089874268}, {"place": "Barcelona", "country": "E", "x": -13.621905326843262, "y": 4.2415618896484375}, {"place": "Tarragona", "country": "E", "x": -14.593783378601074, "y": 6.0760416984558105}, {"place": "Castell\u00f3n de la Plana", "country": "E", "x": -14.443511962890625, "y": 7.162911891937256}, {"place": "Valencia", "country": "E", "x": -13.909449577331543, "y": 7.966099739074707}, {"place": "Alicante", "country": "E", "x": -14.17626667022705, "y": 9.041487693786621}, {"place": "Murcia", "country": "E", "x": -14.072918891906738, "y": 9.93184757232666}, {"place": "Londonderry", "country": "GB", "x": 23.773635864257812, "y": -4.81967306137085}, {"place": "Cambrai", "country": "F", "x": -1.5458757877349854, "y": -5.438036918640137}, {"place": "Reims", "country": "F", "x": -0.7042584419250488, "y": -5.923524379730225}, {"place": "Craigavon", "country": "GB", "x": 24.06673812866211, "y": -4.093369483947754}, {"place": "Stranraer", "country": "GB", "x": 22.634572982788086, "y": -3.5315253734588623}, {"place": "Valenciennes", "country": "F", "x": 0.2120671421289444, "y": -2.6560583114624023}, {"place": "Liverpool", "country": "GB", "x": 18.023229598999023, "y": -3.783348321914673}, {"place": "Manchester", "country": "GB", "x": 17.33757781982422, "y": -3.331777572631836}, {"place": "Bradford", "country": "GB", "x": 16.726041793823242, "y": -4.093443870544434}, {"place": "Leeds", "country": "GB", "x": 16.138818740844727, "y": -4.050961017608643}, {"place": "Kingston upon Hull", "country": "GB", "x": 15.898813247680664, "y": -4.821465492248535}, {"place": "Metz", "country": "F", "x": 0.030041571706533432, "y": -8.28465747833252}, {"place": "Nancy", "country": "F", "x": -1.2419283390045166, "y": -8.18237018585205}, {"place": "Dijon", "country": "F", "x": -2.852651357650757, "y": -7.421395778656006}, {"place": "Holyhead", "country": "GB", "x": 18.557422637939453, "y": -0.5894159078598022}, {"place": "Chester", "country": "GB", "x": 18.395126342773438, "y": -0.8388182520866394}, {"place": "Immingham", "country": "GB", "x": 14.568231582641602, "y": -3.6665737628936768}, {"place": "Oldenburg", "country": "D", "x": 7.941713809967041, "y": -27.899578094482422}, {"place": "Bremen", "country": "D", "x": 8.683462142944336, "y": -26.206680297851562}, {"place": "Hamburg", "country": "D", "x": 9.979331970214844, "y": -25.15793228149414}, {"place": "L\u00fcbeck", "country": "D", "x": 11.243134498596191, "y": -25.61957550048828}, {"place": "Rostock", "country": "D", "x": 11.993141174316406, "y": -24.866527557373047}, {"place": "Stralsund", "country": "D", "x": 12.938358306884766, "y": -24.570016860961914}, {"place": "Sa\u00dfnitz", "country": "D", "x": 13.543252944946289, "y": -24.72429656982422}, {"place": "Besan\u00e7on", "country": "F", "x": -2.280143976211548, "y": -8.36921501159668}, {"place": "Hasel\u00fcnne", "country": "D", "x": 7.417094707489014, "y": -27.33146858215332}, {"place": "Cloppenburg", "country": "D", "x": 8.030067443847656, "y": -26.904441833496094}, {"place": "Cuxhaven", "country": "D", "x": 9.135287284851074, "y": -27.648082733154297}, {"place": "Bremerhaven", "country": "D", "x": 9.73828411102295, "y": -27.153949737548828}, {"place": "Cambridge", "country": "GB", "x": 15.976076126098633, "y": -0.017288867384195328}, {"place": "Saint-Avold", "country": "F", "x": -1.2829909324645996, "y": -10.026856422424316}, {"place": "Strasbourg", "country": "F", "x": -1.6032625436782837, "y": -11.456826210021973}, {"place": "Mulhouse", "country": "F", "x": -2.663499593734741, "y": -11.414657592773438}, {"place": "Mont-Blanc", "country": "F", "x": -12.16016674041748, "y": -5.333008766174316}, {"place": "Aosta", "country": "I", "x": -13.018525123596191, "y": -5.599806785583496}, {"place": "Ivrea", "country": "I", "x": -14.080989837646484, "y": -5.371862411499023}, {"place": "Vercelli", "country": "I", "x": -15.067801475524902, "y": -5.4742608070373535}, {"place": "Alessandria", "country": "I", "x": -16.12521743774414, "y": -5.097818374633789}, {"place": "Neubrandenburg", "country": "D", "x": 12.164456367492676, "y": -23.958858489990234}, {"place": "Belfort", "country": "F", "x": -2.9184298515319824, "y": -9.885645866394043}, {"place": "Berlin", "country": "D", "x": 11.451651573181152, "y": -23.07448387145996}, {"place": "K\u00f6ln", "country": "D", "x": 5.720663070678711, "y": -13.392691612243652}, {"place": "Saarbr\u00fccken", "country": "D", "x": 1.7598682641983032, "y": -9.908976554870605}, {"place": "Fishguard", "country": "GB", "x": 10.232194900512695, "y": -5.515523910522461}, {"place": "Swansea", "country": "GB", "x": 10.502212524414062, "y": -5.0185441970825195}, {"place": "Cardiff", "country": "GB", "x": 10.7564697265625, "y": -4.361581325531006}, {"place": "Newport", "country": "GB", "x": 11.051873207092285, "y": -3.547391414642334}, {"place": "Bristol", "country": "GB", "x": 11.40810775756836, "y": -2.7314212322235107}, {"place": "Colchester", "country": "GB", "x": 13.567115783691406, "y": -0.2899460196495056}, {"place": "Ipswich", "country": "GB", "x": 14.811856269836426, "y": 0.15536832809448242}, {"place": "Felixstowe", "country": "GB", "x": 14.411561012268066, "y": 0.7327826619148254}, {"place": "Osnabr\u00fcck", "country": "D", "x": 7.436066627502441, "y": -25.376266479492188}, {"place": "Bad Oeynhausen", "country": "D", "x": 7.600131511688232, "y": -24.170969009399414}, {"place": "Hannover", "country": "D", "x": 8.617571830749512, "y": -24.140085220336914}, {"place": "Braunschweig", "country": "D", "x": 9.79853343963623, "y": -22.874832153320312}, {"place": "Magdeburg", "country": "D", "x": 10.44194507598877, "y": -22.19244384765625}, {"place": "Goch", "country": "D", "x": 7.5825676918029785, "y": -12.211692810058594}, {"place": "Krefeld", "country": "D", "x": 6.884232997894287, "y": -12.527629852294922}, {"place": "Koblenz", "country": "D", "x": 4.517012119293213, "y": -13.442280769348145}, {"place": "Bingen", "country": "D", "x": 3.9068386554718018, "y": -12.434493064880371}, {"place": "Parma", "country": "I", "x": -20.273130416870117, "y": -6.23898983001709}, {"place": "Dortmund", "country": "D", "x": 6.842099189758301, "y": -15.149897575378418}, {"place": "Oberhausen", "country": "D", "x": 6.840000152587891, "y": -14.07492733001709}, {"place": "Emmerich", "country": "D", "x": 7.845383644104004, "y": -13.979935646057129}, {"place": "Frankfurt am Main", "country": "D", "x": 3.4435181617736816, "y": -14.783785820007324}, {"place": "Heidelberg", "country": "D", "x": 0.12069292366504669, "y": -14.13798713684082}, {"place": "Karlsruhe", "country": "D", "x": -1.0882588624954224, "y": -14.213663101196289}, {"place": "Offenburg", "country": "D", "x": -1.9881532192230225, "y": -13.623037338256836}, {"place": "Como", "country": "I", "x": -17.43661117553711, "y": -7.593618392944336}, {"place": "Milano", "country": "I", "x": -17.48457145690918, "y": -6.711777687072754}, {"place": "Piacenza", "country": "I", "x": -18.917570114135742, "y": -6.300351619720459}, {"place": "Modena", "country": "I", "x": -21.4964656829834, "y": -6.512166976928711}, {"place": "Firenze", "country": "I", "x": -24.856914520263672, "y": -6.332618236541748}, {"place": "Arezzo", "country": "I", "x": -26.075292587280273, "y": -5.139607906341553}, {"place": "L\u00fcbbenau", "country": "D", "x": 12.140900611877441, "y": -21.829973220825195}, {"place": "Cottbus", "country": "D", "x": 12.906882286071777, "y": -21.717872619628906}, {"place": "Aachen", "country": "D", "x": 5.689564228057861, "y": -11.713484764099121}, {"place": "Olpe", "country": "D", "x": 5.232255458831787, "y": -14.496054649353027}, {"place": "Gie\u00dfen", "country": "D", "x": 4.988551139831543, "y": -15.557597160339355}, {"place": "Bad Hersfeld", "country": "D", "x": 5.861265659332275, "y": -16.926284790039062}, {"place": "Herleshausen", "country": "D", "x": 6.412364482879639, "y": -17.441072463989258}, {"place": "Eisenach", "country": "D", "x": 7.2508440017700195, "y": -18.326072692871094}, {"place": "Erfurt", "country": "D", "x": 7.915931224822998, "y": -19.253055572509766}, {"place": "Gera", "country": "D", "x": 8.3242826461792, "y": -20.093542098999023}, {"place": "Chemnitz", "country": "D", "x": 11.450599670410156, "y": -20.07984161376953}, {"place": "Dresden", "country": "D", "x": 12.300654411315918, "y": -20.272642135620117}, {"place": "G\u00f6rlitz", "country": "D", "x": 12.810014724731445, "y": -20.795412063598633}, {"place": "Saint-Brieuc", "country": "F", "x": 0.03240298479795456, "y": 1.5692205429077148}, {"place": "Rouen", "country": "F", "x": 0.27624547481536865, "y": -0.15714117884635925}, {"place": "Aschaffenburg", "country": "D", "x": 3.698983669281006, "y": -16.001325607299805}, {"place": "W\u00fcrzburg", "country": "D", "x": 0.5642789006233215, "y": -17.278026580810547}, {"place": "Stuttgart", "country": "D", "x": -0.7597931027412415, "y": -16.32870864868164}, {"place": "Longwy", "country": "F", "x": -0.06837471574544907, "y": -8.991719245910645}, {"place": "Dunkerque", "country": "F", "x": 1.2711412906646729, "y": -1.875221610069275}, {"place": "Lille", "country": "F", "x": 1.3199033737182617, "y": -1.9373482465744019}, {"place": "Wittlich", "country": "D", "x": 4.15920877456665, "y": -11.607611656188965}, {"place": "Wiesbaden", "country": "D", "x": 3.3581244945526123, "y": -13.368663787841797}, {"place": "Trier", "country": "D", "x": 2.3464112281799316, "y": -10.824840545654297}, {"place": "Ulm", "country": "D", "x": -0.7548047304153442, "y": -17.61501121520996}, {"place": "Lindau", "country": "D", "x": -1.7773537635803223, "y": -17.58916473388672}, {"place": "Amiens", "country": "F", "x": 2.1078407764434814, "y": -5.541355609893799}, {"place": "Charleville-M\u00e9zi\u00e8res", "country": "F", "x": 1.6310641765594482, "y": -6.437383651733398}, {"place": "Flensburg", "country": "D", "x": 10.41752815246582, "y": -24.93798828125}, {"place": "G\u00f6ttingen", "country": "D", "x": 6.51369047164917, "y": -23.37136459350586}, {"place": "Kassel", "country": "D", "x": 5.54270076751709, "y": -22.871597290039062}, {"place": "Fulda", "country": "D", "x": 4.503615379333496, "y": -22.444164276123047}, {"place": "N\u00fcrnberg", "country": "D", "x": 1.656064510345459, "y": -19.209766387939453}, {"place": "M\u00fcnchen", "country": "D", "x": -1.129170298576355, "y": -19.103092193603516}, {"place": "Rosenheim", "country": "D", "x": -2.0282726287841797, "y": -19.764646530151367}, {"place": "Passo di Brennero", "country": "I", "x": -19.718856811523438, "y": -11.429598808288574}, {"place": "Fortezza", "country": "I", "x": -20.394712448120117, "y": -10.892166137695312}, {"place": "Bolzano", "country": "I", "x": -20.337966918945312, "y": -10.121238708496094}, {"place": "Trento", "country": "I", "x": -20.484403610229492, "y": -9.266358375549316}, {"place": "Verona", "country": "I", "x": -21.363197326660156, "y": -8.206002235412598}, {"place": "Bologna", "country": "I", "x": -22.516958236694336, "y": -6.132445335388184}, {"place": "Cesena", "country": "I", "x": -23.194658279418945, "y": -5.572836875915527}, {"place": "Perugia", "country": "I", "x": -23.402315139770508, "y": -4.116491794586182}, {"place": "Fiano Romana", "country": "I", "x": -26.159730911254883, "y": -2.8744289875030518}, {"place": "San Cesareo", "country": "I", "x": -26.80725860595703, "y": -2.2295610904693604}, {"place": "Napoli", "country": "I", "x": -27.153057098388672, "y": -0.9188058972358704}, {"place": "Salerno", "country": "I", "x": -27.025197982788086, "y": 1.147009253501892}, {"place": "Sicignano degli Alburni", "country": "I", "x": -26.806716918945312, "y": 2.967106342315674}, {"place": "Cosenza", "country": "I", "x": -24.195594787597656, "y": 4.514820575714111}, {"place": "Villa San Giovanni", "country": "I", "x": -23.43111801147461, "y": 5.192618370056152}, {"place": "Messina", "country": "I", "x": -22.428857803344727, "y": 6.044055938720703}, {"place": "Cat\u00e1nia", "country": "I", "x": -21.08053207397461, "y": 5.718992233276367}, {"place": "Siracusa", "country": "I", "x": -20.153139114379883, "y": 6.178202152252197}, {"place": "Caen", "country": "F", "x": -0.5409186482429504, "y": 1.4458531141281128}, {"place": "Schweinfurt", "country": "D", "x": 3.080514669418335, "y": -19.648834228515625}, {"place": "Bayreuth", "country": "D", "x": 3.7717268466949463, "y": -19.79388999938965}, {"place": "Marktredwitz", "country": "D", "x": 3.154047966003418, "y": -20.386476516723633}, {"place": "Halle", "country": "D", "x": 10.504500389099121, "y": -20.9733829498291}, {"place": "Plauen", "country": "D", "x": 10.61394214630127, "y": -19.922727584838867}, {"place": "Sch\u00f6nberg", "country": "D", "x": 10.888686180114746, "y": -19.21164894104004}, {"place": "Brest", "country": "F", "x": -2.450601816177368, "y": 1.5859017372131348}, {"place": "Le Mans", "country": "F", "x": -1.1319984197616577, "y": -0.8704816699028015}, {"place": "Mannheim", "country": "D", "x": 2.2779088020324707, "y": -15.68647289276123}, {"place": "Heilbronn", "country": "D", "x": 1.8946774005889893, "y": -18.113067626953125}, {"place": "Leipzig", "country": "D", "x": 8.737120628356934, "y": -20.93773651123047}, {"place": "Hirschberg", "country": "D", "x": 6.797916412353516, "y": -20.123003005981445}, {"place": "Hof", "country": "D", "x": 5.338122367858887, "y": -19.93424415588379}, {"place": "Courtenay", "country": "F", "x": -3.257859468460083, "y": -3.171924352645874}, {"place": "Remiremont", "country": "F", "x": -3.260014772415161, "y": -11.316241264343262}, {"place": "Appenweier", "country": "D", "x": -1.3453913927078247, "y": -12.76777172088623}, {"place": "Bayerisch Eisenstein", "country": "D", "x": -0.059131164103746414, "y": -19.510414123535156}, {"place": "Deggendorf", "country": "D", "x": -0.5675973296165466, "y": -19.812423706054688}, {"place": "Memmingen", "country": "D", "x": 5.535508632659912, "y": 10.623169898986816}, {"place": "Garmisch-Partenkirchen", "country": "D", "x": -1.371126651763916, "y": -20.599714279174805}, {"place": "Mittenwald", "country": "D", "x": -2.021897315979004, "y": -20.878618240356445}, {"place": "Chaumont", "country": "F", "x": -0.3625446557998657, "y": -4.320295810699463}, {"place": "Waldshut", "country": "D", "x": -2.4414544105529785, "y": -16.38420295715332}, {"place": "Tarvisio", "country": "I", "x": -22.321504592895508, "y": -11.202293395996094}, {"place": "Udine", "country": "I", "x": -22.535972595214844, "y": -10.580184936523438}, {"place": "Palmanova", "country": "I", "x": -22.88300323486328, "y": -9.558829307556152}, {"place": "Ven\u00e9zia-Mestre", "country": "I", "x": -22.669559478759766, "y": -8.625020027160645}, {"place": "Ravenna", "country": "I", "x": -23.207244873046875, "y": -6.99080753326416}, {"place": "Rimini", "country": "I", "x": -24.141002655029297, "y": -4.996807098388672}, {"place": "Fano", "country": "I", "x": -24.71747589111328, "y": -3.9163105487823486}, {"place": "Ancona", "country": "I", "x": -24.911884307861328, "y": -2.8103275299072266}, {"place": "Pescara", "country": "I", "x": -24.953683853149414, "y": -1.7092781066894531}, {"place": "Canosa di Puglia", "country": "I", "x": -24.984228134155273, "y": -0.4415573477745056}, {"place": "Bari", "country": "I", "x": -24.61958122253418, "y": 0.7634481191635132}, {"place": "Brindisi", "country": "I", "x": 18.882522583007812, "y": 17.32467269897461}, {"place": "Igoumen\u00edtsa", "country": "GR", "x": 19.51827621459961, "y": 16.568763732910156}, {"place": "Pr\u00e9veza", "country": "GR", "x": 21.212949752807617, "y": 15.77026081085205}, {"place": "Mesol\u00f3ngi", "country": "GR", "x": 22.494699478149414, "y": 14.948896408081055}, {"place": "R\u00edo", "country": "GR", "x": 23.332931518554688, "y": 14.200518608093262}, {"place": "P\u00e1tra", "country": "GR", "x": 24.294965744018555, "y": 13.705224990844727}, {"place": "P\u00edrgos", "country": "GR", "x": 25.005826950073242, "y": 12.874105453491211}, {"place": "Regensburg", "country": "D", "x": 1.2851523160934448, "y": -20.16916275024414}, {"place": "Passau", "country": "D", "x": 0.88216632604599, "y": -20.836994171142578}, {"place": "Beaune", "country": "F", "x": -2.612062692642212, "y": -4.521388530731201}, {"place": "Niort", "country": "F", "x": -3.7456209659576416, "y": 2.812081813812256}, {"place": "La Rochelle", "country": "F", "x": -4.173297882080078, "y": 2.293398857116699}, {"place": "Saintes", "country": "F", "x": -5.157487869262695, "y": 2.798569917678833}, {"place": "Angoul\u00e8me", "country": "F", "x": -6.443194389343262, "y": 2.814591884613037}, {"place": "Digoin", "country": "F", "x": 16.102760314941406, "y": 21.370744705200195}, {"place": "Trieste", "country": "I", "x": -23.659156799316406, "y": -9.834734916687012}, {"place": "M\u00e2con", "country": "F", "x": -5.396193504333496, "y": -2.0935542583465576}, {"place": "Gravellona Toce", "country": "I", "x": -16.445571899414062, "y": -7.160453796386719}, {"place": "Tortona", "country": "I", "x": -17.542404174804688, "y": -5.756615161895752}, {"place": "Torino", "country": "I", "x": -14.689685821533203, "y": -4.42266321182251}, {"place": "N\u00edki", "country": "GR", "x": 15.214874267578125, "y": 12.90333080291748}, {"place": "V\u00e9vi", "country": "GR", "x": 15.982941627502441, "y": 12.858222961425781}, {"place": "Koz\u00e1ni", "country": "GR", "x": 16.955076217651367, "y": 14.127524375915527}, {"place": "L\u00e1rissa", "country": "GR", "x": 18.029512405395508, "y": 12.805914878845215}, {"place": "Domok\u00f3s", "country": "GR", "x": 18.978782653808594, "y": 12.349879264831543}, {"place": "Lam\u00eda", "country": "GR", "x": 20.355514526367188, "y": 11.402792930603027}, {"place": "Br\u00e1los", "country": "GR", "x": 21.432619094848633, "y": 11.980154037475586}, {"place": "It\u00e9a", "country": "GR", "x": 22.084842681884766, "y": 12.63381576538086}, {"place": "Antirrio", "country": "GR", "x": 22.69066047668457, "y": 13.32314395904541}, {"place": "\u00c9gio", "country": "GR", "x": 23.685932159423828, "y": 12.940661430358887}, {"place": "Korinthos", "country": "GR", "x": 24.04945945739746, "y": 11.973869323730469}, {"place": "Tr\u00edpoli", "country": "GR", "x": 25.586620330810547, "y": 12.014998435974121}, {"place": "Kal\u00e1mata", "country": "GR", "x": 24.94485092163086, "y": 11.44406795501709}, {"place": "Kiss\u00e1mos", "country": "GR", "x": 24.745500564575195, "y": 10.384750366210938}, {"place": "San Candido", "country": "I", "x": -20.987030029296875, "y": -11.392507553100586}, {"place": "Oviedo", "country": "E", "x": -7.79993200302124, "y": 6.807251930236816}, {"place": "Bilbao", "country": "E", "x": -8.701104164123535, "y": 6.311990261077881}, {"place": "Chamb\u00e9ry", "country": "F", "x": -11.223213195800781, "y": -3.0664875507354736}, {"place": "Susa", "country": "I", "x": -13.18493366241455, "y": -3.6683099269866943}, {"place": "Brescia", "country": "I", "x": -18.933197021484375, "y": -7.33698844909668}, {"place": "Samsun", "country": "TR", "x": -7.273571968078613, "y": 18.552719116210938}, {"place": "Ordu", "country": "TR", "x": -6.577311038970947, "y": 18.728981018066406}, {"place": "Giresun", "country": "TR", "x": -5.939865589141846, "y": 18.476760864257812}, {"place": "Valence", "country": "F", "x": -8.556581497192383, "y": -2.5735421180725098}, {"place": "Nice", "country": "F", "x": -15.765765190124512, "y": -1.8014508485794067}, {"place": "Cuneo", "country": "I", "x": -15.680960655212402, "y": -2.6484317779541016}, {"place": "Asti", "country": "I", "x": -15.628253936767578, "y": -3.6339452266693115}, {"place": "\u00c9vzoni", "country": "GR", "x": 13.43194580078125, "y": 14.756209373474121}, {"place": "Thessalon\u00edki", "country": "GR", "x": 14.333922386169434, "y": 14.81318473815918}, {"place": "Almir\u00f3s", "country": "GR", "x": 19.065885543823242, "y": 11.652661323547363}, {"place": "Ath\u00edna", "country": "GR", "x": 22.974336624145508, "y": 10.833715438842773}, {"place": "Chani\u00e1", "country": "GR", "x": 23.831974029541016, "y": 10.020209312438965}, {"place": "Ir\u00e1klio", "country": "GR", "x": 24.353656768798828, "y": 9.272649765014648}, {"place": "\u00c1gios Nik\u00f3laos", "country": "GR", "x": 25.163738250732422, "y": 9.03685188293457}, {"place": "Migliarino", "country": "I", "x": -25.08905029296875, "y": -7.100902557373047}, {"place": "Grosseto", "country": "I", "x": -26.77565574645996, "y": -5.199272155761719}, {"place": "Sansepolcro", "country": "I", "x": -25.54021453857422, "y": -4.611756801605225}, {"place": "S\u00e9res", "country": "GR", "x": 15.017281532287598, "y": 15.269439697265625}, {"place": "Salamanca", "country": "E", "x": -10.15471363067627, "y": 9.113316535949707}, {"place": "N\u00eemes", "country": "F", "x": -14.351430892944336, "y": 0.044581037014722824}, {"place": "Aix-en-Provence", "country": "F", "x": -14.92961311340332, "y": -0.7487013936042786}, {"place": "Ventimiglia", "country": "I", "x": -16.58183479309082, "y": -3.036245822906494}, {"place": "Savona", "country": "I", "x": -16.38065528869629, "y": -4.242928981781006}, {"place": "Genova", "country": "I", "x": -17.664052963256836, "y": -4.710026741027832}, {"place": "La Spezia", "country": "I", "x": -19.92446517944336, "y": -5.168923854827881}, {"place": "Livorno", "country": "I", "x": -26.095701217651367, "y": -6.280898571014404}, {"place": "Roma", "country": "I", "x": -26.630006790161133, "y": -3.8273956775665283}, {"place": "Edirne", "country": "TR", "x": 8.539884567260742, "y": 15.226722717285156}, {"place": "Babaeski", "country": "TR", "x": 7.814785957336426, "y": 15.655890464782715}, {"place": "Silivri", "country": "TR", "x": 6.991958141326904, "y": 16.512075424194336}, {"place": "Istanbul", "country": "TR", "x": 5.815540790557861, "y": 16.487138748168945}, {"place": "Izmit", "country": "TR", "x": 4.876009464263916, "y": 16.80414581298828}, {"place": "Adapazari", "country": "TR", "x": 3.5777010917663574, "y": 17.475322723388672}, {"place": "Bolu", "country": "TR", "x": 2.5380072593688965, "y": 18.044185638427734}, {"place": "Gerede", "country": "TR", "x": 2.1482596397399902, "y": 18.81070327758789}, {"place": "Ilgaz", "country": "TR", "x": 1.0928385257720947, "y": 18.842994689941406}, {"place": "Amasya", "country": "TR", "x": 0.3113541901111603, "y": 18.75665855407715}, {"place": "Niksar", "country": "TR", "x": -0.42091992497444153, "y": 18.935609817504883}, {"place": "Refahiye", "country": "TR", "x": -1.1994625329971313, "y": 19.43739891052246}, {"place": "Erzincan", "country": "TR", "x": -2.5961053371429443, "y": 18.868650436401367}, {"place": "Askale", "country": "TR", "x": -3.672581672668457, "y": 18.542659759521484}, {"place": "Erzurum", "country": "TR", "x": -3.3251218795776367, "y": 17.759021759033203}, {"place": "A\u011fri", "country": "TR", "x": -3.761664390563965, "y": 17.27707862854004}, {"place": "G\u00fcrbulak", "country": "TR", "x": -3.7723548412323, "y": 16.717517852783203}, {"place": "Merida", "country": "E", "x": -10.752909660339355, "y": 10.021173477172852}, {"place": "Logro\u00f1o", "country": "E", "x": -10.241609573364258, "y": 6.425771713256836}, {"place": "Zamora", "country": "E", "x": -11.79062271118164, "y": -10.830349922180176}, {"place": "Ke\u015fan", "country": "TR", "x": 8.957913398742676, "y": 17.599262237548828}, {"place": "Tekirdag", "country": "TR", "x": 7.6944122314453125, "y": 17.210229873657227}, {"place": "Avellino", "country": "I", "x": -26.848026275634766, "y": -0.03388524800539017}, {"place": "Benevento", "country": "I", "x": -25.89396095275879, "y": -0.1360025703907013}, {"place": "Spezzano Albanese", "country": "I", "x": -26.168554306030273, "y": 4.669607639312744}, {"place": "Potenza", "country": "I", "x": -26.019323348999023, "y": 2.648016929626465}, {"place": "Sant'Eufemia Lamezia", "country": "I", "x": -25.11353874206543, "y": 6.052698135375977}, {"place": "Orm\u00e9nio", "country": "GR", "x": 10.000871658325195, "y": 15.069211959838867}, {"place": "Kastanies", "country": "GR", "x": 10.619389533996582, "y": 15.317323684692383}, {"place": "Didimoticho", "country": "GR", "x": 11.654107093811035, "y": 15.487116813659668}, {"place": "Io\u00e1nnina", "country": "GR", "x": 18.29610252380371, "y": 15.737444877624512}, {"place": "Kristalopig\u00ed", "country": "GR", "x": 14.925256729125977, "y": 11.823888778686523}, {"place": "Fl\u00f3rina", "country": "GR", "x": 15.453962326049805, "y": 11.72562026977539}, {"place": "Derek\u00f6y", "country": "TR", "x": 6.508577823638916, "y": 15.103633880615234}, {"place": "Kirklareli", "country": "TR", "x": 7.0747222900390625, "y": 15.306023597717285}, {"place": "Havza", "country": "TR", "x": 8.377151489257812, "y": 16.475561141967773}, {"place": "Gelibolu", "country": "TR", "x": 8.11623477935791, "y": 18.801715850830078}, {"place": "Eceabat", "country": "TR", "x": 8.067143440246582, "y": 19.788433074951172}, {"place": "\u00c7anakkale", "country": "TR", "x": 7.761459827423096, "y": 20.865798950195312}, {"place": "Ayvalik", "country": "TR", "x": 7.609506607055664, "y": 22.10732078552246}, {"place": "Izmir", "country": "TR", "x": 7.189550876617432, "y": 23.004375457763672}, {"place": "Sel\u00e7uk", "country": "TR", "x": 7.905312538146973, "y": 23.48541259765625}, {"place": "Aydin", "country": "TR", "x": 8.796975135803223, "y": 23.541812896728516}, {"place": "Denizli", "country": "TR", "x": 9.166645050048828, "y": 24.317943572998047}, {"place": "Acipayam", "country": "TR", "x": 9.855484962463379, "y": 23.870864868164062}, {"place": "Korkuteli", "country": "TR", "x": 10.234434127807617, "y": 24.580039978027344}, {"place": "Ankara", "country": "TR", "x": 2.9522013664245605, "y": 21.878511428833008}, {"place": "Yozgat", "country": "TR", "x": 0.9851924777030945, "y": 20.84355926513672}, {"place": "Sivas", "country": "TR", "x": -0.12237663567066193, "y": 20.268423080444336}, {"place": "Kizilcahamam", "country": "TR", "x": 2.414628505706787, "y": 20.02280616760254}, {"place": "Badajoz", "country": "E", "x": -12.388321876525879, "y": 8.019020080566406}, {"place": "Zaragoza", "country": "E", "x": -12.146578788757324, "y": 6.550240516662598}, {"place": "L\u00e9rida", "country": "E", "x": -13.244967460632324, "y": 5.6446404457092285}, {"place": "Mazara del Vallo", "country": "I", "x": -17.982894897460938, "y": 6.148553848266602}, {"place": "Alcamo", "country": "I", "x": -18.977340698242188, "y": 6.580430030822754}, {"place": "Palermo", "country": "I", "x": -20.064191818237305, "y": 7.154004096984863}, {"place": "Buonfornello", "country": "I", "x": -21.240507125854492, "y": 7.220351696014404}, {"place": "Reggio di Calabria", "country": "I", "x": -23.453779220581055, "y": 6.3375725746154785}, {"place": "Catanzaro", "country": "I", "x": -24.364469528198242, "y": 6.4572672843933105}, {"place": "Crotone", "country": "I", "x": -24.882890701293945, "y": 5.222867012023926}, {"place": "Sibari", "country": "I", "x": -25.72932243347168, "y": 4.201357364654541}, {"place": "Metaponto", "country": "I", "x": -25.271472930908203, "y": 3.0751192569732666}, {"place": "Taranto", "country": "I", "x": -24.80636215209961, "y": 2.01464581489563}, {"place": "Alexandropo\u00fali", "country": "GR", "x": 12.42269229888916, "y": 15.923896789550781}, {"place": "Ipsala", "country": "TR", "x": 10.733978271484375, "y": 16.867786407470703}, {"place": "Lapseki", "country": "TR", "x": 6.877340316772461, "y": 19.788192749023438}, {"place": "Bursa", "country": "TR", "x": 6.156104564666748, "y": 20.322900772094727}, {"place": "Eski\u015fehir", "country": "TR", "x": 5.124585151672363, "y": 20.733930587768555}, {"place": "Sivrihisar", "country": "TR", "x": 4.415602684020996, "y": 21.914758682250977}, {"place": "Aksaray", "country": "TR", "x": 2.926762819290161, "y": 23.245851516723633}, {"place": "Adana", "country": "TR", "x": 2.7275917530059814, "y": 25.382753372192383}, {"place": "Toprakkale", "country": "TR", "x": 2.6463613510131836, "y": 26.74099349975586}, {"place": "Gazi Antep", "country": "TR", "x": 1.6538488864898682, "y": 27.389333724975586}, {"place": "Sanli Urfa", "country": "TR", "x": 0.9263553023338318, "y": 28.029245376586914}, {"place": "Nusaybin", "country": "TR", "x": 0.7345962524414062, "y": 28.89450454711914}, {"place": "Cizre", "country": "TR", "x": 0.2200242131948471, "y": 29.262434005737305}, {"place": "Habur", "country": "TR", "x": 0.5251288414001465, "y": 29.739686965942383}, {"place": "Ja\u00e9n", "country": "E", "x": -15.449241638183594, "y": -16.519805908203125}, {"place": "Granada", "country": "E", "x": -15.680143356323242, "y": -16.641605377197266}, {"place": "Iskenderun", "country": "TR", "x": 3.3272669315338135, "y": 27.430633544921875}, {"place": "Topbo\u011fazi", "country": "TR", "x": 4.369972229003906, "y": 27.431547164916992}, {"place": "Antakya", "country": "TR", "x": 4.329993724822998, "y": 28.43385124206543}, {"place": "Yaylada\u011fi", "country": "TR", "x": 5.46921443939209, "y": 27.850095748901367}, {"place": "Tr\u00edkala", "country": "GR", "x": 18.876863479614258, "y": 15.118667602539062}, {"place": "Enna", "country": "I", "x": -21.281681060791016, "y": 6.504541873931885}, {"place": "\u00c1rta", "country": "GR", "x": 20.272193908691406, "y": 15.305585861206055}, {"place": "Agr\u00ednio", "country": "GR", "x": 21.409732818603516, "y": 15.013906478881836}, {"place": "Aktio", "country": "GR", "x": 19.547531127929688, "y": 8.937363624572754}, {"place": "V\u00f3nitsa", "country": "GR", "x": 20.046777725219727, "y": 8.999061584472656}, {"place": "Amfiloch\u00eda", "country": "GR", "x": 19.81734275817871, "y": 9.625384330749512}, {"place": "Karpen\u00edsi", "country": "GR", "x": 20.359468460083008, "y": 10.217889785766602}, {"place": "Usak", "country": "TR", "x": 6.103144645690918, "y": 22.723045349121094}, {"place": "Afyon", "country": "TR", "x": 5.214203357696533, "y": 22.593420028686523}, {"place": "Sp\u00e1rti", "country": "GR", "x": 26.371368408203125, "y": 11.874529838562012}, {"place": "Elefs\u00edna", "country": "GR", "x": -8.921311378479004, "y": -16.17563819885254}, {"place": "Trabzon", "country": "TR", "x": -5.026418209075928, "y": 19.006999969482422}, {"place": "G\u00fcm\u00fcshane", "country": "TR", "x": -4.661332607269287, "y": 18.428390502929688}, {"place": "Kirikhan", "country": "TR", "x": 4.931901454925537, "y": 28.121618270874023}, {"place": "Reyhanli", "country": "TR", "x": 5.1352338790893555, "y": 28.93645668029785}, {"place": "Cilveg\u00f6z\u00fc", "country": "TR", "x": 5.875004291534424, "y": 28.731300354003906}, {"place": "Do\u011fubayazit", "country": "TR", "x": -1.801466464996338, "y": 27.538572311401367}, {"place": "Muradiye", "country": "TR", "x": -1.7468438148498535, "y": 27.86501693725586}, {"place": "Bitlis", "country": "TR", "x": -1.0102320909500122, "y": 27.792022705078125}, {"place": "Diyarbakir", "country": "TR", "x": -0.1294884830713272, "y": 27.822420120239258}, {"place": "Algeciras", "country": "E", "x": -13.276477813720703, "y": 10.459843635559082}, {"place": "Montpellier", "country": "F", "x": -8.34503173828125, "y": 0.5928606986999512}, {"place": "Walsrode", "country": "D", "x": 8.833854675292969, "y": -26.915496826171875}, {"place": "Sarreguemines", "country": "F", "x": 1.3659052848815918, "y": -10.680121421813965}, {"place": "Ludwigshafen", "country": "D", "x": 3.262605667114258, "y": -12.41045093536377}, {"place": "Harwich", "country": "GB", "x": 12.799346923828125, "y": 0.007136688567698002}, {"place": "Gela", "country": "I", "x": -19.329530715942383, "y": 5.6741132736206055}, {"place": "Angers", "country": "F", "x": -1.0231859683990479, "y": -0.30720195174217224}, {"place": "Troyes", "country": "F", "x": -3.2357006072998047, "y": -3.720792531967163}, {"place": "Donaueschingen", "country": "D", "x": -2.438291311264038, "y": -13.019201278686523}, {"place": "F\u00fcssen", "country": "D", "x": 5.540278434753418, "y": 10.61652946472168}, {"place": "Chalon-sur-Sa\u00f4ne", "country": "F", "x": 16.102617263793945, "y": 21.36858558654785}, {"place": "Pont-d'Ain", "country": "F", "x": -9.05020809173584, "y": -1.546688437461853}, {"place": "Grenoble", "country": "F", "x": -8.974886894226074, "y": -2.8802297115325928}, {"place": "Marseille", "country": "F", "x": -10.999747276306152, "y": -1.9773293733596802}, {"place": "Sit\u00eda", "country": "GR", "x": 24.871383666992188, "y": 8.469253540039062}, {"place": "Ver\u00edn", "country": "E", "x": -12.195403099060059, "y": -11.554553031921387}, {"place": "Tordesillas", "country": "E", "x": -11.811025619506836, "y": -10.867585182189941}, {"place": "G\u00e9fira", "country": "GR", "x": 15.944965362548828, "y": 12.253652572631836}, {"place": "Antalya", "country": "TR", "x": 10.562760353088379, "y": 24.069604873657227}, {"place": "M\u00e1laga", "country": "E", "x": -15.360129356384277, "y": -16.45867347717285}, {"place": "V\u00f3los", "country": "GR", "x": 19.338472366333008, "y": 15.719395637512207}, {"place": "Trapani", "country": "I", "x": -18.94661521911621, "y": 7.303320407867432}, {"place": "Merzifon", "country": "TR", "x": -7.024296283721924, "y": 18.17364501953125}, {"place": "G\u00edthio", "country": "GR", "x": 26.44711685180664, "y": 11.250081062316895}, {"place": "Th\u00edva", "country": "GR", "x": -8.914474487304688, "y": -16.17983055114746}]}} -------------------------------------------------------------------------------- /scripts/cypher/embeddings.cypher: -------------------------------------------------------------------------------- 1 | CALL gds.alpha.node2vec.write({ 2 | nodeProjection: "Place", 3 | relationshipProjection: { 4 | eroad: { 5 | type: "EROAD", 6 | orientation: "UNDIRECTED" 7 | } 8 | }, 9 | embeddingSize: 10, 10 | inOutFactor: 1.0, 11 | returnFactor: 0.0, 12 | iterations: 5, 13 | writeProperty: "node2vecHomophily" 14 | }); 15 | -------------------------------------------------------------------------------- /scripts/cypher/import.cypher: -------------------------------------------------------------------------------- 1 | CREATE CONSTRAINT ON (p:Place) ASSERT p.name IS UNIQUE; 2 | 3 | :auto USING PERIODIC COMMIT 1000 4 | LOAD CSV WITH HEADERS FROM "https://github.com/neo4j-examples/graph-embeddings/raw/main/data/roads.csv" 5 | AS row 6 | 7 | MERGE (origin:Place {name: row.origin_reference_place}) 8 | SET origin.countryCode = row.origin_country_code 9 | 10 | MERGE (destination:Place {name: row.destination_reference_place}) 11 | SET destination.countryCode = row.destination_country_code 12 | 13 | MERGE (origin)-[eroad:EROAD {number: row.road_number}]->(destination) 14 | SET eroad.distance = toInteger(row.distance), eroad.watercrossing = row.watercrossing; 15 | -------------------------------------------------------------------------------- /scripts/python/roads.py: -------------------------------------------------------------------------------- 1 | from neo4j import GraphDatabase 2 | import numpy as np 3 | from sklearn.manifold import TSNE 4 | import altair as alt 5 | import altair_viewer 6 | 7 | driver = GraphDatabase.driver("bolt://localhost", auth=("neo4j", "neo")) 8 | with driver.session(database="foo") as session: 9 | result = session.run(""" 10 | MATCH (p:Place) 11 | RETURN p.name AS place, p.node2vecMoreTraining AS embedding, p.community AS community, p.country AS country 12 | """) 13 | X = {row["place"]: {"embedding": row["embedding"], "community": row["community"], "country": row["country"]} for row in result} 14 | 15 | X_embedded = TSNE(n_components=2, random_state=6).fit_transform([X[key]["embedding"] for key in X.keys()]) 16 | 17 | places = list(X.keys()) 18 | df = pd.DataFrame(data = { 19 | "place": places, 20 | "community": [f"Community-{X[place]['community']}" for place in places], 21 | "country": [X[place]['country'] for place in places], 22 | "x": [value[0] for value in list(X_embedded)], 23 | "y": [value[1] for value in list(X_embedded)] 24 | }) 25 | 26 | chart = alt.Chart(df).mark_circle(size=60).encode( 27 | x='x', 28 | y='y', 29 | color='community', 30 | tooltip=['place', 'community', 'country'] 31 | ).properties(width=800, height=500) 32 | 33 | altair_viewer.display(chart) 34 | --------------------------------------------------------------------------------