Часть полного текста документа:Публикация растровых карт Печников Алексей Олегович, руководитель геоинформационного проекта "GeoMapX" Несмотря на сложность и трудоемкость обработки по-прежнему широко распространены растровые карты. Векторизуя космические снимки и сканированные карты, можно создавать различные векторные карты, однако во многих ситуациях требуется возможность работы непосредственно с растровыми данными. В статье рассматриваются способы автоматического построения таких карт из исходного картматериала. На вопросах совместного использования векторных и растровых карт мы останавливаться не будем, поскольку при выполнении изложенных ниже рекомендаций решение проблемы принципиальной трудности не представляет. Когда обрабатываются большие растровые файлы, значительное повышение производительности может быть достигнуто путем разделения исходного большого растрового изображения на множество маленьких картинок. Каждый файл является частью большой растровой мозаики, доступной для отображения. Список файлов мозаики может быть сохранен в шейпфайле с указанием координат границ каждого файла и имени файла. В этом случае отдельные файлы могут иметь произвольные размеры и допускаются перекрытия между отдельными элементами мозаики. Программа отображения должна уметь сканировать файлы мозаики, перечисленные в шейпфайле и отображать только те из них, которые видны в текущем окне просмотра. Кроме того, при разделении файла на определенное число равных частей (например, на 16 частей, что соответствует двумерному массиву из 4 элементов по двум измерениям) информация об этом может быть сохранена в самом файле. В таком случае при построении карты требуется считывать информацию о разбиении исходного изображения из файла. Другим способом повышения производительности при отображении растров высокого разрешения является построение пирамиды. В таком случае в растровом файле создается набор копий изображения с различным разрешением. При отображении файла выбирается копия с разрешением, наиболее близким к текущему уровню детализации карты. Заметим, что не все форматы файлов поддерживают этот механизм. Традиционно картографические приложения создают 8-битную псевдо-цветную карту, основанную на 8-битной картинке в оттенках серого или псевдоцветной. Таким образом, если растровый файл является 24-битным изображением (красный, зеленый и синий диапазоны), обычно используемый метод отрисовки не пригоден. Если строится 8-битное псевдо-цветное изображение, тогда полная 24-битная RGB картинка для отображения будет преобразована в карту цветов выходного изображения. Для преобразования может быть использован цветовой куб. Он включает фиксированный набор из 175 цветов и поддерживает использование 5 уровней красного, 7 уровней зеленого и 5 уровней синего, и плюс к этому 32 оттенка серого. Растры отрисовываются "на лету" одним из цветов куба. Такой механизм ухудшает качество цветопередачи, особенно для изображений с плавными переходами цвета. Также можно использовать фиксированный набор из 256 цветов, что работает значительно быстрее. Вариацией изложенного подхода является скользящее сглаживание в процессе отрисовки. Этот алгоритм вычисляет цвет пиксела исходя из цвета соседних. ............ |