RU:Примеры мультиполигонов
На этой странице есть несколько примеров отношения мультиполигон, иллюстрирующих его использование.
Примеры для картографов: Шаг за шагом от простого к сложному
В этом разделе показаны примеры создания мультиполигонов от простых до сложных конструкций.
Обозначения принятые в описании примеров:
Отношение Теги отношения ... Члены отношения >Новые члены отношения ... |
Лес (Одна замкнутая линия)
Замкнутая линия 1 отмечается landuse=forest означающим лес A. Тегирование замкнутых линий меткам площадных объектов даёт полигоны. Этот способ применим к простым площадным объектам состоящим из одной линии и не имеющим отверстий. Это же можно сделать и мультиполигоном, но он будет содержать только одного участника. |
Лес с озером (Одно внешнее и одно внутреннее кольца)
Замкнутую линию 2 добавили во внутрь леса и отметили natural=water означающую озеро B. Замкнутая линия 1 теперь не имеет меток так как она не описывает всё что в ней находится одним тегом. Лес А который можно отметить landuse=forest теперь зелёное кольцо: территория извечная линией 1 за вычетом озера В.
Мультиполигон A описывающий такой вариант. Отношение A: type=multipolygon landuse=forest outer 1 inner 2 |
Лес с двумя озёрами (Одно внешнее и два внутренних кольца)
Замкнутую линию 3 добавили в лес А и отметили natural=water означающую озеро C. Лес A отмеченный landuse=forest уже не полигон. Теперь это территория отмеченная линий 1 за вычетом озёр В и С.
inner 3 добавили к мультиполигону А: Отношение A: type=multipolygon landuse=forest outer 1 inner 2 >inner 3 |
Лес с двумя озёрами и островом (Вложенные мультиполигоны)
Замкнутая линия 4 встроена в озеро В и отмечена natural=scrub означающее остров D.
Лес A и его мультиполигон A остаются без изменений: Отношение A: type=multipolygon landuse=forest outer 1 inner 2 inner 3 Замкнутая линия 2 теперь без тегов потому что теперь нельзя описать одним тегом её содержание. Озеро В ранее отмеченное как natural=water теперь стало голубым кольцом территорией охваченной линией 2 за вычетом острова D. Это описывается вторым мультиполигоном B: Отношение B: type=multipolygon natural=water outer 2 inner 4 |
Лес с двумя озёрами и островом, граница и дорога (Несколько линий образующих вложенный мультиполигон)
Линия 1 бывшая границей леса А теперь разбита на несколько: линии 5, 6, 7 и 8 добавлены и отмечены как boundary=administrative. Похожим образом добавлены линии 9,10 и 11 с тегом highway=unclassified.
Линия 2 бывшая границей озера В также разбита. Добавлены линии 12, 13, 14 и 15 отмеченные как highway=track. Для линий 5 и 15 теги остаются без изменений вне зависимости от членства в мультиполигоне потому что они не площадные объекты. Оставшаяся линия 1 и линии 6 и 10 теперь являются границей леса А. outer 6, outer 10 и inner 13 добавлены в мультиполигон А: Отношение A: type=multipolygon landuse=forest outer 1 >outer 6 >outer 10 inner 2 >inner 13 inner 3 Линии 2 и 13 формируют границу озера В. outer 13 добавлен к мультиполигону В: Отношение B: type=multipolygon natural=water outer 2 >outer 13 inner 4 |
Пояснения:
- Когда дороги выбраны в качестве границы полигона, то она проходит не по центру, а по краю дороги.
- Некоторые люди используют дороги как границы, а кто-то предпочитает рисовать их отдельно. Иногда используют оба способа в зависимости от ситуации.
- Эта последовательность была начата с полигонов, на практике лучше сразу начинать с линейных объектов, таких как дороги, для создания мультиполигонов.
Поле, прилегающее к лесу и ферма, прилегающая к озеру (Прилегающие мультиполигоны и прилегающие внутренние полигоны)
Линия 1 снова разбита на короткий участок и новую линию 16 с тегом barrier=fence. Линия 17 отмечена barrier=fence. Линия 18 добавлена без тегов. Линии 7, 16, 17 и 18 образуют границу поля E примыкающего к лесу A. Они соприкасаются линией 16. Замкнутая линия 19 создана путем добавления двух точек на линию 7 и нарисована по ним поверх линии 7. Линия 19 отмечена landuse=farmyard обозначая ферму G. Замкнутая линия 20 нарисована в том числе по двум верхним точкам линии 19 дублирующей линией по границе фермы G. Линия 20 отмечена natural=water означая озеро F.
outer 16 добавлен в мультиполигон A: Отношение A: type=multipolygon landuse=forest outer 1 >outer 16 outer 6 outer 10 inner 2 inner 13 inner 3 Мультиполигон B остался без изменений: Отношение B: type=multipolygon natural=water outer 2 outer 13 inner 4 Ферма E описана новым мультиполигоном E: Отношение E: type=multipolygon landuse=farmland outer 7 outer 16 outer 17 outer 18 inner 19 inner 20 |
Пояснения:
- Дублирование линий, т.е. одна поверх другой, является приемлемым, а дублирование точек - нет.
- Дублирование линий можно избежать используя мультиполигоны. Но в данном случае мы ещё больше бы усложнили это случай.
Три разделённых поля (Разобщенные внешние кольца)
Линия 21 добавлена без тегов. Линия 22 добавлена с тегом barrier=fence. Линии 21 и 22 образуют поле E2 которые отделены от поля E, но являются его частью.
Линия 23 добавлена без тегов. Линия 24 отмечена тегом barrier=fence. Линии 23 и 24 образуют поле E3 отделено, но принадлежит полю E. Замкнутая линия 25 добавлена вовнутрь поля E3 и отмечена natural=water как озеро H. Мультиполигон A остался неизменным: Отношение A: type=multipolygon landuse=forest outer 1 outer 16 outer 6 outer 10 inner 2 inner 13 inner 3 Мультиполигон B остался неизменным: Отношение B: type=multipolygon natural=water outer 2 outer 13 inner 4 outer 21, outer 22, outer 23, outer 24 и inner 25 добавлены к мультиполигону E: Отношение E: type=multipolygon landuse=farmland outer 7 outer 16 outer 17 outer 18 inner 19 inner 20 >outer 21 >outer 22 >outer 23 >outer 24 >inner 25 |
Примеры для картографов на основе реальных мест
Луг с полем с двумя кусками леса с кустарником (Вложенные полигоны на четыре уровня)
Правило: Для вложенных на несколько уровней полигонов надёжнее всего
- отмечать самую вложенную замкнутую линию как площадной объект; и
- отмечать другие замкнутые линии только как обычные линии, а не площадные объекты; и
- использовать несколько мультиполигонов описывающих два смежных уровня.
Этот пример создан на основе дискуссии Verschachtelte Multipolygone немецкого форума.
Замкнутые линии 1 и 2 охватывают полигоны с отверстиями. Это требует создание мультиполигонов из линий без тегов а не площадных объектов. Линии 3 и 4, а так же 5 и 6, являются линиями образующими площадные объекты. Требуется создание мультиполигонов. Линии 3 и 6 отмечены собственными тегами, а 4 и 5 не объекты и потому не имеют тегов. Замкнутая линия 7 не имеет отверстий и её можно отметить как площадной объект и для неё не нужно создавать мультиполигон.
Мультиполигон A описывает луг A, мультиполигон B - поле B, мультиполигон C - лес C и мультиполигон D - лес D: Отношение A: type=multipolygon landuse=meadow outer 1 inner 2 Отношение B: type=multipolygon landuse=farmland outer 2 inner 3 inner 4 inner 5 inner 6 Отношение C: type=multipolygon landuse=forest outer 3 outer 4 Отношение D: type=multipolygon landuse=forest outer 5 outer 6 inner 7 |
Лес с тремя типами деревьев
Этот пример создан на основе обсуждения Multipolygone, z.B. See oder Gebäude in Waldfläche на немецком форуме. Он демонстрирует как можно обойти текущие недостатки средств визуализации при этом пометив в соответствии с реальностью . Не рисуйте под рендер.
Теория:
Большой смешанный лес с тремя участками - хвойный, лиственный и смешанный. В теории можно описать отношением A. Но рендеры и JOSM не отображают его правильно. Замкнутые линии 1,2,3 и 4 отмечены как показано на рисунке. Линия 1 отмечена "Big forest" (название для примера). Название леса это не описание состава леса или его размера, а именно название, принятое в данной местности.
Отношение A: type=multipolygon landuse=forest wood=mixed outer 1 inner 2 inner 3 inner 4 |
Практика:
Следующий пример тоже корректен, но использует четыре мультиполигона для того чтобы обойти особенности рендера. Линия 1 и отношение А остались без изменений. Теги с линий 2,3 и 4 перенесены на соответствующие новые отношения B, C, D.
Отношение A: type=multipolygon landuse=forest wood=mixed outer 1 inner 2 inner 3 inner 4 Отношение B: type=multipolygon landuse=forest wood=coniferious name=Coniferous outer 2 Отношение C: type=multipolygon landuse=forest wood=deciduous name=Deciduous outer 3 Отношение D: type=multipolygon landuse=forest wood=mixed name=Mixed outer 4 |