Вот тут ещё вопрос. Можно ли выбрать линии являющиеся границей квартала? Вроде где видел такой запрос.
Выборка квартальных просек. ОТВЕТИЛИ
Сообщений 1 страница 14 из 14
Поделиться213.07.2017 23:32:25
И собрать и свести границы между ними нереально.
Элементарно. Двум, трем руководителям ЛУ структур указать на дверь без выходного пособия и все остальные сразу все соберут. У Вас просто руководителя всей отрасли нормального нет уже почти лет 30-ть...
Можно ли выбрать линии являющиеся границей квартала?
"Меню дерева - Специальные выборки линий - Выбрать границы кварталов".
Поделиться314.07.2017 10:42:52
Это просто выборка квартальных просек а не границ всего квартала.
Поделиться414.07.2017 12:14:39
Это просто выборка квартальных просек а не границ всего квартала.
Окружные границы там отдельно.
А если нужно все вместе то:
"Поиск - Выбрать в карте - По запросу - Просеки". Это топологический поиск всех линий, разделяющих кварталы как между собой так и со смежествами:
CALCVALUE('D:\LesIS\_Les\ToPas\VyborKvrGranicy.tps')
Поделиться515.07.2017 11:14:14
Понятно. Хорошо бы эти две эти функции в одну объединить или сделать так чтобы не освобождались при выборе другого. Но тогда нужна кнопка освободить всё. По сути получится та же покварталка. Надо попробовать.
Поделиться615.07.2017 14:17:57
Понятно. Хорошо бы эти две эти функции в одну объединить
Сергей, это уже есть, ты невнимательно прочитал:
А если нужно все вместе то:
"Поиск - Выбрать в карте - По запросу - Просеки".
Эта функция выделяет как раз все границы по признаку идентификации поля номер квартала слева и справа от линии.
Перенести ее на кнопку в меню дерево да, можно.
Поделиться715.07.2017 17:25:54
В меню дерева обе кнопки есть. Одна выбирает окружные границы, другая квартальные. Но вместе они не работают так как освобождают линии перед выборкой и надо идти как ты говоришь в Поиск. Из одной программы в другую.
Поделиться816.07.2017 07:33:00
Но вместе они не работают так как освобождают линии перед выборкой и надо идти как ты говоришь в Поиск. Из одной программы в другую.
Перенести ее на кнопку в меню дерево да, можно.
Тема будет перенесена в Пожелания.
Поделиться917.07.2017 13:28:20
В следующей сборке (721 или далее) будет запрос перед отменой выборки линий.
Поделиться1022.10.2018 10:55:24
Добрый день. При выборе границ кварталов не выбираются линии, разделяющие кварталы. В чем может быть проблема? Внешние границы кварталов отображаются без проблем
Поделиться1122.10.2018 14:21:01
При выборе границ кварталов не выбираются линии, разделяющие кварталы. В чем может быть проблема?
Программа по-очереди анализирует все линии и смотрит для каждой линии идентификаторы полигонов - поле KvrNom - для полигона слева и полигона справа, если они содержат номера и эти номера разные, значит это граница полигона. Проверьте, есть ли у Вас идентификация полигонов в поле KvrNom, топология линий (вкладка Дополнительная информация, кнопка Перезагрузка) - номера левого и правого полигонов.
Поделиться1223.10.2018 12:00:19
Проверили номера левого и правого полигонов - номера разные для каждого квартала. При этом в другом участковом лесничестве границы кварталов отображаются без проблем.
Поделиться1323.10.2018 12:48:37
При этом в другом участковом лесничестве границы кварталов отображаются без проблем.
Как создавался блок? Был импорт из 6-ки? Из других ГИС? Было ли слияние частей блока в данном блоке? Не создавали поля в блоке сами?
Что пока могу предложить. Скопировать линии в другой блок, затем через операцию полигоны в точки и затем создать полигоны по точкам. Очень действенный метод. Создать как бы копию блока.
Поделиться1423.10.2018 13:15:53
Попробуйте тогда выполнить макрос выбора квартальной границы VyborKvrGranicy.tps, он есть в каталоге макросов \ToPas
От него отказались, так как он работал медленно на больших объектах. Но может быть он чего-то расскажет о Ваших проблемах.
Valuemacro VyborKvrGranicy;
{ TopoL L2
Выделение квартальных границ.Вер. 1.0 © Старостенко Д.А., 2012 год }
{ Имена полей БД:
KVRNOM - номер квартала
}var
ResultValue : string;
numL, indL, KvrL, KvrR : longint;
Ret : boolean;begin
ResultValue := 'F';
for indL := 1 to %NUMEDGES do
begin
numL := %AREEDGE(indL);
if (not %[L, numL]Selected) and
(%[L, numL]LAREA > 0) and (%[L, numL]RAREA > 0) then
begin
KvrL := @[%[L, numL]LAREA]KVRNOM;
KvrR := @[%[L, numL]RAREA]KVRNOM;
if (KvrR <> KvrL) and (KvrL > 0) and (KvrR > 0) then
Ret := %[L, numL]SelectObj;
end;
end;
end.
Отредактировано Дмитрий Александрович (23.10.2018 13:21:32)