Этот вопрос был преобразован в вики сообщества, а вики заблокированы, потому что это пример вопроса, который ищет список ответов и кажется достаточно популярным, чтобы защитить его от закрытия. Его следует рассматривать как особый случай, и его не следует рассматривать как тип вопроса, который поощряется на этом или любом сайте Stack Exchange, но если вы хотите внести в него больше контента, сделайте это, отредактировав этот ответ. ,
Вы можете выбирать между решениями с компонентом картографического сервера или без него. Конечно, серверные решения поддерживают больше данных и более сложные приложения.
Если вы знаете, что QGIS хочет создавать одноразовые визуализации данных, я бы порекомендовал QGIS2Leaf или Export to OpenLayers 3, которые являются плагинами для QGIS, которые позволяют экспортировать слои в веб-карту. Обновление (на основе комментария Тома Чедвина): qgis2leaf и qgis-ol3 теперь объединены в qgis2web .
Средний путь вариант QGIS Облако , опция прошла QGIS сервера: Вы просто подготовить проект на местном уровне , а затем опубликовать его в Интернете , где вы найдете его в готовом зрителя. У них есть бесплатные аккаунты до определенного размера данных. Так что вам не нужен ваш собственный сервер, если это проблема для вас.
Если вы хотите запустить свой собственный сервер с открытым исходным кодом , вы можете начать с этого Введение в Geoserver с прошлогодней FOSS4G: http://workshops.opengeo.org/geoserver-intro/ . Обычно используются такие инструменты, как Geoserver, PostGIS и OpenLayers. Затраты на запуск - это ваше рабочее время плюс хостинг.
Трудно оценить время развертывания, не зная ваших вариантов использования.
GeoGATE
ссылку , GeoGATE великолепен с PostGIS & Geoserver и включает в себя сотни готовых инструментов, которые вы можете настроить с помощью удобной панели управления своими даннымиВ Penn State есть класс Open Web Mapping . Этого должно быть достаточно, чтобы научить вас, как работает веб-картографирование, а также задействованным технологиям. Большинство, если не все, инструменты, используемые в классе, бесплатны, так что стоимость не должна быть проблемой. Вот оглавление:
Веселиться :)
источник
Google Fusion Tables выглядит многообещающе с картографическими и пространственными запросами
плюсы: легко настроить
минусы: все ваши данные находятся на серверах Google (хорошо? или плохо?)
http://sites.google.com/site/fusiontablestalks/stories
Примечание: многие медиа / новостные компании используют его - пример британской газеты Guardian http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map
Теперь есть удобный Fusion Wizard, который поможет вам быстрее настроить http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html
Примеры: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlstory
Один из лучших: http://tinyurl.com/England-Deprivation-Mapped
источник
Есть так много вариантов, и уже есть много хороших ответов. Два из моих любимых вариантов, которые еще не были перечислены здесь, это CartoDB и MapBox . Оба они предоставляют веб-хостинг и визуализацию данных, а также некоторые очень интересные инструменты, цены на которые начинаются БЕСПЛАТНО.
Вы получите выгоду от настольного программного обеспечения, чтобы получить ваши данные настройки. ArcMap и Quantum GIS - отличный выбор для настольной части.
Я бы сказал, что сила MapBox в том, чтобы создавать красивые веб-карты с действительно хорошими, простыми в использовании шаблонами и готовыми элементами пользовательского интерфейса . MapBox требует настольной программы под названием TileMill (также бесплатной), которая использует интерфейс стилей, очень похожий на CSS.
Сила CartoDB заключается в том, что он предоставляет свои корни PostGIS через SQL API.
Оба из них могут быть использованы сами по себе или в сочетании с другими библиотеками отображения JavaScript (например, Leaflet , Google Maps , OpenLayers ).
Независимо от того, с каких платформ вы решите начать использовать веб-картографию, вы наверняка выиграете от изучения некоторого javascript. Codecademy - отличное место для начала (также БЕСПЛАТНО !!).
источник
Я также только что посетил конференцию, где они представили OpenGeo Suite , который представляет собой стек OpenLayers, GeoServer, GeoExt & PostGIS. Они предлагают как «Enterprise Edition» (оплачивается за версию с поддержкой), так и « Community Edition » (бесплатно). (Обновление) OpenGeo Suite теперь является Boundless Suite.
Другим пакетом, который был продемонстрирован на конференции, был GeoMoose , который представляет собой стек MapServer и OpenLayers.
Возможно, вы захотите загрузить OSGEO Live DVD , который можно запустить в среде виртуальной машины, если вы не хотите устанавливать кучу вещей на свою машину во время тестирования. Он поставляется с набором различных программных пакетов ГИС с открытым исходным кодом, включая инструменты веб-картографирования.
источник
редактировать
Из-за популярности этого вопроса и ответа я добавляю редактирование некоторого контента в этом посте из-за изменений с поставщиками и API-интерфейсами за последние несколько месяцев.
Выбор API связан с масштабом и целью вашего проекта, не говоря уже о вашем бюджете, если вы действительно хотите использовать какую-то конкретную функциональность. Другим важным предупреждением является ваш опыт веб-разработки, и на каком языке вы предпочитаете или интересуетесь.
Я думаю, что лучший способ ответить на ваш вопрос - предоставить список доступных API. Вот три, которые приходят на ум. Это далеко не все!
ArcGIS
API-интерфейсы:
Плюсы:
Минусы:
Резюме:
ArcGIS может многое предложить для веб-ГИС-продуктов и имеет много ресурсов, которые помогут вам в этом. Просто знайте о потенциальных затратах, которые вы столкнетесь, когда хотите опубликовать свои собственные данные.
Google
API-интерфейсы:
Плюсы:
Минусы:
Резюме:
У Google сильное имя на рынке и довольно надежные онлайн-сервисы. Просто убедитесь, что понимаете все тонкости их использования, чтобы не наступать ни на какие юридические проблемы. Новая страница «Цены и планы» весьма полезна в этом отношении.
Открытый исходный код
API (все на основе JavaScript):
Плюсы:
Минусы:
Резюме:
Открытый исходный код действительно отличный вариант для тех, кто хочет испытать воды веб-ГИС. Благодаря ежедневным изменениям и улучшениям в сообществе открытый код может стать недорогим способом удовлетворения ваших геопространственных потребностей.
Как я уже сказал, это не все варианты, которые у вас есть, но, по крайней мере, сейчас есть пост со ссылками для вас и других, чтобы познакомиться с некоторыми из основных игроков в мире веб-ГИС.
источник
Похоже, вы получили ответы с открытым исходным кодом в вопросе выше. Если у вашей компании есть бюджет, ESRI может быть очень хорошим вариантом. Чтобы уточнить, API веб-картографии сами по себе бесплатны, однако серверная часть ArcGIS Server и SDE будут стоить вам денег. Кроме того, для создания картографических сервисов, которые будут использоваться в приложении веб-картографии, потребуется программное обеспечение для настольных компьютеров. Если у вас уже есть доступ к этим ресурсам или вы можете их приобрести, я бы настоятельно рекомендовал изучить решения ESRI.
Одним из преимуществ здесь является то, что вы можете кодировать на разных языках. Существуют специальные API-интерфейсы ESRI для Flex и Silverlight:
Flex: http://help.arcgis.com/en/webapi/flex/index.html Silverlight: http://help.arcgis.com/en/webapi/silverlight/index.html
В настоящее время создается впечатление, что в веб-программировании наблюдается тенденция отхода от решений, требующих плагинов и ориентированных на конкретного поставщика (см. Выше), на более открытые и стандартизированные платформы. ESRI покрывает это API Javascript:
Javascript: http://help.arcgis.com/en/webapi/javascript/arcgis/
Если вы посмотрите на эти сайты API, документация очень хорошая. Кроме того, форумы доступны для помощи сообщества по конкретным проблемам. Техническая поддержка через ESRI тоже очень хорошая. Таким образом, все сводится к цене и ресурсам, если у вас уже есть эти приложения или у вас есть бюджет, это отличный путь, если нет, то стоит рассмотреть вышеупомянутые решения с открытым исходным кодом.
источник
Если вы хотите просто прототипировать что-то для исследования жизнеспособности, чтобы показать вашему боссу, что я и должен был сделать год назад, то для бэкэнда я бы порекомендовал Geoserver из-за его удобного веб-интерфейса, поддерживаемого некоторыми простые шейп-файлы. Для внешнего интерфейса OpenLayers - фантастический выбор с большим количеством образцов на веб-сайте. Я ни в коем случае не веб-программист, но я нашел, что копирование / вставка / настройка образцов javascript очень проста. Я поместил все это в виртуальную машину VirtualBox, чтобы хранить все это в одном месте и не нарушать мою обычную среду разработки, используя пакеты из репозитория UbuntuGIS.
Для производства есть целый ряд вещей, которые зависят от вашего варианта использования. Что касается меня, я в конечном итоге выбрал Mapserver, потому что он не такой раздутый, как Geoserver, и работает как процесс fast-cgi на веб-сервере lighttpd. Нам был нужен WFS-T (который Geoserver поддерживает из коробки), но Mapserver нет, поэтому мы использовали крошечные. Мы также обслуживаем покрытия (WCS), которые поддерживает Mapserver, и мы рассматриваем возможность интеграции Rasdaman для поддержки WCS-T. Все это поддерживается базой данных PostGIS.
Я бы порекомендовал разбить ваше приложение на основные, средние и внешние интерфейсы, а также ознакомиться с преимуществами и недостатками каждого компонента программного обеспечения. Может быть только несколько решений для каждого слоя, но это увеличивается комбинаторно.
Я считаю, что ESRI делает продукты, способные на все это, но это будет стоить. Если ваше время неоправданно дорого, то коммерческий маршрут может быть тем же путем, но маршрут с открытым исходным кодом движется в некоторых очень интересных направлениях, и я подозреваю, что в конечном итоге он превзойдет все, что может предложить ESRI. Но тогда я предвзятый фанат FOSS :)
источник
Вы можете посмотреть на MangoMap www.mangomap.com .
Вы должны иметь возможность создать нужную карту с помощью доступных инструментов.
Он размещен и бесплатен, поэтому для его развертывания требуется очень мало времени и усилий.
источник
Для функций, которые вы предлагаете, я бы посмотрел на самый простой и простой в установке стек, который соответствует вашим потребностям. Программное обеспечение говорит: «Вы можете иметь быстрый, мощный или дешевый. Выберите два». безусловно, применяется здесь.
Если вы планируете только выполнять простые запросы, такие как определение функций, тогда возможности PostGIS, вероятно, излишни. Гораздо проще просто загрузить шейп-файлы как хранилище данных непосредственно в GeoServer.
Опять же, OpenLayers великолепен и имеет множество функциональных возможностей, таких как поддержка систем координат, отличных от WGS84 и Web Mercator, но если вы не собираетесь использовать эту функциональность, то я бы посмотрел на Leaflet , по моему опыту, его гораздо меньше крутая кривая обучения для новых пользователей.
Кроме того, если у вас нет требования, согласно которому вам нужно разместить приложение на своем собственном сервере, вы можете взглянуть на некоторые из размещенных вариантов, поскольку вы получите гораздо больше отдачи от времени инвестирования. Используя MangoMap или GeoCommons, вы, скорее всего, получите превосходную карту для своих пользователей без необходимости написания одной строки кода.
Если это проект, в котором вы хотите написать некоторый код, вы также можете взглянуть на CartoDB и MapBox . Если вы хотите узнать больше обо всех этих хостинговых платформах, я написал бесплатную электронную книгу на эту тему, которая содержит все подробности, необходимые для ее выбора.
Раскрытие информации : я основатель MangoMap
источник
Есть много мест, где можно начать разработку веб-карты.
Если у вас есть опыт работы веб-разработчиком, вам следует начать с изучения различных доступных вам сервисов, которые позволяют публиковать карту в Интернете. На этом сайте вы найдете ответы на другие вопросы , которые дадут вам ценную информацию о различиях между доступными платформами.
Если вы начинаете с нуля и не хотите переходить на конкретную платформу, обратитесь к своим бизнес-требованиям. Как вы собираетесь рисовать свои данные на карте? Как будут обновляться данные? Кто будет использовать этот сайт? Что они будут делать с этим? Принятие этих решений на ранней стадии поможет вам собрать кусочки или сделать выбор, который будет способствовать расширению к цели.
Что касается стоимости ... Я предпочитаю позаимствовать современную пословицу: «Хорошо, быстро, дешево. Выберите два». Он формально определен как треугольник управления проектами , который описывает баланс между затратами, расписанием и областью, чтобы обеспечить качество.
источник
Я тоже недавно начал путешествие по веб-картографии после многих лет работы над базами данных.
Что действительно помогло мне, так это изучение основных принципов программирования, использование MapBasic для MapInfo (или я предполагаю, что Python для толпы esri) действительно помогло мне понять, как «думают» компьютеры.
Оттуда CodeAcademy была находкой. Это действительно забавный и интуитивно понятный способ изучения программирования. Это может привести вас от примеров "Hello World" вплоть до полнофункциональных и интерактивных программ. Кривая обучения является постепенной и понимает, что некоторые люди одарены этим, а другие (как я) - нет.
Второй совет - установить GeoServer и посмотреть демонстрационные запросы, чтобы увидеть, как структурированы веб-сервисы и как они работают. Посмотрите на превью слоев, чтобы увидеть, как Javascript и HTML работают вместе. Вы можете буквально скопировать этот код предварительного просмотра слоя (просмотреть исходный код страницы), сохранить его где-нибудь и начать мастерить.
Школы W3 - есть интерактивные примеры, с которыми вы можете поиграть и адаптироваться к своему молодому коду. Если вы решите на JavaScript, JS Fiddle тоже очень хорошо.
источник
Если вы программист на Java, взгляните на Geomajas .
Существует архетип Maven, который позволяет начать работу за считанные минуты ( см. Здесь ). Затем вы можете добавить дополнительные слои и т. Д.
источник
Вы можете использовать OpenLayers на стороне клиента. Он стабильный, простой и имел множество примеров того, как использовать WFS (в вашем случае для подключения к PostgreSQL) и т. Д. Geoserver, OSM использует его для целей рендеринга.
Вы также можете взглянуть на GeoExt, который предоставляет виджет extJS для построения карт. Снова Geoext использует OpenLayers для рендеринга карты.
Существуют также основанные на PHP фреймворки, использующие MapServer (OpenLayers уже поддерживает), такие как GeoMoose , CartoWeb и т. Д.
Я голосую за OpenLayers, поскольку вы можете выбрать весь дизайн веб-страницы в отличие от php-фреймворка, работающего на привязках MapScript, которые имеют шаблон по умолчанию, и я обнаружил, что управлять такой большой базой кода нелегко.
источник
Для любой веб-разработки, включая веб-картографию, необходимы три навыка: html, css и javascript. Ресурсы для изучения этих языков достаточно. Вопрос о том, с чего начать изучение того, как разрабатывать веб-картографические приложения, довольно хорошо освещен в вопросе обмена стеками ГИС. Как начать веб-картографирование?
Mapbox - это один из ресурсов для разработки веб-картографических приложений, если у вас ограниченный опыт программирования . Вы можете создавать веб-карты без какого-либо кодирования, хотя я думаю, что было бы сложно создать веб-карту, столь же сложную и интерактивную, как та, которую вы используете в своем примере, без использования языка сценариев, такого как javascript или python.
источник
Я использую leafletjs, и я думаю, что это очень просто. Он основан на JavaScript и может рисовать объекты с использованием различных источников данных. По сути, вы вставляете код карты в файл .html, а затем просматриваете файл. Я не могу комментировать другие API, но я думаю, что Google довольно прост, как и Openlayers.
Кроме того, существуют такие сервисы, как MapBox, которые не требуют, чтобы вы размещали html-файл, а просто загружали в них свои данные.
источник
Я думаю, что самый простой способ пойти с плагином qgis + qgis2leaflet. Вы можете редактировать все, что вы хотите в QGIS, чем экспортировать в листовку и загрузить на свой веб-сервер. Или если вы выберете более интересный способ, чем:
Вместо geoexplorer я бы использовал буклет javascript, потому что он выглядит лучше и работает более плавно ... но потребуется некоторое время, чтобы скопировать / вставить некоторый код. вот пример: http://gis.xyz
источник
Важно отметить, что Web-Gis - это обширная область, и уже было проделано много работы над несколькими проектами и библиотеками, чтобы помочь в этом деле. Поэтому нам нужно посмотреть, есть ли что-то, что вы можете использовать повторно, вместо того, чтобы начинать с нуля.
Плохая новость заключается в том, что в php нет популярной библиотеки / приложения для веб-картографии. Хорошей новостью является то, что вам может не понадобиться.
Я бы рекомендовал вам сначала попытаться понять WebMapping и понять проекты и библиотеки, которые уже присутствуют. Для этого вы можете обратиться к этим вопросам:
Как только вы поймете доступные варианты, вам следует уточнить ваши требования. Глядя на ваш вопрос, у вас есть очень основные требования: показать Участки на карте Разрешить для запросов, Получить атрибуты для Участков и показать их пользователю, либо в результате запроса, либо когда пользователь нажимает на него.
Такая работа возможна при использовании Карт Google, но я бы не рекомендовал это делать, так как API Карт Google является трудной задачей при наличии большого количества данных.
Вместо этого я бы предложил вам использовать решение Geoserver / OpenLayers при условии, что вы можете работать с JavaScript. Возможно, вам даже не понадобится какой-либо php-код, если все ваши данные находятся в атрибутах функций.
источник
Хорошей легкой альтернативой OpenLayers, которая является большой популярной библиотекой javascript для веб-картографирования, является Leaflet .
Я использую Leaflet с GeoServer, чтобы сделать несколько хороших карт, включая интерактивность. Это требует специального кодирования, но не так много, и его гораздо проще использовать, чем OpenLayers.
источник
Прежде чем сделать выбор между Leaflet и OpenLayers, возможно, стоит взглянуть на следующую версию, которая обещает очищенный API и лучшую документацию:
http://openlayers.org/
источник
Я бы начал с Google Maps API . Это бесплатно и легко работать. Он использует Javascript, который можно узнать с помощью ряда полезных ресурсов. Я бы порекомендовал Codecademy, если вы новичок в JS.
Существует множество бесплатных источников данных, которые могут быть включены в Google Maps несколькими способами (KML, база данных, GeoRSS и т. Д.). В большинстве штатов и во многих университетах есть бесплатные хранилища данных, которые можно включить в вашу карту.
Один из моих любимых сайтов для примеров Google Maps - Google Maps Mania . Есть отличные примеры карт, которые демонстрируют, что возможно в этом API.
источник
GeoPHP может стоить посмотреть.
И вы можете взять его на ступеньку выше с расширением GEOS (при условии, что у вас есть права администратора для установки GEOS).
источник
Что ж, пользовательский скрипт PHP может быть более надежным (и простым) решением. В конце концов, пространственные данные - это просто строки в базе данных, и они могут быть запрошены как обычно. Нет необходимости в тяжелом серверном ГИС-программном обеспечении и / или ужасном синтаксисе фильтра OGC. Если бы я был на вашем месте, я бы сохранял данные в базе данных PostgreSQL с расширением PostGIS, писал бы PHP-конец для запросов к базе данных и извлекал данные в формате GeoJSON (см. Эту суть ), и интерфейсное веб-приложение на основе OpenLayers - он более гибкий, чем Google Maps API, но вы все равно можете использовать базовые карты Google, если хотите.
источник
Для получения справки о том, какие варианты выбрать, Альтернативы ArcGIS Online, вопрос и Какие книги, журналы, электронные ресурсы наиболее ценны для расширения знаний о географической информации? вопрос для учебных ресурсов.
Затраты на веб-картографию включают хостинг (оплата за веб-сайт) и пространство на сервере (если вы используете картографические сервисы, посмотрите цены MapBox и CartoDB в месяц). В конечном счете, знание веб-разработки будет очень важно для создания вашей карты.
источник
Ну, есть пара библиотек сопоставления, которые вы можете использовать.
Первым (и, вероятно, наиболее известным) будет API Карт Google , однако я думаю, что это может быть довольно сложно, если вы относительно новичок в веб-картографии.
Я бы посоветовал взглянуть на Leaflet.js или Mapbox.js . Mapbox.js был создан с учетом Leaflet, и в Mapbox есть несколько отличных руководств по различным задачам, которые вы можете выполнить с помощью Mapbox.js. Листовка также имеет несколько примеров и ресурсов .
Вот конкретные ссылки на примеры, которые должны помочь вам в правильном направлении.
источник
Если вам требуется карта, в которой вы щелкаете страну и всплывающее изображение, вы можете взглянуть на пример Mapbox для ссылки на внешние данные.
Вы можете узнать, как код взаимодействует в JSFiddle для проекта
Если вам требуется дополнительная документация по Mapbox, вы можете прочитать их Руководства по Mapbox или немного углубиться в код, используя раздел Примеры.
источник
Я - новый вебмаппер, и меня отослали к Скотту Мюррею « Визуализация данных для Интернета» . Его электронную книгу можно прочитать здесь: http://chimera.labs.oreilly.com/books/1230000000345/ бесплатно. Это для «не кодеров», чрезвычайно информативно, и имеет много практических примеров.
источник
Вы можете использовать UMN Map Server. Там вы можете использовать PHP-скрипты (это называется скриптами карты). Это основано на сервере Apache. Если вам нужна база данных, вы можете использовать либо MySQL с пространственными расширениями, либо PostgreSQL с postGIS ...
источник