Ru-Board.club
← Вернуться в раздел «Программы»

» SatMap (2)

Автор: relictus
Дата сообщения: 19.05.2010 12:27
netrebos

Цитата:
Почему же оперативка с трудом справляется с 15 копиями?

Оперативка тут ни причем, скорее проц не тянет... да и что значит "с трудом справляется"?
Кстати, ты забыл еще про выделение памяти под внутренний кэш...
Автор: egor23
Дата сообщения: 19.05.2010 13:11
netrebos

Цитата:
Т.е при параметре "1 вставка в БД; размер кеша 2000 страниц" в ОЗУ должно отъедаться 32 мб.

это только кэш №3 отъдает столько
SatMap только после зупуска использует больше 20МБ
SatMap при небольшом выделении (5000), использует примерно 60МБ (по-умолчанию), если запустили SatMap и "сразу" начали качать: 20МБ+32МБ+xМБ(ещё несколько МБ)=60МБ
далее зависит от области выделения, SatMap хранит список закачки в памяти.
Автор: relictus
Дата сообщения: 19.05.2010 13:26

Цитата:
SatMap хранит список закачки в памяти.

Вот, точно! Я забыл упомянуть самое главное!
Автор: zporuchik
Дата сообщения: 19.05.2010 13:35
netrebos

Цитата:
Почему же оперативка с трудом справляется с 15 копиями?

"...От до чего ж люди до чужого добра жадными бывают!..." (c) почтальон Печкин
Автор: netrebos
Дата сообщения: 19.05.2010 14:32
zporuchik

egor23
Спасибо, теперь эти параметры уложились в голове.
Автор: egor23
Дата сообщения: 19.05.2010 17:47
relictus
multi-версия будет?
Автор: relictus
Дата сообщения: 20.05.2010 07:19

Цитата:
multi-версия будет?

Вот она: satmap_v2.3.7_multi_exe
Автор: egor23
Дата сообщения: 21.05.2010 12:57
Очистиь внутренний кэш - как-то странно очищает его, неполностью вроде
Автор: relictus
Дата сообщения: 21.05.2010 13:05
egor23

Цитата:
Очистиь внутренний кэш - как-то странно очищает его, неполностью вроде

Это ты как выяснил?
Автор: egor23
Дата сообщения: 21.05.2010 13:53
relictus

Цитата:
Это ты как выяснил?

ааа, вообщем, показалось
Автор: nemo3001
Дата сообщения: 22.05.2010 03:29
Хотел добавить еще несколько предложений по доработке программы.
    При закачке:
    ---------------
    1. добавить возможность формировать список закачки не только из выделения на экране, но и на основании имеющихся в кэше тайлов, прибавив уровень относительно них. Например, если в кэше уже есть тайлы 16 уровня какой-либо территории, то хорошо бы иметь возможность сформировать список на основе этого кэша для закачки соответствующих тайлов 17 уровня (просто включив в новый список для каждого имеющегося тайла 16 уровня - по 4 тайла 17 уровня, которые покрываются имеющимся тайлом).
    Диалог мог бы выглядеть двумя списками уровней от 1 до 24: первый - с активными позициями в соответствии с содержимым активного кэша, а второй - с активными позициями большего уровня для включения в новый список. Разумеется, при составлении нового списка закачки в него по-прежнему не должны включаться имеющиеся в подключенных кэшах тайлы.
    2. добавить возможность попасть в окно закачки через кнопку на панели инструментов или пункт меню - для начала закачки по готовому списку. Сейчас для этого приходится выделить на экране произвольный контур и делать двойной щелчок мыши, хотя контур и не нужен, если закачать планируется готовый список. Постоянное рисование загадочных фигурок перед началом закачки по готовому списку напоминает уже часть магического ритуала .
    Видимо в программе есть проверка наличия такого выделения перед началом закачки, так как если уже после открытия окна "Выделение произвольной области" случайно снять выделение, щелкнув в главном окне мышью, то кнопка "Выполнить" перестает срабатывать, закачка по списку не начинается, пока снова не выделишь в главном окне какую-нибудь область. Возможно стоит не проводить такую проверку, если стоит пометка "закачка по списку".
    При таком входе в окно закачки без наличия выделенной области можно было бы просто сделать неактивными в диалоговом окне закладки "Скачать" группу "Слой" и "Уровни" (остальное может пригодиться), а также неактивными сделать закладки "Экспорт" и "сохранить выделение в файл" (или все объекты на этих закладках).
    3. при запуске очередного экземпляра программы в мультиверсии SatMap, если конечно это технически возможно, поместить бы в заголовок окна порядковый номер экземпляра программы на момент его запуска и в заголовок окна закачки тот же номер, а то при наличии на экране нескольких экземпляров главного окна и нескольких окон закачки бывает сложно идентифицировать их, например, изменяя настройки программы отличить один экземпляр программы от другого.
    Конечно, в процессе работы могут завершать работу одни экземпляры программы, запускаться новые. Порядковый номер очередного экземпляра программы при запуске видимо можно было бы формировать, просмотрев заголовки главного окна всех уже запущенных процессов SatMap, прочитав из них порядковые номера экземпляров программы и выбрав для нового процесса следующий по возрастанию порядковый номер.


Добавлено:

    Наверное многовато предложений разных высказываю, но это же только пожелания, игнорирование тех из них, что кажутся бестолковыми, вполне нормально, выбирает из них что-то для реализации все равно автор программы .

    Еще одно предложение для доработки программы при закачке:
    4. если это технически возможно, вывести бы в заголовок окна запроса капчи время появления этого запроса, все равно в заголовке этом пусто . А так было бы видно, сколько минут/часов простаивает закачка, да и информацию о частоте появления капчей в зависимости от разных условий загрузки легче было бы анализировать.
Автор: burekbrigada
Дата сообщения: 23.05.2010 09:20
nemo3001

Only 3 posts but 3 good ideas:

Цитата:
вывести бы в заголовок окна запроса капчи время появления этого запроса

+, IMHO don't need further explanation

Цитата:
поместить бы в заголовок окна порядковый номер экземпляра программы на момент его запуска

This is much more important! Not (only) for the reasons you mentioned, but this would allow API and command line support for "multi" version!

Цитата:
если конечно это технически возможно

Yes it's possible, I used that approach in some of my programs, just not so easy to achieve.

Цитата:
Очень не хватает простого доступа из командной строки к режиму закачки тайлов, предположим с форматом - "SatMap.exe /download <список закачки> <имя кэша для заполнения>


+++
I started to write mail to relictus about this, when I saw your post
Think about scheduler: you tell SatMap to download some area when you go to sleep (for dial-up users - when calls are cheap), with this cl switch it would be easy.
Автор: relictus
Дата сообщения: 24.05.2010 08:45
nemo3001
Прям генератор идей
Отвечаю:
п.1 - ИМХО, овчинка выделки не стоит...
п.2 - для закачки по списку используй кнопку прямоугольного выделения, окно появляется без каких-либо шаманских жестов
п.3 - наверное, можно и сделать
п.4 - будет в след. версии

Добавлено:
burekbrigada

Цитата:
Цитата: Очень не хватает простого доступа из командной строки к режиму закачки тайлов, предположим с форматом - "SatMap.exe /download <список закачки> <имя кэша для заполнения>

И ты туда же! Придумываешь мне лишнюю работу - мне на более нужные вещи времени не хватает
Мне проще это добавить в API, чем в обработку командной строки...
Автор: burekbrigada
Дата сообщения: 24.05.2010 12:26
relictus

Цитата:
И ты туда же! Придумываешь мне лишнюю работу - мне на более нужные вещи времени не хватает
I just support good ideas

Цитата:
Мне проще это добавить в API, чем в обработку командной строки

I'm fine with API (for me it's even better than cl), I would add this cl switch to GeoKnife or write simple separate cl utility.

Автор: alexey_l
Дата сообщения: 30.05.2010 23:58
Relictus, спасибо за программу!
Есть несколько пожеланий:
1. Добавить поддержку выделения созданного в Google Earth, там тоже выделение можно сохранить в формате kml. С точки зрения создания выделений, особенно произвольной формы, и их организации Google Earth все же удобнее. Отличия минимальны, по сути только в названии полей внутри kml.
2. снять ограничение на уровень, который можно скачать относительно текущего масштаба при произвольном выделении, ну или хотя бы добавить пару уровней.
3. добавить алгоритм масштабирования, при котором не подвижным остается место, в котором находиться курсор мышки.
Автор: relictus
Дата сообщения: 31.05.2010 07:25
alexey_l

Цитата:
1. Добавить поддержку выделения созданного в Google Earth

Наверное можно. Пришли на e-mail образец такого kml.

Цитата:
2. снять ограничение на уровень

Невозможно, максимум = +8 уровней от текущего. Тайлы высших уровней становятся размером меньше пикселя - невозможно учитывать. Уже обсуждалось ранее...

Цитата:
3. добавить алгоритм масштабирования

Поставь галку в настройках на "при смене уровня центрирование по указателю мыши"
Автор: zporuchik
Дата сообщения: 31.05.2010 07:31
relictus

Цитата:
Уже обсуждалось ранее...

так и пофиг, что маленькие. их же не требуется отображать. да и 100% точности от тебя никто не требует. в САС ведь есть такая опция и нормально работает.
Автор: relictus
Дата сообщения: 31.05.2010 07:40

Цитата:
да и 100% точности от тебя никто не требует

Ага, не требует... потом начнется "а что это не все скачалось"? Проходили уже...

Цитата:
в САС ведь есть такая опция и нормально работает.

Не знаю, не проверял
Я вообще не в курсе, есть ли там произвольное выделение? Ты ж там как рыба в воде, сам проверь, насколько твое утверждение справедливо
Автор: zporuchik
Дата сообщения: 31.05.2010 08:15
relictus
есть там и произвольное и жалоб на точность не помню
Автор: relictus
Дата сообщения: 31.05.2010 08:24
zporuchik
хм.. специально посмотрел, кроме прямо- и полигонального больше никаких выделений нет! Как там нарисовать что-то типа такого:
Автор: zporuchik
Дата сообщения: 31.05.2010 08:53
relictus

Цитата:
Как там нарисовать что-то типа такого:

извращенец и что оно должно качать с таким выделением? ИМХО прямоугольного и полигонального (произвольного многоугольника) более чем достаточно
Автор: relictus
Дата сообщения: 31.05.2010 09:03
zporuchik

Цитата:
извращенец

Ну это я для демонстрации выделения только
Конечно, рассчитывать тайлы в области между точками несложного полигона много проще, чем на произвольном выделении...
Если кто знает алгоритм для рассчета координат тайлов произвольной области уровней > +8 от исходного, делитесь... внедрю в SatMap...
Автор: zporuchik
Дата сообщения: 31.05.2010 10:01

Цитата:
Если кто знает алгоритм

это не поможет?

ну и Вики

ну и совсем банально

Код: код Pascal/Delphi
var rgn: HRGN;
begin
rgn := CreatePolygonRgn(......);
if PtInRegion(rgn, x, y) then
// попали
end;
Автор: relictus
Дата сообщения: 31.05.2010 10:31
zporuchik
C определением принадлежит ли точка полигону проблем нет. Проблема в том, что уже на +9 уровне 1 пиксель охватывает 4 тайла (а дальше - еще больше)! И как определить, какой из этой четверки тайлов входит в выделенную область?
Автор: zporuchik
Дата сообщения: 31.05.2010 10:41
relictus
а при чем тут пиксель? или ты образуешь для произвольного выделения пиксельный мап и определяешь принадлежность точки по параметру совпадения с пикселем?
уходи от пикселей, оперируй математикой с координатами тогда не будет никаких проблем с масштабированием. вектор - рулит
Автор: relictus
Дата сообщения: 31.05.2010 11:03
zporuchik

Цитата:
или ты образуешь для произвольного выделения пиксельный мап и определяешь принадлежность точки по параметру совпадения с пикселем

Ага
С вектором не стал заморачиваться, уже не помню почему
Надо будет пересмотреть это дело...
Автор: zporuchik
Дата сообщения: 31.05.2010 11:06
relictus

Цитата:
Надо будет пересмотреть это дело...

обязательно. с математикой сейчас на компах проблем нет - вычислительные мощности позволяют.
Автор: nemo3001
Дата сообщения: 31.05.2010 14:07
relictus

Цитата:
Если кто знает алгоритм для рассчета координат тайлов произвольной области уровней > +8 от исходного, делитесь... внедрю в SatMap...

да вроде то, что народ просит - совсем несложно. Алгоритм используй тот, что есть в программе сейчас для уровня +8 от текущего, а для больших уровней просто учетверяй список от предыдущего уровня (для каждого тайла включай в список по 4 тайла, которые покрываются предыдущим уровнем), ну вряд ли будет на то масса возражающих. Выделил человек сложную область, старался, а углубить список как ему надо программа не дает... Ну а кто станет переживать, что 17 уровень у него неточно скачался относительно его крутого выделения на 5 уровне, так тому - инструктором снайперов только работать , а программа не снайпер, сделает все, что технически возможно, только и всего, зато и не ограничит тебя зря.
Автор: relictus
Дата сообщения: 31.05.2010 14:16
nemo3001
Можно и так, наверное... я не помню уже, почему сделал так, как есть сейчас... что-то не фунциклировало, видимо... посмотрю потом, ща другим голова занята
Автор: nemo3001
Дата сообщения: 31.05.2010 14:36
relictus

Цитата:
я не помню уже, почему сделал так, как есть сейчас...

Вероятно из-за "out of memory" при попытке генерации либо при закачке слишком большого списка...
Можно просто убрать ограничение на уровень, если стоит отметка "не скачивать, только генерировать список закачки", тут эта проблема не возникнет, если весь список не в оперативной памяти создавать, а в сразу в процессе генерации строк в файл dlist записывать.
Да и в процессе закачки списка произвольного размера избежать проблемы "out of memory" наверное не так сложно.
Программа, готовясь закачивать, видимо формирует в оперативной памяти свой, рабочий список закачки на основе списка, указанного пользователем, с пропуском имеющихся тайлов в подключенных кэшах.
Достаточно этот рабочий список закачки прямо в процессе его формирования записывать в этой же папке во временный текстовый файл и потом в процессе самой закачки последовательно считывать строки уже из него. Тогда кстати и имеющийся запрос по окончании закачки - о сохранении списка закачки - будет означать лишь "удалять ли файл рабочего списка закачки или не удалять его".

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: BitTorrent/BitComet/Azureus/BitTornado и др. / сеть и клиент


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.