SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0003544 | SAS.Планета | [All Projects] Хотелка | public | 18-08-2019 11:29 | 20-08-2019 07:06 |
|
Reporter | RiverMap | |
Assigned To | zed | |
Priority | normal | Severity | tweak | Reproducibility | always |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 190707 | |
Target Version | 191221 | Fixed in Version | 191221 | |
|
Summary | 0003544: Операция создания области по треку работает совершенно неудовлетворительно |
Description | Функция с точки зрения наличия есть, а с точки зрения применения - ее нет вообще.
Категория поставлена как Хотелка, хотя это скорее функциональный баг.
По крайней мере в тех условиях, в которых я бы смог использовать эту функцию.
Дело, видимо, в постановке задачи.
Вопрос: в чем смысл этой функции?
Имхо, обеспечить покрытие такой области, чтобы расстояние от ЛЮБОЙ ТОЧКИ трека до ближайшей точки границы области было равно заданному, скажем, плюс-минус 1%.
Выполняет ли функция эту задачу? Очевидно, нет.
Сейчас функция покрывает лишь часть требуемой области.
Примерно от 1% до 100% при большой удаче. А в среднем ~ 80% от заданного.
После ее использования приходится в обязательном порядке брать мышку и редактировать область на всем ее протяжении по всем точкам.
Другими словами, создавать заново с нуля.
Хорошо, что есть инструмент с неудачным названием "Измерить окружность", очень помогает. Правильнее его назвать "Задать окружность". |
Steps To Reproduce | Берем трек, применяем к нему функцию "Операции с выделенной областью", задаем параметр =1000. |
Additional Information | Прилагаю участок реального маршрута по малой реке, по которому построена область с параметром radius =1000м.
Также там нарисованы окружности с центром на треке и радиусом =1000м
Хорошо видно, что даже на концевых точках область заполняется не полностью.
А справа от крайней правой точки трека вообще беда, трек практически касается границы области. |
Tags | No tags attached. |
Relationships | related to | 0003439 | closed | vdemidov | Выделение вдоль пути создаёт область с границами не везде параллельными пути | related to | 0002049 | resolved | zed | Необходимо переделать выделение области вокруг пути (трека) | related to | 0003548 | confirmed | | Вынести в настройки параметры генератора полигона вокруг трека |
|
Attached Files | SAS_Область=1км+Окр.jpg (91,174) 18-08-2019 11:29 http://www.sasgis.org/mantis/file_download.php?file_id=2341&type=bug
|
|
Issue History |
Date Modified | Username | Field | Change |
18-08-2019 11:29 | RiverMap | New Issue | |
18-08-2019 11:29 | RiverMap | File Added: SAS_Область=1км+Окр.jpg | |
18-08-2019 14:14 | zed | Note Added: 0019249 | |
18-08-2019 15:14 | RiverMap | Note Added: 0019250 | |
18-08-2019 15:17 | zed | Note Added: 0019251 | |
19-08-2019 06:25 | Tolik | Note Added: 0019252 | |
19-08-2019 07:55 | zed | Summary | Операция создания области по треку работает совершенно неудовлетворительно. => Операция создания области по треку работает совершенно неудовлетворительно |
19-08-2019 07:55 | zed | Description Updated | bug_revision_view_page.php?rev_id=7450#r7450 |
19-08-2019 07:56 | zed | Product Version | => 190707 |
19-08-2019 07:57 | zed | Note Added: 0019254 | |
19-08-2019 07:57 | zed | Status | new => feedback |
19-08-2019 07:59 | zed | Relationship added | related to 0003439 |
19-08-2019 08:00 | zed | Relationship added | related to 0002049 |
20-08-2019 02:41 | RiverMap | Note Added: 0019273 | |
20-08-2019 02:41 | RiverMap | Status | feedback => new |
20-08-2019 02:47 | RiverMap | Note Edited: 0019273 | bug_revision_view_page.php?bugnote_id=19273#r7454 |
20-08-2019 02:51 | RiverMap | Note Edited: 0019273 | bug_revision_view_page.php?bugnote_id=19273#r7455 |
20-08-2019 05:38 | RiverMap | Note Added: 0019275 | |
20-08-2019 06:53 | zed | Relationship added | related to 0003548 |
20-08-2019 07:06 | zed | Note Added: 0019277 | |
20-08-2019 07:06 | zed | Status | new => resolved |
20-08-2019 07:06 | zed | Fixed in Version | => 191221 |
20-08-2019 07:06 | zed | Resolution | open => fixed |
20-08-2019 07:06 | zed | Assigned To | => zed |
20-08-2019 07:06 | zed | Target Version | => 191221 |
Notes |
|
(0019249)
|
zed
|
18-08-2019 14:14
|
|
В следующей ночной версии эта функция будет работать точнее, по крайней мере не должно быть бага "трек практически касается границы области". Правда, скорость генерирования упадёт в 10 раз.
Параметры генератора можно/нужно вынести в настройки, чтобы каждый мог выбрать для себя баланс между необходимой точностью и производительностью. Там в общем-то всего два параметра, но из-за того, что конфига раньше вообще не было, много писанины... |
|
|
|
Вот это правильное решение!
Если есть функция, имеющая параметры, все они должны быть доступны для юзера, хотя бы через файл настроек, если уж не через UI.
Не надо считать юзеров идиотами, кто хочет, пусть настраивает прогу под себя, ну а если что, всегда далжна быть возможность вернуть функцию к умолчаниям.
Да и компы у всех разные, у кого маломощный субноут, а у кого и водонапорная башня, которая под столом не умещается. |
|
|
(0019251)
|
zed
|
18-08-2019 15:17
|
|
Ну, это не решение, а просто мысли вслух. Кому это критично, пусть занимается. |
|
|
(0019252)
|
Tolik
|
19-08-2019 06:25
|
|
Что значит "совершенно неудовлетворительно"? Для той задачи, для которой она была написана, она работает совершенно удовлетворительно. А именно, для скачивания некотрой области вокруг трека, состоящей из квадратных тайлов. Причем неважно, если где-то скачается больше, где-то меньше.
У вас, очевидно, другая задача. Какая? Для чего нужна высокая точность? |
|
|
(0019254)
|
zed
|
19-08-2019 07:57
|
|
Результат, который даёт текущая ночная версия, всё ещё неудовлетворителен для вас? |
|
|
(0019273)
|
RiverMap
|
20-08-2019 02:41
(edited on: 20-08-2019 02:51) |
|
Tolik, нужна не какая-то особо высокая точность, нужно покрытие области вокруг трека тайлами в пределах заданного расстоянием от него, чтобы в дальнейшем, когда эта область используется для экспорта карты, в навигаторе была карта по всему треку, а не кусками - там есть, там нет.
А если, как вы говорите "неважно, если где-то скачается больше, где-то меньше", в карте будет полно пробелов, что совершенно неприемлемо.
Вообще непонятно, почему сейчас область строится путем ВПИСЫВАНИЯ отрезков в окружности с центрами в точках трека.
Очевидно же, создаваемая область должна покрывать трек снаружи окружностей, по касательной к ним, а не изнутри. Только так можно обеспечить полное покрытие области и сохранить умеренную точность алгоритма.
|
|
|
|
zed, версия 2019-08-19 строит область гораздо лучше, худшее расстояние от трека до границы области уже не нуль, а 76% от заданного.
По скорости, кстати, разницы я не заметил, все мгновенно.
Так что точность я бы ещё прибавил. |
|
|
(0019277)
|
zed
|
20-08-2019 07:06
|
|
Когда будет реализован 0003548 тогда и сможете прибавить точности, а пока что дефолт будет таким. Задайте радиус 1200м, вместо 1000м и будет вам покрытие с запасом.
А вот тут можно взять бинарник со вшитыми настройками "по максимуму":
- число точек окружности 64
- максимальная погрешность 0,1% от радиуса
Скорость работы алгоритма можно посмотреть (и сравнить) в меню Вид - Debug Info и включить фильтр по строке LineToPoly. |
|