{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from shapely.geometry import (box, LineString, MultiLineString, MultiPoint,\n", " Point, Polygon, MultiPolygon, shape, GeometryCollection)\n", "from shapely_tools import *" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# plot functions\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "def plot_coords(ax, ob):\n", " x, y = ob.xy\n", " ax.plot(x, y, '.', color='#999999', zorder=3)\n", "\n", "def plot_point(ax, ob, color='#000000'):\n", " x, y = ob.xy\n", " ax.plot(x, y, 'o', color=color, zorder=4, markersize=7)\n", " \n", "def plot_bounds(ax, ob, color='#000000', marker='o'):\n", " x, y = zip(*list((p.x, p.y) for p in ob.boundary))\n", " ax.plot(x, y, marker, color=color, zorder=3)\n", "\n", "def plot_line(ax, ob, color='red'):\n", " x, y = ob.xy\n", " ax.plot(x, y, color=color, alpha=0.7, linewidth=2, solid_capstyle='round', zorder=2)\n", " \n", "\n", "def baseplot(lines, title='', ax=None):\n", " if ax is None:\n", " fig, ax = plt.subplots(1, figsize=(5, 5))\n", " for line in lines:\n", " plot_line(ax, line, 'grey')\n", " plot_bounds(ax, line)\n", " plot_coords(ax, line) \n", "\n", " ax.set_title(title)\n", " ax.get_xaxis().set_visible(False)\n", " ax.get_yaxis().set_visible(False)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "ename": "NameError", "evalue": "name 'NoneType' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mNoneType\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mNameError\u001b[0m: name 'NoneType' is not defined" ] } ], "source": [ "isinstance(None, )\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(-0.2, 1.2)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAASUAAAE0CAYAAABq7SVJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAB6ZJREFUeJzt3DFoZGsZx+H3MykNbArXORPwMoVY2mkhThPr21ybNBYK\n2qULSAQVCy1SmUKwXCzWTmyFNFNca62FoJA5WS0SCUzhJffY7JW9eze5u6yb85/hearJnClehnw/\nvm9yMm0YhgJI8YWxBwB4kSgBUUQJiCJKQBRRAqKIEhBle+wByNdaO6+qH1TVN6tqNgzDD0ceiQ0m\nSry2YRh+NfYMbD7HNyCKKPHaWms/a6397vnj91prH7fWvtda+3tr7Z+tteMXXttaaz9urf2ttfav\n1trvW2uPxpuedSFKvKmX/y/pW1X11ar6TlX9tLX2tefPH1bV+1X17aqaVtVVVf3moYZkfYkSb2Oo\nqp8Pw/CfYRj+WlV/qaqvP7/2o6r6yTAM/TAMH1XVL6rqu601v3PcywfdvK1nLzxeVdUXnz9+r6r+\n0Fr7+PnPrao+qqovV1X/cOOxbkSJd+UfVfX9YRj+PPYgrBdbad5Gu+fab6vql621r1RVtda+1Fp7\n/2HGYp2JEq/jri/devn5F3/+dVX9sar+1Fr7d1V9WFXfeAezsWGaL3kDktgpAVFECYgiSkAUUQKi\n3HufUmvNp+DAOzEMwytvKfncmyf9dQ74f2vt7lvcHN+AKKIERBElIIooAVFECYgiSkAUUQKiiBIQ\nRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSA\nKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIMpaRmmxWNRsNqtHjx7VbDarxWIx9kgQ\nYRPWRhuG4e6LrQ33XR/DYrGo/f392traqr29vbq4uKjb29s6Ozur+Xw+9ngwmnVaG621GoahvfLa\nukVpNptV3/d1dHRUXddV3/d1cnJSOzs7dXp6OvZ4MJrDw8O6ubn5zNrouq7Oz8/HHu9T7ovS2h3f\nrq6uam9vr7quq+3t7ZpMJjWdTmu1Wo09GoxqtVq9cm1cX1+PPdob2R57gDe1u7tbFxcX1fd9TSaT\nury8rOVyWV3X1cHBwdjjwWiOj4/vXBvrZO2Oby+em6fTaS2Xy9hzMzykdVobG3V8m8/ndXZ2Vjs7\nO/Xs2bPqui7yTYeHtilrY+12Sp94+vRpVZUjG7xkHdbGRu2UgM0mSkAUUQKiiBIQRZSAKKIERBEl\nIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIoo\nAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFE\nCYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgi\nSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAU\nUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKi\niBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQ\nRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSA\nKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIE\nRBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBEl\nIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIoo\nAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIEobhuHu\ni60N910fy2KxqA8++KBWq1U9fvy4njx5UvP5fOyxYHTrsjZaazUMQ3vVtbXbKS0Wi9rf36+bm5ua\nTCbV933t7+/XYrEYezQY1aasjbXbKc1ms+r7vo6Ojqrruur7vk5OTmpnZ6dOT0/HHg9Gc3h4WDc3\nN59ZG13X1fn5+djjfcpG7ZSurq5qb2+vuq6r7e3tmkwmNZ1Oa7VajT0ajGq1Wr1ybVxfX4892hvZ\nHnuAN7W7u1sXFxfV931NJpO6vLys5XJZXdfVwcHB2OPBaI6Pj+9cG+tk7Y5vn5ybt7a2ajqd1nK5\nrNvb2zo7O4v8QA8eyjqtjY06vs3n8zo7O6uu6+rq6qq6rot80+GhbcraWLudErD+NmqnBGw2UQKi\niBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQ\nRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQRZSAKKIERBElIIooAVFECYgiSkAUUQKiiBIQZfvz\nXtBae4g5AKqqqg3DMPYMAP/j+AZEESUgiigBUUQJiCJKQJT/AjXTxSM7UOKuAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bbox = shapely.geometry.Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])\n", "\n", "lines = explode_polygons(bbox)\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(5, 5))\n", "baseplot(lines, 'line', ax=ax)\n", "ax.set_xlim(-0.2, 1.2)\n", "ax.set_ylim(-0.2, 1.2)\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAE0CAYAAAAotOlqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFRxJREFUeJzt3VuMXfWh3/Hff+zY4BRDAdOxxwdio0JwJAeogIDDxZHn\noapypEioUhurSlSpfajUh9Jpm9NOe1KraRUeorZqpT70qaTNS1RVJ09MYWzAJJBEQBABkhM2l7kV\nXzD2sV3fZvXBY3cw9nhsz+y191qfjxTJmfHgPw9svqy99vqVqqoCANBkA3UfAABguQkeAKDxBA8A\n0HiCBwBoPMEDADSe4AEAGm9l3Qegu0opnSR/N8lDSTZVVfX3aj4SACw7wdNSVVX927rPAADd4i0t\nAKDxBE9LlVL+VSnlv839+o5Symwp5e+UUj4opXxcSvmTeb+3lFL+WSnlz0sp+0opPyml3FTf6YE2\nKaVsLKX8dO61aV8p5T+UUjaXUp4rpeyf+/ozpZS1836mM/e69VYp5UAp5b+WUlbNfe+WUsqflVI+\nmfvenvr+7ugWwdNuF+6KbEvyV5PsSPIvSyl3z339Hyb54ySPJtmQ5JMk/7lbhwTaq5QykORnSTpJ\nbk8ylOQnc9/+QZLBJPck2ZjkTy/48b+dZDjJnUnuTvIv5r7+VJKPktyS5LYkfxIaT/BwTpXkT6uq\nOllV1W+SvJHkq3Pf+/tJ/nlVVdNVVZ1K8q+TPDn3QgSwnB5Msj7JP6mq6v/OvUa9XFXVe1VVPVdV\n1emqqg4k+VGSxy/42f9YVdVUVVWHkvybJH9r7uun5v6am6qqOlNV1d5u/c1QH//CYr7/M+/Xx5L8\npblf35Hkf5ZSDpZSDib5bc6+YPyVLp8PaJ8/SvJBVVWz879YSrmtlPI/SikTpZRDSZ5JcusFPzsx\n79cf5OwV6iR5Oskfkjw791b9P12ms9NDBA+L8WGSv15V1c1z//vLVVV9saqq6boPBjTeR0luv8gV\n5R8kmU3ylaqqbkqyM0m54Pf80bxf35FkKkmqqvqLqqr+cVVVd+bs2/X/qJSyfVlOT88QPJxz4QvF\nfP8lyQ9KKbcnSSllXSnlj7tzLKDlXk0yneTflVLWlFJWl1Ieydkr0H+R5EgpZSjJyEV+9h+UUoZK\nKTfn7H06P0mSUsrfKKXcOfd7jiQ5nbPxRIMJnva58EblS319/v//90n+V85e/v00ycs5+746wLKa\n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\nHgCg8f4fBtjuKKClgxAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l1 = LineString([[0, 1], [1, 0]])\n", "lines_cap = cap_lines(l1, offset=0., length=0.2)\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "baseplot([l1], 'line', ax=ax[0])\n", "ax[0].set_xlim(-0.2, 1.2)\n", "ax[0].set_ylim(-0.2, 1.2)\n", "baseplot(lines_cap, 'caps', ax=ax[1])\n", "ax[1].set_xlim(-0.2, 1.2)\n", "a = ax[1].set_ylim(-0.2, 1.2)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAE0CAYAAAAotOlqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAF0lJREFUeJzt3X+M3/d9F/Dn2746JF2cH65Xn8/MtYE58aq0jRoSFCWp\ns3pAFfWP1pOGuK5TGQKENgSS0QB5TESsQ560IWgRZAxt+I9KZCBgQBVHNc6SdIlE41ClttHIxavv\nR5vFxPUSN3biD3/c157jxufz3ff7/Xzfn+/jIUU53/e+d+/zHx8/7/N9vu5VmqYJAECXrWn7AAAA\ngybwAACdJ/AAAJ0n8AAAnSfwAACdJ/AAAJ0n8IyZUspMKeXhUso/KKX8m7bPA9AvpZTPl1J+r9/P\nLaVsLaVcKKWs6f35v5dSPreaszJ8E20fgHY0TfPFts8AjJdSyueT/GzTNA8M8Mus5pfLLfXcS481\nTfOpVXwNWuIODwDDUrK6QAIrJvCMqVLKPy6l/Pve2xdv1/50KeVEKeW7pZR/eNnHllLKL5RS/qCU\n8mop5SullFvbOz3QplLKZCnl8d614v+WUn7ussf+WynlVy/781dKKb9RSrkjyb9K8hdKKWdKKad6\nj68rpfxq79ozX0r5cinlht5jD5VSvl1K+XullO+UUmZLKT9z2ee+vZTyX0opp0spv5/kz1xxzjtK\nKU+UUl4rpRwtpfzkcp97je//UCnlC723P19K+b1Syv5Syqne38dfuuxj1/e+/7ne9/JoKaUs+y+b\nvhF4xtuVP2ndn+TPJflkkl8spezovf/nk3w6yQNJNif5f0m+PKxDAqOj94/1f03yQpLJJD+e5O+U\nUnb3PuQLSaZLKZ8opfzVJB9P8vNN0xxL8jeTfL1pmpubprm99/H/LMmfTXJX7/9TSX7xsi+5KcnN\nWbz2/GySL5VSbuk99uUkbyb5YJK/1vvaF895U5InkhxI8oEkP5Xky73gteRzV+DPJzmaZEOS/Un+\n7WWP/VaSc0m2J/lYkt2974MhE3i4qEnyS03TnGua5n8neTHJR3qP/Y0k/6hpmvmmac4n+SdJ9lws\n8AFj5Z4kH2ia5p82TfNO0zSvJPmNJH8lSZqm+U6Sv5Xkt5P8WpLPNU3z5hKf768n+btN05xumuaN\nJL9y8XP1nEvyaO9r/Y8kf5xkR+/685kk+5qm+X7TNC9lMVxc9EiSmaZpfrtZ9GKS30nyk8t47vU6\n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\nVAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l1 = LineString([[0, 1], [1, 0]])\n", "l1_extended = extend_line(l1, offset=0.5, side='both')\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "baseplot([l1], 'line', ax=ax[0])\n", "ax[0].set_xlim(-0.5, 1.5)\n", "ax[0].set_ylim(-0.5, 1.5)\n", "baseplot([l1_extended], 'extended line', ax=ax[1])\n", "ax[1].set_xlim(-0.5, 1.5)\n", "a = ax[1].set_ylim(-0.5, 1.5)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = {'id': {'id2': 2}, 'blal': 2}\n", "'id2' in a['id']" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 0, 1, 1]\n", "number of lines after split: 4\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAE0CAYAAAAotOlqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH8NJREFUeJzt3X+QXWd93/HPd/ci/6BaC28E+8NUSKRWDRk5kNoYjC2r\nZSkE5HQ6xE5rNbanSd1OKSEhSmNnBDGepIkEGGZaMm1amLFNQo1JCrh1I2HJwrKRRYIsppYtD9ZK\ntnZX0rK2tAbJlnb36R/3rHx3vXt/nHvOPc95nvdrhrHQ7t49q706+9H9/njMOScAAICQdRV9AQAA\nAHkj8AAAgOAReAAAQPAIPAAAIHgEHgAAEDwCDwAACB6BJwJmNmxm/9jMbjez/1b09QDwx+z9Ifl1\n7vcIM5sxs1U5Pfafmdkf5PHYReG+nZ1K0ReAznHO/aeirwGAv2rvEWa2QtKwpIpzbib5vZsl/YZz\n7pp2Pk2aDzKztZLuc869ddEHdu7ftfB4X5X0gnPu02muJw8LfY3ct7PDKzwAgIWYquHEFvi9dh+3\nnevxgpl15/Gw8uhrDA2BJyJm9hkzuzf59YrkpeVfN7PDZnbczO6oeV8zs983sx+b2biZfd3MliVv\nO8/M7jWzn5jZS2b2hJktL+rrAiCZ2X80syNmNmlmT5vZuuT3P2Nm30j+Dk+a2d+a2ZpFHuMzZnZP\n8n93Jv89kXzcVZL+TNJ7zexlM3sx+ZglZva55D4yZmZfNrPzah5zo5mNJtd2q+r8QDezW8xsf/L5\nfmxm/yb5/Qsl/R9JA8nnnjSzvgU+/qtm9tnk12vN7AUz+x0zO2ZmI2Z2S/K235R0k6TfSx7rW8nv\n95vZA8n98Dkz+w/z/my+kdz7Tki62cyuMLMfmNnJ5Gv/XM37X2VmjyX3yL3Jqzezb3uTmX0luaYJ\nM/urxb7G2vt28rHXm9n/M7MXzWy7mf3DmrcNm9mnzGxf8nn/0syWLPbnHRsCT3zm32yulvQPJH1A\n0qfNbHXy+5+QdL2kayQNSHpJ0peTt90sqUfSoKSLJf1bSafzvWwAizGzSyX9e0m/5JzrkfRPJR2q\neZfrJf1PSW+S9JeS/lcTr1Bcm/y3xznX45zbrerf9e8755Y65y5O3v6nkn5e0prkv4OSPp1c14ck\n/Y6kf6LX7jP1HJP0y8nXcKuku83sF51zpyR9WNJo8rl7nHNHGzyWJPVJWqrqPew3JP0XM7vIOffn\nkr4maXPyWL9iZibpO5L2SupPrvm3zGyo5vGul3S/c26ZpL+Q9CVJX3TOXSTp7ZLuT77uAUkPSvqs\nc+5Nkn5X0jfNrDd5nPskXSDpMklvlnR3g6/RJY97afJ5PyFpuaSHJH3HzGrbU35V0gclrZR0uaRb\nmvhzigKBJ25O0h865844534kaZ+qf0Ek6TZJf+CcG3POnZX0WUkfM7MuSWcl9Uq61FXtdc79tIgv\nAIAkaVrSEkm/YGYV59zzzrnhmrf/nXPur51z05K+IOl8SVc1+diNSlC/Kem3nXMnnXM/k/Qnkv5F\n8rZflfRV59zTzrnTkv6w3gM55x5yzh1Kfv2opK2q/qMrrTOS7nLOTTvnHpL0U0mrF3nfKyT9nHPu\nj5L3PyTpv0v6tZr3+b5z7jvJ9b2SPP7Pm1mvc+6Uc25P8n4bJP1v59zfJO/7sKS/lfTLyStTH5J0\nm3NuMvlcjzb59dwg6UHn3Pbke/k5VYPT+2re50vOuWPOuROqBrhfbPKxg0fgwbGaX5+S9PeSX6+Q\n9NfJy6YvStqvatB5i6R7Jf2NpK8nL1P/SRP/WgSQE+fcc5I+qWqgOGZmfzGv5PNCzfs6SUdUfdWj\nLUkp+0JJf1dzr3hI1X8QKfkcL9R8yGHVCVBm9mEz+35S5nlJ1Vc8fq6NS5yYbbhO1N7j5lshaXD2\n60g+/+2qvgIz64V5H/OvVQ1QzySl/Y/UPNYN8x7ralVfOXprcl2TKb6eAVX/DCWd+16+oOqrarMW\nu6dHj8CDxTwv6cPOuYuT/73JOffG5BWfKefcXc65d6r6L4v1kn692MsF4uac+3oyPbUi+a0/rXnz\nuamfpHRziaSRRg/ZxO/9RNUfqu+suVcsS0o8kjRW+7mTa1uwhyfpNXlA0mZJy5NS0EN6LSBl3cw7\n//FekHRw3j3vIufc+sU+xjn3nHPuXzrnlifX/YCZXZA81j3zHmupc25z8raLzayniWuab1SvfX9n\nvVXVAIsGCDxxq/dS9X+V9Mdm9vel6r/kzOz65NfXmdkvJOWtn6r6ys/M4g8FIE9mdqmZrUtCwxlV\ne+pq/07+kpn9s+SV2N+W9IqkJxo87HjyGG+v+b1jki4xszdI515h+HNJX0xe7ZGZDZrZB5P3v1/S\nLWZ2WdKUW28EfEnyv58452bM7MOq9qLUfu7eRYJCGsck1e4D2iPpZTP7PTM738y6zeydZvaPFnsA\n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\nNIiPFVoAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l1 = LineString([[0, 1], [1, 0]])\n", "l2 = LineString([[0, 0], [1, 1]])\n", "lines = [l1, l2]\n", "\n", "# find intersection points of boundaries and lines and split lines based on it\n", "lines_split, index = split_lines(lines, return_index=True)\n", "print(index)\n", "print(\"number of lines after split: {:d}\".format(len(lines_split)))\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "baseplot(lines, 'lines', ax=ax[0])\n", "baseplot(lines_split, 'splitted at intersection', ax=ax[1])\n", "ax[0].set_xlim(-0.2, 1.2)\n", "ax[0].set_ylim(-0.2, 1.2)\n", "ax[1].set_xlim(-0.2, 1.2)\n", "a = ax[1].set_ylim(-0.2, 1.2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "number of lines after snap: 2\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l1 = LineString([[0, 1], [1, 0]])\n", "l2 = LineString([[.2, 0], [.4, .4]])\n", "lines = [l1, l2]\n", "\n", "# find intersection points of boundaries and lines and split lines based on it\n", "lines_snap = snap_lines(lines, max_dist=0.5)\n", "print(\"number of lines after snap: {:d}\".format(len(lines_snap)))\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "baseplot(lines, 'lines', ax=ax[0])\n", "baseplot(lines_snap, 'extend line snap & clip', ax=ax[1])\n", "ax[0].set_xlim(-0.2, 1.2)\n", "ax[0].set_ylim(-0.2, 1.2)\n", "ax[1].set_xlim(-0.2, 1.2)\n", "a = ax[1].set_ylim(-0.2, 1.2)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 0, 1, 2, 2, 2]\n", "number of lines after split: 6\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAE0CAYAAAAotOlqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtQXOl55/HfAy2uAiQkIYQgmEHBGmlHGkVCFy7KjMey\n49iON7vaWjuW7XFiZ5PNxHHiVcqJrSTObLKxZ6riJLN2HDtxeT21ViXayiaOE0/kWwl0NwRJJTNa\nRoJBIIQEg9AFxPXdP7phcA+gBjV9+pz+fqpUo6GbPk9D8/aP8z56jjnnBAAAEGRpXhcAAACw1Ag8\nAAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8KcDM2s3sLWb2O2b2V17XA2BhzOxDZtYwx23l\nZjZpZmmR//9nM/tAYiv0JzP7vpn9YuTvv2Bm3/a6pqUy9T4Q+XtKvhcQeFKIc+5/OOd+2es6gKCZ\nL5DE0XxD06Zvc879rHPu60tci2fM7KfM7IdmdsfMXjazffF4XOfc/3bO/Uw8HivZxfpeMDMQznOf\nxyPfj3tmdtbMts5z3wwz+xszGzSza2b2m4t9rMUg8ADAwzPNH0gQPy9I+pZzLk/S2yV1eVxPyjKz\nZZL+r6T/JWlF5L//YGahOT7lM5IqJZVJeouk3zazty3ysRaMwJNCzOz3zezrkb9PnQb/oJm9amY3\nzOx3Z9zXzOyTZvaKmd00s8NmtiJyW6aZfd3M+sxswMxOm9kar54XEC9mts7MjkR+Hi6b2a/PuO1b\nZvb8jP8/bGZfMbONkr4oaU/krMNrkdszzOz5yM9Xj5l9wcwyI7f9tJldNbPfMrNeM+s2s6dnPHah\nmf1j5DfhUwq/ScT6HGZu03zIzBrM7Dkzey3ynH5mxn3zI8/hWqSeZ83M5njc6shv3YOR5/N85OMP\nWkuqzexEZK3oNrO/mPkmFvncX4/UdsPMPveApzgmqVOSnHOvOudaY/iavMfM/i1Se9vUm2zUfX7s\nLN18dZlZWeTrWTrH8X7fzP42sk7eNrNzZvaTkTW1N/J1euuM+z9tZj+K3PcVM/vlGbf9tpmdste3\nLH/VzC6YWcYDnvMHzKwjsn7/btRtM98LZl3Pzey/S6qX9EKkrj+f5TBPSEp3zv25c27MOfcXCof/\nt8xR1gcl/aFz7rZz7mVJfyXp6chtTy7wsRaMwJN6on8LrZX0k5LeKun3zOzNkY9/TNLPKfyCL5E0\nIOkLkds+JClf0npJhZJ+RdLw0pYNLK3IG/03Jf2bpHWSnpL0G/b6lskvSjpgZk+Y2fsl7ZD0scjC\n/SuSTjrn8pxzhZH7f1bSBklbIv9dL+n3ZhyyWFKewj9fH5H0P82sIHLbFyQNSVor6Zcix16snZJa\nJa2S9Jykv55x29ckjUp6RNI2SfsitczmzyR93jlXoHAA+9uo2+daSyYkfVzhtWKPwm9g/zXqc/+9\npJ+K/HmPzb+NclbS58xs2zz3mWZmOxV+np+I1L5XUsccd49eH2etyzl31TlX6Jyb7+zSuyLHXSGp\nRdJLCr+Bl0h6VuE3+ym9kn7WOZcv6cOS/tTMHo/c9pyk+5I+bWYbJP2RpPc750bnec6bFH4NvT9y\nvFUKv/5me66zrufOuU9LapD0jHMu3zn3sVkOtVnS+aiPnYt8PLqmFQr/XJ2f476bYn2sxSLwpDYn\n6Q+cc6POufMKv7im9kz/i6RPOed6nHNjkv5Q0v7IbxljCv8AVbmwf3PO3fXiCQBxVC1ptXPuj5xz\nE865DklfkfQ+SXLO9Ur6VYVPtf+ppA8454bmebyPSvpN59ygc+6epD+ZeqyIUUnPRo71L5LuSnpz\n5GfsP0g65Jy775y7qPAb52K96pz7Gxe+cOLXJK0zsyIzK5L0jkiN951zfZI+H1XjTKOSNpjZKufc\nkHPuzIzb5lxLnHPNzrkzkbWiU+E3+p+Oeuw/iXyduuarwczeq/BZhV+Q9M2p0GNmT5nZD+eo+xcl\n/bVz7nuRenqcc/9vjvtGi6muOTQ4577jnJuU9HeSVkceb0LSYUnlZpYfqelfIq83OecaJP2rwr9s\nKvJ9+5Ck35D0j5HHiA4G0f6jpG86545H1u9DmnvL9WHW8+WSBqM+dlvhID/bfV3U/WfedyGPtSgE\nHvTO+PuQwi86SSqX9PeR07avSfqRwj8YayV9XeHfVg6bWZeZ/YmZpSeyaGAJlEtaP/WaN7MBSb8j\naeZ27T9JSpd0yTl3cq4HsvAWb46kphk/Q/+i8BvLlP7Im+GUqZ+/NZFjzDx78OpDPK/rU39xzk2d\niV2u8PNdJqlnxvP9S4XfmGfzS5LeLOnlyLbHO6Nun3UtiWzlfDOyDXZL4TMU0ceIfq4lc9TwMUmf\nc869pPAvZf8cCT21kr47x+eUSbo8x20PEmtds5n59RiW1Odev1r3sMJne6a+Ru8ws5Nm1h/5PrxD\nM75GzrlXJX1f4e/ZF/RgJZKuzvj8IUn9c9w3ej3/7ALW87sKnx2aqUDSnTnuq6j7z7zvQh5rUQg8\nmEunpHdETtsWOudWOudyI78djTvnnnXObZZUI+ndCu/NAn52VdKVqNd8gXPu3TPu88cKh/91kbMN\nU6J/e+5T+E1/84zHWxHZUnmQmwpvA5XN+NhPLPzpPNBVhbdKVs14viucc1tmu7Nz7rJz7hecc2sk\nfU7SETPLjuE4X1R4S63SObdC0qcUfrOfKfq5XpvjsUKSMiL1fEvSbyl8NuTDCjczz+aqFtADtci6\nFi3Si3NE4a/pGufcSoXDsc24zzsV3g78rqTnZ3ucKD2aUbuZ5ejHw/a0Wdbzd+n19fxBjfgXFd6y\nnWlL5OPRx7kVqWvmv7zaOuO+MT/WYhF4UtuszYkRX5L0x2b2E1L4N1Yz+7nI358ws38XOfV+V+Ez\nP5NzPxTgC2ck3Yk0iWaZWbqZbTazHZJkZnsV3lr4gMKNln9hZusin9srqdTC/9Jkahviy5I+Hznb\nIzNbP1uzbLTIWZ//I+kPzCw70o/xoQd82nw/y3Md57rCYeFPzSzPwh6JPM83HsDs/WY2ddZhUOE3\nw6mf+/mOnyfptnNuyMIN3r86y30OmtkKMytTeOvm8ByP9XcK9wdtifRcvaJwsMyep4a/lvRhM3sy\n8hxLzKxqnnofWJe93qgdjyCaEfnT55ybNLN3SJp+nUS+5l9WeGvuaUnvitxnPkci96uJvCb/UHN8\nfeZYzyciN/cq3N81lx9ImrBwc3eGmX1M4dfE9+a4/9cV7kVaYWaPKrzt+9VFPtaCEXhSw1wpPfrj\nM///zyT9g6R/NbNBSScUbn6Uws2WRxRe9C4qfKo1sHM/kBoiQeNdkh6X1C7phsJvNPlmlqdw/8uv\nOeeuO+caFe7vmVqsv6fwz8J1M7sR+dgnFX5DPhXZyvlXSfO90c78+ft1hYNCj6S/ifyZt/w5/v6g\n+35Q4TfbH0l6TeFAUTzH5/2MpItmdlvhHqb/7JwbmeOYM///v0l6f+TzvqTZw8w/SGqS1Kxw4/hc\nz/f5yG1/r3B/x18qfJbna5L+KfJ9+vFCnDur8Bmgzyu8Zv1A4a2h2eqOta4yhRufux/w+fNxkfru\nKrxV93eRrc/3Ro475UuS/t4595Jz7jWFm8q/bGYr53xg534k6dckfUPhs1L9mvuf78+2nr8Yue3P\nJP2nyFbb52c5zpjCjd0fUvgftnxQ0nucc+PS9DDHCzM+5fclXVF4e/B7CvcjHY3lseLBXt9SBAAg\nscxsUtIG59wVr2uZab66zOxTkm44576c+MqwWHEb6AMAQCpwzv2R1zVg4djSAgB4KVm3GZK1LknT\n20V3LDwUcOrPnagtJMzAlhYAAAg8zvAAAIDAm7eHx8w4/QOkIOfcgv+ZczJiDQNSz1zr1wObltny\nAlKLzX7tSN9iDQNSx3zrF1taAAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg\n8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8\nAAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg\n8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8Ag8AAAg8JIy\n8LS3t+vAgQN68skndeDAAbW3t3tdEgDEhPULSE7mnJv7RjM33+1Lob29Xfv27VNXV5fWr1+v7u5u\nlZaW6ujRo6qoqEhoLUAqMjM558zrOuIh0WsY6xfgrfnWr6QLPAcOHNCRI0d08OBBrVu3Tj09PXru\nuee0f/9+vfjiiwmtBUhFBJ7FY/0CvDXf+pV0W1rd3d1av3691q1bp1AopOLiYpWUlOjatWtelwYA\n82L9ApJX0gWeqdPAPT09Ghsb0/Xr13Xt2jWtW7fO69IAYF5zrV9FRUVelwakvKTb0pq5Bz71m9GK\nFSv04osv6q1vfWtCawFSEVtaizfX+vXZz35WBw4cUHp6esJqAVKRr3p4pPCicejQIV27dk0FBQV6\n4okntHbtWj355JNau3ZtwusBUgmB5+HMXL/Wrl2rJ554Qvn5+aqsrNTOnTsTWguQanwXeKK1tLSo\ntbVVmZmZevvb367c3FyvSwICi8ATX6+99pqOHj2qyclJVVdXa8OGDZ7WAwSZr5qWZ7N161YVFxdr\nZGREDQ0NmpiY8LokAIhJYWHh9JmdpqYm9fX1eVwRkJp8EXjMTDU1NcrNzdXAwIDOnj0rr39rA4BY\nVVRUqKqqSpOTk2psbNTw8LDXJQEpxxeBR5IyMzNVX1+v9PR0tbe3q62tzeuSACBm27Zt05o1azQ8\n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\nP1JWTOzMCotwAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l1 = LineString([[0, 1], [1, 0]])\n", "l2 = LineString([[.2, 0.05], [.4, .4]])\n", "l3 = LineString([[0,0], [1.2, 0]])\n", "lines = [l1, l2, l3]\n", "\n", "# find intersection points of boundaries and lines and split lines based on it\n", "max_dist=0.0\n", "lines_snap, idx_snap = snap_lines(lines, max_dist=10, tolerance=1e-3, return_index=True)\n", "lines_split, index = split_lines(lines_snap, tolerance=1e-3, return_index=True)\n", "print(index)\n", "print(\"number of lines after split: {:d}\".format(len(index)))\n", "\n", "fig, ax = plt.subplots(1, 2, figsize=(10, 5))\n", "baseplot(lines, 'lines', ax=ax[0])\n", "baseplot(lines_split, 'extend line snap & clip; max_dist {:.2f}'.format(max_dist), ax=ax[1])\n", "ax[0].set_xlim(-0.2, 1.4)\n", "ax[0].set_ylim(-0.2, 1.2)\n", "ax[1].set_xlim(-0.2, 1.4)\n", "a = ax[1].set_ylim(-0.2, 1.2)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [Root]", "language": "python", "name": "Python [Root]" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }