Maksim
Я вот эти полигоны никак не вкурю...
По сути это всё тот же полигон с "внутрью" и "наружей", но составляющие его замкнутые линии ("кольца") могут быть не цельными, а состоять из отдельных дополняющих друг друга кусков. Внутри внешней границы могут быть внутренние - они обрисовывают внутренние дырки. С геометрической точки зрения, всё что находится внутри таких дырок, для мультиполигона тоже "наружа", т.е. область, не относящаяся к мультиполигону. Обращаю внимание, что внутренние замкнутые линии, так же как и внешние, могут быть не цельными, а состоять из отдельных частей. Нужно только, чтобы в совокупности и внешние и внутренние линии получались замкнутыми, иначе мультиполигон считается повреждённым, может некорректно обрисовываться и для него оказывается непонятно "где внутрь, а где наружа". Ну и кроме того, замкнутых внешних границ тоже может быть несколько, что даёт нам возможность создавать единый объект из нескольких не соединяющихся территорий (такое использование встречается реже, чем дырки, но тоже бывает).
Самое важное здесь - это дырки. Не существует никаких других способов описать средствами OSM геометрические объекты с дырками. Тогда как задача - весьма востребованная. Примеров много.
Лес, а внутри поляна? Лес это мультиполигон, а поляна это дырка. Это простой пример.
Болото, а посередине озеро? Болото это мультиполигон, а озеро это дырка. Дырка в объекте "болото" и при этом совершенно самостоятельный объект "озеро". Для болота озеро - это "наружа", озеро не часть болота и поэтому кувшинками поверх не заштриховывается.
Это что касается дырок.
Теперь что касается составных границ. Тут концепция менее очевидная. Предположим, у нас есть две территории, скажем, населёнка и промзона, отделённые друг от друга забором. Можно нарисовать это тремя отдельными объектами - полигоном населёнки, полигоном промзоны и разделяющей их линией забора. Получается, что мы должны будем нарисовать забор, а потом поверх него нарисовать полигон населёнки, а потом ещё полигон промзоны. Получается, что у нас по забору идут, дублируясь, три разные линии. Линия забора, линия промзоны и линия населёнки. Концепция составных границ (она ещё называется концепцией лоскутного зонирования) предлагает не дублировать линии, а вместо это нарисовать одну единственную линию общей границы. Потом для промзоны и населёнки отдельно нарисовать собственные участки границы. А потом собрать два мультиполигона, для каждого использовать собственный участок и общий участок границы, дающие в совокупности замкнутую линию. Три линии, две площади. Одна линия общая на обе территории. Если в будущем это понадобится, мы можем её поправить и это отразится на обеих территориях. Кроме того, непосредственно на эту линию (входящую сразу в два мультиполигона) можно повесить тэг забора. Общий участок границы - это отдельная линия, и она включается в обе территории, которые она отграничивает.
Тут есть и плюсы и минусы. Если ты овладел сборкой/пересборкой мультиполигонов из составляющих их границ, то твоя жизнь сильно упрощается. А вот если не овладел, то наткнувшись на такой участок, очень велик риск всё порушить. Мне реально встречались мультиполигоны гигантских участков леса, граничащие дофига с чем - с болотами, лугами, населёнкой, озёрами, другими участками леса и т.п., состоявшие из сотни фрагментов с гаком. Такого монстра даже опытному маперу редактировать сложно, а уж если не владеешь инструментом - что-нибудь повредишь гарантированно. В результате получаются участки, куда начинающих картографов допускать нельзя, а это плохо и нарушает концепцию "любой участник при соблюдении правил может исправить что угодно".