Category: компьютеры

dog

Картография - Часть 15 - Подготовка к оцифровке

   1. Психология оцифровки

   Итак, мы приступаем к самой продолжительной части нашей работы - оцифровке снимков.

   Кому-то она кажется нудной и неинтересной, кто-то наоборот - чувствует себя путешественником на воздушном шаре.

   Вот что пишет Д.Карнеги в своей книге "Как преодолеть чувство беспокойства":

   Одной из причин утомления является монотонность, неинтересность работы. Возьмем случай с Алисой, стенографисткой, живущей на нашей улице. Однажды вечером она пришла с работы в полном изнемождении. Она действительно была утомлена. У нее болела голова, ныла спина. Алиса настолько устала, что хотела пойти спать, не поужинав. В это время у нее зазвонил телефон. Позвонил приятель, пригласил ее на танцы. У нее сразу поднялось настроение, засверкали глаза. Она бросилась к шкафу, достала любимое голубое платье и протанцевала до трех часов утра. А когда, наконец, добралась до дома, у нее не было признаков утомления. Она была настолько возбуждена, что не могла заснуть. Была ли Алиса на самом деле усталой восемью часами раньше, когда валилась с ног? Конечно. Она была утомлена, так как ей надоела ее работа и, возможно, жизнь.

   Хорошо известно, что эмоциональное состояние способно вызвать утомление в большей степени, чем физический труд. Несколько лет назад д. Вармак, доктор психологии, опубликовал отчет о нескольких своих экспериментах, показывающих, как скука может вызвать утомление. Он провел на группе студентов серию тестов, которые явно не могли вызвать интерес. Результат? Студенты чувствовали усталость, сонливость, жаловались на головную боль и резь в глазах, у них возникло раздражение, в некоторых случаях даже наблюдалось расстройство желудка. Было ли это все воображаемым? Нет. Это поттвердили анализы обмена веществ. Они показали, что кровяное давление и потребление кислорода уменьшаются, когда человек выполняет скучное дело. Обмен веществ немедленно увеличивается, как только появляется интерес к работе.

   Мы редко устаем, когда делаем что-то интересное и волнующее. Например, недавно я отдыхал в Канаде. Несколько дней я ловил форель в горной речке, прокладывая путь сквозь кусты и траву выше моей головы, перелезая через стволы упавших деревьев. Однако даже через восемь часов такого пути я не чувствовал себя усталым. У меня было ощущение удачи, так как я поймал шесть форелей. Но, предположим, мне надоела рыбная ловля, как бы я себя почувствовал? Я бы валился с ног от усталости, от этой изнурительной работы на высоте свыше 2000 метров над уровнем моря.

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

   Так что же с этим делать? Вот как поступала одна машинистка, работавшая в нефтяной компании штата Оклахома. В течении нескольких дней ежемесячно ей приходилось выполнять скучную работу - заполнять формы на раздачу нефти, проставлять цифры и другие данные. Это было настолько не интересно, что она в целях самосохранения попыталась сделать работу все же интересной. Как? Она устроила соревнование сама с собой. Она стала подсчитывать, сколько форм заполнила до обеда, а затем - после обеда, стараясь превзойти утренний результат. Она подсчитывала сделанные за день работы и старалась больше сделать на следующий день. Результат? Вскоре она стала заполнять формы очень быстро и делала больше, чем какая-либо машинистка отдела. Что это ей дало? Признание? Нет. Благодарность? Нет. Повышение? Нет. Увеличение зарплаты? Нет. Но это помогло ей избежать утомления, вызванного скукой. И так как она прилагала все усилия, чтобы сделать скучную работу интересной, у нее было больше удовлетворения в часы досуга. Я могу заверить, что эта история правдива, ибо я женился на этой девушке.




   2. Настройка программы

   Запускаем ГИС "Карта", открываем .SIT файл из директории MAP проекта.

•  Для переводы программы в режим редактирования карты зайдём в меню: Задачи -> Редактор карты

•  В первый раз перед оцифровкой, необходимо зайти в меню Параметры -> Параметры редактора и нажать кнопку "Сбросить всё". (у меня почему-то этот шаг понадобился для того, чтобы вылечить кривые настройки сплайнов)

•  В том же диалоге снимаем флажок "Запрос семантики" при создании новых объектов

•  Завершаем диалог кнопкой "Установить"



   3. Основное окно программы

   ГИС "Карта" - отечественная разработка, обладающая множество полезных функций. Конечно, не все из них концептуальны, если внимательно рассматривать реализацию некоторых функций системы - то видно, как система развивалась, накапливая возможности.

   ГИС "Карта" содержит огромное количество документации по разнообразным функциям системы. Желающие могут прочитать инструкцию "Создание и редактирование карт.doc", расположенную в каталоге установки системы, например: c:\Program Files\Panorama\Panorama11\Doc\

   К счастью, далеко не все функции ГИС "Карта" используются в процессе оцифровки. Ниже я привожу схему рабочего окна программы, на которой подписаны кнопки панелей инструментов, необходимые, на мой взгляд, оцифровщику. Пожалуйста, не поленитесь ознакомится с использованием КАЖДОЙ из подписанных кнопок - прежде чем преступать к работе.

75.21 КБ


    Если вид вашей основной панели инструментов (слева) кардинально отличается от приведённого на рисунке - щёлкаем на ней правой кнопкой мыши и переключаем её в профессиональный режим.

   Подробное руководство по использованию большинства функции основной и дополнительных панелей инструментов можно прочитать во встроенной справке программы.



   4. Основы оцифровки

   Давайте потратим несколько минут, чтобы разобраться в терминах, которые нам будут регулярно встречаться при работе с ГИС "Карта".

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

•  Объект - векторный рисунок, относящийся к конкретному типу (здание, лес, река). В зависимости от своего типа объекты относятся к тому или иному слою. Например, к слою "Кварталы" относятся типы объектов "Леса", "Огороды", "Заборы".

•  Локализация объекта - каждый тип объектов обладает заданной локализацией. Например, "Заборы" - линейные объекты, а "Леса" - площадные.

   При оцифровке обычно используются объекты следующих локализаций:

Линейные - объект представляет собой ломаную линию.

Пример линейных объектов: заборы.
    36.96 КБ
 
Площадные - объект представляет собой замкнутый контур, образованный всё той же ломаной линией (начальная и конечная точки которой совпадают).

Пример площадных объектов: жилые дома.
    35.82 КБ
 
Точечные - объект, состоящий из одной единственной точки. Обычно такую локализацию имеют значки и символы условных обозначений.

Пример точечных объектов: значки фонтанов.
    23.42 КБ
 
Надписи - точечные объекты, но вместо значка они содержат текст. Надписи располагаются на карте горизонтально или под углом.

Пример надписей: названия улиц.

В процессе оцифровки снимков вам не придётся работать с такими объектами.
    37.03 КБ


   Каждый объект состоит из узлов - опорных точек с фиксированными координатами, которые хранятся в метрике объекта. С помощью специальных команд панели "Точка" узлы объекта можно редактировать, передвигать, добавлять новые и удалять существующие.

   Фактически, каждый объект - это ломаная (разомкнутая или замкнутая), с тем или иным количеством узлов. Даже когда вы рисуете окружность или сглаженную кривую (сплайн) - они хранятся на карте как замкнутые ломаные с большим количеством промежуточных точек, которые можно разглядеть, если сильно приблизиться к объекту:

21.87 КБ




   5. Создание объектов

   Для создания объектов можно использовать кнопку "Создание произвольного объекта". В этом случае перед пользователем появляется диалоговое окно, в котором он может выбрать слой, а затем и вид создаваемого объекта и способ его нанесения:

26.64 КБ


   В программе ГИС "Карта" доступны следующие способы нанесения объектов:

•  Произвольный контур - ломаная линия

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

•  Окружность заданного радиуса - радиус вводится в метрах, непосредственно перед созданием объекта
•  Окружность произвольного радиуса - радиус отмечается визуально по карте
•  Окружность по трём точкам

•  Двойная линия заданной ширины (оцифровка по центру)
•  Двойная линия заданной ширины (оцифровка по левому краю)

•  Сглаживающий сплайн - скруглённая линия, проходящая на усреднённом расстоянии между точками оцифровки (используется для нанесения на готовую карту различных формальных зон и границ)
•  Описывающий сплайн - скруглённая линия, проходящая точно через точки оцифровки (используется для оцифровки площадных объектов карты)

•  Полуавтоматическая трассировка - применима только для оцифровки сканированных листов цветных топографических карт

•  Загрузка координат из файла
•  Ввод координат с клавиатуры



   6. Настройка макетов

   Однако, в большинстве случаев этот диалог слишком сложен для частого повседневного использования.

   Для упрощения создания наиболее распространённых объектов используется панель макетов, включающаяся по нажатию соответствующей кнопки в основной панели инструментов, состоящая из следующих частей:

10.21 КБ


   По-умолчанию каждая линейка содержит 12 макетов, однако в настройках можно увеличить это количество до 24-х. Я рекомендую использовать 24 макета, чтобы уместить все наиболее часто использующиеся при оцифровке типовые объекты на одной линейки.

   Каждой кнопке линейки макетов можно назначить создание определённого типового объекта, и указать его способ нанесения на карту.

   Для оцифровки территорий населённых пунктов рекомендуется следующий набор макетов:

•  Вода - Реки, Озёра (пл)
•  Вода - Реки (лин)
•  Грунты - Болота
•  Рельеф - Овраги

•  Строения - Дома жилые
•  Строения - Дома строящиеся
•  Строения - Гаражи
•  Кварталы - Заборы
•  Строения - Церкви

•  Кварталы - Дачный массив
•  Кварталы - Кладбища
•  Кварталы - Стадионы
•  Кварталы - Огороды
•  Кварталы - Сады
•  Кварталы - Парки
•  Кварталы - Промзона
      •  Дороги - Автомобильные
•  Дороги - Грунтовые
•  Дороги - Железные дороги
•  Дороги - Мосты

•  Кварталы - Леса
•  Грунты - Луга
•  Грунты - Пашни
•  Грунты - Пески


   Обо всех этих объектах и об их способах нанесения мы поговорим подробнее чуть позже.

   Если классификатор карты хранится в файле .RSC в каталоге карты, то доступные наборы макеты хранятся в файле .EDT в подкаталоге LOG рабочего каталога карты. Копируя этот файл, можно передать настройки макетов всем пользователям, работающим с данным классификатором.



   7. Нанесение объекта

   После того как типовой объект и способ его нанесения выбраны, программа переходит в режим создания объекта. Для линейных и площадных объектов, которых в вашей работе будет большинство, это означает:

•  щелчок левой кнопкой мыши - ещё одна узловая точка объекта

•  щелчок правой кнопкой мыши - контекстное меню с дополнительными командами
•  клавиша i - позволяет выбрать в качестве следующей точки узел существующего объекта
•  клавиша g - позволяет выбрать в качестве следующей точки произвольную точку контура существующего объекта

•  клавиша Backspace - возвращает процесс оцифровки объекта на шаг назад, удаляя последнюю введённую его точку. Эта операция может применяться многократно.

•  двойной щелчок левой кнопкой мыши - добавляет узловую точку и завершает создание объекта
•  щелчок левой и правой кнопками мыши одновременно - завершает создание объекта без добавления узловых точек

•  Ctrl + щелчок правой кнопкой мыши - отменяет создание объекта, но не сбрасывает выбранную операцию: тут же можно приступить к созданию нового такого же
•  нажатие клавиш Ctrl+C - отменяет создание объекта и сбрасывает выбранную операцию (в Windows 7 x64 к сожалению, не работает)

   Перед началом оцифровки обязательно потренируйтесь в использовании этих сочетаний клавиш - каждое из них способно кратно ускорить вашу работу.



   8. Резервное копирование

   Главное правило оцифровщика - создавать ежедневные копии своей работы на носителе, физически отличном от рабочего жёсткого диска компьютера. Это может быть флешка или другой компьютер в сети. В этом случае при сбое программного обеспечения или физических ресурсов рабочего компьютера - результаты вашего многодневного труда будут в безопасности.

   Достаточно скопировать (или запаковать архиватором) все файлы в рабочей папке карты. Резервные копии папки LOG и растров не нужны.

   Именуйте каталоги или архивы резервных копий по принципу ГГГГ-ММ-ДД, например: 2011-08-29 - тогда они будут автоматически выстраиваться в хронологическом порядке.
 
dog

Картография - Часть 12 - Обработка спутниковых снимков

1. Загрузка снимков

   Итак, снимки (новые или архивные) заказаны, оплачены, изготовлены, и наконец-то пришли к вам в виде запароленных ссылок на ftp-ресурсы.

   Приготовьтесь качать сутками, учитывая, что снимки весят около 20-50 Мб / км2. В виду такого солидного объёма, канал связи компании-оператора обычно равномерно делится между всеми потребителями трафика, и текущая скорость загрузки обычно составляет 50-100 кБайт/с. Таким образом, в зависимости от площади снимка, его вес спокойно может достигать 5 Гб, и загружаться свыше 1 суток.

   Лучшее программное обеспечение для загрузки снимков - обычный wget. Остерегайтесь использовать новые FTP-клиенты: не далее как в прошлом году был замечен странный "глюк" сервера ftp.geoeye.com - обрыв потока данных при загрузке с помощью CuteFtp. Причины глюка назвать сложно, но его подтвердили несколько потребителей спутниковых снимков.

   Обратите внимание, что ссылки на снимки действительны в течении определённого срока: обычно от 7 до 14 дней. Дальнейшее продление ссылок обычно требует дополнительных денежных затрат. Поэтому в ваших интересах начать загружать данные как можно быстрее.

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

   Снимки обычно поставляются в формате GeoTIFF (.TIF с интегрированной информацией о гео-привязке). В комплекте со снимком обычно идёт .JPG-файл с preview, позволяющий идентифицировать снимок.



   2. Цветовая коррекция снимков

   Самое главное правило вы уже поняли: ничего, ни при каких обстоятельствах не делать с оригиналом снимка. Поэтому копируем оригинал в формате .TIF в директорию Satellites\имя_спутника нашего проекта, и лишь затем приступаем к его цветовой коррекции.

   Прежде чем открыть .TIF файл в Adobe Photoshop или схожей программе нам потребуется сохранить из него информацию о геопривязке. Дело в том, что большинство графических редакторов беспощадно удаляют всю географическую информацию из сохраняемых .TIF-файлов.

   Для этого воспользуемся великолепным пакетом GeoTIFF Tools: http://www.remotesensing.org/geotiff/geotiff.html - нам понадобится сборка утилит listgeo.exe и geotifcp.exe для win32. Их можно взять из набора listgeo_GUI.zip

   С помощью незамысловатого пакетного файла extract_geo.bat:

@echo off
for %%f in (*.tif) do GeoTools\listgeo.exe %%f > %%f.gtf


выделяем расширенную информацию о геопривязке всех .TIF файлов и сохраняем её в виде одноимённых файлов .GTF. Обратите внимание, что такие файлы содержат гораздо больше информации чем стандартные мировые файлы привязки .TFW - поэтому их использование предпочтительнее.

   После того, как вы убедитесь, что .GTF-файл создан корректно можно открывать .TIF в растровом графическом редакторе.

   Будет очень здорово, если ваши .TIF файлы весят не более 2 Гб. Раньше спутник GeoEye грешил огромными .TIF файлами, которые не мог переварить даже Adobe Photoshop.

   Не пугайтесь, если при открытии снимка в графическом редакторе вы увидите чёрный квадрат: особенности фотосенсора спутника состоят в том, обычно земная поверхность имеет весьма низкие уровни яркости, изначально не различимые человеческим глазом.

4.91 КБ


•  Корректируем их: Image -> Adjustments -> Levels: вместо 0..255 ставим 0..8 (если после этого ярко-белых областей на снимке не проступает - то 0..4) - на снимке начинает появляться изображение.

11.50 КБ


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

•  Берём кисть с ровными (не смазанными) краями. Выбираем абсолютно чёрный цвет (0,0,0). Замазываем кистью все участки карты, где затруднительно разобрать объекты (в основном облака, реже тени из-под облаков). Наиболее удобный размер кисти - 128 пикселей, масштаб: 50%. Вместо кисти можно пользоваться фигурным лассо.

•  После того, как все облака удалены со снимка, волшебной палочкой выбираем абсолютно чёрный цвет (0,0,0) по краям изображения и на облаках (Tolerance=0, Antialias - снято, Contiguos - установлено).

   Таким образом мы выделили фрагменты прямоугольного снимка, которые должны быть прозрачными. В настоящий момент они имеют абсолютно чёрный цвет (0,0,0) - его мы и сделаем прозрачным при импорте растра в GlobalMapper.

12.78 КБ


   Теперь проводим автоматическую коррекцию контраста и цвета:

•  Инвертируем зону выделения: Select -> Inverse

12.71 КБ


•  Корректируем контраст (с усечением 0,1% слишком ярких и слишком тёмных зон): Image -> Adjustments -> Levels-> Options -> Enhance Per Channel Constrast: [v] Snap Neutral Midtones (если от этого улучшаются цвета) 0,10% 0,10%

19.50 КБ


•  Можно попробовать выполнить Image -> Auto Color - если это действительно улучшит цвета снимка

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

•  Filter -> Sharpen -> Smart Sharpen -> Lens Blur (Amopunt = 100%, Radius =1 px) (имеет смысл для всех спутников кроме GeoEye)

•  Filter -> Sharpen -> Unsharp Mask -> (Amount = 50%, Radius = 1 px, Threshold = 0 levels) (имеет смысл для всех спутников кроме GeoEye)

45.81 КБ


•  Image -> Adjustments -> Curves -> Lighter (применяется только если снимок изначально получился слишком тёмным. Не злоупотребляйте этим преобразованием, оно приводит к потери части исходной информации об яркости)

19.97 КБ


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

   Теперь, для того, чтобы снимок занимал меньше места, следует сократить его цветность с 16 бит на канал до 8 бит на канал. Для человеческого глаза это изменение всё равно не различимо, а снимок будет в два раза легче:

•  Image -> Mode -> 8 Bits / Channel

   Но здесь есть одна засада: в областях, содержащих реальные фотографические данные тоже могут встретиться пиксели с цветом (0,0,0) - которые в дальнейшем окажутся прозрачными - что внесёт искажения изображения в виде артефактов.

   Для того, чтобы этого не случилось принудительно осветляем все чёрные цвета в действительной области снимка:

•  Image -> Adjustments -> Replace color: Color = (0,0,0), Localized color clusters - снято, Fuzziness = 2, Lightness: +2

•  Пересохраняем файл в формат .TIF с тем же именем (без сжатия, Interleaved, чередующийся, IBM).

   Закрываем изображение.

   Совет: настройте свой графический редактор на максимальную производительность: увеличьте объём доступной ему памяти, уменьшите число запоминаемых этапов истории (оставьте 2-3).

   Сохранённый .TIF файл не содержит географической привязки. Добавляем в него гео-информацию из файла .GTF с помощью сценария addict_geo.bat:

@echo off
for %%f in (*.tif) do GeoTools\geotifcp.exe -g %%f.gtf %%f result\%%f




   2.5 Цветовая коррекция снимков с Google и Yandex

   Растры, полученные из открытых источников, которые мы в 9 главе успешно преобразовали в .TIF файлы также требуют некоторой цветовой коррекции в графическом редакторе.

•  Filter -> Sharpen -> Smart Sharpen -> Lens Blur (Amopunt = 100%, Radius =1 px) - может быть неприемлемым к некоторым снимкам Яндекса с изначально искусственно завышенной чёткостью

•  Filter -> Sharpen -> Unsharp Mask -> (Amount = 50%, Radius = 1 px, Threshold = 0 levels) - может быть неприемлемым к некоторым снимкам Яндекса с изначально искусственно завышенной чёткостью

   Если эти снимки - не единственная низкокачественная подложка в вашем проекте, следует:

•  pакрасить облака и жёсткие тени от них прозрачным цветом (для Google это ярко-жёлтый)

•  удалить со снимков (закрасить жёлтым) зоны LandSat

   Геопривязку из снимков, полученных из открытых источников не обязательно выделять в .GTF-формате. Вполне достаточно данных из мировых файлов привязки .TFW, которые автоматически создавались при экспорте карты Google в .TIF-формат (см. гл. 9).

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



   3. Добавляем снимок в коллекцию.

   Открываем наш проект в уже любимом GlobalMapper и добавляем в него обработанный снимок:

•  на закладке Cropping ставим None

•  Transparent ставим черный цвет (0,0,0), флажок Make very similar colors transparent должен быть снят.

•  в свойствах файла ставим: Contrast Adjustment: none

   Отключаем отображение quicklook'а снимка.

   В данном примере получаем рабочее пространство на котором в качестве подложки использован снимок с разрешением 1 м с Google, а поверх него размещён высокоточный снимок 0.4 м со спутника GeoEye:

111.69 КБ




   4. Ортовыравнивание снимка


   4.1 Причины погрешности спутниковой съёмки

   По принципу съёмки сенсор спутника мало чем отличается от обычного цифрового фотоаппарата. Спутник далеко не всегда "висит" строго перпендикулярно снимаемой территории. Один из параметров, с которым мы ещё познакомились при отборе снимков - это угол съёмки. Съёмка с углом 10° - 20° - к сожалению, обычное явление. Это приводит к видимости фасадов многоэтажных зданий:

53.36 КБ


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

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

   Третий источник погрешности спутниковой съёмки - это рельеф местности. Расстояниями между двумя точками на снимке (например, между углами зданий) может сильно отличаться от реального, если эти здания расположены на подъёме или на спуске. Для борьбы с этим дефектом применяют так процедуру ортовыравнивания (ортокоррекции).


   4.2 Источники информации для ортокоррекции

   Ортовыравнивание снимка производят двумя способами: 1) используя фактические координаты определённых точек снимка 2) используя данные о матрице высот местности.

   Фактические координаты опорных точек можно получить любо по какой-нибудь сверхточной и сверхсекретной карте масштаба 1:2000 или 1:500 (что редкость), либо вооружившись теодолитом или профессиональным GPS-приёмником.

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

24.24 КБ


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

   В случае привязки местности с пересечённым рельефом - количество точек привязки может возрасти до 200.

   Привязка снимка по точкам осуществляется в том же Global Mapper'е аналогично изложенному в гл.11. При этом сами точки привязки на снимке выбираются при помощи мыши, а их фактические координаты вводятся вручную.

   Второй вариант привязки - работа с матрицей высот (цифровой моделью рельефа, ЦМР или DEM). Существует несколько способов получить матрицу высот:

•  оцифровать топографическую карту с горизонталями и отметками высот (зачастую секретны)

•  заказать стерео съёмку (минимум в два раза дороже)

•  воспользоваться одной из общедоступных грубых ЦМР: SRTM (разрешение 30-90 м) и ASTER GDEM (разрешение (15-90 м)


   4.3 Определение продукта ДЗЗ

   Как мы сейчас узнаем, считается, что не всякий снимок можно ортокорректировать. Но сначала давайте определимся с так называемыми видами "продуктов", которые готовы предоставить нам компании-операторы спутников.

   К сожалению, в даже на зарубежных сайтах по этой теме представлена весьма скудная информация. Наиболее полным образом этот вопрос освещает статья М.А. Болсуновского "Уровни обработки данных ДЗЗ сверхвысокого разрешения", вышедшая в журнале "Геоматика", №2 за 2009 год.

   У спутника GeoEye три уровня обработки изображения:

•  Geo - самый простой: исходное изображение с сенсора без ортокоррекции (дальнейшую ортокоррекцию такого изображения пользователь может проводить самостоятельно)

•  Geo Prfessional - изображение подвергнуто коррекции на основе общедоступной ЦМР (дальнейшая ортокоррекция невозможна)

•  Geo Professional Precision - ортокоррекцию производит компания-оператор по набору опорных точек, переданных заказчиком

   У компании DigitalGlobe (спутники QuickBird, WorldView-1,2) - таких уровней четыре:

•  Basic - изображение с сенсора с минимальными изменениями, не прошло даже цветовую обработку. Требует предварительную обработку в специализированном программном обеспечении для получения приемлемых визуальных характеристик. Заказывается только целыми сценами.

•  Standart - изображение в естественных цветах, подвергнутое коррекции на основе общедоступной ЦМР (дальнейшая ортокоррекция невозможна)

•  Standart Ortho Ready - изображение в естественных цветах без ортокоррекции (дальнейшую ортокоррекцию такого изображения пользователь может проводить самостоятельно)

•  Ortho - ортокоррекцию производит компания-оператор по набору опорных точек, переданных заказчиком

   Обычно у компаний заказывают продукты Geo и Standart Ortho Ready соответственно. Идентифицировать категорию обработки вашего снимка можно следующим образом:

•  Для спутника GeoEye - следует заглянуть в файл xxxxxx_metadata.txt и найти строчку Product Line: Geo

•  Для спутников QuickBird, WorldView-1,2 - в файл xxxxxxxxxxxxx-xxxx-xxxxxxxxxxx_xx_xxxx.XML - найти тэг PRODUCTTYPE

   Лично я считаю, что снимки, ортоскорректированные с помощью общедоступной ЦМР, действительно непригодны для дальнейшего корректирования на основе более точных ЦМР-матриц. В то же время никто не запрещает проводить коррекцию этих снимков по набору точек - результат от этого будет только улучшаться.

   На практике подобная качественная коррекция (с определением координат точек на местности) довольно затратна и целесообразна только в тех случаях, когда заказчик планирует наносить на карту объекты, спозиционированные высокоточным GPS-приёмником. В этом случае в процессе изготовления карты также целесообразно производить измерения опорных точек на местности. Оптимальное количество опорных точек 1,5-2 точки на 1 км2 карты.




   5. Удаление "секретных" зон со снимка

   Когда вы берёте разрешение на изготовление карт того или иного населённого пункта, следует осведомиться: какие территории нельзя включать в карту, чтобы она была допущена к открытому опубликованию?

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

   Кстати, одни из хитростей компаний - реселлеров: в заключаемый договор на поставку спутниковой съёмки включают пункт "Заказчик гарантирует отсутствие на заказываемой территории секретных объектов министерства обороны.." =)

   Рекомендуется просмотреть весь снимок сначала на масштабе 1:10.000 а потом 1:5.000 с целью составления общего кругозора о том, что представляет собой данный населённый пункт.

   Удивительно, но ещё один источник информации о секретных военных объектах - проект openstreetmap.org. Порой там можно встретить вот такую прелесть (см. рисунок ниже). Замечу, что если такое попадётся на вашей карте - добрые дяди в погонах не преминут получить на свои погоны ещё одну звёздочку.

5.78 КБ


   Итак, вы приняли решение исключить из оцифровки тот или иной участок. Это сделать ещё до того, как снимок попадёт к картографу - чтобы количество людей, обладающих снимком "сомнительной" территории было минимальным.

   С помощью инструмента Digitizer Tool создайте новую Area Feature с именем _SECRET на одноимённом новом слое. В качестве заполнения можно использовать Black Dot Pattern на белом фоне , в качестве рамки - чёрный Solid толщиной 1 пиксель.

49.34 КБ


   Но этого мало. Для дальнейшего удобства работы созданные векторный полигон необходимо растеризовать.

•  Для этого отключаем видимость абсолютно всех слоёв, кроме _SECRET.

•  Устанавливаем ядовито жёлтый цвет View -> Background Color

7.58 КБ


•  Говорим File -> Export Raster Data -> Export GeoTIFF:

•  Убеждаемся, что установлен флажок "Always Generate Square Pixels" и масштаб по осям адекватен (в пределах 0.3 - 5 м / пиксель)

•  Compression = No Compression

•  Gridding = No Grid

•  Export Bounds = All loaded data

•  Сохраняем файл в директории проекта: Satellites\Secret.TIF

•  Добавляем файл Secret.TIF в проект выше всех растровых изображений, и устанавливаем для него прозрачным цветом ядовито-жёлтый.

•  Включаем видимость слоёв обратно и восстанавливаем цвет фона




   6. Выгружаем растры для оцифровки

•  File -> Export Raster Data -> Export GeoTIFF

•  Цветность: 24 бит.

•  Без компрессии.

•  Убеждаемся, что установлен флажок "Always Generate Square Pixels" и масштаб по осям адекватен (в пределах 0.3 - 0.5 м / пиксель)

•  Убеждаемся, что снят флажок "Save Vector Data If Displayed"

•  На закладке Export Bound нажимаем "Draw a Box" и аккуратно рисуем рамку вокруг области интересов так, чтобы она захватывала чуть больше территории, чем необходимо.

101.70 КБ


•  При необходимости (если .TIF-файл получается размером свыше 2 Гб), обязательно следует указать на закладке Gridding разбиение растровой мозаики на несколько строк и колонок.

•  Экспортируем растровую информацию в директорию TIF\ проекта. В зависимости от площади территории, экспорт может занять от 5 минут до нескольких часов.

42.32 КБ





   Ну и на правах рекламы: замечательнейший ресурс по ГИС тематике: http://gis-lab.info/. Особое внимание следует уделить форуму ГИС, на котором высококлассные специалисты обсуждают множество тем, напрямую связанных с созданием электронных карт и обработкой спутниковых растров.

   p.s. Решите поучиться - вот отличная книга: Robert A. Schowengerdt - Remote sensing: models and methods for image processing
 
dog

Картография - Часть 9 - Размещение каталогов и создание репозитория растров

   Теперь приступим к организации нашего рабочего места.

   Нам понадобятся:

•  ГИС "Карта 2011" разработки отечественного КБ Панорама. Для работы понадобится хотя бы один экземпляр "профессиональной" версии - для конвертации и обработки карт. Непосредственную оцифровку снимков можно вести в более дешовой версии "редактор".

•  Понадобится замечательный продукт Global Mapper - лучше него никто не умеет управляться с огромными массивами растров, мгновенно на лету переходить между произвольными проекциями, точно и чётко выполнять все команды пользователя без догадок и домысливания.

•  Графический редактор для обработки космических снимков. Можно Adobe Photoshop, можно любой другой, способный справляться с 2-Гбайтными TIFF файлами.

Под каждый картографический проект создаём набор каталогов:

•  Map - здесь будет расположена рабочая версия карты
•  Info - сюда будем помещать всяческие сведения о населённом пункте, которые нам могу понадобиться
•  Sources - здесь будут находиться оригиналы снимков, полученные со спутников или скаченные с открытых сервисов
•  Satellites - здесь будет расположен репозиторий растров (см.далее)
•  Shapes - здесь будут размещены полигоны подлежащих закупке областей
•  Quicklooks - сюда мы будем загружать превьюшки снимков
•  Print - здесь будут храниться подготовленные к печати листы карт в формате PDF
•  Backup - здесь будут храниться периодически создаваемые резервные копии карты
•  TIF - сюда будет произведён экспорт растровых снимков из репозитория
•  RSW - здесь будут созданы растры в формате ГИС Панорама

   Очень желательно, чтобы путь к рабочему каталогу проекта не содержал папок с русскими буквами или пробелами в именах. Для ускорения работы программ рабочий каталог проекта рекомендуется размещать на встроенном SSD накопителе.




   Загруженные с Google И Яндекс снимки *.JPG и *.MAP размещаем в директории Sources:

4.58 КБ


   Запускаем Global Mapper и редактируем настройки проекта: Tools -> Configure -> Projection: выбираем систему координат UTM, указываем соответствующую долготе выбранного населённого пункта зону и датум WGS84:

14.32 КБ


   После настроек добавляем в проект (открываем) растры, скаченные из Google сначала 13/14 уровня, а потом 18/19 уровня. В случае если программа не в состоянии автоматически привязать раст - соглашаемся на ручную привязку, и в появившемся диалоге с помощью команды File -> Load Ozi Explorer .map file.

   Обратите внимание: MapBuilder заполняет участки карты, для которых не было найдено снимков высокого качества насыщенным жёлтым цветом (255, 255, 0). В свойствах каждого добавленного снимка нужно сделать этот цвет прозрачным:

87.21 КБ


   Теперь самое главное: вы наверное уже заметили, что для каждой отрисовки 500 Мб JPEG требуется не менее несколько минут? Для того, чтобы работа с растрами шла быстрее, необходимо выполнить два условия:

•  Растры должны быть сохранены в виде .TIF файлов без компрессии.
•  Растры должны быть сохранены в системе координат проекта (чтобы каждый раз при отрисовке растра не приходилось выполнять преобразование проекций).

   Для этого, дождавшись полной отрисовки карты экспортируем её в .TIF без компрессии. При этом не забываем генерировать файлы мировой привязки .TFW, в которых указываются координаты точек привязки выгружаемых растров к карте.

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

22.06 КБ       20.98 КБ


   После окончания экспорта перезапускаем GlobalMapper, заново настраиваем систему координат нового проекта, добавляем туда вновь созданные в результате экспорта файлы .TIF:

6.60 КБ


   Командой File -> Save workspace сохраняем рабочее пространство в папку Satellites в файл .GMW

   Репозиторий растров готов.
dog

О пользе дефрагментации

Питер Нортон     
   Ояебундестаг, мои электронные френды.

   Сегодня мы поговорим о такой проблеме как дефрагментация диска.

   Казалось бы, времена DOS и Norton Utilites безвозвратно ушли в прошлое. А сам Питер Нортон - человек, который впервые популярно объяснил читателю как пользоваться системным int 21h - вовремя сбагрил свою фирму, ушёл от дел и превратился в мецената и коллекционера.
 

   К слову сказать, Питеру Нортону первому пришла в голову поистине гениальная идея двухпанельного файлового менеджера, которую он и воплотил в Norton Commander'е.

   Реализация, правда, подкачала и к 5-й версии NC стал довольно монстроидальной вещью. Вот скажите, нафига в файловом менеджере нужен был графический курсор и анимированные разворачивающиеся окна?

   На мой взгляд, непревзойдённо крутой реализацией гениальной идеи Нортона был Volkov Commander. Написан он был на ассемблере, и при той же функциональности работал быстрее, и занимал в памяти менее 64 кБ.



   Но всё это - дела давно минувших дней, а наш разговор пойдёт сейчас о дефрагментации.

   Все вы, конечно, привыкли к тому, что чем дольше используешь компьютер - тем больше:

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

   Одна из причин тормозов компьютера - высокая степень фрагментации файлов на диске. И чем дольше вы работаете без форматирования - тем на более мелкие части дробятся ваши файлы, тем дольше времени требуется системе для доступа к ним.

   Как вы думаете, во сколько раз медленнее может копироваться файл, если он фрагментирован? В полтора раза? В два? В три?

   Сегодня я лично убедился: фрагментированный файл копируется в десять(!) раз медленнее.



   Итак, проводим натурный эксперимент. Мы имеем: RAID 10 из четырёх SATA-шных винтов. Максимальная скорости чтения и записи файлов с такого RAID-а равна удвоенной скорости работы одного жёсткого диска, то есть около 120 * 2 = 240 Мбайт/с.

   А ещё мы имеем файл, размером 600 Мб, который при копировании показывает скорость.. 25 Мбайт/с. То есть, в 10 раз меньше рабочей. При копировании создаётся впечатление, что это не скоростной RAID, а внешний usb-винт!

6.01 КБ


   Расширенный статус RAID-контроллера говорит нам, что с дисками и температурой всё в порядке, ошибок чтения и записи не встречалось. В чём же тогда может быть дело? Варианта два:

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

   Начнём с более простого варианта, и посмотрим, что нам говорит сам Windows о фрагментации диска:

4.76 КБ


   "Всё хорошо, прекрасная маркиза!"  Диск D:, на котором расположен файл фрагментирован всего на 5%. Какая красота!

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

   Вообще, политика интерфейсов Microsoft заключается в том, что пользователь априори идиот. К чему нагружать его мозг какими-то файлами и картинками? Да ещё эти картинки как-то рисовать?!

   Стандартная утилита дефрагментации Windows напоминает окошко с одной единственной кнопкой "Сделать хорошо!". Ну и ещё с планировщиком, чтобы можно было каждую неделю "хорошо" делать. А подробности вам знать не к чему.



   Но не стоит сразу верить тому, что говорят вам продукты Microsoft.

   Вот в этой статье в разделе "Особенности дефрагментации NTFS" очень хорошо описаны недостатки стандартного API Microsoft по дефрагментации дисков. И не взирая на то, что статья датирована 2000 годом, можно смело утверждать, что эта проблема до сих сопутствует всем замечательным продуктам этой известной компании.

   Вот тут-то и пришло время вспомнить про нортоновские утилиты. И хотя они до сих пор выпускаются фирмой Symantec, есть более современный и что здорово - совершенно Freewar-ный продукт, который к тому же поддерживает наш Windows 2008 Server. Итак, знакомьтесь:

•  Auslogic Disk Defrag: http://www.auslogics.com/ru/software/disk-defrag/

   Запустив его, и проанализировав несистемный диск D: мы видим клиническую картину: 85% диска фрагментировано. Круто, да? Это вам не Microsoft.

13.24 КБ


   Внимательно освоившись в программе, находим ответ, почему наш файл так медленно копировался. Оказывается, exp_AR_24.rsw побит на 3180 фрагментов. Кластеры, содержащие этот файл условно обозначены на диаграмме ярко-красным цветом:

14.60 КБ




   Запускаем процесс дефрагментации и оптимизации. Дефрагментация располагает данные таким образом, чтобы каждый файл содержал минимальное число фрагментов. Оптимизация - объединяем всё свободное место в один большой фрагмент дискового пространства.

   Для нашего RAID-массива эта операция длилась около 24 часов. Хорошо, что использование утилиты Auslogic Disk Defrag позволяет в произвольном месте приостанавливать и прерывать процесс дефрагментации.

   После того, как утилита завершила свою работу, видим следующую картину:

10.02 КБ


   Но как дефрагментация повлияла на скорость копирования файлов? А вот так:

6.08 КБ


   Скорость стала выше ровно в 10 раз. Если бы сам не убедился - никогда бы не поверил.



    Какие выводы можно сделать из этой статьи?

•  Во-первых, за 15 лет ничего не поменялось. Утилиты сторонних производителей, зачастую Freeware, по-прежнему справляются с системными действиями гораздо лучше, и выполняют их гораздо качественнее - чем штатное программное обеспечение фирмы Microsoft.

•  А во-вторых, если ваш комп безбожно тормозит - сделайте дефрагментацию, это помогает.
 
forward

Современные программы

   Еб@#ый стыд!

   Глядя на современное программное обеспечение, я понимаю, что только массовые расстрелы разработчиков ПО спасут наши с вами компьютеры!

   Да, вы угадали - я снова решил переустановить систему, теперь правда на домашнем компе. Итак, что мы имеем:



   1. На чистейшем компе с только-что установленным софтом уже отъедено 600 Мб памяти. Выясняем, кто больше всех жрёт, оказывается... драйвер видеокарты!

   Ёбаный стыд! А ведь когда-то давным давно, когда компы были медленные а программисты умные, драйвера писались на ассемблере! А сейчас драйвера херачат все кому не лень - прямо на том, на чём умеют. Под мою видюху наверное писали на Visual Basic-е под .NET. Чем ещё объяснить, что этот "драйвер" отжирает 160 Мб памяти - я не знаю.

9.75 КБ



   2. Конечно же, я заранее надеялся на ребят из Microsoft. И ребята из Microsoft'а не подвели. Их замечательный .NET framework 3.5 не хочет ставиться на машину, не имеющую прямого доступа к Интернет ни под каким соусом.

   Даже скачав .NET Framework 3.5 Service Pack 1 (Full Package), который весит 250 Мб, и в теории должен включать в себя ПОЛНЫЙ ПАКЕТ - он всё равно захотело лесть в интернет и пытаться что-то оттуда скачать. Нахуя??!

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

   Вообщем, плюнул я на версию 3.5 , и поставил .NET framework 2.0 отсюда.

6.93 КБ



   Но первое место моей досады на этот раз заслужили отечественные разработчики - команда DrWeb. Мало того, что его системный процесс жрёт 80 Мб, в отличии от куда более полезного и менее прожорливого Total Commander'а (8 Мб) - так ещё и багов полный огород.

   Первым делом, когда поставил операционку - я установил на компьютер этот антивирус, и убедился, что он обновляется. Дальше уже стал ставить всякий софт. И вот спустя пять дней, совершенно случайно, от "центра оповещения о безопасности", который любой нормальный пользователь отключает сразу после установки винды - я узнаю, что мой антивирус устарел!

   Запускаю обновление DrWeb - а оно не запускается. То есть, вообще никакой реакции на команду не поступает.. Я пробую и так, и этак - хоть бы что! Ну, думаю, наверное вирус какой заблокировал. Проверяю - всё чисто. Запускаю обновление - тишина.

   Через час я сообразил, что всё это время процесс обновления был уже запущен, но висел и не отвечал - из-за того, что не мог соединиться с сервером. А не мог - потому что лез мимо прокси. Drwebupw.exe висит, и делает десяток попыток соединения с сервером с таймаутом в 5 минут каждая. И пока процесс не отстрелишь - DrWeb упорно игнорирует любые команды обновления.

   Посмотрел логи, с неприятным удивлением обнаружил что антивирус не обновлялся уже четыре дня. Запустил морду - не работает. Посмотрел настройки - стоит "Брать настройки прокси из Internet Explorer'a". Запустил IE - оттуда всё работает и открывается.

   Вообщем, ничего не работало до тех пор, пока не прописал адрес прокси-сервера и порт в настройках антивируса вручную. Получается, что всё сломалось как раз тогда, когда я установил FireFox. Как только IE перестаёт быть браузером по-умолчанию, DrWeb разучивается брать у него настройки прокси. И хрен потом поймёшь, почему он не работает, и даже руками хрен обновление запустишь. Вот такой глюк.

   С горя создал, как сейчас модно говорить, "трабл-тикет" на "саппорте". Посмотрим, когда "заакцептят".

24.35 КБ




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

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

   А вы давайте, продолжайте писать GUI-шные программы под винду на .NET или на Java - потому что вам так удобнее. Когда кругом будут одни неучи, мы будем дороже цениться.

 
forward

Мышь kraftway

Меня интересуют только мыши:
их стоимость, и где приобрести


ЖЖ-фольклор

 
   Тому кретину-китайцу, который сконструировал мышь Chicony MS-0223S - надо оторвать обе руки и засунуть их туда, откуда они растут.

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

   Благодаря своей уникальной конструкции, это единственная в мире мышь, от которой у меня начинает болеть рука - ровно через 20 минут её использования! Cамый дешёвый Genius за 100 рублей - и тот будет лучше.

   Каким дебилом и недоумком надо быть, чтобы сделать мышь с абсолютно ровными, идеально трапецевидными, расходящимися к низу краями??!!! Чтобы пальцами ухватить было не за что! Чтобы при каждой попытке перенести мышь на другое место - она выскальзывала из рук! И чтобы для этого её каждый раз приходилось судорожно сжимать всеми пятью пальцами!



   ЗЫ: Лично я юзаю A4-Tech x7, и вполне доволен. А вы?
 

    5.97 КБ
 
8.97 КБ
forward

Делаем из GPS-навигатора КПК

   Вот как раньше всё правильно было: захотел купить, например, пылесос -
пошёл в магазин и там тебе консультант рассказывает всё про пылесосы....

   А сейчас: захотел купить пылесос - залез в сеть, прочитал всё про
пылесосы вплоть до того каких больше коты боятся, пришёл в магазин и
стоишь объясняешь консультанту про пылесосы, а он стоит и офигевает от
твоих познаний...



   0. Введение

   Все вы уже наверняка сталкивались с GPS-навигаторами. Так вот, прежде чем отважиться на покупку этого девайса - запомните: не все gps-навигаторы одинаковы полезны!

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

   Вот и сейчас с завидным постоянством находятся люди, которые приходят в "Эльдорадо", подзывают продавца, и говорят: "мне нужен gps-навигатор". И выходят они из этого магазина с откровенной хуйнёй, купленной за огромные деньги.

   Например, недавно товарищи таким вот образом купили навороченный Pioneer Avic S2 за 10.000 рублей с функциями:
•  адаптера громкой связи Bluetooth для сотового телефона
•  MP3-плеера
•  мультимедийного просмотра фотографий

   Короче, все функции, кроме одной единственной - навигации. Подумаешь, какая мелочь..

•  Потому что не пришло в голову товарищам при покупке навигатора задать продавцу один единственный вопрос: "А карта нашего города там есть?"

•  Потому что не приходит в голову сраной фирме iGo, что Россия - это не только Москва и Питер - но ещё и дофига разных мелких городов, типа Липецка, Воронежа, Саратова, Орла и Урюпинска, и т.д.

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


   1. Сравнительный анализ навигационных систем

   Между тем, были бы мои товарищи в теме - купили бы Garmin Nuvi 205 за 8.000 руб - для которого есть карты 63 регионов России, все областные центры нанесены минимум - с названиями улиц, а половина - с контурами и нумерацией домов.


   Но нет, полки магазинов у нас завалены всяческими TomTom, Nec, Pioneer, и кучей noname китайских поделок, типа MIO, Orion или Shivaki. Встречаются и вовсе загадочные девайсы с единственной надписью "GPS" на морде.

   Став счастливым обладателем этого устройства, люди с разочарованием обнаруживают, что их 500.000-й город на карте изображён одной единственной точкой на перекрёстке федеральных трасс. И более-менее подробные карты есть только Москвы, Петербурга, и ещё в лучшем случае десятка крупных городов России.



   Вот краткий сравнительный анализ покрытия карт навигации на 01.03.2009:

Навигационная система Производитель карт Количество регионов России с детальным покрытием Количество областных центров с домами
Garmin Навиком 63 38
Навител Навигатор Навител 34 27
iGo 2006 teleAtlas 26 9
Автоспутник teleAtlas 26 9
City Guide Геоцентр-Консалтинг 32 6
JJ-connect +
Автоспутник
JJ-Group
"Мегаполис"
16 -
TomTom TomTom 2 -
iGo 8 карт России нет - -


   Не текущий момент по картографическому покрытию безусловно лидирует Garmin, на втором месте - Навител. Остальные системы навигации подойдут, пожалуй, лишь тем, кто предпочитает не выезжать на своём автомобиле за пределы МКАДа.


   3. Виды GPS-навигаторов

•  Если вам достался навигатор Garmin - радуйтесь: вы можете купить (или скачать ;) свежие карты - и ездить по ним.

•  Если у вас КПК под Windows Mobile или Palm OS, или интеллектуальный телефон под Symbian'ом - тоже не проблема: скачайте Garmin Mobile XT, разлочьте, залейте карты - и получите полноценный Garmin.

•  Но что делать если у вас уже есть некий аппаратный навигатор с совершенно не устраивающим вас программным обеспечением?


   4. Что такое PNA?

   Глобализация и лень производителей даёт очевидные преимущества. Сейчас на рынке появилось огромное количество устройств PNA (Personal Navigation Assistant) - на базе.. Windows CE! Все Pioneer'ы, MIO, JJ-Connect'ы - это именно такие устройства.

   Краткая теория, чтобы вы понимали о чём речь. Фактически, такое устройство представляет собой миниатюрный компьютер, с миниатюрной виндой, управляемый вместо мышки сенсорным дисплеем. Правда, производитель предпринял все меры, чтобы вы об этом никогда не догадались: вместо виндовой заставки обычно заставка производителя, вместо рабочего стола - специальная программа, ограничивающая пользователя рабочим меню устройства с собственными функциями навигации и настроек системы.

•  ПЛЮС - в том, что обойдя оболочку производителя, и получив доступ к винде - мы можем установить на девайсе кучу нужного и оригинального софта, и вообще использовать его как полноценный КПК. Умельцы сообщают о фактах установки на автомобильные навигаторы различных игр, книгочиталок, видеоплееров и даже офисных приложений.

•  МИНУС - это кпк, и кпк под виндой. А винда, как известно, умеет глючить, и иногда даже сваливаться. Хоть WinCE и заявляется как операционная система с повышенной устойчивостью - неосторожные действия пользователя при общении напрямую с виндой могут превратить ваш pna в безответный бесполезный девайс.


   5. Установочные файлы

   Некоторые умные производители (например Pioneer) ставят на кпк две флешки - рабочую и резервную - всегда доступную только для чтения, и дают возможность производить так называемый "холодный reset" - когда содержимое рабочей флеш картой с установленной виндой и программным обеспечением затирается содержимом резервной флешки. С одной стороны это надёжно - привести такой кпк в нерабочее состояние довольно проблематично. С другой - не очень удобно: весь установленный вами софт может быть уничтожен одним нажатием ручки и заменён на стандартную заводскую систему.

   Выкручиваются из этой ситуации довольно просто: в корень внешней SD-карточки кладётся стандартный файл autorunce.exe, который запускается автоматом после холодного reset'а и обнаружения карточки, и устанавливает весь необходимый софт из файла mnavdce.cab.

   На этом следует остановится подробнее. Cab - это определённый формат установочных пакетов, применяемых на WinCE. Создавать собственные cab-файлы и редактировать существующие можно с помощью замечательно (правда, платной) утилиты Win CE CAB Manager. Лекарство к которой легко ищется в интернете.

   Утилита позволяет формировать установочные пакеты со следующими действиями:
•  Размещение файлов в системных каталогах устройства и на флеш-носителях
•  Создание ярлыков на рабочем столе и в меню Пуск
•  Создание записей в реестре системы

   Да, да, не удивляйтесь: на вашем навигаторе тоже есть реестр. К счастью, существенно меньший, чем на полноценном Windows XP.


   6. Утилиты

   Жизнь была бы не так интересна, если бы под WinCE не было кучи полезных системных утилит от разных производителей:

   Нам понадобятся:

•  regedit - миниатюрный редактор реестра
•  cecmd.exe - Total Commander под WinCE
•  jotkbd.exe - эмулятор клавиатуры
•  movewindow.exe - для сдвига назойливых окон
•  resinfo.exe - для получения информации о системе
•  port splitter.exe - замечательнейшая утилита для расшаривания gps-модулей между несколькими приложениями (о ней мы поговорим позже)
•  MortScript.exe - язык для создания простеньких скриптов под WinCE. Аналог .bat файлов для DOS, только более продвинутый.

   Скачать набор наиболее часто используемых утилит WinCE можно отсюда: utils.zip. Рекомендую скачать и распаковать в отдельный каталог на SD-карте - они нам ещё пригодятся.

   7. Влазим внутрь

   Итак, перед нами лежит выключенный pna со стандартной менюшкой. Обычно там есть команды "Навигация", "Приложения" и "Настройки". При нажатии на кнопку Навигация запускается некая сторонняя софтина, например:

•  Автоспутник на JJ-Connect'е
•  Навител Навигатор на Shivaki
•  iGo на Pioneer'е.

   Таким образом, на стандартном pna оболочки две: первая оболочка - показывает меню, а вторая - осуществляет навигацию. При этом рабочий стол WinCE и панель задач скрыты. "Разлочка" устройства может выполняться несколькими способами, в зависимости от устройства, и от того, что именно вы хотите добиться.

•  1 вариант: замена навигационной программы на другую
•  2 вариант: замена стандартного меню на собственное настраиваемое
•  3 вариант: отмена всех программных оболочек и запуск рабочего стола

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

   Если вы всё же хотите разлочить свой pna до уровня кпк - читайте соответствующие темы на форуме. И прежде чем заниматься этим, особое внимание уделите теме "Как не убить собственный навигатор".

   Особенно это актуально тем, у кого навигатор с одной единственной флешкой, а дырочка "reset" с боку устройства выполняет не полноценное восстановление ОС и всех установленных программ - а всего лишь обычную перезагрузку. Заметьте, таких моделей навигаторов БОЛЬШИНСТВО.

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


   8. Начинаем разлочку

   Запомните одну аксиому: не смотря на то, что все способы разлочки схожи, универсальных способов, которые бы без изменений подходили к любому девайсу - не существует. Поэтому выполняя каждую операцию по разлочке нужно понимать, что именно ты сейчас делаешь, и к каким последствиям это приведёт.

   Первый и второй варианты разлочки сводятся обычно к замене exe-шника навигационной программы или стартового меню на нужное приложение (для чайников подробное объяснение здесь).

   Вы-первых, надо понять, как устройство подключается к компьютеру. Внешнюю SD-карточку устройства всегда можно засунуть в карт-ридер, а само устройство обычно подключается usb-шнурком. Тут есть два варианта: либо оно напрямую видится в системе как дисковый накопитель, либо для того, чтобы обмениваться с устройством файлами вам придётся установить Microsoft ActiveSync.

   То есть, нам нужно получить доступ к файловой системе самого устройства, и его внешней SD-карты. После чего эмпирическим путём находим (угадываем), где лежит exe-шник навигационной программы. В зависимости от производителя устройства, он может располагаться на карте памяти, а может и на внутренней флеш-карте устройства.

   Например:
•  \SDMMC\Navitel\Navitel.exe
•  \SDMMC\MobileNavigator\MobileNavigator.exe

   Первое, что я обычно делаю - переименовываю старый exe-шник - например, дописывая к имени символ "1": MobileNavigator1.exe.  А на его место кладём уже знакомый на cecmd.exe, названный оригинальным именем: MobileNavigator.exe.

   По-человечески отключаем навигатор от компьютера, перегружаем, дожидаемся появления меню, и выбираем пункт "Навигация". Если всё сделано правильно - вместо навигационной программы перед вами появится файловый менеджер Total Commander для WinCE.


   9. Исследуем устройство

   Теперь, когда вы полчили доступ к файловому менеджеру - много становится возможным. Для начала запускаем утилиту resinfo.exe - для того чтобы получше идентифицировать устройство. В открывшемся окне переходим на закладку System. Здесь можно узнать:

•  версию установленной на вашем девайсе операционки - WinCE 5.00.0
•  тип процессора - ARM926T
•  размеры экрана - 320x240 пикселей
•  кодовый идентификатор системы - MALATA_GPS

   Что нам это даёт? Во-первых, можно поискать информацию в сети не только по имени прибора, зачастую яндексу с гуглом неизвестному - но и по кодовому идентификатору системы. Случается что приборы, продаваемые под различными торговыми марками, внутри полностью идентичны.

   Вы-вторых - теперь мы знаем под какую версию ОС, процессор и разрешение экрана следует искать софт.

   Хотите получить из навигатора полноценный кпк? Зайдите в папку \WINDOWS и запустите explorer.exe. Затем воспользуйтесь утилитой TaskbarShow.exe из комплекта Utils.zip. И вот перед вами полноценный КПК, с меню Пуск и Панелью задач.


   10. Знакомимся с Garmin Mobile XT

   Дальнейший план действий понятен: вместо Exe-шника надо прикрутить то, что нам нужно. Это может быть одна из нескольких программ, реализующих интерактивное пользовательское меню. В него вы сможете встроить запуск любых навигационных систем, игрушек, и просто разных программ.

   В нашем более простом случае - это должна быть навигационная система на базе программы Garmin Mobile XT - позволяющей работать с картами Garmin. Основная проблема заключается в том, что официальные версии этой программы выпущены под Windows Mobile, Symbian и Palm - но только не под WinCE.

   Если ещё год лет назад назад эта проблема была неразрешима - то сейчас умельцы выпустили уже несколько пакетов Garmin Mobile XT под WinCE. Это стало возможным вследствии того, что ядра систем WinCE и Windows Mobile во многом идентичны.

   Вот ссылки на эти пакеты:
•  GarminMobXTWinCE.zip
•  GarminMobileXTforWindowsCE_50010w.rar
•  GarminMobileXTforWindowsCE_50020w.7z

   Сложно сказать, какой именно пакет подойдёт к вашей системе. Если у вас версия WinCE 5.00.20 - рекомендую начать с GarminMobileXTforWindowsCE_50020w.7z, если ниже - с GarminMobileXTforWindowsCE_50010w.rar  В сети можно найти также множество других сборок, в том числе и под разлочку конкретных устройств.


   11. Скрипт для запуска Garmin

   Чтобы запустить Garmin Mobile XT на WinCE недостаточно вызвать Que.exe. Сборки хороши тем, что в них уже встроен скрипт на языке MortScript для запуска приложения. Обычно этот скрипт называется Garmin.mscr и содержит следующие действия:

•  1) Проверка: если Garmin Mobile XT уже запущено - то просто активируем её окно:
If(WndExists("Garmin Mobile XT"))
	Show("Garmin Mobile XT")
	Exit
EndIf

•  2) Запускаем explorer.exe (если он до сих пор не запущен). Если ваш GMXT вываливается с ошибкой "Read access violation at data address 0xFFFFFFFC" - значит скорее всего у вас не запущен explorer.exe, а garmin'у он нужен:
If(not ProcExists("explorer.exe"))
	Run("\windows\explorer.exe")
	Sleep(400)
EndIf

•  3) Не смотря на то, что explorer.exe для работы garmin'а нужен, панель задач будет только мешаться и заслонять его окно. Чтобы избавиться от неё воспользуемся утилитой TaskbarHide.exe из того же Utils.zip:
Run(SystemPath("ScriptPath")\"TaskbarHide.exe")
Sleep(500)
Run(SystemPath("ScriptPath")\"TaskbarHide.exe")

•  4) Копируем настройки GMXT с SD-карты на внутреннюю флешку устройства. Если не сохранять настройки на SD-карте - программа будет каждый раз забывать их, запускаясь с настройками по-умолчанию.
XCopy(SystemPath("ScriptPath")\"Settings\*.*", "\Garmin", TRUE)

•  5) Запускаем Garmin Mobile XT и дожидаемся завершения его работы:
RunWait(SystemPath("ScriptPath")\"..\Apps\WM\que.exe")

•  6) После завершения работы приложения - забираем его настройки обратно на SD-карту:
XCopy("\Garmin\*.*", SystemPath("ScriptPath")\"Settings", TRUE)

•  7) Возвращаем панель задач на место. В противном случае при следующем запуске explorer'а её не будет видно:
Run(SystemPath("ScriptPath")\"TaskbarShow.exe")

•  8) Отстреливаем explorer.exe - обычно навигатору он без надобности:
If(ProcExists("explorer.exe"))
	Kill("explorer.exe")
EndIf

   Вот такой вот скрипт получился. Запускаем, пробуем. Если при запуске получаем сообщение "'ProcExist' requires toolhelp.dll" - добавляем в каталог со скриптов библиотеку toolhelp.dll из пакета Utils.zip.


   12. Разлочиваем Garmin Mobile XT

     
   При первом запуске GMXT вас обрадует сообщение: мол, дескать - купи меня! Смело отправляем хитрую программу куда подальше с такими идеями - выбирая пункт меню "Соединение с Garmin GPS". Если вы не видите на экране этого пункта, и последняя команда у вас "Ключ продукта" - значит программа неправильно определила размеры экрана устройства.

   Выслушав, что без GPS-приёмника производства Garmin программа работать не будет - выбираем язык и попадаем в основное меню программы. Если вы видите эту картинку - 3/4 вашего тяжкого пути уже пройдено. Заходим в меню "Настройки" -> "О системе", и переписываем на бумажку ID карты памяти (обычно состоящий из 10 цифр).

   Выключаем прибор, снова вставляем карту в карт-ридер. Запускаем генератор ключей для карт Garmin. Ссылку давать не буду, но в интернете его навалом. Вам нужна версия генератора не ниже 1.5.

   В строке Unit ID вводим ID карты памяти. В строке Software Product - выбираем Garmin Mobile XT. Нажимаем верхнюю кнопку Generate. Получится серийник для разлочки Garmin Mobile XT под сторонние (не Garmin) GPS-приёмники. На мобильном устройстве, в папке Garmin создаём текстовый файл sw.unl Записываем в него единственную строчку - с получившимся серийным номером - хотя бы с помощью редактора "Блокнот".

   Продолжаем работать с генератором ключей. В строке Map Product указываем . Появится диалоговое окно. Для набора карт "Дороги России версии 5.xx" вводим FID=1280, нажимаем OK. Нажимаем нижнюю кнопку Generate. Получаем серийник для разлочки карт "Дороги России" на данном устройстве. На мобильном устройстве, в папке Garmin создаём текстовый файл gmapsupp.unl   Записываем в него единственную строчку - с получившимся серийным номером - хотя бы с помощью редактора "Блокнот".

   Если всё сделано правильно, программа разлочена.


   13. Устанавливаем карты

   Устанавливаем базовую карту мира для Garmin Mobile XT. Для этого скачиваем с официального сайта garmin файлик GarminMobileXTFreeBasemap_4xxxx.exe. Запускаем установку, программа находит карту памяти в картридере, и сама предлагает установиться туда.

   Если ваша сборка GMXT под WinCE не включала в себя голосовые файлы Garmin Mobile XT (посмотреть их наличие можно в папке Voice) - скачиваем с официального сайта GarminMobileXTSupportFiles_4xxxx.exe. Аналогичным образом запускаем установку, программа находит карту памяти нашего мобильного устройства, и сама предлагает установиться туда.

   Добываем из интернета карту "Дороги России 5.11" Она должна представлять собой .img файл размером около 490 Мб. Если добыить неоткуда - выдираем из официального дистрибутива map_updater_5_11.exe, который пока ещё можно скачать с сайта Garmin совершенно свободно. В процессе установки программа распаковывает во временный каталог файл gmapsupp.img, который можно оттуда забрать - как только появится первое диалоговое окно с просьбой подключить обновляемое устройство к компьютеру. Сразу оговорюсь, что для версий 5.12 и 5.13 такой вариант уже не прокатывает.

   Вытащенный файл gmapsupp.img версии 5.11 кладём в отдельную папку, и запускаем пакет GMapTool, который можно скачать отсюда:
•  В список файлов добавляем наш gmapsupp.img.
•  Переходим на закладку Write ставим галочку Insert unlock code
•  и вводим в поле код из файла gmapsupp.unl.
•  Жмём write all и проверяем, что в логах нет ошибок.
•  Копируем исправленный gmapsupp.img в папку Garmin карты памяти устройства.

   Запускаем map_updater_5_12.exe и обновляем карты до версии 5.12, затем map_updater_5_13.exe - до версии 5.13.

   Процесс установки карт завершён. По-человечески вынимаем флешку из картридера, вставляем в устройство и запускаем Garmin.


   14. Если garmin не видит gps-приёмника

   На многих pna-приборах возможна ситуация, когда правильно разлоченная GMXT уже не предлагает зарегистрироваться - но всё равно упорно не видит GPS-приёмник. Это вызвано тем, что виртуальный COM-порт, через который подключен к WinCE встроенный GPS-приёмник уже занят каким-то другим штатным приложением. Для выхода из подобной ситуации создана программа Port Splitter, о которой говорилось ранее.

   Она предназначена для "расшаривания" одного COM-порт, на котором работает GPS-приёмник между несколькими приложениями - путём трансляции с него данных на виртуальные COM-порты: COM1..COM9. Файл Port Splitter.exe нужно поместить в ту же папку, где лежит скрипт для запуска GMXT - garmin.mscr.

   Существует два варианта работы программы Port Splitter:
•  включительно по версию 1.20 программа хранит свои настройки в реестре
•  версия 1.30 сохраняет настройки в файле settings.dat (который почему-то всегда датирован 01.01.2007)

   Рекомендуется использовать наиболее свежую версию программы. Старая 1.20, работавшая на Voxtel'е на Shivaki почему-то не видела ни одного COM-порта.

   Запускаем Port Splitter - должно появиться окно программы. Выбираем входящий порт, на котором висит встроенный GPS-приёмник устройства. Обычно это COM7. Устанавливаем скорость обмена данными - обычно это 9600 бод. Скорость и номер вашего COM-порта можно узнать, запустив старую навигационную программу и заглянув в её настройки.

  Добавляем в список исходящих портов хотя бы один порт, на который будем раздавать сигналы с устройства. Допустим, это будет COM0. Обязательно устанавливаем галочку "Автозапуск". Нажимаем "Старт", затем "ОК" в заголовке окна. Окно должно исчезнуть.

   Запускаем GMXT и убеждаемся, что GPS-приёмник найден. Если вы находитесь в помещении - не ждите, что будут найдены спутники. Но приёмник программа должна распознать, и начать процесс поиска спутников.

   Снова запускаем Port Splitter.exe. Нажимаем "Стоп", затем "Exit". Внимательно смотрим в каталог, где располагалась программа - там должен появиться файл Settings.dat. Копируем его под именем Settings.bak. Это делается для того, чтобы если по какой-то причине настройки порт-сплиттера слетят - при следующем запуске восстановить их из резервного файла.

   Для того, чтобы автоматизировать этот процесс - добавляем в garmin.mscr между 3) и 4) пунктами - следующие строки:
Copy(SystemPath("ScriptPath")\"Settings.bak", SystemPath("ScriptPath")\"Settings.dat", TRUE)
If(not ProcExists("Port Splitter.exe"))
	Run(SystemPath("ScriptPath")\"Port Splitter.exe")
	Sleep(500)
EndIf


   15. Последние штрихи

   Проверяем, что при запуске скрипта garmin.mscr - запускается GMXT, которая видит спутники, определяет текущие координаты (на открытом воздухе) и нормально показывает детальные карты.

   Для этого заходим в меню "Куда" -> "Адрес" -> Липецк (или любой другой областной центр), ул.Ленина, д.1. После того, как программа нашла наш дом, или по крайней предложила дома с похожими номерами - нажимаем кнопку "На карте". Максимально приближаемся, и убеждаемся что контуры домов видны.

   Теперь нужно сделать так, чтобы по кнопке "Навигации" у нас запускался не cecmd.exe - а GMXT. Воспользуемся пакетом runme.zip, состоящим из трёх файлов:
•  runme.mscr - произвольного скрипта на языке MortScript
•  MortScript.exe - интерпретатора языка MortScript
•  runme.exe - программы, единственная задача которой - запустить скрипт, имя которого совпадает с именем .exe-файла.

   Ищем, как называется и где находится exe-файл, который отвечает за систему навигации (его мы подменяли в разделе 8). Например, если он называется Navitel.exe и лежит в папке Navitel SD-карты - переименовываем runme.exe и runme.mscr в Navitel.exe и Navitel.mscr соответственно, и кладём их в ту же папку на карте.

   Редактируем Navitel.mscr:
Errorlevel("warn")
RunWait(SystemPath("ScriptPath")\"..\Garmin\RunGMXT\Garmin.mscr")

   Ставим флешку обратно в устройство, перегружаем, и пробуем: при нажатии кнопки "Навигация" должен запуститься GMXT.


   16. Заключение

   Не получилось? Внимательно выполняем по шагам всё сначала. Курим форум до чувства полного просветления. Аффтар уже ставил GMXT на Pioneer, на Voxtel и на Shivaki - и со всей ответственностью заявляет: универсальных способов разлочки, которые бы без единого изменения изменения подходили к каждому девайсу - НЕ СУЩЕСТВУЕТ!

   Получилось? Говорим Спасибо аффтару :)

   В качестве примера - пакет для разлочки навигатора Shivaki (естественно, без карт) - можно скачать здесь (43 Мб).

   С нетерпением жду, когда наконец я смогу поставить Garmin Mobile XT на свой пылесос и подключить к "живому журналу" свою микроволновку..
 
dog

Бесплатный / коммерческий софт

   Как честный исследователь, я стараюсь, если есть возможность - ставить эксперименты на самом-себе-любимом. И это касается не только передовых технических новинок ;) но и совершенно непопулярных мер, вроде включения в домен, или перехода на бесплатное программное обеспечение. Вот о нём мы сейчас и поговорим.

   Точнее поговорим о разнице между бесплатным и коммерческим софтом. Так получилось, что у меня в соседних папках оказались свежевыкаченные дистрибутивы:

•  GIMP - бесплатного графического редактора наподобие фотошопа
•  Adobe Acrobat Reader'а - тоже, вообщем-то, бесплатной программы для чтения pdf - правда, разработанной очень даже коммерческой компанией adobe

   Но больше всего меня удивил размер этих дистрибутивов:

•  GIMP - 16 Мбайт
•  Acrobat Reader - 24(!!!) Мбайт

   Я не могу понять, как программа, которая тупо показывает на экране pdf-файлы - может весить в 1.5 раза больше навороченного графического редактора с кучей фильтров и спецэффектов?



   Но самое интересное было, когда я увидел, сколько весит уже установленный Acrobat Reader, а именно папка C:\Program Files\Adobe\Reader 8.0

   Угадайте, сколько, она может весить?... Сдаётесь?... 190 МБайт!!!!
190 Мбайт!! Программа для просмотра pdf!

   А теперь, давайте посмотрим на состав папки, чтобы афигеть окончательно:

8,59 КБ


   Итак, сам акробат весит 80 Мбайт, а ещё 105 Мбайт занимает... его распакованный установочный комплект!!!

9,90 КБ


   Объясните мне одно: насколько надо не уважать пользователя, чтобы без его согласия, по умолчанию запихивать ему в Program files ещё одну копию своего дистрибутива, да ещё и распакованную, которая весит в 4 раза больше исходного?!



   Теперь понятно, что фирме adobe совершенно наплевать на пользователя, её абсолютно не беспокоит его место диске.

•  Во-первых, молча размещать дистрибутивы в Program files - это свинство.

•  Во-вторых, совершенно не понятно, кому и зачем может пригодится этот дистрибутив? Уверен, что он так и останется лежать там до очередной переустановки системы.

•  А в-третьих, ещё большее свинство - выкладывать распакованный 100 МБайтный дистрибутив, когда можно было выложить запакованный 24 МБайтный.

   И даже не надо писать про вмирный заговор разработчиков программного обеспечения, с целью продвижения всё более и более навороченной компьютерной периферии.

   У нас на глазах "пухли", превраясь из быстрых и шустрых программ в невообразимых по-размеру и тормознутости монстров ACDSee и Nero. А чего только стоит Windows Vista, не приносящая никакой полезной функциональности, зато требующая 2 Гб памяти для нормальной работы?

   И до тех пор, пока подобное отношение разработчиков коммерческого ПО к потребителям будет сохраняться, всё большее число пользователей будет переходить на свободное программное обеспечение. Лично я, например, уже сделал выбор:

•  CD Burner XP - намного удобнее Nero
•  FastStone Image Viewer - намного быстрее ACDSee

   И что удивительно, обе программы с прекрасным русским интерфейсом.