Автоматическое разрезание полилиний по заданным условиям

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
Ответить
Аватара пользователя
Северный ветер
Участник
Сообщения: 96
Зарегистрирован: 13 июл 2008, 01:38
Репутация: 1
Откуда: Тверь

Автоматическое разрезание полилиний по заданным условиям

Сообщение Северный ветер » 22 июн 2009, 14:50

Привет всем!
Друзья возникла следующая проблема. Можно ли в Arcview GIS (точнее существуют ли расширения и скрипты) разрезать линейный объект по заданным условиям.
То есть. Имеется линия (или множество линий) дороги расстоянием 5 км. Можно ли автоматически разбить эту линию на 5 отрезков по 1 километру (и т.д.).

Предыстория возникновения вопроса: Я студент-эколог, пишу диплом по скоростной трассе Москва Санкт-Петербург. В наличии у меня оказался проект на Тверскую область. Половина маршрута на топографических картах масштаба 250 м с нанесенной трассой с километровыми отметками. Вторая часть в виде километровых топографических карт с нанесенной трассой но с 5 километровыми отметками.
Карты я привезла, трассу векторизовал, провел анализ километровых отрезков (расчет продольного уклона, что пересекают и многое такое).
Но вот как быть с 5 километровыми? Вручную их резать - страшно :(

Помогите
Подвергай все сомнению

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение geologic » 22 июн 2009, 17:02

Штатного средства нет, но есть доп. модули-скрипты. Например, в EditTools есть разделение линий на отрезки любыми точками (Split with Theme). Поставить точки через 5 км по линии можно через использование маршрутов... Как-то так, или можно попроще скрипт найти в коллекциях

Аватара пользователя
Северный ветер
Участник
Сообщения: 96
Зарегистрирован: 13 июл 2008, 01:38
Репутация: 1
Откуда: Тверь

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение Северный ветер » 23 июн 2009, 12:42

Штатного средства нет, но есть доп. модули-скрипты. Например, в EditTools есть разделение линий на отрезки любыми точками (Split with Theme). Поставить точки через 5 км по линии можно через использование маршрутов... Как-то так, или можно попроще скрипт найти в коллекциях
Спасибо за совет
А что значит через использование маршрутов. Каким образом можно поставить автмоатически дополнительные узлы на линии? Простите за вопрос я просто в Arcview GIS не очень силен, разбираюсь лишь поверхностно.
Подвергай все сомнению

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение geologic » 23 июн 2009, 12:56

Тогда если вам лишь конкретно эту задачу решить, возьмите простой скрипт деления, их немало в коллекциях, например, вот http://arcscripts.esri.com/details.asp?dbid=11406

Если вообще хотите научиться методике работы с точками-линиями, например, в будущем делить на НЕРАВНЫЕ заданные отрезки, делать цепочки точек по списку или хитрому алгоритму, то почитайте все что есть про маршрутные темы - в ESRI это стандартный подход для таких задач. Читать можно, начиная, например, отсюда.

Аватара пользователя
Северный ветер
Участник
Сообщения: 96
Зарегистрирован: 13 июл 2008, 01:38
Репутация: 1
Откуда: Тверь

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение Северный ветер » 24 июн 2009, 13:03

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

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 6
Откуда: москва
Контактная информация:

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение geologic » 24 июн 2009, 16:36

По маршрутным темам можно и сразу линии строить, отрезки трасс - от метки такой-то до метки сякой-то.
Напрямую ваша задача, без создания промежуточных точек. Ну и многое другое - значения могут быть не только километраж, а время, кадр, шаг или любое нарастающее. Технология, как-никак ;)

Аватара пользователя
Северный ветер
Участник
Сообщения: 96
Зарегистрирован: 13 июл 2008, 01:38
Репутация: 1
Откуда: Тверь

Re: Автоматическое разрезание полилиний по заданным условиям

Сообщение Северный ветер » 26 июн 2009, 11:23

Итак все получилось!!!
Маршутные темы я попытался взять на зубок, но орешек оказался крепок.
В итоге последовал совету классиков "Мы пойдем другим путем!"

1. Имея сумму 5 километровых отрезков трассы, срисованных с растровой карты я
использовал это расширение дабы создать точечную тему. В диалоге отметил что нужно поставить по 5 точек с первой точкой в начале. В Итоге получилась точечная тема, и на каждый мой отрезок приходилось по 5 точек.
2.Затем с помощью Расширения EDIT TOOLS команда Split with Theme, разрезал мои 5 километровые отрезки по полученным точкам и Очень обрадовался. :twisted: В момент резки я нахдился в географической системе координат. В проекции Альберса расширение работать отказалось :cry: .
3. отредактировал атрибутивные данные в точечной и линейной темах. Добавил поле номер километра (не вручную конечно, а с помощью кальлулятора в Арквьюшном редакторе таблиц), а затем погонял полученные темы на предмет пространственных отношений с другими моими темами (границы ООПТ, местобитания краснокнижников, высота над уровнем моря, продольный уклон, ландшафт, растительность, населенные пункты, гидрология, почва).
4. В итоге на каждый километр трассы у меня есть куча информации.
5. Кому и зачем это надо я конечно понятия не имею, но мне нравиться :lol:

P.S. Жаль что маршрутные линйные темы я так и не осилил. Вроде просто, но пока шо это не наш уровень. :oops:
Подвергай все сомнению

Ответить

Вернуться в «Arcview GIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей