История и важность веб-картографии

  1. Важность веб-сервисов
  2. Просмотр запросов веб-сервисов в режиме реального времени
  3. Рекомендации

В течение десятилетий большая часть цифровой географической информации ограничивалась для использования на настольных персональных компьютерах (ПК) или внутренних мэйнфреймах и не могла легко передаваться другим организациям. Аналитики ГИС получат доступ к данным со своих компьютеров на рабочем месте, которые часто подключаются к центральному файловому серверу где-то в офисе. Для просмотра или манипулирования данными требовалось специализированное программное обеспечение, что эффективно сужало аудиторию, которая могла бы извлечь выгоду из данных.

С массовым распространением Интернета в середине 1990-х люди начали задумываться о том, как карты и другая географическая информация могут передаваться между компьютерами как внутри организации, так и среди широкой общественности. Первым шагом было размещение статических изображений карт на страницах HTML; однако вскоре люди осознали потенциал интерактивных карт. Первая из них, обслуживаемая новорожденными версиями программного обеспечения, такими как Map Server и Esri ArcIMS, была ужасно точечной, медленной и неуклюжей по современным стандартам. Ограниченные этими инструментами, картографы еще не появлялись массово на веб-картировании, и большинство карт выглядели отвратительно. Однако эти ранние интерактивные веб-карты были революционными в то время. Идея, что вы могли бы использовать свой скромный веб-браузер для запроса карты в любом месте, где вы хотели, и увидеть полученное изображение, была очень интересной. См. Книгу Брэндона Плеве « GIS Online » 1997 года (которую можно найти во многих университетских географических библиотеках), чтобы получить представление о ландшафте веб-картографии в этот период времени.

Эти ранние, динамически нарисованные веб-карты столкнулись с проблемами со скоростью и масштабируемостью (способность обрабатывать много одновременных пользователей). Сервер может обрабатывать только ограниченное количество запросов карты за раз, прежде чем замедлится (в лучшем случае) и потерпит крах (в худшем случае). Веб-карты значительно выросли в этих двух показателях, когда веб-сайты начали предоставлять мозаичные изображения карт из предварительно созданных кешей. Зачем просить сервер динамически рисовать каждую карту, если вы можете просто выдвинуть начальные инвестиции, чтобы подготовить все возможные экстенты карты с разумным набором масштабов? После того, как вы нарисовали и кэшировали изображения на карте, вы можете представить изображения в виде мозаичной мозаики. Каждый запрос мозаичной карты выполнялся экспоненциально быстрее, чем требовалось для динамического обслуживания карты, что позволяло серверу одновременно обслуживать сотни пользователей.

Следуя примеру Google Maps, многие сайты начали предлагать «предварительно приготовленные» мозаичные изображения карт, используя креативную технику, известную как асинхронный JavaScript и XML (AJAX), которая устраняла повсеместное и раздражающее мигание, возникавшее после любого действия навигации на более ранних веб-картах. , Теперь вы можете перемещаться по карте навсегда, пока ваш сервер не задохнется, пытаясь наверстать упущенное.

Картографы, которые в значительной степени смирились с обменом эстетики на скорость на веб-картах, также осознали потенциал техники листов. Количество слоев на карте больше не будет замедлять работу сервера: предварительно сгенерировав тайлы, вы сможете подавать красивую карту так же быстро, как и уродливую. Веб-карты стали возможностью использовать картографические методы и сделать карту максимально привлекательной. Так родились красивые, быстрые и подробные базовые карты «web 2.0», которые сегодня распространены в Google, Microsoft Bing, OpenStreetMap и других популярных веб-сайтах.

По мере того, как веб-браузеры увеличивали свою способность рисовать графику с использованием таких технологий, как SVG и более поздние WebGL, появились возможности для интерактивности. Подсветка функций на лету и всплывающие окна, обогащенные HTML, стали общими элементами. В течение нескольких лет разработчики экспериментировали с плагинами, такими как Adobe Flash и Microsoft Silverlight, для плавной анимации навигации по карте и связанных виджетов. Совсем недавно разработчики отказались от этих платформ в пользу новых стандартов HTML5, признанных последними веб-браузерами, без необходимости в подключаемых модулях.

Хотя карты появились в браузере к середине 2000-х годов, доступ к ним по-прежнему осуществлялся через настольные ПК. Широкое распространение смартфонов и планшетов в последующие годы только увеличило спрос на веб-карты. Мобильные устройства не могли изначально хранить большие коллекции данных ГИС и не могли устанавливать передовое программное обеспечение ГИС; они полагались на интернет или сотовую связь, чтобы получить карты по требованию. Эти подключения были инициированы браузерами на устройстве, такими как Safari, или встроенными приложениями, установленными на устройстве и созданными для простых и целенаправленных целей. В обоих случаях данные и карты ГИС необходимо было извлечь из традиционных хранилищ данных организации и разместить в Интернете.

Важность веб-сервисов

Все вышеперечисленные сценарии веб-карт возможны благодаря веб-сервисам. Если вы будете искать в Интернете, вы найдете много определений веб-сервисов и легко запутаетесь. Для целей этого курса просто представьте, что веб-сервис - это целенаправленная задача, которую специализированный компьютер (сервер) знает, как выполнять, и позволяет другим компьютерам вызывать ее . Вы работаете с веб-сервисом так:

  1. Вы вызываете веб-сервис, делая запрос из приложения (клиента). Чтобы сделать этот запрос, вы обычно используете HTTP, стандартный протокол, который веб-браузеры используют для связи между клиентами и серверами. Запрос содержит структурированные фрагменты информации, называемые параметрами. Они дают конкретные инструкции о том, как задача должна быть выполнена.
  2. Сервер читает запрос и запускает свой код веб-службы, учитывая при этом все параметры. Это приводит к ответу, который обычно представляет собой строку информации или изображение.
  3. Сервер отправляет вам ответ, и ваше приложение использует его.

Изучите, как следующая простая диаграмма описывает этот процесс, возвращая карту текущих осадков:

Изучите, как следующая простая диаграмма описывает этот процесс, возвращая карту текущих осадков:

Рисунок 1.1 Пример потока запросов и ответов веб-службы, которая рисует карты.

Кредит: Стерлинг Куинн

Теперь для примера. Предположим, вы определили URL-адрес веб-службы где-то, которая рисует карты. Вы делаете запрос, создавая URL (http: // ...), содержащий адрес веб-службы и различные параметры для карты, такие как формат изображения, которое вы хотите получить (JPG, PNG и т. Д.) , ограничивающий прямоугольник (координаты, определяющие географическую область, которую вы хотите видеть на карте) и масштаб карты. Вы вставляете это в адресную строку вашего браузера, и сервер отправляет вам ответ, содержащий запрошенное вами изображение карты.

Вот пример именно такого запроса с использованием радиолокационной карты США. Во-первых, посмотрите, можете ли вы определить некоторые параметры в URL. Затем предположите, как будет выглядеть ответ, когда вы получите его обратно. Затем нажмите на ссылку, чтобы вызвать веб-сервис и получить ответ:

http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?SERVICE=WMS&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=TRUE&STYLES=&VERSION=1.3.0&LAYERS=nexrad-n0r&WIDTH=877&HEIGHT=276&CRS= EPSG: 900913 & BBOX = -15252263.28954773,2902486.4758432545, -6671748.242369267,5602853.811101243

Изучив URL-адрес этого запроса, вы могли заметить параметры, указывающие ширину и высоту изображения, формат изображения, прозрачность фона изображения и ограничивающие координаты карты, которую нужно нарисовать. Эти параметры предоставляют конкретные сведения о том, как веб-сервис должен выполнять свой код рисования карты. Эти параметры отражены в ответном изображении, отправленном обратно в ваш браузер при нажатии на ссылку. В следующем уроке вы узнаете больше о параметрах в запросе выше.

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

http://a.tile.openstreetmap.org/15/11068/19742.png

Запрос углубляется в структуру папок сервера и возвращает вам запрошенное изображение PNG в качестве ответа. На сервере не выполнялся какой-либо специальный код, кроме основного поиска файлов, поэтому можно утверждать, что веб-служба не была вызвана. Однако этот тип простого веб-запроса также является важной частью многих веб-карт.

В этот момент вы можете подумать: «Я годами пользовался веб-картами, и мне никогда не приходилось собирать длинные неуклюжие URL-адреса, подобные этому. Я использовал веб-сервисы и другие веб-запросы? »Абсолютно, да. Когда вы перемещаетесь по Google Maps, сайту онлайн-карты вашей компании и т. Д., Ваш браузер отправляет сотни веб-запросов, похожих на этот. Тебе просто не нужно было знать детали до сих пор. Когда вы начинаете настраивать свой собственный ГИС-сервер или разрабатывать свое собственное клиентское веб-приложение, становится важно понять теорию и архитектуру веб-трафика.

Не все веб-сервисы используют одинаковый формат URL и параметров. В этом курсе вы узнаете о некоторых наиболее распространенных форматах для онлайн-веб-служб, особенно тех, которые были открыто разработаны и задокументированы для работы с пакетами программного обеспечения.

Просмотр запросов веб-сервисов в режиме реального времени

Вот простой способ, с помощью которого вы можете просматривать веб-запросы, сделанные «за кулисами» вашим браузером при навигации по веб-сайту. Эти инструкции предназначены для инструментов, предоставляемых Mozilla Firefox. В Chrome и других браузерах есть похожие инструменты, которые обычно называются «инструменты разработчика» или «веб-инструменты», и их нетрудно найти.

  1. Откройте Mozilla Firefox (если он еще не запущен) и в главном меню выберите «Веб-разработчик» -> «Сеть». Это откроет окно инструментов разработчика в нижней части вашего браузера. В верхней части окна вы можете увидеть различные вкладки «Инспектор», «Консоль» и так далее. Прямо сейчас активна вкладка «Сеть», которая предназначена для мониторинга сетевого трафика. В дополнение к «Сети», вкладка «Консоль» будет важна для этого курса, потому что она покажет Javascript и другие сообщения об ошибках, если что-то не так с вашим кодом Javascript.
  2. Убедитесь, что все выделено в меню фильтров под вкладками (которые будут содержать такие элементы, как все, HTML, CSS, JavaScript и т. Д.).
  3. Хит этот сайт для Карта интерактивной системы Portland TriMet (обратите внимание, что этот сайт использует исключительно картографическое программное обеспечение FOSS).
  4. Навигация по карте транспортной системы Портленда.
  5. Обратите внимание на веб-запросы по мере их отправки. Вы увидите много запросов на плитки карты.
  6. Наведите указатель мыши на запрос, чтобы увидеть его полный URL. Если ответом является изображение, при наведении курсора на маленький эскиз перед URL будет показана увеличенная версия возвращенного изображения.
  7. Когда в списке запросов выбрана запись, в правой части окна будет отображаться много дополнительной технической информации о запросе и ответе.

Этот вид инструмента разработчика будет полезен вам позже в ходе разработки собственных веб-карт, в основном для сценариев устранения неполадок, когда вы ожидаете появления карты и ваш браузер не отправляет вам ожидаемый ответ.

Рекомендации

Плеве, Б. (1997). ГИС онлайн: поиск информации, картографирование и Интернет . OnWord Press.

Зачем просить сервер динамически рисовать каждую карту, если вы можете просто выдвинуть начальные инвестиции, чтобы подготовить все возможные экстенты карты с разумным набором масштабов?
Cgi?
Я использовал веб-сервисы и другие веб-запросы?