Python 은 folium excel 을 사용 하여 point 를 그립 니 다.

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")
성과 전시

총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

좋은 웹페이지 즐겨찾기