Created
November 9, 2024 17:35
-
-
Save zabop/7b1bd822a29df2a310181285d17f90c6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Overwriting mapproxy.yaml\n" | |
] | |
} | |
], | |
"source": [ | |
"%%writefile mapproxy.yaml\n", | |
"# Launch via: mapproxy-util serve-develop mapproxy.yaml\n", | |
"# Add this GetCapabilities link to QGIS: http://127.0.0.1:8080/service\n", | |
"\n", | |
"services:\n", | |
" wms:\n", | |
" md:\n", | |
" title: \"WebAtlas Ortho WMS\"\n", | |
" abstract: \"WMS service for WebAtlas orthophoto tiles\"\n", | |
" srs: [\"EPSG:3857\"]\n", | |
" image_formats: [\"image/jpeg\"]\n", | |
" demo:\n", | |
"\n", | |
"layers:\n", | |
" - name: webatlas_orto\n", | |
" title: WebAtlas Ortho Tiles\n", | |
" sources: [webatlas_orto_cache]\n", | |
"\n", | |
"caches:\n", | |
" webatlas_orto_cache:\n", | |
" grids: [global_webmercator]\n", | |
" sources: [webatlas_orto_source]\n", | |
"\n", | |
"sources:\n", | |
" webatlas_orto_source:\n", | |
" type: tile\n", | |
" url: https://waapi.webatlas.no/maptiles/tiles/webatlas-orto-newup/wa_grid/%(z)d/%(x)d/%(y)d.jpeg?api_key=b8e36d51-119a-423b-b156-d744d54123d5\n", | |
" grid: global_webmercator\n", | |
"\n", | |
"grids:\n", | |
" global_webmercator:\n", | |
" base: GLOBAL_WEBMERCATOR\n", | |
"\n", | |
"globals:\n", | |
" cache:\n", | |
" base_dir: \"./cache_data\"\n", | |
" lock_dir: \"./cache_data/locks\"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Overwriting query.ql\n" | |
] | |
} | |
], | |
"source": [ | |
"%%writefile query.ql\n", | |
"[out:json][timeout:25];\n", | |
"relation(406567);\n", | |
"map_to_area->.searchArea;\n", | |
"node[\"highway\"=\"crossing\"][\"crossing:markings\"!~\".\"](area.searchArea);\n", | |
"out body;\n", | |
">;\n", | |
"out skel qt;" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" % Total % Received % Xferd Average Speed Time Time Time Current\n", | |
" Dload Upload Total Spent Left Speed\n", | |
"100 514k 0 514k 100 158 74103 22 0:00:07 0:00:07 --:--:-- 128k\n" | |
] | |
} | |
], | |
"source": [ | |
"!curl --request POST --data @query.ql \"https://overpass-api.de/api/interpreter\" \\\n", | |
" --output res.json" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import json\n", | |
"with open('res.json') as f:\n", | |
" d = json.load(f)\n", | |
"\n", | |
"res = d['elements']\n", | |
"noCrossingTag = [e for e in res if 'crossing' not in e['tags'].keys()]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import shapely.geometry\n", | |
"import geopandas as gpd\n", | |
"\n", | |
"gs = gpd.GeoSeries([shapely.geometry.Point(e['lon'],e['lat']) for e in noCrossingTag]).set_crs(4326).to_crs(3857)\n", | |
"featureids = [e['id'] for e in noCrossingTag]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import time\n", | |
"import requests\n", | |
"from PIL import Image, ImageDraw\n", | |
"from io import BytesIO\n", | |
"\n", | |
"!rm -rf images\n", | |
"!mkdir images\n", | |
"def save_image(x, y, featureid):\n", | |
"\n", | |
" s = 100\n", | |
" bbox = ','.join([str(e) for e in [x-s/2, y-s/2, x+s/2, y+s/2]])\n", | |
" url = f\"http://127.0.0.1:8080/service?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX={bbox}&CRS=EPSG%3A3857&WIDTH=1000&HEIGHT=1000&LAYERS=webatlas_orto&STYLES=&FORMAT=image%2Fjpeg&DPI=144&MAP_RESOLUTION=144&FORMAT_OPTIONS=dpi%3A144\"\n", | |
"\n", | |
" response = requests.get(url)\n", | |
" if response.status_code == 200:\n", | |
" img = Image.open(BytesIO(response.content))\n", | |
" else:\n", | |
" raise Exception(f\"Failed to fetch image, status code {response.status_code}\")\n", | |
"\n", | |
" draw = ImageDraw.Draw(img)\n", | |
" width, height = img.size\n", | |
" center_x, center_y = width // 2, height // 2\n", | |
" l = 50\n", | |
"\n", | |
" draw.line([(center_x + l, center_y), (center_x + 3*l, center_y)], fill=\"red\", width=3)\n", | |
" draw.line([(center_x - l, center_y), (center_x - 3*l, center_y)], fill=\"red\", width=3)\n", | |
"\n", | |
" draw.line([(center_x, center_y - l), (center_x, center_y - 3*l)], fill=\"red\", width=3)\n", | |
" draw.line([(center_x, center_y + l), (center_x, center_y + 3*l)], fill=\"red\", width=3)\n", | |
"\n", | |
" # Draw a circle\n", | |
" draw = ImageDraw.Draw(img)\n", | |
" width, height = img.size\n", | |
" center_x, center_y = width // 2, height // 2\n", | |
" circle_radius = 50 # Radius of the circle\n", | |
"\n", | |
" # Define the bounding box for the circle\n", | |
" top_left = (center_x - circle_radius, center_y - circle_radius)\n", | |
" bottom_right = (center_x + circle_radius, center_y + circle_radius)\n", | |
"\n", | |
" # Draw the circle\n", | |
" draw.ellipse([top_left, bottom_right], outline=\"red\", width=3)\n", | |
"\n", | |
"\n", | |
" # Save the new image\n", | |
" output_path = f\"images/{featureid}.jpeg\"\n", | |
" img.save(output_path)\n", | |
" time.sleep(0.175)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"100%|██████████| 780/780 [03:35<00:00, 3.61it/s]\n" | |
] | |
} | |
], | |
"source": [ | |
"from tqdm import tqdm\n", | |
"\n", | |
"for ([x], [y]), featureid in tqdm(zip(gs.geometry.apply(lambda row: row.coords.xy), featureids),total=len(gs)):\n", | |
" save_image(x, y, featureid)\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"!open images/" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Delete all from images which don't have a visible zebra crossing in the middle." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"347\n" | |
] | |
} | |
], | |
"source": [ | |
"import glob\n", | |
"visibleMarkings = glob.glob(\"images/*\")\n", | |
"featureids = [e.replace(\"images/\",\"\").replace(\".jpeg\",\"\") for e in visibleMarkings]\n", | |
"print(len(featureids))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"n9044386349, n9005396978, n250144978, n8157954331, n9044386308, n34185632, n616826349, n12189120342, n2446474097, n1039723148, n1236630966, n4040253739, n9005396981, n9546102206, n358321562, n10934585679, n5119347281, n4984953578, n340323275, n1237023913, n5832080682, n5119347278, n11165845574, n1935174250, n325227313, n2118622257, n80626, n616826345, n2118622241, n1868232388, n616826312, n2795185118, n3838158131, n9330872855, n4991866141, n4044763633, n1472197899, n892477153, n5219921947, n9987252422, n6549104470, n8605369341, n9524858050, n2795185123, n247566012, n4984952958, n1236630947, n5718139352, n340321984, n616826313, n5884071726, n2391406650, n356911885, n4873947648, n11048744787, n2364733809, n1765639383, n11990976066, n9767586276, n5765357792, n1125471765, n2123240368, n6565938170, n8536654769, n1264477997, n771593629, n5424828680, n5119347280, n1237023904, n12029648313, n5053924334, n9005396980, n732786170, n616826348, n151011979, n5158862510, n5824192164, n9330872835, n7627569669, n5631266855, n6871169673, n5629377525, n5293785447, n4338786893, n5850898686, n6850992982, n254174380, n1935174240, n60206344, n6938114972, n4984954560, n2339218176, n6946589403, n317221669, n2301572357, n8473643888, n9352382305, n324325002, n1236630999, n5718139363, n5824166661, n476726732, n6314118623, n946938734, n9330872873, n7343324096, n5835975347, n6947267446, n1236630960, n1138178877, n4303737659, n5824192159, n5557413513, n5717642513, n2118622230, n9195939064, n279932220, n1237023915, n12288002890, n2475713503, n6874033467, n5657393115, n25989834, n5642129451, n5835973494, n6029145959, n4293693923, n8910717726, n5835972786, n5053923199, n1138455491, n9817856964, n356911899, n5834120025, n4984949373, n5829690154, n250144990, n5720023427, n1965216331, n9330872833, n11237179037, n1139002116, n11237176024, n3843837976, n5720023411, n4984952548, n1236630941, n5887925593, n4984949353, n2339218177, n11165845569, n2364733819, n1883817585, n12288002848, n7620699531, n732786195, n7614574121, n3386685216, n6871169672, n5717879857, n11162495312, n4885322673, n338898672, n1027143951, n7343324108, n6887001550, n340907841, n6946589102, n9330872851, n5053924595, n9153012865, n6938114970, n6983733950, n8004752188, n7620699532, n616826341, n861564596, n9088990023, n10856687141, n9812167551, n5776625252, n10654077771, n3637948482, n11165845570, n5717879065, n5834136062, n5840556821, n11990976063, n4984964033, n254482304, n7144835301, n2339218178, n888934151, n8839324293, n6983733663, n975865201, n5835974738, n1876535223, n5834120026, n7339867670, n1139585253, n5717642655, n36674439, n5657394610, n7620699528, n5902402384, n310538827, n5751233754, n7343325017, n5850910035, n7343325016, n5751234356, n1381465145, n3770666884, n437992395, n6029147264, n5720023464, n9330872827, n5834137166, n85996681, n9468294558, n5832082301, n8607400476, n5053925448, n8607398551, n5834130949, n1236631020, n1237023916, n6865094266, n10133883302, n8839297800, n2446474102, n7656901508, n5835974236, n6751151737, n10835688567, n10654077770, n5631266856, n321542813, n1804831614, n6983733654, n278348778, n5585162665, n4984949392, n5629377530, n60640109, n1236630980, n9097293354, n1876535193, n6983733951, n685711864, n5829688842, n4863862669, n4873947549, n5832082177, n2795185127, n4005704706, n1139002840, n4885322962, n5829688946, n247649891, n8473619374, n33226897, n338898673, n5687325747, n1236631027, n1237023911, n1883842903, n6029146673, n9767586275, n4831765151, n5835966328, n1237023907, n6579834336, n5717642653, n7627484562, n1168280347, n6928661209, n8607398716, n254261433, n9330872836, n6512642934, n2175615157, n356911900, n4005704701, n2364733826, n5758703438, n861537424, n771593763, n2289085559, n11992727824, n8157954329, n8601567568, n243788484, n5627629497, n7747541156, n9044386310, n5829688982, n5758198303, n5829687231, n335975238, n9002576374, n9005396977, n9044386346, n5718139043, n4394667468, n34548979, n5750961569, n224394877, n9044386307, n804773703, n11986876874, n10838202434, n5750973578, n5627629506, n4991866142, n8332062850, n1759823372, n5850891924, n4999697343, n4984953218, n666284938, n1497309940, n60949428, n11985209741, n5424828677, n282298705, n9330872840, n5829687512, n7339870665, n6946590241, n9546102141, n325227824, n7627484563, n732786172, n9330872821, n477774957, n1237023906, n7619280026, n4831765150, n1236630949, n2118622223, n5717977575, n9767586274, n7339822656, n1985577069, n249377547\n" | |
] | |
} | |
], | |
"source": [ | |
"prettyNodeList = ', '.join([f\"n{e}\" for e in featureids])\n", | |
"print(prettyNodeList)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Overwriting editorcontent.txt\n" | |
] | |
} | |
], | |
"source": [ | |
"%%writefile editorcontent.txt\n", | |
"node 80626: 63.3155897, 10.1923404\n", | |
" highway = crossing\n", | |
"\n", | |
"node 25989834: 63.4206921, 10.7581821\n", | |
" highway = crossing\n", | |
"\n", | |
"node 33226897: 63.5104123, 10.8527948\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
"\n", | |
"node 34185632: 63.4238776, 10.4437326\n", | |
" highway = crossing\n", | |
"\n", | |
"node 34548979: 63.4195290, 10.4389983\n", | |
" highway = crossing\n", | |
"\n", | |
"node 36674439: 63.4181346, 10.4565250\n", | |
" highway = crossing\n", | |
"\n", | |
"node 60206344: 63.3916696, 10.4091905\n", | |
" highway = crossing\n", | |
"\n", | |
"node 60640109: 63.3907756, 10.4237367\n", | |
" highway = crossing\n", | |
"\n", | |
"node 60949428: 63.3737838, 10.3673022\n", | |
" highway = crossing\n", | |
"\n", | |
"node 85996681: 63.4298439, 10.4226564\n", | |
" highway = crossing\n", | |
"\n", | |
"node 151011979: 63.3966300, 10.4286024\n", | |
" highway = crossing\n", | |
"\n", | |
"node 224394877: 63.3104704, 10.1683203\n", | |
" highway = crossing\n", | |
"\n", | |
"node 243788484: 63.4213637, 10.3761886\n", | |
" highway = crossing\n", | |
" source = survey\n", | |
"\n", | |
"node 247566012: 63.4142739, 10.5305874\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 247649891: 63.3790003, 10.3475698\n", | |
" highway = crossing\n", | |
"\n", | |
"node 249377547: 63.4273832, 10.4600772\n", | |
" highway = crossing\n", | |
"\n", | |
"node 250144978: 62.8827737, 10.4824952\n", | |
" highway = crossing\n", | |
"\n", | |
"node 250144990: 63.2592097, 10.2859702\n", | |
" highway = crossing\n", | |
"\n", | |
"node 254174380: 63.4075863, 10.4714651\n", | |
" highway = crossing\n", | |
"\n", | |
"node 254261433: 63.4377949, 10.4404348\n", | |
" highway = crossing\n", | |
"\n", | |
"node 254482304: 63.4081145, 10.4716535\n", | |
" highway = crossing\n", | |
"\n", | |
"node 278348778: 64.0324008, 11.4842014\n", | |
" highway = crossing\n", | |
"\n", | |
"node 279932220: 63.2735638, 9.8239353\n", | |
" highway = crossing\n", | |
"\n", | |
"node 282298705: 63.4461240, 10.4438139\n", | |
" highway = crossing\n", | |
"\n", | |
"node 310538827: 63.7045717, 11.1931324\n", | |
" highway = crossing\n", | |
"\n", | |
"node 317221669: 63.4289345, 10.4954920\n", | |
" crossing:island = yes\n", | |
" highway = crossing\n", | |
" traffic_signals = traffic_lights\n", | |
"\n", | |
"node 321542813: 63.5855498, 9.9647483\n", | |
" highway = crossing\n", | |
"\n", | |
"node 324325002: 64.0340570, 11.4814965\n", | |
" highway = crossing\n", | |
"\n", | |
"node 325227313: 63.2675984, 9.8181372\n", | |
" highway = crossing\n", | |
"\n", | |
"node 325227824: 63.2657435, 9.8131493\n", | |
" highway = crossing\n", | |
"\n", | |
"node 335975238: 63.4385051, 10.4835016\n", | |
" highway = crossing\n", | |
"\n", | |
"node 338898672: 63.4158556, 10.4939362\n", | |
" highway = crossing\n", | |
"\n", | |
"node 338898673: 63.4160093, 10.4940377\n", | |
" highway = crossing\n", | |
"\n", | |
"node 340321984: 63.4142853, 10.4921535\n", | |
" highway = crossing\n", | |
"\n", | |
"node 340323275: 63.4171225, 10.4944911\n", | |
" highway = crossing\n", | |
"\n", | |
"node 340907841: 63.4200877, 10.4950573\n", | |
" highway = crossing\n", | |
"\n", | |
"node 356911885: 63.4317919, 10.4494292\n", | |
" highway = crossing\n", | |
"\n", | |
"node 356911899: 63.4315524, 10.4487496\n", | |
" highway = crossing\n", | |
"\n", | |
"node 356911900: 63.4315180, 10.4488197\n", | |
" highway = crossing\n", | |
"\n", | |
"node 358321562: 63.4272473, 10.4601213\n", | |
" highway = crossing\n", | |
" traffic_calming = hump\n", | |
"\n", | |
"node 437992395: 63.4066714, 10.4701148\n", | |
" highway = crossing\n", | |
"\n", | |
"node 476726732: 63.3734473, 10.3497326\n", | |
" highway = crossing\n", | |
"\n", | |
"node 477774957: 63.3503376, 10.3756609\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826312: 63.4197550, 10.4371909\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826313: 63.4194768, 10.4387505\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826341: 63.4237342, 10.4399746\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826345: 63.4237205, 10.4401085\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826348: 63.4238644, 10.4405997\n", | |
" highway = crossing\n", | |
"\n", | |
"node 616826349: 63.4239146, 10.4406254\n", | |
" highway = crossing\n", | |
"\n", | |
"node 666284938: 63.4174228, 11.7400258\n", | |
" highway = crossing\n", | |
"\n", | |
"node 685711864: 63.3678755, 10.3577020\n", | |
" highway = crossing\n", | |
"\n", | |
"node 732786170: 63.4134526, 10.5357017\n", | |
" highway = crossing\n", | |
"\n", | |
"node 732786172: 63.4138663, 10.5313679\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 732786195: 63.4139298, 10.5306441\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 771593629: 63.2244384, 11.0324832\n", | |
" highway = crossing\n", | |
"\n", | |
"node 771593763: 63.2253274, 11.0338405\n", | |
" highway = crossing\n", | |
"\n", | |
"node 804773703: 63.2986617, 10.2852027\n", | |
" highway = crossing\n", | |
"\n", | |
"node 861537424: 63.2685932, 10.2937852\n", | |
" highway = crossing\n", | |
"\n", | |
"node 861564596: 63.2832021, 10.2811440\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 888934151: 63.4405976, 10.4340508\n", | |
" highway = crossing\n", | |
" traffic_calming = table\n", | |
"\n", | |
"node 892477153: 63.3146836, 10.1537598\n", | |
" highway = crossing\n", | |
"\n", | |
"node 946938734: 63.4333572, 10.4632950\n", | |
" highway = crossing\n", | |
"\n", | |
"node 975865201: 63.3930056, 10.4098599\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1027143951: 63.4335608, 10.6056166\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1039723148: 63.3929278, 10.4096534\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1125471765: 63.3909053, 10.4215535\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1138178877: 63.4349500, 10.6032370\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1138455491: 63.4133570, 10.5357409\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1139002116: 63.4332359, 10.3959923\n", | |
" crossing:island = no\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
"\n", | |
"node 1139002840: 63.4332278, 10.3956007\n", | |
" crossing:island = no\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
"\n", | |
"node 1139585253: 63.3830331, 10.3788442\n", | |
" bicycle = yes\n", | |
" crossing:island = yes\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1168280347: 63.3840829, 10.3372371\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630941: 63.3109809, 10.1746840\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630947: 63.3120119, 10.1827220\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630949: 63.3086812, 10.1736835\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630960: 63.3085954, 10.1743179\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630966: 63.3124519, 10.1841192\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630980: 63.3082529, 10.1566896\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236630999: 63.3103868, 10.1675235\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236631020: 63.3103443, 10.1619201\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1236631027: 63.3084712, 10.1664875\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023904: 63.3082797, 10.1738282\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023906: 63.3143784, 10.1892791\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023907: 63.3104741, 10.1677116\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023911: 63.3108423, 10.1724842\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023913: 63.3119324, 10.1806156\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023915: 63.3126277, 10.1843287\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1237023916: 63.3083789, 10.1734315\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1264477997: 63.4218329, 10.5343015\n", | |
" highway = crossing\n", | |
" traffic_calming = table\n", | |
"\n", | |
"node 1381465145: 63.3476702, 10.3834231\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1472197899: 63.4302372, 10.4239834\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1497309940: 63.4135491, 10.4152451\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1759823372: 63.4450428, 10.4381897\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1765639383: 63.4288842, 10.5370466\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1804831614: 63.4311091, 10.4248160\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1868232388: 63.5116695, 10.8201708\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1876535193: 63.3478075, 10.3796308\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1876535223: 63.3478155, 10.3831394\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1883817585: 63.3954597, 10.4268068\n", | |
" highway = crossing\n", | |
" kerb = no\n", | |
"\n", | |
"node 1883842903: 63.3892404, 10.3975946\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1935174240: 63.4350528, 10.4576262\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1935174250: 63.4349114, 10.4574755\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1965216331: 63.4286291, 10.5383271\n", | |
" highway = crossing\n", | |
"\n", | |
"node 1985577069: 63.3484647, 10.3795582\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2118622223: 63.3525999, 10.3401060\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2118622230: 63.3532377, 10.3406888\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2118622241: 63.3554480, 10.3427624\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2118622257: 63.3569444, 10.3432215\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2123240368: 63.4168944, 10.3826979\n", | |
" highway = crossing\n", | |
" mapillary = 803976737170077\n", | |
" survey:date = 2018-08-15\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 2175615157: 63.7238419, 11.2259617\n", | |
" highway = crossing\n", | |
" traffic_calming = table\n", | |
"\n", | |
"node 2289085559: 63.4233026, 10.5433225\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2301572357: 63.4171200, 10.8105320\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2339218176: 63.4099203, 10.3507547\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2339218177: 63.4099855, 10.3507915\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2339218178: 63.4101792, 10.3506976\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2364733809: 64.0167740, 11.4953870\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2364733819: 64.0170985, 11.4952288\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2364733826: 64.0172915, 11.4952511\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2391406650: 63.4053223, 10.4333604\n", | |
" highway = crossing\n", | |
" mapillary = 142139324544252\n", | |
" survey:date = 2018-06-24\n", | |
" wheelchair = limited\n", | |
"\n", | |
"node 2446474097: 63.4199465, 10.4370155\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2446474102: 63.4199642, 10.4369015\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2475713503: 63.4385087, 10.4221536\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2795185118: 63.2942427, 10.2809804\n", | |
" highway = crossing\n", | |
" source = GPS\n", | |
"\n", | |
"node 2795185123: 63.2964836, 10.2838059\n", | |
" highway = crossing\n", | |
"\n", | |
"node 2795185127: 63.2967263, 10.2838925\n", | |
" highway = crossing\n", | |
"\n", | |
"node 3386685216: 64.0102170, 11.5011050\n", | |
" highway = crossing\n", | |
"\n", | |
"node 3637948482: 64.0135705, 11.4978680\n", | |
" crossing:island = no\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 3770666884: 63.4368103, 10.4552542\n", | |
" highway = crossing\n", | |
"\n", | |
"node 3838158131: 63.4362003, 10.6042513\n", | |
" highway = crossing\n", | |
"\n", | |
"node 3843837976: 63.4188699, 10.4749993\n", | |
" highway = crossing\n", | |
" traffic_calming = hump\n", | |
"\n", | |
"node 4005704701: 64.9276113, 13.1585797\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = yes\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 4005704706: 64.9294595, 13.1600022\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = yes\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 4040253739: 63.7653457, 11.4394782\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
"\n", | |
"node 4044763633: 63.6109253, 11.0529627\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 4293693923: 63.4507953, 10.3139825\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4303737659: 63.3257851, 10.3066738\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4338786893: 63.4331065, 10.4562132\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4394667468: 63.4423641, 10.4271143\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4831765150: 63.5844195, 9.9590645\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4831765151: 63.5843889, 9.9589392\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4863862669: 63.7376214, 8.8350084\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4873947549: 63.7882639, 11.4803200\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4873947648: 63.7882741, 11.4804828\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4885322673: 63.7722758, 11.4729580\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4885322962: 63.7722496, 11.4727653\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984949353: 64.6263231, 12.2986015\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984949373: 64.6272255, 12.3005460\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984949392: 64.6283961, 12.3026615\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984952548: 64.6251605, 12.2952698\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984952958: 64.6247813, 12.2925775\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984953218: 64.6249859, 12.2954893\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984953578: 64.6256745, 12.2969574\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984954560: 64.6283937, 12.3030398\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4984964033: 64.6251552, 12.2948383\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4991866141: 63.1978214, 10.3017178\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4991866142: 63.1978351, 10.3018811\n", | |
" highway = crossing\n", | |
"\n", | |
"node 4999697343: 64.4681287, 11.4812817\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5053923199: 63.7356420, 8.8327721\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5053924334: 63.7323597, 8.8298244\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5053924595: 63.7317055, 8.8296013\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5053925448: 63.7235790, 8.8366993\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5119347278: 63.3945688, 10.3411806\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5119347280: 63.3944217, 10.3432387\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5119347281: 63.3944713, 10.3428713\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5158862510: 64.4567854, 12.3373646\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5219921947: 63.3797207, 10.3687713\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5293785447: 63.9879930, 11.1053646\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5424828677: 63.4100630, 10.4025922\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5424828680: 63.4112049, 10.4020512\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5557413513: 63.3099293, 10.1738669\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5585162665: 63.4376843, 10.4398289\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5627629497: 63.7052283, 11.1917756\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5627629506: 63.6998380, 11.1880872\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5629377525: 63.7009091, 11.2034442\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5629377530: 63.7004118, 11.2040778\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5631266855: 63.7099639, 11.1883738\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5631266856: 63.7100294, 11.1882379\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5642129451: 63.2314081, 11.0363635\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5657393115: 63.4213789, 10.5483732\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5657394610: 63.4138500, 10.5303099\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5687325747: 63.4415721, 10.8848278\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717642513: 63.2183247, 11.0401597\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717642653: 63.2197607, 11.0402498\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717642655: 63.2196391, 11.0406551\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717879065: 63.2210822, 11.0347907\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717879857: 63.2170077, 11.0397475\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5717977575: 63.2244573, 11.0321809\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5718139043: 63.2262202, 11.0337751\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5718139352: 63.2303044, 11.0341952\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5718139363: 63.2320834, 11.0371769\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5720023411: 63.2258347, 11.0331222\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5720023427: 63.2259486, 11.0333997\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5720023464: 63.2273460, 11.0312143\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5750961569: 64.9275981, 13.1586686\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = yes\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 5750973578: 64.9294474, 13.1600976\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = yes\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 5751233754: 63.8434343, 11.3907458\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5751234356: 63.8673958, 11.2965265\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5758198303: 64.3221925, 10.4582833\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5758703438: 63.6108784, 11.0528416\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
" wheelchair = yes\n", | |
"\n", | |
"node 5765357792: 63.7653563, 11.4396676\n", | |
" crossing:island = yes\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
" tactile_paving = no\n", | |
"\n", | |
"node 5776625252: 63.7516846, 11.3110990\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5824166661: 63.3879605, 10.4164051\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5824192159: 63.4191467, 10.4405648\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5824192164: 63.4198656, 10.4363739\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829687231: 63.1629308, 10.1019707\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829687512: 63.1667207, 10.1085023\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829688842: 63.1625693, 10.1009466\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829688946: 63.1601508, 10.0999632\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829688982: 63.1599760, 10.1001332\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5829690154: 63.1630213, 10.1020477\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5832080682: 63.2861851, 10.2659665\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5832082177: 63.3044434, 10.2482825\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5832082301: 63.2735451, 10.2453857\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5834120025: 63.1976968, 10.3021457\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5834120026: 63.1976218, 10.3021756\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5834130949: 63.1527147, 10.2890202\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5834136062: 63.1980614, 10.3014098\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5834137166: 63.1862294, 10.3128574\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835966328: 63.2645215, 10.2887519\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835972786: 63.2848656, 10.2847049\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835973494: 63.2986922, 10.2850638\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835974236: 63.2854781, 10.3065268\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835974738: 63.2866791, 10.2743358\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5835975347: 63.2831419, 10.2812489\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5840556821: 63.4212968, 10.4384987\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5850891924: 63.1234975, 9.7048321\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5850898686: 63.1258745, 9.7048080\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5850910035: 63.1270087, 9.7050793\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5884071726: 63.2852866, 11.0725338\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5887925593: 63.4222958, 10.6307187\n", | |
" highway = crossing\n", | |
"\n", | |
"node 5902402384: 63.9658134, 10.2209184\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6029145959: 63.6064664, 8.9675153\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6029146673: 63.6063753, 8.9697437\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6029147264: 63.6064891, 8.9683682\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6314118623: 63.2183876, 10.9786295\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6512642934: 63.4669484, 11.1125325\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6549104470: 63.3804865, 10.3944840\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6565938170: 64.4687471, 11.4898772\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6579834336: 63.4376955, 10.4280359\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6751151737: 63.4047775, 10.4611519\n", | |
" crossing_ref = zebra\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6850992982: 63.9613336, 10.2239570\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6865094266: 63.4681999, 11.1122773\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6871169672: 63.4667517, 10.9233901\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6871169673: 63.4667945, 10.9230924\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6874033467: 63.4728618, 10.9250182\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6887001550: 64.0137557, 11.4987480\n", | |
" crossing:signals = no\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6928661209: 62.9133316, 11.8896474\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6938114970: 63.4134185, 11.7379949\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6938114972: 63.4173187, 11.7400887\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6946589102: 63.4729436, 10.9271211\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6946589403: 63.4703973, 10.9286488\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6946590241: 63.4705712, 10.9303808\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6947267446: 63.4706023, 10.9286633\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6983733654: 63.4189189, 10.4367156\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6983733663: 63.4188602, 10.4367624\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6983733950: 63.4186829, 10.4365971\n", | |
" highway = crossing\n", | |
"\n", | |
"node 6983733951: 63.4187271, 10.4365906\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7144835301: 63.4130919, 10.8200116\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7339822656: 64.0124597, 11.5020553\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7339867670: 64.0338520, 11.4821348\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7339870665: 64.0144189, 11.4791460\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7343324096: 63.7510441, 11.3106530\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7343324108: 63.7515899, 11.3108989\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7343325016: 63.7526457, 11.3113931\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7343325017: 63.7528615, 11.3096858\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7614574121: 63.4729134, 10.9263310\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7619280026: 63.4848045, 10.9542677\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7620699528: 63.4206128, 10.7588176\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7620699531: 63.4211311, 10.7577444\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7620699532: 63.4215797, 10.7571495\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7627484562: 63.4275874, 10.5248891\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7627484563: 63.4279956, 10.5219103\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7627569669: 63.4265865, 10.5353684\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7656901508: 63.4443476, 10.4453838\n", | |
" highway = crossing\n", | |
"\n", | |
"node 7747541156: 63.4251871, 10.5321999\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8004752188: 63.4347321, 10.6036131\n", | |
" highway = crossing\n", | |
" traffic_calming = hump\n", | |
"\n", | |
"node 8157954329: 63.4479300, 10.4424910\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8157954331: 63.4481869, 10.4428354\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8332062850: 62.5948514, 9.6954619\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8473619374: 63.4344213, 10.4529172\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8473643888: 63.4350472, 10.4481286\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8536654769: 63.4110314, 10.4050207\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8601567568: 63.4167410, 10.8100030\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8605369341: 63.4325235, 10.6380339\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8607398551: 63.4336575, 10.6051828\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8607398716: 63.4363651, 10.5884761\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8607400476: 63.4373259, 10.6045800\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8839297800: 63.4705714, 10.9359197\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8839324293: 63.4658750, 10.9431100\n", | |
" highway = crossing\n", | |
"\n", | |
"node 8910717726: 63.4000877, 10.3739416\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9002576374: 63.4295801, 10.5456345\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9005396977: 63.4142814, 10.8079284\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9005396978: 63.4144226, 10.8085913\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9005396980: 63.4143780, 10.8093941\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9005396981: 63.4154778, 10.8137779\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9044386307: 63.2982759, 9.8449748\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9044386308: 63.2982250, 9.8448222\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9044386310: 63.2983218, 9.8438296\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9044386346: 63.2968621, 9.8455151\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9044386349: 63.2982585, 9.8432462\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9088990023: 64.0139269, 11.4786181\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9097293354: 63.2857906, 10.3098294\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9153012865: 63.2988352, 10.4835490\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9195939064: 63.4402716, 10.4338394\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872821: 63.2659993, 9.8100858\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872827: 63.2667638, 9.8150575\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872833: 63.2688781, 9.8207642\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872835: 63.2698493, 9.8218306\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872836: 63.2703117, 9.8220832\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872840: 63.2712117, 9.8225909\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872851: 63.2759799, 9.8260655\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872855: 63.2770773, 9.8298459\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9330872873: 63.2672638, 9.8172802\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9352382305: 63.4144854, 10.4778986\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9468294558: 63.4251053, 10.4428756\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9524858050: 64.0329886, 11.4832491\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9546102141: 63.3885323, 10.3963370\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9546102206: 63.3868472, 10.4078427\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9767586274: 63.4541103, 10.9219741\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9767586275: 63.4537645, 10.9219685\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9767586276: 63.4533218, 10.9219613\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9812167551: 63.4250061, 10.4895839\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9817856964: 63.7515603, 11.3112916\n", | |
" highway = crossing\n", | |
"\n", | |
"node 9987252422: 63.4516275, 10.3101274\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10133883302: 63.3353140, 10.3628757\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10654077770: 63.4641709, 11.1140576\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10654077771: 63.4641677, 11.1139821\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10835688567: 63.3777509, 10.3650013\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10838202434: 63.3678312, 10.3577316\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10856687141: 63.3777094, 10.3518435\n", | |
" highway = crossing\n", | |
"\n", | |
"node 10934585679: 63.4244441, 10.5356368\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11048744787: 63.6006231, 8.9785083\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11162495312: 63.2870428, 10.2754969\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11165845569: 63.4008158, 10.4283541\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11165845570: 63.3986626, 10.4281187\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11165845574: 63.3955187, 10.4265111\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11237176024: 63.7504715, 11.3006694\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11237179037: 63.7461667, 11.3016112\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11985209741: 63.4211814, 10.1450943\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11986876874: 63.3075414, 10.1739410\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11990976063: 63.2868912, 10.2774582\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11990976066: 63.2871999, 10.2783503\n", | |
" highway = crossing\n", | |
"\n", | |
"node 11992727824: 63.4337355, 10.6052359\n", | |
" highway = crossing\n", | |
"\n", | |
"node 12029648313: 63.5842831, 9.9546499\n", | |
" highway = crossing\n", | |
"\n", | |
"node 12189120342: 63.4318470, 10.5138779\n", | |
" highway = crossing\n", | |
"\n", | |
"node 12288002848: 63.9612083, 10.2238895\n", | |
" highway = crossing\n", | |
"\n", | |
"node 12288002890: 63.9614205, 10.2254292\n", | |
" highway = crossing\n", | |
"\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"input_file = \"editorcontent.txt\"\n", | |
"output_file = \"out.txt\"\n", | |
"\n", | |
"with open(input_file, \"r\") as infile, open(output_file, \"w\") as outfile:\n", | |
" inside_node = False\n", | |
" for line in infile:\n", | |
" stripped_line = line.strip()\n", | |
" if stripped_line.startswith(\"node\"):\n", | |
" inside_node = True\n", | |
" outfile.write(line)\n", | |
" elif inside_node and stripped_line == \"\":\n", | |
" outfile.write(\" crossing = uncontrolled\\n\\n\")\n", | |
" inside_node = False\n", | |
" else:\n", | |
" outfile.write(line)\n", | |
" if inside_node: # Handle case where the file ends without a blank line after the last node\n", | |
" outfile.write(\" crossing = uncontrolled\\n\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"!open out.txt" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Giving crossings with visible zebra markings a crossing tag. More info: https://community.openstreetmap.org/t/any-potential-danger-of-large-scale-crossing-markings-zebra-tagging/117579/11." | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "dev311_2", | |
"language": "python", | |
"name": "dev311_2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.11.10" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment