osm2geojson icon indicating copy to clipboard operation
osm2geojson copied to clipboard

Failed to convert relation to shape

Open epsawan opened this issue 1 year ago • 3 comments

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},

epsawan avatar Sep 14 '23 10:09 epsawan

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. image

rapkin avatar Sep 15 '23 11:09 rapkin

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?

geotom avatar Nov 21 '23 08:11 geotom

I attached an example that fails to convert conversion error.txt

geotom avatar Nov 21 '23 08:11 geotom