Попытка применить плитку покрытия на карте листа

Я пытаюсь создать html-файл, используя библиотеку «folium» в Python, а затем применяю плитку покрытия с помощью API «Mapillary», но он не отображается при применении этого слоя.

Странно то, что в программе QGIS я получаю этот слой:

Попытка применить плитку покрытия на карте листа

Это мой код, генерирующий html:

def create_map():
    my_map = folium.Map(location=[50, 0], zoom_start=8)

    vector_tile_url = "https://tiles.mapillary.com/maps/vtp/mly1_public/{z}/{x}/{y}?access_token = " + os.getenv(
        "MAPILLARY_API_KEY")

    attribution = "Map data &copy; <a href='https://mapillary.com'>Mapillary</a> contributors"

    folium.TileLayer(vector_tile_url, name = "mapillary", attr=attribution, overlay=True).add_to(my_map)

    folium.LayerControl().add_to(my_map)

    my_map.save("map_with_vector_tiles.html")

    print("Map with vector tiles saved as map_with_vector_tiles.html")
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, что Mapillary использует буферы протокола . Итак, может быть, вам нужен VectorGridProtobuf ?

import os
import folium

m = folium.Map(location=[0, 0], zoom_start=2, width = "80%", height = "70%")

url = (
    "https://tiles.mapillary.com/maps/vtp/"
    "mly1_public/2/{z}/{x}/{y}?access_token = {token}"
)

options = {
    "token": os.getenv("MAPILLARY_API_KEY"),
    "vectorTileLayerStyles": {
        "overview": {
            "fill": True,
            "radius": 5,
            "color": "#e87147",
            "opacity": 0.6,
        },
    },
}

pbf = folium.plugins.VectorGridProtobuf(url, "mapillary", options)
pbf.__dict__["overlay"] = True # otherwise, TypeError
pbf.add_to(m)

folium.LayerControl().add_to(m)

# m.save("map.html") # uncomment to make an html

Примечание. Не стесняйтесь добавлять стили для двух других слоев плиток покрытия: последовательности и изображения.

Вывод (m, в Jupyter):

Другой вид (в центре 50/0, показывающий последовательности/линии):

Другие вопросы по теме