我们将图层输出(Export)成 GeoJSON
,点开来可以看到这些 json
的文字讯息
{
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"full_id": "n1839325691",
"osm_id": 1839325691,
"osm_type": "node",
"amenity": "kindergarten",
"short_name": null,
"name:nan-TL": null,
"name:nan-POJ": null,
"name:nan": null,
"language:zh": null,
"operator:type": null,
"full_name": null,
"alt_name": null,
"addr:unit": null,
"toilets": null,
"wheelchair:description": null,
"start_date": null,
"capacity": null,
"name:th": null,
"official_name": null,
"disused:name": null,
"disused:amenity": null,
"wheelchair": null,
"toilets:wheelchair": null,
"layer": null,
"opening_hours": null,
"name:fa": null,
"facebook": null,
"email": null,
"level": null,
"wikipedia": null,
"wikidata": null,
"old_name": null,
"name:ja": null,
"preschool": null,
"name:zh": null,
"name:en": null,
"operator": null,
"religion": null,
"denomination": null,
"addr:floor": null,
"website": null,
"phone": null,
"fax": null,
"branch": null,
"addr:full": null,
"addr:street": null,
"addr:postcode": null,
"addr:housenumber": null,
"addr:housename": null,
"addr:district": null,
"addr:country": null,
"addr:city": null,
"office": null,
"name": "达人托儿所"
},
"geometry": {
"type": "Point",
"coordinates": [
121.5715472,
25.0840952
]
}
},
但其实我们到这边把刚刚的 GeoJSON
汇入进去会出现:
会是一个很酷的地理位置 JSON 档。
我们来写一个程序点出(pin) 自己的位置跟某个学校的位置!
import folium # 汇入 folium 套件
import json
self_coordinates = [25.01206450477216, 121.5414458747392]
fitness_coordinates = []
fmap = folium.Map(location=self_coordinates, zoom_start=15)
fmap.save("test.html")
会以自己设定的座标为正中心的位置,如下图。
这样看不出来自己到底位置在哪里,那我们加个东西!
已经可以看出我把自己定位在台科大
import folium # 汇入 folium 套件
import json
self_coordinates = [25.01206450477216, 121.5414458747392]
fitness_coordinates = []
fmap = folium.Map(location=self_coordinates, zoom_start=15)
tooltip ='请点选我检视该点资讯'
popup = folium.Popup('目前所在地', max_width=500)
folium.Marker(location = self_coordinates,
popup=popup,
icon=folium.Icon(color='red')).add_to(fmap)
fmap.save("test.html")
folium.map.Popup(html=None, parse_html=False, max_width='100%', show=False, sticky=False, **kwargs)
html
(string or Element) – Popup 里面的文字max_width
(int for pixels or text for percentages, default '100%') – 整数,Popup 最大宽度。show
(bool, default False) – Loading 这个页面之後是否直接显示(default: False
)import folium # 汇入 folium 套件
import json
self_coordinates = [25.01206450477216, 121.5414458747392]
fitness_coordinates = []
fmap = folium.Map(location=self_coordinates, zoom_start=15)
tooltip ='请点选我检视该点资讯'
popup = folium.Popup('目前所在地', max_width=500)
folium.Marker(location = self_coordinates,
popup=popup,
icon=folium.Icon(color='red')).add_to(fmap)
path = 'school.geojson'
with open(path, 'r', encoding='utf-8') as f:
school = json.load(f) # taipei_fitness type :dict
school_list = school['features'] # 我们要找的是 key: feature
school_coordinates = []
for mark in school_list:
mark['geometry']['coordinates'].reverse()
school_coordinates.append(mark['geometry']['coordinates'])
for m in school_coordinates:
folium.Marker(location=m,
icon=folium.Icon(color='blue')).add_to(fmap)
fmap.save("test.html")
我们也可以透过 程序码 来把每一个点都点出来
明天可以继续来讲解如何透过这些 feature 来算,可能距离我们最近的学校等等等等。
有很多功能都可以搭配一起进来,也可以透过这个计算位址,传送回 Line Chatbot
<<: 【从实作学习ASP.NET Core】Day23 | 前台 | Session 购物车 (1)
>>: 【Side Project】 订单清单 - 资料库新增状态栏位
上一篇漏掉了一个主类别的函数: void anotherInstanceStarted (const...
导览列(Navigation)是每个网站必要且重要的元件,当使用者进到网页想马上找寻想要的资讯,好的...
每次要用到绝对定位和相对定位时,我都会忘记他们分别代表的是什麽,又再google一次,这次决定好好把...
初学者升级啦 YA!30天了~代表我连续 30 天学习 JS 了!(拍手~) 第一次参加铁人赛,其实...
最近因为工作的需求需要写 C#, 就是QA Q 到写 C# 的概念, 想说可以边学习边做个纪录顺便分...