|
30 | 30 | "import geopandas as gpd\n", |
31 | 31 | "import movingpandas as mpd\n", |
32 | 32 | "import shapely as shp\n", |
33 | | - "import hvplot.pandas \n", |
| 33 | + "import hvplot.pandas\n", |
34 | 34 | "import matplotlib.pyplot as plt\n", |
35 | 35 | "\n", |
36 | 36 | "from geopandas import GeoDataFrame, read_file\n", |
|
39 | 39 | "from holoviews import opts, dim\n", |
40 | 40 | "\n", |
41 | 41 | "import warnings\n", |
42 | | - "warnings.filterwarnings('ignore')\n", |
43 | 42 | "\n", |
44 | | - "plot_defaults = {'linewidth':5, 'capstyle':'round', 'figsize':(9,3), 'legend':True}\n", |
45 | | - "opts.defaults(opts.Overlay(active_tools=['wheel_zoom']))\n", |
46 | | - "hvplot_defaults = {'tiles':'CartoLight', 'frame_height':320, 'frame_width':320, 'cmap':'Viridis', 'colorbar':True}\n", |
| 43 | + "warnings.filterwarnings(\"ignore\")\n", |
| 44 | + "\n", |
| 45 | + "plot_defaults = {\"linewidth\": 5, \"capstyle\": \"round\", \"figsize\": (9, 3), \"legend\": True}\n", |
| 46 | + "opts.defaults(opts.Overlay(active_tools=[\"wheel_zoom\"]))\n", |
| 47 | + "hvplot_defaults = {\n", |
| 48 | + " \"tiles\": \"CartoLight\",\n", |
| 49 | + " \"frame_height\": 320,\n", |
| 50 | + " \"frame_width\": 320,\n", |
| 51 | + " \"cmap\": \"Viridis\",\n", |
| 52 | + " \"colorbar\": True,\n", |
| 53 | + "}\n", |
47 | 54 | "\n", |
48 | 55 | "mpd.show_versions()" |
49 | 56 | ] |
|
62 | 69 | "metadata": {}, |
63 | 70 | "outputs": [], |
64 | 71 | "source": [ |
65 | | - "df = pd.DataFrame([\n", |
66 | | - " {'geometry':Point(0,0), 't':datetime(2018,1,1,12,0,0)},\n", |
67 | | - " {'geometry':Point(6,0), 't':datetime(2018,1,1,12,6,0)},\n", |
68 | | - " {'geometry':Point(6,6), 't':datetime(2018,1,1,12,10,0)},\n", |
69 | | - " {'geometry':Point(9,9), 't':datetime(2018,1,1,12,15,0)}\n", |
70 | | - "]).set_index('t')\n", |
| 72 | + "df = pd.DataFrame(\n", |
| 73 | + " [\n", |
| 74 | + " {\"geometry\": Point(0, 0), \"t\": datetime(2018, 1, 1, 12, 0, 0)},\n", |
| 75 | + " {\"geometry\": Point(6, 0), \"t\": datetime(2018, 1, 1, 12, 6, 0)},\n", |
| 76 | + " {\"geometry\": Point(6, 6), \"t\": datetime(2018, 1, 1, 12, 10, 0)},\n", |
| 77 | + " {\"geometry\": Point(9, 9), \"t\": datetime(2018, 1, 1, 12, 15, 0)},\n", |
| 78 | + " ]\n", |
| 79 | + ").set_index(\"t\")\n", |
71 | 80 | "geo_df = GeoDataFrame(df, crs=31256)\n", |
72 | 81 | "toy_traj = mpd.Trajectory(geo_df, 1)\n", |
73 | 82 | "toy_traj.df" |
|
79 | 88 | "metadata": {}, |
80 | 89 | "outputs": [], |
81 | 90 | "source": [ |
82 | | - "df = pd.DataFrame([\n", |
83 | | - " {'geometry':Point(3,3), 't':datetime(2018,1,1,12,0,0)},\n", |
84 | | - " {'geometry':Point(3,9), 't':datetime(2018,1,1,12,6,0)},\n", |
85 | | - " {'geometry':Point(2,9), 't':datetime(2018,1,1,12,10,0)},\n", |
86 | | - " {'geometry':Point(0,7), 't':datetime(2018,1,1,12,15,0)}\n", |
87 | | - "]).set_index('t')\n", |
| 91 | + "df = pd.DataFrame(\n", |
| 92 | + " [\n", |
| 93 | + " {\"geometry\": Point(3, 3), \"t\": datetime(2018, 1, 1, 12, 0, 0)},\n", |
| 94 | + " {\"geometry\": Point(3, 9), \"t\": datetime(2018, 1, 1, 12, 6, 0)},\n", |
| 95 | + " {\"geometry\": Point(2, 9), \"t\": datetime(2018, 1, 1, 12, 10, 0)},\n", |
| 96 | + " {\"geometry\": Point(0, 7), \"t\": datetime(2018, 1, 1, 12, 15, 0)},\n", |
| 97 | + " ]\n", |
| 98 | + ").set_index(\"t\")\n", |
88 | 99 | "geo_df = GeoDataFrame(df, crs=31256)\n", |
89 | 100 | "toy_traj2 = mpd.Trajectory(geo_df, 1)\n", |
90 | 101 | "toy_traj2.df\n", |
91 | 102 | "\n", |
92 | 103 | "ax = toy_traj.plot()\n", |
93 | | - "toy_traj2.plot(ax=ax, color='red')" |
| 104 | + "toy_traj2.plot(ax=ax, color=\"red\")" |
94 | 105 | ] |
95 | 106 | }, |
96 | 107 | { |
|
99 | 110 | "metadata": {}, |
100 | 111 | "outputs": [], |
101 | 112 | "source": [ |
102 | | - "print(f'Distance: {toy_traj.distance(toy_traj2)} meters')\n", |
103 | | - "print(f'Hausdorff distance: {toy_traj.hausdorff_distance(toy_traj2):.2f} meters')" |
| 113 | + "print(f\"Distance: {toy_traj.distance(toy_traj2)} meters\")\n", |
| 114 | + "print(f\"Hausdorff distance: {toy_traj.hausdorff_distance(toy_traj2):.2f} meters\")" |
104 | 115 | ] |
105 | 116 | }, |
106 | 117 | { |
|
112 | 123 | "outputs": [], |
113 | 124 | "source": [ |
114 | 125 | "print(f'Distance: {toy_traj.distance(toy_traj2, units=\"cm\")} cm')\n", |
115 | | - "print(f'Hausdorff distance: {toy_traj.hausdorff_distance(toy_traj2, units=\"km\"):.6f} km')" |
| 126 | + "print(\n", |
| 127 | + " f'Hausdorff distance: {toy_traj.hausdorff_distance(toy_traj2, units=\"km\"):.6f} km'\n", |
| 128 | + ")" |
116 | 129 | ] |
117 | 130 | }, |
118 | 131 | { |
|
130 | 143 | "outputs": [], |
131 | 144 | "source": [ |
132 | 145 | "pt = Point(1, 5)\n", |
133 | | - "line = LineString([(3,3), (3,9)])\n", |
| 146 | + "line = LineString([(3, 3), (3, 9)])\n", |
134 | 147 | "\n", |
135 | 148 | "ax = toy_traj.plot()\n", |
136 | | - "gpd.GeoSeries(pt).plot(ax=ax, color='red')\n", |
137 | | - "gpd.GeoSeries(line).plot(ax=ax, color='red')" |
| 149 | + "gpd.GeoSeries(pt).plot(ax=ax, color=\"red\")\n", |
| 150 | + "gpd.GeoSeries(line).plot(ax=ax, color=\"red\")" |
138 | 151 | ] |
139 | 152 | }, |
140 | 153 | { |
|
143 | 156 | "metadata": {}, |
144 | 157 | "outputs": [], |
145 | 158 | "source": [ |
146 | | - "print(f'Distance: {toy_traj.distance(pt)}')\n", |
147 | | - "print(f'Hausdorff distance: {toy_traj.hausdorff_distance(pt):.2f}')" |
| 159 | + "print(f\"Distance: {toy_traj.distance(pt)}\")\n", |
| 160 | + "print(f\"Hausdorff distance: {toy_traj.hausdorff_distance(pt):.2f}\")" |
148 | 161 | ] |
149 | 162 | }, |
150 | 163 | { |
|
153 | 166 | "metadata": {}, |
154 | 167 | "outputs": [], |
155 | 168 | "source": [ |
156 | | - "print(f'Distance: {toy_traj.distance(line)}')\n", |
157 | | - "print(f'Hausdorff distance: {toy_traj.hausdorff_distance(line)}')" |
| 169 | + "print(f\"Distance: {toy_traj.distance(line)}\")\n", |
| 170 | + "print(f\"Hausdorff distance: {toy_traj.hausdorff_distance(line)}\")" |
158 | 171 | ] |
159 | 172 | }, |
160 | 173 | { |
|
177 | 190 | ], |
178 | 191 | "metadata": { |
179 | 192 | "kernelspec": { |
180 | | - "display_name": "Python 3 (ipykernel)", |
| 193 | + "display_name": "mpd-ex", |
181 | 194 | "language": "python", |
182 | 195 | "name": "python3" |
183 | 196 | }, |
|
191 | 204 | "name": "python", |
192 | 205 | "nbconvert_exporter": "python", |
193 | 206 | "pygments_lexer": "ipython3", |
194 | | - "version": "3.10.14" |
| 207 | + "version": "3.10.15" |
195 | 208 | } |
196 | 209 | }, |
197 | 210 | "nbformat": 4, |
|
0 commit comments