Нарисуйте клетки S2, используя фолиум - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь охватить регион ячейками Google s2 и показать их на картах с помощью фолиума:

1) Область покрытия

def return_polygons(covering):

geoms = []

for cellid in covering:
    new_cell = Cell(cellid)
    vertices = []
    for i in range(0, 4):
        vertex = new_cell.get_vertex(i)
        latlng = LatLng.from_point(vertex)
        vertices = vertices + [[latlng.lat().degrees, latlng.lng().degrees]]

    geo = Polygon(vertices)

    geoms.append(geo)
    return geoms
polygons = return_polygons(covering)

2) Получите:

geopandas.GeoSeries(polygons[0]).to_json()

'{"type": "FeatureCollection", "features": [{"id": "0", "type": "Feature", "properties": {}, "geometry": {"type" : "Полигон", "координаты": [[[51.25717221746951, 29.99451832039972], [51.265801691038455, 30.004725462921563], [51.270012753116234, 29.9897878000882574], [51.2613809628, 291) 295 291 295 291 295 951 7957951485295951451951451451451455295951451455295291451451455295951451455295951455295951951951951951951951951951951451951958951482958951485951485951482951959291481959372959372959372959372255959295255959372959379959372-2957-95-95-95-37-95-95-95-95-95-95-95-95-95-95-95 , 29.97957594186747, 51.270012753116234, 30.004725462921563]}], "bbox": [51.25717221746951, 29.97957594186747, 51.270012753116234, 30.004725462921563]} '

3) Показать его на карте, но оно ничего не показывает:

m = folium.Map([55.75, 37.61], zoom_start=10)

style_function = lambda x: {'weight': 1, 'fillColor':'#eea500'}

folium.GeoJson(geopandas.GeoSeries(polygons[0]).to_json(), 
style_function=style_function).add_to(m)

folium.LayerControl().add_to(m)

m
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...