【问题标题】:Best way to add a custom polygon to a folium map in any location?将自定义多边形添加到任何位置的 folium 地图的最佳方法?
【发布时间】:2020-04-12 18:11:31
【问题描述】:

我是 Folium 的新手,但基础知识管理得很好。不过,关于做某事的最佳方式,我有一个稍微抽象的问题:

我有自己的多边形标记形状(geojson 中下面的示例是一个鸡尾酒杯,上面有代表 Jameson 的字母 J!),我希望能够调用这个形状并将其绘制到任何位置的叶图上(非常重要)和规模(不太重要,因为我可以为不同的规模提供不同的文件作为解决方法)。

目前我将它作为geojson,但显然geojson指定了地球上的实际位置(因此是大小)。

所以我想要的是一个存储格式的抽象形状,我可以告诉 folium 将它“放置”在我想要的地图上(可以是地球上的任何地方!),理想情况下是任何大小(但位置最重要) )。

因此,最简单、最简单的方法是什么?我猜是其他格式的形状数据?

我在 geojson 中的示例形状:

{
"type": "FeatureCollection",
"name": "cocktail",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
{ "type": "Feature", "properties": { "Layer": "0", "SubClasses": null, "ExtendedEntity": null, "Linetype": null, "EntityHandle": null, "Text": null }, "geometry": { "type": "LineString", "coordinates": [ [ 3.095, 7.56494, 0.0 ], [ 3.63938, 6.88867, 0.0 ], [ 3.63656, 6.30507, 0.0 ], [ 3.30826, 6.1844, 0.0 ], [ 4.11638, 6.176, 0.0 ], [ 3.79368, 6.30507, 0.0 ], [ 3.78244, 6.88867, 0.0 ], [ 4.33524, 7.56494, 0.0 ], [ 3.095, 7.56494, 0.0 ] ] } },
{ "type": "Feature", "properties": { "Layer": "0", "SubClasses": null, "ExtendedEntity": null, "Linetype": null, "EntityHandle": null, "Text": null }, "geometry": { "type": "LineString", "coordinates": [ [ 3.61692, 7.16086, 0.0 ], [ 3.76004, 7.15804, 0.0 ], [ 3.76563, 7.37696, 0.0 ], [ 3.89469, 7.37696, 0.0 ], [ 3.89469, 7.41342, 0.0 ], [ 3.6225, 7.4106, 0.0 ], [ 3.62532, 7.37131, 0.0 ], [ 3.72071, 7.36849, 0.0 ], [ 3.71511, 7.20296, 0.0 ], [ 3.60851, 7.20578, 0.0 ], [ 3.61692, 7.16086, 0.0 ] ] } }
]
}

【问题讨论】:

  • 您可能希望将叶图导出为图像格式,然后使用 PIL 或 OPENCV 覆盖您的徽标。
  • 这是一个想法,但我确实需要在绘图之前完成此操作,因此它需要某种形状数据。
  • 使用folium.features.CustomIcon 的自定义图标怎么样?
  • 好建议,这很有效!
  • 很高兴,它成功了。请点赞。

标签: python polygon geojson folium


【解决方案1】:

感谢Ruslan S. 的建议,我尝试使用folium.features.CustomIcon 函数,结果成功:

icon_url = "https://yourwebsitelinkorlocationoficon.com/cocktail.png"

icon = folium.features.CustomIcon(icon_url,icon_size=(40, 40))

folium.Marker([p1_lat, p1_lon], icon=icon).add_to(testmap)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 2017-01-19
    • 2019-01-26
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    相关资源
    最近更新 更多