Nên sử dụng khung ánh xạ web python nào? [đóng cửa]


19

Tôi quan tâm đến việc phát triển một ứng dụng bản đồ web. Tôi tương đối quen thuộc với Python và vì vậy tôi đang tìm kiếm một khung python. Những lựa chọn của tôi là gì? những ưu và nhược điểm của từng lựa chọn là gì?

Tôi đang tìm kiếm một tùy chọn đơn giản, một tùy chọn hiển thị thông tin địa lý trên bản đồ và cho phép người dùng sử dụng "thông tin" để biết thêm chi tiết. Tại thời điểm này tôi không cần bất kỳ truy vấn hoặc chức năng động. Tôi muốn một tùy chọn tài liệu tốt.


4
Bạn cần cung cấp thêm thông tin. Những tính năng bạn đang xem xét? Bạn muốn làm loại bản đồ web nào?
Devdatta Tengshe

Câu trả lời:


15

Hãy thử Folium , thật đơn giản để bắt đầu: bạn tạo dự án của mình bằng Python và bạn chỉ cần mở bản đồ kết quả.

Nếu bạn muốn đi sâu hơn, bạn có thể sắp xếp theo mức độ đơn giản giảm dần:

  • GeoDjango với các bổ sung như Django-Leaflet . Tài liệu thực sự tốt nhất ở đây
  • FeatureServer Nhiều máy chủ được định hướng hơn nhưng bản demo OpenLayers ( cập nhật lần cuối 2015 )
  • MapFish một mình. Dựa trên Pylons đã lỗi thời ( cập nhật lần cuối 2011 )
  • Papyrus , việc lồng ghép Mapfish trong kim tự tháp, một khuôn khổ Python nổi tiếng ( cập nhật lần cuối 2017 )

Folium so sánh với GeoDjango như thế nào về khả năng mà họ có?
đa cấp

2
Folium = chủ yếu để xem trước dữ liệu trong bản đồ web và tạo bản đồ web tĩnh. Không có khả năng chỉnh sửa ở đây. Mặt khác, GeoDjango = để quản lý dữ liệu trong một trang web động. Bạn sẽ cần mã nhiều hơn nhưng bạn có thể tạo một trang web đầy đủ vì GeoDjango chỉ và mở rộng cho khung web Django (để tạo trang web đầy đủ). Khả năng chỉnh sửa có sẵn, quản lý người dùng và nhóm cũng có thể.
ThomasG77

8

Bạn có thể thử GeoDjango .

Nó có thể là quá mức cho những gì bạn muốn làm nhưng nó dường như đáp ứng các tiêu chí bạn đang tìm kiếm. Đó là một khung web điều khiển bằng python kết hợp rất nhiều dự án GIS tuyệt vời như, gdal / ogr, OpenLayers và hỗ trợ sử dụng cơ sở dữ liệu địa lý bao gồm cả postgis / postgres.

Tôi đã thử nghiệm nó trong vài tháng và thích nó cho đến nay. Chắc chắn có một đường cong học tập, nhưng tài liệu khá tốt và có một cộng đồng người dùng mạnh mẽ.

Tôi thấy rằng đó là một nền tảng thực sự linh hoạt và trưởng thành hơn tôi mong đợi. Có một cái nhìn nếu bạn chưa có.


8

Nếu bạn muốn dịch vụ web cơ bản trong python, có hai cách:

  • geodjango, đây là một phần mở rộng chính thức được tích hợp trong django. Nó hoạt động rất tốt nhưng đó là django centric. Nếu bạn thích django thì thật hoàn hảo
  • bình (hoặc một webframework khác) + Geoalchemy2 (phần mở rộng của sqlalchemy) + tạo hình (lirairy để thao tác đối tượng Geo), có thể khó hơn geodjango nhưng đó là giải pháp yêu thích của tôi. Tôi thích jinja2 và sqlalchemy hơn mẫu và orm của django.

Sau đó cắm nó vào openlayers hoặc tờ rơi.

Nhưng nhìn vào các giải pháp tiêu chuẩn máy chủ WMS hoặc WFS, nó có thể hữu ích.


0

MapFish thế nào, mà theo chính nó

một khung linh hoạt và đầy đủ để xây dựng các ứng dụng lập bản đồ web phong phú ... dựa trên khung web Pylons Python.

Không thể tuyên bố đã sử dụng nó nhưng nó được cài đặt sẵn trên máy OSGeo Live của tôi - OpenLayers và TileMill đã là 'khung' bản đồ web của tôi (dù có nghĩa là gì), nhưng không sử dụng nhiều Python. Dựa trên trang web của họ và liên kết của họ với OSGeo, tôi sẽ không ngần ngại khuyên bạn nên thử nghiệm công nghệ của họ mặc dù như nhận xét ở trên, sự lựa chọn của bạn nên phụ thuộc vào ứng dụng, không chỉ là ngôn ngữ được viết bằng ngôn ngữ nào.

Bản demo trực tuyến của họ dường như hoạt động hiệu quả và có vẻ như là một dự án với động lực: tại sao không thử hướng dẫn 'quickstart' của họ và xem nó phù hợp với nhu cầu của bạn như thế nào?


2
Mapfish không còn hoạt động.
raphael
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.