有没有想过创建 GIS 数据的 web 地图最简单的方法是什么?好吧,您将发现… 使用 Python 中的 streamlit、ellipsis 和 folium 包,我将在 10 行代码中创建一个包含自定义栅格和矢量数据的 web 地图。
在此示例中,我使用从 Planet 订购的贝鲁特卫星图像。它显示了 2020 年硝酸铵爆炸后的情况。我还将使用基于此图像创建的矢量数据集,其中包含受损建筑物的足迹。
安装:
在开始之前,我们需要安装软件包。
pip install branca==0.3.1
pip install ellipsis
pip install folium
pip install streamlit
streamlit 包允许我们从 Python 脚本创建一个 Web 应用程序。folium 包为我们提供了一个传单接口,允许我们为地图构建所需的 UI。最后,ellipsis 包为我们提供了 Ellipsis Drive 的接口,我们可以在该接口上存储我们希望渲染的栅格和矢量数据。
需要使用 branca 包来使 folium 和 streamlit 兼容,但我们不会明确使用它(但您必须安装它!)。
托管数据:
完成安装后,我们需要托管栅格和矢量数据。我们可以在Ellipsis Drive上免费执行此操作。请参阅我的教程,了解如何将文件上传到云端硬盘。通过托管数据,我们可以使用 ellipsis 包轻松地以动态方式请求它。(特别是当您有大量数据时,不建议在渲染应用程序时全部加载!)
应用程序:
我们现在准备创建我们的应用程序。我们从以下简单脚本开始: