如何将填充背景添加到大叶的圆中?

如何解决如何将填充背景添加到大叶的圆中?

有什么方法可以添加图案填充,例如在大叶中填充图案填充背景吗?可以使用GeoJSON对象和folium.plugins.StripePattern(https://github.com/python-visualization/folium/blob/master/tests/plugins/test_pattern.py)对多边形使用阴影填充,但是我没有看到圆形的实现,也没有运气。 / p>

功能在带有https://github.com/teastman/Leaflet.pattern的传单中可用,例如:

        var myPattern = new L.StripePattern({ angle: -45,weight: 3,color: 'black',opacity: 1.0});
        myPattern.addTo(m);
        var circle = new L.Circle([42,-105],40000,{fillPattern: myPattern,fillOpacity: 1.0});
        circle.addTo(m);

最坏的情况下,我可以将传单代码直接写到html文件中。

解决方法

我创建了一个函数来解决我的问题。该函数的参数是圆的位置(经度/纬度)的numpy数组,以及圆的半径(以米为单位)的浮点数。

#Function to inject leaflet hatching code for circles
def injectHatch_f(xO_v,yO_v,rO):

    #Get map name
    mName = m.get_name()

    #Generate javascript (note use of Jinja2 tags to place javascript code after map is initialized): https://github.com/python-visualization/folium/issues/854
    js = '''{{% macro script(this,kwargs) %}}
    var myPattern = new L.StripePattern({{ angle: -45,weight: 3,color: 'black',opacity: 1.0}});
    myPattern.addTo({0});
    '''.format(mName) + \
    '\n'.join(["var circle = new L.Circle([{1},{2}],{3},{{fillPattern: myPattern,fillOpacity: 1.0}}).addTo({0});".format(mName,yO_v[i],xO_v[i],rO) for i in range(xO_v.shape[0])]) + \
    '{% endmacro %}'

    #Add leaflet pattern plugin
    m.get_root().html.add_child(JavascriptLink('https://teastman.github.io/Leaflet.pattern/leaflet.pattern.js'))

    #Inject javascript code
    element = folium.MacroElement().add_to(m)
    element._template = jinja2.Template(js)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?