Какой каркас Python для веб-карт использовать? [закрыто]

19

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

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

vagvaf
источник
4
Вам необходимо предоставить больше информации. Какие функции вы смотрите? Какой вид веб-карт вы хотите сделать?
Девдатта Тенгше

Ответы:

15

Попробуйте Folium , для начала очень просто: вы создаете свой проект с использованием Python и просто открываете получившуюся карту.

Если вы хотите пойти глубже, вы можете отсортировать по убыванию уровня простоты:

  • GeoDjango с дополнениями типа Django-Leaflet . Действительно лучший документ здесь
  • FeatureServer Более ориентированный на сервер, но демо OpenLayers ( последнее обновление 2015 )
  • MapFish один. На основе устаревших пилонов ( последнее обновление 2011 )
  • Папирус , интеграция Mapfish в Pyramid, хорошо известная среда Python ( последнее обновление 2017 )
ThomasG77
источник
Как Folium сравнивается с GeoDjango с точки зрения возможностей, которые они имеют?
мультигудверс
2
Folium = в основном для предварительного просмотра данных на веб-карте и создания статической веб-карты. Нет возможности редактирования здесь. С другой стороны, GeoDjango = для управления данными на динамическом веб-сайте. Вам нужно будет больше кодировать, но вы можете создать полноценный веб-сайт, так как GeoDjango - это всего лишь расширение веб-платформы Django (для создания полноценного веб-сайта). Также доступны возможности редактирования, управления пользователями и группами.
ThomasG77
8

Вы можете попробовать GeoDjango .

То, что вы хотите сделать, может быть излишним, но, похоже, соответствует критериям, которые вы ищете. Это веб-фреймворк, управляемый Python, который включает в себя множество замечательных ГИС-проектов, таких как, gdal / ogr, OpenLayers, и поддерживает использование баз геоданных, включая postgis / postgres.

Я экспериментировал с этим время от времени в течение нескольких месяцев и мне это нравится до сих пор. Существует определенная кривая обучения, но документация довольно хорошая, и существует сильное сообщество пользователей.

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

актор
источник
8

Если вам нужен базовый веб-сервис на python, есть два пути:

  • geodjango, это официальное расширение, интегрированное в django. Это прекрасно работает, но это Django Centric. Если тебе нравится django, то это прекрасно
  • flask (или другая веб-структура) + geoalchemy2 (расширение sqlalchemy) + shapely (библиотека для манипулирования геообъектом), возможно, это сложнее, чем geodjango, но это мое любимое решение. Я предпочитаю jinja2 и sqlalchemy, чем шаблон django и orm.

Затем подключите его к открывающим слоям или листовке.

Но посмотрите на стандартные решения WMS или WFS на сервере, это может быть полезно.

black_rez
источник
0

Как насчет MapFish, который, по его словам , является

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

Не могу утверждать, что использовал его, но он предварительно установлен на моей машине с OSGeo Live - OpenLayers и TileMill были моими «фреймворками» для веб-картографирования (что бы это ни значило), но ни один из них не использует Python. Основываясь на их веб-сайте и их принадлежности к OSGeo, я без колебаний рекомендую протестировать их технологию, хотя, как сказано в комментарии выше, ваш выбор должен зависеть от приложения, а не только от того, на каком языке оно написано.

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

RobinLovelace
источник
2
Mapfish больше не активен.
Рафаил