Программа Folium не работает

Я пытаюсь создать программу на языке Python, которая генерирует веб-карту листовки с некоторыми точечными данными в виде тепловой карты, а также некоторыми граничными данными, такими как GeoJson. Когда я запускаю приведенный ниже код в python, я получаю следующие ошибки:

Traceback (most recent call last):
  File "pollingstations.py", line 12, in <module>
    src = json.load(open('pollstations.geojson'))
  File "C:\Python27\ArcGIS10.3\lib\json\__init__.py", line 290, in load
    **kw)
  File "C:\Python27\ArcGIS10.3\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\ArcGIS10.3\lib\json\decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\ArcGIS10.3\lib\json\decoder.py", line 381, in raw_decode
    obj, end = self.scan_once(s, idx)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xcd in position 2: invalid continuation byte

Вот код Python.

#---------------------------------------------------------------------------

    ----
# Name:
# Purpose:
#-------------------------------------------------------------------------------
import json
import folium

from folium.plugins import HeatMap
from folium.plugins import MarkerCluster

# Read the geojson file with mpesa data
src = json.load(open('pollstations.geojson'))

# Loop through the data structure extracting coordinates
# "features": [
# { "properties": {"GPS_Latitu":-0.100300,"GPS_Longit":34.751370,"Other_Busi": null..

coords, popup = [], []
for row in src['features']:
    popup.append(row['properties']['Polling_St'], row['properties']['Ward'], row['properties']['Constituenc'], row['properties']['County'])
    coords.append((row['properties']['Latitude'], row['properties']['Longitude']))

# Create a map instance
mp = folium.Map([0.0236, 37.9062], zoom_start = 6)

# Create feature groups for layer controls
kenH = folium.FeatureGroup("Heatmap")
kenC = folium.FeatureGroup("Cluster")
kenW = folium.FeatureGroup("Wards")
kenA = folium.FeatureGroup("Constituency")
kenB = folium.FeatureGroup("County")

kenC.add_children(MarkerCluster(locations=coords, popups=popup))
kenH.add_children(HeatMap(coords))

folium.GeoJson(open("counties.geojson"), name = "County").add_to(kenB)
folium.GeoJson(open("constituencies.geojson"), name = "Constituency").add_to(kenA)
folium.GeoJson(open("wards.geojson"), name = "Wards").add_to(kenW)

mp.add_children(kenB)
mp.add_children(kenA)
mp.add_children(kenW)
mp.add_children(kenmC)
mp.add_children(kenH)

mp.add_children(folium.LayerControl())

mp.save("pollingstations_kenya.html")

1 ответ

Пытаться open('pollstations.geojson', encoding="utf-8") или же open('pollstations.geojson', encoding = "ISO-8859-1")Плюс проверить имена тегов, округ или страну?

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