SASGIS

Веб-картография и навигация

Разбивка выделения при закачке на части

Запрашиваем и выполняем хотелки к SAS.Планете вне очереди

Модераторы: vdemidov, Tolik

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.

Re: Разбивка выделения при закачке на части

Сообщение zed » 07 май 2016, 12:41

Окошки то откроются и все будет понятно. Рабочие потоки будут запускаться как сейчас, на вход им будет передаваться билдер, который по запросу будет начинать выполнение расчетов.

Твои комментарии мне напоминают выражение: "не видел, но осуждаю". Исходи из того, что я хочу сделать как лучше/красивше/производительнее и таки в программировании не абсолютный новичек.

А вот идея спрятать все в итератор, мне кажется дикой. Вместо того, чтобы спрятать всю логику в одном месте (в таск билдере), ты хочешь размазать ее по всем существующим итераторам? И это ты называешь проще?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 07 май 2016, 14:20

zed писал(а):А вот идея спрятать все в итератор, мне кажется дикой. Вместо того, чтобы спрятать всю логику в одном месте (в таск билдере), ты хочешь размазать ее по всем существующим итераторам? И это ты называешь проще?

Смотри, подсчет тайлов в полигоне и так живет в отдельной функции. А вот выбор стартового тайла по относительному смещению это дело именно конкретного итератора. Так как оно будет совершенно разным для разных типов итераторов (спиральный, посточный, поколоночный и тд.). Так что именно в итераторе ему и место.

zed писал(а):Твои комментарии мне напоминают выражение: "не видел, но осуждаю". Исходи из того, что я хочу сделать как лучше/красивше/производительнее и таки в программировании не абсолютный новичек.

Ну, скажем так, я начинаю наезжать, только если имею свое четкое представление как какая-то часть должна выглядеть. Когда такого понимания нет - я не вмешиваюсь, как было, например, с новой базой меток, или с операциями над полигонами и тд.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 07 май 2016, 14:25

Если я все правильно помню (нет кода перед глазами), сейчас итератор выполняет не свойственную ему работу - подсчет тайлов. Поскольку это число в самом итераторе никак не используется и в общем случае этот код надо бы вынести в какой-нибудь TileCountCalc. А ты теперь хочешь навесить на итератор еще одну задачу? Не надо. Лучше сделать RegionSplitter который сможет делить область как нам надо. А итератору мы только можем сказать чтобы он ходил не с начала и до конца, а с какой-то и до какой-то точки.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 07 май 2016, 14:33

Со спиральным итератором вообще все крайне сложно.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 07 май 2016, 14:58

В общем, достала меня эта тягомотина и после праздников буду делать так, как это себе представляю. Если по политическим причинам код не войдет в основную ветку, будет жить в форке. Вознаграждения от заказчика требовать не буду.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 09 май 2016, 22:31

zed писал(а):Если я все правильно помню (нет кода перед глазами), сейчас итератор выполняет не свойственную ему работу - подсчет тайлов. Поскольку это число в самом итераторе никак не используется и в общем случае этот код надо бы вынести в какой-нибудь TileCountCalc.

Он уже давно вызывает отдельную функцию.

zed писал(а):Лучше сделать RegionSplitter который сможет делить область как нам надо.

Откуда этот RegionSplitter узнает порядок обхода? Это знает только конкретный итератор.

zed писал(а):Со спиральным итератором вообще все крайне сложно.

Вот именно поэтому и нужно это делать только в конкретно одном итераторе по полигону.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 136 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 10 май 2016, 20:28

vdemidov писал(а):Он уже давно вызывает отдельную функцию.

А это не важно. Неужели тебе не понятно, что в этом месте, архитектурно, явно плохой код? И ты будешь спорить, что вынос считалки количества тайлов в отдельную сущность, ввиду высокой сложности задачи, является плохим решением? Особенно, в свете того, что есть/может быть несколько алгоритмов реализации подсчёта тайлов?
vdemidov писал(а):Откуда этот RegionSplitter узнает порядок обхода? Это знает только конкретный итератор.

А ему и не надо знать порядок. Ему надо разбить область так (на столько частей), чтобы любой итератор мог по ней пройтись. Т.е. если его попросить разбить область на 3 части, это не значит что он обязан вернуть 3 полигона. Он может вернуть 3 набора полигонов, по которым можно построить 3 итератора (если каждый набор полигонов представлен мультиполигоном) или 3 набора итераторов, если набор это одиночные полигоны/прямоугольники.

Потом, могут быть разные алгоритмы разбиения области. Вот тут заказчик просит разбить её по числу тайлов, а кому-то может захочется разбить на прямоугольники (как в примере в wiki) или ещё каким хитрым образом. А ты гвоздями прибиваешь это к итератору.
vdemidov писал(а):Вот именно поэтому и нужно это делать только в конкретно одном итераторе по полигону.

Неправильный вывод. Именно поэтому и не нужно связывать логику разбиения, с порядком обхода отдельных видов итераторов. Иначе, у тебя опять пострадает архитектура.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 10 май 2016, 20:30

zed писал(а):Да, такой вариант возможен.

Можно ли как-то сделать так, чтобы патчить произвольно взятую текущую версию данной фичей? Батник+перепомпилирование там, или еще как-то...UX в процессе неважен - лишь бы фича работала потом на базе .current-версии.
?

zed писал(а):будет жить в форке. Вознаграждения от заказчика требовать не буду.

Если хотелка будет работать согласно запрошенного - то она, разумеется, будет оплачена. В одной версии, или во всех - это уже детали (см. выше). Санта-Барбара со включением в основные ветки и прочий политес - не нужны.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 10 май 2016, 20:37

Parasite писал(а):Можно ли как-то сделать так, чтобы патчить произвольно взятую текущую версию данной фичей?

Автоматически, конечно, не получится. Но руками, по запросу, вполне возможно будет смержиться с основной веткой.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 10 май 2016, 20:41

zed писал(а):руками, по запросу

А батником, без запросов, и на моей стороне (с пошаговым описанием процесса мне, любимому)? Рекомпиляцию и прочее, разумеется - беру на себя, если будет описание процесса и все нужные тулзы (ну не программер я...).
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 460 раз.

Пред.След.

Вернуться в Внеочередное исполнение хотелок

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

Сейчас этот форум просматривают: Google [Bot] и гости: 1