Как начать веб-картографию?

83

Я хочу начать работу над веб-картой на работе, чтобы отобразить некоторые из наших статистических данных по городам.

У меня есть идея, но я не совсем уверен, с чего начать.

Существуют ли какие-либо конкретные ресурсы, которые предоставляют пошаговое руководство о том, как это сделать?

Брайан Л
источник

Ответы:

94

Этот вопрос был преобразован в вики сообщества, а вики заблокированы, потому что это пример вопроса, который ищет список ответов и кажется достаточно популярным, чтобы защитить его от закрытия. Его следует рассматривать как особый случай, и его не следует рассматривать как тип вопроса, который поощряется на этом или любом сайте 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. Затраты на запуск - это ваше рабочее время плюс хостинг.

Трудно оценить время развертывания, не зная ваших вариантов использования.

землей
источник
7
qgis2leaf и Export to OpenLayers 3 теперь объединены в qgis2web.
Том Чедвин
Хороший вопрос о qgis2web. Я являюсь автором видеокурса, который учит ГИС с нуля и тому, как создавать веб-карты с помощью qgis2web: udemy.com/gis-for-everyone/?couponCode=stackgis1
multigoodverse
Зачем идти через ГИС? Он мог перейти непосредственно из базы данных в Leaflet.
Фьелрев
@Fjellrev Как? Запрос извлекать как GeoJSON? Я бы сказал, что это сложнее, чем использовать ГИС.
Том
Вы можете изучить GeoGATE ссылку , GeoGATE великолепен с PostGIS & Geoserver и включает в себя сотни готовых инструментов, которые вы можете настроить с помощью удобной панели управления своими данными
Хани Драиди
41

В Penn State есть класс Open Web Mapping . Этого должно быть достаточно, чтобы научить вас, как работает веб-картографирование, а также задействованным технологиям. Большинство, если не все, инструменты, используемые в классе, бесплатны, так что стоимость не должна быть проблемой. Вот оглавление:

Урок 0: Ориентация

Урок 1. Введение в Open Web Mapping

Урок 2. Серверы веб-карт (WMS)

Урок 3. Серверы веб-функций (WFS)

Урок 4. Расширяемый язык разметки (XML)

Урок 5. Расширенные серверы веб-карт

Урок 6: Язык географической разметки (GML)

Урок 7: WFS вновь

Урок 8. Создание веб-картографического приложения

Урок 9. Создание тонкого настраиваемого клиента веб-картографирования

Веселиться :)

РК
источник
40

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

Mapperz
источник
1
Является ли Google Mymaps реализацией Google Fusion Tables? Кажется, что это похоже, MyMaps на основе браузера, но Fusion Tables на основе сервера.
sabre23t
40

Есть так много вариантов, и уже есть много хороших ответов. Два из моих любимых вариантов, которые еще не были перечислены здесь, это CartoDB и MapBox . Оба они предоставляют веб-хостинг и визуализацию данных, а также некоторые очень интересные инструменты, цены на которые начинаются БЕСПЛАТНО.

Вы получите выгоду от настольного программного обеспечения, чтобы получить ваши данные настройки. ArcMap и Quantum GIS - отличный выбор для настольной части.

Я бы сказал, что сила MapBox в том, чтобы создавать красивые веб-карты с действительно хорошими, простыми в использовании шаблонами и готовыми элементами пользовательского интерфейса . MapBox требует настольной программы под названием TileMill (также бесплатной), которая использует интерфейс стилей, очень похожий на CSS.

Сила CartoDB заключается в том, что он предоставляет свои корни PostGIS через SQL API.

Оба из них могут быть использованы сами по себе или в сочетании с другими библиотеками отображения JavaScript (например, Leaflet , Google Maps , OpenLayers ).

Независимо от того, с каких платформ вы решите начать использовать веб-картографию, вы наверняка выиграете от изучения некоторого javascript. Codecademy - отличное место для начала (также БЕСПЛАТНО !!).

Павел
источник
2
Ключом к пониманию MapBox и CartoDB является ценообразование (просмотры карт, объем данных) и объем отображаемых данных. CartoDB упрощает управление большими наборами данных, в то время как я бы предложил MapBox для небольших проектов. Leaflet - самая легкая и простая в освоении библиотека отображения JavaScript.
Зак
37

Я также только что посетил конференцию, где они представили OpenGeo Suite , который представляет собой стек OpenLayers, GeoServer, GeoExt & PostGIS. Они предлагают как «Enterprise Edition» (оплачивается за версию с поддержкой), так и « Community Edition » (бесплатно). (Обновление) OpenGeo Suite теперь является Boundless Suite.

Другим пакетом, который был продемонстрирован на конференции, был GeoMoose , который представляет собой стек MapServer и OpenLayers.

Возможно, вы захотите загрузить OSGEO Live DVD , который можно запустить в среде виртуальной машины, если вы не хотите устанавливать кучу вещей на свою машину во время тестирования. Он поставляется с набором различных программных пакетов ГИС с открытым исходным кодом, включая инструменты веб-картографирования.

RyanDalton
источник
29

редактировать

Из-за популярности этого вопроса и ответа я добавляю редактирование некоторого контента в этом посте из-за изменений с поставщиками и API-интерфейсами за последние несколько месяцев.


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

Я думаю, что лучший способ ответить на ваш вопрос - предоставить список доступных API. Вот три, которые приходят на ум. Это далеко не все!

ArcGIS

API-интерфейсы:

Плюсы:

  • Web AppBuilder сделал создание веб - картографические приложения очень простой для тех , кто не очень хорошо разбирается в веб - разработке
  • Простые в использовании компоновщики приложений ( Flex , Silverlight и JavaScript , просто помните о планах устаревания)
  • Обширные онлайн-форумы ( множество сообщений об обмене стека )
  • Имея множество решений, доступных в стеке ArcGIS, которые практически не требуют разработки, ArcGIS также может быть хорошим выбором для своевременного развертывания решений.
  • GitHub репозитории для многих решений

Минусы:

  • Цена (не для использования API, но более того, если вы хотите опубликовать свои собственные данные, также смотрите ArcGIS Online )
  • Настройка кода приложения может быть громоздкой

Резюме:

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

Google

API-интерфейсы:

  • JavaScript
  • Мобильный (Android, iOS)

Плюсы:

  • Безусловно самое узнаваемое имя в веб-картографии
  • Обширный JavaScript API
  • Многие онлайн образцы
  • Недавно Google выпустил свои цены и планы , что является отличной разбивкой предлагаемых услуг

Минусы:

Резюме:

У Google сильное имя на рынке и довольно надежные онлайн-сервисы. Просто убедитесь, что понимаете все тонкости их использования, чтобы не наступать ни на какие юридические проблемы. Новая страница «Цены и планы» весьма полезна в этом отношении.

Открытый исходный код

API (все на основе JavaScript):

Плюсы:

Минусы:

  • Официальная поддержка не так хорошо известна, НО заинтересованное сообщество более чем полезно (возможно, даже лучше, чем коммерческая поддержка ГИС)

Резюме:

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


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

evv_gis
источник
Хороший комментарий! Хотите обновить?
Фьелрев
@Fjellrev - Я, безусловно, могу обновить сообщение, если у вас есть предложение или может дать некоторые рекомендации о том, что сообщение отсутствует. Честно говоря, я был в основном сосредоточен на технологии Esri в последние пару лет, что я даже не знаю многих обновлений, которые произошли в этом пространстве. В конечном счете, я все еще чувствую, что вышеупомянутое содержание упоминает о сильных нападающих в космосе и предоставляет ссылки на текущую информацию для каждого. Опять же, если у вас есть какие-либо предложения, я с удовольствием добавлю их, если они вписываются в тему.
evv_gis
25

Похоже, вы получили ответы с открытым исходным кодом в вопросе выше. Если у вашей компании есть бюджет, 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 тоже очень хорошая. Таким образом, все сводится к цене и ресурсам, если у вас уже есть эти приложения или у вас есть бюджет, это отличный путь, если нет, то стоит рассмотреть вышеупомянутые решения с открытым исходным кодом.

badkins
источник
4
С момента публикации этого ответа Esri выпустила ArcGIS Online , которая потенциально устраняет необходимость в локальном ArcGIS Server и SDE. Есть бесплатные планы разработчиков, доступные для начала
Стивен Лид
20

Если вы хотите просто прототипировать что-то для исследования жизнеспособности, чтобы показать вашему боссу, что я и должен был сделать год назад, то для бэкэнда я бы порекомендовал Geoserver из-за его удобного веб-интерфейса, поддерживаемого некоторыми простые шейп-файлы. Для внешнего интерфейса OpenLayers - фантастический выбор с большим количеством образцов на веб-сайте. Я ни в коем случае не веб-программист, но я нашел, что копирование / вставка / настройка образцов javascript очень проста. Я поместил все это в виртуальную машину VirtualBox, чтобы хранить все это в одном месте и не нарушать мою обычную среду разработки, используя пакеты из репозитория UbuntuGIS.

Для производства есть целый ряд вещей, которые зависят от вашего варианта использования. Что касается меня, я в конечном итоге выбрал Mapserver, потому что он не такой раздутый, как Geoserver, и работает как процесс fast-cgi на веб-сервере lighttpd. Нам был нужен WFS-T (который Geoserver поддерживает из коробки), но Mapserver нет, поэтому мы использовали крошечные. Мы также обслуживаем покрытия (WCS), которые поддерживает Mapserver, и мы рассматриваем возможность интеграции Rasdaman для поддержки WCS-T. Все это поддерживается базой данных PostGIS.

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

Я считаю, что ESRI делает продукты, способные на все это, но это будет стоить. Если ваше время неоправданно дорого, то коммерческий маршрут может быть тем же путем, но маршрут с открытым исходным кодом движется в некоторых очень интересных направлениях, и я подозреваю, что в конечном итоге он превзойдет все, что может предложить ESRI. Но тогда я предвзятый фанат FOSS :)

MerseyViking
источник
2
Взгляните на P.Mapper ( pmapper.net ) и GeoMoose ( geomoose.org ), их довольно «легко» настроить с помощью ваших собственных данных, вы можете сделать это на Windows-коробке с MS4W, а затем, по мере продвижения, Вы можете перейти к настройке Linux. У меня есть набросок начальных шагов для p.mapper, хотя на испанском, если вам интересно.
jdeltoro1973
18

Вы можете посмотреть на MangoMap www.mangomap.com .

Вы должны иметь возможность создать нужную карту с помощью доступных инструментов.

Он размещен и бесплатен, поэтому для его развертывания требуется очень мало времени и усилий.

pgager
источник
14

Для функций, которые вы предлагаете, я бы посмотрел на самый простой и простой в установке стек, который соответствует вашим потребностям. Программное обеспечение говорит: «Вы можете иметь быстрый, мощный или дешевый. Выберите два». безусловно, применяется здесь.

Если вы планируете только выполнять простые запросы, такие как определение функций, тогда возможности PostGIS, вероятно, излишни. Гораздо проще просто загрузить шейп-файлы как хранилище данных непосредственно в GeoServer.

Опять же, OpenLayers великолепен и имеет множество функциональных возможностей, таких как поддержка систем координат, отличных от WGS84 и Web Mercator, но если вы не собираетесь использовать эту функциональность, то я бы посмотрел на Leaflet , по моему опыту, его гораздо меньше крутая кривая обучения для новых пользователей.

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

Если это проект, в котором вы хотите написать некоторый код, вы также можете взглянуть на CartoDB и MapBox . Если вы хотите узнать больше обо всех этих хостинговых платформах, я написал бесплатную электронную книгу на эту тему, которая содержит все подробности, необходимые для ее выбора.

Раскрытие информации : я основатель MangoMap

ChrisInCambo
источник
Ваша бесплатная ссылка на электронную книгу не работает, потому что Domaine Nae продается. Можете ли вы отредактировать его и изменить ссылку с помощью Dropbox или другого сайта?
GeoStoneMarten
13

Есть много мест, где можно начать разработку веб-карты.

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

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

Что касается стоимости ... Я предпочитаю позаимствовать современную пословицу: «Хорошо, быстро, дешево. Выберите два». Он формально определен как треугольник управления проектами , который описывает баланс между затратами, расписанием и областью, чтобы обеспечить качество.

оборота мволкер
источник
12

Я тоже недавно начал путешествие по веб-картографии после многих лет работы над базами данных.

Что действительно помогло мне, так это изучение основных принципов программирования, использование MapBasic для MapInfo (или я предполагаю, что Python для толпы esri) действительно помогло мне понять, как «думают» компьютеры.

Оттуда CodeAcademy была находкой. Это действительно забавный и интуитивно понятный способ изучения программирования. Это может привести вас от примеров "Hello World" вплоть до полнофункциональных и интерактивных программ. Кривая обучения является постепенной и понимает, что некоторые люди одарены этим, а другие (как я) - нет.

Второй совет - установить GeoServer и посмотреть демонстрационные запросы, чтобы увидеть, как структурированы веб-сервисы и как они работают. Посмотрите на превью слоев, чтобы увидеть, как Javascript и HTML работают вместе. Вы можете буквально скопировать этот код предварительного просмотра слоя (просмотреть исходный код страницы), сохранить его где-нибудь и начать мастерить.

Школы W3 - есть интерактивные примеры, с которыми вы можете поиграть и адаптироваться к своему молодому коду. Если вы решите на JavaScript, JS Fiddle тоже очень хорошо.

Morgan Ellingham
источник
11

Если вы программист на Java, взгляните на Geomajas .

Существует архетип Maven, который позволяет начать работу за считанные минуты ( см. Здесь ). Затем вы можете добавить дополнительные слои и т. Д.

Йоахим Ван дер Аувера
источник
ГИС-разработчики кажутся такими большими поклонниками JavaScript, что почти уникально найти веб-приложение на основе Java.
Ахелес
9

Вы можете использовать OpenLayers на стороне клиента. Он стабильный, простой и имел множество примеров того, как использовать WFS (в вашем случае для подключения к PostgreSQL) и т. Д. Geoserver, OSM использует его для целей рендеринга.

Вы также можете взглянуть на GeoExt, который предоставляет виджет extJS для построения карт. Снова Geoext использует OpenLayers для рендеринга карты.

Существуют также основанные на PHP фреймворки, использующие MapServer (OpenLayers уже поддерживает), такие как GeoMoose , CartoWeb и т. Д.

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

РКМ
источник
8

Для любой веб-разработки, включая веб-картографию, необходимы три навыка: html, css и javascript. Ресурсы для изучения этих языков достаточно. Вопрос о том, с чего начать изучение того, как разрабатывать веб-картографические приложения, довольно хорошо освещен в вопросе обмена стеками ГИС. Как начать веб-картографирование?

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

GeoSharp
источник
7

Я использую leafletjs, и я думаю, что это очень просто. Он основан на JavaScript и может рисовать объекты с использованием различных источников данных. По сути, вы вставляете код карты в файл .html, а затем просматриваете файл. Я не могу комментировать другие API, но я думаю, что Google довольно прост, как и Openlayers.

Кроме того, существуют такие сервисы, как MapBox, которые не требуют, чтобы вы размещали html-файл, а просто загружали в них свои данные.

Баррет
источник
6

Я думаю, что самый простой способ пойти с плагином qgis + qgis2leaflet. Вы можете редактировать все, что вы хотите в QGIS, чем экспортировать в листовку и загрузить на свой веб-сервер. Или если вы выберете более интересный способ, чем:

  1. рабочий стол gis: qgis
  2. администратор базы данных: navicat
  3. веб-сервер: базовый VPS
  4. пакет webgis: boundlessgeo geosuit (содержит: postgresql / postgis, геосервер и геоэксплорер)

Вместо geoexplorer я бы использовал буклет javascript, потому что он выглядит лучше и работает более плавно ... но потребуется некоторое время, чтобы скопировать / вставить некоторый код. вот пример: http://gis.xyz

Тамас Коса
источник
5

Важно отметить, что Web-Gis - это обширная область, и уже было проделано много работы над несколькими проектами и библиотеками, чтобы помочь в этом деле. Поэтому нам нужно посмотреть, есть ли что-то, что вы можете использовать повторно, вместо того, чтобы начинать с нуля.

Плохая новость заключается в том, что в php нет популярной библиотеки / приложения для веб-картографии. Хорошей новостью является то, что вам может не понадобиться.

Я бы рекомендовал вам сначала попытаться понять WebMapping и понять проекты и библиотеки, которые уже присутствуют. Для этого вы можете обратиться к этим вопросам:

Как только вы поймете доступные варианты, вам следует уточнить ваши требования. Глядя на ваш вопрос, у вас есть очень основные требования: показать Участки на карте Разрешить для запросов, Получить атрибуты для Участков и показать их пользователю, либо в результате запроса, либо когда пользователь нажимает на него.

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

Вместо этого я бы предложил вам использовать решение Geoserver / OpenLayers при условии, что вы можете работать с JavaScript. Возможно, вам даже не понадобится какой-либо php-код, если все ваши данные находятся в атрибутах функций.

оборота Девдатта Тенгше
источник
Я хорошо разбираюсь в JQuery и других библиотеках Jscript, ранее тоже затрагивал ExtJS. Один вопрос, как нарисовать мои области на карте и как мне экспортировать это в БД? Нужно ли полностью зависеть от того, что у карты, или она позволяет мне рисовать на ней? Как это достигается?
Черчилль
Если у вас есть данные участков, возможно, в шейп-файлах или в других форматах, вы можете отобразить их в виде слоя wms поверх Карт Google или других базовых карт. Этот слой WMS может обслуживаться Geoserver / mapserver. Кроме того, вы всегда можете рисовать новые функции, используя векторные слои.
Девдатта Тенгше
5

Хорошей легкой альтернативой OpenLayers, которая является большой популярной библиотекой javascript для веб-картографирования, является Leaflet .

Я использую Leaflet с GeoServer, чтобы сделать несколько хороших карт, включая интерактивность. Это требует специального кодирования, но не так много, и его гораздо проще использовать, чем OpenLayers.

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

Прежде чем сделать выбор между Leaflet и OpenLayers, возможно, стоит взглянуть на следующую версию, которая обещает очищенный API и лучшую документацию:

OpenLayers 3 - это всеобъемлющая переписка библиотеки, ориентированная на новейшие функции HTML5 и CSS3. Библиотека будет по-прежнему иметь широкую поддержку проекций, стандартных протоколов и функций редактирования из OpenLayers 2.x. Новая версия библиотеки будет сосредоточена на повышении производительности, упрощении сборок, улучшенных визуальных компонентах, улучшенном API и многом другом. Некоторые из основных моментов:

- - - - - - 8 <- - - - - - 

Новая кодовая база: это дает возможность очистить некоторые «неуклюжие» способы работы в OpenLayers. Команда также создаст с новыми разработками API, которые будут более доступными для всех.

Высококачественная документация. В новой версии также будет представлена ​​документация со свежими примерами и стандартными проектами в OpenLayers 3.0. Выделение инструментария - это нечто большее, чем фактический код.

http://openlayers.org/

Подземье
источник
5

Я бы начал с Google Maps API . Это бесплатно и легко работать. Он использует Javascript, который можно узнать с помощью ряда полезных ресурсов. Я бы порекомендовал Codecademy, если вы новичок в JS.

Существует множество бесплатных источников данных, которые могут быть включены в Google Maps несколькими способами (KML, база данных, GeoRSS и т. Д.). В большинстве штатов и во многих университетах есть бесплатные хранилища данных, которые можно включить в вашу карту.

Один из моих любимых сайтов для примеров Google Maps - Google Maps Mania . Есть отличные примеры карт, которые демонстрируют, что возможно в этом API.

Джереми Хамм
источник
5

GeoPHP может стоить посмотреть.

GeoPHP - это нативная PHP-библиотека с открытым исходным кодом для выполнения геометрических операций. Он полностью написан на PHP и поэтому может работать на общих хостах. Он может читать и записывать различные форматы: WKT (включая EWKT), WKB (включая EWKB), GeoJSON, KML, GPX, GeoRSS. Он работает со всеми геометриями простых объектов (Point, LineString, Polygon, GeometryCollection и т. Д.) И может использоваться для получения центроидов, ограничительных рамок, области и множества других полезных сведений.

И вы можете взять его на ступеньку выше с расширением GEOS (при условии, что у вас есть права администратора для установки GEOS).

С GEOS вы получаете полный набор функций openGIS в PHP, таких как Union, IsWithin, Touches и т. Д. Это означает, что приложения получают полезный «базовый набор» геометрических операций, которые работают во всех средах, и «расширенный набор» операции для сред, в которых установлен GEOS.

abettermap
источник
4

Что ж, пользовательский скрипт PHP может быть более надежным (и простым) решением. В конце концов, пространственные данные - это просто строки в базе данных, и они могут быть запрошены как обычно. Нет необходимости в тяжелом серверном ГИС-программном обеспечении и / или ужасном синтаксисе фильтра OGC. Если бы я был на вашем месте, я бы сохранял данные в базе данных PostgreSQL с расширением PostGIS, писал бы PHP-конец для запросов к базе данных и извлекал данные в формате GeoJSON (см. Эту суть ), и интерфейсное веб-приложение на основе OpenLayers - он более гибкий, чем Google Maps API, но вы все равно можете использовать базовые карты Google, если хотите.

Михал Мацкевич
источник
Хотя этот метод будет работать, он будет вялым и тяжелым с большими объемами данных, такими как посылки для округа / района.
Девдатта Тенгше
3

Для получения справки о том, какие варианты выбрать, Альтернативы ArcGIS Online, вопрос и Какие книги, журналы, электронные ресурсы наиболее ценны для расширения знаний о географической информации? вопрос для учебных ресурсов.

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

Зак
источник
2

Ну, есть пара библиотек сопоставления, которые вы можете использовать.

Первым (и, вероятно, наиболее известным) будет API Карт Google , однако я думаю, что это может быть довольно сложно, если вы относительно новичок в веб-картографии.

Я бы посоветовал взглянуть на Leaflet.js или Mapbox.js . Mapbox.js был создан с учетом Leaflet, и в Mapbox есть несколько отличных руководств по различным задачам, которые вы можете выполнить с помощью Mapbox.js. Листовка также имеет несколько примеров и ресурсов .

Вот конкретные ссылки на примеры, которые должны помочь вам в правильном направлении.

BDD
источник
2

Если вам требуется карта, в которой вы щелкаете страну и всплывающее изображение, вы можете взглянуть на пример Mapbox для ссылки на внешние данные.

Вы можете узнать, как код взаимодействует в JSFiddle для проекта

Если вам требуется дополнительная документация по Mapbox, вы можете прочитать их Руководства по Mapbox или немного углубиться в код, используя раздел Примеры.

MDHald
источник
2

Я - новый вебмаппер, и меня отослали к Скотту Мюррею « Визуализация данных для Интернета» . Его электронную книгу можно прочитать здесь: http://chimera.labs.oreilly.com/books/1230000000345/ бесплатно. Это для «не кодеров», чрезвычайно информативно, и имеет много практических примеров.

kadenz
источник
-3

Вы можете использовать UMN Map Server. Там вы можете использовать PHP-скрипты (это называется скриптами карты). Это основано на сервере Apache. Если вам нужна база данных, вы можете использовать либо MySQL с пространственными расширениями, либо PostgreSQL с postGIS ...

Indeewara Jayalath
источник