使用什么python网络映射框架?[关闭]


19

我对开发Web映射应用程序感兴趣。我对Python比较熟悉,因此我正在寻找python框架。我有什么选择?每个选项的优缺点是什么?

我正在寻找一个简单的选项,该选项可以在地图上显示地理信息,并允许用户使用“信息”获取更多详细信息。在这一点上,我不需要任何查询或动态功能。我希望有一个有据可查的选项。


4
您需要提供更多信息。您在看什么功能?您想进行哪种网络映射?
Devdatta Tengshe

Answers:


15

尝试Folium,开始非常简单:使用Python创建项目,然后打开结果图。

如果您想更深入一点,可以按降序排列:

  • GeoDjango以及Django-Leaflet之类的附加功能。真的是最好的文档
  • FeatureServer更多面向服务器端,但提供OpenLayers演示(2015年最后更新
  • MapFish。基于现已过时的塔架(最新更新于2011年
  • Papyrus,Pyramid中的Mapfish集成,一个著名的Python框架(最新更新于2017年

Folium与GeoDjango在功能方面如何比较?
multigoodverse

2
Folium =主要用于预览Web地图中的数据并生成静态Web地图。这里没有编辑功能。另一方面,GeoDjango =用于管理动态网站中的数据。您将需要编写更多代码,但是您可以创建一个完整的网站,因为仅GeoDjango才是完整的网站,并且是Django Web框架的扩展(以创建完整的网站)。还可以编辑可用功能,管理用户和组。
ThomasG77

8

您可以尝试使用GeoDjango

这可能对您想做的事有些过分,但似乎符合您要寻找的标准。这是一个由python驱动的Web框架,它结合了很多出色的GIS项目,例如gdal / ogr,OpenLayers,并支持包括postgis / postgres在内的地理数据库的使用。

到目前为止,我一直在反复试验它,并且喜欢它。肯定有一个学习曲线,但是文档非常好,并且有强大的用户社区。

我发现这是一个非常灵活的平台,并且比我期望的要成熟。看看是否还没有。


8

如果要使用python提供基本的Web服务,则有两种方法:

  • geodjango,这是集成在django中的官方扩展。它很棒,但以django为中心。如果您喜欢Django,那就太好了
  • 烧瓶(或另一个Web框架)+ geoalchemy2(sqlalchemy的扩展名)+ shapely(操纵Geo对象的方法),也许比geodjango难,但这是我最喜欢的解决方案。与django的模板和orm相比,我更喜欢jinja2和sqlalchemy。

然后将其插入openlayers或传单中。

但是看看WMS或WFS服务器的标准解决方案,可能会有所帮助。


0

MapFish怎么样,它本身就是

基于Pylons Python Web框架的灵活而完整的框架,用于构建丰富的Web映射应用程序。

不能声称已经使用过它,但它已预装在我的OSGeo Live机器上-OpenLayers和TileMill是我选择的Web映射“框架”(无论如何),但都不使用太多Python。根据他们的网站以及他们与OSGeo的隶属关系,我会毫不犹豫地推荐测试他们的技术,尽管正如上面的评论所述,您的选择应取决于应用程序,而不仅取决于它所使用的语言。

他们的在线演示似乎有效地工作,并且看起来像一个充满动力的项目:为什么不尝试一下他们的“快速入门”教程,看看它如何满足您的需求?


2
Mapfish不再活动。
拉斐尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.