<< Оглавление >> Концепция геоники |
|
1. Геоника как методология создания современных геомоделирующих программных комплексов, интеграция технологий CAD, GIS и когнитивной графики
Прогресс цивилизации связан с орудиями труда: человек, взявший в руки камень, ближе к нам, имеющим АЭС, спутники, компьютеры и т.д., чем к своему предку, не взявшему камень. Как писал Станислав Лем, цивилизация – это сумма технологии. А технология – это алгоритм изготовления чего-либо.
В нашем случае речь идет о создании геомоделирующих программных комплексов, которые, в свою очередь, являются инструментами для построения моделей местности по результатам изысканий, проектирования, управления, познания. Сегодняшний их уровень, несмотря на всю, казалось бы, изощренность, вполне сопоставим с камнем первобытного человека. Инструмент определяет возможности, технологию (алгоритм изготовления) = процесс производства = бытие, а оно в свою очередь сознание. И нет никаких оснований не распространить это на инструменты интеллектуального труда – компьютер, БД, интернет, САПР и ГИС.
Проблематика создания геоинженерных САПР и ГИС инженерного назначения, т. е. систем, предназначенных для автоматизации обработки изысканий и геоинженерного проектирования – геомоделирования существующих ситуации, рельефа, инженерно-геологического строения, проектирования генпланов, сетей, трасс, т. е. линейнопротяженных объектов, – составляет уже довольно развитый раздел знания. Можно говорить о формировании направления, дисциплины, все более осознающей свой собственный объект и предмет, свою "особость", "отдельность" от "геоинформатики вообще". Во избежание длинных перечислительных названий (типа: "автоматизация обработки данных геодезических, инженерно-геологических и др. изысканий и автоматизации проектирования в области гражданского, промышленного и транспортного строительства") и за неимением признанного названия (например, "геоинженерная (гео)информатика") мы назвали это направление – геоника.
Безусловно, с точки зрения практики, самоосознание и самоопределение науки, дисциплины, разработка ее философско-методологических, концептуальных основ – это только средство. Но в данной области, как и во многих других наукоемких областях, "нет ничего практичнее хорошей теории", поэтому это – очень актуальная проблема.
Геоника принадлежит более широкой области – геоинформатике, которая в свою очередь является разделом информатики. Сегодня "большая" геоинформатика представляет собой довольно широкую сферу знаний и деятельности, охватывая под единым концептуальным "зонтиком" разнообразные дисциплины и технологии, как чисто технические, так и социотехнические. Как и для науки в целом, для геоинформатики характерны и процессы дифференциации, формирования узких направлений с неизбежным в этом случае "разноязычием" и как следствие слабой ориентированностью специалистов даже в смежных областях, и процессы интеграции, поиска объединяющих концепций. Процессы эти разнонаправленные, но действуют они одновременно. В результате происходит и формирование отдельных узких направлений, и как бы вторичная интеграция, формирование комплексов. Обычно границы этих комплексов подвижны, но именно на их стыках и происходит рост знания и технологий.
Одним из таких комплексов и является, на наш взгляд, и GeoniCS. Под этим названием можно было бы объединить различные направления проектирования геоинженерных САПР и ГИС, которые, несмотря на разрозненность подходов, на самом деле имеют общий концептуальный и технологический базис, прежде всего связанный с моделированием рельефа (и вообще нерегулярных, сложно устроенных поверхностей и тел) с помощью триангуляционных моделей, и именно этим качественно отличаются от других основных классов САПР – машиностроительных, технологических, схемных, архитектурно-строительных. Именно это служит единым языком, способствует интеграции и обеспечивает определенное единство геоинженерных САПР в разных областях (при всем их различии). Тезис – далеко не очевидный. Именно САПР способствовали осознанию параллелей между различными областями геоинженерии, например, проектирование генпланов, дорог, железных дорог, маркшейдерии и т.п.д. Размежеваться и объединиться – вот обычный пункт становления дисциплины и направления.
У геоники как направления складывается свой предмет, подходы, прорисовываются специфические методы моделирования и принятия решений, категорийный и понятийный арсенал, концептуал. Она все более осознает себя равноправной "половиной" геоинформатики. И это совершенно естественно и правильно. Ведь ГИС – это не только и не столько "географ", описывающий и анализирующий среду, обычно в интересах "управленца", чиновника, сколько "геоинженер", проектировщик, для которого анализ – только отправной пункт для активного преобразования, улучшения среды, т. е. создания проекта. "Управленец" и "проектант" – как две основные "фигуры", два типа потребителей услуг ГИС (при всей огрубленности и условности такого выделения) – самим фактом своего существования и комплексом требований к технологиям, во многом определяют основные параметры этих технологий: состав моделируемых объектов, требования к точности, интерфейсу, оперативности, формам выдаваемой информации и т.п. В этом смысле можно "по-одесски" сказать, что бывают ГИС и ГИС. Безусловно, эти два ортогональных, "взаимно перпендикулярных" подхода – "управленческий" и "геоинженерный" – на самом деле находятся между собой в сложном взаимодействии, и здесь скорее действует принцип дополнительности, интеграции, а не противопоставления, но утрирование ситуации в данном случае плодотворно и полезно, т.к. позволяет четче выделить требования к целому классу систем (а заодно и понять причины "аллергии" к неинженерным ГИС у многих специалистов-практиков, связанных с изысканиями, проектированием, инженерными сетями и др.).
В термине "геоника" просматривается аналогия, аллюзии с "бионикой": подобно тому, как там – симбиоз биологических и технических систем, их гармонизация, притирка, вписывание, "взаиморастворение", "аннигиляция", геоника – это тоже симбиоз, синтез двух начал: начала существующего, "косного" (гео-) и начала активно-преобразующего, проектного, т. е. "настоящего" и "будущего", "черного" и "красного", изысканий и проектирования. В этом слове также просматривается акцент на вписывание, сопряжение, адаптацию, гармонизацию проектируемых инженерных объектов (с учетом технико-экономических, экологических, эргономических и др. факторов) в существующую геосреду, рельеф, ландшафт. Это как бы новый уровень геоинженерного проектирования как в смысле инструментальной оснащенности, так и в смысле качества – "экологичности" и экономичности результата, который невозможно достичь без нового инструментария. Ну и, конечно, это бином, соединяющий посредством графического диалога человека и систему формального, но активного знания – реализованный в компьютере программный комплекс.
Все это вполне вписывается в современные тенденции интеграции технологий, демонстрирующие единство информатики: расчетных, имитационных, систем систем виртуальной реальности, декларативно-процедурального представления знаний. Кстати, методы представления знаний, разрабатываемые в геоинженерной информатике (геонике), в этом смысле сближающейся с когнитивной графикой, например, редукция, сведение их к пространственным мирам, могут оказаться совершенно прорывными и для инженерии знаний, когнитологии, "большой информатики" вообще; речь идет о новом витке пифагоровского пангеометризма, когда для его воплощения возник адекватный инструмент. Впрочем, это отдельные темы...
От геоинженерного, геопроектного направления в свою очередь идут импульсы остальной, "большой" геоинформатике. В т.ч. и радикальные импульсы концептуального уровня.
Слово геоника объединяет и "программный комплекс", и "научное направление": наука и технология здесь едины. За программными продуктами на самом деле должна стоять глубокая теория. В качестве примера можно привести всемирно известный пакет MX с его идеологией "струн" – структурных линий, которыми являются практически все объекты проектирования. Вообще, с точки зрения гносеологии, теории познания ситуация крайне интересная: за счет внедрения компьютерных технологий происходит интенсивная девальвация многих навыков и знаний; сами дисциплины представляются в виде развитых программных продуктов! Мало того, это материализованное знание, наиболее адекватная форма представления, воплощения профессионального инженерного знания. При этом переструктурируются сами дисциплины: многие казавшиеся сложными задачи решаются просто элементарно: оказывается, что во многих областях применяется по сути один аппарат (что маскировалось разной терминологией и традициями). Т.е. сегодняшние САПР-ГИС (и ГИС-САПР) – это не просто пассивный инструмент – они оказывают влияние на само геоинженерное знание, радикально модифицируя его. Здесь есть, правда, опасность чисто функционального подхода к продукту "на уровне кнопок" (подобно тому как японские школьники отказываются изучать таблицу умножения ввиду наличия калькуляторов), но это только повышает ответственность разработчиков.
Современные геомоделирующие программные комплексы – это разноообразные САПР, ГИС и системы когнитивной графики. Эти современные технологии представления геоинформации и графического диалога комплементарны (взаимодополнительны), более того – они тесно проникают друг в друга: геоинженерные САПР как бы соединяются, даже срастаются с ГИС; практически, они уже интегрированы и провести границу между ними довольно сложно: получившийся симбиоз, "кентавр" (как орел на российском гербе как бы принадлежит обоим мирам, и – по принципу дополнительности – мы наблюдаем синергетический эффект взаимного усиления, перемножения технологий. Собственно, и сами термины САПР и ГИС здесь уже неточны: речь идет о чем-то большем – "геооперационных" системах ("всё в одном флаконе").
Так, недавно компания Autodesk объявила об изменении своих концептуальных подходов, "доктрины". По ее мнению, наименование GIS должно быть оставлено в прошлом веке: оно выглядит уже очень узко и не отражает необходимости моделирования объектов инфраструктуры для поддержки, сопровождения, управления ими на всех стадиях цикла их жизни (это, фактически, комплексная информатизация). Предложено более адекватное наименование ILM (Infrastructure LifeCycle Management). Речь идет как раз о дальнейшей интеграции, синергии ГИС и САПР, изысканий и проектирования, "удвоении" – создании параллельного электронного, виртуального мира, о тотальной интеграции технологий для поддержки всего жизненного цикла.
Это как бы экстраполяция широко известных подходов, объединенных словом CALS (что означает то же самое, но применительно прежде всего к машиностроительным изделиям от задумки до утилизации), на область территориально протяженных и территориально распределенных объектов, на все то, что можно объединить словами "земля", урбанизированная среда, инфраструктура и т.п.: (замысел)-изыскания-проектирование-строительство-эксплуатация-(утилизация). Остро стоит вопрос о межведомственном взаимодействии, обмене, "кругообороте геоинформации", например, в городе, когда подоснова берется из дежурного плана, ведущегося в рамках городского кадастра, а туда она попадает от изыскателей, единственным результатом которых является геоинженерная цифровая модель местности (ЦММ) ситуации, рельефа, инженерной геологии и существующих сетей. Туда же попадает цифровая модель проекта (ЦМП) – согласованный и утвержденный проект, например, генплан города, ПДП, проекты площадок и т.п., поскольку для принятия решений проектная ("красная") информация (информация о будущем) столь же важна, как и "черная", топографическая (о настоящем), поэтому в ГИС они равностатусны. Поэтому проектанты являются не только одними из основных потребителей, но и важнейшими из поставщиков информации для ГИС.
Таким образом, для изыскателей, проектировщиков, эксплуатационщиков инженерных сетей и вообще для специалистов, связанных с крупномасштабной подосновой и рельефом, требуются мощные, удобные, надежные, а главное – интегрированные программные продукты, комплексные сквозные технологии – геоинженерные САПР/ГИС, усилители их интеллекта, которые выступают одновременно и как главный помощник, и как "любимая игрушка".
Кроме чисто технологических и научных аспектов создания таких систем, безусловно, есть и проблемы, относящиеся к инфраструктуре, "окружению". Это взаимосвязанные темы закрепления геоинженерных технологий нормативными документами и обучения им. Как известно, нормативные документы "писаны кровью". Поэтому туда могут проникнуть только надежные, многократно проверенные решения. Сегодня даже трудно представить, чтоб нормативы предписывали использовать ту или иную САПР, ее расчетные процедуры. Но ведь, по сути, альтернативы-то САПР нет.
Что касается обучения, нельзя не отметить определенную инерцию, консерватизм, которые, впрочем, вполне понятны. Ведь возникновение не просто ЭВМ, а реальных, с необходимым откликом и трехмерной визуализацией, систем автоматизированного проектирования и ГИС произошло, по сути, совсем недавно. До этого говорить о симбиозе проектировщика или управленца и компьютера, о синергетическом эффекте от их взаимодействия можно было весьма условно. И, естественно, вузовское образование только начинает разворачиваться в эту сторону, только сейчас происходит проникновение геомоделирующих систем в образовательные стандарты. Работа эта должна быть интенсифицирована, хотя первые положительные результаты уже есть.
Область компьютерного моделирования – это "одна большая проблема". Поэтому здесь неизбежно "скатывание" в философско-гносеологическую, методологическую тематику. Увы, без идеологии мы обречены на "ползучий эмпиризм", ведь "когда не решены общие вопросы, всенепременно на каждом шагу натыкаемся на них". Здесь тоже "нет ничего практичнее хорошей теории". Но такая теория – информатика и геоинформатика как фундаментальная дисциплина – в полной мере еще не разработана. Мы не претендуем в данной статье на раскрытие необъятной темы методологии компьютерного геоинженерного моделирования. Отметим только некоторые важные, на наш взгляд, моменты.
В САПР и ГИС (как и вообще в геомоделирующих, геоинформационных системах) различают саму предметную область (ПО), которая подбрасывает проблемы и трудности и никак не хочет укладываться в прокрустово ложе теорий, и ее модель. Это банальное утверждение на самом деле кардинально важно: представление, что результат САПР – чертеж, заклеймено: первичное и главное – это ее величество МОДЕЛЬ. Мы моделируем, не отказываясь, впрочем, от комфортного оформления модели при взаимодействии с ней пользователя, а выходные документы ПОРОЖДАЕМ. Именно такой подход позволяет реализовать вариантное и оптимизационное проектирование и управление.
Что такое модель, в каком смысле модель – вопрос очень конкретный ("чисто конкретно" :) – здесь в полной мере применим "принцип относительности": модель чего, с точки зрения каких задач? Критерий: если какой-либо объект (например, отрезок) соотносится, отражает свойства моделируемого объекта (например, забора), то это модель. "Отражает" означает – как визуально, так и поведенчески. У модели должны быть релевантные свойства с точки зрения признания ее моделью. Поэтому подход феноменологический, конструктивный: соответствует ли поведение, возможность манипулировать, оперировать. (Например, линия госграницы. Во-первых, должна быть соответствующая геометрия – полилиния с дугами или еще и сплайны. Во-вторых, нужен знак, оформление чтоб понять, что это граница. Но если есть только штришки – невозможны операции выделения (операция идентификации), измерения длины, редактирования).
Модель, так сказать, материальна: это не какая-то математика "за кадром", не мистическая, эфемерная сущность. Нет: модель это мир = система моделирующих объектов (геонов), доступных пользователю; это то, что он видит, может "пощупать", на что воздействовать, с чем оперировать. Это совокупность конкретных объектов + их поведение, в т.ч. визуальное отражение. У пользователя есть только то, что ему дано, что доступно. Всё, что за кадром, – того для пользователя НЕТ. Соответственно, говорить можно только о том, что дано пользователю. О модели (как и о человеке) можно судить по его делам (видимость это и есть сущность?). Соответственно, есть средства взаимодействия = интерфейс = язык.
Объектное представление: геоны. В САПР и ГИС можно иметь дело не с блоками или полилиниями, а, например, с колодцами, участками газопроводов, задвижками и т.д. В любом случае модель представляется пользователю как структурированная система, состоящая из объектов, соответствующих реальным объектам предметной области, моделирующих их. Мощь системы и удобство работы с ней определяются адекватностью, естественностью ее структуризации (классификации) на подсистемы и объекты, их "интеллектом". В принципе "быть моделью" – всего лишь свойство системы. Для пользователя важны ее структура и поведение.
С позиций концептуального, инфологического моделирования у объекта можно выделить "шестерку":
• идентификатор (то, что его выделяет, однозначно идентифицирует в универсуме или классе),
• классификации в разных системах,
• геометрию (то, что характеризует "геометрическое моделирование"),
• оформление, стиль,
• семантика (базы данных в традиционном смысле),
• топологию (в широком смысле взаимодействие, поведение = отношения = ограничения = алгоритмические зависимости = расширенная топология).
Пользователь работает с пакетом, используя два подхода: глагол-существительное и существительное-глагол, т. е. операция-объект и объект-операция. Это становится возможным, когда многие реальные или конструкционные объекты предметной области (например, линейные и площадные условные знаки, структурные линии рельефа, подпорные стенки, здания, инженерные сети, ограждения, откосы и т.п.) представляются в системе как геоны – интеллектуальные объекты, имеющие внешний вид, визуализацию и допустимые операции (поведение) и моделирующие реальные объекты местности и проекта. При выборе объекта через диалоговый графический интерфейс с ним возможны только допустимые операции; при этом выполняются все необходимые проверки с учетом контекста (например, соответствие нормативным расстояниям между трехмерными сетями) и при необходимости происходит волновой процесс изменения модели.
Речь идет о мощных сложных структурных геонах, со структурой и логическими подобъектами и связями как внутри между частями, так и с другими геонами.
У геонов могут отдельно выбираться и подсвечиваться части, ручки могут быть разного типа, причем, каждая отдельная ручка обрабатывается по-своему. Можно даже ввести свои привязки. У них может быть своё, сколь угодно сложное отображение (например, различное отображение при различных масштабах своеобразная генерализация; привязки, ручки) и поведение при запросах, операциях ввода и редактировании (в т.ч. с учетом контекста – поддержки ограничений целостности интегрированной базы). Можно запрещать отдельные универсальные команды – Break, Explode... Можно добавить свои поля к примитиву, которые хранятся в нем же.
Но главное – это методы, функции работы с объектами. Это могут быть, например, проверка сложных условий как внутри объекта, так и с учетом контекста – ограничений целостности, т. е. функции-предикаты, выдающих на выходе "допустимо/недопустимо" (например, отказ провести какой-либо кабель в непосредственной близости от трубы в соответствии с требованиями СНиП или посадить дом на реку); функции для реализации правильного поведения при отрисовке знаков с учетом контекста (так называемых композитов), при редактировании объектов, связанных качественными геометрическими (топологическими) отношениями, но и в более сложных предметных областях, например, в тех же инженерных сетях, где кроме чисто топологических объекты связаны и технологическими зависимостями (= функциональными, алгоритмическими). (Впрочем, можно топологию понимать расширительно как учет контекста: ближних соприкасающихся с объектом соседей или даже объектов, живущих в "дальнем зарубежье", но как-то связанных с рассматриваемым объектом.) Для объектов могут быть специальные средства запроса, ввода и редактирования. В более сложных случаях возможно задавать взаимодействие объектов с примитивами Автокада и другими объектами. Это так называемые активные, интеллектуальные объекты, не только аналоги реальных объектов, но объекты, концентрирующие в себе понятия и представления проектировщика, его "базу знаний".
Современные САПР и ГИС, в частности, приложения для Автокада, имеют открытую компонентную архитектуру, построенную на объектах, структурируются не только по функциональному, но и по объектному принципу: в виде объектов, соответствующих реальным объектам предметной области. Это позволяет разрешить диалектическое противоречие современных программных систем, связанное с попытками достижения двух взаимно противоположных целей – мощи и универсальности, с одной стороны, и размера, стоимости, необходимости специализированных операций конкретного пользователя, с другой.
Реально нужны сотни самых разнообразных пользовательских (заказных) объектов. Это относится практически к любым предметным областям.
Например, в GeoniCS отечественные линейные топографические условные знаки представлены как объекты, т. е. в них заложена логика отрисовки знаков и их модификации при редактировании. Тем самым можно набирать знаки россыпью только требуемые компоненты, например, для городской застройки, для сельскохозяйственных территорий, для промзон и т.д. В дальнейшем мы попытаемся усложнить логику с учетом контекста, прежде всего, соседства, т. е. классической топологии. (Впрочем, возможно, наконец-то пойдет встречный процесс – будет упрощена и нормализована отрисовка условных знаков с ориентацией не на эстета-картографа, а на машинную отрисовку.)
С позиций программирования объекты – это развитые структуры данных. С другой стороны, они, фактически, являются единицами, квантами профессионального экспертного знания. И в этом смысле – это не просто модели реальных объектов, но и модели фрагментов знаний специалистов.
Чтобы каждый раз не говорить "специализированные заказные объекты, моделирующие объекты местности или проекта и их отношения (взаимодействия, обобщенная топология – алгоритмические, технологические зависимости) и включающие в себя экспертные знания о них", мы ввели понятие, категорию геон и соответственно назвали проект и создаваемый продукт GeoniCS. Количество и функциональность геонов, заложенное, инкапсулированное в них декларативно-процедуральное знание ("геознание"), способы их взаимодействия со средой Автокада и друг с другом – будут постоянно расширяться. Можно говорить о геонах как "главных персонажах", акторах; мире взаимодействующих геонов, "стране Геонии" :)
Всё это позволяет создавать собственные моделирующие реальный "миры", "зашивать" вычислительные, расчетные процедуры, влияющие на свойства объектов. Происходит интеграция, "сращивание" ГИС, развитых СУБД, расчетных систем, систем имитационного (геоимитационного) моделирования, даже "инженерных игр". Можно даже сказать, что дисциплина геоинженерного проектирования генпланов, сетей, дорог и т.п. "зашивается" в продукт и в этом смысле развитые программные продукты можно рассматривать как современную адекватную форму представления профессионального знания, а соответственно формируется новая инженерная дисциплина о компьютерных технологиях геоинженерного проектирования – геоника.
И ее основные проблемы – повышение адекватности моделирования = проектирования; эффективности взаимодействия – повышение степени свободы проектировщика – и при этом без усложнения взаимодействия с моделирующим комплексом за счет разумных умолчаний (по закону необходимого разнообразия У.Р.Эшби при возрастании компетенции = разнообразия системы ее интерфейс также не может не усложняться...). В геонике (как и в геометрии – по словам Аристотеля, сказанными своему ученику А.Македонскому) "нет царской дороги": каждый шаг на пути формализации знаний о ее предметной области, которая включает как представление самих объектов – местности и проекта, так и знания о них проектировщиков, – дается трудно. Но именно это и интересно!..
Такова вкратце наша "геонная" философия, идеология, парадигма, доктрина, концепция – "геонизм". :)
Продукт AutoCAD Civil 3D, в котором реализованы отношения между рядом сущностей (геоточками, поверхностями, участками, трассами, профилями, поперечниками и подписями и др.) – прекрасная иллюстрация описанного подхода. Мы идем параллельными курсами.
Оформление – это то, что прямо не соотносится с геометрическими свойствами объектов предметной области. Прежде всего, это стиль отображения объекта. А кроме того, различные внемодельные сущности, например, подписи или их множества, ведомости (таблицы), зарамочное оформление, производные документы и т.п. При этом объект может изменять свои свойства (например, форму представления), оставаясь собой, тождественным себе. Может быть несколько форм одного и того же модельного объекта (план, профиль трассы) = входы.
Модель (содержание), как и всё в этом мире, не может быть вне формы (представления). Так учит философия. Такова диалектика взаимосвязи содержания и формы, которые на самом деле являются многоуровневыми, рекурсивными образованиями.
Один из стилей (обычно, самый простой) принимается за канон (представление модели в стандартной форме, умолчание). А в общем случае представления объектов модели могут быть различными – в зависимости от вида документа и масштаба; более того, при определенных масштабах представление сущности может просто исчезать (генерализация), хотя сущность при этом остается.
САПР должна обеспечивать мощность и гибкость средств оформления, документирования. Средства получения документов и представлений составляют систему, можно говорить о МОДЕЛИ ОФОРМЛЕНИЯ. Можно ли, воздействуя на внемодельные элементы, например, документы, влиять на модель? Не на все, а только на строго определенные и строго определенными способами. Это дает пользователю дополнительные степени свободы, а с другой стороны принятые разумные умолчания не требуют от него все подробно специфицировать, что только увеличивает его свободу. Т.е. достигается и мощность, и простота одновременно ("будь проще – и люди к тебе потянутся" :).
2. Проект (программный комплекс) GeoniCS
- Вы полагаете: всё это будет носиться?
- Я полагаю, что всё это следует шить.
На рынке представлен целый ряд геоинженерных систем от ведущих мировых поставщиков и до небольших отечественных фирм, разных по охвату, набору решаемых задач, архитектуре, ориентированности на ГИС-технологии. Например, широко известны продукты Autodesk (Civil 3D), Bentley (InRoads для MicroStation) и ряд других. За последние годы вышло новое, значительно более мощное поколение продуктов, где сложные расчетные процедуры соединены с объектными базами данных. Есть и ряд отечественных систем, построенных на собственной платформе (CREDO, Робур, Индор и др.).
Тем не менее, необходимо создание системы эффективных и интегрированных, сквозных, "бесшовных" технологических линий, цепочек "изыскания-проектирование-строительство-эксплуатация" – решений, построенных на основе промышленных платформ с открытой архитектурой, мировых стандартов де-факто, в стандартном интерфейсе и к тому же учитывающих особенности, нормы и традиции "национальных изысканий" и "национального проектирования", т. е. соответствующих нашим СНиПам и другим нормативам, сложившейся технологии проектирования, механизмам взаимодействия и т.п.
В настоящий момент усилия нашего авторского коллектива, работающего в НПЦ "ГЕОНИКА", направлены на реализацию такого проекта – развитие интегрированного продукта – программного комплекса для геоинженерного моделирования и проектирования GeoniCS.
К основным требованиям, которым должны удовлетворять геоинженерные системы, относятся прежде всего полнота функционала – совместимость по линии "изыскания-проектирование", как говорят, "бесшовность". На сегодня комплекс предназначен для изыскателей (создание и редактирования цифровых моделей местности – крупномасштабных топографических планов, трехмерных моделей рельефа, объемной инженерно-геологической модели и модели существующих сетей) и для проектировщиков внешних инженерных сетей, планировщиков-генпланистов (создание моделей проекта и всех необходимых чертежей) и проектировщиков таких сложных комплексных объектов, как железные дороги, автодороги, трубопроводы. Тенденция к интеграции, полноте позволяет условно говорить о подобного рода комплексах как о "геооперационных" системах, интегрирующих целый спектр приложений.
Важнейшую роль в геоинженерных системах играет стандартизация, возможность обмена геопроектными данными. Подобно тому, как в области ГИС вообще остро встала проблема создания национальных и мировой инфраструктуры пространственных данных, в области геопроектных систем также встал вопрос о межплатформенном обмене информацией. Ответом стала разработка LandXML, который поддерживается уже большинством ведущих мировых разработчиков. Поддержка этого стандарта обеспечивается и в программном комплексе GeoniCS.
Среди важнейших критериев – гибкость, настройка системы на представление модели с помощью различного "оформления"; в частности, речь идет о выходных документах – чертежах, ведомостях и т.п.
Наша цель – отслеживать тенденции в данной области (машинная графика, вычислительная геометрия, геометрическое моделирование и т.п. = геоника), правильно выстроить приоритеты и создать интегрированный геомоделирующий программный комплекс.
Ниже, не вдаваясь в технические подробности, мы попытаемся на примере этого программного продукта осветить некоторые подходы к созданию систем такого класса.
Инструментальная платформа – объектная СУБД Автокад
Обсуждая конкретные пути построения системы геоинженерных приложений, нельзя обойти вопрос о базовой платформе. Этот вопрос традиционно связывают с лоббированием тех или иных платформ (в основном зарубежных) поставщиками соответствующего программного обеспечения. Но на самом деле ситуация сложнее. Здесь нельзя не учитывать целый ряд факторов прежде всего, массовость, распространенность платформы, ее надежность, развиваемость с сохранением преемственности и совместимости, наличие русскоязычной литературы, в конце концов наличие сотен тысяч, миллионов чертежей, а главное открытость платформы, ее расширяемость.
Возможна, конечно, разработка собственной платформы. Но, как показывает опыт, на ее разработку уходят годы, перевод ее на новые среды затягивается, скандальным образом срывая все объявленные сроки. Неприемлема и ориентация на "экзотические" платформы. Маргиналы на мировом рынке, они в силу ряда специфических причин, могли неожиданно занять довольно значимое место в странах СНГ, в прессе, рекламе. Но только на время. В конечном счете, ничем кроме конфуза это закончиться и не могло.
На наш взгляд, массовые геоинженерные приложения следует базировать на массовой, надежной, развивающейся, открытой, апробированной временем платформе. Речь идет, как уже понял читатель, о расширяющейся системе взаимосвязанных приложений прежде всего для Автокада – этого поистине лучшего редактора всех времен и народов. По нашему мнению, пакеты, не ориентированные на Автокад, как стандарт де-факто, сегодня не могут решить проблемы проектно-изыскательской подотрасли.
Мы считаем перспективным разработку собственной платформы-ядра, совместимой с Автокадом – nanoCAD, в отличие от наших оппонентов мы не испытываем идиосинкразии к Автокаду.
Давно ушли в прошлое времена, когда ставилась под сомнение сама возможность представления геоинформации в среде Автокада, когда он рассматривался просто как мощная "чертилка". Появившиеся в среде Автокада картографические приложения (Map), а затем интегрированные с ними геоинженерные системы (Сivil 3D) убедительно доказали это. Будучи с 1982 года бессменным неоспоримым лидером, "королем" САПР, "лучшим графическим векторным редактором всех времен и народов", пакетом, который "в рекламе не нуждается", Автокад прочно утвердился и среди мировых лидеров ГИС, а Autodesk прочно занимает 4 место среди мировых производителей ПО и имеет более 6 миллионов легальных пользователей.
Открытость. Компания Autodesk была одним из пионеров открытых архитектур: Автокад всегда отличался феноменальной, беспрецедентной уникальной открытостью и возможностями расширения. На вопрос "Что самое главное в Автокаде, в чем его, так сказать, сущность и в чем причина уникального успеха?" правильный ответ – "В его открытости".
Речь идет не только расширении меню, типов линий, штриховок и т.д. Одной из главных причин феноменального успеха и популярности Автокада в мире было не в последнюю очередь наличие встроенного интерпретатора языка Автолисп (1986 г.). В 1989 г. появились средств расширения Автокада с помощью C++ (ADS), с 1995 г. появился инструментарий разработчика Object ARX для Visual С++, который позволяет создавать предельно эффективные 32-разрядные так называемые ARX-приложения в виде динамически подключаемых библиотек – DLL, прямо вызывающих функции ядра Автокада и работающих в общем с ним пространстве памяти.
Как и многие развитые продукты, Автокад предоставляет доступ ко всем уровням объектной модели Автокада на основе ActiveX-автоматизации.
Автокад – это как бы "двуликий Янус". Можно утверждать, что на сегодняшний день весь известный пользователям (непрограммистам) Автокад (при всей мощи) – это только краешек, верхушка айсберга, так сказать, "видимость". А его "скрытая за кадром" "сущность" – это открытая объектная архитектура ядра, базовой платформы, множество взаимосвязанных библиотек классов машинной графики. Можно сказать и сильнее: Автокад это система не столько для пользователей (это совсем не "чертилка"), сколько для разработчиков. Разработчик может применять современные средства программирования (Visual C++ .NET) в полном объеме и практически ничем не ограничивается, получая над платформой Windows надстроенную платформу Автокад.
Полностью объектными является, например, продукт AutoCAD Civil 3D. Его объектная модель и ActiveX-интерфейсы расширяют интерфейс прикладного программирования (API). Однако средства программирования там намного слабее, чем в самом Автокаде.
Абсолютно всё в Автокаде – от примитивов до элементов интерфейса – предоставляется разработчику как иерархия объектов (классов), с богатейшим набором свойств и методов. Основное здесь – в возможности создавать в Object ARX собственные объекты с требуемыми свойствами и поведением, во всем равноценные стандартным встроенным объектам, поддерживаемым ядром системы. Работа с такими объектами ничем не отличается от привычных приемов работы в Автокаде. Именно этот механизм был использован при создании таких новых объектов как луч, конструкционная линия, сплайн, эллипс, растры и мультилинии. С новыми объектами также можно работать через ActiveX-интерфейс (с Менеджером свойств, VB.net, C##, Visual Basic , встроенные в Автокад Visual Basic for Applications, Visual Lisp и, конечно, из Visual C++).
Мнение, что Автокад не моделирующая система изначально, верно только отчасти. Все зависит от подхода! Мы еще в 90 году написали статью "Автокад как система информационного моделирования", где разобрали именно средства моделирования этой, как многим представлялось, "чертилки".
Автокад, как и любая векторная система, обеспечивает конечный набор (33) графических примитивов, которые зрительно, визульно достаточны для представления чертежей. В этом смысле – это "чертилка". Для проектирования и моделирования пользователь должен сохранять интерпретацию – связь "семантики" (чтО это за объект) с "синтаксисом" (графикой) у себя в голове и, соответственно, сам решать, какие операции к каким объектам как применять.
При маркировании объектов какой-либо семантической информацией (например, при размещении их на специальных слоях или приписывании конкретных расширенных данных) задачу интерпретации может на себя взять система.
Следующий шаг – так называемые реакторы, отслеживающие практически все возможные события, связанные с редактированием, открытием и сохранением файлов, вводом команд и т.д. и реагирующих на них запуском соответствующих функций-обработчиков. Реакторы покрывают абсолютно все события, которые могут произойти в среде Автокада. Реакторы присоединяются к объектам базы данных или произвольным их множествам, тем самым создавая новые виртуальные объекты, хранящие как структурную (декларативную), так и поведенческую (процедуральную) информацию. С помощью реакторов реализованы, например, контур с прямыми углами, динамическая штриховка контура блоком и др.
Но уже c 1999 г., начиная с появления в Автокаде возможности добавлять собственные высокоэффективные приложения на Visual С++ (ObjectARX) и собственные объекты, эта платформа никак не ограничивает разработчика, а целый ряд приписываемых ей ограничений легко преодолевается программистами. Например, наши оппоненты указывают на бедность набора примитивов. Но это замечание может относиться только к закрытым системам. Для открытых платформ, каковой является Автокад, есть возможность создания сколь угодно богатых структур данных интеллектуальных объектов (для геоинженерных САПР – геонов), обладающих собственным представлением и поведением. Именно на основе таких конструктов можно моделировать достаточно богатые предметные области, создавая "миры" взаимодействующих объектов, создавать интеллектуальные САПР. Здесь налицо видимость и сущность. Сущность Автокада именно в том, что это скорее не редактор, а платформа для разработки, которая характеризуется беспрецедентной феноменальной уникальной открытостью. Парадокс: весь Автокад для пользователя – это "верхушка айсберга" – реального Автокада.
Тем более это относится к современному Автокаду с его возможностями разработки приложений на платформе .NET. Мы считаем правильным положить Автокад, этот мировой стандарт де-факто, в основу систем комплексной автоматизации в большинстве проектных организаций. Тем более, что в этом случае возможна практически "бесшовная" интеграция с пакетами объемного и инженерного САПР и с ГИС, прежде всего муниципальными, которые, по нашему мнению, тоже имеет смысл создавать на базе ГИС-решения Autodesk.
На логическом уровне можно считать, что "поведение" хранится в чертеже, хотя это динамически загружаемые библиотеки DLL определенного вида. Они подгружаются только тогда, когда встречается соответствующий объект, – так называемая "загрузка по требованию, при необходимости" (on demand). При этом при появлении в графической базе незнакомых объектов система автоматически подгружает приложения, реализующие их поведение. Тем самым можно говорить о реализации механизма хранимых процедур. Интересно, что "поведение" объекта может быть разделено на две части: интерфейс пользователя и поддержку отрисовки (arx) и стандартного редактирования объекта (dbx). Без первой части нельзя создать новый объект, но можно работать с существующими. А при отсутствии второй части объекты превращаются в так называемые "прокси", объекты-представители, заменители, которые только видимы, но не доступны для редактирования. При этом возможны различные степени, уровни защиты: разработчик может разрешить или запретить те или иные операции. Технология поддержки объектов чем-то напоминает известную технологию plug-in или компонентную технологию для Windows даже окончания похожи: .ocx и .dbx.
В целом объектная технология ObjectARX – это качественно новый уровень программного обеспечения, компонентная архитектура систем, легкость расширения и развития. Сегодняшний Автокад – это объектная графическая СУБД, система с беспрецедентной открытостью, не накладывающая жестких ограничений на разработчиков приложений и позволяющая им "стартовать" с достаточно высокого уровня работать не только с декларативной (чисто графической), но и с процедурной (поведенческой) информацией, обеспечивая в объектах единство процедурного и декларативного знания и создавать (на Visual C++, Basic и Lisp) не только информационно-графические базы данных, а именно модели и моделирующие приложения.
Именно этот "фундаментальный переход на объектную технологию" и составляет самую главную черту современного Автокада, и в этом – залог, предпосылка его появления огромного числа новых приложений. В этом же – его отличие от многих "мировых" ГИС, которые придут к такой архитектуре лишь через несколько лет.
Очередную волну программного обеспечения инициировала Microsoft, выпустив революционно новую платформу .NET. Далее ведущие мировые производители софта (а к таковым, безусловно, относится Autodesk, занимающий четвертое место в области ПО) перевели на эту платформу свои бренды. А третьей волной пошли разработчики приложений ("мировая виртуальная корпорация"). В настоящее время на рынке nanoCAD 24, GeoniCS 2024 для Автокада 2019-2024, ZWCAD 2024.
То есть при разработке приложений для Автокада можно говорить о современной инструментальной объектной СУБД, которая постоянно развивается, причем с сохранением преемственности приложений, т. е. защите, сохранении инвестиций. Об этом свидетельствует и более чем 30-летний опыт нашей разработческой фирмы. Мы не заангажированы Автокадом. На сегодня среди инструментальных платформ для создания массовых промышленных геомоделирующих программных комплексов это одна из наиболее практичных систем. Вместе с тем возможно создание геоинженерных САПР и на других платформах, например, nanoCAD.
3. Геоника как дисциплина о создании геоинтеллекта
Кое-что уже сделано. В частности, можно упомянуть теорию геонов (распознавание по компонентам), развиваемую известным американским исследователем Ирвингом Бидерманом, где геоны – это примитивы 3D и 2D перцепции (восприятия), по сути, буквы 36-знакового алфавита, из которого слагаются все фреймы реальных сцен и тел (число комбинаций достигает астрономических величин). Подробнее см. например Теория геонов (геонология).
Но сегодня открываются совершенно новые перспективы. Современный уровень автоматизации интеллектуальной деятельности, в частности проектирования, управления, научных исследований, предполагает создание систем "активного знания" о соответствующих предметных областях, моделирующих как представление собственно предметных областей, так и уже накопленных знаний о них. Во многих областях важнейшей частью таких является геоинформация, пространственная информация и соответствующие средства ее представления и работы с ней.
Сегодня требуется поставить "на поток" представление предметных областей, с которыми имеет дело геоинженер (в виде развитых моделей данных – трехмерных виртуальных объектных миров взаимосвязанных геообъектов), и процедур анализа, проектирования и принятия решений (в виде баз знаний). Речь идет не просто о создании 3D модели мира, его "удвоении", "виртуализации", но и о наделении объектов модели "интеллектом", позволяющим им динамически переструктурироваться, взаимодействовать с проектировщиком, знать нормативы, методики и технологии проектирования и т.п. Должен быть разработан адекватный язык оптимального представления объектов, декларативных и процедуральных знаний проектировщика и геоинтерфейса с пользователем. Все это должно найти воплощение в мощных системах высоких технологий (хайтека) – геоинженерных ГИС-САПР. В них должны быть реализованы самые прорывные идеи, алгоритмы, ноу-хау. Пусть это звучит достаточно амбициозно и претензиозно, но, фактически, нужны геокогнитивные системы, системы когнитивной графики, реализующие "геоязык" ("геокод"), т. е. "геолингвистику" (геокодику) и мышление в виде графических "слов", "словосочетаний", "предложений" и "текстов" (геологику, геонологику, геонологию), т. е. системы "геоинтеллекта" (geonous, геонолог, геонум, геониУМ, геоникум, геонус, geonoos).