Этот блог создан для правильного понимания и составления контуров, которые имеют «дырки». В технической терминологии «дырки» в участке называются внутренними контурами, а сам участок — внешним контуром. Внутренние контура могут быть следствием наличия на участке столбов электропередач, стороннего землепользователя или землевладельца, болота, водохранилища, озера, лесов и т.д. Площадь внутреннего контура не должна входить в площадь всего участка и внутренние контура никогда не должны выходить за границу внешнего контура. Например, имеем участок, на котором стоит трансформаторная будка.
Контур, обведён бирюзовым цветом — это внешний контур, это наш участок, и его площадь составляет 0,1216 га. Контур, обведён жёлтым цветом — это внутренний контур, это трансформаторная будка, и её площадь составляет 0,0063 га.
Общая площадь участка Sобщ. вычисляется согласно формуле:
Sобщ. = Sв.к. - ∑Sвн.к.
где Sв.к. — площадь внешнего контура,
∑Sвн.к. — сумма площадей внутренних контуров.
Согласно нашему примеру, общая площадь участка будет:
0,1216 - 0,0063 = 0,1153 га
Если учесть, что площадь участка, на практике, не может быть отрицательной, сумма площадей всех внутренних контуров не может превышать площади внешнего контура, а значит, внутренние контура не могут выходить за границу внешнего, а также пересекаться между собой.
Что же такое привязка и вырезка? Это всего лишь два разных способа описать внутренние контура, если они есть на участке.
Возьмём наш предшествующий пример участка и опишем его двумя способами.
Привязка
Это такой способ описания внутренних контуров, когда и внешний и внутренние контура являются одним единым контуром и имеют место «склейки» (оно ещё называется «усиком»). Представте себе, что у Вас стоит задача: из бумаги ножницами вырезать свой участок, но вырезать не отрывая ножниц.
Способ построения координат таков: сначала мы идём по внешнему контуру участка (точки 1-2-3), потом, в любом выбранном месте, входим внутрь участка (точки 3-4) и начинаем построение внутреннего контура в противоположную сторону (точки 4-5-6-7-8), возвращаемся к внешней границе участка (точки 8-9, обратите внимания, что это всё те же координаты 4 и 3, только задублированные) и продолжаем описывать внешний контур до конца (точки 9-10-1).
Данный способ использовался в старых программах, которые «не знали» что такое внутренние контура и должны были работать только с одним контуром. Так же он использовался некоторыми пользователями в файлах формата IN4, так как там все координаты шли в столбик по порядку.
01 115.37 98.49
02 122.60 153.05
03 101.45 157.46
04 102.72 139.39 -----------------
05 109.57 138.28
06 108.23 129.30 внутренний контур
07 101.34 130.63
08 102.72 139.39 -----------------
09 101.45 157.46
10 93.16 103.08
01 115.37 98.49
Как видим, наличие «усика» является обязательным условием данного способа. Без него нельзя создать внутренний контур, также, этот усик нельзя скрыть, потому что для программы он является одной из сторон контура. Собственно, потому такой способ и назван «привязкой», когда внутренние контура как бы привязаны к внешнему. Потому вопрос: а как сделать привязку, чтобы не видно было «усика», звучит использовать другой метод построения «вырезка».
Способ привязки не только выглядит не эстетично, он ещё и создаёт много дополнительных проблем как для разработчиков программного обеспечения, так и для понимания рядовыми пользователями. Не все программы корректно работают с ним, а те что работают, могут накладывать дополнительные правила и требования. Так, создав участок с привязкой правильно для одной программы, может быть не правильно для другой. Также, довольно сложно вносить коррективы в расположение внутренних контуров или добавлении новых.
Рассмотрим требования к привязкам и возможные варианты:
Чем больше в вашем участке внутренних контуров, тем больше вариантов создания привязок и тем проще запутаться. На примере показаны два варианта создания привязок для участка с двумя внутренними контурами.
К счастью, от этого способа уже отказались и он остаётся лишь как пережиток прошлого, хотя некоторые всё же продолжают по привычке так делать. Также, его Вы можете встретить в некоторых файлах IN4. Если Вам попался такой обменный файл, необходимо привязки переделать в вырезки. В программе GIS 6 для этого есть отдельные функции.
Вырезка
Это такой способ описания внутренних контуров, когда они идут как отдельные объекты, но объединены в группу и имеют разное направление координат: внешний контур — одно, внутренние — другое.
По стандарту принято создавать контура так, чтобы внешний контур был по часовой стрелке, а внутренние — против. Это главное условие изображения вырезок. Контура связаны друг с другом условно, жёсткой связи, как в привязок нету, потому их можно легко добавлять или корректировать.
Такой способ достаточно простой в понимании и создавать подобные объекты проще: сначала мы строим внешний контур (точки 1-2-3-4-1), а потом строим внутренний контур (точки 5-6-7-8-5). Если на участке несколько внутренних контуров, то порядок очерёдности их описания роли не играет.
Этот способ является более предпочтительным, для него вносится меньше координат, выглядит эстетичней и он же и используется в XML-файлах (хотя в них можно и привязку внести). В XML внешний контур записывается в блоке Externals, а внутренний в блоке Internals. В общем виде это выглядит так:
<Externals>
<P>1</P>
<P>2</P>
<P>3</P>
<P>4</P>
<Internals> --------------------
<P>5</P>
<P>6</P> Внутренний
<P>7</P> контур
<P>8</P>
</Internals> --------------------
</Externals>
При данном способе, общая площадь подсчитывается просто: всё, что по часовой стрелке, суммируется, а всё что против часовой стрелки — вычитается. Но это правило и заставляет быть внимательным с направлением координат! Если Вы случайно нарисуете одну «дырку» против часовой стрелки, а вторую — по часовой, то площадь этой «дырки» суммируется с площадью участка, что не будет ошибкой для программы, но это уже будет не правильной площадью участка!
Запомните! Всегда внешние контура рисуйте по часовой стрелке, а внутренние — против.
Для наглядной разницы между привязками и вырезками, заштрихуем объекты:
Программа GIS 6 позволяет работать что с привязками, что вырезками, а также конвертировать из одного метода в другой, но предпочтительней все же использовать вырезки.