Как работает инструмент Решить конфликты дорог
Инструмент Решить конфликты дорог (Resolve Road Conflicts) уточняет отображаемые объекты дорог, для того чтобы они графически не перекрывались. Графические перекрытия обычно возникают в случае, когда данные дорожной сети отображаются в масштабе, более мелком по сравнению с тем, в котором они создавались. Когда применяется соответствующий символ, прилежащие друг к другу дороги могут конфликтовать.
Как работает инструмент Решить конфликты дорог
Входные объекты оцениваются, исходя из точности их взаимного положения и параллельности друг другу – так, как они отображаются в базовом масштабе. Они ранжируются и разбиваются на категории с использованием значения в Поле иерархии (Hierarchy Field). Объекты (или части объектов) могут незначительно смещаться с целью предотвращения графических перекрытий и улучшения отображения. Если перемещается только часть объекта, переход осуществляется максимально плавно. Имевшие место перемещения могут быть дополнительно сохранены в выходном полигональном классе объектов. Используйте данный класс пространственных объектов для инструмента Распространить сдвиг (Propagate Displacement), чтобы убедиться, что пространственные взаимоотношения между объектами имели место.
Этот инструмент перемещает объекты на основе их пространственных взаимоотношений и относительной иерархии:
Несопоставимые объекты: несопоставимые объекты имеют различные значения иерархии. Например, служебная дорожка, проходящая рядом с автострадой. Хотя края символов этих объектов находятся не дальше 0,3 мм в масштабе карты друг от друга, они смещаются, чтобы достичь визуального расстояния не менее 0,3 мм между ними. Объекты, имеющие высокое значение иерархии (низкую важность), перемещаются с целью их размещения в области низкого значения иерархии (высокой важности).
Сопоставимые объекты: сопоставимые объекты имеют одинаковые значения иерархии. Например, две проезжие части шоссе или бульвара. Если эти объекты параллельны (или почти параллельны) и края их символов отображения накладываются друг на друга при заданном базовом масштабе, объекты смещаются друг от друга так, чтобы их символы отображения располагались рядом без каких бы то ни было разрывом. Аналогично, если два символа располагаются очень близко друг к другу, они будут «склеены» вместе таким образом, что символы будут лежать рядом.
Тупики: Тупиковые дороги ("висячие" объекты, т. е. не присоединенные куда-либо одним концом) слегка укорачиваются, если не получается визуально заметного разрыва между концом этой дороги и другой дорогой. Это необходимо для предотвращения появления пересечения там, где в действительности его нет. В тех местах, где край символа, отображающего несоединенный участок дороги, лежит на расстоянии менее 0,5 мм в масштабе карты от другого входного объекта, тупиковые дороги укорачиваются, чтобы расстояние составило 0,5 мм.
Круги: круговые (или близкие к круговым) объекты, например перекрестки с круговым движением, увеличиваются (расширяются наружу) для обеспечения визуально заметных промежутков (0,3 мм в базовом масштабе) между внутренними краями символа.
Вопросы подготовки данных
Инструмент Решить конфликты дорог (Resolve Road Conflicts) изменяет линейные объекты таким образом, чтобы они были различимы при прорисовке символов их отображения в выходном масштабе. Оцениваться и обрабатываться могут несколько слоев одновременно. Для работы инструмента очень важно, чтобы геометрия входных объектов была корректной: это позволит сохранять взаимоотношения объектов в том виде, в котором они существуют в транспортной сети. Примите во внимание следующие требования и рекомендации к входным данным:
Простые объекты: входные данные не могут содержать составные объекты. Для преобразования объектов в простые следует использовать инструмент Составной в простые (Multipart To Singlepart) или создать топологию с правилом для объектов Должны состоять из одной части (Must Be Single Part).
Общие сегменты: Входные объекты не должны перекрываться друг с другом, то есть иметь общие сегменты. Для решения этих проблем создайте топологию с правилами для линейных объектов Не должны перекрываться (Must Not Overlap) и Не должны перекрывать сами себя (Must Not Self-Overlap). Если инструмент запущен с использованием нескольких входных слоев, создайте топологию с правилом Не должны перекрываться с (Must Not Overlap With). Если обнаружены общие сегменты, инструмент выдаст предупреждение, но продолжит работу. Идентификаторы ObjectID пространственных объектов с общими сегментами записываются в log-файл с именем вида SharedGeom#.txt, где # – число, возрастающее с созданием каждого log-файла.
Самопересекающиеся объекты: Использование входных линейных объектов, имеющих самопересечения или одинаковые конечную и начальную точку, может привести к некорректным результатам. Для выявления таких областей создавайте топологию с использованием правила Не должны пересекать сами себя (Must Not Self-Intersect). Если обнаружены самопересекающиеся объекты, инструмент выдаст предупреждение и продолжит работу. Идентификаторы ObjectID самопересекающихся объектов записываются в log-файл с именем вида SelfIntersect#.txt, где # – число, возрастающее с созданием каждого log-файла.
Геометрия ниже допуска XY: В некоторых случаях среди данных могут встретиться пространственные объекты, размеры которых ниже допуска XY, указанного в документе карте или в параметрах среды инструмента. Если обнаружены объекты, имеющие длину меньше допуска, инструмент выдаст предупреждение, и такие объекты не будут им обрабатываться. Идентификаторы ObjectID пространственных объектов с геометрией ниже допуска записываются в файл журнала с именем вида EmptyGeom#.txt, где # – число, возрастающее с созданием каждого файла журнала.
Пустая или нулевая геометрия: Входные пространственные объекты должны иметь корректную геометрию. Если обнаружены объекты, имеющие нулевую длину, инструмент выдаст предупреждение, а эти объекты не будут приниматься во внимание инструментом. Идентификаторы ObjectID объектов с пустой или нулевой геометрией записываются в log-файл с именем вида EmptyGeom#.txt, где # – число, возрастающее с созданием каждого log-файла. При необходимости, для восстановления таких объектов можно применить инструмент Восстановить геометрию (Repair Geometry).
Ложные тупики: Ложный тупик – это сегмент, который не соединен ни с каким другим, но визуально кажется соединенным при отображении на карте в выходном масштабе. Это могут быть участки, на территории которых объекты визуально кажутся соединенными, хотя на самом деле не соединены между собой. Если вы запустите инструмент без предварительной коррекции присоединения, в результатах применения инструмента вы можете неожиданно получить не присоединенные никуда объекты. Каждая конечная точка, лежащая в пределах 0.5 мм от другого сегмента линии, определяется в качестве принадлежащей ложному тупику, с учетом масштаба карты. Если обнаружены ложные тупики, инструмент выдает предупреждение и продолжает работу. Обнаруженные ложные тупики записываются в log-файл с именем вида DeadEnd#.txt, где # – число, возрастающее с созданием каждого log-файла.
Вершины: лишние вершины могут ухудшить качество и увеличить время обработки. По возможности используйте инструмент Упростить линию для удаления таких вершин.
Этот инструмент работает на основе оценки графических конфликтов символов объектов. Экстент символогии и базовый масштаб рассматриваются во взаимосвязи друг с другом. Запускайте этот инструмент только после того, как закончите настройку отображения символов и убедитесь, что базовый масштаб соответствует запланированному конечному выходному масштабу.
Если ширина линии и ее символа будут равны нулю, произойдет ошибка. Чтобы убрать с экрана некоторые объекты, можно применить к слою определяющий запрос.
Обнаруженные объекты с символами нулевой ширины записываются в файл журнала NoLineWidth#.txt (где # – число, возрастающее с созданием каждого файла журнала).
Для получения системы координат используется параметр среды Картографическая система координат (Cartographic coordinate system), если эта переменная установлена. В противном случае, если инструмент запущен на переднем плане в ArcMap, используется система координат фрейма данных. Если не доступен ни один из этих параметров, используется система координат входных слоев.
Расположение файлов журнала, которые создаются в случаях, когда программа выдает предупреждения или ошибки, может быть различным, в зависимости от используемой вами операционной системы:
- В системе Windows XP файлы журнала записываются в папку C:\Documents and Settings\<user name>\Application Data\ESRI\GeoProcessing.
- В системах Windows Vista и Windows 7 файлы журнала записываются в папку C:\Users\<user name>\AppData\Local\ESRI\GeoProcessing.
Рекомендации касательно рабочего процесса
Этот инструмент наиболее эффективен в случае его использования в сочетании с другими инструментами генерализации и разрешения графических конфликтов. Ниже дается несколько советов, которые помогут вам использовать эти инструменты совместно с другими в вашем рабочем процессе:
- Имейте в виду, что входные классы объектов будут изменены. Этот инструмент не создает новые выходные классы дорог, а изменяет непосредственно входные классы объектов. Рассмотрите вариант оформления входных слоев с помощью представлений (с выставленной опцией сохранения замещения геометрии). В этом все изменения, производимые инструментом, сохраняются в качестве замещений геометрии. Если результаты работы недоступны или в случае, если вы хотите заново запустить инструмент с использованием других параметров, просто удалите замещения с помощью инструмента Удалить замещения (Remove Override). Если входные слои не отрисованы с использованием представлений, сделайте копию используемых вами классов пространственных объектов перед обработкой, с тем чтобы сохранить их исходное состояние. Поскольку выполняемое перемещение разрешает конфликты, повторное использование инструмента не должно оказывать воздействия, поскольку уже будут отсутствовать подлежащие разрешению конфликты.
- Прежде всего удалите ненужные объекты. В зависимости от густоты дорожной сети, может оказаться оптимальным предварительное удаление ненужных мелких дорожных объектов с целью предоставления инструменту дополнительных возможностей для разрешения конфликтов. Такое удаление может быть произведено просто путем составления соответствующего определяющего запроса или выборки с целью удаления одного или нескольких классов дорог, или же, если требуется получение более точного результата, с использованием инструмента Проредить дорожную сеть (Thin Road Network).
- Выполните слияние дорог перед их перемещением. Инструмент Слияние фрагментов дорог является по существу противоположностью инструменту Решить конфликты дорог. Он оценивает объекты дорожной сети, лежащие в непосредственной близости друг от друга и проходящие практически параллельно (обычно это отдельные проезжие части дорог) и создает одну линию с целью более четкого отображения дороги. Оба подхода являются допустимыми решениями проблемы объединения дорог. На картах крупных масштабов предпочтительно показывать проезжие части отдельными объектами, в то время как в более мелких масштабах допустим их показ одной линией. В средних масштабах предпочтительным является использование обоих подходов для дорог различных классов. Если оба инструмента будут использоваться вместе в одном рабочем процессе, сначала примените к соответствующим объектам инструмент Слияние фрагментов дорог, а результаты применения этого инструмента используйте в качестве входных объектов для инструмента Решить конфликты дорог.
- Установите иерархию объектов. Параметр Поле иерархии (Hierarchy Field) используется для установления сравнительной важности объектов дорог. Обычно эта характеристика соответствует способу классификации и отображения дорог. Менее существенные дороги скорректированы, чтобы обеспечить отображение дорог, имеющих более важное значение. Значение иерархии, равное 1, соответствует наиболее крупным дорогам; чем больше целое значение иерархии, тем меньше значение соответствующей дороги. Для получения оптимального результата не используйте более пяти классов иерархии дорог для входных данных. Поскольку оцениваются все входные слои вместе для иерархии объектов, все слои должны содержать поле с одинаковым именем и одинаковыми значениями иерархии.
- Рассмотрите вопрос блокирования определенных объектов. Параметр Поле иерархии (Hierarchy Field) может использоваться для блокировки объектов путем присвоения таким объектам нулевого значения в Поле иерархии (Hierarchy Field). Блокированный объект вообще не будет перемещен или удален. Этот подход может быть полезным в случае, если дорога не может быть сдвинута из-за ее связей с другими объектами карты. Особенно это касается непрерывных данных, таких как высотные данные. Например, участок дороги может проходить через очень крутой и узкий овраг, и было бы картографически некорректно в этом случае смещать дорогу с ее корректного положения. Блокировка может использоваться, в том числе, и для установки барьеров для смещения дорог.
- Используйте блокировку для установки барьеров. Блокировка может использоваться, в том числе, и для установки барьеров для смещения дорог. Например, слой железных дорог может быть включен в список Входные слои дорог (Input Road Layers) наряду с автомобильными дорогами. Если всем объектам железнодорожной сети присвоено значение иерархии, равное нулю, объекты дорожной сети оцениваются как конфликтующие с ними и поэтому дороги не проходят сверху по железным дорогам, однако сами объекты железнодорожной сети при этом не изменяются.
Дополнительный параметр Выходной класс сдвинутых пространственных объектов (Output Displacement Feature Class) создает класс полигональных объектов, которые показывают величину и направление имеющегося сдвига. Этот класс пространственных объектов может быть использован только для визуальной проверки, пространственных запросов или в качестве входных данных для инструмента Передать сдвиг (Propagate Displacement).
Разделение больших наборов данных
Этот инструмент, прежде чем определять конечное состояние каждого из пространственных объектов, принимает во внимание также и смежные с ним объекты. На вход могут подаваться несколько наборов данных сразу, в этом случае все они будут обрабатываться одновременно. При использовании большого объема входных данных (или большого количества отдельных слоев) может произойти превышение ограничений использования оперативной памяти. Для того, чтобы обойти эти ограничения, можно активировать разделение данных при работе с этим инструментом, указав класс объектов раздела в параметре среды геообработки Картографические разделы (Cartographic Partitions). Разделение позволяет инструменту обрабатывать данные последовательно по небольшим удобным частям. Инструмент принимает на вход пространственные объекты, ограниченные одним из полигонов раздела, а также дополнительные данные из буферной зоны вокруг него. По мере работы инструмента, все остальные данные также поступают в обработку. Таким образом, поддерживается целостность всех объектов, попавших на границу раздела, и бесшовность полученного в результате класса объектов.
Если конфликты дорог разрешаются путем разделения на части, будут также изменены объекты, находящиеся в буферной зоне за пределами границы каждой части. На границе части они будут соответствовать сдвигу, выполненному в пределах части. По мере удаления от ребра части значение сдвига будет уменьшаться, что обеспечит плавный переход. Это выполняется таким образом, что связность дорожной сети остается целостной при обработке каждой части. Когда обрабатывается смежная часть, сдвиг в сторону уменьшения выявляется как конфликт и разрешается в установленном порядке. Вследствие этого сдвиги дорог единообразны между границами частей.