Построил буферную зону сначала этим способом: изменить-линии-новый линейный объект-буфер для выбранного.
Затем следующим: изменить-полигоны-новый полигональный объект-полигональный буфер по линиям
и для сравнения в версии 6,8.
и вот что получилось:
Зелёный пунктир - линейный буфер по линии из 10 версии (1-ый способ создания).
Синий пунктир - полигональный буфер по линии из 10 версии (2-ой способ создания)
Красная линия - буферка из 6,8
Всё бы ничего, но это буфер на 1000 м.
Почему такое расхождение в указанных местах? Замерял расстояние - оно действительно менее 1000 метров.
Проверялось всё на демо-регионе.
По своим данным, на запутанных участках рек, разница доходила до 200 метров.
На 2000 и 3000 метров ещё не проверял. Так же не проверял построение буферки по полигональной реке.
Буферные зоны. Разные способы создания. ЗАПРОС к T.S.
Сообщений 1 страница 15 из 15
Поделиться120.02.2019 13:42:22
Поделиться220.02.2019 20:59:56
Когда линий, относительно которой строится буфер, столь сложная, программа вынуждена её как-то сглаживать (в "сыром" виде такая эквидистанта будет содержать кучу "бантиков" - самопересечений), алгоритм сглаживания может быть разным в разных вариантах, может также использоваться некоторый шаг прохода по исходной линии, чтобы уменьшить сложность"бантиков". Эквидистанта "по классике" отсчитывается по перпендикуляру к линии в каждой точке, а при такой форме линии большая часть перпендикуляров будет далека от перпендикуляра к сглаженному варианту линии, который мы оцениваем глазами. И измерять расстояние тоже можно от самых разных участком линии, поэтому по-моему - это проблема сглаживания результата эквидистанта относительно слишком сложной по конфигурации линии.
Что-бы попробовал сделать я:
1. построил полигональную буферную зону относительно линии с шириной 50-100 м (чтобы меандры реки оказались ей сглажены, но отступ был минимальным);
2. построил полигональную буферную зону относительно ранее построенного буферного полигона размером, соответственно, 950-900 м.
Я думаю, результат удовлетворит Вас больше.
Поделиться321.02.2019 00:59:55
Красная линия - буферка из 6,8
это проблема сглаживания результата эквидистанта относительно слишком сложной по конфигурации линии
Зелёный пунктир - линейный буфер по линии из 10 версии (1-ый способ создания).
А вот тут я бы не советовал собирать "микро- и нано-бантики", вообще бы не советовал, а перешёл к
Синий пунктир - полигональный буфер по линии из 10 версии (2-ой способ создания)
и не парился бы. А что такое 6.8 - я не знаю.
Поделиться421.02.2019 08:01:10
Что-бы попробовал сделать я:
1. построил полигональную буферную зону относительно линии с шириной 50-100 м (чтобы меандры реки оказались ей сглажены, но отступ был минимальным);
2. построил полигональную буферную зону относительно ранее построенного буферного полигона размером, соответственно, 950-900 м.
Двойная работа.
Попробовал. буферка совпала с той, что была сделана в 6,8.
Отредактировано Юрий (21.02.2019 08:17:01)
Поделиться521.02.2019 08:27:32
Почему при построении буферки через Изменить-Полигоны-Новый полигональный объект-Буфер или Изменить-Полигоны-Новый полигональный объект-Буфер для выбранного строиться только линия?
Хотя изменить-полигоны-новый полигональный объект-полигональный буфер по линиям строиться полигон.
И в том и в другом случае используется подменю Полигоны
Поделиться621.02.2019 16:45:20
А вот тут я бы не советовал собирать "микро- и нано-бантики", вообще бы не советовал, а перешёл к
Юрий написал(а):Синий пунктир - полигональный буфер по линии из 10 версии (2-ой способ создания)
и не парился бы.
А вот нельзя переходить.
Проверил построение буферов в 3-х различных гис-программах и результат близок к буферке из 6,8. Расхождения минимальные.
Топол "подвирает" на извилистых реках и большом базисе. Надо что то делать. Вариант двойного построения годиться для разовой работы, в массовой - тянет время.
Отредактировано Юрий (21.02.2019 16:46:17)
Поделиться722.02.2019 03:03:54
А вот нельзя переходить.
Юра, а чего столько времени молчали? Буферизация работает с 9-й версией, была введена по нашей просьбе с Алексеем, поскольку строилась раньше по одной линии, игнорируя смежные и последующие по принципу: одна линия - один буфер. Кроме того, построение буфера по извилистым объектам приводило и приводит к образованию бантиков и особенно в микроскопических размерах, которые практически невозможно было выявить визуально, только по выборке с подсветкой межквартальных линий. Проблема была решена созданием полигонального буфера по линиям.
Если река сильно виляет, то после создания полигонального буфера руками равняем линию буфера, поскольку при любом виде буфера она будет иметь острые углы... то есть плавность линии мы можем сделать и в полуавтоматическом режиме, используя групповые операции - но это не то, что требуется для плавности линий. Поэтому выправляем руками. При правке точность радиуса естественно страдает, обычно в большую сторону. Но вот для ОЗУ - это совсем не критично. Для каких-то точных линейных объектов критично, но там и не нужна плавность, а нужно точное повторение контура через определённый промежуток расстояния.
Что-бы попробовал сделать я:
1. построил полигональную буферную зону относительно линии с шириной 50-100 м (чтобы меандры реки оказались ей сглажены, но отступ был минимальным);
2. построил полигональную буферную зону относительно ранее построенного буферного полигона размером, соответственно, 950-900 м.Я думаю, результат удовлетворит Вас больше.
Раз есть такая проблема, может сделать такую операцию в авторежиме, чтобы пользователь не проделывал двойную работу: например прописать в коде, что при выборе расстояния буфера более 100 метров, строился второй буфер относительно промежуточного буфера 50-100 метров, который в итоге и будет создан?
Поделиться822.02.2019 09:21:47
Юра, а чего столько времени молчали?
А кто ж мог предположить что потребуется такой режим работы?
при любом виде буфера она будет иметь острые углы...
Ни разу не наблюдал такого эффекта.
Раз есть такая проблема,
Проблема есть, и я её продемонстрировал. Могу свои данные показать - там разница почти 10%.
например прописать в коде, что при выборе расстояния буфера более 100 метров, строился второй буфер относительно промежуточного буфера 50-100 метров, который в итоге и будет создан?
Поддерживаю.
Поделиться922.02.2019 15:33:14
На взгляд мне ближе версии из 10-ки. Как бы правильнее форма буфера. А не сильно вы заморочились над этим? Приняли для себя более приемлемый вариант и делайте по нему.
Поделиться1022.02.2019 18:11:04
На взгляд мне ближе версии из 10-ки. Как бы правильнее форма буфера.
Тут правильность или не правильность определит прокуратура, когда у заготовителя на планшете замеряет линейкой при М 1:10000 8 см нерестовку вместо 10 и выставит такой счёт за заготовленную древесину. Регрессивный иск куда пойдет?
И процитирую снова
Проверил построение буферов в 3-х различных гис-программах и результат близок к буферке из 6,8. Расхождения минимальные.
Отредактировано Юрий (22.02.2019 18:13:28)
Поделиться1122.02.2019 18:56:29
Юра, а чего столько времени молчали?
Это самая большая проблема и не только по данной задаче. У нас почти все смотрится уже когда программист ушел от задачи и забыл половину того, что делал. С ходу решать вопросы можно на простых прогах с простым функционалом. А тут по сути две сложнейшие программы и только по нашей части количество условных строк давно перевалило за миллион.
Вернуть программистов к задаче, которая реализована давно очень дорого и никогда не быстро. Так что, запрос мы, конечно, сделаем, но придется ждать. Сколько не знаю. А пока пользуйтесь тем, что посоветовал Д.А.:
Что-бы попробовал сделать я:
1. построил полигональную буферную зону относительно линии с шириной 50-100 м (чтобы меандры реки оказались ей сглажены, но отступ был минимальным);
2. построил полигональную буферную зону относительно ранее построенного буферного полигона размером, соответственно, 950-900 м.
Я думаю, результат удовлетворит Вас больше.
Поделиться1225.02.2019 10:57:38
Вернуть программистов к задаче, которая реализована давно очень дорого и никогда не быстро. Так что, запрос мы, конечно, сделаем, но придется ждать.
Тогда в пожеланиях тему создам. Скорее всего две темы. Одна, собственно, по буферка по извилистой реке, а другая - создавать слой буферки в отдельный блок.
Ну не нравиться мне когда буфер прорисовывается в этом же блоке
Отредактировано Юрий (25.02.2019 11:02:47)
Поделиться1325.02.2019 11:27:10
Тогда в пожеланиях тему создам.
Ну эту то тему проще перенести туда, чем создавать новую. Все таки, было уже какое то обсуждение, не стоит терять. Где создавать буфер отделять может и не стоит. Задача близкая и решать нужно одновременно.
Перенесу сегодня.
Поделиться1426.03.2019 17:13:35
Как продвигается?
Поделиться1531.05.2021 11:37:58
Инженера с подобной проблемой снова обращаются. Похоже продвижек нет никаких?
Это нельзя никак реализовать?
Раз есть такая проблема, может сделать такую операцию в авторежиме, чтобы пользователь не проделывал двойную работу: например прописать в коде, что при выборе расстояния буфера более 100 метров, строился второй буфер относительно промежуточного буфера 50-100 метров, который в итоге и будет создан?
Могу направит свои данные для объективности.
Отредактировано Юрий (31.05.2021 11:39:41)