Folium Polylines соединяет участки с Python - PullRequest
0 голосов
/ 09 мая 2018

Я работаю над библиотекой Python Folium Map, и она соединяет две разные точки (PolyLine), есть ли лучший пример с folium, который не соединяет линии на карте, или я могу покрасить их уникальными идентификаторами,

Я пытался сделать что-то с JSON с моими данными, но это не сработало с моим кодом, но все же он соединяет все разные строки, как указано на картинке ниже? Кто-нибудь может предложить какое-либо лучшее решение, которое не соединяет эти линии, но мне все равно нужно использовать фолиум.

lat = filteredData.lat
lon = filteredData.lon

data = {
    'type': 'FeatureCollection',
    'features': [
        {
            'type': 'Feature',
            'geometry': {
                'type': 'LineString',
                'coordinates': [[lon, lat] for (lat, lon) in zip(lat, lon)],
            },
            'properties': {'fillcolor': 'black'}
        },
    ],
}


m = folium.Map(location=[36.862317, -76.3151], zoom_start=6)
m.add_child(folium.features.GeoJson(data))
m

это ссылка, которую я использую

enter image description here s.

1 Ответ

0 голосов
/ 10 мая 2018

Скорее всего, проблема возникает из-за того, что у вас есть только одна особенность в определении geojson. Вы должны делать что-то вроде этого:

data = {
    'type': 'FeatureCollection',
    'features': [
        {
            'type': 'Feature',
            'geometry': {
                'type': 'LineString',
                'coordinates': [[lon, lat] for lat, lon in zip(lats, lons)],
            },
            'properties': {'fillcolor': 'black'}
        }
        for (lats, lons) in zip(latss, lonss)],
}

Здесь и lats, и lons являются списками чисел. Следовательно, latss и lonss являются списками списков чисел. Каждая пара (lats, lons) описывает одну строку.

...