In [3]:
%matplotlib inline
#from __future__ import print_function
from ipyleaflet import (
Map,
Marker,
TileLayer, ImageOverlay,
Polyline, Polygon, Rectangle, Circle, CircleMarker,
GeoJSON,
DrawControl
)
def add_rectangle_perimeter(m, long_min, long_max, lat_min, lat_max):
print("perimeter: long_min>=%f, long_max<=%f, lat_min>=%f, lat_max<=%f" % (long_min, long_max, lat_min, lat_max))
rectangle = {"type": "Feature", \
#"properties": {"operator": operateur}, \
"geometry": { "type" : "Polygon", \
"coordinates": [[[long_min, lat_min],[long_min, lat_max],[long_max, lat_max],[long_max, lat_min],[long_min, lat_min]]]
} }
my_style = {
"color": 'black', # color of the polygone outline
"weight": 1, # weight of the polygone outline
"opacity": 0.5, # opacity of the polygone outline
"fillColor": 'grey', # color inside the polygon
"fillOpacity": 0, # opacity inside the polygon
"stroke-dasharray":'5, 10'
};
g = GeoJSON(data=rectangle, style=my_style)
m.add_layer(g)
# draw a rectangle around Lannion (well... more or less)
# https://tools.wmflabs.org/geohack/geohack.php?pagename=Lannion¶ms=48.7333_N_3.4542_W_type:city(19733)_region:FR-BRE
# 48.7333, -3.4542
long_min = -3.5
long_max = -3.4
lat_min = 48.7
lat_max = 48.8
zoom = 11
map_center = [(lat_max + lat_min)/2, (long_min + long_max)/2 ]
m = Map(center=map_center, zoom=zoom)
add_rectangle_perimeter(m, long_min, long_max, lat_min, lat_max)
m
In [ ]: