Приветствую автора этой удачной программы и ее поклонников!
Поздновато обнаружив SatMap, успел активно попользоваться ею всего около 1 месяца. Замечания свои сгруппирую пока на две части - просмотр с помощью программы и закачка тайлов.
Просмотр:
---------
1. не срабатывает почему-то Alt+H для переключения в режим Гибрид, остальные горячие клавиши работают нормально (Alt+S,Alt+L,Alt+M), попробовал вроде на разных компах, положениях Рус/Лат и тп, может быть альтернативные клавиши дать возможность выбрать (например, Ctrl+Alt+буква или что-то еще по выбору автора)
2. список путевых точек удобен, но хотелось бы обработки двойного щелчка мыши на строке для перехода на соответствующую точку, а если бы еще и с "перелетом" к ней почти как в Google Earth
...
3. удобнейшая вещь - показать разграфку листов карт Генштаба, так и хочется иметь ее кнопкой на панели инструментов. Понятно, что панель инструментов не резиновая, пометить бы в настройках программы отображение такой кнопки на панели инструментов, хотя это может оказаться сложно технически.
4. главное удобство при просмотре - кэши в единых файлах, их множественность. Дальнейшим развитием этой технологии хранения миллионов тайлов могло бы стать введение двух режимов подключения кэшей при просмотре - ручного и автоматического.
Об автоматическом скажу подробнее, а что касается используемого сейчас в программе ручного подключения кэшей - очень мешает невозможность множественного выбора файлов кэшей в диалоговом окне. 4 клика мышью для подключения 1 кэша вроде немного, но кэшей можно подключить и десятки, тогда число кликов приближается к сотне. Причем кэши подключаются неактивными по умолчанию, подключив много кэшей, приходится еще столько же раз кликнуть для пометки их активности (но для чего же я и подключал их, если не для использования, может быть добавить CheckBox - вкл/выкл все кэши?). В общем, при большом количестве кэшей обхожусь пока сейчас составлением списка файлов кэшей (в связке Total Commander + Excel) и вставкой готового списка кэшей с помощью блокнота в раздел <cache> файла satmap.xml. Хоть 70 кэшей за 10 сек можно так подключить, но просто выбрать в программе группу кэшей было бы удобнее.
Реализация автоматического подключения кэшей при просмотре требует использования нормализованных имен кэшей, то есть имен, сформированных по определенным правилам. Имя кэша в этом случае должно нести полезную информацию, позволяющую программе быстро найти кэш с тайлами для нужной территории и нужного увеличения. Способов нормализации имени кэша разумеется много, использовать будем тот, что выберет сам программист. Заодно может резко ускориться поиск нужного тайла при множественных подключенных кэшах - 1) определяется имя нужного кэша, 2) делается выборка тайла из него, вместо множества запросов на выборку нужного тайла - по одному запросу в каждом из подключенных кэшей.
Сейчас для организации хранения кэшей я использую такой формат имени кэша - "<имя>_<увеличение>_<произвольная_информация>.cache". Например, "tqsrsrsrsr_17_Лондон.cache", "tqsqtsst_15_Нью-Йорк.cache". Где <имя> - это одинаковая начальная часть имени тайлов в этом кэше. Еще с программы GoogleMV сложился этот способ группировки тайлов в архивы, его же использовал и для имен кэшей SatMap. Длина имени кэша определилась практикой на 7 символов короче, чем имена тайлов в этом кэше, исходя из опыта хранения множества тайлов в одной папке, когда ощутимое замедление работы файловой системы начинало сказываться при превышении количества тайлов в папке в 10-20 тысяч штук. А здесь в папке одного типа файлов (спутник, гибрид и тд) максимально может оказаться не больше 16384 тайлов. Максимально заполненный кэш SatMap при таком способе наименования и уровнях спутник+гибрид занимает на диске размер порядка 300-400 мб. Для разделения закачанных кэшей на нормализованные имена сейчас я использую связку действий: 1) экспорт в формат GoogleMV, 2) сортировка тайлов по подпапкам <имя>_<увеличение> с помощью своей несложной программы, 3) импорт из формата GoogleMV в кэши SatMap из получившихся папок, каждую - в отдельный кэш.
Разумеется, в случае поддержки идеи нормализованных имен кэша, хорошо бы в программе сделать возможность разделения произвольного кэша SatMap на группу кэшей с нормализованными именами.
Размещение имени перед увеличением в нормализованных именах кэшей позволяет легче выбирать нужную террирорию для просмотра, например:
tqstq_12_Планета Земля.cache
tqstqr_13_Вашингтон, Нью-Йорк.cache
tqstqrq_14_Вашингтон, Нью-Йорк.cache
tqstqrqq_15_Вашингтон.cache
tqstqrqqs_16_Вашингтон.cache
tqstqrqqst_17_Вашингтон.cache
Однако все это имеет значение для человека, да и ему сложно ориентироваться в мельтешении последовательностей букв qrst (даже пришлось сделать бланковые карты Земли в формате jpg с напечатанными именами тайлов). Программа же, используя этот или любой другой выбранный программистом способ нормализации имени кэша, сможет легко переходить сразу к нужному кэшу. Достаточно задать ей пути к папкам, где хранятся кэши (таких путей конечно может быть несколько, объемы большие и одновременное использование разных дисков или сетевых ресурсов оправдано).
Кстати, даже при ручном режиме подключения многих кэшей с произвольными именами можно попробовать ускорить поиск нужного тайла при просмотре, если с согласия пользователя (CheckBox "Индексация кэшей для просмотра") потратить время на индексацию подключенных кэшей. Поиск тайла тогда будет происходить также быстро, как и при нормализованных именах кэшей - 1) поиск в индексе имени/номера кэша по имени тайла, 2) запрос тайла из этого кэша.
Добавлено: Продолжу, хотя и так много буков получается
Закачка:
--------
1. Очень не хватает простого доступа из командной строки к режиму закачки тайлов, предположим с форматом - "SatMap.exe /download <список закачки> <имя кэша для заполнения>". Остальные параметры программа могла бы брать из файла satmap.xml - прокси-сервер и др.
2. Даже кратковременный разрыв связи с Интернетом приводит к остановке закачки и автоматическое переподключение уже не помогает. Хотелось бы иметь возможность настроить количество повторных попыток докачки (вплоть до бесконечного) и паузу между ними.
3. Информационная помощь в виде строки "Скачивается nn тайл из mm..", прогресс-бара и оставшемся времени закачки в трее к сожалению становится недостаточной в случае остановки/докачки либо длительной паузы из-за капчи - время в трее "пляшет", сколько тайлов осталось скачать с учетом уже скачанных ранее, не видно. Может быть просто еще добавить к строке "Скачивается nn тайл из mm.." - "(осталось скачать тайлов kk)", а то бывает очень неудобно гадать о времени окончания закачки.
4. При формировании больших списков для закачки тайлов бывает удобно разделить их на пронумерованные части, например по 50 тысяч строк, и закачивать их потом в отдельные кэши, а при наличии возможности - и параллельными потоками через разные каналы Интернета, например - с разных компьютеров. Я использую сейчас программу "GSplit 3" для разделения большого текстового файла по строкам, но может быть просто добавить эту необязательную возможность при формировании списка закачки - "Разделять список на файлы по nnn строк".
5. Как огромный шаг вперед было бы создание поддержки при закачке множественных прокси-серверов, то есть указание не одного прокси-сервера, а их списка в том же формате прокси/порт/логин/пароль в разделе <proxy> satmap.xml, предположим с указанием <Count> и с пометкой вкл/выкл для каждого прокси, также как сделано в списке кэшей. Каждая строка списка закачки могла бы направляться вразнобой на разные прокси-серверы из этого списка. Аналогичная идея реализована, например, в последних версиях "Offline Explorer" для отдельных файлов и в "Net Transport" для разных потоков закачки одного файла.
6. В случае реализации идеи использования программой кэшей с нормализованными именами, закачку можно было бы производить не в один активный кэш, а сразу в кэши с нормализованными именами, соответствующими именам скачиваемых тайлов.
И просмотр, и закачка:
----------------------
1. не хватает все-таки возможности запуска нескольких экземпляров программы SatMap. Почитав этот форум, увидел, что такая возможность была специально отключена, но может быть стоит сделать такую опцию в командной строке - как в "uTorrent /recover" или в настройках программы. 1) При просмотре удобно было бы иметь возможность в разных экземплярах программы одновременно видеть разные участки Земли. 2) При закачке направлять разные экземпляры программы на разные прокси-серверы для обработки разных списков загрузки. 3) Да и просто хочется иметь возможность загружать список в одном экземпляре программы и спокойно пользоваться другим ее экземпляром для просмотра/обработки уже скачанного.