diff --git a/notebooks/snkit-demo.ipynb b/notebooks/snkit-demo.ipynb
index 320d856..23c18db 100644
--- a/notebooks/snkit-demo.ipynb
+++ b/notebooks/snkit-demo.ipynb
@@ -24,11 +24,13 @@
"metadata": {},
"outputs": [],
"source": [
- "import snkit\n",
- "import snkit.network\n",
+ "import geopandas\n",
+ "import igraph\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib.patheffects as pe\n",
"import networkx\n",
"import pandas\n",
- "import geopandas"
+ "import snkit"
]
},
{
@@ -71,15 +73,15 @@
" \n",
"
\n",
" | 2 | \n",
- " LINESTRING (0.02970 0.01888, 0.01888 0.01820, ... | \n",
+ " LINESTRING (0.0297 0.01888, 0.01888 0.0182, 0.... | \n",
"
\n",
" \n",
" | 3 | \n",
- " POINT (0.03090 0.04429) | \n",
+ " POINT (0.0309 0.04429) | \n",
"
\n",
" \n",
" | 4 | \n",
- " POINT (0.03090 0.03759) | \n",
+ " POINT (0.0309 0.03759) | \n",
"
\n",
" \n",
" | 5 | \n",
@@ -87,7 +89,7 @@
"
\n",
" \n",
" | 6 | \n",
- " POINT (0.02987 -0.02180) | \n",
+ " POINT (0.02987 -0.0218) | \n",
"
\n",
" \n",
" | 7 | \n",
@@ -99,7 +101,7 @@
"
\n",
" \n",
" | 9 | \n",
- " POINT (-0.00120 -0.03811) | \n",
+ " POINT (-0.0012 -0.03811) | \n",
"
\n",
" \n",
" | 10 | \n",
@@ -107,7 +109,7 @@
"
\n",
" \n",
" | 11 | \n",
- " POINT (0.00189 0.03210) | \n",
+ " POINT (0.00189 0.0321) | \n",
"
\n",
" \n",
" | 12 | \n",
@@ -121,16 +123,16 @@
" geometry\n",
"0 LINESTRING (0.00412 -0.04086, 0.00034 -0.03347...\n",
"1 LINESTRING (0.01768 -0.01236, 0.01768 -0.02369...\n",
- "2 LINESTRING (0.02970 0.01888, 0.01888 0.01820, ...\n",
- "3 POINT (0.03090 0.04429)\n",
- "4 POINT (0.03090 0.03759)\n",
+ "2 LINESTRING (0.0297 0.01888, 0.01888 0.0182, 0....\n",
+ "3 POINT (0.0309 0.04429)\n",
+ "4 POINT (0.0309 0.03759)\n",
"5 POINT (0.02129 0.03948)\n",
- "6 POINT (0.02987 -0.02180)\n",
+ "6 POINT (0.02987 -0.0218)\n",
"7 POINT (0.03759 -0.02798)\n",
"8 POINT (-0.00275 -0.02867)\n",
- "9 POINT (-0.00120 -0.03811)\n",
+ "9 POINT (-0.0012 -0.03811)\n",
"10 POINT (-0.00738 0.03416)\n",
- "11 POINT (0.00189 0.03210)\n",
+ "11 POINT (0.00189 0.0321)\n",
"12 POINT (0.00498 0.02592)"
]
},
@@ -162,7 +164,30 @@
"source": [
"def plot_network(n):\n",
" df = pandas.concat([n.nodes, n.edges], axis=0, sort=False)\n",
- " df.plot()"
+ " ax = df.plot()\n",
+ " offset = 0.001\n",
+ " rounding = 3\n",
+ "\n",
+ " labelled_locations = set()\n",
+ "\n",
+ " if \"id\" in df.columns:\n",
+ " labelled = df.dropna(subset=[\"id\", \"geometry\"])\n",
+ " for _, row in labelled.iterrows():\n",
+ " point = row.geometry.centroid\n",
+ " px = round(point.x, rounding)\n",
+ " py = round(point.y, rounding)\n",
+ " if (px, py) in labelled_locations:\n",
+ " continue\n",
+ " \n",
+ " labelled_locations.add((px, py))\n",
+ " ax.annotate(\n",
+ " str(row[\"id\"]),\n",
+ " xy=(point.x + offset, point.y - offset),\n",
+ " fontsize=6,\n",
+ " path_effects=[pe.withStroke(linewidth=2, foreground=\"white\")]\n",
+ " )\n",
+ "\n",
+ " return ax"
]
},
{
@@ -179,14 +204,22 @@
"outputs": [
{
"data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAALAAAAD4CAYAAABMvGxfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAa6klEQVR4nO2de3Bc1Zngf59aLamlbkm2HlZLfsiWsYwfSmwUTDBDIAljsB1eycwmGQgbkmXJhKlJZocsTLa2ktmqQA2VhECoSbyZ3QWSzWxqcYh5rWMwhIEYiIkfsuSXbDBGkvWwUUvWw1Krz/7RLdFWWuordUv3XvX3q+pq9b3ndn9q/3x07nl9YoxBUdxKlt0BKEoqqMCKq1GBFVejAiuuRgVWXE223QFMh9LSUlNdXW13GMos8fbbb3cZY8oSnXOlwNXV1ezdu9fuMJRZQkROTXROmxCKq1GBFVejAiuuRgVWXI0KrLgaFVhxNSqw4mpUYMXVqMAZwsDQCDc/9jovNLTZHUpaUYEzhPaeQfaf7qZ/aMTuUNKKK4eSlalzpmcQgAWFeZaveXpfCw/tPEpr9wCVxT7u3VTLzeuqZirEaaECZwjtMYErinItlX96Xwv3b29gYDhaY7d0D3D/9gYAR0msTYgMYVTgcos18EM7j47JO8rA8AgP7Tya9thSQQXOENp7LpCf4yGQa+2Pbmv3wJSO24UKnCGc6RlkQWEeImKpfGWxb0rH7UIFzhA6egZZUGit/Qtw76ZafF7PRcd8Xg/3bqpNd2gpoQJnCGd6BqmYQg/EzeuqeODWtVQV+xCgqtjHA7euddQNHGgvREZgjKG958KUutAgKrHThB2P1sAZQHf/MEPhyJQFdgNpEVhErheRoyLSLCL3JTgvIvJI7PxBEVk/7rxHRPaJyLPpiEe5mA/6hwAo8nltjiT9pCywiHiAx4AbgFXAF0Rk1bhiNwCXxB53Af887vzfAodTjUVJTGWxD0+WcOpsn92hpJ101MCXA83GmJPGmCHgX4GbxpW5CXjCRHkDKBaRIICILAS2AD9LQywZy9P7Wtj44G6W3vccGx/czdP7WsbO5Xk9LC0t4PCZXhsjnBnSIXAVcDru9fuxY1bLPAx8C4ikIZaMZHTYt6V7AMOHw77xEq+sCHBUBU5Iop7x8Xu2JiwjIluBDmPM20k/ROQuEdkrIns7OzunE+ecxcqw78qKAO+d6+f8hfBshzejpEPg94FFca8XAq0Wy2wEbhSRd4k2PT4pIj9P9CHGmG3GmHpjTH1ZWcJNWjIWK8O+KysKAeZcLZwOgf8AXCIiS0UkB/g8sGNcmR3Al2K9EVcAIWNMmzHmfmPMQmNMdey63caY29IQU0ZhZdi3tiIATE3gydrVTiFlgY0xYeAeYCfRnoRfGWMaReRuEbk7Vux54CTQDPx34K9T/VzlQ6wM+y6c58Ofm82RMz2W3tNKu9oJpGUkzhjzPFFJ44/9JO5nA3w9yXu8ArySjngyjdHRsskmn4sItRUBjlisgSdrVztpdE6HkucIVoZ9V1YEeOZAK8aYpLPSdDql4jhWVgToGQzTFhpMWlanUyqOY2XQek+ETqdUHMeKBdGeiMMWbuR0OqXiOIp8XqqKfZa70twwnXJOCOyG5d9OobYiwJG2uTOY4fomhFv6K53CyooAJzrPMxSeG1NPXC+wW5Z/O4XaigDhiOFE53m7Q0kLrhfYLf2VTuHSWE/E4TZrI3JOx/UCu6W/0iksKy2gON/Lq8fmxow+1ws8lf7Kd7v6+N2xTo6399I7ODzp+7phIst0yPZksWlVBbua2hkcdv9Gf67vhbAyD2CU5xraLmob+3OzCRblUVGUR02Zn7/78xUU5nldsy/YdNlSF+T/7D3NK0c7uX5Nhd3hpITrBQbr/ZWf/9giLl86n9buAc6EBmkLDdIWiv78+J53KfJ5+eZ1K1wzkWW6XFlTwrx8L881tKnAbqLEn0uJP/HuNF/+n2/xy7fe455PLp/zN4bZniyuXxPkN/tbGBgawZfjSX6RQ3F9Gzhd3HbFEjp6L7CrqT0jbgw/Uxekf2iEl4922B1KSqjAMa6pLaeq2MeTe065ZiJLKly+dD6l/hyeO+julAMqcAxPlvBXVyxmz8mzrKkqdMVEllTI9mRxw5ogLx1pp8/FCz0zqg2cjL+sX8TDu47z8zfe4zs3rp5TwiZiS12QJ984xe4jHXzmI5V2hzMttAaOo9Sfy+a1FTz19vv0D7m3VrLKx6rnUx7I5dmD4xeRuwcVeBy3f3wJvRfC/Ga/e/9RreLJEjavDfLy0U7X7hehAo9j/eJ5XBos5Mk9p4iuRZ3bbKkLMhSO8NLhdrtDmRYq8DhEhNuvWEJTWw9/fK/b7nBmnMsWz6OiMI9nDrizN0IFTsBNH60kkJvNz984ZXcoM05WrBnx6rFOepLMD3EiKnACCnKzuWV9Fc81tGXEzdzWjwQZGomwq9F9zQgVeAI+fekChsIR3jx57k/OzbWZausWFVNV7OM5F+ZRVoEn4PKl88nNzuJ34+bNzsUlTCLClrog/3a8k1C/u5oRKvAE5Hk9XLGshFePXyzwXF3CtGVtkOERw86mM3aHMiVU4Em4ekUZJzv7eP+D/rFjc3WmWt3CIhbN97luboQKPAmfWFEKwKvHusaOzdWZaiLClrWVvN7cxQd9Q3aHYxkVeBJqyvxUFuVdtH5sLs9U21oXJBwx7Gx0TzNCBZ4EEeHqFWW83tzF8Eh0HwW3bLk0HVZXFlJdks+zLmpG6Gy0JFy9oox//cNp9p/u5mPV8wF3bLk0HUZ7I/75lROcPX9hwtUrTkJr4CRsrCklS5gzy9CTsbWukoiBFw65oxmhAiehKN/LRxcVZ4zAKysCLCsrcE1vhApsgatXlHGwJcQ5F92dTxcRYWtdJW++c5aO3uQbYduNCmyBT6wowxh4rbkreeE5wNa6IBED/88FzQgV2AJ1C4spzvfyQkMboQF3DbVOhxULAqxY4HdFb0RaeiFE5HrgR4AH+Jkx5sFx5yV2fjPQD/x7Y8wfRWQR8ARQQTTV7DZjzI/SEVM68WQJ19aW8+t9Lbxw6AwL5/lYXVnIqmARqyoLWV1ZSLAoL2niFDexZW0lD790jPaeQRYU5tkdzoSkLHBctvrriGbk/IOI7DDGNMUVi89Wv4FotvoNQBj4TzGZA8DbIrJr3LWO4Hu3rOWmj1bS1NZDU2v08dumdkYXbczL97KqspBVwcKY1EUsKy0g2+POP3Jb6oL88MVjPN/Qxpc3LrU7nAlJRw08lq0eQERGs9XHSziWrR54Q0SKRSRojGkD2gCMMb0icphoEnDHCezL8XBNbTnX1JaPHeu7EObImV6aWkM0tfXQ2NrD43tOjW0enZOdxcqKQKy2joq9sqKQglznd78vL/dTVexj/+luu0OZlHR8k4ky0W+wUKaKmLwAIlINrAPeTPQhInIXcBfA4sWLU405LRTkZnPZknlctmTe2LHwSISTXX00toZoao1K/cKhM/zyreivLwJLSwqitXVM7NWVRZQFnDdoUFPud/xG2OkQeNrZ6sdOiviBp4BvGGMS7rxsjNkGbAOor6937GrLbE9W7CYowC3roseMMbSFBmmMNT2a2kLsP9190U1SWSA3JvOHYleXFJCVNTvtamMMfUMjhAaG6RkYxuf1sLzMzy/fOUckYmYtjqmSDoFTyVaPiHiJyvsLY8z2NMTjOESEymIflcU+rlu1YOx4aGA4JnRPrLYO8XpzF+FI9P9nfo6HS4OFF4m9YkGAPO+fbsZnjOFCODImYM/gMD0D4ejrwdFjYUL9sdcJzkfiqoVb1lVRXz2PgeERzvQMOna2XToEHstWD7QQzTr/xXFldgD3xNrHG4hlq4/1TvwLcNgY84M0xOIqinxePl5TwsdrSsaOXQiPcLz9/EVi/3pfC0/GFph6soTlZX7KC3PpHQx/KOdAmKGRyRO35HmzKMzzUujzUpiXTak/h2VlBbFj2RT5vGPnl5Tk0zsYXQ/Y3HF+7gpsjAmLyGi2eg/wP0az1cfO/4RoIvDNRLPV9wNfjl2+EbgdaBCR/bFj/xBLHp6R5GZ7WFNVxJqqorFjkYjh9Af9Y02QxtYQ5/qHKczLpmqej8I8b1Q+X/aYgEUxSQvHpMwmN3tq26h29l4A4ETnea5eUZbW3zNd2Jqt3hjzGonbx0ocWVnCkpIClpQUsHltcNY+t9SfQ2FetqNv5NzZSanMCiIS7Yno6LM7lAlRgZVJqSlzdleaCqxMyvJyPx29Fxy7a48KrExKTZkfgJOdzmxGqMDKpNSUFQBwosOZzQgVWJmURfPz8XqEZoe2g1VgZVK8niyWlBRoDay4l5qyAsf2RKjASlJqyvycOts/tjeGk1CBlaQsL/cTjhjeO9efvPAsowIrSRntSnNiO1gFVpKybLQrzYF9wSqwkpRAnpfyQK4jb+RUYMUSOdlZRCLOWwijAiuW6B0ME8hz3mJUFVhJijGG8xfCBPK8dofyJ6jASlIGhkcYiRj8WgMrbmR0bZw2IRRX0hubC6xNCMWV9IzWwA7cUUgFVpKiTQjF1ZwfE1ibEIoL+bANrDWw4kJGmxDajaa4kt7BYUTAn6MCKy6kZzCMPyfbkTtUqsBKUqLDyM6rfUEFVizQOzjsyPYvqMCKBaIz0ZzXhQYqsGIBp06lBBVYsUDv4DB+Bw4jgwqsWMCpc4FBBVaSYIyhZzBMoTYhFDey+0gHQ+EItRUBu0NJiAqsTIgxhodfPM6i+T4+85FKu8NJiAqsTMjuIx00tIT4m2svwevQlLlpiUpErheRoyLSLCL3JTgvIvJI7PxBEVlv9VrFHuJr31vWV9kdzoSkLHBcsu8bgFXAF0Rk1bhi8cm+7yKa7NvqtYoNuKH2hfTUwGPJvo0xQ8Bosu94xpJ9G2PeAIpFJGjxWmWWcUvtC+kReKJE3lbKWLkWiCb7FpG9IrK3s7Mz5aCViXFL7QvpETiVZN9Wro0eNGabMabeGFNfVubMrJFzATfVvpAegVNJ9m3lWmUWcVPtC+kReCzZt4jkEE32vWNcmR3Al2K9EVcQS/Zt8VpllnBb7Qs2J/ue6NpUY1Kmx2jt+0+frXNF7Qs2J/ue6Fpl9nFj7Qs6EqfEcFvbdxT3RKrMGG6tfUEFVnBv7QsqcMbj5toXVOCMx821L6jAGY3ba19QgTMat9e+oAJnLMMjEdfXvqACZySnz/Xzlz/dQ0NLiG9+eoVra19I00ic4h6eOdDKP2xvAODRL6xz7Fo3q6jAGUL/UJjv7GjkV3vfZ93iYh75/DoWzc+3O6yUUYEzgMbWEH/zy32809XH16+t4RsubzbEowLPYYwx/K/fv8sDzx9hXoGXX3xlA1cuL7U7rLSiAs9ROnoHue+pBnYf6eDTl5bzT5/7CPMLcuwOK+2owHOIs+cvsLOxnecb2thz8iweEb7zmVXccWU1Is7bXT0dqMAuZ7y0IxFDdUk+d39iGZ9dv5BlZX67Q5xRVGAXMpm0m9cGWRUsnLM17nhUYJeg0iZGBXYwKm1yVGCHEIkY3j3bx6HWHhpbQuw/3c3eUx+otElQgW0gPBLhZFcfDe+HONQaorGlh8bWEH1DIwDkeLKorQiotBZQgWeYoXCEY+29NLaGONTSw6HWEIfbehgcjgCQ581iVbCQz162kDWVRaypKmJ5uZ+c7LkxUjbTqMBp5t2uPl5r7qKxNURDS4ijZ3oZHonulhXIzWZVZSF/tWEJa6oKWVNZxLIyPx4LGTDfeucc//LaSb574xoqivJm+tdwDSpwGjnUEuJzP/k9g8MRivO9rK0q4itXLRuTdfH8/Gmna20LDbCzsZ1vXb8yzVG7GxU4TXT0DPLVx/dSUpDLk1+5nKWlBdpunQVU4DQwODzCf3hiLz2Dwzz1tSvn/OiXk1CBU8QYw73/9yAHW0Jsu72eS4OFdoeUUeitboo8uruZZw608q1NK7lu1QK7w8k4VOAUeKGhjR/sOsat66u4+xPL7A4nI1GBp8mhlhDf/NV+LlsyjwduXas3bDahAk+D+B6Hn95+GbnZHrtDylj0Jm6KjO9xKPXn2h1SRqMCT4H4Hoef3naZ9jg4AG1CTIEfx/U4/PnqCrvDUVCBLbOz8Qzf1x4Hx6ECW2AoHOEfn2lidWUh37tFexycREoCi8h8EdklIsdjz/MmKJcwobeIPCQiR2IJwH8tIsWpxDNT/Hrf+7R0D/D3m2rJ82qPg5NItQa+D3jJGHMJ8FLs9UUkSei9C1hjjKkDjgH3pxhP2gmPRHjs5RPULSzimhWaIdRppCrwTcDjsZ8fB25OUGbChN7GmN8aY8Kxcm8QzdTpKHYcaOW9c/3cc+1ybTo4kFQFXhDLuEnsuTxBGasJve8EXkgxnrQyEjH8+OVmVlYEdJ6DQ0naDywiLwKJ+oy+bfEzkib0FpFvA2HgF5PEcRdwF8DixYstfnRqPN/QxsnOPh774nqtfR1KUoGNMZ+e6JyItItI0BjTJiJBoCNBsUkTeovIHcBW4FOxjJ4TxbEN2AZQX18/Ybl0EYkYHt19nOXlfm5Yk1l9vk/va+GhnUdp7R6gstjHvZtquXmdM3dxT7UJsQO4I/bzHcBvEpSZMKG3iFwP/GfgRmNMf4qxpJXfNp3hWPt57rl2+bSXAbmRp/e1cP/2Blq6BzBAS/cA929v4Ol9LXaHlpBUBX4QuE5EjgPXxV4jIpUi8jxEE3oDowm9DwO/ikvo/WMgAOwSkf0i8pPxH2AHxhge3d3M0tICttYF7Q5nVnlo51EGhkcuOjYwPMJDO4/aFNHkpDQXwhhzFvhUguOtRLPTj75OmNDbGLM8lc+fKXYf6aCxtYeHPldH9hzZCNoqrd0DUzpuN5n1r2MBYwyP7G5m4TyfY9t9M0llsW9Kx+1GZ6ON49+Od3HgdDffu2XtnNmGfyrcu6mW+7c3XNSM8Hk93LupdkrvMxSOEBoYjj2G6O4fprs/+rp7YJhQ/1D0eeDD4399TQ1/Ub8o+ZvHoQLHYYzhkZeOEyzK47OXObP2ve+pgxT5csjNziInO4scT+w57nWuN/Z80XHP2M/x1+aOu/ZTl5bz325azQ92HaM1NEiwKI+7/mwZlyzw8/sTXYT6owKOShcvZ/fAMD0Dw3T3D41tk5UIESjM81Kc76XIF30smp9PWWDqc6tV4Dj2nDzL3lMf8N0bVztulcW6RfP4s0tK6RkM09I9wFB4hKGRCEPh6ONC7DkcSV8PoydLaAsN8t1nmxKez/FkUZTvpTgmYVVxHquChRSPHosJWpyfM1amON9LIM9raTciK6jAcTz6UjNlgVz+3cem9mdsNlhcks+TX9mQtFwkYhga+VDoeMmjoo9En8cdv6jcSIQLwyOMGDOupsyJyhl77fN6bB/gUYFj7H33HHtOnuW/bLnU1TPOsrKEvCyPq3+HqZB5dykT8MjuZuYX5PDFDbMzTK2kBxUYeO9sP68e6+TOjdXk5+gfJTehAgMmNreoosiZfZ3KxKjAMLY0vuv8BZsjUaaK/r0ECnKz8Xk9dPWqwOlkNma1ZZTAk32hpYEcrYHTyOisttERvdFZbUBaJc6YJkSyaYIlBbmc7RuyN8g5xGzNassYgZN9oaX+XDq1CZE2ZmtWW8YInOwLLQvk0HVea+B0MVuz2jJG4GRfaElBLuf6LjCSxrkEmcy9m2rxjRsNnM6stmRkjMDJvtBSfw4RA939Wgung5vXVfHArWupKvYhQFWxjwduXau9ENNl9IubuBditC94iBLdMjUt3LyuasYXBWSMwDD5Fxo/mFFLYDbDUlIgY5oQySj15wA6Guc2VOAYH9bA2gZ2EypwjCKfF69HtAZ2GSpwDBGhpCBX50O4DBU4jhJ/jg4nuwwVOI5Sf642IVyGChxHbUWAptYeTp9z1DZtyiSowHHcuXEpWVnCIy8dtzsUxSIqcBwVRXnctmEJ2/e18E5Xn93hKBZQgcfxtWtqyPFk8aMXj9kdimIBFXgcZYFcvnTlEn5zoJXj7b12h6MkQQVOwH+8uoZ8r4eHX9S2sNNRgRMwvyCHO69aynMNbTS19tgdjjIJKvAEfPWqZQTysvmhtoUdTUYL/PS+FjY+uJul9z3Hxgd3X5QHoijfy1evWsaupnYOvt9tX5DKpGSswFaSmdx5VTXF+V5+sEtrYaeSsQJbWfYdyPNy19XLeOVoJ2+f+mC2Q1QskLECW132fcfHqykpyOGHWgs7Eluz1ced/3sRMSJSmko8U8Hqsu+C3Gy+dk0NrzV38ebJs7MRmjIF7M5Wj4gsIppj7r0UY5kSU1n2fdsVSygP5PL9XceYJJmoYgO2ZquP8UPgW4zLnzzTTGXZd57Xw9evXc5b75zj9WathZ1EqquSL8pWLyJWs9VvABCRG4EWY8yBZLkWZiLZ91SWfX/+8kX89Hcn+P6uo2xcXmJ7bgglStIaWEReFJFDCR43Jbt29C0SHDMikk804/1/tfImxphtxph6Y0x9WVmZxY9OH7nZHu755CWc6DjP6XPOzFqZidiZrb4GWAqM1r4LgT+KyOXGmDNT+B1mjb+oX8iWuiBFPq/doSgxbMtWb4xpMMaUG2OqjTHVREVf71R5AbyeLJXXYdidrV5RUsLWbPXjrqlOJRYlM8nYkThlbqACK65GBVZcjQqsuBoVWHE1KrDiasSNs6tEpBM4NQNvXQp0zcD7zjRujHsqMS8xxiScP+BKgWcKEdlrjKm3O46p4sa40xWzNiEUV6MCK65GBb6YbXYHME3cGHdaYtY2sOJqtAZWXI0KrLiajBHYwtJ+EZFHYucPish6q9c6LWYRWSQiL4vIYRFpFJG/dXrMcec9IrJPRJ619IHGmDn/ADzACWAZkAMcAFaNK7MZeIHoGr4rgDetXuvAmINEV7cABIBjTo857vzfAf8beNbKZ2ZKDZxsaT+x10+YKG8AxbF1flaudVTMxpg2Y8wfAYwxvURXwsxs1u0UYwYQkYXAFuBnVj8wUwROtLR//D/oRGWsXDsTpBLzGCJSDawD3kx/iH9CqjE/THSPkIjVD8wUgRMu7bdYxsq1M0EqMUdPiviBp4BvGGNmY6fuaccsIluBDmPM21P5wEwReKKl/VbKWLl2JkglZkTES1TeXxhjts9gnJbisVBmI3CjiLxLtOnxSRH5edJPnM2bKbseRBevniS6D8XozcXqcWW2cPHNxVtWr3VgzAI8ATzslu95XJlrsHgTZ7tcs/jlbiZ6N34C+Hbs2N3A3XH/6I/FzjcA9ZNd6+SYgauI/uk+COyPPTY7OeZx72FZYB1KVlxNprSBlTmKCqy4GhVYcTUqsOJqVGDF1ajAiqtRgRVX8/8BXypnmCJbPNIAAAAASUVORK5CYII=",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {
- "needs_background": "light"
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
},
+ "metadata": {},
"output_type": "display_data"
}
],
@@ -209,14 +242,22 @@
"outputs": [
{
"data": {
- "image/png": "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",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {
- "needs_background": "light"
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
},
+ "metadata": {},
"output_type": "display_data"
}
],
@@ -244,14 +285,22 @@
"outputs": [
{
"data": {
- "image/png": "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",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {
- "needs_background": "light"
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
},
+ "metadata": {},
"output_type": "display_data"
}
],
@@ -274,14 +323,22 @@
"outputs": [
{
"data": {
- "image/png": "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",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {
- "needs_background": "light"
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
},
+ "metadata": {},
"output_type": "display_data"
}
],
@@ -306,14 +363,22 @@
"outputs": [
{
"data": {
- "image/png": "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",
"text/plain": [
- ""
+ ""
]
},
- "metadata": {
- "needs_background": "light"
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
},
+ "metadata": {},
"output_type": "display_data"
}
],
@@ -362,12 +427,12 @@
" \n",
" \n",
" | 0 | \n",
- " POINT (0.03090 0.04429) | \n",
+ " POINT (0.0309 0.04429) | \n",
" node_0 | \n",
"
\n",
" \n",
" | 1 | \n",
- " POINT (0.03090 0.03759) | \n",
+ " POINT (0.0309 0.03759) | \n",
" node_1 | \n",
"
\n",
" \n",
@@ -377,7 +442,7 @@
"
\n",
" \n",
" | 3 | \n",
- " POINT (0.02987 -0.02180) | \n",
+ " POINT (0.02987 -0.0218) | \n",
" node_3 | \n",
"
\n",
" \n",
@@ -391,10 +456,10 @@
],
"text/plain": [
" geometry id\n",
- "0 POINT (0.03090 0.04429) node_0\n",
- "1 POINT (0.03090 0.03759) node_1\n",
+ "0 POINT (0.0309 0.04429) node_0\n",
+ "1 POINT (0.0309 0.03759) node_1\n",
"2 POINT (0.02129 0.03948) node_2\n",
- "3 POINT (0.02987 -0.02180) node_3\n",
+ "3 POINT (0.02987 -0.0218) node_3\n",
"4 POINT (0.03759 -0.02798) node_4"
]
},
@@ -442,21 +507,21 @@
"
\n",
" \n",
" | 0 | \n",
- " LINESTRING (0.00412 -0.04086, 0.00190 -0.03652) | \n",
+ " LINESTRING (0.00412 -0.04086, 0.0019 -0.03652) | \n",
" edge_0 | \n",
" node_10 | \n",
" node_22 | \n",
"
\n",
" \n",
" | 1 | \n",
- " LINESTRING (0.00190 -0.03652, 0.00034 -0.03347... | \n",
+ " LINESTRING (0.0019 -0.03652, 0.00034 -0.03347,... | \n",
" edge_1 | \n",
" node_22 | \n",
" node_21 | \n",
"
\n",
" \n",
" | 2 | \n",
- " LINESTRING (-0.00010 -0.02843, -0.00034 -0.025... | \n",
+ " LINESTRING (-0.0001 -0.02843, -0.00034 -0.0257... | \n",
" edge_2 | \n",
" node_21 | \n",
" node_25 | \n",
@@ -470,7 +535,7 @@
"
\n",
" \n",
" | 4 | \n",
- " LINESTRING (0.03044 0.01900, 0.03021 0.02043, ... | \n",
+ " LINESTRING (0.03044 0.019, 0.03021 0.02043, 0.... | \n",
" edge_4 | \n",
" node_26 | \n",
" node_17 | \n",
@@ -481,11 +546,11 @@
],
"text/plain": [
" geometry id from_id to_id\n",
- "0 LINESTRING (0.00412 -0.04086, 0.00190 -0.03652) edge_0 node_10 node_22\n",
- "1 LINESTRING (0.00190 -0.03652, 0.00034 -0.03347... edge_1 node_22 node_21\n",
- "2 LINESTRING (-0.00010 -0.02843, -0.00034 -0.025... edge_2 node_21 node_25\n",
+ "0 LINESTRING (0.00412 -0.04086, 0.0019 -0.03652) edge_0 node_10 node_22\n",
+ "1 LINESTRING (0.0019 -0.03652, 0.00034 -0.03347,... edge_1 node_22 node_21\n",
+ "2 LINESTRING (-0.0001 -0.02843, -0.00034 -0.0257... edge_2 node_21 node_25\n",
"3 LINESTRING (0.01717 -0.01081, 0.02283 -0.00893... edge_3 node_25 node_26\n",
- "4 LINESTRING (0.03044 0.01900, 0.03021 0.02043, ... edge_4 node_26 node_17"
+ "4 LINESTRING (0.03044 0.019, 0.03021 0.02043, 0.... edge_4 node_26 node_17"
]
},
"execution_count": 11,
@@ -527,7 +592,9 @@
"metadata": {},
"outputs": [],
"source": [
- "G = snkit.network.to_networkx(with_topology)"
+ "projected = snkit.Network(with_topology.nodes.copy(), with_topology.edges.copy())\n",
+ "projected.to_crs(\"EPSG:32631\")\n",
+ "graph_nx = snkit.network.to_networkx(projected)"
]
},
{
@@ -543,34 +610,265 @@
"cell_type": "code",
"execution_count": 14,
"metadata": {},
+ "outputs": [],
+ "source": [
+ "path_nodes = networkx.shortest_path(graph_nx, \"node_0\", \"node_10\") # gives a list of node ids\n",
+ "path_edges = list(zip(path_nodes, path_nodes[1:])) # gives a list of (from_id, to_id) tuples"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " geometry | \n",
+ " id | \n",
+ " from_id | \n",
+ " to_id | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 14 | \n",
+ " LINESTRING (169464.528 4901.779, 168778.568 49... | \n",
+ " edge_14 | \n",
+ " node_0 | \n",
+ " node_16 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " LINESTRING (168763.283 4435.231, 168737.573 45... | \n",
+ " edge_6 | \n",
+ " node_18 | \n",
+ " node_16 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " LINESTRING (168832.406 4049.127, 168763.283 44... | \n",
+ " edge_5 | \n",
+ " node_17 | \n",
+ " node_18 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " LINESTRING (169412.871 2102.683, 169387.901 22... | \n",
+ " edge_4 | \n",
+ " node_26 | \n",
+ " node_17 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " LINESTRING (167934.219 -1196.904, 168565.338 -... | \n",
+ " edge_3 | \n",
+ " node_25 | \n",
+ " node_26 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " LINESTRING (166009.82 -3146.978, 165983.257 -2... | \n",
+ " edge_2 | \n",
+ " node_21 | \n",
+ " node_25 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " LINESTRING (166233.446 -4042.213, 166059.72 -3... | \n",
+ " edge_1 | \n",
+ " node_22 | \n",
+ " node_21 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " LINESTRING (166480.501 -4521.927, 166233.446 -... | \n",
+ " edge_0 | \n",
+ " node_10 | \n",
+ " node_22 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " geometry id from_id \\\n",
+ "14 LINESTRING (169464.528 4901.779, 168778.568 49... edge_14 node_0 \n",
+ "6 LINESTRING (168763.283 4435.231, 168737.573 45... edge_6 node_18 \n",
+ "5 LINESTRING (168832.406 4049.127, 168763.283 44... edge_5 node_17 \n",
+ "4 LINESTRING (169412.871 2102.683, 169387.901 22... edge_4 node_26 \n",
+ "3 LINESTRING (167934.219 -1196.904, 168565.338 -... edge_3 node_25 \n",
+ "2 LINESTRING (166009.82 -3146.978, 165983.257 -2... edge_2 node_21 \n",
+ "1 LINESTRING (166233.446 -4042.213, 166059.72 -3... edge_1 node_22 \n",
+ "0 LINESTRING (166480.501 -4521.927, 166233.446 -... edge_0 node_10 \n",
+ "\n",
+ " to_id \n",
+ "14 node_16 \n",
+ "6 node_16 \n",
+ "5 node_18 \n",
+ "4 node_17 \n",
+ "3 node_26 \n",
+ "2 node_25 \n",
+ "1 node_21 \n",
+ "0 node_22 "
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "edge_dfs = []\n",
+ "for from_id, to_id in path_edges:\n",
+ " # as our network is undirected, pull either from_id-to_id or to_id-from_id for each path edge\n",
+ " ab = (projected.edges.from_id == from_id) & (projected.edges.to_id == to_id)\n",
+ " ba = (projected.edges.from_id == to_id) & (projected.edges.to_id == from_id)\n",
+ " df = projected.edges[ab | ba]\n",
+ " edge_dfs.append(df)\n",
+ "path_edge_df = pandas.concat(edge_dfs)\n",
+ "path_edge_df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Plot the shortest path in red over the whole network:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "ax = plot_network(projected)\n",
+ "path_edge_df.plot(ax=ax, color='red')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Let's delete an edge so we can illustrate connected components using `igraph`. Deleting `edge_2` will split the graph so the bottom-left cluster is isolated."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "with_topology.edges = with_topology.edges.query(\"id != 'edge_2'\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Convert to [`igraph.Graph`](https://python.igraph.org/en/stable/api/igraph.Graph.html), then calculate connected components using the `igraph` implementation of the algorithem, and plot using `igraph`'s helper, to see the two separated components after deleting `edge_2`"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "graph_ig = snkit.network.to_igraph(with_topology)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "components = graph_ig.connected_components(mode=\"weak\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
"outputs": [
{
"data": {
"text/plain": [
- "['node_0',\n",
- " 'node_16',\n",
- " 'node_18',\n",
- " 'node_17',\n",
- " 'node_26',\n",
- " 'node_25',\n",
- " 'node_21',\n",
- " 'node_22',\n",
- " 'node_10']"
+ ""
]
},
- "execution_count": 14,
+ "execution_count": 20,
"metadata": {},
"output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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Jjcok5Qli6hfv36RPK9hGEydOpWNGzfSt29fIiMji+R5RETkvxQDclY//vgjb77xJrNnzcHpcHLXvW0ZNGgQtWvXLvLnTk5OZt68efTq1YsqVaqwceNGpk2bhsfjITExkaZNm+rYAhGRQqIYkBJr3bp1fP311+zYvoNvJ31LiCsMtyOQw96DJDRPZOp3UyhXrpzVY4qI+D2djlhKrPr162OaJpMnTaYnH/GF7wCjvPt4ju9ZuWQNPR/vZfWIIiKlgrYMSInl8/moEhvH9fvvojfDT7ltFh/xmaMfu37fddGnSBYRkVNpy4CUWAcOHGDP/jQa0Pq02xpwO4ZpsHHjRgsmExEpXRQDUmKFhYUR4A4gjV9Pu23P8WVRUVHFPZaISKmjGJASKyQkhPvvv58Zrnc5wO/5y4+SzXjnYK6tXZcGDRqcYw0iInIhdMyAlGh//PEHTRo1Zf+egzT2PUAZQljm/pa8gBx+mD+Xxo0bWz2iiIjfUwxIibd//34++OADpkycyrG8PFq2/jtPPvkkNWvWtHo0EZFSQTEgIiJiczpmQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2JxiQERExOYUAyIiIjanGBAREbE5xYCIiIjNKQZERERsTjEgIiJic4oBERERm1MMiIiI2Nz/A34A45um+M/NAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
- "networkx.shortest_path(G, \"node_0\", \"node_10\")"
+ "fig, ax = plt.subplots()\n",
+ "igraph.plot(\n",
+ " components,\n",
+ " target=ax,\n",
+ " palette=igraph.RainbowPalette(),\n",
+ " vertex_size=7,\n",
+ " vertex_color=list(map(int, igraph.rescale(components.membership, (0, 200), clamp=True))),\n",
+ " edge_width=0.7\n",
+ ")"
]
}
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -584,9 +882,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.10"
+ "version": "3.13.14"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}
diff --git a/pyproject.toml b/pyproject.toml
index e568c9a..3ab7ec2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -26,6 +26,7 @@ dependencies = ["geopandas>=1.0", "numpy", "pandas", "shapely>=2.0"]
dev = ["mypy", "nbstripout", "pre-commit", "pytest", "pytest-cov", "ruff"]
docs = ["myst-parser", "sphinx"]
networkx = ["networkx>=3.0"]
+igraph = ["python-igraph>=1.0"]
[project.urls]
Homepage = "https://snkit.readthedocs.io/en/latest/"
diff --git a/src/snkit/__init__.py b/src/snkit/__init__.py
index e824a76..c7625e2 100644
--- a/src/snkit/__init__.py
+++ b/src/snkit/__init__.py
@@ -1,5 +1,5 @@
-"""snkit - a spatial networks toolkit
-"""
+"""snkit - a spatial networks toolkit"""
+
from importlib.metadata import version, PackageNotFoundError
# Define what is accessible directly on snkit, when a client writes::
diff --git a/src/snkit/network.py b/src/snkit/network.py
index 0cb44ff..9f27e46 100644
--- a/src/snkit/network.py
+++ b/src/snkit/network.py
@@ -23,6 +23,13 @@
except ImportError:
USE_NX = False
+try:
+ import igraph
+
+ USE_IGRAPH = True
+except ImportError:
+ USE_IGRAPH = False
+
from geopandas import GeoDataFrame
from shapely import Geometry
from shapely.geometry import (
@@ -60,7 +67,9 @@
cpus = 1
PARALLEL_PROCESS_COUNT: int = min([cpus, requested_processes])
- logging.info(f"SNKIT_PROCESSES={processes_env_var}, using {PARALLEL_PROCESS_COUNT} processes")
+ logging.info(
+ f"SNKIT_PROCESSES={processes_env_var}, using {PARALLEL_PROCESS_COUNT} processes"
+ )
else:
PARALLEL_PROCESS_COUNT = 0
@@ -82,7 +91,9 @@ class Network:
"""
- def __init__(self, nodes: Optional[GeoDataFrame] = None, edges: Optional[GeoDataFrame] = None):
+ def __init__(
+ self, nodes: Optional[GeoDataFrame] = None, edges: Optional[GeoDataFrame] = None
+ ):
""" """
if nodes is None:
nodes = GeoDataFrame(geometry=[])
@@ -117,7 +128,9 @@ def set_crs(
self.edges.set_crs(crs, epsg, inplace, allow_override)
self.nodes.set_crs(crs, epsg, inplace, allow_override)
- def to_crs(self, crs: Optional[pyproj.CRS] = None, epsg: Optional[int] = None) -> None:
+ def to_crs(
+ self, crs: Optional[pyproj.CRS] = None, epsg: Optional[int] = None
+ ) -> None:
"""Transform network nodes and edges geometries to a new coordinate
reference system (CRS).
@@ -216,7 +229,9 @@ def add_topology(network: Network, id_col: str = "id") -> Network:
from_ids = []
to_ids = []
- for edge in tqdm(network.edges.itertuples(), desc="topology", total=len(network.edges)):
+ for edge in tqdm(
+ network.edges.itertuples(), desc="topology", total=len(network.edges)
+ ):
start, end = line_endpoints(edge.geometry)
start_node = nearest_node(start, network.nodes)
@@ -235,7 +250,9 @@ def add_topology(network: Network, id_col: str = "id") -> Network:
def get_endpoints(network: Network) -> GeoDataFrame:
"""Get nodes for each edge endpoint"""
endpoints = []
- for edge in tqdm(network.edges.itertuples(), desc="endpoints", total=len(network.edges)):
+ for edge in tqdm(
+ network.edges.itertuples(), desc="endpoints", total=len(network.edges)
+ ):
if edge.geometry is None:
continue
if edge.geometry.geom_type == "MultiLineString":
@@ -291,7 +308,9 @@ def split_multilinestrings(network: Network, merge_parts: bool = False) -> Netwo
geo_types = set(split_edges.geom_type)
if geo_types != {"LineString"}:
- raise ValueError(f"exploded edges are of type(s) {geo_types} but should only be LineString")
+ raise ValueError(
+ f"exploded edges are of type(s) {geo_types} but should only be LineString"
+ )
return Network(nodes=network.nodes, edges=split_edges)
@@ -342,7 +361,9 @@ def snap_node(geom: Point) -> Point:
return Network(nodes=nodes, edges=network.edges)
-def _split_edges_at_nodes(edges: GeoDataFrame, nodes: GeoDataFrame, tolerance: float) -> List["pandas.Series[Any]"]:
+def _split_edges_at_nodes(
+ edges: GeoDataFrame, nodes: GeoDataFrame, tolerance: float
+) -> List["pandas.Series[Any]"]:
"""Split edges at nodes for a network chunk"""
split_edges = []
@@ -357,7 +378,9 @@ def _split_edges_at_nodes(edges: GeoDataFrame, nodes: GeoDataFrame, tolerance: f
return split_edges
-def split_edges_at_nodes(network: Network, tolerance: Number = 1e-9, chunk_size: Optional[int] = None) -> Network:
+def split_edges_at_nodes(
+ network: Network, tolerance: Number = 1e-9, chunk_size: Optional[int] = None
+) -> Network:
"""
Split network edges where they intersect node geometries.
@@ -379,7 +402,10 @@ def split_edges_at_nodes(network: Network, tolerance: Number = 1e-9, chunk_size:
if PARALLEL_PROCESS_COUNT > 1:
if chunk_size is None:
chunk_size = max([1, int(n / PARALLEL_PROCESS_COUNT)])
- args = [(network.edges.iloc[i : i + chunk_size, :], network.nodes, tolerance) for i in range(0, n, chunk_size)]
+ args = [
+ (network.edges.iloc[i : i + chunk_size, :], network.nodes, tolerance)
+ for i in range(0, n, chunk_size)
+ ]
with multiprocessing.Pool(PARALLEL_PROCESS_COUNT) as pool:
results = pool.starmap(_split_edges_at_nodes, args)
@@ -390,16 +416,25 @@ def split_edges_at_nodes(network: Network, tolerance: Number = 1e-9, chunk_size:
split_edges = _split_edges_at_nodes(network.edges, network.nodes, tolerance)
# combine dfs
- edges = pandas.concat(split_edges, axis=0).reset_index().drop("index", axis=1)
+ edges = (
+ pandas.concat(split_edges, axis=0)
+ .reset_index()
+ .drop("index", axis=1)
+ .set_crs(network.edges.crs, allow_override=True)
+ )
return Network(nodes=network.nodes, edges=edges)
-def split_edges_at_intersections(network: Network, tolerance: Optional[Number] = 1e-9) -> Network:
+def split_edges_at_intersections(
+ network: Network, tolerance: Optional[Number] = 1e-9
+) -> Network:
"""Split network edges where they intersect line geometries"""
split_edges = []
split_points = []
- for edge in tqdm(network.edges.itertuples(index=False), desc="split", total=len(network.edges)):
+ for edge in tqdm(
+ network.edges.itertuples(index=False), desc="split", total=len(network.edges)
+ ):
# note: the symmetry of intersection is not exploited here.
# (If A intersects B, then B intersects A)
# since edges are not modified within the loop, this has just
@@ -442,7 +477,9 @@ def link_nodes_to_edges_within(
"""Link nodes to all edges within some distance"""
new_node_geoms = []
new_edge_geoms = []
- for node in tqdm(network.nodes.itertuples(index=False), desc="link", total=len(network.nodes)):
+ for node in tqdm(
+ network.nodes.itertuples(index=False), desc="link", total=len(network.nodes)
+ ):
# for each node, find edges within
edges = edges_within(node.geometry, network.edges, distance)
for edge in edges.itertuples():
@@ -474,7 +511,9 @@ def link_nodes_to_nearest_edge(
"""Link nodes to all edges within some distance"""
new_node_geoms = []
new_edge_geoms = []
- for node in tqdm(network.nodes.itertuples(index=False), desc="link", total=len(network.nodes)):
+ for node in tqdm(
+ network.nodes.itertuples(index=False), desc="link", total=len(network.nodes)
+ ):
# for each node, find edges within
edge = nearest_edge(node.geometry, network.edges)
if condition is not None and not condition(node, edge):
@@ -502,7 +541,9 @@ def link_nodes_to_nearest_edge(
return split
-def merge_edges(network: Network, id_col: Optional[str] = "id", by: Optional[List[str]] = None) -> Network:
+def merge_edges(
+ network: Network, id_col: Optional[str] = "id", by: Optional[List[str]] = None
+) -> Network:
"""Merge edges that share a node with a connectivity degree of 2
Parameters
@@ -514,7 +555,9 @@ def merge_edges(network: Network, id_col: Optional[str] = "id", by: Optional[Lis
edges have different values.
"""
if "degree" not in network.nodes.columns:
- network.nodes["degree"] = network.nodes[id_col].apply(lambda x: node_connectivity_degree(x, network))
+ network.nodes["degree"] = network.nodes[id_col].apply(
+ lambda x: node_connectivity_degree(x, network)
+ )
degree2 = list(network.nodes[id_col].loc[network.nodes.degree == 2])
d2_set = set(degree2)
@@ -531,7 +574,10 @@ def merge_edges(network: Network, id_col: Optional[str] = "id", by: Optional[Lis
matches = set(
np.unique(
network.edges[["from_id", "to_id"]]
- .loc[(network.edges.from_id == popped_cand) | (network.edges.to_id == popped_cand)]
+ .loc[
+ (network.edges.from_id == popped_cand)
+ | (network.edges.to_id == popped_cand)
+ ]
.values
)
)
@@ -546,7 +592,10 @@ def merge_edges(network: Network, id_col: Optional[str] = "id", by: Optional[Lis
node_path.add(match)
if len(node_path) > 2:
edge_paths.append(
- network.edges.loc[(network.edges.from_id.isin(node_path)) & (network.edges.to_id.isin(node_path))]
+ network.edges.loc[
+ (network.edges.from_id.isin(node_path))
+ & (network.edges.to_id.isin(node_path))
+ ]
)
concat_edge_paths = []
@@ -586,7 +635,9 @@ def merge_edges(network: Network, id_col: Optional[str] = "id", by: Optional[Lis
edges_new = network.edges.copy()
edges_new = edges_new.loc[~(edges_new.id.isin(list(unique_edge_ids)))]
edges_new.geometry = edges_new.geometry.apply(merge_multilinestring)
- edges = pandas.concat([edges_new, pandas.concat(concat_edge_paths).reset_index()], sort=False)
+ edges = pandas.concat(
+ [edges_new, pandas.concat(concat_edge_paths).reset_index()], sort=False
+ )
nodes = network.nodes.set_index(id_col).loc[list(new_node_ids)].copy().reset_index()
@@ -632,10 +683,14 @@ def concat_dedup(dfs: List[pandas.DataFrame]) -> GeoDataFrame:
def node_connectivity_degree(node: str, network: Network) -> int:
- return len(network.edges[(network.edges.from_id == node) | (network.edges.to_id == node)])
+ return len(
+ network.edges[(network.edges.from_id == node) | (network.edges.to_id == node)]
+ )
-def drop_duplicate_geometries(gdf: GeoDataFrame, keep: Optional[str] = "first") -> GeoDataFrame:
+def drop_duplicate_geometries(
+ gdf: GeoDataFrame, keep: Optional[str] = "first"
+) -> GeoDataFrame:
"""Drop duplicate geometries from a dataframe"""
# as of geopandas ~0.6 this should work without explicit conversion to wkb
# discussed in https://github.com/geopandas/geopandas/issues/521
@@ -704,7 +759,9 @@ def edges_intersecting_points(
segments_coordinates = []
for seg in intersection.geoms:
segments_coordinates.extend(list(seg.coords))
- intersection = [Point(p) for p, c in Counter(segments_coordinates).items() if c > 1]
+ intersection = [
+ Point(p) for p, c in Counter(segments_coordinates).items() if c > 1
+ ]
intersection = MultiPoint(intersection)
# then extract the intersection points
@@ -713,17 +770,23 @@ def edges_intersecting_points(
return hits_points
-def edges_intersecting(line: LineString, edges: GeoDataFrame, tolerance: Optional[Number] = 1e-9) -> GeoDataFrame:
+def edges_intersecting(
+ line: LineString, edges: GeoDataFrame, tolerance: Optional[Number] = 1e-9
+) -> GeoDataFrame:
"""Find edges intersecting line"""
return intersects(line, edges, tolerance)
-def nodes_intersecting(line: LineString, nodes: GeoDataFrame, tolerance: Optional[Number] = 1e-9) -> GeoDataFrame:
+def nodes_intersecting(
+ line: LineString, nodes: GeoDataFrame, tolerance: Optional[Number] = 1e-9
+) -> GeoDataFrame:
"""Find nodes intersecting line"""
return intersects(line, nodes, tolerance)
-def intersects(geom: Geometry, gdf: GeoDataFrame, tolerance: Optional[Number] = 1e-9) -> GeoDataFrame:
+def intersects(
+ geom: Geometry, gdf: GeoDataFrame, tolerance: Optional[Number] = 1e-9
+) -> GeoDataFrame:
"""Find the subset of a GeoDataFrame intersecting with a shapely geometry"""
return _intersects(geom, gdf, tolerance)
@@ -733,7 +796,9 @@ def d_within(geom: Geometry, gdf: GeoDataFrame, distance: Number) -> GeoDataFram
return _intersects(geom, gdf, distance)
-def _intersects(geom: Geometry, gdf: GeoDataFrame, tolerance: Optional[Number] = 1e-9) -> GeoDataFrame:
+def _intersects(
+ geom: Geometry, gdf: GeoDataFrame, tolerance: Optional[Number] = 1e-9
+) -> GeoDataFrame:
if geom.is_empty:
return geopandas.GeoDataFrame()
buf = geom.buffer(tolerance)
@@ -766,7 +831,9 @@ def line_endpoints(line: LineString) -> Tuple[Point, Point]:
return start, end
-def intersection_endpoints(geom: Geometry, output: Optional[List[Point]] = None) -> List[Point]:
+def intersection_endpoints(
+ geom: Geometry, output: Optional[List[Point]] = None
+) -> List[Point]:
"""Return the points from an intersection geometry
It extracts the starting and ending points of intersection
@@ -788,7 +855,11 @@ def intersection_endpoints(geom: Geometry, output: Optional[List[Point]] = None)
output.append(end)
# recursively for collections of geometries
# note that there is no shared inheritance relationship
- elif geom_type == "MultiPoint" or geom_type == "MultiLineString" or geom_type == "GeometryCollection":
+ elif (
+ geom_type == "MultiPoint"
+ or geom_type == "MultiLineString"
+ or geom_type == "GeometryCollection"
+ ):
for geom_ in geom.geoms:
output = intersection_endpoints(geom_, output)
@@ -885,7 +956,10 @@ def nearest_vertex_idx_on_line(point: Point, line: LineString) -> int:
# splitting point)
line_coords = np.array(line.coords)
nearest_idx, _ = min(
- [(idx, point.distance(Point(coords))) for idx, coords in enumerate(line_coords)],
+ [
+ (idx, point.distance(Point(coords)))
+ for idx, coords in enumerate(line_coords)
+ ],
key=lambda item: item[1],
)
return nearest_idx
@@ -899,7 +973,9 @@ def nearest_point_on_line(point: Point, line: LineString) -> Point:
def set_precision(geom: Geometry, precision: int) -> Geometry:
"""Set geometry precision"""
geom_mapping = mapping(geom)
- geom_mapping["coordinates"] = np.round(np.array(geom_mapping["coordinates"]), precision)
+ geom_mapping["coordinates"] = np.round(
+ np.array(geom_mapping["coordinates"]), precision
+ )
return shape(geom_mapping)
@@ -919,7 +995,9 @@ def to_networkx(
G.add_nodes_from(network.nodes.id.to_list())
# add nodal positions from geom
- for node_id, x, y in zip(network.nodes.id, network.nodes.geometry.x, network.nodes.geometry.y):
+ for node_id, x, y in zip(
+ network.nodes.id, network.nodes.geometry.x, network.nodes.geometry.y
+ ):
G.nodes[node_id]["pos"] = (x, y)
# get edges from network data
@@ -945,6 +1023,73 @@ def to_networkx(
return G
+def to_igraph(
+ network: Network, directed: bool = False, weight_col: Optional[str] = None
+) -> "igraph.Graph":
+ """Return an igraph Graph representation of the network
+
+ Parameters
+ ----------
+ network : snkit.network.Network
+ The network to convert
+ directed : bool, optional
+ If True, create a directed graph. Default is False (undirected)
+ weight_col : str, optional
+ Column name to use for edge weights. If None, uses geometry length.
+
+ Returns
+ -------
+ igraph.Graph
+ An igraph Graph object with nodes and edges from the network
+
+ Raises
+ ------
+ ImportError
+ If igraph is not installed
+ """
+ if not USE_IGRAPH:
+ raise ImportError("No module named igraph")
+
+ # Create graph (directed or undirected)
+ g = igraph.Graph(directed=directed)
+
+ # Add vertices with their node IDs
+ node_ids = network.nodes.id.to_list()
+ g.add_vertices(len(node_ids))
+
+ # Set vertex names and positions
+ g.vs["name"] = node_ids
+ g.vs["x"] = network.nodes.geometry.x.to_list()
+ g.vs["y"] = network.nodes.geometry.y.to_list()
+
+ # Create mapping from node ID to vertex index for edge creation
+ node_id_to_idx = {node_id: idx for idx, node_id in enumerate(node_ids)}
+
+ # Prepare edges with weights
+ edge_list = []
+ weights = []
+
+ for edge in network.edges.itertuples(index=False):
+ from_idx = node_id_to_idx[edge.from_id]
+ to_idx = node_id_to_idx[edge.to_id]
+ edge_list.append((from_idx, to_idx))
+
+ # Get weight from specified column or use geometry length
+ if weight_col is None:
+ weight = edge.geometry.length
+ else:
+ weight = getattr(edge, weight_col)
+ weights.append(weight)
+
+ # Add edges to graph
+ g.add_edges(edge_list)
+
+ # Set edge weights
+ g.es["weight"] = weights
+
+ return g
+
+
def get_connected_components(network: Network) -> List[Set[Any]]:
"""Get connected components within network and id to each individual graph"""
if not USE_NX: