И так, что такое web-картография в широком понимании. Я рассмотрю сервер на базе тайлов.
Web – картография – интернет сервис для предоставления картографической информации в открытом доступе посредством интернет.
Известные картографические сервисы на поисковиках – Google, Yahoo, Bing, Yandex, Mail. Главное преимущество – связь картографии и контента широкого спектра.
yandex-maps | Google maps | yahoo maps |
Bing Maps | maps mail | |
Web-картография позволяет большому количеству людей найти адрес организации и контактные данные. Также как дополнительную функцию, это различные сведения об организации: время работы, штат сотрудников, фотоснимки и т.д.
В последнее время все активнее среди населения используются сервис «Пробки», где автовладельцы могут узнать о состоянии дорог и найти маршрут объезда.
Также существую сервиса на основе web-картографии, которые позволяют маршрут движения на автомобили, пешком или общественном транспорте и время в пути, а также описание маршрута: где повернуть, через сколько и т.д.
Преимущества web-картографии является также совместное использование карт с GPS\ГЛОНАСС навигацией.
Таким образом можно отслеживать маршрут движения автопарка компании или муниципального предприятия. Используя дополнительные модули, отслеживать состояния топливных баков, скорости движения, а также управлять двигателем автотранспорта.
Существуют открытые проекты, которые позволяют организациям или муниципальным предприятиям создавать свои собственные web-картографические сервисы для своих нужд.
Рассмотрим программное обеспечение используемое при этом:
Данные из Wikipedia.
Quantum GIS — свободная кроссплатформенная геоинформационная система.
С помощью удобного графического интерфейса можно создавать карты и исследовать пространственные данные.
Quantum GIS
Quantum GIS можно легко скачать и установить себе на компьютер для редактирования карт.
Quantum GIS
Графический интерфейс включает в себя множество полезных инструментов, например:
- перепроецирование «на лету»
- компоновщик карт
- панель обзора
- пространственные закладки
- определение/выборка объектов
- редактирование/просмотр/поиск атрибутов
- подписывание объектов
- изменение символики векторных и растровых слоев
- добавление слоя координатной сетки— теперь средствами расширения fTools
- добавление к макету карты стрелки на север, линейки масштаба и знака авторского права
- сохранение и загрузка проектов
Quantum GIS
С помощью Quantum GIS можно экспортировать в Shape-формат для дальнейшего использования, например с тайловым-сервером.
Тайл (от англ. tile — плитка) — растровое изображение формата PNG/JPEG размером 256×256 пикселей. Метод создания больших изображений. Изображение составляется из маленьких фрагментов одинаковых габаритов, как картина из изразцов — отсюда название.
Таким образом, Тайловый сервер, это сервер который хранит тайлы (нарезки) карт и в последующем выдает их пользователю.
Таким сервером является TileStream.
TileStream—это высокопроизводительный тайловый сервер с возможностью просмотра файлов формата MBTiles через веб.
MBtiles — это спецификация для хранения нарезанных на тайлы карт в СУБД SQLite с возможностью мгновенной отдачи. Подобный формат данных позволяет переносить тысячи, сотни тысяч и даже миллионы тайлов в одном файле. л
Требования к серверу:
Клиент TileStream
Проверено: Chrome 6+, Firefox 3+, IE8+
Должно работать под Opera 11
TileStream сервер
Проверено: Mac OS X 10.6, Ubuntu 10.10, Gentoo
Проверено: node 0.4.9
Проверено: npm v1.0.3
Как минимум 613МБ ОЗУ
Должно работать на старых версиях и других POSIX-совместимых системах
Для того, чтобы начать пользоваться TileStream, вам необходимо скопировать MBTiles в директорию tiles. На сайте MapBox вы можете найти набор бесплатных тайлов от разработчиков.
Каждый набор тайлов можно просмотреть по адресу localhost:8888/map/[filename], где [filename]—имя набора тайлов, без расширения .mbtiles.
Чтобы создать свои тайлы, можно воспользоваться открытыми ПО.
Инструмент для создания карт с открытым кодом и доступный всем является TileMill.
TileMill
TileMill — это инструмент для картографов, позволяющий быстро и просто создавать и оформлять карты для веба, используя разные источники данных.
В этой студии существует свой собственны язык аналог CSS. Этим языком является Carto.
Язык Carto:
#kursk_landuse
{
polygon-opacity:1000; //прозрачность
polygon-fill: #3bc439; //Цвет полигона
line-color: #3bc439; //цвет линии
line-width: 0.5; //толщина линии
}
#kursk_water {
line-color: blue;// цвет линии
line-width: 0.5; //толщина линии
polygon-fill: #3a75c4 ; //цвет полигона
}
TileMill поддерживает разные уровни представления. Уровень представления — это предустановленный масштаб отображения карты. Web картографические сервисы предоставляют тайлы размером 256×256 пикселей на нулевом уровне представления и удваивают размеры на каждом последующем уровне. Таким образом, на нулевом уровне представления, виден весь мир, на шестом уровне — страна средних размеров, на одинадцатом — мегаполис. На шестнадцатом уровне можно увидеть отдельные дома.
Как же добавить карту на свой сайт? Для этого можно воспользоваться специализированными JavaScript библиотеками для выгрузки карт.
Напрмер, OpenLayers.
OpenLayers — свободная библиотека JavaScript для отображения картографических данных на веб-страницах с API сходным с API Google Maps/Virtual Earth.
open Layers
Что бы установить карту используя тайлы сервера TileStream необходимо добавить следующий код:
<script type=»text/javascript»>
map = new OpenLayers.Map(‘map’, options);
// Layer definitions
var layer = new OpenLayers.Layer.TMS(
«MapBox Layer»,
[ "http://localhost:8888/" ],
{ ‘layername’: ‘fecity’, ‘type’: ‘png’ }
);
// Add layers to the map
map.addLayers([ layer ]);
// Set the map’s initial center point
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
}
</script>
<body onload=»init()»>
<div id=»map» style=»width: 500px; height: 300px»></div>
</body>
Таким образом, используя вышеприведенные открытое программное обеспечение можно создать свой собственный сервис картографии для своих нужд.
Обсудить можно здесь: Интерактивная карта города