О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

16.08.2008

О причинах, по коим геокомпьютинг должен стать основным полем приложения сил сообщества Open Source

2000-2005 гг

Авторское вступление: первая версия этой заметки была сочинена в ночь с 1 апреля на день геолога (важно!) 2000 г. и размещена, если мне не изменяет память, на моем старом сайте на Чертовых Куличках (недавно с удивлением обнаружил, что моя страница там еще существует - администрация сайта выполняет свое обещание "хранить вечно", что на фоне нехорошего поведения некоторых других хостеров заслуживает быть отмеченным). А затем вошла в качестве заключения в мою книгу "Офис, графика, Web в Linux" (СПб: БХВ-Петергбург, 2001).

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

Содержание

Что же такое геокомпьютинг

Геокомпьютинг, с моей точки зрения, - это все, имеющее отношение в раной мере к геологии и компьютером. Утвердившийся термин "геоинформатика" мне не нравится, так как плотно ассоциирован с геоинформационными системами. Коими отнюдь не исчерпывается применение компьютеров в науках о Земле. Более того, именно здесь геоинформационные системы наименее применимы. По крайней мере, примеров успешной реализации ГИС-проектов в геологии пока немного. Почему? Причины, думается, в следующем.

Во первых, геология - наука кривая в прямом и переносном смысле (у верблюда спросили: почему у тебя шея кривая? - а что у меня прямое? - ответил тот). Так вот, все геометрическое в геологии - криво. То есть: стратирафические границы, осевые поверхности складок, линии надвигов; и даже трансформные разломы только аппроксимируются более или менее прямыми линиями. ГИС же эффективно работают при условии прямизны границ. Не зря же самые удачные примеры их использования относятся к лесопосадкам и избирательным участкам...

Вторая причина - геология по сути своей наука индуктивная. А индукция - это то, что великий Шерлок Холмс называл дедукцией: не иначе как его создатель Артур Конан Дойл, будучи студентом-медиком, не отличался прилежанием в области классической логики. И всякое геологическое действо (а геокартирование - особенно) происходит от частного к общему. Любой съемщик понимает, что для того, чтобы нарисовать карту в двухсоттысячном масштабе, площадь надо отходить как минимум со стотысячной детальностью. В основе же ГИС - принцип прямо противоположный: детализация генерализованного изображения.

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

Так что, не умаляя роли ГИС, скажу, что как инструмент исследования в науках о Земле более подходящим представляется то, что именуют задумчиво image processor. Применительно к геологии, это, в первую очередь, цифровая картография во всех ее проявлениях. Поскольку геологическая картография - это основа любых построений в области наук о Земле. А потому возникает вопрос, существует ли для открытых и свободных платформ

Приложения для геокомпьютинга

Как оказывается, существует. В первую здесь следует упомянуть GMT - The Generic Mapping Tools. Это пакет программ, созданный профессорами-геофизиками Гавайского университета Паулем Весселем (Paul Wessel) и Уолтером Смитом (Walter H. F. Smith) еще в 80-х годах.

Эта программа распространяется бесплатно в исходных текстах (в полном виде около 50 Мбайт), компилируемых для любой Unix- или Unix-подобной системы. В настоящее время ее можно обнаружить в системе портов FreeBSD и в портежах Gentoo. Она включает более 50 отдельных модулей для обработки двухмерных и трехмерных картографических данных, построения на этой основе контурных карт, shadow map и истиннно трехмерных блок-диаграмм. Которые могут быть записаны в формате EPS.

Помимо собственно пакета, на сайте авторов доступны многочисленные примеры его применения (главным образом для геологических объектов Гавайских островов), а также очень подробная документация в форматах PDF и PS.

Все модули GMT работают исключительно в режиме командной строки. Однако для этого пакета разработана и интерактивная оболочка iGMT, написанная на TclTk и работающая в графическом режиме. Ее можно обнаружить на сайте Сейсмологического факультета Гарвардского университета.

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

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

Таким образом, список работоспособного инструментария для геокомпьютинга под Linux сводится к двум позициям. К тому же ни GMT, ни GRASS не удовлетворяют в полной мере требованиям к таковому: первая - как чрезвычайно сложная в использовании, вторая - как имеющая ограниченные возможности работы с форматом DEM (Digital Elevation Modelling), основным для анализа геологического строения в региональном масштабе. И потому - оправдана ли постановка вопроса, вынесенного в заголовок статьи?

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

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

Технологическая перспектива

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

Действительно, ныне практически с любым программным обеспечением общего назначения (и даже со многими узкопрофессиональными пакетами) с успехом справилась бы система на базе Celeron-400 с 64 мегабайтами памяти, любой (!) реально доступной видеокартой и самым маленьким, какой только удастся достать по блату, жестким диском. И даже (страшно сказать) большинство игр (за исключением уж самых навороченных) можно запустить на любой машине, каковую можно обнаружить в прайсах двух-трехлетней давности.

Но ведь развитие компьютерного железа не стоит на месте: частоты массовых (то есть недорогих) процессоров (и от Intel, и от AMD) давно перевалили за 2 гигагерца, память своеобычным ныне объемом обойдется в сущие копейки, а о жестких дисках и говорить не приходится: за разумные деньги можно приобрести их только такого объема, который не по силам заполнить даже при тотальном скачивании mpeg-музыки (и потому, дабы свято место пусто не осталось, приходится качать фильмы, как правило, посредственные:-)).

В перспективе же - тактовые частоты "камней" от Intel переваливают за 4 Ghz (и его эквивалент от AMD), 64-битные вычисления, память DDR2 с фантастической (и совершенно незадействованной) пропускной способностью... Как же убедить пользователя в необходимости приобретения этого богачества?

Появление все новых и новых версий Windows с их нарастающими хардверными аппетитами положения уже не спасает: даже адепты ее признают, что в корпоративной среде "нет никакой необходимости устанавливать Windows 2000 (не говоря уже о XP и тем более Longhorn - А.Ф.) на каждую рабочую станцию и каждый сервер сети" (Шен Дэйли. 10 шагов для перехода к Windows 2000. Windows 2000 Magazine/RE, #1(4), 2000, с. 48). А значит - нет и необходимости в upgrade каждой машины. А это - бандитизм и бесчинство со стороны пользователя, не так ли?

Надежды, возлагаемые ранее на бурное развитие мультимедиа-технологий, похоже, себя тоже не оправдывают. И звук, и видео вполне успешно прокручиваются на современной машине средне-офисного ранга, а массового внедрения трехмерной графики ожидать уже не приходится. В частности, по чисто психологическим причинам: на протяжении всей истории человек стремился аппроксимировать три измерения реального мира его двухмерными представлениями. Почему, в частности, я не думаю, что 3D-интерфейсы обречены на успех: первый такой интерфейс я увидел году в 92-м (3D-Room от Hewlett-Packard, если мне не изменяет память), и очереди пользователей за ними с тех пор не наблюдается.

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

Так спрашивается, куда же девать лишние мегагерцы и мегабайты (а то и гигагерцы с гигабайтами)? Ответствую, аки отрок Феодосий: в технологии геокомпьютинга!

Обоснуй! - резонно скажете вы мне на это.

Что ж, попробую. Для начала - первая к тому посылка,

Ресурсы

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

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

Ныне, начиная со времени появления процессоров класса P-III/Athlon (не говоря уже о Pentium-4 и AMD64), положение немного изменилось. И мощные ГИС и имидж-процессоры вполне могут функционировать на PC среднедомашнего (то есть игрового!) уровня. Однако и геософт ведь не стоит на месте: взамен аскетической командной строки GMT приходят развитые графические интерфейсы. Да и аппетиты растут: просто построения карты кажется недостаточным, хочется и 3D-моделей, и реалистичной генерации ландшафтов, и виртуальных облетов территории...

И ведь ГИС, хотя они и "ГЕО", к Земле отнюдь не привязаны: есть материалы и по Марсу, и по Венере, и по старушке Луне, наконец. А там - свои проблемы обработки, требующие своих решений. И, соответственно, ресурсов.

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

Перспективы массовости

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

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

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

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

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

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

Дальше - больше. Ведь помимо профессиональных экспедиционщиков, существуют, так сказать, экспедиционщики-любители. Именуемые обычно туристами. Они - разные: от спортсменов-первопроходимцев маршрутов до отпускников-автомобилистов, прокладывающих маршрут из пункта Б1 в пункт Б2 ("как известно, в Петушках нет ни пунктов А, ни пунктов Ц, а есть только пункты Б"). И всем им потребуются карты нового поколения, программные средства для работы с ними и с данными прецизионного позиционирования, мощные компьютеры для запуска этих программ.

А все это вместе будет требовать вычислительных ресурсов, вычислительных ресурсов и вычислительных ресурсов (для подготовки карт, подготовки программного обеспечения и для его использования, соответственно).

Промежуточный вывод: развитие средств глобального позиционирования создает предпосылки для массового спроса на технологии геокомпьютинга самого разного уровня: если провести аналогию с системами обработки текстов (с чего и начался массовый спрос на персональные компьютеры), то это будут системы класса QuarkPress и Framemaker, во первых, класса Word - во вторых, и класса Lexicon - в третьих.

Общий вывод

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

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

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

Следствия для сообщества Open Source

Все это я написал не для того, чтобы дать совет хардверным и софтверным фирмам - они и без него обойдутся. Моя цель - обосновать тезис: впервые за всю историю всему миру Open Source дается шанс: не стоять в позиции для парада, отражая рипосты коммерческих производителей. Типа - на удар с кварты PhotoShop'ом мы ответим с терции GIMP'ом, на укол MSOffce - отводом Koffice, и т. д.

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

Ныне работоспособных ГИС-подобных систем под Linux - раз, два - и обчелся (почти буквально). И это, товарищи, правильно - сложившиеся стереотипы, готовые наработки и тому подобные тормоза не будут мешать при создании новых продуктов.

А продукты эти, безусловно, будут конкурентоспособны. Даже не обсуждая вопросы качества и функциональности - просто по цене. Современные коммерческие ГИС - огромные программные комплексы с массой опциональных (но обычно - необходимых!) модулей; суммарная цена их (не по прайс-листам, а в реальности) достигает десятков тысяч долларов на рабочее место. Конечно, с выпуском массовых коммерческих продуктов цена падать будет, но - далеко не сразу. Помните, не так давно стандартный текстовый процессор стоил с полштуки американских рублей. Да и сейчас - почти столько же, потому как покупается в составе офисного комплекта.

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

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

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

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

Ну а уж за это сам бог велел денег взять. Как сказал кто-то из великих инженеров прошлого: за то, что переключил контакты - с Вас 1 доллар, за то, что знаю, как это сделать - $999...