С outer вроде всё более-менее понятно. Внешняя граница одна так что нужно просто сцепить все way-и с role=outer и получим внешний полигон.
Не особо понятно, как тогда получить внутренние контуры (дырки). Т.е. есть, к примеру, есть набор линий. Они могут относиться к разным дыркам. Алгоритм определения контуров дырок получаеся слишком уж заумный, либо я что-то не так понял в вашем ответе
Что-то я не могу вообразить полигон с двумя внешними контурами. Хотя, это же мультиполигон. Сначало все линии нужно рассортировать по контурам. Потом по контурам создать полигоны. А потом ещё рассортировать дырки по внешним границам?
Ага. Единственно, что утешает, так это что, то дырки из внешних контуров вылазить не должны. Да и внешние контуры не должны пересекаться (и касаться).
Но могут встретиться , равно как и незамкнутые контуры — ошибки в данных. Их надо или пропускать, или отказываться с ними работать.
Спасибо, но я не то имел в виду ))
Попробую уточнить - нужен пример на карте, где физическая сущность обозначена мультиполигоном, у которого есть несколько внешних замкнутых “колец”.