Бесплатный картографический сервис для частных веб-приложений

12

Фон

Требуется отобразить карту (только для внутреннего использования) на веб-странице. Приложение должно иметь возможность добавлять пользовательские слои (без отправки данных на хост картографического сервиса):

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

Поскольку это частное предприятие, оно устраняет многие картографические сервисы, в том числе: Google Maps, Bing, Yahoo! Карты, MapQuest и другие платные сервисы.

Обновление № 1

Возможно, MapQuest - это возможность .

Обновление № 2

Требования, которые я забыл упомянуть:

  1. Есть дополнительные данные (города, поселки, деревни), не входящие в OpenStreetMap. Эти города должны быть включены без предоставления данных поставщику карты.
  2. Существуют различные слои (например, местоположения сотрудников), которые также должны отображаться, не сообщая поставщику карты, где найти данные (т. Е. Данные будут находиться за брандмауэром).

Текущее развитие

В настоящее время мне не удалось найти сервер, отвечающий моим требованиям, поэтому я следовал инструкциям на разных веб-сайтах для установки веб-сервера Mapnik:

На данный момент, у меня есть различные части данных:

  • Данные о городе и муниципалитете (файлы форм загружаются в PostGIS)
  • Данные естественной Земли (файлы форм; не загружены)
  • Таблицы стилей Mapnik (различные файлы; не загружены)

GeoServer

Я попытался установить GeoServer (до Mapnik), но обнаружил, что документации не хватает, веб-инструмент администрирования неудобен в настройке, а скорость отклика на машине с частотой 2 ГГц слишком медленная (10 секунд для рендеринга тайла с один слой: дороги), и по умолчанию эстетический мягкий. (Я знаю, что могу использовать таблицы стилей для оживления презентации, но это означает, что нужно найти [или создать !] Подходящие файлы, установить их, протестировать их и т. Д.)

Требования

Технические требования включают в себя:

  • Города, дороги, водоемы (озера, реки, океаны)
  • Политические границы (провинции, страны)
  • Высокое качество (визуально похоже на Google Maps, MapQuest и т. Д.)
  • Высокая продолжительность работы
  • Проекция 900913 (аналог Google Maps)
  • Отзывчивые плитки (менее 0,1 секунды на плитку)
  • Отличный охват уличных данных для Канады
  • Полезно для скользкой карты (совместимо с OpenLayers)
  • 10 000 запросов на плитку в день
  • Бесплатно для коммерческого (или частного) использования или менее 2000 долларов в год?

Хороший пример

Вот отличный пример (OpenLayers) того, чего я хочу достичь:

Плохие примеры

Пример того, чего я не стремлюсь достичь:

Пример неполных данных:

Ссылки по теме

Вопрос

Какие серверы WMS, WMTS или WFS предлагают необходимую функциональность?

Дейв Джарвис
источник

Ответы:

11

Я не уверен, почему вы исключаете такие службы, как Google Карты, тем более что ваш ожидаемый трафик не такой высокий (Google начинает взимать плату после 25 000 просмотров карт (количество просмотров ваших карт будет намного ниже 10 000): https://developers.google. com / maps / faq # using_pricing ). В основном вам нужны две вещи:

  1. Кто-то, чтобы предоставить вам скользкую веб-карту. Это могут быть Google Maps, Bing, MapQuest, Cloudmade и т. Д. Или вы можете запустить свой собственный сервер плиток и использовать данные OpenStreetMap.
  2. Рендеринг собственных векторных данных на стороне клиента (с использованием JavaScript) поверх веб-карты. Есть несколько библиотек с открытым исходным кодом, которые могут сделать это (OpenLayers, Leaflet, Polymaps ...).

Некоторые указатели для дальнейшего расследования:

Игорь Брейц
источник
8
Условия использования Google Maps запрещают показ карт на частных серверах (т. Е. Сервер должен быть открыт для широкой публики). developers.google.com/maps/terms ... "Ваша реализация API Карт не должна работать только во внутренней сети". Так что это исключает.
Дейв Джарвис
ОК, это имеет смысл. В этом случае OSM - это путь.
Игорь Брейц
3

Openlayers с OpenStreetmap, кажется, ваш лучший бесплатный вариант, тогда вы бы добавили свои слои с помощью WMS (например, Mapserver или Geoserver). Вы также можете использовать Google Maps с лицензией.

У меня большой опыт в этой области, так как я разработал несколько сайтов, некоторые с нуля с использованием пользовательских плиток.

Я не работал с геосервером, но с Mapserver. Вы не можете ожидать, что сервер будет представлять миллионы деталей функций в режиме реального времени. Я бы сказал, что их производительность всегда должна повышаться за счет упрощения данных до уровня детализации (в соответствии с масштабом или масштабированием) и, возможно, записи базовых данных на листы.

Сейчас я работаю над Mobnetics Map

При этом используются Openlayers, плитки OSM, postgreSQL и Java. Красота заключается в том, что он адаптируется к любым данным ГИС (с помощью метаданных), а затем позволяет пользователям запрашивать данные. Он находится в постоянном развитии и в настоящее время имеет только дополнительные данные по Португалии (в качестве контрольного примера).

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

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

с уважением,

Хоаким Мухаксо

Muchaxo
источник
Возможно, это будет немного, но знаете ли вы, куда идти, чтобы узнать больше о его настройке?
QGISUser
1

Я думаю, что слово open source используется довольно свободно в этой теме;)

Еще два варианта:

pgager
источник
1
Ни один из этих вариантов, так как вопрос был о бесплатных частных услугах
Райан Гарнетт
1

Конечно, вы можете использовать платную ГИС. Я работаю в совете, и мы используем Exponare. Exponare прост и отлично работает, но это будет стоить вам.

ArcMap является самым модным, и это программное обеспечение Dekho делает то, что вы хотите.

Если вы хотите развернуть свой собственный, проверьте http://opengeo.org/ полный стек в поддерживаемой модели.

Мое понимание того, как делать это самостоятельно, заключается в следующем:

  1. Получите ваши данные в пространственной базе данных, т.е. PostGIS
  2. Выберите свой сервер листов / векторов (PostGIS, GeoServer) для публикации WFS / WMS
  3. Выберите свой веб-интерфейс (GeoEXT, openlayers)

Вы можете установить большую часть этого в Windows с https://trac.osgeo.org/osgeo4w/ (пакет управляется и все). Я уверен, что в Ubuntu есть пакеты, если не официальные, то в PPA.

Алекс Лейт
источник
1

Полностью бесплатные опции требуют интеграции нескольких программ, а openstreetmap содержит ссылки на программы, использующие бесплатные данные. Я бы порекомендовал использовать Mapbox API и инструменты в качестве Mapbox studio, он бесплатен для низкого использования и отлично масштабируется, с Native mobile, реагирует на нативность, также возможен Offline, можно использовать его с Apis, таким как Openlayers и буклет. Сетки взаимодействующего слоя и стиль векторных листов являются уникальными и мощными функциями Mapbox, однако он не ориентирован на WFS или WMS, в этом случае используйте также Postgresql и Openlayers. Postgres имеет встроенные функции Gml, поэтому для использования WFS нужно просто добавить несколько заголовков к запросам, однако для полной реализации Ogc используйте geoserver или Mapserver.

Muchaxo
источник