Автор статьи: Самсонов Александр
>
Многие люди по роду своей деятельности работают с картографической информацией. Эти карты представлены в форматах редакторов векторной графики (например CorelDraw), либо это файлы геоинформационных систем (таких как ArcView), или же это большое растровое графическое изображение. К сожалению, при этом возникает трудности по переносу этих данных между пользователями: во-первых, потому, что эти файлы имеют очень большой размер, а во-вторых, программы для работы с ними (например ГИС ArcView ) недоступны многим пользователям, т.к. стоят немало и достаточно сложны. Трудности обмена такой информацией приводят к тому, что многие ученые не имеют возможности поделиться своими достижениями или воспользоваться результатами трудов своих коллег.
В то же время существует способ обмена информацией между различными пользователями - это международная компьютерная сеть интернет. Помещать свои данные в этой сети очень удобно, т.к. они становятся доступны для пользователей по всему миру, на компьютерах разных фирм и под различными операционными системами, а также для их просмотра не нужно специальных навыков или дорогих программ. Поэтому вопрос публикации картографической информации в сети очень актуален, и многие пользователи рано или поздно сталкиваются с необходимостью его решения.
"Картографическая информация" - это информация, описывающая некоторую область земной поверхности. С точки зрения обработки её на компьютере это информация бывает трех типов.
1. Растровые изображения. Это файлы форматов bmp, gif, tif, jpeg и т.п. Такие файлы могут быть созданы при сканировании карт, а также при работе с пакетами Adobe Photoshop или Corel Photopaint. именно растровые изображения двух форматов (gif и jpeg) и можно увидеть на интернет-странице.
2. Векторные изображения. Это изображения, полученные "обрисовкой" карты в векторном пакете (например, Corel Draw) или оцифровкой с помощью дигитайзера - специального устройства, позволяющего вводить карты в компьютер в векторной форме. У векторной графики есть несколько преимуществ по сравнению с растровой: она легко редактируется и масштабируется без потери качества. В настоящее время такие данные нельзя помещать на веб-страницах, а нужно предварительно переводить в растровый формат (gif или jpeg)
3. Файлы геоинформационных систем. Говоря упрощенно, это графические данные (преимущественно векторные изображения), которые сопровождаются другой (невизуальной) информацией. Например, нарисованный на карте лес сопровождается описанием типов деревьев, река - количеством рыбы, озеро - глубинами и т.п. ГИС-программы позволяют получить эту информацию по запросу пользователя. Наиболее популярная ГИС у нас в стране - это разработанные корпорацией ESRI пакеты программ ArcView и ArcInfo. Файлы ГИС также нельзя выставить в интернет (стандартные браузеры не умеют с ними работать), но в принятом в сети формате данных HTML существуют способы по "привязке" дополнительных данных к карте, подобно тому, как это делается в ГИС.
3.1. Подготовка графического файла.
Для начала вы должны подготовить графический файл, содержащий вашу карту. Выберите формат файла (это может быть gif или jpg (jpeg). Эти форматы отличаются способом описания изображения. Jpg-файлы имеют большое количество цветов и хорошо подходят для детальных рисунков или фотографий. При использовании gif картинка состоит из небольшого количества цветов (256), но карты с большими областями одинакового цвета имеют небольшой размер (поэтому этот формат в нашем случае более предпочтителен). Если ваша карта в растровом формате другого типа, то вам необходимо конвертировать её в gif или jpeg c помощью графического редактора. Если же вы имеете дело с файлом векторной графики, то вам тоже необходимо сохранить его в описанные выше растровые форматы, но при этом нужно подумать о размере изображения. Если вы создадите файл большого размера, то его будет трудно передавать по каналам связи, если же маленького, то мелкие детали будут потеряны. Если вы имеете подробную карту и файл оказался чрезвычайно большой (например, линейные размеры превышают тысячу точек, и на диске он занимает немало), то можно попробовать его "порезать" и поместить в сети по частям (см. п.5.2.). Я применил такой подход при работе над экологической картой Владивостока, и, по-моему, работа оказалась оправданной.
Если вы создали карту в гео-системе (я знаю, что многие ученые успешно работают в этом направлении), то при переносе её в интернет вас ждут определенные трудности. Вам придется сохранять файл в растровом виде, и вся невизуальная информация, "привязанная" к ней, окажется потеряна. Но вы можете задать такую информацию и средствами HTML (см. пункт 3 данного раздела). Конечно, при этом карта уже не будет обладать всеми возможностями ГИС, но будет более информативна, чем обычное изображение на странице, и станет доступна широкому кругу людей.
3.2. Создание HTML-документа. После того как вы подготовили графическое изображение, вам нужно создать html-файл. Это текстовый файл, который будет "оболочкой" вашей карты и помимо изображения может содержать текст, гиперссылки и т.д. - всё что присутствует на веб-странице. Как и любой текстовый файл, его можно создавать в обычном текстовом редакторе - Notepad (Блокнот) для Windows. Существует масса других редакторов, позволяющих создавать веб-страницы визуально, но их рассмотрение выходит за рамки статьи.
3.3. Обогащение изображения невизуальной информацией (создание интерактивного изображения).
Как уже говорилось, в html-документе можно привязывать к изображению дополнительную информацию. Эта информация может быть получена пользователем, просматривающим вашу карту, если он щелкнет в интересующем его месте изображения левой или правой кнопкой мыши или же просто подведет указатель мыши к этому месту. Браузер может ответить на такой "запрос", показав информацию в виде небольшого прямоугольничка с текстом под указателем мыши, выдать её в строке состояния, открыть новое окно с описанием и т.д.
Для того, чтобы задать на изображении информацию, нужно сделать его "изображением-картой". Существует два типа изображений-карт: изображения-карты на стороне клиента (client-side image maps) и изображения-карты на стороне сервера (server-side image maps). В первом случае вся информация по карте содержится в самом html-файле. Это не требует дополнительных обращений к серверу, и карта мгновенно реагирует на запросы. Во втором случае браузер отслеживает действия пользователя над картой и передаёт информацию интернет-серверу, который реагирует, возвращая ответ. Поэтому для использования этого метода необходимо, чтобы у разработчика карты был прямой доступ к серверу, что в большинстве случаев невозможно.
?Итак, если вы сделаете ваш графический файл изображением-картой на стороне клиента, то:
Для создания изображений-карт существуют визуальные средства, но сначала нужно поговорить о языке HTML. Вам нужно прочитать этот раздел внимательно (для понимания возможностей, которые предоставляет данный метод).
HTML (HyperText Markup Language) - это язык разметки гипертекста, позволяющий изменять величину, цвет, стиль текста в текстовом документе, создавать таблицы, вставлять ссылки на другие документы, включать графические файлы и т.п. Элементом, позволяющим размечать таким образом текст, является тег. Тег - это часть документа, расположенная между символами < и > . Тег не отображается браузером - программой просматривающей html-файлов, но влияет на текст до или после тега или же на месте тега появляется какой-либо элемент страницы (картинка, кнопка и т.п.). У многих тегов существуют атрибуты. Атрибут - это элемент тега, описывающий его свойства. Например, чтобы вставить картинку на страницу нужно воспользоваться тегом <IMG SRC="имя файла">. Здесь SRC="имя файла" - это атрибут, указывающий имя графического файла, который будет размещен на странице. У тега <IMG>, как и у многих тегов, существуют и другие атрибуты.
Если вы хотите сделать изображение интерактивным (т.е. создать изображение карту), то вам необходимо добавить к тегу <IMG> атрибут USEMAP="#MAPNAME", где MAPNAME - это имя изображения-карты. Затем в этом документе вы должны вставить теги :
<span class=pre><MAP NAME="MAPNAME">
<AREA ...>
<AREA ...>
. . .
</MAP>
</span>
Между тегами <MAP> и </MAP> будет находиться информация, описывающая и карту. Для того, чтобы разные части изображения-карты несли различную информация, вводится тег <AREA>(область). Тег <AREA> описывает одну область на карте, но совокупность областей описывает всю карту и позволяет задать разнообразную информацию. Вот краткое описание этого тега:
<AREA
SHAPE = "RECT | CIRCLE | POLY"
COORDS = "список координат через запятую"
HREF = "путь к файлу"
[TARGET = "имя окна браузера"]
[ALT = "текст, который будет выведен как подсказка"]
[onClick="реакция на нажатие мыши"]
[onMouseOver="реакция на появление указателя мыши над областью"]
[onMouseOut=" реакция на уход указателя мыши с области"] >
Обозначения:
| - выбор одного элемента
[ ] - необязательный параметр
Русские предложения в этом описании, конечно, не являются частью формата и введены для наглядности.
Атрибут SHAPE описывает геометрический тип области: RECT, CIRCLE или POLYGON - прямоугольник, круг или многоугольник соответственно. Ясно, что многоугольная область может быть любой формы (с любым количеством произвольно расположенных вершин), что развязывает руки создателям изображений-карт.
Атрибут COORDS описывает координаты области в пикселях (точках) экрана. Он зависит от геометрического типа (SHAPE) области. Очевидно, что задание этого атрибута путем прямого редактирования html-файла - крайне трудоёмкий и неэффективный процесс.
Атрибут HREF задаёт ссылку на документ в сети. Если пользователь щёлкнет мышкой по области, то соответствующий документ будет открыт. Если вы не хотите делать область гиперссылкой, можете задать этому атрибуту значение #.
Атрибут TARGET задает окно, в котором будет открыт документ, заданный в HREF.
Атрибут ALT задаёт выпадающую подсказку - небольшой прямоугольник с текстом появляющейся под указателем мыши, когда этот указатель находится над областью.
Атрибуты OnClick, OnMouseOver, OnMouseOut могут содержать описание действий, которые будут выполнены, если над областью произойдет событие, соответствующее атрибуту. Этим трем атрибутам соответствуют события "щелчок мыши", "наезд мыши", "съезд мыши". У тега <AREA> существуют и другие атрибуты и события (например "двойной щелчок" и т.п.) подробней о которых вы можете узнать по адресу: http://www.fegi.ru/geohtml/
?Итак, теперь мы знаем, что область может :
Для создания действительно интерактивной карты вам необходимо задать на ней множество областей. Для того чтобы это делать, проще всего воспользоваться инструментальными средствами. Одно из них - созданная мной компьютерная программа GeoHTML.
5.1. Необходимость создания.
Эта программа была написана мной в связи с необходимостью размещения в сети экологической карты Владивостока. После того как эта карта была нарисована в CorelDraw и экспортирована в gif-файл, оказалось, что она имеет линейные размеры порядка 2000x2000 точек и объём 400 Кбайт. Т.е. возникли проблемы, описанные в п. 3.1. К тому же для создания интерактивного изображения из этой карты не подошёл ни один распространяемый по интернету редактор изображений-карт. Главная причина в том, что эти программы создавались для работы с небольшими изображениями (например, меню на сайтах), а не для работы с многоуровневой гео-информацией. Отсюда и название программы GeoHTML, которая создана для облегчения переноса гео-данных в файлы HTML с последующим размещением в сети.
5.2. Возможности.
Программа GeoHTML работает с Dynamic HTML - современной версией языка HTML, ориентированной на работу с языком сценариев JavaScript. Программа берет на себя всю работу с тегами <IMG>, <MAP>, <AREA> и позволяет :
Программа работает под управлением Windows 95/98/NT, имеет интерфейс на английском языке и файл справки (help-файл) на двух языках (русском и английском). Также в программу внедрён справочник по языку HTML, составленный Стефаном Ле Ханте на английском языке.
Детальную информацию о работе с программой смотрите в файле справки и на сайте программы.
Браузер - программа для просмотра страниц в интернет. Это интерпретатор HTML. Читая размеченный текст, браузер визуализирует его на экране как документ, руководствуясь информацией, заданной тегами. В настоящее время различные браузеры могут отображать один и тот же файл несколько по-разному. Cледует остановиться на том, как же интерпретируют браузеры интерактивную карту, а именно - содержимое тега <AREA>. Здесь будут исследованы наиболее популярные браузеры - Netscape Navigator 4.05 (далее NN) и Internet Explorer 4.0 (IE).
Первым делом нужно сказать, что гиперссылка (поля Href и Target) корректно работает в обоих браузерах.
Чтобы добиться всплывающей подсказки в NN, необходимо задать атрибут Alt, а в IE 4.0. этому соответствует атрибут Title.(IE 5.0. стал понимать и Alt). В NN подсказка странным образом зависит от геометрических особенностей области. Она не работает на круглых областях, не всегда на прямоугольных и дает стабильный результат только на многоугольниках. В связи с этим в GeoHTML предусмотрена возможность конвертировать области (например, из прямоугольника в многоугольник).
Оба браузера реагируют на события Dynamic HTML. Это дает возможность создавать очень мощные интерактивные карты. Огорчает то, что IE 5.0. запретил вывод информации в строку состояния, хотя в NN и IE 4.0. такая возможность есть (может, в IE 5.0 это надо делать теперь как-то по-другому?).
Такие разночтения, несколько удивительные с первого взгляда, но привычные для веб-дизайнеров - результат бурного развития языка HTML и конкуренции между производителями браузеров, и с этим приходится мириться. Конечно, со временем эти разногласия уйдут в прошлое, что обеспечит ещё большие возможности интернет-страниц.
Как видно из изложенного выше материала, при помощи формата HTML можно создавать неплохие базы данных, привязанные к карте (изображению), и оснащать их средствами обмена информацией с пользователем. Я надеюсь, что моя работа поможет ученым опубликовать свои данные в сети интернет (между прочим, именно этого и требуют грантодатели, а это - реальные деньги, для учёных). Еще необходимо отметить и то, что помещенная в сети карта доступна не только потому, что её можно увидеть из любой страны мира, но и из-за абсолютной доступности и бесплатности интернет-браузеров, которыми она будет просматриваться, что особенно важно в связи с дороговизной и недоступностью ГИС-программ. Безусловно, это направление HTML будет развиваться, а значит, будут появляться новые возможности и интернет-браузеры будут поддерживать их все более.
Я буду следить за развитием языка, внося изменения и дополнения в программу GeoHTML. Если вы работаете в том же направлении или воспользовались GeoHTML и у вас есть какие-либо пожелания, пожалуйста, присылайте их по электронной почте.
Программу GeoHTML вы можете получить бесплатно по адресу: http://www.fegi.ru/geohtml/
Смотрите на Экологическом сайте Владивостока пример использования программы GeoHTML http://www.fegi.ru/ecology/
Recent Comments