Картографические бесплатные онлайновые сервисы. Онлайновые картографические сервисы

Картографические сервисы в интернете: поиск по карте, измерение расстояний, просмотр связанных с выбранной точкой Земли фотографий.

Яндекс.Карты

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

С картографическим сервисом связан сервис Яндекс.Пробки , где представлены данные о ситуации на дорогах в трех городах России: Москва, Санкт-Петербург, Екатеринбург и в столице Украины - Киеве. Жителям таких городов как Екатеринбург, Казань, Краснодар, Нижний Новгород, Новосибирск, Орел, Ростов-на-Дону, Рязань, Самара, Тула, Уфа, Челябинск, Днепропетровск, Донецк, Запорожье, Киев, Львов, Одесса и Харьков разработчики предлагают установить мобильное приложение Яндекс.Карты и принять участие в создании картины пробок в своем городе.

Google Maps

Карты Google - приложения, построенные на основе бесплатного картографического сервиса и технологии, предоставляемых компанией Google. Сервис представляет собой карту и спутниковые снимки всего мира. С сервисом интегрирован бизнес-справочник и карта автомобильных дорог, с поиском маршрутов, охватывающая США, Канаду, Японию, Гонконг, Китай, Великобританию, Ирландию и некоторые районы Европы, в том числе и некоторые города в России. С сервисом связано приложение Google Earth - это отдельная программа для GNU/Linux, Mac OS и Microsoft Windows, которая позволяет просматривать снимки земной поверхности, увеличивать и уменьшать масштаб и строить маршруты передвижения. Сервис дает отображение земной поверхности с учетом рельефа, предоставляет возможность наблюдения под произвольным углом (а не только отвесно сверху) и возможность плавного изменения масштаба (а не просто выбора из нескольких предопределенных значений). Карты Google Maps интегрированы с сайтами Wikipedia и Panoramio.com. Пользователи, подключив соответствующий слой, могут с его помощью увидеть связанные с указанным местом на карте фотографии и статьи Википедии.

WikiMapia

WikiMapia - проект, использующий информацию Google Maps. Его целью является описание географических объектов всей планеты Земля. Девиз проекта: «Опишем весь мир!» Просматривая карту WikiMapia, пользователь видит объекты, ограниченные рамками (многоугольники со стороной не превосходящей 20 километров) и может получить текстовое описание для каждого (рамками может быть выделен город и даже отдельный дом).

Редактирование текстов и выделение новых участков карты доступно любому посетителю сайта. Объекты помечаются тегами, в режиме поиска отображаются только те из них, в описании которых присутствует данный тег. Часто тэг отражает адрес объекта. К каждому помеченному участку можно добавлять фотографии этого места, видео-ролики из YouTube и ссылку на страницу Википедии для этого места. Слой пометок WikiMapia можно подключить к программе Google Earth. WikiMapia предоставляет сервисы измерения расстояний и площадей. Ресурс основан Александром Корякиным и Евгением Савельевым в 2006 году.

Картографический сервис

GISFile является картографическим сервисом, который предоставляет пользователям возможность быстро создавать свои собственные карты, заполнять и обмениваться слоями карт с другими пользователями. Сервис позволяет импортировать данные, создавать и обновлять объекты с помощью Web-редактора. GISFile имеет REST API и Java Script API для отображения карты, поиска пространственной информации, редактирования объектов и получения объектов в GeoJSON, JSON, Kml и CSV форматах.

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

Клиенты могут использовать алгоритмы для построения тепловых карт и карт урожайности. Можно выполнить пространственный анализ любой выбранной области слоя. Сервис предоставляет возможность сбора растровых и векторных данных, а также публиковать карты на сайте.

✔ быстро создавать и публиковать карты;
✔ поддерживать растровые и векторные слои;
✔ REST API и Java Script API.

Быстрое создание


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

GISFile поддерживает векторные и растровые слои. Импорт пространственных данных в векторный слой в SHP, KML, CSV форматах. Создание растровых слоёв с закоординированными изображениями в TIF, JPG, SID форматах. Сервис автоматически формирует тайлы слоёв и карт для отображения в веб-решениях и приложениях.

Веб-редактор имеет инструменты для расчёта расстояний, периметра, площади фигуры и отображения местоположения на карте. Разработана возможность выделения, смещения группы объектов, а также привязка к точкам и линиям при создании и редактировании объектов.

✔ слои для карты;
✔ импорт пространственных данных;
✔ редактор карт.

Попробуйте бесплатно

Лёгкая публикация

Использование карт во внешних веб-решениях и приложениях становится еще проще с помощью разработанной JavaScript API. Описание функций доступно на странице JavaScript API. Создайте карту с маркером или слой в несколько кликов, используя конструктор карт. JavaScript API позволяет отображать карту на веб-решении, добавив только одну строку кода.

Дизайнер позволяет быстро создать метку на карте с указанным типом иконки и пользовательским текстом, который будет отображаться при нажатии на иконку и получить код JavaScript карты без сохранения кода на GISFile.

Мы помогаем нашим клиентам решать пространственные задачи и интегрировать карты в веб-страницы и приложения. Дизайнер карт и API для всех зарегистрированных пользователей бесплатный.

✔ публикация карт;
✔ интеграция с GISFile;
✔ REST API и JavaScript API;
✔ дизайнер карт.


Публичная карта


Сервис GISFile предоставляет доступ к публичной карте для отображения и поиска объектов используя различные базовые слои (OpenStreetMap, Google Maps, Yandex Maps, Bing Maps). Кроме базовых слоев на публичной карте могут быть отображены дополнительные слои (рельеф, грунты, кадастр, геопункты, файлы, Wiki Map).

Вы можете загрузить и отобразить данные из обменных файлов для визуальной проверки. Используйте инструмент "Линейка" для выполнения измерений расстояний и площади.

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

кадастровая карта, рельеф, почвы, геопункты;
✔ визуальная проверка обменных файлов XML и IN4;
✔ поиск объектов на карте по адресу, кадастровому номеру и IP;
✔ измерение расстояний и площади на карте;
✔ определить свое местоположение и проложить маршрут;
✔ отображение файлов GPX, KMZ, KML, GeoJSON, CSV

Публичная карта Инструкции

Найти профессионалов

Пользователи могут найти профессионалов для создания карт с помощью GISFile. Работа и карьера доступны на GISFile. Любой желающий может подать информацию о работе, указать сроки, тип, стоимость оплаты и выбрать исполнителя. Все вакансии, связанные с ГИС, картографией, геодезией, оцифровкой и веб-разработкой. Клиенты могут найти профессионалов в области ГИС.

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

✔ продажа и аренда карты;
✔ найти разработчиков;
✔ профессиональный рост.

  • Хижняк Юлия Дмитриевна , бакалавр, студент
  • Белгородский государственный национальный исследовательский университет
  • API ЯНДЕКС КАРТ
  • API GOOGLE КАРТ
  • КАРТОГРАФИЧЕСКИЙ СЕРВИС
  • API 2 ГИС

В настоящее время популярные картографические порталы, такие как Google Maps, Яндекс.Карты и 2GIS, предоставляют API, с помощью которого можно строить и добавлять карты на сторонние сайты. Чтобы выбрать наиболее подходящий сервис для реализации определенного проекта, необходимо изучить характеристики представленных сервисов.

  • Исследование программных средств для разработки интерфейса мобильного приложения
  • Проектирование пользовательского интерфейса для мобильного приложения
  • Особенности формирования информационных ресурсов в сфере сбора, сортировки и вывоза ТБО
  • Анализ существующих информационных ресурсов в сфере сбора, сортировки и вывоза ТБО

В настоящее время популярные картографические порталы, такие как Google Maps, Яндекс.Карты и ряд других, предоставляют API (Application Programming Interface - интерфейс программирования приложений), с помощью которого можно строить и добавлять карты на сторонние сайты. API представляет собой набор средств, дающих возможность получить доступ к какому-либо сервису и запросить у него данные. Разработчик может воспользоваться им для получения доступа к функционалу программы, библиотеки, модуля.

Картографический сервис - это специализированная информационная система, предоставляющая пространственные данные в виде интерактивной карты. Картографический веб-сервис обеспечивает веб-доступ к картографической информации на основе интерфейсов прикладного программирования (API). В настоящее время на российском рынке наиболее известны и распространены следующие картографические и справочные сервисы:

  • Яндекс.Карты;
  • Google Maps;

Рассмотрим их с точки зрения предоставления ими возможностей для создания собственных карт, их настройки и размещения на них необходимой бизнес-информации.

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

Для разработчиков предоставляется API - программный интерфейс, с помощью которого можно установить Яндекс.Карты и необходимый инструментарий для работы с ними в своём веб-приложении или на сайте. Инструментарий включает в себя конструктор карт, геокодер (для перевода географических координат в адрес и наоборот), набор компонентов для размещения карт на страницах сайта или в веб-приложении, интерфейс для настройки параметров созданной в конструкторе схемы.

Сервис Яндекс.Карт возможно использовать только для сайтов или приложений, доступных для бесплатного открытого использования, при этом сначала необходимо зарегистрироваться. Важно, что количество обращений к геокодеру, маршрутизатору и панорамам должно быть менее 25 000 запросов в сутки.

Google Maps - один из самых известных картографических сервисов. Существует с 2005 года. Три основные части Google Maps - это непосредственно сами карты, снимки со спутника и Google Street View. Карты от Google также предоставляют возможности для использования своих карт в сторонних сервисах. Используя Google Maps API, можно поместить любую карту из Google Maps на внешнем сайте, управляя этой картой через JavaScript API. В состав средств для разработчика входят следующие программные интерфейсы (API):

  • Android API (создание и добавление собственных карт для приложения на базе Android);
  • Javascript API (создание и добавление собственных карт для веб-сайтов);
  • Geocoding API (обеспечивает доступ к службам геокодирования статичных адресов через запрос HTTP с целью размещения контента на карте);
  • Directions API (включает средства для составления маршрутов, расчёта времени поездки, определения расстояний);
  • Places API Web Service (служба, из которой с помощью HTTP-запросов можно получать информацию о местах, определенных в данном API: организациях, географических объектах или достопримечательностях).

Перед началом работы с картами необходимо зарегистрироваться с помощью аккаунта Google. Некоммерческое использование сервиса бесплатно, но существуют ограничения на количество запросов к отдельным функциям.

2ГИС - это российский проект, включающий в себя карты, навигатор и справочник c подробной информацией об организациях в каждом городе - начиная от названия и контактов, заканчивая временем работы и способами оплаты услуг. Среди других сервисов 2ГИС отличается хорошей детализацией карт и полнотой данных.

Данный сервис также предоставляет разработчикам инструменты для использования своих карт в некоммерческих целях. С помощью API 2GIS можно создавать интерактивные карты на веб-странице, показывать на карте различные объекты (маркеры, области, геометрические объекты), производить поиск на карте: определять координаты геообъектов по их названиям и названия по координатам. API 2GIS имеет открытый исходный код, в ее основе лежит библиотека Leaflet, предоставляющая модули для кластеризации, создания тепловых карт, анимированных маркеров, а также поддерживающая создание собственных модулей. Также в API 2GIS есть возможность поэтажной детализации зданий и другие возможности.

Рассмотрим качество изображения и уровень детализации одного и того же участка определенного города в Яндекс.Картах, Google Maps и картах 2ГИС, представленных на рисунках 1, 2 и 3 соответственно. Качественная карта предполагает правильное расположение всех объектов, хорошую прорисовку всех домов, включая новостройки, их корректную нумерацию, достаточную цветовую контрастность карты.

Рисунок 1. Участок Яндекс.Карт
Рисунок 2. Участок Google Maps
Рисунок 3. Участок карты 2ГИС

Как видно на рисунках, Яндекс.Карты и карты 2ГИС имеют лучшую детализацию и прорисовку объектов на выбранном участке, а также более выгодное цветовое оформление. На карте Google некоторые здания не пронумерованы или не прорисованы, отсутствуют новостройки.

В таблице 1 представлено сравнение рассматриваемых сервисов по различным критериям.

Таблица 1. Сравнение картографических сервисов Яндекс.Карты, Google.Maps и 2ГИС

Критерий

Яндекс.Карты

Покрытие

Карта всего мира (но наиболее проработаны карты России, Украины, Белоруссии и Казахстана, а также Европы и Северной Америки)

Карта всего мира (но хорошо прорисованы только наиболее крупные города Северной Америки, Европы, России и др.)

Россия и несколько городов в 9 странах (всего около 350 городов)

Детализация карт, качество прорисовки

Хорошая или очень хорошая детализация в России, достаточная в других странах.

Средний уровень детализации. Много объектов отсутствует. Объекты хорошо видны только при сильном приближении.

Очень хорошая детализация в городах присутствия.

Построение маршрутов

Построение нескольких вариантов маршрута на автомобиле (с учетом пробок), общественным транспортом, пешком. Расчёт предположительного времени в пути. Проигрывает Google.Maps в качестве построения маршрута.

Построение нескольких вариантов маршрута на автомобиле (с учетом пробок), общественным транспортом, пешком, на велосипеде и даже самолетом. Расчёт предположительного времени в пути.

Построение нескольких маршрутов на автомобиле, общественном транспорте, пешком с расчётом времени на путь.

Режимы отображения карты

Режимы «Схема», «Спутник», «Гибрид», панорамы некоторых городов

Режимы «Схема» и «Спутник», панорамы отдельных городов

Режим «Схема»

Условия использования API

Бесплатно для использования в открытых некоммерческих неигровых проектах, не предназначенных для мониторинга и диспетчеризации. Использование ключа и регистрация не обязательна.

Бесплатно для использования в открытых некоммерческих проектах, не предназначенных для мониторинга, диспетчеризации, ведения незаконной деятельности. Обязательна регистрация и получение ключа API.

Бесплатно для использования в открытых некоммерческих проектах, не направленных на построение маршрутов. Обязательна регистрация и получение ключа.

Ограничения количества запросов при бесплатном использовании API

Число запросов к сервисам геокодирования, маршрутизации и панорам Яндекса не должно превышать 25 000 в сутки.

Число загрузок карт не должно превышать превышает 25 000 в сутки.

Количество запросов к сервису ограничено предельной величиной 10 в секунду и (или) 10000 в месяц

Документация по использованию API

Документация очень подробная, с примерами использования большинства функций.

Документация достаточно подробная, но частично на английском языке.

Документация по использованию краткая

Элементы управления

  • Элементы для перетягивания карты, увеличения выделенной области, измерения расстояний.
  • Элемент изменения масштаба
  • Переключатель типа карты
  • Масштабная линейка
  • Обзорная карта
  • Поиск по карте
  • Пробки
  • Редактор маршрута
  • Пользовательские элементы управления
  • Масштабирование карты
  • Выбор типа карты
  • Элемент управления Street View
  • Элемент управления Rotate для наклона и вращения
  • Элемент перехода в полноэкранный режим
  • Построение маршрутов
  • Пользоват. элементы управления
  • Управление
  • Масштаб
  • Линейка
  • Отображение слоя пробок
  • Кнопка полноэкранного отображения карты
  • Определение месторасположения пользователя

Средства для вывода большого количества данных

  • Кластеризация;
  • Технология активных областей;
  • Технологии ObjectManager, LoadingObjectManager, RemoteObjectManager
  • Кластеризация маркеров;
  • Технология setTimeout для последовательного вывода маркеров на карту.
  • Кластеризация объектов

В настоящее время уже есть достаточное количество примеров использования различных картографических сервисов, например в риэлторской сфере. Наиболее простой вариант использования - это размещение на карте одной единственной метки. Например, агентство недвижимости «Риэлторский центр» использует на своем сайте Яндекс карты для обозначения местоположения каждого отдельного продаваемого объекта.


Рисунок 4. Размещение объекта на Яндекс.Карте

Риэлторское агентство «Апартаменты» в своем ресурсе использует картографический сервис на основе Гугл карт (рисунок 5). На карту помещены все объекты, с которыми работает агентство, при этом их можно сортировать по количеству комнат, станции метро, району, улице, общей площади и стоимости. При выборе объекта осуществляется переход на страницу с его описанием.


Рисунок 5. Использование карты Гугл на сайте apartment.ru

На API 2GIS работает карта на портале о недвижимости МЛСН.ру (рисунок 6). В данном случае, чтобы избежать чрезмерного количества меток на карте, объекты группируются в зависимости от территории. При увеличении и уменьшении масштаба карты, объекты автоматически перегруппировываются. Здесь также есть возможности классификации объектов по количеству комнат и другим параметрам.


Рисунок 6. Использование API 2GIS на сайте МЛСН.ру

Как видно на рисунке 7, при выборе определенного дома на карте появляется краткая информация о квартирах в нем. Далее можно перейти на страницу с более подробным описанием.


Рисунок 7. Вывод дополнительной информации при выборе объекта на карте 2GIS

Все эти сервисы осуществляются при помощи API, которое предоставляют для разработчиков картографические сервисы.

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

Список литературы

  1. API 2GIS [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: http://api.2gis.ru/doc/maps/ru/quickstart/, свободный.
  2. API Google Maps [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://developers.google.com/maps/we Google Mapsb/?hl=ru, свободный.
  3. API Яндекс.Карт [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://tech.yandex.ru/maps/, свободный.
  4. Кадочников, А.А. Организация и визуализация данных наблюдений с помощью картографических веб-сервисов [Текст]/ А.А. Кадочников // Устойчивое развитие территорий: картографо-геоинформационное обеспечение. – 2014. – С. 188 -196.
  5. Картографические веб-сервисы в России: опыт компании «Яндекс» [Текст]/ Земля из космоса: наиболее эффективные решения. –2010. –№6. – 50-52 с.
  6. Касьянова, Е.Л. Создание интерактивных картографических веб-сервисов [Текст]/ Е.Л. Касьянова, Е.Ю. Воронкин // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2014. – №3. – С. 87-92.
  7. Кикин, П.М. Разработка методики создания тематических карт средствами веб-технологий [Текст]/ П.М. Кикин, Е.Л. Касиянова// Сибирская государственная геодезическая академия г. Новосибирск. - М., 2014. - 105 с.
  8. Маринов, Н.А. Создание картографических сервисов на основе web API [Текст]/ Н.А. Маринов // Сборник материалов научно-практического семинара. – 2013. – С. 21-24.

Несколько лет назад на смену бумажным картам и атласам пришли электронные, или интерактивные карты, позволяющие находить любые объекты в считанные секунды - достаточно ввести на них название объекта, щелкнуть на соответствующей кнопке, и нужный фрагмент карты окажется перед вами. Но не только скорость относится к числу преимуществ интерактивных карт, в них еще реализован интерактивный просмотр информации. В целом, можно выделить три типа карт - карты, созданные по flash-технологии, а также два типа ГИС-карт (основаны на технологии геоинформационных систем) - обычные ГИС-карты и ГИС-карты с визуализацией. Минимальная степень интерактивности чаще всего характерна для flash-карт и заключается в отображении какой-то информации по выбранному объекту при наведении и/или щелчке мыши.

При просмотре интерактивной ГИС-карты пользователь видит только ту ее часть, которая интересует его в данный момент времени. При желании он может переместиться по карте в любом направлении, приблизить или удалить рассматриваемый фрагмент, получить по нему краткую справку и пр. Особняком стоят интерактивные ГИС-карты с визуализацией, в которых идеально "сшитые" снимки со спутника географически привязаны к карте, благодаря чему пользователь видит не условные обозначения, а реальные пейзажи. Например, таким (см. ниже) можно увидеть Большой каньон на интерактивной ГИС-карте с трехмерной визуализацией NASA WorldWind.

Интерактивные атласы мира и карты стран существуют в двух вариантах - как автономные программные продукты, либо онлайн-сервисы в интернете. Первые позволяют работать с картой при отсутствии доступа к сети, а преимуществом онлайновых карт, хранящихся на серверах, является их регулярное уточнение и дополнение, благодаря чему представленная на таких картах информация всегда актуальна. Следует иметь в виду, что для просмотра flash-карт необходимо наличие на компьютере установленного flash-проигрывателя, желательно самой последней версии. Для просмотра некоторых электронных ГИС-карт требуется поддержка Java, в этом случае придется скачать и установить Java-машину, что на многих картографических сайтах предлагается сделать бесплатно. ГИС-карты с визуализацией могут требовать установки дополнительного ПО, в каждом конкретном случае - своего. Электронные карты незаменимы, когда необходимо найти точку на местности, а тем более наглядно показать расположение какого-то объекта, будь то достопримечательность или дорожная развязка. Более того, современные интерактивные карты уже можно рассматривать не только как картографический справочник, но и как источник самых разнообразных сведений, связанных с конкретной областью на местности. Интерактивные flash-карты чаще всего применяются в корпоративной среде. Они представлены на web-сайтах ряда компаний, поскольку представляют собой удобный способ отображения информации о расположении компании. Помимо этого, интерактивные flash-карты эффектно и наглядно отображают аналитическую, статистическую и иную информацию, поэтому могут присутствовать не только на корпоративных, но и на аналитических, исторических и иного рода сайтах. Однако к тематике нашей статьи они особого отношения не имеют, в отличие от ГИС-карт, с которыми мы познакомимся более подробно.

⇡ Простые интерактивные ГИС-карты

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

Зарубежные картографические ресурсы

Наиболее известные в мире картографические порталы (MapQuest, Yahoo! Maps, MultiMap.com и др.) содержат картографические данные по США, Канаде, странам Европы и Австралии (табл. 1). Они позволяют искать самые разные объекты: населенные пункты (по названию), адреса (по наименованию улицы и номеру дома), фирмы (по названию, виду деятельности, телефону) и пр. Успешность поиска зависит от необходимой степени детализации. Если нужно найти город или какой-то другой крупный населенный пункт, то подойдет любой из онлайновых атласов, охватывающий соответствующий регион. Запустить процесс поиска очень просто - нужно указать в соответствующих полях, например, название страны (может выбираться из списка) и города, затем щелкнуть на кнопке "Go" или "Find". Как правило, найденный фрагмент карты может быть не только просмотрен в желаемом масштабе, но также распечатан и/или отослан на указанный e-mail. А вот осуществить детальный поиск с учетом названия улицы и конкретного адреса удастся не везде, поскольку на многих сервисах такой уровень детализации зачастую ограничен пределами конкретных стран и отдельных наиболее крупных городов. Скажем, на сервисе MultiMap.com наиболее подробно отражена Англия, где возможен детальный поиск с учетом названий улиц и номеров домов, а для Лондона даже предоставляется интерактивная схема метро. При проведении детального поиска соответствующие данные вводятся в формате конкретного сервиса, это может быть конструкция примерно следующего вида: "London, Russell Square" или "North Main Street Los Angeles, CA 90012". На многих крупных картографических сервисах для отдельных мест нередко можно посмотреть не только карты, но и результаты аэрофотосъемки и/или снимки, сделанные из космоса. При поиске конкретного здания в населенном пункте разумнее попробовать найти в интернете специализированную справочную карту данного города или области. Степень детализации в такой карте будет выше, равно как и актуальность представленной информации. Кроме того, подобные карты зачастую сопровождаются схемами маршрутов городского транспорта и прочей полезной информацией, которая на карте регионального масштаба, скорее всего, будет отсутствовать. Помимо поиска, онлайновые картографические сервисы нередко позволяют сформировать оптимальный маршрут перемещения из пункта "А" в пункт "Б" или могут предложить несколько возможных вариантов таких маршрутов (сервис Driving Direction), а также предоставляют массу дополнительных сведений и услуг, которые пригодятся, например, при планировании путешествия или переезда на новое место жительства. В числе наиболее известных порталов с поддержкой сервиса Driving Direction можно назвать ресурсы MapQuest и Yahoo! Maps, содержащие автомобильные атласы и карты мира с возможностью выбора оптимального маршрута в интерактивном режиме и получения информации о пробках на дорогах. Технически получить оптимальный маршрут никакого труда не составляет. Скажем, на MapQuest требуется перейти на вкладку "Directions", указать исходный и конечный пункты с нужной детализацией. При необходимости можно раскрыть раздел "Directions Options" и уточнить принцип расчета пути (кратчайший срок или кратчайшее расстояние), следует ли избегать шоссе, платных дорог и/или сезонно закрываемых дорог. Запускается процесс расчетов щелчком по кнопке "Get Direction".

Если системе удастся найти подходящий вариант, то через некоторое время она выдаст детальную карту маршрута поездки с указанием всех участков пути (времени, длительности и т.п.), но не исключено, что маршрут еще придется уточнять, если исходный и/или конечный адрес был задан с недостаточной степенью детализации. Например, при формировании маршрута нам пришлось для каждого из городов дополнительно указать штат. Полученная карта может быть распечатана и/или отправлена на e-mail или мобильник. Последнее позволит во время поездки получать информацию о направлении движения по проложенному маршруту и необходимости выполнения соответствующих маневров. Если вам придет в голову идея проложить маршрут вне пределов США и Канады, то результат окажется отрицательным, поскольку по умолчанию другие страны сервисом Driving Direction на MapQuest не поддерживаются. Если требуется их подключить, а это допустимо для девяти европейских стран (понятно, что Россия в этом списке не фигурирует), то нужно сменить вариант "US & Canada" на вариант "International". Более удобный вариант подбора маршрута обеспечивает рассчитанный на туристов сайт Expedia.com . Здесь можно сформировать оптимальный маршрут путешествия по европейским странам (но опять же, не по России) либо США, в описании к которому будут фигурировать все повороты и расстояния, а также затрачиваемое на тот или иной участок пути время. При необходимости, можно даже заблаговременно забронировать места в расположенных на маршруте или по месту назначения гостиницах и арендовать автомобиль. Технология формирования маршрута также ничего особо сложного не представляет. Для исходной и конечной точек следует указать регион и место, а затем щелкнуть по ссылке "Get driving directions". При определении граничных точек маршрута разрешается просто указать место (скажем, город) либо ввести более подробные данные, включая почтовый индекс.

Также возможно проложить маршрут с учетом посещения достопримечательностей, торговых центров, образовательных учреждений, спортивных сооружений и уточнить местоположение на предполагаемом маршруте заправок, отелей, ресторанов и кафе, банков и пр. Подобная функциональность, например, предусмотрена на сервисе Map24.com. Список интересующих объектов, скажем, музеев и памятников старины, будет отображен прямо на маршруте с указанием точных адресов и телефонов соответствующих объектов.

Таблица 1 . Популярные зарубежные картографические ресурсы

Ресурс Регион (критерии поиска) Построение маршрута
MapQuest США, Канада, Европа (город, штат, почтовый индекс, адрес) +
Yahoo! Maps США, Канада, Европа, Австралия (город, штат, почтовый индекс, адрес); ввод почтового индекса обязателен +
MultiMap.com Европа, Северная Америка и Австралия (страна, город, индекс); Великобритания (город, почтовый индекс, улица) +
(возможно формирование маршрутов вне одного континента)
Map24.com Европа (страна, город, почтовый индекс, улица) +
Expedia.com США, Европа (страна, город, почтовый индекс, улица) +
MapsOnUS США (штат, город, почтовый индекс) +

Российские картографические ресурсы

По сравнению с зарубежными аналогами, возможности российских картографических порталов гораздо скромнее (см. табл. 2). Экскурсию по ним стоит начать с посещения сайта "Мир карт ". Здесь на политической карте несложно найти любое государство и тут же получить по нему краткую справку. При желании можно наложить на карту часовые пояса или, скажем, переключиться на карту религий. Имеются здесь и интерактивные карты различных регионов, среди которых, помимо России, неплохо представлен ряд азиатских стран. Возможен поиск точек на карте по указанному адресу, но, судя по всему, нормально работает он только для Москвы. Затем стоит познакомиться с проектом eAtlas , где представлены довольно подробные карты Европы, России, Египта, Кипра, Мальдивских островов, Таиланда, Турции, а также 74-х российских городов, причем с гораздо большей степенью детализации, чем на сайте "Мир карт". Здесь допускается поиск объектов по названию (например, можно найти на карте нужный город, реку, остров и т.п.) либо адресу. Предусмотрено на eAtlas и построение оптимальных маршрутов следования. К примеру, для формирования маршрута из Екатеринбурга в Анкару нам потребовалось на карте "Россия и Европа" кликнуть на ссылке "Маршруты", задать начальную и конечную точки маршрута (можно ограничиться названиями городов), щелкнуть на кнопке "Проложить" и при запросе уточнить исходный и конечный пункты маршрута из предлагаемого списка. Карту с маршрутом можно распечатать или отправить ссылку на нее по указанному e-mail. Российские поисковые порталы "Яндекс" и "Рамблер" также имеют свои картографические службы - "Яndex.Карты " и "Rambler на карте ", соответственно. На сервисе "Яndex.Карты" достаточно детально представлен ряд крупных городов России и Украины, возможен поиск интересующей точки на карте, а также поиск организаций в интересующем регионе внутри России и их контактной информации (адресов, телефонов, сайтов).

На картографическом портале "Яндекса" также предусмотрено построение маршрута движения, но доступна эта функция только для Москвы и Московской области.

Сервис "Rambler на карте" предоставляет доступ к подробной политической карте мира, карте России и ряда российских городов. На нем возможен поиск точки на карте по названию улицы, конкретному адресу или станции метро, однако приемлемая результативность такого поиска достигается лишь в Москве и Санкт-Петербурге. В остальных городах на практике можно найти лишь улицы (но не все) и избранные адреса.

Имеются в Рунете и интерактивные карты отдельных городов, причем некоторые из них подготовлены на очень высоком уровне, но большинство пока оставляет желать лучшего. Однако в любом случае перед поездкой в тот или иной город не помешает ими воспользоваться, если на крупных серверах интересующий вас город в списке отсутствует. К сожалению, перечислить в статье все русскоязычные картографические сайты по отдельным городам не представляется возможным, поскольку их очень много. Как мы уже выше отмечали, оптимальный маршрут может формироваться с учетом разных факторов, например, наличия на трассе определенных автозаправок. Данный фактор учитывается при прокладке маршрутов на сайте компании "Лукойл-Интер-Кард ", которая обеспечивает функционирование и развитие "Ликард" - международной межрегиональной системы учета отпуска топлива, сопутствующих товаров и услуг по топливным картам "Лукойл". Здесь для формирования маршрута достаточно активировать раздел "Планирование маршрута", указать в соответствующих полях исходную и конечную точки, а также, при необходимости, промежуточные населенные пункты, и щелкнуть на кнопке "Показать".

Сформированный маршрут отображается на интерактивной карте России, а в описании маршрута будет присутствовать не только список всех поворотов вдоль маршрута движения и промежуточных населенных пунктов, но и АЗС, обслуживающих топливные карты "Лукойл". Полученную карту можно просмотреть в увеличенном масштабе и распечатать.

Таблица 2 . Популярные российские картографические ресурсы

Ресурс Регион (критерии поиска) Построение маршрута
«Мир карт » Мир, Россия, некоторые мировые регионы и курорты и 15 крупных российских городов. Поиск корректно работает только по Москве (улица, дом) -
eAtlas Европа, Россия, Египет, Кипр, Мальдивы, Таиланд, Турция и 74 российских города (улица или название объекта) +
(в пределах Европы и России)
«Карты.Яndex » Карты крупных городов России и Украины (адрес, улица, город или название объекта) +
(в пределах Москвы и Московской области)
«Rambler на карте » Мир, Россия, 10 крупных российских городов (улица, адрес, либо название станции метро) -

Андрей Костенко: Тема доклада — создание собственных маленьких Google- или Яндекс-карт с использованием своих хранилищ и технологий без применения каких-то API от Google- и Яндекс-карт.

Свой картографический сервис я делал на основе открытых исходников. Честно скажу: у меня нет денег, чтобы покупать Oracle, MS SQL Server или даже Windows. Поэтому я использую только открытые технологии. Стоимость созданного мной проекта равна нулю. Я ничего не потратил.

Первый и закономерный вопрос: «Зачем я все это затеял?». У нас уже есть всем известные Google- и Яндекс-карты, у которых огромные возможности.

Давайте посмотрим, что мы можем получить, используя интерфейс программирования приложений (API), который предоставляет Google или Яндекс. Мы можем поставить точку и сказать: «Мы здесь». Отлично! Очень информативно. Но этого не всегда и хватает.

Мы можем работать с некоторыми векторными данными. Например, нарисовать улыбающуюся рожицу. Это мы вполне можем сделать. Но этого недостаточно для создания картографического сервиса.

В Google есть полезная технология (не знаю, есть ли она в Яндексе) — это геокодинг. Это возможность по текстовому адресу (Красная Площадь, дом 1) найти географические координаты (широту и долготу), либо, наоборот, по широте и долготе найти адрес. Иногда это бывает полезным.

Давайте посмотрим, чего не может обеспечить API от Google и Яндекс-карт. Используя Яндекс, вы будете ограничены только планетой Земля. Google также предоставляет возможность увидеть на картах Луну и Марс. Но, к примеру, карту Средиземья там показать не получится.

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

Допустим, мне понадобилось разукрасить страны. Разукрасить с помощью векторной графики не вышло, иначе бы "умер" браузер, а в растре разукрасить не позволял API.

Я решил сделать свой картографический сервис. Почитал документацию и убедился, что все реально. Ничего сверхъестественного не нужно. Например, на карте может быть показано, в какие страны гражданам Японии не нужна виза.

Для хранения данных я решил использовать PostGIS, который является бесплатным расширением к PostgrеSQL. MySQL тоже поддерживает работу с геометрическими данными. Но основной недостаток этого — платность MySQL.

Для чего используется PostGIS? Он позволяет нам добавлять геометрические типы данных (то, что мы в школе на геометрии изучали, — точки, линии, многоугольники и так далее) и оперировать с ними.

Если быть точным, то он добавляет стандартные типы данных: точка, ломаная и многоугольник. Для нашей карты этого достаточно. К примеру, точка — это город, линия — река или еще что-то, многоугольник — страна.

Также существуют еще кривые и коллекции. Кривые позволяют рисовать не ломаные линии, а плавные, сплайны и так далее. Коллекции типов — это что-то вроде ряда, набора (набор точек, линий, многоугольников).

Кривые в PostGIS реализованы не лучшим образом, некоторые функции работать не будут. Лучше использовать либо хорошо "отточенные" многоугольники, либо потом делать преобразования в прямоугольный многоугольник (для этого в PostGIS есть специальная функция). С коллекциями то же самое. Если нужно найти максимальный икс для коллекции точек или многоугольников, PostGIS выдает неправильные данные.

Кажется, все просто — для стран многоугольники есть, линии и точки есть. Вот только Земля у нас круглая, даже чуть-чуть приплюснутая. А мониторы у нас плоские. Нам нужно данные с круглой Земли как-то показать на плоской карте.

Есть способы показать данные Земли на карте. Но каждый из этих способов что-то вам сломает: какой-то искажает длины, какой-то углы, какой-то все сразу.

Обычно для Google-карт и Яндекс-карт используется Меркаторова проекция. Она была изобретена в 15 или 16 веке Меркатором, который про компьютеры и телефоны знать просто не мог.

Данные преобразовываются из широты и долготы в проекцию Меркатора, в (х, у) по достаточно несложной и компактной формуле.

На самом деле, PostGIS тоже не так прост. Каждому типу данных (точка, многоугольник, линия и так далее) он присваивает ID проекции. Данные в координатах широты и долготы можно преобразовать в метры, используя Меркаторову проекцию. Потом я расскажу, как эти преобразования можно делать.

После выбора геометрического столбца в PostGIS появляется строчка с очень странными данными, понять которую неспециалисту будет очень сложно.

Специально для людей существует "Well-Known Text". Как и в школе на уроке геометрии, точка имеет координаты - x, y. Может быть и x, y, z.

Но "Well-Known Text" не дает нам понятия о том, в какой системе единиц заданы координаты. Мы не можем быть уверены, что в качестве единицы измерения используются метры.

Поэтому для того, чтобы присутствовали еще и единицы измерения, существует "Extended Well-Known Text", который используется в PostGIS. У него есть ID проекции. По ID проекции, по числу 4326 каждый образованный человек может сказать, что здесь находятся градусы. Теперь человек может все понять.

Как говорится, «что русскому хорошо, то немцу — смерть». Что для нас удобно (точка и красивые числа), то для компьютера — не очень удобно. Если для какой-то другой программы потребуется передать данные не в текстовом формате, а в бинарном, чтобы писать парсы, то надо будет воспользоваться EWKB. Он предназначен именно для передачи данных между бинарными приложениями.

Форматов вывода у PostGIS великое множество. Есть вывод в SVG, еще куча других типов вывода, о которых можно почитать в документации. Там иногда встречаются интересные вещи.

Перейдем к тому, что можно делать с точками, многоугольниками, всякими геометрическими объектами с помощью функций PostGIS.

ST_Contains. Самый простой вариант — проверить, находится ли точка в каком-то многоугольнике. Попробуйте мысленно представить, по какой формуле вы бы это вычисляли. Наверное, через 5 минут вам надоест. А PostGIS может определить, находится ли линия в каком-то многоугольнике, другой многоугольник внутри данного многоугольника. Это самое простое.

ST_Distance. Расстояние между двумя точками считается элементарно: корень из (∆х2+∆у2). Найти минимальное расстояние между двумя линиями или многоугольниками посложнее. PostGIS это тоже "умеет". Но если каждый многоугольник будет включать по 1000 точек, то иногда он будет работать медленно.

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

ST_Area — посчитать площадь. Вычисляются только площади многоугольников. Тоже очень удобно. Формула, которую я упоминал выше, позволяет преобразовывать один тип проекции в другой. Если у вас данные в широте и долготе, вы можете получить координаты в метрах для Меркаторовой проекции.

У меня в проекте (в базе данных) используются широта и долгота, с которыми очень удобно работать. Для вывода на карту используются Меркаторовы проекции, которые отображают все объекты в плоском виде. Я пытался все эти формулы писать сам.

ST_Simplify. Иногда у вас бывает очень хороший геометрический объект, в котором много точек, но его нужно показать на картинке 100*100. Это будет работать очень медленно — картинка маленькая. Функция ST_Simplify по какому-то умному алгоритму упрощает геометрию, "выбрасывая" те точки, без которых не сильно изменится геометрия.

Можно запросто уменьшить количество точек в 3 раза, ускорить работу в 10-20 раз, при этом совершенно не изменив отображение. Параметр "tolerancy" как раз регулирует количество "выбрасываемых" точек. Минимальная и максимальная координата для объекта задаются просто — можно очертить его квадратной рамкой и так далее.

Я вспомнил еще про пару функций. Например, ST_Balance. Точка — это нематериальная сущность, у нее нет ширины, высоты и так далее. Ее нужно как-то показывать. Обычно вызывается функция ST_Balance, которая чертит вокруг нее кружок с заданным радиусом. Так как круг с помощью многоугольника отобразить не получится, она делает полигон из n точек, который внешне напоминает круг.

Еще я рассказывал про функцию, которая преобразовывает кривые и сплайны в многоугольники. Она тоже есть, я про нее почему-то забыл. В базе у нас карта есть — отлично. Но пользователям на сайте EWKT не показывают, и не дай Бог EWKB показывать. Бинарный формат точно не стоит. Нужно как-то пользователям это показать - графически и желательно странам.

Я для этих целей использую MapServer. Есть еще другие технологии вроде Mapnik и так далее. Мне хватает технологий MapServer.

Что он может предложить нашему проекту?

  • Он может нарисовать по геометрическим объектам карту, разукрасить эту картинку. Многоугольники с одним типом залить одним цветом, многоугольники с другим типом — другим.
  • MapServer "умеет" из коробки нарезать эту картинку на "плитку" (англ. tile) так, как это делает сервис "Карты Google" (по той же формуле, в том же виде).
  • Для объектов можно применить стили. В MapServer чуть ли не собственный CSS придумали (собственные иконки и так далее).
  • MapServer может подписывать объекты. Кто пытался это сделать сам, наверное, меня поймет. Найти центроид, всунуть туда текст, выровнять его — не очень удобно. MapServer сам это делает, причем даже в нарезанных картинках.
  • Помимо объектов PostGIS, MapServer умеет работать еще с кучей разных типов объектов (за что он мне и понравился).
  • Многое другое, что я сам пока не изучил подробно.

Существуют MapFile и MapServer. Если сравнить с SQL, то, насколько вы знаете, есть SQL и есть его процедуры. Это приблизительно то же самое.

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

Если вам этого недостаточно (мне этого было достаточно), помимо этого файла есть еще MapScript. Он позволяет либо на С++, либо на Python написать скрипт для растеризации карты. Он позволит вам прочитать конфигурационный скрипт MapFile, что-то там поменять с помощью логики и отрендерить.

Почему я использовал Perl? Конечно, Excess-версия есть. Но при попытке забрать нужные данные мне в Perl возвращают "pointer" языка "Си" и пишут: «У нас до этого руки не дошли». То есть забрать полученные данные в Perl не получалось.

MapServer, конечно, хорошая штука. Но по умолчанию он стартует в CGI. Растеризация карт в CGI — это классно, но очень медленно. Поэтому первая вещь, которую стоит поднять на любой проект с MapServer, — это FastCGI. Как ни странно, он даже работает в FastCGI и с довольно неплохой скоростью.

То, о чем я вам рассказывал. ST_Simplify — пытайтесь упрощать объекты до того уровня, чтобы не было лишних точек и эти объекты как-то нормально отрисовывались. В моем случае мне еще помог кэш.

Я забыл рассказать еще про одну особенность PostGIS. Он позволяет создавать индексы для геометрических столбцов, которые без полного последовательного сканирования таблицы позволяют посмотреть, находится ли какая-то точка в таблице.

К примеру, MapServer выбирает с карты не полностью всю информацию, а только ту, которая находится в нашей видимой части. Если я приблизил что-то с 20-кратным увеличением, то он выберет только тот прямоугольник, который мне нужно отобразить. Всю карту он трогать не будет. Для этого нужно создавать гистовый индекс, который все ускоряет.

Если вы все-таки решите написать свой сервис, я поделюсь парой интересных библиотек, которые будут вам полезны. Изначально сервис писался в не самом презентабельном виде. Растеризовалась SVG, которую я честно взял из Википедии, делались патчи и сохранялись в файлы.

Все это изначально писалось на языках Perl и Catalyst. Как только я начал иметь дело с геометрическими данными, я понял, что в Catalyst я хорошо разбираюсь, но все-таки лучше использовать Python.

Помимо библиотеки Gios, которая позволяет реализовать на Python то, что я вам рассказывал про PostGIS, у Python есть очень интересное расширение geo django. Помимо расширения ORM, которое позволяет вам работать с функциями нативно, помимо интеграции с Gios, который позволяет на Python пользоваться геометрическими объектами (точка, линия и так далее), она еще расширяет возможности админпанели. В админке можно редактировать геометрические контуры из JavaScript, перетаскивая линии и точки. Это бывает очень удобно.

OJR — это библиотека, которая преобразовывает различные типы данных. У вас карта может быть в одном формате ("shapefile" либо формат MySQL), а нужен другой. OJR поможет преобразовать данные в формат PostGIS.

Я рассказал маленькую часть того, что я проделал, потому что самое сложное — это найти данные. Большая часть данных защищена авторским правом. Найди те данные, за которые платить не нужно, было очень сложно.

Open Street Maps я сначала скачал, потом пытался загнать это в PostGIS. Занимает это приложение 140 гигабайт. Там присутствует практически вся информация о Москве (не знаю, как насчет регионов). Днные для крупных городов сравнимы с Яндекс-картами, Google-картами, - с векторной их частью.

Мировые границы (англ. World boundaries) — это уменьшенная часть сервиса с точностью до крупных городов, границ стран и так далее. Она занимает всего 50 мегабайт. Можно скачать ее, и карта мира у вас уже будет. Open Street Maps — очень хороший хороший и точный сервис. К сожалению, аэрофотосъемки с открытым исходным кодом я не нашел. Наверное, у Ричарда Столлмана все-таки не хватило денег, чтобы облететь на вертолете весь мир и сфотографировать его.

Собственно, с данными вот так. Это работает - на мой сервис можно посмотреть, поиграть с масштабом карт.

Кстати, в качестве JavaScript-версии я все-таки использую JavaScript от Google. С него можно убрать стандартные слои и применить свой, если хорошо постараться.

У меня все. Вопросы?

Вопросы:

Вопрос: — Сломался ты, наверное, когда делал свои формулы на итерационных эллиптических интегралах. Или не дошел до них? Хорошо когда есть векторные карты, и их надо растеризовать. А есть еще обратная задача: у нас есть растеризованная карта. Среди туристов популярны сканированные. Естественно, это нелегально. Но этот вопрос мы оставляем в стороне. Есть огромное количество карт, в системе координат Пулково 42 со всей нашей необъятной Родины. Каждая карта представляет из себя какой-то картографированный кусок поверхности нашей страны, у которого есть все четыре границы. Есть ли какой-то разумный способ залить эту карту в MapServer или куда-то еще, привязав к ней границы, чтобы потом можно было на эту карту поставить какую-то точку и сказать: «Мы здесь»? Андрей Костенко: — В MapServer — без проблем. Помимо работы с PostGIS, у него есть возможности работы и с растеризованными картами. Это даже проще сделать. Совершенно без проблем. Логику с использованием PostGIS вы можете "навесить" сверху. У меня приблизительно так и делается. Когда человек "тыцает" по какому-то месту (я не знаю, куда он по картинке "тыцает"), я по географическим координатам вычисляю страну. Это совершенно несложно, если что — могу подсказать. Вопрос: — В данном случае вы использовали данные с Open Street Maps в формате OSM или Shape? Андрей Костенко: — В формате OSM — это огромный xml-файл,который... Да, OSM. Вопрос: — Каким образом там была реализована привязка к геокоординатам? Например, той же Москвы. Была ли она там? Или вы потом вручную это делали? Андрей Костенко: — Я неделю убивал свой сервер, пытался засунуть это в PostGIS. После чего засунул, посмотрел: «Нет, мне этого слишком много». Скачал "World boundaries" в формате shapefile, их мне пока хватает. Вопрос: — Не совсем было понятно, в каком ключе идет работа с сервером. MapServer формирует сразу готовую картинку и отдает клиенту, или набор tile’ов на лету формирует? Или же tile’ы уже сформированы и хранятся на сервере? Андрей Костенко: — Есть много вариантов работы. Один из вариантов — сгенерировать картинку в каком-то масштабе. Второй вариант — сгенерировать набор tile’ов напрямую из PostGIS. Третий вариант — набор tile’ов с кэшированием. Вопрос: — Что было использовано вами в данном случае? Андрей Костенко: — Набор tile’ов. Вопрос: — Почему в качестве клиента вы не захотели использовать, например, OpenLayers? Андрей Костенко: — Если честно, сначала они использовались, но они не показались мне хорошим решением. Потом мне Google Клиент понравился, потому что когда я прокручиваю колесико, карта ко мне «приезжает». Вопрос: — Хотелось бы узнать по поводу всех этих оптимизаций внутри PostGIS. Во-первых, как там насчет 180-го меридиана? Там получается двоичный случай: плюс/минус. Поддерживаются ли они? Второй момент. Когда нам нужно прочертить кратчайшее расстояние — понятное дело, что это уже будет на нашей карте не прямая, а некоторая дуга. Как с этим обстоят дела? Андрей Костенко: — Насчет второго вопроса не очень уверен. Думаю, вам стоит посмотреть это. Насчет этого меридиана — в PostGIS в версии 1.4 или 1.5 появился новый тип данных, называется Geography. Он как раз решает эту проблему с переходом. У меня ее не возникло, поэтому все в Geometry используется. Вопрос: — Почему презентация не будет опубликована? Андрей Костенко: — Я попытаюсь это сделать. Просто когда я пытаюсь сохранить из Google Docs эту презентацию, появляется «java lang number point exception» — серверная ошибка Google. Я ее не могу ни скачать, ни распечатать — ничего. Она есть только в таком экземпляре - и все. Могу дать доступ.