如何将一组叶标记保存到 geojson?

Posted

技术标签:

【中文标题】如何将一组叶标记保存到 geojson?【英文标题】:How do I save a set of folium markers to a 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 可能是个好主意。 【参考方案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 文件如下所示:

【讨论】:

以上是关于如何将一组叶标记保存到 geojson?的主要内容,如果未能解决你的问题,请参考以下文章

如何仅通过一次调用将一组对象保存到猫鼬数据库?

如何将一组验证规则应用于保存到特定表的所有表单?

是否可以将一组坐标保存到firebase?

如何使用 gensim 将一组文档标记为 unigram + bigram bagofwords?

尝试将一组对象保存到 Firestore 并将其加载回来

决策树剪枝问题