`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

GIS – открытые, бесплатные, доступные

Статья опубликована в №42 (659) от 4 ноября

+22
голоса

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

Три основных специализированных тематических онлайн-каталога www.maptools.org, www.opensourcegis.org, www.freegis.org дают если не исчерпывающую, то более чем репрезентативную выборку из общего, никем не ведущегося, перечня программных проектов, в той или иной степени имеющих отношение к тематике GIS. К сожалению, информация в этих каталогах сильно дублируется, степень этого самого «отношения к тематике», естественно, никем не нормирована, да и с отслеживанием реального состояния большого числа проектов наблюдаются проблемы.

GIS – открытые, бесплатные, доступные
GRASS

Настоящим мастодонтом из мира свободно распространяемых GIS-программ можно назвать систему GRASS. Этот уникальный продукт, прошедший почти через тридцать лет эволюции (фактически разработка системы начиналась в 1978 г.), является настоящим образчиком уже ставшей классической системы «освобождения» ведомственных разработок. Дело в том, что GRASS, как принято было говорить во времена ее зарождения, – детище американской военщины. Скрупулезные военные сохранили все важнейшие документы, отмечающие главные архитектурные решения на всех этапах развития системы, начиная от технического задания и отчета о первом этапе пилотного прототипирования системы.

В 1978 г. небольшая исследовательская лаборатория при Университете штата Иллинойс, работающая на инженерные войска США, уже располагала собственной GIS, работавшей на ЭВМ IBM 360 с дисковыми накопителями емкостью 2,5 ГБ (которые в те времена стоили 87 тыс. долл.). К этому времени исследовательский институт Джека Дангермонда, ESRI, уже разработал свою версию GIS – ArcInfo, куда более подходящую для нужд лаборатории, чем имеющаяся. Но 15 тыс. долл. за программное обеспечение и 60 тыс. – за необходимую для его исполнения мини-ЭВМ были непосильной ношей для исследовательского бюджета, поэтому было принято решение создавать собственную систему. Причем способную работать на... микро-ЭВМ с процессором Z80.

Технические характеристики этой рабочей станции, Cromemco Z80, сегодня впечатляют – 8 МГц тактовой частоты восьмибитового процессора, 32 КБ оперативной памяти, накопители на 8-дюймовых гибких дисках и графический дисплей разрешением 377×241 пикселов и четырехбитовой глубиной цвета (16 цветов или градаций серого). Именно для этой машины Джеймс Вестервельд, сотрудник лаборатории, и портировал свой FORTRAN-код первой микро-GIS. Вскорости «мощность» машины все же оказалась недостаточной, и ее заменила знаменитая PDP-11 под управлением ОС UNIX. Собственно говоря, с этого момента будущая система GRASS настолько прочно обосновалась в UNIX-мире, что полноценный ее порт в мир, например, ОС семейства Windows появился совсем недавно, по меркам скоростей в ИТ-мире – буквально на днях.

Фундаментальным отличием GRASS от хорошо уже тогда известной ArcInfo стала основная модель пространственных данных. Джек Дангермонд в качестве основы всех GIS ESRI принял векторную модель данных. Векторное описание пространственных объектов идеально подходит для разнообразных артефактов с четко определенными гранями и краями. И бизнес-потребители GIS всегда очень заинтересованы именно в возможности эффективного описания и в свободе манипуляций с искусственными объектами – зданиями, дорогами и т. п. С другой стороны, растровая модель (в том числе и трехмерная, воксельная) намного лучше подходит для описания природных объектов, у которых вообще нет никаких четко определенных границ, граней, ребер и прочих составляющих объектов из мира идеальной геометрии. В те времена битвы между сторонниками векторной и растровой моделей пространственных данных были нормой (с колоссальным ростом доступности вычислительной мощностей, скорее всего воспоминания о подобных спорах сохранятся разве что в качестве исторических курьезов).

В противовес ArcInfo идеологи GRASS выбрали растровую модель (в конце концов, самое интересное для инженерных войск – рельеф местности). И систему разработки. Если ESRI, несмотря на название, фактически была коммерческой проектной организацией, то маленькая лаборатория могла «потянуть» масштабный проект только формируя сообщество разработчиков – хорошо известный прием в мире классического академического открытого программного обеспечения, кажущийся откровением для неофитов. К слову, характеристики сообщества разработчиков на самом динамичном этапе развития GRASS очень интересны и показательны. Так, в 1990 г., когда вышла четвертая версия системы, GRASS-сообщество образовывалось примерно 40% государственных служащих, оплачиваемых из федерального бюджета, и 5% тех же госслужащих, получающих деньги из бюджетов штатов и локальных, и всего 25% представителей системы образования. При этом в 1990 г. уже более 60 компаний оказывали различные платные услуги по подготовке специалистов, обслуживанию и сопровождению инсталляций системы.

Второй составляющей успеха проекта GRASS стал, естественно, уже тогда проверенный на ОС UNIX прием реализации не столько завершенного приложения, сколько инструментального набора, позволяющего решать задачи специфической предметной области. Как ни странно, но этим мы почти все рассказали о GIS GRASS – по сей день данная система является каноническим масштабным программным проектом, выполненным в лучших (и, местами, в худших) традициях UNIX, по сути, она – больше инструментальный набор, чем завершенное приложение, и, как принято в мире UNIX, если вы знакомы с одной из версий GRASS семейства 5.x, вам придется многое открывать для себя заново в семействе 6.х. Впрочем, все это детали. Главное, что реальной альтернативы GRASS на сегодняшний день в мире легально бесплатных открытых GIS просто не существует.

GRASS дает в руки пользователю прекрасный набор почти из полутора сотен инструментов для работы с растровыми данными, весьма «заковыристый» графический интерфейс, который может показаться и вовсе «неграфическим» пользователям современных коммерческих GIS, более чем неплохой отдельный набор инструментов для работы с векторными данными, настолько замечательный визуализатор пространственных данных nviz, что о нем стоит упомянуть отдельно, и наконец, средства для организации хранения, поиска и управления атрибутами векторных данных во внешних СУБД. Кроме того, буквально на днях усилиями российских специалистов GRASS получила русифицированный пользовательский интерфейс. И все же. GRASS – больше специализированная операционная система (в том же смысле, что и культовый текстовый редактор Emacs) для решения задач анализа пространственных данных, чем полноценная GIS. Что ни в коем случае не умаляет ее ценности.

GIS – открытые, бесплатные, доступные
gvSIG

Не менее впечатляющим и очень контрастным по сравнению с GRASS проектом является gvSIG – свободно распространяемая кросс-платформенная GIS с открытыми исходными текстами, разработанная на языке Java. Если судить по возрасту, то gvSIG сравнительно с GRASS – проект-младенец, ему еще нет пяти лет. Архитектурно он в каком-то смысле является эволюцией GRASS, в gvSIG вместо наборов инструментов используются развитые библиотеки классов, образующие ядро системы. Кроме того, gvSIG изначально проектировалась как интерактивная система, расширяемая с помощью плагинов. Зато организационно gvSIG – точная копия GRASS, проект также проходит основной период своего развития на государственные деньги (правительственный грант Испании) в государственной же организации (транспортное министерство Валенсии). gvSIG хорошо поддерживает и векторную, и растровую модели пространственных данных и обладает более чем вменяемым пользовательским интерфейсом (увы, русскоязычной и украинской версий которого пока нет в природе).

GIS – открытые, бесплатные, доступные
Quantum GIS

Третий претендент на установку на компьютер пытающегося освоить GIS – программа Quantum GIS. В отличие от описанных ранее, Quantum GIS – плод новой системы разработки программ с открытыми исходными текстами, ее проектирование начиналось по инициативе одного человека, было подхвачено сообществом независимых разработчиков и велось и ведется без всякого государственного финансирования. Эта система также кросс-платформенная, локализована энтузиастами разных стран (доступна и ее русскоязычная версия), а по продолжительности периода разработки (6 лет) она занимает промежуточное место между GRASS и gvSIG. Функционально Quantum GIS несоизмеримо проще этих двух систем, но уверенно поддерживает и векторный, и растровый форматы пространственных данных и, что немаловажно, способна взаимодействовать с инструментальными наборами GRASS, предоставляя пользователю хорошо отработанный механизм «визуального фронт-енда» к командным утилитам, не требующий программирования для включения в набор новых команд (графический интерфейс и вызов соответствующей утилиты описывается XML-файлом).

Как и в проекте gvSIG, разработчики Quantum GIS предусмотрели возможность расширения функциональности системы за счет плагинов. Комбинация Quantum GIS – GRASS кажется очень привлекательной в связи с тем, что более современная система в этой паре располагает куда более «человеческим» графическим интерфейсом и лучшими возможностями отображения картографической информации и при этом позволяет утилизировать бесценный инструментальный набор GRASS. К сожалению, эти соображения выглядят хорошо на бумаге. При реальной инсталляции, особенно в операционной среде Windows, такая комбинация порождает немало труднообъяснимых проблем, связанных, например, со спецификой взаимодействия кросс-платформенного ПО, лежащего в основе этих пакетов, со множеством, по большому счету, невинных утилит из мира Windows (для желающих все же попробовать уточню один такой подводный камень – если вы используете Punto Switcher, лучше на время работы с этими программами его отключайте, то же самое можно сказать и о знаменитых системных мониторах от Sysinternals).

С системами «второго эшелона» заинтересованный пользователь всегда может ознакомиться самостоятельно, благо информации о них более чем достаточно. В качестве завершения же этого обзора хотелось бы привлечь внимание читателей к очень интересному расширению знаменитой СУБДPostGIS. Естественно, для описания пространственной информации существует целый пакет стандартов, которые затрагивают в том числе и способы представления, хранения и манипулирования распространенными картографическими объектами в базах данных, и только обзор их перечня – предмет отдельной большой работы. На основе этих стандартов и реализована надстройка PostGIS, дающая возможность с помощью реляционной алгебры оперировать пространственными данными – геометрическими примитивами, заданными в векторном формате. К таким примитивам относятся точки, линии, многоугольники и т. д.

Что особенно важно, PostGIS позволяет заносить в базу данных и выполнять операции над топологической информацией, о которой мы немного говорили в вводной статье. Эта возможность, реализация которой в терминах PostGIS называется пространственными индексами, на деле позволяет моделировать на уровне данных отношения «близко», «далеко», «внутри», «снаружи» и, соответственно, оперировать объектами с учетом отношений между ними. То есть, грубо говоря, PostGIS дает возможность задавать запросы типа «какой объект находится недалеко от точки с заданными координатами», «какие объекты находятся внутри заданного объекта» и даже «какова указанная характеристика заданного объекта». Таким образом, пространственная база данных позволяет весьма несложно с пользовательской точки зрения минимальным объемом кода языка запросов инициировать выполнение большинства задач, специфических для GIS-анализа. PostGIS располагает набором готовых сервисных утилит, облегчающих (а часто и вообще сводящих к тривиальному) решение задач трансформации специфических для GIS форматов данных в записи пространственной БД.

Этот краткий обзор на самом деле больше чем знакомит с конкретными программными системами, показывает даже не столько справедливость оценки нынешнего состояния GIS, данной Джеком Дангермондом, сколько вообще того факта, что мы сейчас действительно находимся на самом начальном этапе массового использования пространственной информации. Да, знаменитые коммерческие GIS и пространственные базы данных несоизмеримо мощнее и удобнее приведенных в этом обзоре. Но. В геоинформационных системах сейчас действительно очень много унаследованного от технологий доинформационной эпохи. Если вы решитесь всерьез поработать с ними, вам придется очень серьезно дополнять те базовые сведения, которые приведены в первой тематической статье, в первую очередь знаниями геодезии и картографии. И пока за преодоление барьера между требованиями одной дисциплины (а мы уже можем говорить о самостоятельной дисциплине – «работа с пространственной информацией») к междисциплинарному специалисту и потребностями этого специалиста в возможностях инструментария дисциплины стоят долгие месяцы, а то и годы труда, говорить о готовности этого инструментария и идей самой дисциплины к массовой популярности очень и очень рано.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+22
голоса

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT