Я работаю над интерактивной картой, чтобы построить различные медицинские учреждения по всей стране.В сети я нашел подходящий файл формы / базы данных (вместе с GeoJson и CSV), который можно использовать для этого проекта.
Мне удалось получить места для отображения на карте, но объектимена не появляются.
Согласно печатным полям sf.fields, имена находятся в поле 8, я могу напечатать эти имена как record.record[8]
, и они появятся в консоли.
Однако, когда я установил всплывающее окно как popup=record.record[8].title()
, карта больше не будет загружаться.Он компилируется в консоли и не возвращает ошибок.Что мне здесь не хватает?
Вот что у меня так далеко:
import folium
import pandas
import shapefile
import csv
with open('VA_Facilities.csv', 'r') as data_file:
csv_data = csv.reader(data_file)
myshp = open('data/va_facilities_1.shp', "rb")
mydbf = open('data/va_facilities_1.dbf', "rb")
sf = shapefile.Reader(shp=myshp, dbf=mydbf)
records = sf.shapeRecords()
# Prints the number of records, type of the shape, and fields for the
dataset
print (len(records))
print (sf.shapes()[0].shapeType)
print (sf.fields)
# Prints the first three records for verification reasons
for record in records[:3]:
print (record.record[0], record.shape.points[0], record.record[8])
map=folium.Map(location=[47.1164, -101.2996],zoom_start=4,tiles='CartoDB
positron')
for record in records:
lat, lng = (record.shape.points[0][1],record.shape.points[0][0])
folium.RegularPolygonMarker(
[lat, lng],
popup=record.record[8].title(),
fill_color='#EE1C25',
number_of_sides=5,
radius=5
).add_to(map)
map.save(outfile='Healthcare_Facilities.html')
Изменение значения record.record[0]
на ноль загрузит карту как обычно, но безимена.