48
Вторая модель растровых данных, которую назовем моделью данных IMGRID
(Рисунок b). Здесь мы примем, что белые ячейки это "вода", а черные — "не вода". Мы
упростили тему нашей карты до хранения одного простого атрибута, а нецелой темы. В этом
случае нам нет необходимости хранить широкий спектр значений для каждого покрытия.
Вместо этого мы можем использовать числа 1 (белые квадраты) для обозначения
присутствия воды и 0 (черные квадраты) для обозначения ее отсутствия. А как бы мы
представили тематическую карту землепользования, содержащую, скажем, четыре категории
зоны отдыха, сельского хозяйства, промышленности и жилья? Каждый из этих атрибутов
должен быть выделен как самостоятельный слой. Один слой содержал бы признак только
сельского хозяйства, 1 и 0 для него означали бы соответственно наличие и отсутствие такой
деятельности в каждой ячейке растра. Аналогично представляются отдых, промышленность
и жилье, причем прямо адресуется теперь каждый признак, а не ячейки растра, как было в
модели данных GRID/LUNR/MAGI. В конечном итоге, слои можно сложить "вертикально"
для получения единой карты.
Система IMGRID имеет два основных преимущества. Во-первых, мы имеем
непрерывную структуру, которая больше напоминает карту. То есть, мы храним двухмерные
массивы чисел для разных слоев, а не массив столбиков. Во-вторых, мы уменьшили диапазон
значений для каждого слоя до одного двоичного разряда. Это упростит наши вычисления и
устранит необходимость в сложной легенде карты. На самом деле, поскольку каждый
признак однозначно идентифицирован одним битом, мы можем не ограничиваться одним
атрибутом для каждой ячейки растра, и это третье преимущество. Например, в некоторой
ячейке растра мы можем иметь частично зоны сельского хозяйства и отдыха. Поскольку
каждый из этих атрибутов землепользования хранится в отдельном слое, мы можем показать,
что оба вида землепользования имеют место в пределах пространства этой ячейки растра.
Конечно, мы можем встретить трудности, создавая объединенное тематическое покрытие,
если внутри некоторых ячеек присутствуют несколько признаков. Чтобы избежать этой
проблемы, нам нужно обеспечить, чтобы каждая ячейка имела одно значение для каждого
показателя.
Модель IMGRID выглядит более понятной с точки зрения картографического
представления. Более того, она дает преимущество для компьютера в использовании слоя
как прямо адресуемого объекта.
Ее ограничения происходят в основном из-за проблемы взрывного роста количества
элементов данных. Представьте на минуту, что вы имеете базу данных из 50-ти тем (что
вполне возможно). Допустим, что в среднем имеется 10 категорий в каждой теме. Каждая
тема должна быть разделена на бинарные (из нулей и единиц) слои, по одному на каждую
категорию. Итого, для представления этой вполне умеренной базы данных вам потребуется
10 × 50 = 500 слоев. Хотя программное обеспечение и позволяет управлять таким большим
"хозяйством", нам нужен более эффективный способ представления нашей базы данных,
такой, который не создает так много элементов данных, которыми нужно управлять.
Рассматривая далее этот подход, представьте себе, как много значений придется
модифицировать и записывать для создания каждой новой темы.
Наша третья растровая модель, которую мы назовем MAP, формально объединяет
преимущества двух предыдущих моделей. В этой модели данных (Рисунок с) каждое
тематическое покрытие записывается и выбирается отдельно по имени карты или названию,
что достигается записью каждого показателя (картографической секции) темы покрытия как
отдельного числового кода или метки, которая может быть доступна отдельно при выборке
покрытия. Метка соответствует части легенды, и с ней связан собственный приписанный ей
символ. Таким образом, легко выполняются операции над отдельными ячейками растра и
группами похожих ячеек, а результат изменений величины требует перезаписи только
одного числа на картографическую секцию, упрощая тем самым вычисления. Главное