Skip to content

Instantly share code, notes, and snippets.

@jGaboardi
Created March 30, 2018 18:56
Show Gist options
  • Save jGaboardi/900151bc9087c8f4140d7110cdec1ac0 to your computer and use it in GitHub Desktop.
Save jGaboardi/900151bc9087c8f4140d7110cdec1ac0 to your computer and use it in GitHub Desktop.
shapely.ops.cascaded_union
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from shapely.geometry import Point, LineString\n",
"from shapely.ops import cascaded_union\n",
"import geopandas as gpd\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.colors import ListedColormap\n",
"\n",
"%matplotlib inline\n",
"mpl.rcParams['figure.figsize'] = 5,5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.LineString`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"line_1 = LineString((Point(1,1), Point(3,1)))\n",
"line_2 = LineString((Point(1,1), Point(1,3)))\n",
"line_3 = LineString((Point(1,3), Point(3,3)))\n",
"line_4 = LineString((Point(1,3), Point(1,4)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.ops.cascaded_union` -- `line_1` + `line_2` + `line_4`"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MULTILINESTRING ((1 3, 1 4), (1 1, 3 1), (1 1, 1 3))\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.88 0.88 2.24 3.24\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,5.0)\"><g><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,3.0 1.0,4.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,1.0 3.0,1.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,1.0 1.0,3.0\" opacity=\"0.8\" /></g></g></svg>"
],
"text/plain": [
"<shapely.geometry.multilinestring.MultiLineString at 0x1049e9810>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cascade_124 = cascaded_union([line_1,line_2,line_4])\n",
"print cascade_124\n",
"cascade_124"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.ops.cascaded_union` -- `line_1` + `line_3` + `line_4`"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MULTILINESTRING ((1 1, 3 1), (1 3, 3 3), (1 3, 1 4))\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.88 0.88 2.24 3.24\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,5.0)\"><g><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,1.0 3.0,1.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,3.0 3.0,3.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,3.0 1.0,4.0\" opacity=\"0.8\" /></g></g></svg>"
],
"text/plain": [
"<shapely.geometry.multilinestring.MultiLineString at 0x104a074d0>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cascade_134 = cascaded_union([line_1,line_3,line_4])\n",
"print cascade_134\n",
"cascade_134"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.ops.cascaded_union` -- `line_3` + `line_1` + `line_4`"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"MULTILINESTRING ((1 1, 3 1), (1 3, 3 3), (1 3, 1 4))\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.88 0.88 2.24 3.24\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,5.0)\"><g><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,1.0 3.0,1.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,3.0 3.0,3.0\" opacity=\"0.8\" /><polyline fill=\"none\" stroke=\"#66cc99\" stroke-width=\"0.0648\" points=\"1.0,3.0 1.0,4.0\" opacity=\"0.8\" /></g></g></svg>"
],
"text/plain": [
"<shapely.geometry.multilinestring.MultiLineString at 0x104a078d0>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cascade_314 = cascaded_union([line_3,line_1,line_4])\n",
"print cascade_314\n",
"cascade_314"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.Point`"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.25 0.25 2.0 2.0\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,2.5)\"><circle cx=\"1.25\" cy=\"1.25\" r=\"0.06\" stroke=\"#555555\" stroke-width=\"0.02\" fill=\"#66cc99\" opacity=\"0.6\" /></g></svg>"
],
"text/plain": [
"<shapely.geometry.point.Point at 0x11197f850>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"point = Point(1.25, 1.25)\n",
"point"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.intepolate` and `shapely.project` -- `cascade_124` + `point`"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.25 0.0 2.0 2.0\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,2.0)\"><circle cx=\"1.25\" cy=\"1.0\" r=\"0.06\" stroke=\"#555555\" stroke-width=\"0.02\" fill=\"#66cc99\" opacity=\"0.6\" /></g></svg>"
],
"text/plain": [
"<shapely.geometry.point.Point at 0x11197f7d0>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"snapped_point = cascade_124.interpolate(cascade_124.project(point))\n",
"print snapped_point.coords[:]\n",
"snapped_point"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.intepolate` and `shapely.project` -- `cascade_134` + `point`"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.25 0.0 2.0 2.0\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,2.0)\"><circle cx=\"1.25\" cy=\"1.0\" r=\"0.06\" stroke=\"#555555\" stroke-width=\"0.02\" fill=\"#66cc99\" opacity=\"0.6\" /></g></svg>"
],
"text/plain": [
"<shapely.geometry.point.Point at 0x111885390>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"snapped_point = cascade_134.interpolate(cascade_134.project(point))\n",
"print snapped_point.coords[:]\n",
"snapped_point"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### `shapely.intepolate` and `shapely.project` -- `cascade_314` + `point`"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"100.0\" height=\"100.0\" viewBox=\"0.25 0.0 2.0 2.0\" preserveAspectRatio=\"xMinYMin meet\"><g transform=\"matrix(1,0,0,-1,0,2.0)\"><circle cx=\"1.25\" cy=\"1.0\" r=\"0.06\" stroke=\"#555555\" stroke-width=\"0.02\" fill=\"#66cc99\" opacity=\"0.6\" /></g></svg>"
],
"text/plain": [
"<shapely.geometry.point.Point at 0x11187a450>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"snapped_point = cascade_314.interpolate(cascade_314.project(point))\n",
"print snapped_point.coords[:]\n",
"snapped_point"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"point_gdf = gpd.GeoDataFrame([point], columns=[\"geometry\"])"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x111b5f390>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111a8a150>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"gdf_124 = gpd.GeoDataFrame([line_1, line_2, line_4], columns=[\"geometry\"])\n",
"cascade_124 = gdf_124.cascaded_union\n",
"nearest_point_124 = cascade_124.interpolate(cascade_124.project(point))\n",
"print nearest_point_124.coords[:]\n",
"nearest_point_124 = gpd.GeoDataFrame([nearest_point_124], columns=[\"geometry\"])\n",
"base = gdf_124.plot()\n",
"point_gdf.plot(ax=base)\n",
"nearest_point_124.plot(ax=base)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x111aa06d0>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111a53750>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"gdf_134 = gpd.GeoDataFrame([line_1, line_3, line_4], columns=[\"geometry\"])\n",
"cascade_134 = gdf_134.cascaded_union\n",
"nearest_point_134 = cascade_134.interpolate(cascade_134.project(point))\n",
"print nearest_point_134.coords[:]\n",
"nearest_point_134 = gpd.GeoDataFrame([nearest_point_134], columns=[\"geometry\"])\n",
"base = gdf_134.plot()\n",
"point_gdf.plot(ax=base)\n",
"nearest_point_134.plot(ax=base)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[(1.25, 1.0)]\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x111a81850>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x111969350>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"gdf_314 = gpd.GeoDataFrame([line_3, line_1, line_4], columns=[\"geometry\"])\n",
"cascade_314 = gdf_314.cascaded_union\n",
"nearest_point_314 = cascade_314.interpolate(cascade_314.project(point))\n",
"print nearest_point_314.coords[:]\n",
"nearest_point_314 = gpd.GeoDataFrame([nearest_point_314], columns=[\"geometry\"])\n",
"base = gdf_314.plot()\n",
"point_gdf.plot(ax=base)\n",
"nearest_point_314.plot(ax=base)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"--------------------------"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:py2]",
"language": "python",
"name": "conda-env-py2-py"
},
"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.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment