Разделение дорог на перекрестке для ArcGIS Network Analyst?

15

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

На этом рисунке показана модель подключения для ArcGIS Network Analyst, когда дороги не разделены. связь

Как мне исправить эту проблему и разделить дороги там, где они пересекаются?

Девдатта Тенгше
источник
3
Я знаю, что это может вызвать проблемы на путепроводах. У меня есть точки, где есть путепровод / подземный переход, и они будут исправлены вручную, поскольку в этом городе их количество ограничено и ими можно управлять.
Девдатта Тенгше

Ответы:

19

Инструмент геообработки Feature To Line (Управление данными) можно использовать для «очистки» данных.

В справочном файле упоминается:

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

Кроме того, не забудьте установить для параметра « Сохранить атрибуты» значение true, чтобы сохранить атрибуты в выходном файле.

Девдатта Тенгше
источник
Это наиболее эффективный вариант, и вы можете пойти еще дальше, если установите соответствующий параметр cluster_tolerance для «исправления» незначительных и слишком низких и отрицательных значений в данных (но следует помнить, что значение допуска не упрощает данные за пределами полезной пространственной точности). ).
ccn
Стоит добавить, что если вы хотите объединить кластеры как отдельный шаг, вы можете использовать инструмент Интегрировать.
Fmark
Также, если вам не повезло, если у вас есть расширенная лицензия, вы можете использовать инструмент разделения линий со строками в QGIS через меню обработки (> версия 2.8) и вернуть результаты в Arc.
Оливер Бурдекин
Вы, вероятно, должны заметить, что для этого требуется лицензия уровня Advanced, которая все еще применяется в ArcGIS 10.4.1.
PolyGeo
6

Вы можете использовать инструмент Planarize Lines в ArcGIS (требуется лицензия ArcEditor или ArcInfo).

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

Алекс Терешенков
источник
Хотя это действительно полезно, это потребует ручного редактирования в сеансе редактирования.
Девдатта Тенгше
2
Да конечно. Затем используйте инструмент Feature to Line GP, функциональность которого очень похожа на Planarize Lines. Единственное отличие в случае со случайными линиями в одном классе пространственных объектов заключается в том, что в выходном классе пространственных объектов будет создано несколько дублированных линий (по крайней мере, это то, что у меня есть). Я использовал затем поиск и удаление идентичных инструментов GP для обработки этого сценария ( resources.arcgis.com/en/help/main/10.1/index.html#//… ).
Алекс Терешенков
3

В ET GeoWizards есть инструмент «Полилиния со слоем», который может вам подойти. Для этого требуется слой ломаной линии, который вы хотите разделить (создает новый шейп-файл или класс пространственных объектов), и слой, который он использует для разделения линий. Я использовал его, чтобы разделить трубы (полилинии) на зоны (многоугольники), и он работал хорошо, но он также работает с двумя полилиниями.

Если все ваши дороги являются частью одного шейп-файла / класса пространственных объектов, вы сможете дважды добавить его в свой mxd и переименовать один. т.е. дороги1 и дороги2, а затем использовать дороги1 для разделения и дороги2 для определения того, где первым следует разделить. Я не пробовал это так, надеюсь, это работает на практике так же, как и в теории.

Сара
источник
2

Это будет работать в PostGIS, но я читал, что ArcGIS также имеет интерфейс SQL. Этот выбирает. Используйте «выбрать в», если вы хотите сохранить данные и добавить последовательность для первичного ключа

выберите * из (выберите r.id, st_Dump (ST_Split (r.the_geom, r2.the_geom))
из таблицы дорога как r, дорога как r2 
где r.id! = r.id И ST_Intersect (r.the_geom, r2.the_geom)) как материал

это должно вернуть данные, как

| Идентификатор | геый |
--------
| 1 | хххх |
| 1 | гггг |
| 2 | zzzz |

если я не сделал никаких ошибок

simplexio
источник
Это не дает ожидаемый результат.
Девдатта Тенгше
1

Использование Planarize для разделения линий на перекрестках

  1. В ArcMap выберите инструмент «Редактировать», инструмент «Редактировать» на панели инструментов редактора.
  2. Выберите линейные объекты, которые вы хотите разделить на перекрестках.
  3. Нажмите кнопку Planarize Lines кнопку Planarize на панели инструментов топологии.
  4. Нажмите ОК.

Линии разделены на новые функции, где они пересекаются.

Внимание: в Arc 10 и выше этот инструмент находится на панели инструментов Расширенное редактирование.

Милад Барадаран Каял
источник
Двойной ответ на тот, который дал @Alex Tereshenkov годом ранее. Но здесь не упоминается, что вам понадобится более высокая лицензия ArcGIS, что важно знать, если вы хотите использовать этот инструмент.
Общие Wevers
-1

Из справки ESRI. Ссылка находится внизу и существует более одного возможного подхода.

«Полигоны из геометрии других объектов

1. В ArcMap щелкните инструмент «Редактировать» на панели инструментов редактора.

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

3.На панели инструментов «Редактор» щелкните стрелку раскрывающегося списка «Задача» и нажмите «Создать новую функцию».

4.На панели инструментов редактора щелкните стрелку раскрывающегося списка «Цель» и выберите класс объектов полигонов, в котором вы хотите создать новый объект. Выбранные объекты и целевой слой не могут быть из одного класса объектов.

5.На панели инструментов Topology нажмите кнопку Construct Features.

При необходимости введите допуск кластера.

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

7.Нажмите ОК.

Новые объекты создаются в целевом классе объектов. "

http://webhelp.esri.com/arcgiSDEsktop/9.3/index.cfm?TopicName=Making_new_features_with_topology_tools

Льюис
источник
Я не уверен, что твой ответ связан с моим вопросом. Вы случайно разместили это здесь вместо какого-то другого вопроса?
Девдатта Тенгше
Если вы перейдете по ссылке внизу и прочитаете полную справку, я думаю, вы увидите актуальность. Полигонизируя данные, вы создаете перекрестки на непересекающихся улицах, и в справке есть аналогичные операции, которые также помогут решить проблему
Льюис