Skip to content

Instantly share code, notes, and snippets.

@zabop
Created November 9, 2024 17:35
Show Gist options
  • Save zabop/7b1bd822a29df2a310181285d17f90c6 to your computer and use it in GitHub Desktop.
Save zabop/7b1bd822a29df2a310181285d17f90c6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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