560 lines
No EOL
158 KiB
Text
560 lines
No EOL
158 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": true,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import seaborn as sns\n",
|
|
"import psycopg2\n",
|
|
"from IPython.display import display\n",
|
|
"import yaml"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"conf = yaml.load(\n",
|
|
" open(\"credentials.yml\"), Loader=yaml.FullLoader)['pg']\n",
|
|
"\n",
|
|
"# Create a connection to the database\n",
|
|
"conn = psycopg2.connect(\n",
|
|
" host=conf['host'],\n",
|
|
" port=conf['port'],\n",
|
|
" database=conf['database'],\n",
|
|
" user=conf['user'],\n",
|
|
" password=conf['password']\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"A simple query can be executed either with native psycopg's framework or instanvia pandas.\n",
|
|
"As an example let's get a total number of sessions in the database"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" n_sessions\n",
|
|
"0 8961277\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"q = \"select count(*) as n_sessions from connector_user_sessions\"\n",
|
|
"df = pd.read_sql(q, conn)\n",
|
|
"print(df)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### Distributions\n",
|
|
"\n",
|
|
"One of the basic usages of the data would be to view the data distributions\n",
|
|
"and to learn the main statistical properties such as mean, median, variance etc\n",
|
|
"which eventually lead to understanding your users better.\n",
|
|
"Visualization examples in this document include:\n",
|
|
"- Session durations\n",
|
|
"- User locations\n",
|
|
"- Website load (seasonality)\n",
|
|
"- Histogram of issue counts\n",
|
|
"- Hesitation time distribution\n",
|
|
"- URL visits graph"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"##### Session duration"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% md\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 360x360 with 1 Axes>",
|
|
"image/png": "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zwFG1G03vGqTpHVWVwfwLcBx1fxxwM117ROqqyF2A96o66qQpHVSp74Tbk1ExI+BMcCHI2I28G3g+8D1EXEC8BxwRLX5bcA44GngLeBvGlWXJDWLhgVwZh7dwap929k2gUmNqkWSmpF3wklSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawpNUyatQopk6dWrqMdYIBLDWZp556ir59+3LMMcd0uE1mcvrpp7PJJpuwySabcPrpp1O7ox/uu+8+WlpalpsightvvHGt1Ddr1izGjBmzVvbV0xnAUpOZNGkSn/rUp1a6zSWXXMLPf/5zZsyYwcyZM5kyZQoXX3wxAHvvvTcLFy5sm2699VZaWlo44IAVvyFMpRnA6rZGjhzJueeey/bbb0///v054YQTmDt3LmPHjmXAgAF87nOf47XXXmvb/sEHH2SPPfZg4MCB7LDDDsv9GX355ZfzyU9+kgEDBvCxj32sLcwApk6dyvDhwznvvPPYdNNNGTp0KJdffnlD3tN1113HwIED2Xff941ZtZzJkydz2mmnMXz4cIYNG8Zpp53GFVdc0eG2hx9+OP379293/fHHH8/JJ5/M2LFjaWlpYc899+Tll1/m1FNPZdCgQXziE5/g97//fdv2I0eO5K677gLgrLPO4ogjjmDChAkMGDCAUaNGMW3atDV78z2QAaxu7cYbb+TOO+/kySefZMqUKYwdO5bvfe97zJs3j2XLlnHBBRcAMGfOHMaPH883v/lNXn31VX7wgx9w2GGH0fq1Vptuuim33norCxYs4PLLL+erX/0qDz/8cNvrvPzyy7zxxhvMmTOHyy67jEmTJi0X7vVOPvlkBg4c2O60/fbbd/heFixYwJlnnsn555+/yvc9a9Ysdthhh7blHXbYgVmzZr1vu0WLFnHDDTdw3HHHvW9dveuvv57vfOc7zJ8/nw022IDdd9+dnXfemfnz53P44Yfzta99rcPn3nLLLRx11FG8/vrrHHTQQZxyyimrrF81BrC6tS996UsMGTKEYcOGsffee/PpT3+anXbaib59+3LooYe2nbldffXVjBs3jnHjxrHeeuux3377MXr0aG677TYAxo8fz5ZbbklEsM8++7D//vtz3333tb1Onz59OPPMM+nTpw/jxo2jpaWFJ554ot2aLrzwQl5//fV2p5kzZ3b4Xr71rW9xwgknMHz48FW+74ULF7LRRhu1LW+00UYsXLiwrR+41U033cSHP/xh9tlnn5Xu79BDD2WXXXZpO259+/ZlwoQJ9OrViyOPPHK5M+AV7bXXXowbN45evXpx7LHHMmPGjFXWr5qGjQcsdYUhQ4a0zffr1+99ywsXLgTgueee46c//SlTpkxpW//uu+/y2c9+FoDbb7+ds88+myeffJJly5bx1ltvsd1227Vtu8kmm9C793u/LhtuuGHbvteG6dOnc9ddd6006Oq1tLSwYMGCtuUFCxa0fdhWb/LkyUyYMOF97Svq7HFsz0c+8pG2+Q033JC3336bJUuWLHe81D6PkHqEESNGcOyxx3LppZe+b90777zDYYcdxpVXXsnBBx9Mnz59OOSQQ953NtlZJ510EldffXW76zbffPN2uwqmTp3Ks88+y2abbQbUznCXLl3KY489tlxXSKtRo0YxY8YMdt11VwBmzJjBqFGjltvmhRdeYOrUqcv1Z6u52AWhHuGYY45hypQp3HHHHSxdupS3336bqVOnMnv2bBYvXsw777zD4MGD6d27N7fffju//OUv1/i1fvjDHy53FUL91F74AkycOJE//vGPTJ8+nenTp3PSSScxfvx47rjjjna3nzBhAueffz5z5szhxRdf5LzzzuP4449fbpurrrqKPfbYgy233HKN34saywBWjzBixAhuvvlmvve97zF48GBGjBjBueeey7JlyxgwYAAXXHABRxxxBIMGDeLaa6/loIMO6tL6NtxwQz7ykY+0TS0tLfTt25fBgwcD713b2+rEE0/kwAMPZLvttmPbbbdl/PjxnHjiicvt88orr1zlh28qK9b0z6xmMHr06FztS17GjGHqvffyw4sf6HCTM/vVvp7uf//pXwH4yYl7rPGfo5IEtNsJ7xmwJBViAEvtOOuss9puBX7++edpaWlh6dKlhavqfhw3YuUMYGkVNttsMxYuXEivXr1Kl9Lm1Vdf5dBDD6V///5svvnmXHvttR1uu7JxI6D2AeDHP/5x1ltvvQ7vpltTjhuxcgaw1A1NmjSJ9ddfn7lz53LNNdfwxS9+scMrLFY2bgTU7qK78MIL2XnnnbuqfFUMYHVba3MsiGeeeYZ99tmHAQMGsN9++zF//vy2dc8++ywRwZIlS4Dy40YsWrSIG2+8kXPOOYeWlhb22msvDjroIK666qp2t1/VuBGTJk1i3333pW/fvqt8bceNWLsMYHVra2ssiL/+679ml112Yf78+XzrW99i8uTJHb5m6XEjnnzySXr37s3WW2/d1tbRWBDQ+XEjOstxI9YeA1jd2toYC+L555/nt7/9Leeccw4bbLABn/nMZzjwwAM7fM3S40YsXLiQD33oQ8u1bbTRRrz55psdbt+ZcSM6y3Ej1h4DWN3a6o4FUX+Gef/99/PSSy/x4osvMmjQoOWGa9x88807fM3bb7+d3XbbjY033piBAwdy2223Lddl0ehxI1YcBwJqY0EMGDCgU9t3NG5EZzVi3IieygBWj9A6FkT9GeaiRYs444wzGDp0KK+99hqLFi1q2/75559vdz+t40b83d/9HXPnzuX1119n3LhxH2jciBW/vaJ1WnFsh1Zbb701S5Ys4amnnmpra28siFat40Z0Zlt1LQNYPcLKxoLYfPPNGT16NN/+9rdZvHgx999//3KjptVrhnEj+vfvz+c//3nOPPNMFi1axK9//Wtuvvlmjj322Ha3X9W4EYsXL+btt98mM3n33Xd5++23WbZs2Rq/J3WeAaweYWVjQQBce+21PPTQQ2y88cacffbZTJgwod39NMO4EVDrO/7Tn/7EpptuytFHH81FF13Udla7uuNG7L///vTr148HHniAiRMn0q9fP371q191+XvqiRwLoh2OBSFpLXMsCElqJgawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIQawJBViAEtSIb1LvGhEPAu8CSwFlmTm6IjYGPgJMBJ4FjgiM18rUZ8kdYWSZ8CfzcwdM3N0tXwGcHdmbgXcXS1L0jqrmbogDgYmV/OTgUPKlSJJjVcqgBP4ZUT8LiImVm1DMvOlav5lYEh7T4yIiRExLSKmzZs3rytqlaSGKNIHDOyVmXMiYlPgzoj4Q/3KzMyIyPaemJmXAJcAjB49ut1tJKk7KHIGnJlzqsdXgJ8BuwJzI2IoQPX4SonaJKmrdHkAR0T/iBjQOg/sDzwK3AIcV212HHBzV9cmSV2pRBfEEOBnEdH6+tdm5i8i4rfA9RFxAvAccESB2iSpy3R5AGfmfwE7tNP+38C+XV2PJJXSTJehSVKPYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgBLUiEGsCQVYgB3xnq9iYhOTcNGbFa6WkmdNGzEZp3+3W7E73fvtbq3ddWyJRx58QOd2vQnJ+7R4GIkrS0vzn6h07/bsPZ/vz0DlqRCmi6AI+KAiHgiIp6OiDNK1yNJjdJUARwRvYB/BcYC2wBHR8Q2ZauSpMZoqgAGdgWezsz/yszFwHXAwYVrWj2r8YFdV3xo18gPGRr9AUYz7b/ZPlxdndp7r9+3qX4m9Z7IzNI1tImIw4EDMvNvq+VjgU9n5il120wEJlaLHweeWIOX+jAw/wOW29WsuWt0x5qhe9bdk2qen5kHrNjY7a6CyMxLgEs+yD4iYlpmjl5LJXUJa+4a3bFm6J51W3PzdUHMAUbULQ+v2iRpndNsAfxbYKuI2CIi1geOAm4pXJMkNURTdUFk5pKIOAW4A+gF/CgzZzXgpT5QF0Yh1tw1umPN0D3r7vE1N9WHcJLUkzRbF4Qk9RgGsCQV0qMCuDvc5hwRIyLinoh4LCJmRcRXqvaNI+LOiHiqehxUutYVRUSviPh9RNxaLW8REQ9Vx/sn1QerTSUiBkbEDRHxh4h4PCJ2b/ZjHRFfrX42Ho2IH0dE32Y81hHxo4h4JSIerWtr99hGzQVV/TMjYucmqvnc6udjZkT8LCIG1q37elXzExHxF6v7ej0mgKP73Oa8BDgtM7cBdgMmVXWeAdydmVsBd1fLzeYrwON1y/8I/FNm/hnwGnBCkapW7v8Cv8jMTwA7UKu/aY91RAwDvgyMzsxtqX1YfRTNeayvAFa8+aCjYzsW2KqaJgIXdVGNK7qC99d8J7BtZm4PPAl8HaD6vTwKGFU958IqZzqtxwQw3eQ258x8KTMfrubfpBYIw6jVOrnabDJwSJECOxARw4HxwL9VywH8OXBDtUkz1rwR8BngMoDMXJyZr9Pkx5ra1Uv9IqI3sCHwEk14rDPzV8CrKzR3dGwPBq7MmgeBgRExtEsKrdNezZn5y8xcUi0+SO3+BKjVfF1mvpOZzwBPU8uZTutJATwMeKFueXbV1rQiYiSwE/AQMCQzX6pWvQwMKVVXB/4Z+F/Asmp5E+D1uh/cZjzeWwDzgMurrpN/i4j+NPGxzsw5wA+A56kF7xvA72j+Y92qo2PbXX4//wdwezX/gWvuSQHcrUREC3AjcGpmLqhfl7VrB5vm+sGI+Evglcz8XelaVlNvYGfgoszcCVjECt0NTXisB1E789oC+CjQn/f/ydwtNNuxXZWI+Aa1LsJr1tY+e1IAd5vbnCOiD7XwvSYzb6qa57b+SVY9vlKqvnbsCRwUEc9S69r5c2p9qwOrP5OhOY/3bGB2Zj5ULd9ALZCb+Vh/DngmM+dl5rvATdSOf7Mf61YdHdum/v2MiOOBvwS+kO/dPPGBa+5JAdwtbnOu+k4vAx7PzPPrVt0CHFfNHwfc3NW1dSQzv56ZwzNzJLXj+h+Z+QXgHuDwarOmqhkgM18GXoiIj1dN+wKP0cTHmlrXw24RsWH1s9Jac1Mf6zodHdtbgAnV1RC7AW/UdVUUFREHUOteOygz36pbdQtwVERsEBFbUPsA8TertfPM7DETMI7ap5h/BL5Rup4OatyL2p9lM4Hp1TSOWp/q3cBTwF3AxqVr7aD+McCt1fzHqh/Ip4GfAhuUrq+dencEplXH++fAoGY/1sDZwB+AR4GrgA2a8VgDP6bWT/0utb82Tujo2AJB7SqlPwKPULvKo1lqfppaX2/r7+MP67b/RlXzE8DY1X09b0WWpEJ6UheEJDUVA1iSCjGAJakQA1iSCjGAJakQA1iSCjGA1a1FxEcj4oZVb7nG+z8+Iv5lLe7vH1ZYfmBt7VvdjwGsbi0zX8zMw1e9Zdeoux24I8sFcGbu0cBy1OQMYHWZiOgfEf8eETOqwcSPjIhdIuLeiPhdRNxRN07Al6M2KP3MiLiuatsnIqZX0+8jYkBEjGwdPLsamPzyiHikWv/Zqv34iLgpIn5RDQT+f1ZR599ExJMR8Rtq4yy0tl8REYfXLS+sHsdExH0RcQu124KJiJ9X72lWREys2r5PbRjJ6RFxzQr7iGrg70er+o+s2/fUeG/Q+GuqW5C1Lih9u6JTz5mAw4BL65Y3Ah4ABlfLR1L7JmyAF6lupwUGVo9TgD2r+RZqo5mNBB6t2k6re/4nqI2b0Bc4Hviv6vX6As8BIzqocWj1vMHA+sCvgX+p1l0BHF637cLqcQy1kdS2qFvXeottP2q3DG9S/5x29nEYtYG/e1EbovH5qpYx1IacHE7thOk/gb1K/1s6rZ3JM2B1pUeA/SLiHyNib2ojSW0L3BkR04Fv8t5g1zOBayLiGGpDAEItDM+PiC9TC+UlLG8v4GqAzPwDtaDdulp3d2a+kZlvUztL3byDGj8NTM3aaGOLgZ908r39JmuDcrf6ckTMoDaA9whqA7WszF7AjzNzaWbOBe4FPlW379mZuYzaWAQjO1mTmpwBrC6TmU9SG+7xEeA71M76ZmXmjtW0XWbuX20+ntrgLDsDv42I3pn5feBvqZ1V/joiPrEaL/9O3fxSamfPq2sJ1e9MRKxH7Qy51aLWmYgYQ23YyN0zcwfg99TOvNfU2qhdTcgAVpeJiI8Cb2Xm1cC51M42B0fE7tX6PhExqgq3EZl5D3A6ta6DlojYMjMfycx/pDa86IoBfB/whWpfWwObURulanU8BOwTEZtU4zL/Vd26Z4FdqvmDgD4d7GMj4LXMfKv6T2K3unXvVvtd0X3AkVH7YtPB1L4qafWGNlS34/+k6krbAedGxDJqw/19kdpZ5QVR+3623tS+2uhJ4OqqLYALMvP1iDin+mBtGTCL2lfD1H9v2IXARRHxSLXf4zPzndX5zCozX4qIs6j1tb5O7U/+VpcCN1ddC7+g7qx3Bb8AToqIx6n9B/Bg3bpLgJkR8XDWxkxu9TNgd2AGteFI/1dmvryaZ/nqZhyOUpIKsQtCkgqxC0I9VkQ8RO3bJOodm5mPlKhHPY9dEJJUiF0QklSIASxJhRjAklSIASxJhfx/1b3HoY+fRSAAAAAASUVORK5CYII=\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"q = 'select session_duration from connector_user_sessions limit 10000'\n",
|
|
"durations = pd.read_sql(q, conn)\n",
|
|
"\n",
|
|
"# translate duration to seconds\n",
|
|
"durations['session_duration'] = durations['session_duration'] / (1000 * 60)\n",
|
|
"sns.displot(durations, x=\"session_duration\", bins=23)\n",
|
|
"x_mean =durations['session_duration'].mean()\n",
|
|
"x_median =durations['session_duration'].median()\n",
|
|
"\n",
|
|
"plt.axvline(x_mean, c='orange')\n",
|
|
"plt.axvline(x_median, c='red')\n",
|
|
"plt.text(50, 80, f\"mean = {x_mean:.2f} min\", size=12)\n",
|
|
"plt.text(50, 70, f\"median = {x_median:.2f} min\", size=12)\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"##### User locations"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"outputs": [],
|
|
"source": [
|
|
"q = 'select count(*) as n_users, user_country from connector_user_sessions group by user_country '\n",
|
|
"countries = pd.read_sql(q, conn)\n",
|
|
"countries = countries[countries['n_users'] > 900]"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" n_users user_country latitude longitude\n",
|
|
"0 1567 AU -27.0 133.0\n",
|
|
"1 31726 BR -10.0 -55.0\n",
|
|
"2 5181 CA 60.0 -95.0\n",
|
|
"3 1183 CH 47.0 8.0\n",
|
|
"4 1013 CO 4.0 -72.0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"coordinates = pd.read_csv('coordinates_and_codes.csv')\n",
|
|
"countries_with_coords = pd.merge(countries, coordinates, left_on='user_country', right_on='alpha-2_code')\n",
|
|
"countries_with_coords.drop(['alpha-2_code'], axis=1, inplace=True)\n",
|
|
"print(countries_with_coords.head())"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<folium.folium.Map at 0x1dd37c9c910>",
|
|
"text/html": "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><span style=\"color:#565656\">Make this Notebook Trusted to load map: File -> Trust Notebook</span><iframe src=\"about:blank\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" data-html=%3C%21DOCTYPE%20html%3E%0A%3Chead%3E%20%20%20%20%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22content-type%22%20content%3D%22text/html%3B%20charset%3DUTF-8%22%20/%3E%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%3Cscript%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20L_NO_TOUCH%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20L_DISABLE_3D%20%3D%20false%3B%0A%20%20%20%20%20%20%20%20%3C/script%3E%0A%20%20%20%20%0A%20%20%20%20%3Cstyle%3Ehtml%2C%20body%20%7Bwidth%3A%20100%25%3Bheight%3A%20100%25%3Bmargin%3A%200%3Bpadding%3A%200%3B%7D%3C/style%3E%0A%20%20%20%20%3Cstyle%3E%23map%20%7Bposition%3Aabsolute%3Btop%3A0%3Bbottom%3A0%3Bright%3A0%3Bleft%3A0%3B%7D%3C/style%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//cdn.jsdelivr.net/npm/leaflet%401.6.0/dist/leaflet.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//code.jquery.com/jquery-1.12.4.min.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js%22%3E%3C/script%3E%0A%20%20%20%20%3Cscript%20src%3D%22https%3A//cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js%22%3E%3C/script%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//cdn.jsdelivr.net/npm/leaflet%401.6.0/dist/leaflet.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css%22/%3E%0A%20%20%20%20%3Clink%20rel%3D%22stylesheet%22%20href%3D%22https%3A//cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css%22/%3E%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cmeta%20name%3D%22viewport%22%20content%3D%22width%3Ddevice-width%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20initial-scale%3D1.0%2C%20maximum-scale%3D1.0%2C%20user-scalable%3Dno%22%20/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23map_d5687aa12db14834bd52c79877f832ab%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20relative%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20100.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20100.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20left%3A%200.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20top%3A%200.0%25%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C/style%3E%0A%20%20%20%20%20%20%20%20%0A%3C/head%3E%0A%3Cbody%3E%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdiv%20class%3D%22folium-map%22%20id%3D%22map_d5687aa12db14834bd52c79877f832ab%22%20%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%0A%3C/body%3E%0A%3Cscript%3E%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20map_d5687aa12db14834bd52c79877f832ab%20%3D%20L.map%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22map_d5687aa12db14834bd52c79877f832ab%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20center%3A%20%5B40.1813%2C%2044.5089%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20crs%3A%20L.CRS.EPSG3857%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoom%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoomControl%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20preferCanvas%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20tile_layer_964c1e7f9e3d403993e9be4362c5e378%20%3D%20L.tileLayer%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22https%3A//%7Bs%7D.tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22attribution%22%3A%20%22Data%20by%20%5Cu0026copy%3B%20%5Cu003ca%20href%3D%5C%22http%3A//openstreetmap.org%5C%22%5Cu003eOpenStreetMap%5Cu003c/a%5Cu003e%2C%20under%20%5Cu003ca%20href%3D%5C%22http%3A//www.openstreetmap.org/copyright%5C%22%5Cu003eODbL%5Cu003c/a%5Cu003e.%22%2C%20%22detectRetina%22%3A%20false%2C%20%22maxNativeZoom%22%3A%2018%2C%20%22maxZoom%22%3A%2018%2C%20%22minZoom%22%3A%200%2C%20%22noWrap%22%3A%20false%2C%20%22opacity%22%3A%201%2C%20%22subdomains%22%3A%20%22abc%22%2C%20%22tms%22%3A%20false%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_2ba2f11943c8435392112d481e291107%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B-27.0%2C%20133.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_44b15ec590ac492b890df440d680944d%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_d9ed5a87d7184303af39fd8f7191a0f0%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_d9ed5a87d7184303af39fd8f7191a0f0%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1567%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_44b15ec590ac492b890df440d680944d.setContent%28html_d9ed5a87d7184303af39fd8f7191a0f0%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_2ba2f11943c8435392112d481e291107.bindPopup%28popup_44b15ec590ac492b890df440d680944d%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_b66b9382e990499c9812a74355817bba%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B-10.0%2C%20-55.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_f44123a48d60433fb39f2d53b48ea575%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_72e321dd4eeb47bfbc1fd2bdd8b67406%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_72e321dd4eeb47bfbc1fd2bdd8b67406%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E31726%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_f44123a48d60433fb39f2d53b48ea575.setContent%28html_72e321dd4eeb47bfbc1fd2bdd8b67406%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_b66b9382e990499c9812a74355817bba.bindPopup%28popup_f44123a48d60433fb39f2d53b48ea575%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_403cb454c18042f792fd2d0f9871d59b%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B60.0%2C%20-95.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_513f78e8685b40a791e75d19bb44cc4a%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_9362ed57dc354a69bde6051336882102%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_9362ed57dc354a69bde6051336882102%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E5181%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_513f78e8685b40a791e75d19bb44cc4a.setContent%28html_9362ed57dc354a69bde6051336882102%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_403cb454c18042f792fd2d0f9871d59b.bindPopup%28popup_513f78e8685b40a791e75d19bb44cc4a%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_b3bb21ecbdcf4c2593c5f22286783f1b%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B47.0%2C%208.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_5f81106b1e2d46baaf8e182ccf93c4f7%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_fa53cb7c842043aab06be82d6688245f%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_fa53cb7c842043aab06be82d6688245f%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1183%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_5f81106b1e2d46baaf8e182ccf93c4f7.setContent%28html_fa53cb7c842043aab06be82d6688245f%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_b3bb21ecbdcf4c2593c5f22286783f1b.bindPopup%28popup_5f81106b1e2d46baaf8e182ccf93c4f7%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_df8a1675acd54ff8aac47562fb8c941c%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B4.0%2C%20-72.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_2888efa49dfb4d2e90855e43fda32ba3%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_78b48c6a030c46738123ea58a0942382%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_78b48c6a030c46738123ea58a0942382%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1013%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_2888efa49dfb4d2e90855e43fda32ba3.setContent%28html_78b48c6a030c46738123ea58a0942382%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_df8a1675acd54ff8aac47562fb8c941c.bindPopup%28popup_2888efa49dfb4d2e90855e43fda32ba3%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_9038081cf9144b06a39c80ac2d7c88eb%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B49.75%2C%2015.5%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_f8d9779763314087995de2a37cc1e4cf%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_dfb9ccefeea34b9e851d13afb9754525%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_dfb9ccefeea34b9e851d13afb9754525%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1534%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_f8d9779763314087995de2a37cc1e4cf.setContent%28html_dfb9ccefeea34b9e851d13afb9754525%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_9038081cf9144b06a39c80ac2d7c88eb.bindPopup%28popup_f8d9779763314087995de2a37cc1e4cf%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_2161300130724b82a69668e86fd4335e%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B51.0%2C%209.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_b2043e656ca140218d21a6e033be56a9%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_0c01bd6584da4d14b9e0d7b3d890a06d%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_0c01bd6584da4d14b9e0d7b3d890a06d%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1773%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_b2043e656ca140218d21a6e033be56a9.setContent%28html_0c01bd6584da4d14b9e0d7b3d890a06d%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_2161300130724b82a69668e86fd4335e.bindPopup%28popup_b2043e656ca140218d21a6e033be56a9%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_6c7a4aec1bec445c99059ab1e764625d%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B40.0%2C%20-4.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_c368ac1b030947bbbf92be87a8eba8ca%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_67cb3b0879454cc683f8f19694084876%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_67cb3b0879454cc683f8f19694084876%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1189%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_c368ac1b030947bbbf92be87a8eba8ca.setContent%28html_67cb3b0879454cc683f8f19694084876%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_6c7a4aec1bec445c99059ab1e764625d.bindPopup%28popup_c368ac1b030947bbbf92be87a8eba8ca%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_26e95e253dfc4701b7c6d26cdb23f345%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B46.0%2C%202.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_ec2e21fef2dd4e21a0243ceb78d891cd%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_c995ccdbcac24b2e97da6a44ec226f19%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_c995ccdbcac24b2e97da6a44ec226f19%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E26582%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_ec2e21fef2dd4e21a0243ceb78d891cd.setContent%28html_c995ccdbcac24b2e97da6a44ec226f19%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_26e95e253dfc4701b7c6d26cdb23f345.bindPopup%28popup_ec2e21fef2dd4e21a0243ceb78d891cd%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_8ce4dfd1b8204d85b7f82a359c89348d%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B54.0%2C%20-2.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_72184611c81e4e6a8c57bd038dd54a9d%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_b980454e4621427690b1441a224950a6%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_b980454e4621427690b1441a224950a6%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E13527%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_72184611c81e4e6a8c57bd038dd54a9d.setContent%28html_b980454e4621427690b1441a224950a6%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_8ce4dfd1b8204d85b7f82a359c89348d.bindPopup%28popup_72184611c81e4e6a8c57bd038dd54a9d%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_25c9a6196eca4d2e91581734b0118bf2%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B22.25%2C%20114.1667%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_73ebf224bc654021b1dab59daf16e90f%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_c9ad0baad3264aa0ade7320a590a9ec7%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_c9ad0baad3264aa0ade7320a590a9ec7%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E2353%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_73ebf224bc654021b1dab59daf16e90f.setContent%28html_c9ad0baad3264aa0ade7320a590a9ec7%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_25c9a6196eca4d2e91581734b0118bf2.bindPopup%28popup_73ebf224bc654021b1dab59daf16e90f%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_c6e79ddf88054bff88fa4ee422f9d3c5%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B53.0%2C%20-8.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_776c1b3b765843e8a7ed5fb622eb2c6c%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_cc21df4303b04e56a926cb214033ef22%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_cc21df4303b04e56a926cb214033ef22%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E4117%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_776c1b3b765843e8a7ed5fb622eb2c6c.setContent%28html_cc21df4303b04e56a926cb214033ef22%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_c6e79ddf88054bff88fa4ee422f9d3c5.bindPopup%28popup_776c1b3b765843e8a7ed5fb622eb2c6c%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_63590eb2fe6e4c07a15289fdef80aebd%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B20.0%2C%2077.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_7360ebf5e3f24f8cb5f57328e21d2333%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_577da08b29b240c690bc5dca309f4755%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_577da08b29b240c690bc5dca309f4755%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E4993%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_7360ebf5e3f24f8cb5f57328e21d2333.setContent%28html_577da08b29b240c690bc5dca309f4755%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_63590eb2fe6e4c07a15289fdef80aebd.bindPopup%28popup_7360ebf5e3f24f8cb5f57328e21d2333%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_0ad1dc7aaf5849d9b719e41c688982a3%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B36.0%2C%20138.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_e52ae1b19d744c30beb2b0b40e23900f%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_e3fd89f2d29b48b6885d52ddc8eb1618%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_e3fd89f2d29b48b6885d52ddc8eb1618%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1358%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_e52ae1b19d744c30beb2b0b40e23900f.setContent%28html_e3fd89f2d29b48b6885d52ddc8eb1618%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_0ad1dc7aaf5849d9b719e41c688982a3.bindPopup%28popup_e52ae1b19d744c30beb2b0b40e23900f%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_72996434ad6344d6960ae0b3f4d3653c%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B37.0%2C%20127.5%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_d1563ad6fd0645fca2547ac49761fef3%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_8ea2983fdda1405d8426f7b6d8f93509%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_8ea2983fdda1405d8426f7b6d8f93509%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E6326%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_d1563ad6fd0645fca2547ac49761fef3.setContent%28html_8ea2983fdda1405d8426f7b6d8f93509%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_72996434ad6344d6960ae0b3f4d3653c.bindPopup%28popup_d1563ad6fd0645fca2547ac49761fef3%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_2d59f0192a8b4dba8c74dfbad4f20760%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B37.0%2C%20127.5%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_f83ba53db8184465b862d5983d844ae3%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_25403abb1d1e484095f8938dfc14c7ec%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_25403abb1d1e484095f8938dfc14c7ec%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E6326%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_f83ba53db8184465b862d5983d844ae3.setContent%28html_25403abb1d1e484095f8938dfc14c7ec%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_2d59f0192a8b4dba8c74dfbad4f20760.bindPopup%28popup_f83ba53db8184465b862d5983d844ae3%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_4e77f3a2cc2c40e8b30f7bf1f00ecd88%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B23.0%2C%20-102.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_e1c7c2aabdc4417295ef95f6aa56d8f2%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_375bf32e296046c280ea5ad16e0c39ba%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_375bf32e296046c280ea5ad16e0c39ba%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E7023%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_e1c7c2aabdc4417295ef95f6aa56d8f2.setContent%28html_375bf32e296046c280ea5ad16e0c39ba%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_4e77f3a2cc2c40e8b30f7bf1f00ecd88.bindPopup%28popup_e1c7c2aabdc4417295ef95f6aa56d8f2%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_8e914f669a1d47788f252ec82895cc0d%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B10.0%2C%208.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_90459d3e3a8e42299cdef348d2c066c7%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_dafaa64b5ff54de19826d502c92cf092%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_dafaa64b5ff54de19826d502c92cf092%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1092%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_90459d3e3a8e42299cdef348d2c066c7.setContent%28html_dafaa64b5ff54de19826d502c92cf092%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_8e914f669a1d47788f252ec82895cc0d.bindPopup%28popup_90459d3e3a8e42299cdef348d2c066c7%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_7a0b1d83370f4b67a32b56824bc0e01f%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B13.0%2C%20122.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_eba6849f857c4450b503b6418fb5609c%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_e3ed09541eb6498993fdedefa5041f34%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_e3ed09541eb6498993fdedefa5041f34%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E1776%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_eba6849f857c4450b503b6418fb5609c.setContent%28html_e3ed09541eb6498993fdedefa5041f34%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_7a0b1d83370f4b67a32b56824bc0e01f.bindPopup%28popup_eba6849f857c4450b503b6418fb5609c%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_63c3f33d284f48548d07f68b9a0f51d7%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B39.5%2C%20-8.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_45a99e617f6f401f92294729661bbdb2%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_6d9c2bb693d34d489394ee90a1502935%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_6d9c2bb693d34d489394ee90a1502935%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E989%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_45a99e617f6f401f92294729661bbdb2.setContent%28html_6d9c2bb693d34d489394ee90a1502935%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_63c3f33d284f48548d07f68b9a0f51d7.bindPopup%28popup_45a99e617f6f401f92294729661bbdb2%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_8f215cbcff5f415ea75a5f1440fe75e8%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B60.0%2C%20100.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_a1fee8ac06ff4ce88bc0404d549d920f%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_ffe3067753204676a9d6afddec99e383%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_ffe3067753204676a9d6afddec99e383%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E21050%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_a1fee8ac06ff4ce88bc0404d549d920f.setContent%28html_ffe3067753204676a9d6afddec99e383%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_8f215cbcff5f415ea75a5f1440fe75e8.bindPopup%28popup_a1fee8ac06ff4ce88bc0404d549d920f%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_7e2274f1826a4c7b8214f1217acdd4d1%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B60.0%2C%20100.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_1362e979ca534e028512382397a00afd%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_9d7fd1a55a9b4fdfb3fad691c72a5b06%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_9d7fd1a55a9b4fdfb3fad691c72a5b06%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E21050%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_1362e979ca534e028512382397a00afd.setContent%28html_9d7fd1a55a9b4fdfb3fad691c72a5b06%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_7e2274f1826a4c7b8214f1217acdd4d1.bindPopup%28popup_1362e979ca534e028512382397a00afd%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_cf16ce28b7a7475f9ae512783b3152ad%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B49.0%2C%2032.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_353be11e52fb4db6a1829eea56ad5f9f%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_abf2e4398fab456aac4c838c826bc222%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_abf2e4398fab456aac4c838c826bc222%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E2302%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_353be11e52fb4db6a1829eea56ad5f9f.setContent%28html_abf2e4398fab456aac4c838c826bc222%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_cf16ce28b7a7475f9ae512783b3152ad.bindPopup%28popup_353be11e52fb4db6a1829eea56ad5f9f%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_372511880fbe4ff2a28eb6a5ea7170df%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B38.0%2C%20-97.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_4315998106e54cd1a11e559f0f1f96b0%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_66d1e28eecf5415abbe0018eaabe2d22%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_66d1e28eecf5415abbe0018eaabe2d22%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E84308%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_4315998106e54cd1a11e559f0f1f96b0.setContent%28html_66d1e28eecf5415abbe0018eaabe2d22%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_372511880fbe4ff2a28eb6a5ea7170df.bindPopup%28popup_4315998106e54cd1a11e559f0f1f96b0%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20marker_7dfc11ed5e714c25942995a504bcb124%20%3D%20L.marker%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5B-22.0%2C%2017.0%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22color%22%3A%20%22%233186cc%22%2C%20%22fill%22%3A%20true%2C%20%22fillColor%22%3A%20%22%233186cc%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%29.addTo%28map_d5687aa12db14834bd52c79877f832ab%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20popup_015f181ac8f143d495cd091f04d02a6b%20%3D%20L.popup%28%7B%22maxWidth%22%3A%20%22100%25%22%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20html_e835d24abf6042e6aec07ff195786e12%20%3D%20%24%28%60%3Cdiv%20id%3D%22html_e835d24abf6042e6aec07ff195786e12%22%20style%3D%22width%3A%20100.0%25%3B%20height%3A%20100.0%25%3B%22%3E8722828%3C/div%3E%60%29%5B0%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20popup_015f181ac8f143d495cd091f04d02a6b.setContent%28html_e835d24abf6042e6aec07ff195786e12%29%3B%0A%20%20%20%20%20%20%20%20%0A%0A%20%20%20%20%20%20%20%20marker_7dfc11ed5e714c25942995a504bcb124.bindPopup%28popup_015f181ac8f143d495cd091f04d02a6b%29%0A%20%20%20%20%20%20%20%20%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%0A%3C/script%3E onload=\"this.contentDocument.open();this.contentDocument.write( decodeURIComponent(this.getAttribute('data-html')));this.contentDocument.close();\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import folium\n",
|
|
"\n",
|
|
"m = folium.Map(location=[40.18130, 44.5089], zoom_start=1, prefer_canvas=True)\n",
|
|
"\n",
|
|
"def plotDot(point):\n",
|
|
" '''input: series that contains a numeric named latitude and a numeric named longitude\n",
|
|
" this function creates a CircleMarker and adds it to your this_map'''\n",
|
|
" folium.Marker(location=(point.latitude, point.longitude),\n",
|
|
" # radius=point.n_users,\n",
|
|
" color=\"#3186cc\",\n",
|
|
" popup=point.n_users,\n",
|
|
" fill=True,\n",
|
|
" fill_color=\"#3186cc\").add_to(m)\n",
|
|
"countries_with_coords.apply(plotDot, axis=1)\n",
|
|
"m.save('users_map.html')\n",
|
|
"\n",
|
|
"display(m)\n",
|
|
"\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"##### Website load"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 360x360 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"day = 86400 * 1000\n",
|
|
"\n",
|
|
"q = 'select session_start_timestamp from connector_user_sessions where session_start_timestamp is not null limit 10000'\n",
|
|
"starts = pd.read_sql(q, conn)\n",
|
|
"starts['session_start_timestamp'] = starts['session_start_timestamp'].apply(lambda x: (x % day)* 24 / day)\n",
|
|
"sns.displot(starts, x=\"session_start_timestamp\", kind=\"kde\", bw_adjust=.2, fill=True)\n",
|
|
"plt.xlim(0, 24)\n",
|
|
"plt.title(\"Website load distribution during the day\")\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"##### Issue counts"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% md\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"q = 'select issues_count from connector_user_sessions limit 10000'\n",
|
|
"issues = pd.read_sql(q, conn)\n",
|
|
"issues = issues.fillna(0)\n",
|
|
"sns.histplot(issues[issues > 2])\n",
|
|
"plt.title(\"Distribution of the number of issues across sessions\")\n",
|
|
"plt.show()\n",
|
|
"\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"##### Hesitation time distribution"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% md\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(43, 1)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"q = \"select mouseclick_hesitationtime from connector_events where mouseclick_label = 'PAY' \" \\\n",
|
|
" \"and mouseclick_hesitationtime is not null limit 10000\"\n",
|
|
"\n",
|
|
"hesitation = pd.read_sql(q, conn)\n",
|
|
"print(hesitation.shape)\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 360x360 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"sns.displot(hesitation, x=\"mouseclick_hesitationtime\", kind=\"kde\", bw_adjust=.2, fill=True)\n",
|
|
"plt.title(\"Hesitation time distribution for a click on the button PAY\")\n",
|
|
"plt.show()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"##### Path illustration"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": " sessionid pageevent_url\n9036 4169875804784252 231\n134 4167791269614996 229\n7115 4169433581028977 136\n24174 4176629796934961 107\n18942 4172534204991174 104",
|
|
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>sessionid</th>\n <th>pageevent_url</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>9036</th>\n <td>4169875804784252</td>\n <td>231</td>\n </tr>\n <tr>\n <th>134</th>\n <td>4167791269614996</td>\n <td>229</td>\n </tr>\n <tr>\n <th>7115</th>\n <td>4169433581028977</td>\n <td>136</td>\n </tr>\n <tr>\n <th>24174</th>\n <td>4176629796934961</td>\n <td>107</td>\n </tr>\n <tr>\n <th>18942</th>\n <td>4172534204991174</td>\n <td>104</td>\n </tr>\n </tbody>\n</table>\n</div>"
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Select some session events. For illustration purposes, we stick to a fixed number of rows,\n",
|
|
"# however it would be more accurate to load all events for each session\n",
|
|
"q = 'select pageevent_url, sessionid from connector_events ' \\\n",
|
|
" 'where pageevent_url is not null limit 100000'\n",
|
|
"urls = pd.read_sql(q, conn)\n",
|
|
"\n",
|
|
"# Calculate the number of UNIQUE urls per session\n",
|
|
"urls_count = urls.groupby('sessionid').agg('nunique').reset_index()\n",
|
|
"\n",
|
|
"# Select the session with the maximum number of UNIQUE urls\n",
|
|
"urls_count = urls_count.sort_values(by='pageevent_url', ascending=False)\n",
|
|
"urls_count.head()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"outputs": [],
|
|
"source": [
|
|
"# Get all url visits in correct order\n",
|
|
"# (to visualize the full path, not only unique values matter)\n",
|
|
"sess_id = urls_count.iloc[0].sessionid\n",
|
|
"sess_id = 4592792577630589\n",
|
|
"q = f'select pageevent_url from connector_events ' \\\n",
|
|
" f'where sessionid = {sess_id} ' \\\n",
|
|
" f'and pageevent_url is not null limit 1000'\n",
|
|
"\n",
|
|
"session_urls = pd.read_sql(q, conn)"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": " pageevent_url\n0 https://atlas.cradle.global/briefs/list\n1 https://atlas.cradle.global/briefs/view/6adf82...\n2 https://atlas.cradle.global/briefs/view/6adf82...\n3 https://atlas.cradle.global/briefs/list\n4 https://atlas.cradle.global/briefs/view/e2b0f0...",
|
|
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>pageevent_url</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>https://atlas.cradle.global/briefs/list</td>\n </tr>\n <tr>\n <th>1</th>\n <td>https://atlas.cradle.global/briefs/view/6adf82...</td>\n </tr>\n <tr>\n <th>2</th>\n <td>https://atlas.cradle.global/briefs/view/6adf82...</td>\n </tr>\n <tr>\n <th>3</th>\n <td>https://atlas.cradle.global/briefs/list</td>\n </tr>\n <tr>\n <th>4</th>\n <td>https://atlas.cradle.global/briefs/view/e2b0f0...</td>\n </tr>\n </tbody>\n</table>\n</div>"
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# We consider URLs with different query parameters to be the same\n",
|
|
"# by cutting off the part after question mark:\n",
|
|
"\n",
|
|
"session_urls['pageevent_url'] = session_urls['pageevent_url'].apply(lambda x: x.split('?')[0])\n",
|
|
"session_urls.head()"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": "<Figure size 432x288 with 1 Axes>",
|
|
"image/png": "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\n"
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# For the \"largest\" session draw a graph of page visits\n",
|
|
"import networkx as nx\n",
|
|
"\n",
|
|
"G = nx.DiGraph(directed=True)\n",
|
|
"\n",
|
|
"for ind in range(session_urls.pageevent_url.shape[0] - 1):\n",
|
|
" G.add_edges_from([(session_urls.pageevent_url[ind], session_urls.pageevent_url[ind + 1])])\n",
|
|
"\n",
|
|
"options = {\n",
|
|
" 'node_color': 'blue',\n",
|
|
" 'node_size': 50,\n",
|
|
" 'width': 1,\n",
|
|
" 'alpha': 0.5,\n",
|
|
" 'arrowstyle': '-|>',\n",
|
|
" 'arrowsize': 12,\n",
|
|
"}\n",
|
|
"\n",
|
|
"nx.draw_networkx(G, arrows=True, with_labels=False, **options)\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%%\n"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"source": [
|
|
"Analysis of such graphs may be useful in user profiling.\n",
|
|
"The graph of page visits can provide essential information to clusterize users by their behavior\n",
|
|
"even if they don't actions on the website.\n",
|
|
"\n",
|
|
"\n",
|
|
"\n"
|
|
],
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"pycharm": {
|
|
"name": "#%% md\n"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 1
|
|
} |