aspectumapp / osm2geojson

Convert OSM and Overpass XML/JSON to GeoJSON
MIT License
100 stars 14 forks source link

Failed to convert relationship to shape #28

Closed GiorgioBaldelli closed 2 years ago

GiorgioBaldelli commented 2 years ago

hi @rapkin, thank you very much for sharing your work.

I'm running into some trouble when attempting to convert some osm data to geojson. Is this something that you have seen before?

  for line in merged_line:
Failed to convert relation to shape {'bounds': {'maxlat': 49.5048155,
            'maxlon': 6.6520431,
            'minlat': 49.4585501,
            'minlon': 6.5741756},
 'id': 6842795,
 'members': [{'geometry': [{'lat': 49.4799158, 'lon': 6.57908},
                           {'lat': 49.4790481, 'lon': 6.5812263},
                           {'lat': 49.4783967, 'lon': 6.5813695},
                           {'lat': 49.4778604, 'lon': 6.5820013},
                           {'lat': 49.4776524, 'lon': 6.5830374},
                           {'lat': 49.4770667, 'lon': 6.5830964},
                           {'lat': 49.4763826, 'lon': 6.5848738},
                           {'lat': 49.4746365, 'lon': 6.5862722},
                           {'lat': 49.4733966, 'lon': 6.587382},
                           {'lat': 49.4735779, 'lon': 6.5881866},
                           {'lat': 49.4717373, 'lon': 6.5896779},
                           {'lat': 49.4714166, 'lon': 6.5894097},
                           {'lat': 49.4707055, 'lon': 6.5907508},
                           {'lat': 49.4714864, 'lon': 6.5911049},
                           {'lat': 49.4722254, 'lon': 6.5921027},
                           {'lat': 49.4736894, 'lon': 6.5949994},
                           {'lat': 49.4752719, 'lon': 6.5958899},
                           {'lat': 49.4755787, 'lon': 6.5963835},
                           {'lat': 49.4758924, 'lon': 6.5981215},
                           {'lat': 49.4764135, 'lon': 6.598953},
                           {'lat': 49.4736807, 'lon': 6.6034377},
                           {'lat': 49.4732136, 'lon': 6.6035986},
                           {'lat': 49.4682286, 'lon': 6.6029334},
                           {'lat': 49.4642054, 'lon': 6.5969038},
                           {'lat': 49.460935, 'lon': 6.5970004}],
              'ref': 377119318,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.4799158, 'lon': 6.57908},
                           {'lat': 49.4822733, 'lon': 6.5751556},
                           {'lat': 49.4836405, 'lon': 6.5741756}],
              'ref': 377119298,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.4836405, 'lon': 6.5741756},
                           {'lat': 49.4839623, 'lon': 6.5744512},
                           {'lat': 49.4822597, 'lon': 6.5776696},
                           {'lat': 49.48175, 'lon': 6.5791718},
                           {'lat': 49.4811042, 'lon': 6.5821482},
                           {'lat': 49.4811569, 'lon': 6.5826404},
                           {'lat': 49.4815952, 'lon': 6.5834654},
                           {'lat': 49.4816559, 'lon': 6.5848251},
                           {'lat': 49.4821644, 'lon': 6.5857512},
                           {'lat': 49.482605, 'lon': 6.5871252},
                           {'lat': 49.4829696, 'lon': 6.5878472},
                           {'lat': 49.4830748, 'lon': 6.589442},
                           {'lat': 49.4837048, 'lon': 6.5912336},
                           {'lat': 49.4836584, 'lon': 6.5926247},
                           {'lat': 49.4834601, 'lon': 6.5935096},
                           {'lat': 49.4835516, 'lon': 6.5948312},
                           {'lat': 49.4835702, 'lon': 6.5964071},
                           {'lat': 49.4851458, 'lon': 6.5986786},
                           {'lat': 49.4858552, 'lon': 6.6011004},
                           {'lat': 49.4863725, 'lon': 6.603024},
                           {'lat': 49.4871981, 'lon': 6.606957},
                           {'lat': 49.4875009, 'lon': 6.6076553},
                           {'lat': 49.487777, 'lon': 6.6090006},
                           {'lat': 49.4877456, 'lon': 6.6104946},
                           {'lat': 49.4880887, 'lon': 6.6125262},
                           {'lat': 49.4864546, 'lon': 6.6132892},
                           {'lat': 49.485853, 'lon': 6.6133062},
                           {'lat': 49.4858487, 'lon': 6.6174214},
                           {'lat': 49.4859887, 'lon': 6.618931},
                           {'lat': 49.4862819, 'lon': 6.6199888},
                           {'lat': 49.4867902, 'lon': 6.621367},
                           {'lat': 49.4870426, 'lon': 6.6224757},
                           {'lat': 49.4873989, 'lon': 6.6233514},
                           {'lat': 49.4882037, 'lon': 6.6243767},
                           {'lat': 49.4884722, 'lon': 6.6273157},
                           {'lat': 49.4897723, 'lon': 6.6299976},
                           {'lat': 49.4896617, 'lon': 6.6314664},
                           {'lat': 49.4884617, 'lon': 6.634402},
                           {'lat': 49.4879613, 'lon': 6.6360587},
                           {'lat': 49.4873757, 'lon': 6.6373379},
                           {'lat': 49.4887148, 'lon': 6.6394395},
                           {'lat': 49.4882975, 'lon': 6.6406265},
                           {'lat': 49.4893321, 'lon': 6.6416043},
                           {'lat': 49.4895924, 'lon': 6.6408085},
                           {'lat': 49.4911507, 'lon': 6.6427308}],
              'ref': 377119313,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.45976, 'lon': 6.6160494},
                           {'lat': 49.4631229, 'lon': 6.6136944},
                           {'lat': 49.4635169, 'lon': 6.6141075},
                           {'lat': 49.4644137, 'lon': 6.6164785},
                           {'lat': 49.465274, 'lon': 6.6177607},
                           {'lat': 49.4647546, 'lon': 6.6183186},
                           {'lat': 49.4655425, 'lon': 6.6199547},
                           {'lat': 49.4678051, 'lon': 6.6247881},
                           {'lat': 49.4686941, 'lon': 6.6242355},
                           {'lat': 49.4696109, 'lon': 6.6241711},
                           {'lat': 49.4720685, 'lon': 6.6269338},
                           {'lat': 49.4739857, 'lon': 6.6293693},
                           {'lat': 49.480664, 'lon': 6.6362733},
                           {'lat': 49.481605, 'lon': 6.6376788},
                           {'lat': 49.4835149, 'lon': 6.6397923},
                           {'lat': 49.484874, 'lon': 6.6442233},
                           {'lat': 49.4860868, 'lon': 6.644041},
                           {'lat': 49.4875226, 'lon': 6.6453284},
                           {'lat': 49.4895089, 'lon': 6.6445023},
                           {'lat': 49.4911507, 'lon': 6.6427308}],
              'ref': 463297166,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.45976, 'lon': 6.6160494},
                           {'lat': 49.4585501, 'lon': 6.6152287},
                           {'lat': 49.4595543, 'lon': 6.6096711},
                           {'lat': 49.4600564, 'lon': 6.6093922},
                           {'lat': 49.460412, 'lon': 6.6093707},
                           {'lat': 49.4605306, 'lon': 6.6086197},
                           {'lat': 49.4603074, 'lon': 6.6083944},
                           {'lat': 49.4604678, 'lon': 6.6071498},
                           {'lat': 49.4592893, 'lon': 6.6001439},
                           {'lat': 49.4596519, 'lon': 6.5984917},
                           {'lat': 49.460935, 'lon': 6.5970004}],
              'ref': 463297155,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.4972511, 'lon': 6.6517765},
                           {'lat': 49.4965264, 'lon': 6.6513393},
                           {'lat': 49.495678, 'lon': 6.6501645},
                           {'lat': 49.4944167, 'lon': 6.6463772},
                           {'lat': 49.4933317, 'lon': 6.6416025}],
              'ref': 463297158,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.4933317, 'lon': 6.6416025},
                           {'lat': 49.4960364, 'lon': 6.6403483},
                           {'lat': 49.4968633, 'lon': 6.6387168},
                           {'lat': 49.4972625, 'lon': 6.6391764},
                           {'lat': 49.4977851, 'lon': 6.6395461},
                           {'lat': 49.4986435, 'lon': 6.6392124},
                           {'lat': 49.4993003, 'lon': 6.6386274},
                           {'lat': 49.4997379, 'lon': 6.6379699},
                           {'lat': 49.4999208, 'lon': 6.6379367},
                           {'lat': 49.5003081, 'lon': 6.6381192},
                           {'lat': 49.5007222, 'lon': 6.6397359},
                           {'lat': 49.5010394, 'lon': 6.641782},
                           {'lat': 49.5010498, 'lon': 6.6425272},
                           {'lat': 49.5009484, 'lon': 6.6435376},
                           {'lat': 49.5008954, 'lon': 6.644554},
                           {'lat': 49.5010017, 'lon': 6.6452897},
                           {'lat': 49.5014962, 'lon': 6.6452524},
                           {'lat': 49.5020485, 'lon': 6.645583},
                           {'lat': 49.5023613, 'lon': 6.6459094}],
              'ref': 463297165,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.5023613, 'lon': 6.6459094},
                           {'lat': 49.5037626, 'lon': 6.6474792}],
              'ref': 377542157,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.5037626, 'lon': 6.6474792},
                           {'lat': 49.5045091, 'lon': 6.6504007},
                           {'lat': 49.5048155, 'lon': 6.6520431}],
              'ref': 462742925,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'geometry': [{'lat': 49.5048155, 'lon': 6.6520431},
                           {'lat': 49.503527, 'lon': 6.6519942},
                           {'lat': 49.5024043, 'lon': 6.6519269},
                           {'lat': 49.5009856, 'lon': 6.6515154},
                           {'lat': 49.5001232, 'lon': 6.651034},
                           {'lat': 49.4981854, 'lon': 6.6504984},
                           {'lat': 49.4972511, 'lon': 6.6517765}],
              'ref': 463297161,
              'role': 'outer',
              'type': 'way',
              'used': 6842795},
             {'lat': 49.4755001,
              'lon': 6.6068888,
              'ref': 345215647,
              'role': 'admin_centre',
              'type': 'node'}],
 'tags': {'admin_level': '9',
          'boundary': 'administrative',
          'name': 'Besseringen',
          'type': 'boundary',
          'wikidata': 'Q830159',
          'wikipedia': 'de:Besseringen'},
 'type': 'relation'}
Failed to convert relation to shape {'bounds': {'maxlat': 49.544288,
            'maxlon': 6.5006209,
            'minlat': 49.4924045,
            'minlon': 6.4344263},
 'id': 6969002,
 'members': [{'geometry': [{'lat': 49.4941728, 'lon': 6.4586554},
                           {'lat': 49.4950143, 'lon': 6.4592984},
                           {'lat': 49.4956206, 'lon': 6.4603123},
                           {'lat': 49.4962861, 'lon': 6.45888},
                           {'lat': 49.4967042, 'lon': 6.4593574},
                           {'lat': 49.497286, 'lon': 6.4591536},
                           {'lat': 49.4971048, 'lon': 6.4588317},
                           {'lat': 49.4973766, 'lon': 6.4581933},
                           {'lat': 49.4977355, 'lon': 6.4586278},
                           {'lat': 49.499798, 'lon': 6.4557579},
                           {'lat': 49.5005784, 'lon': 6.453875},
                           {'lat': 49.5011602, 'lon': 6.4537409},
                           {'lat': 49.5027, 'lon': 6.4527377},
                           {'lat': 49.5040865, 'lon': 6.4517882},
                           {'lat': 49.5039332, 'lon': 6.4508226},
                           {'lat': 49.5029648, 'lon': 6.4494493},
                           {'lat': 49.5057099, 'lon': 6.4451256},
                           {'lat': 49.5048041, 'lon': 6.4443531},
                           {'lat': 49.5058701, 'lon': 6.4411881},
                           {'lat': 49.507563, 'lon': 6.44254},
                           {'lat': 49.5094092, 'lon': 6.4396432},
                           {'lat': 49.510078, 'lon': 6.4390316},
                           {'lat': 49.5117359, 'lon': 6.4395252},
                           {'lat': 49.5127391, 'lon': 6.439214},
                           {'lat': 49.5133381, 'lon': 6.4381733},
                           {'lat': 49.5138466, 'lon': 6.4355769},
                           {'lat': 49.5140234, 'lon': 6.4344263}],
              'ref': 474030677,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5140234, 'lon': 6.4344263},
                           {'lat': 49.5154967, 'lon': 6.4355904},
                           {'lat': 49.5153225, 'lon': 6.4362555},
                           {'lat': 49.5150125, 'lon': 6.4370602},
                           {'lat': 49.5164753, 'lon': 6.4382457},
                           {'lat': 49.5162663, 'lon': 6.4386159},
                           {'lat': 49.5159982, 'lon': 6.4395171},
                           {'lat': 49.5170117, 'lon': 6.4405149},
                           {'lat': 49.5170534, 'lon': 6.4403271},
                           {'lat': 49.5181609, 'lon': 6.4413732}],
              'ref': 474030669,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5230257, 'lon': 6.4472808},
                           {'lat': 49.5199643, 'lon': 6.4452707},
                           {'lat': 49.5188635, 'lon': 6.4445838},
                           {'lat': 49.5176446, 'lon': 6.4437041},
                           {'lat': 49.5181, 'lon': 6.4414993},
                           {'lat': 49.5181609, 'lon': 6.4413732}],
              'ref': 474030670,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5194358, 'lon': 6.4633154},
                           {'lat': 49.5206488, 'lon': 6.4574574},
                           {'lat': 49.5216875, 'lon': 6.4523275},
                           {'lat': 49.5230257, 'lon': 6.4472808}],
              'ref': 474030644,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5143573, 'lon': 6.4962083},
                           {'lat': 49.5147442, 'lon': 6.4966055},
                           {'lat': 49.5152689, 'lon': 6.4959031},
                           {'lat': 49.5156584, 'lon': 6.4964234},
                           {'lat': 49.5167113, 'lon': 6.4959922},
                           {'lat': 49.5189094, 'lon': 6.4949374},
                           {'lat': 49.5203093, 'lon': 6.4938254},
                           {'lat': 49.5212019, 'lon': 6.4929855},
                           {'lat': 49.5209006, 'lon': 6.4917755},
                           {'lat': 49.5204275, 'lon': 6.4903856},
                           {'lat': 49.5199469, 'lon': 6.4888304},
                           {'lat': 49.5197485, 'lon': 6.4871708},
                           {'lat': 49.5195426, 'lon': 6.4842803},
                           {'lat': 49.520603, 'lon': 6.4832752},
                           {'lat': 49.5213431, 'lon': 6.4839405},
                           {'lat': 49.5220716, 'lon': 6.4830293},
                           {'lat': 49.52198, 'lon': 6.4812794},
                           {'lat': 49.5201491, 'lon': 6.4796986},
                           {'lat': 49.5204734, 'lon': 6.4788864},
                           {'lat': 49.5207289, 'lon': 6.4769442},
                           {'lat': 49.5208624, 'lon': 6.4746514},
                           {'lat': 49.5208777, 'lon': 6.4719395},
                           {'lat': 49.5206145, 'lon': 6.4695797},
                           {'lat': 49.5200271, 'lon': 6.4683773},
                           {'lat': 49.5208548, 'lon': 6.4669326},
                           {'lat': 49.5214574, 'lon': 6.4656705},
                           {'lat': 49.5217283, 'lon': 6.4647935},
                           {'lat': 49.5194358, 'lon': 6.4633154}],
              'ref': 78230226,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5101992, 'lon': 6.4965237},
                           {'lat': 49.5109568, 'lon': 6.4967207},
                           {'lat': 49.5124324, 'lon': 6.4969456},
                           {'lat': 49.5143573, 'lon': 6.4962083}],
              'ref': 474030642,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5005842, 'lon': 6.4862364},
                           {'lat': 49.5013971, 'lon': 6.4892505},
                           {'lat': 49.5019082, 'lon': 6.4897527},
                           {'lat': 49.5028352, 'lon': 6.4909432},
                           {'lat': 49.5035294, 'lon': 6.4920405},
                           {'lat': 49.5042198, 'lon': 6.4928883},
                           {'lat': 49.5037468, 'lon': 6.4950256},
                           {'lat': 49.5033883, 'lon': 6.4970564},
                           {'lat': 49.5031746, 'lon': 6.4980262},
                           {'lat': 49.5045611, 'lon': 6.5006209},
                           {'lat': 49.5048652, 'lon': 6.5004504},
                           {'lat': 49.5056082, 'lon': 6.4998641},
                           {'lat': 49.5062326, 'lon': 6.4993973},
                           {'lat': 49.5070026, 'lon': 6.4984055},
                           {'lat': 49.5076581, 'lon': 6.497563},
                           {'lat': 49.5085174, 'lon': 6.497047},
                           {'lat': 49.5091403, 'lon': 6.4966791},
                           {'lat': 49.5101992, 'lon': 6.4965237}],
              'ref': 474030712,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5005842, 'lon': 6.4862364},
                           {'lat': 49.4924045, 'lon': 6.4587305},
                           {'lat': 49.4933993, 'lon': 6.458886},
                           {'lat': 49.4940335, 'lon': 6.4592079},
                           {'lat': 49.4941728, 'lon': 6.4586554}],
              'ref': 474030678,
              'role': 'outer',
              'type': 'way',
              'used': 6969002},
             {'geometry': [{'lat': 49.5278346, 'lon': 6.4489493},
                           {'lat': 49.5309596, 'lon': 6.4509112},
                           {'lat': 49.5339468, 'lon': 6.4532715},
                           {'lat': 49.5354299, 'lon': 6.4513403},
                           {'lat': 49.5380896, 'lon': 6.4556319},
GiorgioBaldelli commented 2 years ago

I have a specific example of an osm file that I'm encountering errors with if if that helps: besseringen.txt

rapkin commented 2 years ago

Hi. I tested your example (besseringen.txt) and looks like no problem. image

Maybe I can find problem when you provide full example of your code and query/data.