Редактирование линейных объектов

0 голосов
спросил 05 Май, 09 от Raptor (540 баллов) в категории Программные продукты Esri
Добрый день! Столкнулся со следующей задачей:
- есть шэйп-файл (polyline), содержащий разнориентированные линии (отрезки) различной длины
- необходимо изменить размер каждой линии (в процентах от первоначальной длины, либо в абсолютных единицах), так чтобы начальный узел оставался на своем месте и сохранялось направление линии.

Сейчас я выделяю каждую линию, беру конечный узел и тяну его до получения новой длины отрезка, при этом работать приходится при очень большом увеличении, получаемая точность не удовлетворяет и затраты времени огромные.
Есть ли какие-нибудь средства облегчающие решение данной задачи?
Заранее спасибо за ответ!

8 Ответы

0 голосов
ответил 05 Май, 09 от Nikabr (2,260 баллов)
могу посоветовать использовать Trim to lengh (правой кнопкой мыши по обьекту в режиме редактирования узлов). Это позволит точно обрезать линию на заданную длинну при сохранении её направления. Но это не на много облегчит ваши мучения. Подождите щас придут гуру и чего-нибудь посоветуют более стоящее.
0 голосов
ответил 05 Май, 09 от geologic (39,860 баллов)
Это вообще кадовская операция, соответственно функции Trim (Extend) вполне к месту, буде таковые отыщутся. Еще такие средства встроены в пакеты COGO (например, EditTools).

Менять автоматически разумеется, скрипт нужно сочинять. Вряд ли есть готовый - уж больно задача оригинальная - всем сразу :(

Не так давно обсуждалось "изменить размер всем полигонам сразу", но поискал - не нашел, мож, кто помнит.
    
0 голосов
ответил 05 Май, 09 от Raptor (540 баллов)
Большое спасибо за ответы!
Проблема решилась тривиально - в режиме редактирования правой кнопкой на конечном узле -> Сократить. При этом отрезок сохраняет свое начало и направление.

Сейчас возник еще один вопрос про те же отрезки. Мы можем привязать начало отрезка к определенной координате (X,Y), правой кнопкой на узле -> Переместить в... и скопировать нужную координату. Но объем очень большой и данную работу возможно придется проделывать не один раз. Хотелось бы данную процедуру упростить.
В файле Exel собраны координаты точек, начало отрезка должно идти из этих точек. Можно ли как-то совершая меньше телодвижений, выбрав нужный узел (начало отрезка) привязать его к координате определенной точки из Exel-файла?
0 голосов
ответил 05 Май, 09 от Raptor (540 баллов)
Еще подскажите пожалуйста где можно скачать небольшие простенькие примеры VBA-скриптов для ArcGIS (возможно близкие к решению моей задачи). Кое-что для Exel писать могу, может что и для GIS получится )
0 голосов
ответил 05 Май, 09 от Worker (22,480 баллов)
На http://edndoc.esri.com масса примеров. Ну и, конечно, http://arcscripts.esri.com. Еще http://edn.esri.com/index.cfm?fa=downloads.gateway
0 голосов
ответил 05 Май, 09 от Worker (22,480 баллов)
В догонку - http://resources.esri.com
0 голосов
ответил 05 Май, 09 от geologic (39,860 баллов)
Если у вас есть координаты обоих точек, то отстроить отрезки можно с помощью EditTools - точки в линии.

Если известна только одна точка, то координаты второй можно вычислить, зная направление (азимут) и длину отрезка - простая тригонометрия, посильная для Экселя. В итоге у вас будет таблица пар точек, которую можно будет подать на вход в EdiTools - "Сборка точек в полилинии". Вполне типовая ГИС-задача.
    
0 голосов
ответил 06 Май, 09 от Raptor (540 баллов)
Спасибо, масса информации. Буду разбираться! )
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...