Python 은 folium excel 을 사용 하여 point 를 그립 니 다.
제작 내용
기상대 자료 에서 얻 은 점 에 따라 그립 니 다4.567917.특별한 점 에 대해 특별한 표 시 를 한다데이터 출처
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : map03.py
# @Author: huifer
# @Date : 2018/6/28
import pandas as pd
import math
import folium
def degree_conversion_decimal(x):
"""
:param x: float
:return: integer float
"""
integer = int(x)
integer = integer + (x - integer) * 1.66666667
return integer
def distance(origin, destination):
"""
:param origin:
:param destination:
:return:
"""
lat1, lon1 = origin
lat2, lon2 = destination
radius = 6371 # km
dlat = math.radians(lat2 - lat1)
dlon = math.radians(lon2 - lon1)
a = math.sin(dlat / 2) * math.sin(dlat / 2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dlon / 2) * math.sin(dlon / 2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
d = radius * c
return d
#
data = pd.read_excel('SURF_CHN_MUL_HOR_STATION.xlsx')
# 1
data[' '] = data[' '].apply(degree_conversion_decimal)
data[' '] = data[' '].apply(degree_conversion_decimal)
data[' ( )'] = data[' ( )'].apply(lambda x: round(x, 1))
data[' ( )'] = data[' ( )'].apply(lambda x: round(x, 1))
#
# data.to_csv(' .csv')
data[" (km)"] = data.apply(lambda r: distance((r[' '], r[' ']), (30.14, 120.1)), axis=1)
# print(data[data[' (km)']<100].sort_values(' (km)'))
#
selected_st = data[data[' (km)'] < 100].sort_values(' (km)').iloc[1::]
#
#
hzdata = data.ix[data[' '] == ' ', [' ', ' ', ' ']]
myMap = folium.Map(location=[hzdata.iloc[0][' '], hzdata.iloc[0][' ']])
icon_hz = dict(
prefix='fa', color='red', icon_color='darkred', icon='cny'
)
icon = folium.Icon(**icon_hz)
folium.Marker(
location=[hzdata.iloc[0][' '], hzdata.iloc[0][' ']],
popup=" ",
icon=icon
).add_to(myMap)
for i in range(len(selected_st)):
name = selected_st.iloc[i][' ']
x = selected_st.iloc[i][' ']
y = selected_st.iloc[i][' ']
test = folium.Html(
'<b>name:{}</b></br> <b>x:{}</b></br> <b>y:{}</b></br>'.format(name, x, y),
script=True)
popup = folium.Popup(test, max_width=2650)
folium.Marker(
location=[x, y],
popup=popup,
).add_to(myMap)
myMap.save("test.html")
성과 전시총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.