Skip to content

Instantly share code, notes, and snippets.

@darribas
Created November 27, 2017 16:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darribas/0695d8eb6764dc6d31c7a2de6bc7a121 to your computer and use it in GitHub Desktop.
Save darribas/0695d8eb6764dc6d31c7a2de6bc7a121 to your computer and use it in GitHub Desktop.
Conversion on `geopandas` points to XYs to points
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import geopandas as gpd\n",
"import pysal as ps\n",
"import pandas as pd\n",
"import numpy as np\n",
"from shapely.geometry import Point"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Obtain a point dataset"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10c0ba6a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pts = gpd.read_file(ps.examples.get_path('columbus.shp')).centroid\n",
"pts.plot();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Extract XY coords. into columns"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>X</th>\n",
" <th>Y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>8.827218</td>\n",
" <td>14.369076</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>8.332658</td>\n",
" <td>14.031624</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>9.012265</td>\n",
" <td>13.819719</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>8.460801</td>\n",
" <td>13.716962</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>9.007982</td>\n",
" <td>13.296366</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" X Y\n",
"0 8.827218 14.369076\n",
"1 8.332658 14.031624\n",
"2 9.012265 13.819719\n",
"3 8.460801 13.716962\n",
"4 9.007982 13.296366"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"xys = pd.DataFrame(pts.apply(lambda pt: pd.Series({'X': pt.x, 'Y': pt.y})))\n",
"xys.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Pack XY coords into geometry"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1236d6198>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10c0ba4e0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"new_pts = gpd.GeoDataFrame({'geometry': \n",
" xys.apply(lambda r: Point(r['X'], r['Y']), axis=1)\n",
" }, crs=pts.crs)\n",
"new_pts.plot()"
]
}
],
"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.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment