0
J'essaie de créer un programme python qui génère une carte Web de folioles avec des données ponctuelles en tant que carte thermique ainsi que des données de limites comme GeoJson. Quand je lance le code ci-dessous en python je reçois des erreurs comme suit:Le programme Folium ne fonctionne pas
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
Voici le code 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")
Merci. Je vais essayer. –