您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 在folium中绘制带有地理数据帧的彩色多边形

5b51 2022/1/14 8:22:02 python 字数 7049 阅读 498 来源 www.jb51.cc/python

我正试图在叶片中绘制雷达数据,我几乎就在那里.我按照这个例子(Contour plot data (lat,lon,value) within boundaries and export GeoJSON)将我的数据转换成GeoJson格式.nb_class = 20 collec_poly = plt.contourf(lons,lats,np.array

概述

我正试图在叶片中绘制雷达数据,我几乎就在那里.我按照这个例子(Contour plot data (lat,lon,value) within boundaries and export GeoJSON)将我的数据转换成GeoJson格式.

nb_class = 20 
collec_poly = plt.contourf(lons,lats,np.array(poshdata),nb_class,alpha=0.5)

gdf = collec_to_gdf(collec_poly) # From link above
gdf.to_json()
colors = [p.get_facecolor().tolist()[0] for p in collec_poly.collections]
gdf['RGBA'] = colors

gdf

这将输出两列:几何和RGBA.

    RGBA    geometry
0   [0.0,0.0,0.713903743316,1.0] (POLYGON ((-71.57032079644679 42.2775236331535...
1   [0.0,0.0960784313725,1.0,1.0]    (POLYGON ((-71.56719970703125 42.2721176147460...
2   [0.0,0.503921568627,1.0] (POLYGON ((-71.55678558349609 42.2721176147460...
3   [0.0,0.896078431373,0.970904490829,1.0]  (POLYGON ((-71.52552795410156 42.2849182620049...
4   [0.325743200506,0.641998734978,1.0]  (POLYGON ((-71.49427795410156 42.2939676156927...
5   [0.641998734978,0.325743200506,1.0]  (POLYGON ((-71.47344207763672 42.3003084448852...
6   [0.970904490829,0.959331880901,1.0]  (POLYGON ((-71.26508331298828 42.3200411822557...
7   [1.0,0.581699346405,1.0] (POLYGON ((-71.15048217773438 42.3333218460720...

从那里我制作了我的folium地图:

import folium    

# Picked location between Sudbury and Somerville:
maploc = folium.Map(location=[42.377157,-71.236088],zoom_start=11,tiles="Stamen Toner")

folium.GeoJson(gdf).add_to(maploc)

这创建了我很好的folium地图,但多边形根本没有着色.如何让轮廓充满正确的颜色?并修复不透明度?

enter image description here

style_function可能会帮助你得到你想要的东西?

以下示例使用此页面生成http://geojson.io/
我所要做的就是使用style_function进行“映射”.
也可以使用自定义函数,请参阅:
https://github.com/python-visualization/folium/blob/master/examples/Colormaps.ipynb

import folium
geoJsonData = {
    "features": [
        {
            "geometry": {
                "coordinates": [
                    [
                        12.98583984375,56.70450561416937
                    ],[
                        14.589843749999998,57.604221411628735
                    ],[
                        13.590087890625,58.15331598640629
                    ],[
                        11.953125,57.955674494979526
                    ],[
                        11.810302734375,58.76250326278713
                    ]
                ],"type": "LineString"
            },"properties": {
                "stroke": "#fc1717","stroke-opacity": 1,"stroke-width": 2
            },"type": "Feature"
        },{
            "geometry": {
                "coordinates": [
                    [
                        14.9468994140625,57.7569377956732
                    ],[
                        15.078735351562498,58.06916140721414
                    ],[
                        15.4302978515625,58.09820267068277
                    ],[
                        15.281982421875002,58.318144965188246
                    ],[
                        15.4852294921875,58.36427519285588
                    ]
                ],"properties": {
                "stroke": "#1f1a95","type": "Feature"
        }
    ],"type": "FeatureCollection"
}
m = folium.Map(location=[ 56.7,12.9],zoom_start=6)
folium.GeoJson(geoJsonData,style_function=lambda x: {
        'color' : x['properties']['stroke'],'weight' : x['properties']['stroke-width'],'opacity': 0.6,'fillColor' : x['properties']['fill'],}).add_to(m)
m

git hub上的folium代码包括几个不错的例子:
    https://github.com/python-visualization/folium/tree/master/examples
在这里您可以找到可供选择的选项:
    http://leafletjs.com/reference.html#path-options

希望这能带给你前进!

总结

以上是编程之家为你收集整理的python – 在folium中绘制带有地理数据帧的彩色多边形全部内容,希望文章能够帮你解决python – 在folium中绘制带有地理数据帧的彩色多边形所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶