Топологическая ошибка это

Работа по теме: Лекции введение в ПД Христодуло О.И. Глава: Основные модели гис-растровая и векторная.. ВУЗ: УГАТУ.

Основные модели гис-растровая и векторная.

В ГИС
происходит дискретизация
преобразование реального географического
разнообразия в набор дискретных объектов.

Растровая модель данных

Векторная модель данных

  • Цифровое
    представление неприродных
    последовательностей реального мира
    в виде набора дискретных двумерных
    объектов- пикселов.

(Аналогия- представление
изображений в компьютерной графике)

  • Цифровое представление дискретных
    пространственных объектов реального
    мира в виде набора дискретных объектов-
    точек, линий, полигонов.

  • Дискретные объекты-
    пространственные ячейки заданного
    размера- пикселы (pixel).
    Место нахождения записывается парами
    координат.

Разрешение- минимальная
линейная размерность географического
пространства, для которой могут быть
приведены данные(размер пикселов)

  • Дискретные объекты-
    точки, линии, полигоны.

Местоположение и
«геометрия» объекта записываются
парами координат

Топология.

Топология изучает пространственные
отношения, которые не изменяются при
любых непрерывных преобразованиях
пространства.

Пространственные отношения— это
такие отношения, с помощью которых
описывают пространственные взаимодействия
объектов (например: находиться
близко/далеко, соприкасаться, находиться).

Свойства топологии.

  • Топология
    регулирует пространственные отношения
    связности и соседства векторных
    объектов(точек, линий и полигонов) в
    ГИС.

  • Топологические
    данные полезны для обнаружения и
    исправления ошибок оцифровки (например:
    две линии дороги не пересекаются на
    перекрестке).

  • Корректная
    топология необходима для проведения
    некоторых типов пространственного
    анализа (таких как сетевой анализ).

Топологические ошибки.

Топологические ошибки с линейными
объектами: конечные вершины не совпадают
в местах, где должны. Подобные ошибки
называются «недолётами» (если разрыв)
или «перелётами» (если пересекаются
линии и заканчиваются чуть дальше).

two merging arrows

Было предложено чтобы эта статья или её часть были совмещены с [[{{{1}}}]]. (Обсудить)

Всё написанное относится только к территории Российской Федерации.

Прежде всего обратите внимание, что ошибка в валидаторе — не обязательно ошибка на карте. В этот статье рассматриваются только ошибки по всеобъемлющему валидатору ОКТМО. Были использованы личный опыт, архив темы на форуме и справка валидатора. Построены разделы одинаково: возможные источники проблем — иллюстрации для них — пути решения.

Как всё должно быть

Прежде чем решать ошибки, нужно твёрдо запомнить, как всё должно быть нарисовано в идеале.

Матрёшка

Наша страна состоит из почти сотни регионов (большей частью, областей), каждый из которых делится на пару десятков районов и городских округов (ЗАТО — тоже городские округа), каждый из которых делится на десяток сельских и городских поселений. В каждом поселении находится пара десятков населённых пунктов, преимущественно деревень. Крупные города (точнее, городские округа) могут состоять из нескольких административных районов, а в Москве и Санкт-Петербурге те делятся ещё и на подрайоны. Кроме того, в городах есть (официальные или не очень) именованные территории, не совпадающие с районами: следствие включения в городскую черту окрестных деревень.

Admin level.svg

Административное деление и города существуют параллельно: так, городская черта может не совпадать с границей городского округа, а «именованные территории» плохо соотносятся с административными районами города.

Теги

Административные границы

Административные границы рисуются правильными мультиполигонами type=boundary, boundary=administrative (известными также под термином «отношения») границ. В каждом отношении должны быть только линии с ролями outer и inner, образующие целое количество замкнутых контуров, и точки с ролями admin_centre (административный центр) и label (место, где писать название административной единицы). Кроме того, можно включить отношения административных единиц низшего уровня, входящих в рисуемую, с ролью subarea.

У отношения также должен быть проставлены тег admin_level=* со значением, соответствующим уровню административной границы, и тег name=название административной единицы. Статус («муниципальный район», «область») может быть записан в тег official_status=*.

На линии границ, входящих в отношения границ и не являющимися самостоятельными объектами (реками, дорогами и т.п.), принято ставить теги boundary=administrative и admin_level=n, где n — минимальное значение admin_level от всех отношений, содержащий эту линию.

Населённые пункты

Для населённого пункта обязательно наличие точки place=* с названием name=*. Также при возможности стоит нарисовать границу пункта замкнутой линией или правильным мультиполигоном с теми же тегами и теми же значениями. Тег place_name вместо name уже не стоит использовать: когда-то это быль «костыль» для рендереров, чтобы название не рисовалось дважды, но сейчас проблему исправили. Чтобы в навигаторе Garmin работал поиск по улицам населённого пункта, желательно на контур также поставить теги addr:country=RU, addr:region=название области и addr:district=название района. Для точки же желательно узнать и проставить количество жителей в population=* (в некоторых приложениях от него зависит стиль надписи).

Территории внутри населённых пунктов обозначаются тегом place=suburb. Контур для них не обязателен и часто не рисуется.

Топология

  • Никакие границы не должны пересекаться.
  • Если внутри района находится городской округ, то все линии границы округа с ролями outer должны входить в границу этого района с ролями inner (следствие предыдущего).
  • Мультиполигоны границ не должны содержать соприкасающиеся замкнутые контуры.
  • Административная граница с admin_level=n может содержать внутри себя только границы с admin_level=m, где m строго больше n.
  • Внутри границы населённого пункта могут находится точки place только со значением suburb (и точка самого пункта, разумеется).
  • Административные районы города находятся внутри административной границы городского округа, а не внутри населённого пункта (следствие параллельности существования).

Источники

Границы МР и ГО (admin_level=6), а также городских и сельских поселений в составе МР (admin_level=8), устанавливаются областным законом. Там же, как правило перечислены населенные пункты входящие в состав муниципального образования (отсюда). При этом часто границы описаны в формате «от ручья десять шагов на север, далее по условной линии триста метров до одинокой берёзы», что абсолютно для нас бесполезно. Поэтому единственный заслуживающий доверия глобальный источник границ МР и ГО — WMS публичной кадастровой карты, при этом только в областях, которые прислали кадастровые планы (список).

Сельские и городские поселения тоже можно срисовывать с кадастра, но есть одна хитрость. Дело в том, что границ поселений в кадастре нет, только границы кадастровых кварталов. Другое дело, что кварталы входят в поселения целиком, поэтому нужно определить, что чему принадлежит. Для этого нужно найти хотя бы примерные схемы поселений (часто они есть в википедии или по ссылкам из неё).

Иногда (как в Воронежской области) можно найти государственную ГИС с границами. Если её не подключить как WMS, можно срисовывать со скриншотов. При этом стоит подключить и привязать спутниковые снимки: границы кварталов обычно очень легко читаются на местности: как канавы или по-разному засеянные поля.

Границы населённых пунктов почти всегда есть в генеральном плане или схеме территориального планирования (поискать её можно, например, в этой таблице).

Рутина

При исправлении ошибок используется несколько методик, применение которых хоть и зависит от сути ошибки, но в целом остаётся одинаковым. Со временем эти действия станут почти автоматическими.

Преобразование в мультиполигон

Если от полигона требуется какая-то его часть, то его нужно сделать мультиполигоном. При этом все теги нужно будет переместить с линии на отношение мультиполигона, чтобы не было коллизий. Разумеется, теги, касающиеся границы полигона как линейного объекта, можно оставить.

Порядок действий такой: выделить линию границы, Ctrl+C, «инструменты -> создать мультиполигон» (рекомендуется вынести кнопку на панель), удалить лишние теги с линии, правую кнопку мыши на отношении под списком тегов, «выбрать отношение» (или даблклик на этом отношении в панели отношений), Ctrl+Shift+V для вставки тегов, удалить лишние теги с отношения.

Граница населённого пункта

Очень часто на границу НП ставят теги boundary=administrative, admin_level=*. Более того, автор встречал даже type=boundary и boundary_type=city. Все эти теги нужно безжалостно удалять с деревень и посёлков. Однако может быть случай, когда граница населённого пункта и административная граница совпадают. Тогда порядок действий один: превратить границу населённого пункта в мультиполигон, удалить с линии только вышеперечисленные теги, у мультиполигона оставить теги boundary, admin_level, name и поменять значение type на boundary. Таким образом, граница населённого пункта и административная граница представляются разными объектами, и позволяют независимую обработку.

Замыкание границы

Действия новичков почти всегда приводят к слому границы. Это может быть совершенная глупость, вроде разъединения линий без подгрузки отношений на них, в результате чего исчезает часть границы. А может быть кропотливая работа по созданию новых замкнутых полигонов и замыканию старых, от чего линии в отношении внезапно превращаются в замкнутые многоугольники.

В зависимости от размера границы потребуется терпение. Нужно загрузить всех участников отношения границы, выделить их, загрузить остальные отношения, в которых они участвуют. Восстанавливать, скорее всего, потребуется не одно, а сразу несколько отношений: например, административную границу и мультиполигон place. Порядок действия один и тот же:

  • открыть редактор отношения, нажать кнопку сортировки;
  • найти и приблизить разрыв;
  • выделить всех участников отношения и определить на глаз, как должна идти граница;
    • если не хватает уже нарисованной линии, добавить эту линию;
    • если не хватает части нарисованной линии, загрузить отношения, содержащие эту линию, затем разбить её в нужных точках и добавить в отношение границы;
    • если не хватает стороны существующего полигона, загрузить отношения с этим полигоном, создать из полигона мультиполигон и переместить на него все теги с полигона, добавить нужную часть в отношение границы;
    • если линий для дополнения границы нет, проверить WMS кадастра: возможно, эти линии можно нарисовать;
    • если нет даже предположения о правильной конфигурации, написать сообщение автору правки, сломавшей границы, и, если таковой есть, «хранителю» района, где произошла ошибка;
  • в редакторе отношения отсортировать линии и перейти к следующему разрыву.

Со временем все приграничные полигоны превратятся в мультиполигоны, а сломанные отношения починятся.

S-GNS: Импорт GNS Icon error s gns.png

Координаты населённого пункта совпадают с координатами любого НП в базе GNS. Чаще всего это означает, что точка скопирована из базы как есть и стоит в паре сотен метров от правильного положения.

Проверить, что пункт существует. Проверить, что его название верно. Найти населённый пункт на спутниковом снимке или в других разрешённых к использованию источниках и переместить точку в его центр. Центр чаще всего определяется через центральную площадь, здание администрации или почтовое отделение — хотя геометрический центр тоже допустимый вариант.

S-LAT-MIX: Смесь латиницы и кириллицы

Среди букв названия населённого пункта (name=* или place_name=*) затесалась латинская, маскирующаяся под русскую. Например, «Торжоk» вместо «Торжок». Встречается в данных GNS, откуда и проникает на карту. Часто является причиной S-WITHIN, когда названия на точке и на контуре не совпадают.

Найти и уничтожить: выучить название и перенабрать от руки, либо скопипастить с валидатора. Проверить, что названия на точке и контуре (если есть) совпадают.

Название населённого пункта написано на национальном языке, включающем латинские буквы.

Во-первых, «полагается на территории РФ писать в name название на русском языке. А национальные названия — уже в собственные языковые теги» (liosha). Во-вторых, часто это не латинские буквы, а кириллические.

S-STATUS: Странный статус Icon error s status.png

Значение place для населённого пункта абсолютно не соответствует его официальному статусу. Чаще всего это hamlet для посёлков городского типа и городов (возникает от массового импорта GNS), либо city для деревень.

Село Воздвиженье отмечено как city

Проверить статус и административный уровень в валидаторе, проверить население в википедии. Поставить правильное значение для place, руководствуясь таблицей. Если есть связанный объект (контур для точки и наоборот), убедиться, что значения place на них совпадают.

S-WITHIN: Вложенные НП Icon error s within.png

Несколько вариантов. Первый: названия населённого пункта на точке и контуре различаются. Чаще всего из-за опечатки, но бывает, что они совершенно разные (результат копипасты).

«воздвиженье» и «село Воздвижене» — оба названия ошибочны

Определить верное название пункта, поправить теги name и place_name на точке и контуре, чтобы они совпадали. Заодно проверить равенство значений тега place.

Контуры place для нескольких деревень объединены в один: кто-то решил, что это как residential, главное — чтобы закрашивалось.

Yav-s-within-two.jpg

Разбить контур на несколько, по одному для каждого населённого пункта. Скопировать названия и значения place с точек на соответствующие контуры.

Деревня внутри городской черты.

Yav-s-within-town.gif

Определить реальный статус деревни, через валидатор и википедию. Может быть три варианта:

  • это район города, когда-то бывший деревней, но поглощённый городом (или не бывший) — поставить place=suburb, не забыть про контур;
  • это деревня, на которую случайно наехал контур города, нарисованный на глаз — подвинуть точку деревни и/или точки линии place города (сверяясь по спутниковым снимкам), чтобы исключить одно из другого;
  • это деревня в городском округе, но не в городе — сверяясь по спутниковому снимку, подвинуть точку деревни и/или линию place города. Убедиться, что на линии place не висит отношения boundary=administrative, и если висит, то разъединить сущности: создать отношение мультиполигона, перевесить все теги с линии на него, провести границу мультиполигона так, чтобы не включить деревню. Отношение boundary оставить на своём месте (можно проверить по WMS кадастра).

S-OVERLAP: Пересечение НП Icon error s overlap.png

Более общий случай вложенных НП: нарисованы границы обоих населённых пунктов, и они пересекаются. Такое бывает в двух случаях. Иногда это просто рисование на глаз и случайный заскок точек.

Yav-s-overlap-simple.gif

Сверяясь со спутниковой фотографией, расцепить границы. Возможно, сделать их соприкасающимися (хотя при рисовании на глаз в этом нет практического смысла). Прочитать комментарии на линиях, постараться определить источник границ: возможно, они соприкасаются на практике (граничный знак одного населённого пункта совмещён с граничным знаком другого).

Часто некая деревня находится рядом с городом, и её нарисованный на глаз периметр касается срисованной с генплана достаточно точной городской границы.

Yav-s-overlap-complex.gif

Проверить по валидатору и википедии, находится ли деревня за пределами города и городского округа. Действовать так же, как при решении аналогичного S-WITHIN, только дополнительно двигая линию границы. Постараться не изменять границу большего населённого пункта. Возможно, потребуется превратить обе границы в мультиполигоны.

SB-OVERLAP: Пересечение границы и НП Icon error sb overlap.png

Чаще всего, граница деревни или посёлка, нарисованная на глаз, пересекла административную границу, нарисованную по неточному кадастру или срисованную с бумаги.

Yav-sb-overlap-adm.gif

Добавить точек линии административной границы, либо минимально сдвинуть существующие, чтобы граница огибала населённый пункт.

Или наоборот, административная граница нарисована достаточно точно (это можно понять по тегам и проверке кадастра), а маппер, рисовавший границу населённого пункта, захватил лишнего.

Yav-sb-overlap-place.gif

Сжать границу населённого пункта, чтобы она вписывалась в административную единицу. Проверить спутниковый снимок: если видно, что пункт стоит прямо совсем на краю, превратить его границу в мультиполигон и приклеить к административной границе.

Иногда у города мультиполигон place выходит за пределы отношения границы: например, включает некий анклав.

Yav-sb-overlap-enclave.gif

Нужно проверить правильность границы городского округа (например, по кадастру) и в зависимости от решения либо расширить её, либо обрезать границу населённого пункта, чтобы она вписывалась в административную границу.

Бывает, что граница города рисовалась на глаз безотносительно административной границы его же городского округа, и хотя почти везде первая не вылезает за вторую, нашлась пара точек, где пригород касается административной границы, и городская черта, нарисованная с допуском, вылезла за неё.

Yav-sb-overlap.gif

Создать мультиполигон, перенести на него теги с линии городской черты, добавить в него части отношения административной границы, напоминающие старую границу города. Удалить старую границу.

B-OVERLAP: Пересечение границ Icon error b overlap.png

Обычное пересечение границ: какая-то часть выходит за часть другой границы.

Граница ГО пересекает границу между двумя районами: всего 4 ошибки B-OVERLAP

Проверить источники: возможно, какая-то из границ нарисована неточно, и её можно исправить, уточнив. Возможно, одна из административных границ не является таковой: проверить по валидатору и википедии. Если, как в случае на иллюстрации, одна граница нарисована на глаз, подвинуть её минимально, чтобы устранить пересечение. Иначе можно склеить границы в месте пересечения, уменьшив ту, в корректности которой больше сомнений.

B-CAP-NS: Центр — не населённый пункт

В роли admin_centre отношения границы добавлена не точка place=*, а какой-то другой объект.

Yav-b-cap-1.gif

Определить, что является центром административной единицы, обозначаемой отношением. Найти точку центра и добавить в роли admin_centre в отношение. Убрать неправильного участника отношения.

B-BAD-LEVEL: Неверный уровень границы

Внутри границы с admin_level=n находится другая граница со значением *, большим или равным n. Частый случай — городской округ находится внутри муниципального района.

В процессе исправления линия границы ГО добавлена в отношение границы района с ролью inner

Проверить по валидатору и википедии, что населённый пункт с admin_level=6 действительно является городом областного подчинения. Загрузить оба отношения. Если граница городского округа сделана линией, создать для неё новое отношение, перенеся часть тегов. Выделить все линии внутреннего отношения с ролью outer, добавить их во внешнее с ролями inner.

Другой источник таких ошибок — отметка границ населённых пунктов как boundary=administrative.

Загрузить линии границ населённых пунктов, отмеченных как административные границы. Добавить слой WMS кадастра и проверить, нарисованы ли границы по нему. Если какие-то признаки указывают, что граница сделана не на глаз, оставить boundary=administrative (это неправильно, но избавляет от лишних вопросов), иначе удалить тег boundary. Также в любом случае удалить тег admin_level.

S-TOPO и B-TOPO: Топологическая ошибка Icon error topo.png

Это ошибка в наборе линий, составляющих контур границы: неправильно составлен мультиполигон. Первая буква обозначает тип границы: населённого пункта или административная. Одна из причин — соприкасающиеся замкнутые контуры.

Yav-topo-closed.gif

Преобразовать каждый контур в мультиполигон, разъединить по общим граням. Убрать из отношения границы перемычки, чтобы граница шла только по внешним контурам.

Также топологической ошибкой является самопересечение. Бывает, что кто-то случайно подвинул узел и не заметил.

Yav-s-topo-2.gif

Вернуть узел на предполагаемое место, руководствуясь кадастром, спутниковыми снимками и здравым смыслом. Проверить, не требуется ли соединение или разъединение линий, удаление лишних узлов: не вводятся ли дополнительные ошибки исправлением старой.

(будет дополняться)

Также по теме смотрите карту топологических ошибок на ГИС-лабе.

B-EQUALS: Границы совпадают

Это самая сложнопонимаемая ошибка. Она означает, что отношения границ сломаны, и при попытке их автоматически привести в нормальный получилось так, что один и тот же контур стал внешним для нескольких административных единиц. Один из случаев, когда такое случается: кто-то сделал замкнутый полигон из линии, принадлежащей границам двух соседних районов.

Yav-b-equals-2.gif

Скачать отношения для полигона, превратить его в мультиполигон, исключить ненужные его части из отношений границ.

Другая причина, как явно написано в справке самого валидатора: не собирается одно из колец границы.

Yav-b-equals-4.gif

Скачать все отношения границ под вопросом, найти разрывы, собрать кольца.

(будет дополняться)

Граница не распознаётся

Отношение границы не замкнуто, либо граница содержит топологические ошибки (обычно, самопересечения).

В редакторе отношения JOSM отсортируйте участников и убедитесь, что все кольца замкнуты. Внимательно просмотрите отношение на предмет самопересечений и двойных линий (по типу плоского Z: если в ряду есть точки 1 2 3 4, то линия может идти 1,2,3,2,4, например). Может помочь гис-лабовская карта топологических ошибок.

Граница нарисована одной замкнутой линией, и на ней нет тега area=yes.

Лучше всего, конечно, взять и на будущее превратить линию в мультиполигон. Но можно просто добавить тег area.

Значение тегов boundary или admin_level написаны неправильно, либо содержат лишние символы (например, пробелы).

Проверить значения побуквенно. Возможно, перенабрать. Убедиться, что admin_level=3…9.

Граница отображается красным выше уровнем

Если в списке границ уровня N перечислено несколько границ уровня N+2 и выше — значит, какая-то граница уровня N сломалась. Первым делом нужно найти, какой административной единице принадлежат «сбежавшие» границы: например, из какого района «посыпались» поселения.

«Посыпавшиеся» границы поселений Слободского района Кировской области

Вариант 1: отношение границы под вопросом сломано. Обычно на её странице выведена одна или несколько релевантных ошибок.

Исправить ошибки, руководствуясь соответствующими разделами этой страницы.

(будет продолжено)

Граница отображается красным

Название содержит опечатки или имеет неправильный формат («Морозовское СП»). Встречается даже на вид правильное «сельское поселение», но с латинской буквой «c», например.

Убедиться, что в списке валидатора название правильнее (по википедии, региональным приказам). Переименовать отношение границы: убрать статусную часть, либо раскрыть сокращения («Морозовское сельское поселение»).

Название в списке валидаторе неправильно, либо содержит излишние элементы («Город Псков»).

Убедиться в правильности написания названия у отношения границы. Добавить отношению тег oktmo:user с кодом ОКТМО из валидатора.

Административная единица отсутствует в списке валидатора, но существует на деле.

Данные валидатора устарели по некоторыми областям. При правке всегда нужно сверяться с актуальными законами и постановлениями. Это нормально, оставьте границу как есть. Можно попросить на форуме, чтобы список дополнили или изменили.

Административная единица принадлежит другому региону или району.

Проверить факты по допустимым источникам. Загрузить все задействованные отношения, проверить их корректность. Провести линии границ как описано в кадастре и соответствующих постановлениях.

Обозначенная как административная, граница на самом деле является границей населённого пункта.

Проверить, входит ли населённый пункт в одноимённую административную единицу (например, городской округ). Если да, то сделать отношение границы с нужными тегами (при наличии данных). Убрать с линии границы теги boundary, admin_level и boundary_type. Однако если проверка по WMS кадастра показывает точность границ, тег boundary можно оставить. Если граница сделана как отношение, убедиться, что тег type равен multipolygon, а не boundary.

Населённый пункт не распознаётся

Хутор или заброшенная деревня обозначены правильно, place=isolated_dwelling/locality.

Поставьте на точку тег okato:user с правильным кодом ОКАТО, либо значением any, если его лень искать.

Населённому пункту проставлен код ОКАТО в okato:user, но он находится не в своей административной единице.

Проверьте правильность кода ОКАТО на точке. Проверьте по спутниковым снимкам расположение населённого пункта. Проверьте по доступным источникам (законам, постановлениям), как проходит административная граница рядом с этим пунктом. Подвиньте точку (с контуром) или линии административной границы.

Населённый пункт отображается красным

Название написано с ошибкой (например, с сокращением), либо название в списках валидатора содержит ошибку.

Yav-red-error.gif

Найти в списках валидатора или в других источниках правильное похожее название, убедиться, что речь об одном и том же населённом пункте. Переименовать точку и границу, если есть. Если неправ валидатор (например, пункт переименовали) — добавить точке тег alt_name с названием из валидатора.

Как населённый пункт указано садоводство или урочище.

Yav-red-allotm.gif

Заменить тег place или его значение на правильное: place=allotments, landuse=allotments либо place=allotments + landuse=allotments для садоводств, place=locality для урочища.

Населённый пункт отсутствует в списках.

Yav-red-notfound.gif

Найти более свежий список населённых пунктов нужного района или поселения. Проверить название по википедии и поисковым системам. Спросить у автора точки населённого пункта про источник данных. Если это опустевшая деревня, поставить ей place=locality. Только после всех возможных проверок и вопросов можно удалять точку и границу населённого пункта.

Не указано название населённого пункта.

Yav-red-noname.gif

Спросить у автора, что он имел в виду. Убедиться по спутниковым снимкам, что населённый пункт существует. Узнать по разрешённым источникам его название и переименовать точку и/или линию.

Населённый пункт отображается жёлтым

Есть два населённых пункта в разных поселениях одного района, но границы поселений не нарисованы.

Yav-yell-two.gif

Поставить точкам населённых пунктов теги okato:user с правильными значениями ОКАТО. При наличии разрешённого источника — нарисовать границы поселений.

В районе (поселении) по списку один населённый пункт с таким названием, а на карте их два.

Yav-yell-one.gif

Найти полные актуальные списки населённых пунктов в районе. Проверить по википедии. Если населённый пункт действительно только один, удалить точку (и, возможно, линию) неправильного пункта. Иначе поставить пункту, присутствующему в списке валидатора, код ОКАТО в okato:user.

В районе (поселении) не нарисован населённый пункт, но в другом районе (поселении) есть пункт ровно с таким же названием, но отсутствующий в списке.

Yav-yell-another.gif

Проверить местоположение пункта-претендента. Возможно, он находится в сотнях метров от административной границы нужного района (поселения), и просто неправильно поставлен. Если он находится далеко от границы — действовать, как если бы тот был обозначен красным цветом.

В пределах административной единицы есть два населённых пункта с одинаковым названием, но разными статусами (село и деревня). Либо даже статусы одинаковые (такое бывает при объединении поселений).

Либо включить статусные части в названия, если они различаются (на точках и границах, если есть), либо расставить коды ОКАТО в okato:user.

Отношение границы населённого пункта не замкнуто, и валидатор не может определить принадлежность точки place своей границе.

Yav-yell-border.gif

Починить отношение границы.

Улица не распознаётся

Улица пересекает границу населённого пункта.

«Сейчас опознаются только улицы, целиком лежащие внутри полигона place=*. Чтобы они начали опознаваться, нужно разделить их по границе полигона» (Miroff).

Улица отображается красным

Название улицы очевидно неправильно.

Yav-street-garazh.gif

Проверить, не является ли линия с неправильным названием продолжением «правильной» улицы. В зависимости от этого либо переименовать линию, либо удалить тег name (при этом в городе появится непоименованная улица — так и должно быть). Иногда как улица обозначен внутренний проезд: тогда нужно проставить ему тег highway=service.

Название улицы есть в списке, но написано в ином падеже, роде или числе, либо с иным статусом. Иногда улица в честь кого-то написана с разным сокращением инициалов, или без них.

Yav-street-mis.gif

Проверить по допустимым источникам правильное написание названия и правильный статус. Если прав список валидатора, то переименовать все линии улицы. Иначе проставить линиям улицы тег kladr:user с КЛАДР-кодом улицы, неправильно обозначенной в списке валидатора. Напомним, что названия в OSM пишутся без сокращений: «Малая Сенная улица», «проспект Максима Горького».

Улицы с таким названием, или близким к нему, нет в списке.

Yav-street-notfound.gif

При отсутствии абсолютно стопроцентной уверенности в том, что на местности нет ни единого намёка на это название, и «в народе» оно не имеет хождения, можно удалить тег name со всех линий этой улицы. Иначе оставить всё как есть: списки КЛАДР быстро устаревают и нередко отличаются от реальности.

Материал из GIS-Lab

Перейти к: навигация,
поиск

ГИС для преподавателей Часть 6: Топология
AGentleIntroductionToGIS RU html m54b43492.png Цель: Понимание топологии векторных данных

Ключевые слова: Вектор, Топология, Правила Топологии, Топологические Ошибки, Радиус Поиска, Расстояние Замыкания, Простой Объект

Обзор:

Топология регулирует пространственные отношения связности и соседства векторных объектов (точек, линий и полигонов) в ГИС. Топологические данные полезны для обнаружения и исправления ошибок оцифровки (например, две линии дорог не сходятся на месте перекрестка). Корректная топология необходима для проведения некоторых типов пространственного анализа, таких как сетевой анализ.

Представьте, что Вы поехали в Лондон. Сначала Вы планируете посетить Собор Святого Павла, а вечером поехать на Ковент Гарден за подарками. Смотря на лондонскую карту метро (на Рисунке 58), Вы ищете, как доехать от Собора до Ковент Гарден. Поиск требует топологическую информацию о том, где можно совершать пересадки. На карте метро топологические отношения связности показаны кружками. Пересадки на отмеченных станциях позволяют Вам перейти с одной ветки метро на другую.

AGentleIntroductionToGIS RU html 72fc4c1f.png

Рисунок 58: Топология сети лондонского метро.

Топологические ошибки

Существуют различные типа топологических ошибок, и они могут быть сгруппированы в соответствии с типами геометрии (полигоны или полилинии). Топологические ошибки с полигональными объектами включают незакрытые полигоны, разрывы между прилежащими полигонами, а также перекрывающиеся полигоны. Распространенной ошибкой для линейных объектов является то, когда их конечные вершины не совпадают в тех местах, где они должны совпадать (например, улицы на перекрестках). Подобные ошибки называются «недолетами», когда между линиями наблюдается разрыв, и «перелетами», когда одна линия пересекает другую и заканчивается чуть дальше (см. Рисунок 59).

AGentleIntroductionToGIS RU html 5c68b28b.png

Рисунок 59: «Недолеты» (1) появляются, когда оцифрованные векторные линии, которые должны соединяться друг с другом, не соединяются.
«Перелеты» (2) происходят, когда одна линия заканчивается за другой линией, к которой должна быть присоединена. Когда вершины
двух полигонов на их границах не совпадают, появляются разрывы (3).

Результатами недолетов и перелетов являются так называемые «висячие узлы» в конце линий. Висячие узлы приемлемы в отдельных случаях, например для тупиковых улиц. Топологические ошибки нарушают отношения между объектами. Эти ошибки должны быть исправлены перед проведением таких типов анализа векторных данных, как сетевой анализ (т.е. поиск кратчайшего маршрута по дорожной сети) или измерения (т.е. выяснение длины рек). Помимо необходимости топологии в сетевом анализе и измерениях, существуют другие причины, почему следует иметь топологически корректные данные. Представьте, что Вы цифруете муниципальные границы Вашего района, и полигоны перекрываются или имеют разрывы. В случае таких ошибок Вы по-прежнему можете пользоваться инструментами измерений, но результаты будут некорректными. Полученная площадь будет неправильной, и будет непонятно, где именно находятся границы (например, в случае перекрывающихся полигонов принадлежность территории к двум муниципалитетам одновременно невозможна!).

Иметь топологически корректные данные важно не только для проведения собственного анализа, но и для других людей, которым Вы можете передать свои данные. Они могут не знать об ошибках и будут расценивать результаты своего анализа как правильные.

Правила топологии

К счастью, многие распространенные ошибки, происходящие при оцифровке, могут быть предотвращены с помощью правил топологии, внедренных во многие ГИС-приложения. Кроме некоторых специализированных форматов геоданных, топология обычно не применяется по умолчанию. Многие широко распространенные ГИС, такие как QGIS, определяют топологию как серию правил, которые могут быть выбраны пользователем и применены к векторным слоям. Следующий список включает некоторые примеры правил топологии, определяемых для объектов реального мира на векторной карте:

  • Элементы муниципальной карты не должны перекрывать друг друга.
  • Элементы муниципальной карты не должны иметь разрывов.
  • Полигоны земельных участков должны быть замкнутыми. «Недолеты» и «перелеты» границ участков не позволяются.
  • Горизонтали высот не должны пересекаться.

Топологические инструменты

Многие ГИС-приложения имеют инструменты топологического редактирования. Например, в QGIS Вы можете включить топологическое редактирование для эффективного редактирования общих границ объектов полигональных слоев. ГИС-приложение обнаруживает общие границы объектов, и Вам достаточно будет передвинуть только одну вершину, в то время как приложение обновит вершину прилежащего полигона, как показано на Рисунке 60 (1). Другая опция топологического редактирования – установка ограничения на перекрытие полигонов (см. Рисунок 60 (2)). В QGIS, если Вы нарисуете новый полигон поверх существующего, приложение обрежет новый полигон по границе существующего.

AGentleIntroductionToGIS RU html 58d7c759.png

Рисунок 60: Топологическое редактирование. 1) Когда пользователь сдвигает вершину в углу бордового полигона, соответствующая вершина зеленого квадрата
автоматически следует за ней. 2) Чтобы избежать перекрытия полигонов, новый объект (бордовый) автоматически обрезается по границе существующего (зеленый).

Радиус замыкания

Радиус замыкания – это максимальный радиус поиска, который использует ГИС-приложение для стыковки инструмента редактирования с существующими вершинами или сегментами редактируемого слоя в ходе оцифровки (сегмент – это прямая линия, соединяющая две вершины полилинии или полигона). Если Ваш курсор находится внутри этого радиуса и Вы создаете новую вершину, ГИС-приложение стыкует ее к существующей вершине или сегменту (см. Рисунок 61). В противном случае вершина создается там, где был произведен клик мышью, независимо от существующих вершин.

AGentleIntroductionToGIS RU html 437afd29.jpg
Рисунок 61: Радиус замыкания (черный кружок) определяется в единицах измерения карты (например, в десятичных градусах)
для стыковки новой вершины к существующим вершинам или сегментам.

Радиус поиска

Радиус поиска – это расстояние, которое ГИС-приложение использует для поиска ближайшей к курсору вершины, когда Вы пытаетесь ее выделить для перетаскивания на карте. По сути, это почти то же самое, что и радиус замыкания, только для редактирования существующих вершин. Он также устанавливается в единицах измерения карты, и нужно попробовать разные значения, чтобы найти оптимальное. Если значение слишком большое, ГИС-приложение может при клике мышью выделить не ту вершину, которую Вы хотели выделить, просто потому что она тоже попала в радиус. Особенно эта проблема актуальна для объектов с большим количеством близко расположенных вершин. Если Вы укажете слишком маленькое значение, вершины вообще не будут выделяться, хотя будет казаться, что Вы подвели курсор прямо к вершине. Выбор оптимального радиуса поиска также зависит от чувствительности мышки и индивидуальных предпочтений пользователя.

О чем стоит помнить:

Топология – это сложное представление векторных данных. Топологические наборы данных хранятся в специальных файловых форматах, включающих описание отношений между объектами. В то же время, наиболее распространенные форматы геоданных являются «простыми», то есть хранят только геометрию и атрибуты. Они разработаны для быстрого отображения на карте и не расчитаны на топологический анализ (например, поиск кратчайшего пути). Многие ГИС-приложения могут отображать и топологические и простые данные, а некоторые могут также создавать и редактировать эти данные.

Что мы узнали?

Закрепим изученный материал:

  • Топология описывает пространственные взаимоотношения соседствующих векторных объектов.
  • В ГИС-приложениях за топологию отвечают топологические инструменты.
  • Топологию можно использовать для выявления и исправления ошибок, возникших в ходе оцифровки.
  • Корректная топология необходима для некоторых видов анализа, таких как сетевой анализ.
  • Установка радиуса замыкания и радиуса поиска помогает нам производить топологически корректную оцифровку.
  • Простые векторные данные не включают топологические правила, но они широко используются в ГИС-приложениях.

Попробуйте сами!

Ниже приведено несколько примеров практических заданий для Ваших учеников:

  • Отметьте автобусные остановки на листе топографической карты и попросите учеников найти кратчайший маршрут между двумя остановками.
  • Подумайте, как бы Вы создали векторные объекты в ГИС для представления топологической сети дорог в Вашем городе. Какие топологические правила важны в данном случае и какие инструменты QGIS могут использовать ученики, чтобы проверить топологическую корректность созданного набора данных?

Если у Вас нет компьютера:

Вы можете использовать карту автобусных или ж/д маршрутов и обсудить пространственные отношения и топологию с учениками.

Дополнительные материалы:

Книги:

  • Сhang, Kang-Tsung (2006): Introduction to Geographic Information Systems. 3rd Edition. McGraw Hill. (ISBN 0070658986)
  • DeMers, Michael N. (2005): Fundamentals of Geographic Information Systems. 3rd Edition. Wiley. (ISBN 9814126195)

Веб-сайты:

  • http://www.innovativegis.com/basis/primer/concepts.html
  • http://en.wikipedia.org/wiki/Geospatial_topology

Руководство Пользователя QGIS включает более детальную информацию о топологическом редактировании.

Что дальше?

В следующем разделе мы изучим системы координат, чтобы понять, как географические данные о шарообразной Земле переносятся на плоские карты.

Рисунок 58: Топология сети лондонского метро.

Топологические ошибки

Существуют различные типы топологических ошибок, и они могут быть сгруппированы в соответствии с типами геометрии (полигоны или полилинии). Топологические ошибки с полигональными объектами включают незакрытые полигоны, разрывы между прилежащими полигонами, а также перекрывающиеся полигоны. Распространенной ошибкой для линейных объектов является то, когда их конечные вершины не совпадают в тех местах, где они должны совпадать (например, улицы на перекрестках). Подобные ошибки называются «недолетами», когда между линиями наблюдается разрыв, и «перелетами», когда одна линия пересекает другую и заканчивается чуть дальше (см. Рисунок 59).

Рисунок 59: «Недолеты» (1) появляются, когда оцифрованные векторные линии, которые должны соединяться друг с другом, не соединяются. «Перелеты» (2) происходят, когда одна линия заканчивается за другой линией, к которой должна быть присоединена. Когда вершины двух полигонов на их границах не совпадают, появляются разрывы (3).

Результатами недолетов и перелетов являются так называемые «висячие узлы» в конце линий. Висячие узлы приемлемы в отдельных случаях, например для тупиковых улиц. Топологические ошибки нарушают отношения между объектами. Эти ошибки должны быть исправлены перед проведением таких типов анализа векторных данных, как сетевой анализ (т. е. поиск кратчайшего маршрута по дорожной сети) или измерения (т. е. выяснение длины рек). Помимо необходимости топологии в сетевом анализе и измерениях, существуют другие причины, почему следует иметь топологически корректные данные. Представьте, что Вы цифруете муниципальные границы Вашего района, и полигоны перекрываются или имеют разрывы. В случае таких ошибок Вы по-прежнему можете пользоваться инструментами измерений, но результаты будут некорректными. Полученная площадь будет неправильной, и будет непонятно, где именно находятся границы (например, в случае перекрывающихся полигонов принадлежность территории к двум муниципалитетам одновременно невозможна!).

Иметь топологически корректные данные важно не только для проведения собственного анализа, но и для других людей, которым Вы можете передать свои данные. Они могут не знать об ошибках и будут расценивать результаты своего анализа как правильные.

Правила топологии

К счастью, многие распространенные ошибки, происходящие при оцифровке, могут быть предотвращены с помощью правил топологии, внедренных во многие ГИС-приложения. Кроме некоторых специализированных форматов геоданных, топология обычно не применяется по умолчанию. Многие широко распространенные ГИС, такие как QGIS, определяют топологию как серию правил, которые могут быть выбраны пользователем и применены к векторным слоям. Следующий список включает некоторые примеры правил топологии, определяемых для объектов реального мира на векторной карте:

•Элементы муниципальной карты не должны перекрывать друг друга.

•Элементы муниципальной карты не должны иметь разрывов.

•Полигоны земельных участков должны быть замкнутыми.

•«Недолеты» и «перелеты» границ участков не позволяются.

•Горизонтали высот не должны пересекаться.

Топологические инструменты

Многие ГИС-приложения имеют инструменты топологического редактирования. Например, в QGIS Вы можете включить топологическое редактирование для эффективного редактирования общих границ объектов полигональных слоев. ГИС-приложение обнаруживает общие границы объектов, и Вам достаточно будет передвинуть только одну вершину, в то время как приложение обновит вершину прилежащего полигона, как показано на Рисунке 60 (1). Другая опция топологического редактирования — установка ограничения на перекрытие полигонов (см. Рисунок 60 (2)). В QGIS, если Вы нарисуете новый полигон поверх существующего, приложение обрежет новый полигон по границе существующего.

Рисунок 60: Топологическое редактирование. 1) Когда пользователь сдвигает вершину в углу бордового полигона, соответствующая вершина зеленого квадрата автоматически следует за ней. 2) Чтобы избежать перекрытия полигонов, новый объект (бордовый) автоматически обрезается по границе существующего (зеленый).

Понравилась статья? Поделить с друзьями:
  • Торрент показывает ошибку виндовс
  • Топленое масло прогоркло как исправить
  • Торрент пишет что системе не удается найти указанный путь как исправить
  • Топ ошибок на собеседовании
  • Торрент ошибка элемент не найден readfromdisk