osm2geojson
osm2geojson copied to clipboard
Failed to convert relation to shape
Overpass Query : [out:json]; area["name:en"="Madhya Pradesh"]->.a; ( way(area.a)["landuse"]; relation(area.a)["landuse"]; ); out body geom;
And this is the issue: ( getting this issue for multiple queries ) ( may be due to large data )
Failed to convert relation to shape: {'bounds': {'maxlat': 22.1185427, 'maxlon': 80.6439185, 'minlat': 21.9775684, 'minlon': 80.5210355}, 'id': 15619347, 'members': [{'geometry': [{'lat': 22.0103985, 'lon': 80.5584816}, {'lat': 22.0101707, 'lon': 80.5584444}, {'lat': 22.0100672, 'lon': 80.5579902}, {'lat': 22.0099498, 'lon': 80.5578189}, {'lat': 22.0098394, 'lon': 80.5575807}, {'lat': 22.0097427, 'lon': 80.5574169}, {'lat': 22.0095632, 'lon': 80.5572605}, {'lat': 22.0092733, 'lon': 80.5572605}, {'lat': 22.009156, 'lon': 80.5574615}, {'lat': 22.0091007, 'lon': 80.557804}, {'lat': 22.0090179, 'lon': 80.5579976}, {'lat': 22.008942, 'lon': 80.558221}, {'lat': 22.008866, 'lon': 80.5584741}, {'lat': 22.0086658, 'lon': 80.5587943}, {'lat': 22.0084518, 'lon': 80.5589358}, {'lat': 22.008224, 'lon': 80.5589507}, {'lat': 22.00801, 'lon': 80.5589209}, {'lat': 22.0079479, 'lon': 80.5587794}, {'lat': 22.0078996, 'lon': 80.5585784}, {'lat': 22.007872, 'lon': 80.5583997}, {'lat': 22.0078858, 'lon': 80.558154}, {'lat': 22.0078858, 'lon': 80.5579529}, {'lat': 22.0078858, 'lon': 80.5577742}, {'lat': 22.0078375, 'lon': 80.5576328}, {'lat': 22.0074923, 'lon': 80.5577594}, {'lat': 22.0073059, 'lon': 80.5578636}, {'lat': 22.0069608, 'lon': 80.5577519}, {'lat': 22.006802, 'lon': 80.5576551}, {'lat': 22.006588, 'lon': 80.557536}, {'lat': 22.0063533, 'lon': 80.5575285}, {'lat': 22.0060703, 'lon': 80.5577445}, {'lat': 22.0060772, 'lon': 80.5575807}, {'lat': 22.0061255, 'lon': 80.5574466}, {'lat': 22.0062497, 'lon': 80.5572903}, {'lat': 22.0063464, 'lon': 80.5571414}, {'lat': 22.0063878, 'lon': 80.5569552}, {'lat': 22.0063947, 'lon': 80.556784}, {'lat': 22.0065052, 'lon': 80.5566127}, {'lat': 22.0067261, 'lon': 80.5566053}, {'lat': 22.0069608, 'lon': 80.556717}, {'lat': 22.0070919, 'lon': 80.5565978}, {'lat': 22.0071264, 'lon': 80.5563596}, {'lat': 22.0071334, 'lon': 80.5561585}, {'lat': 22.0070781, 'lon': 80.5558682}, {'lat': 22.0070091, 'lon': 80.5555554}, {'lat': 22.006947, 'lon': 80.5553395}, {'lat': 22.0069194, 'lon': 80.5552055}, {'lat': 22.0067675, 'lon': 80.5551608}, {'lat': 22.0065742, 'lon': 80.5552055}, {'lat': 22.0063188, 'lon': 80.5552204}, {'lat': 22.0061462, 'lon': 80.5552427}, {'lat': 22.0060703, 'lon': 80.5554587}, {'lat': 22.0060703, 'lon': 80.5557341}, {'lat': 22.0060841, 'lon': 80.5558682}, {'lat': 22.0060979, 'lon': 80.5560394}, {'lat': 22.0058356, 'lon': 80.5560543}, {'lat': 22.0054628, 'lon': 80.5559426}, {'lat': 22.0051867, 'lon': 80.5557192}, {'lat': 22.0050348, 'lon': 80.555414}, {'lat': 22.004876, 'lon': 80.5552055}, {'lat': 22.0047103, 'lon': 80.5550864}, {'lat': 22.0045101, 'lon': 80.5549672}, {'lat': 22.0042409, 'lon': 80.5549747}, {'lat': 22.0041236, 'lon': 80.5551013}, {'lat': 22.0039993, 'lon': 80.5553023}, {'lat': 22.0040752, 'lon': 80.5555406}, {'lat': 22.0041995, 'lon': 80.5557788}, {'lat': 22.004165, 'lon': 80.556032}, {'lat': 22.0041097, 'lon': 80.556166}, {'lat': 22.0039648, 'lon': 80.5560766}, {'lat': 22.0039165, 'lon': 80.5559203}, {'lat': 22.0037991, 'lon': 80.555749}, {'lat': 22.0037094, 'lon': 80.5555182}, {'lat': 22.0036403, 'lon': 80.5552874}, {'lat': 22.0036886, 'lon': 80.5551534}, {'lat': 22.0036886, 'lon': 80.5550194}, {'lat': 22.0036265, 'lon': 80.5548481}, {'lat': 22.0033435, 'lon': 80.5547141}, {'lat': 22.003164, 'lon': 80.5547513}, {'lat': 22.003019, 'lon': 80.5547662}, {'lat': 22.0024737, 'lon': 80.5547364}, {'lat': 22.0022182, 'lon': 80.55493}, {'lat': 22.0021492, 'lon': 80.5547141}, {'lat': 22.0020249, 'lon': 80.5545428}, {'lat': 22.0018524, 'lon': 80.5542822}, {'lat': 22.0017074, 'lon': 80.5540291}, {'lat': 22.0014589, 'lon': 80.5529718}, {'lat': 22.0014312, 'lon': 80.5527187}, {'lat': 22.0012518, 'lon': 80.5524059}, {'lat': 22.0010239, 'lon': 80.5521975}, {'lat': 22.0007823, 'lon': 80.5519815}, {'lat': 22.0004441, 'lon': 80.5517433}, {'lat': 22.0003198, 'lon': 80.5515571}, {'lat': 22.0002784, 'lon': 80.551304}, {'lat': 22.0002439, 'lon': 80.5510732}, {'lat': 22.0000989, 'lon': 80.5509391}, {'lat': 21.9996433, 'lon': 80.5508424}, {'lat': 21.99945, 'lon': 80.5509466}, {'lat': 21.9992636, 'lon': 80.5512295}, {'lat': 21.9991393, 'lon': 80.5515869}, {'lat': 21.9990634, 'lon': 80.5518996}, {'lat': 21.9990357, 'lon': 80.5522272}, {'lat': 21.9989115, 'lon': 80.5525251}, {'lat': 21.9987044, 'lon': 80.5528601}, {'lat': 21.9985732, 'lon': 80.5532547}, {'lat': 21.9986284, 'lon': 80.5536866}, {'lat': 21.9989115, 'lon': 80.5538727}, {'lat': 21.9990565, 'lon': 80.5539919}, {'lat': 21.999229, 'lon': 80.5539993}, {'lat': 21.9992152, 'lon': 80.5542376}, {'lat': 21.9992152, 'lon': 80.5544535}, {'lat': 21.9992083, 'lon': 80.5547215}, {'lat': 21.999229, 'lon': 80.5549821}, {'lat': 21.999229, 'lon': 80.5551162}, {'lat': 21.9990012, 'lon': 80.5555257}, {'lat': 21.9987734, 'lon': 80.5556522}, {'lat': 21.9985111, 'lon': 80.5557937}, {'lat': 21.9983109, 'lon': 80.5557267}, {'lat': 21.9981728, 'lon': 80.5555033}, {'lat': 21.9979864, 'lon': 80.5555033},
During debugging I found:
- Relation with problem has id
15619347
- That relation has very different outer/inner rings definition. You can see on attached picture that first outer ring is incomplete. Unfortunately, current logic in osm2geojson doesn't expect that situation and change of this logic probaly will break other places.
We're also affected by this. It happens when asking for coastline data. Do you think this can be fixed? Do I unterstand this correctly that the cause is incomplete OSM relation data or just an unexpected data that would need to be handled differently in osm2geojson?
I attached an example that fails to convert conversion error.txt