【问题标题】:How do I save a set of folium markers to a geojson?如何将一组叶标记保存到 geojson?
【发布时间】:2021-12-28 03:23:17
【问题描述】:

我有以下叶片标记,并希望将它们保存到 python 中的 geojson 文件中。

neb1 = folium.Marker([nebraska[0]+1.73, nebraska[1]-3.46], icon = folium.Icon()).add_to(m)
neb2 = folium.Marker([nebraska[0]+2.73, nebraska[1]-3.46], icon = folium.Icon()).add_to(m)
neb3 = folium.Marker([nebraska[0]+2.73, nebraska[1]-5.46], icon = folium.Icon()).add_to(m)
neb4 = folium.Marker([nebraska[0]+4.73, nebraska[1]-3.46], icon = folium.Icon()).add_to(m)
neb5 = folium.Marker([nebraska[0]+4.73, nebraska[1]], icon = folium.Icon()).add_to(m)
neb5 = folium.Marker([nebraska[0]+1.73, nebraska[1]+3.2], icon = folium.Icon()).add_to(m)

我如何做到这一点?

谢谢!

【问题讨论】:

  • 以我有限的经验,我认为这是不可能的。对了,你想保存它做什么用途?
  • 我想将 geojson 用于我将编写的点绘图程序。
  • 我不确定您的积分计划是什么样的,但将其组织成 geopandas 可能是个好主意。

标签: python geojson marker folium


【解决方案1】:

您可以使用 geojson 库创建 GeoJSON 文件。

注意 folium.Marker() 使用纬度、经度顺序的坐标,而 geojson Point() 坐标是经度、纬度顺序,因此请记住使用正确的顺序。

from geojson import Feature, Point, FeatureCollection, dumps

nebraska = [38.2, -98.5] # lat, lon

points = [
    Point((nebraska[1]-3.46, nebraska[0]+1.73)),
    Point((nebraska[1]-3.46, nebraska[0]+2.73)),
    Point((nebraska[1]-5.46, nebraska[0]+2.73)),
    Point((nebraska[1]-3.46, nebraska[0]+4.73)),
    Point((nebraska[1], nebraska[0]+4.73)),
    Point((nebraska[1]+3.2, nebraska[0]+1.73))
    ]

features = [Feature(geometry=p) for p in points]
feature_collection = FeatureCollection(features)
with open("out.geojson", "w") as fout:
    fout.write(dumps(feature_collection))

这会输出一个具有这种结构的 GeoJSON 文件:

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "geometry": {
                "type": "Point",
                "coordinates": [
                    -101.96, 39.93
                ]
            },
            "properties": {}
        },
        ...
}

然后您可以使用 folium.GeoJson() 函数将 GeoJSON 文件加载到 folium 地图中。

在folium 地图中显示的 GeoJSON 文件如下所示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    相关资源
    最近更新 更多