web-dev-qa-db-ja.com

フォリウムマップにデータフレームから緯度経度ポイントをプロットする-iPython

緯度/経度座標のデータフレームがあります

latlon
(51.249443914705175, -0.13878830247011467)
(51.249443914705175, -0.13878830247011467)
(51.249768239976866, -2.8610415615063034)
...

これらをFoliumマップにプロットしたいのですが、各行を反復する方法がわかりません。

どんな助けもいただければ幸いです、事前にありがとう!

7
hsquared

これで問題を解決できます

import folium
mapit = None
latlon = [ (51.249443914705175, -0.13878830247011467), (51.249443914705175, -0.13878830247011467), (51.249768239976866, -2.8610415615063034)]
for coord in latlon:
    mapit = folium.Map( location=[ coord[0], coord[1] ] )

mapit.save( 'map.html')

編集(マーカーを使用)

import folium
latlon = [ (51.249443914705175, -0.13878830247011467), (51.249443914705175, -0.13878830247011467), (51.249768239976866, -2.8610415615063034)]
mapit = folium.Map( location=[52.667989, -1.464582], zoom_start=6 )
for coord in latlon:
    folium.Marker( location=[ coord[0], coord[1] ], fill_color='#43d9de', radius=8 ).add_to( mapit )

mapit.save( 'map.html')

このリファレンスを使用すると素晴らしいでしょう: https://github.com/python-visualization/folium

7
stuartnox

以下は私がそれをどのように行ったかです、私は実際に例のノート(色、ポップアップなどを追加する)をまとめようとしています。私はまだねじれを解決していますが、ここで見つけることができます:

https://github.com/collinreinking/longitude_latitude_dot_plots_in_python_with_folium

import folium
import pandas as pd

#create a map
this_map = folium.Map(prefer_canvas=True)

def plotDot(point):
    '''input: series that contains a numeric named latitude and a numeric named longitude
    this function creates a CircleMarker and adds it to your this_map'''
    folium.CircleMarker(location=[point.latitude, point.longitude],
                        radius=2,
                        weight=0).add_to(this_map)

#use df.apply(,axis=1) to "iterate" through every row in your dataframe
data.apply(plotDot, axis = 1)


#Set the zoom to the maximum possible
this_map.fit_bounds(this_map.get_bounds())

#Save the map to an HTML file
this_map.save('html_map_output/simple_dot_plot.html')

this_map
8
Collin Reinking