首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ipyleaflet地图的顶部显示shapely MultiPolygon

在ipyleaflet地图的顶部显示shapely MultiPolygon
EN

Stack Overflow用户
提问于 2020-03-16 21:34:52
回答 1查看 425关注 0票数 2

我不知道是否有其他软件包可以轻松完成我想要做的事情,但是有没有办法在ipyleadfet地图的顶部添加一个图层到shaply MultiPolygon上?

下面是一个代码示例:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
from shapely.geometry import Point
from shapely.ops import unary_union
from ipyleaflet import Map, basemaps, basemap_to_tiles,AntPath,Marker, MarkerCluster
%matplotlib inline

c1 = Point(33.1,32.8).buffer(0.1)
c2 = Point(33.1,34.8).buffer(1)
c3 = Point(33.1,36.8).buffer(1)
C = [c1,c2,c3]
D=unary_union(C)
type(D)

shapely.geometry.multipolygon.MultiPolygon

代码语言:javascript
复制
D

代码语言:javascript
复制
# Testing ipyleaflet
Tel_aviv_lat_lon = (33.109333, 34.855499)
m = Map(center=Tel_aviv_lat_lon, zoom=10)

dark_matter_layer = basemap_to_tiles(basemaps.OpenStreetMap.Mapnik)
m.add_layer(dark_matter_layer)
m

如何在地图顶部添加D (shapely.geometry.multipolygon.MultiPolygon对象)?

EN

回答 1

Stack Overflow用户

发布于 2021-02-01 00:34:27

嘿,我偶然发现了这个问题,一个简单的方法是将有形状的多边形转换成WKT,然后添加一个WKTLayer

如下所示:

代码语言:javascript
复制
from shapely.geometry import Point
from shapely.ops import unary_union
from ipyleaflet import Map, WKTLayer

c1 = Point(32.8,33.1).buffer(0.1)
c2 = Point(33.1,34.8).buffer(1)
c3 = Point(33.1,36.8).buffer(1)
C = [c1,c2,c3]
D=unary_union(C)

m = Map(center=(35, 35), zoom=6)

wlayer = WKTLayer(
    wkt_string=D.wkt,
)

m.add_layer(wlayer)

m

我和协奏者们玩了一会儿,这样他们就会感觉到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60706996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档