- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为 Folium 编写一个包装器,用于绘制我经常使用的数据。我的类(class)看起来像...
"""
Plot journeys using Folium
"""
import folium
class PlotJourney():
"""
Plot journeys using Folium
"""
def __init__(self, journey,
zoom_start=14,
color='blue',
weight=4,
opacity=1):
"""
Initialise the class.
Parameters
----------
journey : Pandas df
Pandas gps data
zoom_start : int
Zoom level on map (default is 14, if this doesn't capture whole journey then reduce).
color : int
Colour of journey line to be plotted.
weight : int
Thickness of journey line to be plotted.
opacity : int
Opacity of journey line to be lotted.
"""
self.journey = journey
self.zoom_start = zoom_start
self.color = color
self.weight = weight
self.opacity = opacity
self.folium_map = None
def map_journey(self):
"""
Map the journey and plot data points.
Returns
-------
Folium Map object (folium.folium.Map)
"""
self._center_map()
self._plot_journey()
return self.folium_map
def _center_map(self):
"""
Instantiate a Folium map centered on the mid-point of the journey.
"""
mid_gps_point = int(len(self.gps) / 2)
lat = self.journey.get_gps().iloc[mid_gps_point, 1]
lon = self.journey.get_gps().iloc[mid_gps_point, 2]
self.folium_map = folium.Map(location=[gps.lat, gps.lon],
zoom_start=self.zoom_start)
def _plot_journey(self):
"""
Plot the journey on a Folium map.
Returns
-------
"""
points = []
for point in self.gps.itertuples():
points.append(tuple([getattr(point, 'lat'),
getattr(point, 'lon')]))
folium.PolyLine(points,
color=self.color,
weight=self.weight,
opacity=self.opacity).add_to(self.folium_map)
...一些示例数据将是...
> gps.head(60)
time lat lon alt accuracy epoch speed bearing has_speed has_bearing
0 3938 53.388886 -1.467034 51.868667 8.0 1548424516371 4.958602 292.80603 True True
1 4963 53.388907 -1.467131 51.776321 6.0 1548424517371 4.958602 284.70547 True True
2 5958 53.388908 -1.467218 51.696368 6.0 1548424518371 5.487597 278.67032 True True
3 6991 53.388907 -1.467324 51.542282 6.0 1548424519371 6.479943 237.81479 True True
4 7970 53.388867 -1.467443 51.297575 6.0 1548424520371 9.512295 227.80710 True True
5 8974 53.388802 -1.467564 50.852740 6.0 1548424521371 9.512295 229.77907 True True
6 9965 53.388728 -1.467698 50.320224 6.0 1548424522371 10.650246 228.23433 True True
7 10980 53.388656 -1.467838 49.781136 6.0 1548424523371 12.169792 226.67421 True True
8 11975 53.388575 -1.467977 58.991536 6.0 1548424524371 12.833956 224.14210 True True
9 12981 53.388493 -1.468120 59.354830 8.0 1548424525371 12.833956 224.14210 True True
10 13976 53.388403 -1.468257 59.437485 8.0 1548424526371 13.042620 220.66881 True True
11 14979 53.388308 -1.468385 59.708062 6.0 1548424527371 13.238512 215.60231 True True
12 15965 53.388208 -1.468515 59.296351 6.0 1548424528371 13.871293 209.57590 True True
13 16970 53.388101 -1.468622 51.660798 6.0 1548424529371 13.625889 209.57590 True True
14 17961 53.387991 -1.468709 52.981496 6.0 1548424530371 13.625889 202.18289 True True
15 18962 53.387888 -1.468796 53.916590 6.0 1548424531371 12.490627 200.32661 True True
16 19975 53.387784 -1.468875 57.255894 6.0 1548424532371 12.822588 201.84820 True True
17 20965 53.387680 -1.468945 57.119045 6.0 1548424533371 12.490627 207.00688 True True
18 21970 53.387587 -1.469025 57.561872 6.0 1548424534371 12.020948 212.86082 True True
19 22970 53.387507 -1.469108 50.470560 6.0 1548424535371 9.671459 220.38089 True True
20 23991 53.387438 -1.469202 49.985855 6.0 1548424536371 9.671459 221.17906 True True
21 24998 53.387381 -1.469281 50.069660 6.0 1548424537371 8.676711 221.17906 True True
22 26007 53.387338 -1.469342 50.269601 6.0 1548424538371 6.622233 221.17906 True True
23 27004 53.387310 -1.469388 50.465225 6.0 1548424539371 3.526981 230.89244 True True
24 28002 53.387299 -1.469420 50.622989 6.0 1548424540371 3.526981 230.89244 True True
25 28997 53.387297 -1.469439 50.738569 6.0 1548424541371 1.123686 228.41452 True True
26 30032 53.387295 -1.469451 50.819053 6.0 1548424542371 1.029650 223.59712 True True
27 30996 53.387298 -1.469446 50.872083 6.0 1548424543371 0.026778 226.58867 True True
28 32001 53.387300 -1.469447 50.905676 6.0 1548424544371 0.060990 227.13960 True True
29 32977 53.387308 -1.469450 50.926833 8.0 1548424545371 0.053592 227.21925 True True
30 33994 53.387312 -1.469445 50.940148 6.0 1548424546371 0.048401 227.13814 True True
31 34983 53.387313 -1.469440 50.948531 6.0 1548424547371 0.109131 227.43109 True True
32 36002 53.387306 -1.469422 50.952020 6.0 1548424548371 0.052090 227.56128 True True
33 37004 53.387307 -1.469418 50.947837 6.0 1548424549372 0.041504 227.60867 True True
34 37995 53.387308 -1.469413 50.942715 6.0 1548424550372 0.071604 227.62416 True True
35 38985 53.387311 -1.469413 50.937452 6.0 1548424551372 0.046862 227.85240 True True
36 39994 53.387314 -1.469416 50.933595 6.0 1548424552372 0.069447 227.83664 True True
37 40998 53.387316 -1.469416 50.931678 6.0 1548424553372 0.052803 227.86447 True True
38 42001 53.387309 -1.469413 50.930216 6.0 1548424554372 0.069447 230.89244 True True
39 42999 53.387305 -1.469425 50.929122 6.0 1548424555372 1.181171 230.89244 True True
40 43997 53.387290 -1.469460 50.933373 6.0 1548424556372 4.368997 230.89244 True True
41 44996 53.387263 -1.469523 50.943439 6.0 1548424557372 4.368997 234.79124 True True
42 46004 53.387234 -1.469605 50.950515 6.0 1548424558372 5.774909 236.01671 True True
43 47005 53.387209 -1.469700 50.955048 6.0 1548424559372 7.456284 236.01671 True True
44 47998 53.387169 -1.469818 50.957904 6.0 1548424560372 10.010792 246.38654 True True
45 48997 53.387135 -1.469969 50.981900 6.0 1548424561372 10.010792 251.24115 True True
46 49999 53.387109 -1.470143 51.070027 6.0 1548424562372 11.330110 257.62120 True True
47 51003 53.387085 -1.470334 51.175718 6.0 1548424563372 13.143827 265.61157 True True
48 52005 53.387072 -1.470541 51.310900 6.0 1548424564372 14.031583 268.02994 True True
49 53000 53.387072 -1.470769 51.528922 6.0 1548424565372 14.031583 273.96310 True True
50 54008 53.387085 -1.471001 51.825265 6.0 1548424566372 14.883696 276.29077 True True
51 55127 53.387101 -1.471232 52.054645 6.0 1548424567372 15.086695 275.23720 True True
52 56109 53.387114 -1.471459 52.265689 6.0 1548424568372 15.086695 275.63900 True True
53 57102 53.387134 -1.471680 52.544293 6.0 1548424569372 14.997134 276.34448 True True
54 58111 53.387151 -1.471894 52.807707 6.0 1548424570372 14.283136 276.66174 True True
55 59106 53.387163 -1.472107 52.961442 6.0 1548424571372 14.186031 276.77936 True True
56 60108 53.387178 -1.472321 53.084145 6.0 1548424572372 14.186031 276.85873 True True
57 61100 53.387191 -1.472531 53.158330 6.0 1548424573372 14.126818 277.44763 True True
58 62104 53.387203 -1.472731 53.205148 6.0 1548424574372 13.779898 278.57642 True True
59 63113 53.387219 -1.472923 53.471567 6.0 1548424575372 12.568898 278.76767 True True
当我在 Jupyter Notebook 中加载该类时,实例化并调用 map_journey()
方法(该方法创建 map 和绘图线),返回的只是内存中对象的地址,而我期待着 map 本身被渲染......
PlotJourney(gps)
<__main__.PlotJourney at 0x7f35a9bc2518>
如果我提取关键步骤并在笔记本中以交互方式运行它们,它会呈现良好的效果...
m = folium.Map([gps.lat[0], gps.lon[0]], zoom_start=15)
points = []
for point in gps2.itertuples():
points.append(tuple([getattr(point, 'lat'),
getattr(point, 'lon')]))
folium.PolyLine(points).add_to(m)
m
如果有人指出我在类里面出错的地方,我将非常感激。
最佳答案
这是一个命名问题,你有旅程
与gps
。我更改了center_map和plot_journey中的名称。要调用该函数,请运行 PlotJourney(gps).map_journey()
"""
Plot journeys using Folium
"""
import folium
class PlotJourney():
"""
Plot journeys using Folium
"""
def __init__(self, journey,
zoom_start=14,
color='blue',
weight=4,
opacity=1):
"""
Initialise the class.
Parameters
----------
journey : Pandas df
Pandas gps data
zoom_start : int
Zoom level on map (default is 14, if this doesn't capture whole journey then reduce).
color : int
Colour of journey line to be plotted.
weight : int
Thickness of journey line to be plotted.
opacity : int
Opacity of journey line to be lotted.
"""
self.journey = journey
self.zoom_start = zoom_start
self.color = color
self.weight = weight
self.opacity = opacity
self.folium_map = None
def _center_map(self):
"""
Instantiate a Folium map centered on the mid-point of the journey.
"""
mid_gps_point = int(len(self.journey) / 2)
lat = self.journey.iloc[mid_gps_point, 1]
lon = self.journey.iloc[mid_gps_point, 2]
self.folium_map = folium.Map(location=[lat, lon],
zoom_start=self.zoom_start)
def _plot_journey(self):
"""
Plot the journey on a Folium map.
Returns
-------
"""
points = []
for point in self.journey.itertuples():
points.append(tuple([getattr(point, 'lat'),
getattr(point, 'lon')]))
folium.PolyLine(points,
color=self.color,
weight=self.weight,
opacity=self.opacity).add_to(self.folium_map)
def map_journey(self):
"""
Map the journey and plot data points.
Returns
-------
Folium Map object (folium.folium.Map)
"""
self._center_map()
self._plot_journey()
return self.folium_map
关于python - 渲染 Folium 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55259682/
在我的 OpenGL 程序中,我按顺序执行以下操作: // Drawing filled polyhedrons // Drawing points using GL_POINTS // Displa
我想传递一个包含原始页面的局部变量,这个变量只包含一个带有值的符号。 当我使用此代码时,它运行良好,可以在部分中访问 origin 变量: render :partial => "products",
为什么这个 HTML/脚本(来自“JavaScript Ninja 的 secret ”)不渲染? http://jsfiddle.net/BCL54/
我想在阅读完 View 后返回到特定的网页位置(跳转到页内 anchor )。换句话说,在 views.py 中,我想做类似的事情: context={'form':my_form} return r
我有一个包含单条折线的 PathGeometry,并以固定的间隔向该线添加一个新点(以绘制波形)。使用 Perforator 工具时,我可以看到每次向直线添加一个点时,WPF 都会将整个 PathGe
尝试了解如何消除或最小化网站上不同 JavaScript 库的渲染延迟。 例如,如果我想加载来自许多社交网络的“即时”关注按钮,它们似乎会相互阻止渲染,并且您会收到令人不快的弹出窗口。 (func
我有以 xyz 点格式表示 3D 表面(即地震断层平面)的数据。我想创建这些表面的 3D 表示。我使用 rgl 和 akima 取得了一些成功,但是它无法真正处理可能会自行折叠或在同一 x,y 点具有
我正在用 Libgdx 编写一个小游戏。 我有一个 Render[OpenGL] 线程,它不断对所有对象调用 render() 和一个更新线程不断对所有对象调用 update(double delta
我有一个 .Rmd 文件包含: ```{r, echo=FALSE, message=FALSE, results='asis'} library(xtable) print(xtable(group
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
请不要评判我,我只是在学习 Swift。 最近我安装了 MetalPetal 框架,并按照说明操作: https://github.com/MetalPetal/MetalPetal#example-
如果您尝试渲染 Canvas 宽度和高度之外的图像,计算机是否仍会尝试渲染它并使用资源来尝试渲染它?我只是想找出在尝试渲染图像之前检查图像是否在 Canvas 内是否更好。 最佳答案 我相信它仍然在无
我在 safari 中渲染时遇到问题。 在 firefox、chrome 和 IE 上。如下图所示: input.searchbox{-webkit-border-radius:10px;-moz-b
我正在尝试通过远程桌面在 Windows7 下运行我在 RHEL7 服务器中制作的 java 程序。 服务器中的所有java程序都无法通过远程桌面呈现。如果我在服务器位置访问服务器本身,它们看起来没问
我正处于一个新项目的设计阶段,该项目将采用数据集并将其加载到文档中,然后围绕模板呈现文档。呈现的文件可以是 CSV 数据集、PDF 营销信函、电子邮件……很多东西。数据不会是数学方程式,我只是在寻找一
有没有办法在不同的 div 下渲染 React 组件的子组件? ... ... ... ... ...
使用以下代码: import numpy as np from plotly.offline import iplot, init_notebook_mode import plotly.graph_
截至最近, meteor 的所有文档都指出 onRendered是一种在模板完成渲染时获取回调的新方法。和 rendered只是为了向后兼容。 但是,这似乎对我不起作用。 onRendered永远不会
所以在我的基本模板中,我有:{% render "EcsCrmBundle:Module:checkClock" %} 然后我创建了 ModuleController.php ... getDoctr
我正在使用 vue-mathjax 来编译我的 vue 项目中的数学方程。它正在编译第一个括号 () 之间的文本。我想防止编译括号内的字符串。在文档中我发现,对于$符号,如果我们想逃避编译,我们需要使
我是一名优秀的程序员,十分优秀!