{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Session 2: Vector Data Analysis and Map Projection\n",
"*Written by Men Vuthy, 2021*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Overview:\n",
"\n",
"In this session, we will learn about reading and exporting spatial data `Shapefile` and how to deal with map projections in Python by using `Geopandas` and `pyproj` modules and some useful data management functionalities.\n",
"\n",
"After this session, you will understand how to:\n",
"\n",
"* Read and write vector data\n",
"* Create geometries into GeoDataFrame\n",
"* Change the coordinate reference system of the data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Downloading data**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The data used in this session is *Provincial population census 2019 of Cambodia* which shows the total population, total population of males and females, total households, household size, density and areas by provinces in the Kingdom of Cambodia. This data is provided for free by [OpenDevelopementCambodia](https://opendevelopmentcambodia.net). Read more about this [dataset](https://data.opendevelopmentcambodia.net/dataset/population-census-2019-provisional-population-totals)\n",
"\n",
"Dataset: \n",
"\n",
"* [Shapefile](https://data.opendevelopmentmekong.net/dataset/2aaa4d7b-72b3-46d3-979e-8f30e4d801bd/resource/8d44398c-9d2c-4b8a-9194-b9d29774fc41/download/provisional_census2019.zip)\n",
"* [GeoJSON](https://data.opendevelopmentmekong.net/dataset/2aaa4d7b-72b3-46d3-979e-8f30e4d801bd/resource/bba28f46-a5e8-498c-b465-de2163a8f5b9/download/provisional_census2019.geojson)\n",
" \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. Introduction to Geopandas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`Geopandas` is a module to ease the work with geospatial data in Python easier. This module is extended from `pandas` module to allow spatial operations on geometric objects. In previous session, geometric operations are performed by `shapely`, but `Geopandas` further depends on `fiona` for file access and `matplotlib` for plotting. It actually combines the capabilities of `pandas` and `shapely`, providing geospatial operations in pandas and a high-level interface to multiple geometries to shapely. More details about `GeoPandas` is available [here](https://geopandas.org)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.a. Reading vector files"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first step in analysis pipline is mostly reading the input data. The most common dataformats in GIS includes [Shapefile](https://en.wikipedia.org/wiki/Shapefile), [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON), and [kml or kmz](https://en.wikipedia.org/wiki/Keyhole_Markup_Language). In this section, we will apply various functions from `Geopandas` to read these input files for analysis. The main fuction for reading input data is `gpd.read_file()`, let's see how to use it:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Import necessary modules\n",
"import geopandas as gpd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Reading a shapefile**"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Set filepath\n",
"fp = \"data/provisional_census2019/provisional_census2019.shp\"\n",
"\n",
"# Read file using gpd.read_file()\n",
"data = gpd.read_file(fp)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" ogc_fid pro_code province_k provinces households males \\\n",
"0 1 4 កំពង់ឆ្នាំង Kampong Chhnang 122925.0 251895.0 \n",
"1 2 8 កណ្តាល Kandal 273111.0 580129.0 \n",
"2 3 12 ភ្នំពេញ Phnom Penh 399203.0 1039192.0 \n",
"\n",
" females total house_size area_km2 pop_km2 \\\n",
"0 274037.0 525932.0 4.3 5521 95 \n",
"1 615418.0 1195547.0 4.4 3179 376 \n",
"2 1090179.0 2129371.0 5.3 679 3136 \n",
"\n",
" reference \\\n",
"0 Provisional_Population_Census__00.06.2019.pdf \n",
"1 Provisional_Population_Census__00.06.2019.pdf \n",
"2 Provisional_Population_Census__00.06.2019.pdf \n",
"\n",
" geometry \n",
"0 MULTIPOLYGON (((440280.561 1383585.908, 440090... \n",
"1 MULTIPOLYGON (((481223.477 1313362.233, 481407... \n",
"2 MULTIPOLYGON (((491536.140 1297379.094, 491748... "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We have read the input data with `Geopandas` fuction into variable `data`. Our data consists of multiple columns, but the most important is 'geometry' column at the last. As we can see, the type of geometry in this 'geometry' is MULTIPOLYGON."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"geopandas.geodataframe.GeoDataFrame"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the type of data\n",
"type(data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that the type of data is `geopandas.geodataframe`. As mentioned above, this type of data will allow us to handle spatial data easier by using similar approaches and datastructures in `Pandas`. Furthermore, we will be able to analyze features and operate functions in a way without the need of GIS application."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.b. Plotting vector files"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Besides reading in dataframe, you can also quickly plot the data based on its shapes or geometries by using `.plot()` fuction from geopandas because `Geopandas` provides a high-level interface to the `matplotlib` library for making maps. "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# input data for plotting\n",
"data.plot(column='total', legend=True, cmap='viridis')\n",
"\n",
"# set label x and y\n",
"plt.xlabel('longitude')\n",
"plt.ylabel('latitude')\n",
"\n",
"# Remove empty white space around the plot\n",
"plt.tight_layout()\n",
"\n",
"# save figure (jpg, png, pdf, etc)\n",
"plt.savefig('result/cambo_pop.png', dpi = 150) # dpi is for setting image quality\n",
"\n",
"plt.show();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.c. Analyzing vector file"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After importing input data, we can do some small analyses based on its attribute table. Now, let's see what we can do:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'init': 'epsg:32648'}"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check projection of data by using .crs\n",
"data.crs "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['ogc_fid', 'pro_code', 'province_k', 'provinces', 'households',\n",
" 'males', 'females', 'total', 'house_size', 'area_km2', 'pop_km2',\n",
" 'reference', 'geometry'], dtype=object)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check all column names\n",
"data.columns.values"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"25"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the number of rows or length of data\n",
"len(data)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
ogc_fid
\n",
"
pro_code
\n",
"
province_k
\n",
"
provinces
\n",
"
households
\n",
"
males
\n",
"
females
\n",
"
total
\n",
"
house_size
\n",
"
area_km2
\n",
"
pop_km2
\n",
"
reference
\n",
"
geometry
\n",
"
\n",
" \n",
" \n",
"
\n",
"
2
\n",
"
3
\n",
"
12
\n",
"
ភ្នំពេញ
\n",
"
Phnom Penh
\n",
"
399203.0
\n",
"
1039192.0
\n",
"
1090179.0
\n",
"
2129371.0
\n",
"
5.3
\n",
"
679
\n",
"
3136
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((491536.140 1297379.094, 491748...
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ogc_fid pro_code province_k provinces households males females \\\n",
"2 3 12 ភ្នំពេញ Phnom Penh 399203.0 1039192.0 1090179.0 \n",
"\n",
" total house_size area_km2 pop_km2 \\\n",
"2 2129371.0 5.3 679 3136 \n",
"\n",
" reference \\\n",
"2 Provisional_Population_Census__00.06.2019.pdf \n",
"\n",
" geometry \n",
"2 MULTIPOLYGON (((491536.140 1297379.094, 491748... "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Select Phnom Penh\n",
"data.loc[data['province_k'] == 'ភ្នំពេញ'] # or data.loc[data['provinces'] == 'Phnom Penh']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So let's check the shape of each multipolygon and the data type"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"shapely.geometry.multipolygon.MultiPolygon"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the type of geometry\n",
"type(data['geometry'][2])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": "",
"text/plain": [
""
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the shape of each multipolygon or polygon by changing the number in the [] for the specific province\n",
"data['geometry'][2] # or data.at[2, 'geometry']"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"684.3447598239339"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Calculate area of polygon in square km\n",
"area_pp = data['geometry'][2].area/1000000\n",
"area_pp"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 5295.150767\n",
"1 3253.310484\n",
"2 684.344760\n",
"Name: area, dtype: float64\n"
]
}
],
"source": [
"# Let's create a new column for area and calculate area of all polygons in km2 using dataframe.area \n",
"data['area'] = data.area/1000000\n",
"\n",
"print(data['area'].head(3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let’s check what is the min, max and mean of those areas using common functions we used to know."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Max area: 14031.82\n",
"Min area: 152.48\n",
"Mean area: 7163.4\n"
]
}
],
"source": [
"# Maximum area\n",
"max_area = data['area'].max()\n",
"\n",
"# Minimum area\n",
"min_area = data['area'].min()\n",
"\n",
"# Mean area\n",
"mean_area = data['area'].mean()\n",
"\n",
"print(\"Max area: {max}\\nMin area: {min}\\nMean area: {mean}\".format(max=round(max_area, 2), \n",
" min=round(min_area, 2), \n",
" mean=round(mean_area, 2)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's try out a bit more difficult analysis :)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"***Problem:*** *Extract provinces with population density more than 20km2 and less than 100 km2 and plot them.*"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
ogc_fid
\n",
"
pro_code
\n",
"
province_k
\n",
"
provinces
\n",
"
households
\n",
"
males
\n",
"
females
\n",
"
total
\n",
"
house_size
\n",
"
area_km2
\n",
"
pop_km2
\n",
"
reference
\n",
"
geometry
\n",
"
area
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
4
\n",
"
កំពង់ឆ្នាំង
\n",
"
Kampong Chhnang
\n",
"
122925.0
\n",
"
251895.0
\n",
"
274037.0
\n",
"
525932.0
\n",
"
4.3
\n",
"
5521
\n",
"
95
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((440280.561 1383585.908, 440090...
\n",
"
5295.150767
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
8
\n",
"
កណ្តាល
\n",
"
Kandal
\n",
"
273111.0
\n",
"
580129.0
\n",
"
615418.0
\n",
"
1195547.0
\n",
"
4.4
\n",
"
3179
\n",
"
376
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((481223.477 1313362.233, 481407...
\n",
"
3253.310484
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
12
\n",
"
ភ្នំពេញ
\n",
"
Phnom Penh
\n",
"
399203.0
\n",
"
1039192.0
\n",
"
1090179.0
\n",
"
2129371.0
\n",
"
5.3
\n",
"
679
\n",
"
3136
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((491536.140 1297379.094, 491748...
\n",
"
684.344760
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
14
\n",
"
ព្រៃវែង
\n",
"
Prey Veng
\n",
"
227008.0
\n",
"
501346.0
\n",
"
556082.0
\n",
"
1057428.0
\n",
"
4.7
\n",
"
4883
\n",
"
217
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((536011.301 1311635.984, 536169...
\n",
"
4761.436372
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
20
\n",
"
ស្វាយរៀង
\n",
"
Svay Rieng
\n",
"
131937.0
\n",
"
249446.0
\n",
"
275108.0
\n",
"
524554.0
\n",
"
4.0
\n",
"
2966
\n",
"
177
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((587996.231 1282290.102, 588224...
\n",
"
2868.244685
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ogc_fid pro_code province_k provinces households males \\\n",
"0 1 4 កំពង់ឆ្នាំង Kampong Chhnang 122925.0 251895.0 \n",
"1 2 8 កណ្តាល Kandal 273111.0 580129.0 \n",
"2 3 12 ភ្នំពេញ Phnom Penh 399203.0 1039192.0 \n",
"3 4 14 ព្រៃវែង Prey Veng 227008.0 501346.0 \n",
"4 5 20 ស្វាយរៀង Svay Rieng 131937.0 249446.0 \n",
"\n",
" females total house_size area_km2 pop_km2 \\\n",
"0 274037.0 525932.0 4.3 5521 95 \n",
"1 615418.0 1195547.0 4.4 3179 376 \n",
"2 1090179.0 2129371.0 5.3 679 3136 \n",
"3 556082.0 1057428.0 4.7 4883 217 \n",
"4 275108.0 524554.0 4.0 2966 177 \n",
"\n",
" reference \\\n",
"0 Provisional_Population_Census__00.06.2019.pdf \n",
"1 Provisional_Population_Census__00.06.2019.pdf \n",
"2 Provisional_Population_Census__00.06.2019.pdf \n",
"3 Provisional_Population_Census__00.06.2019.pdf \n",
"4 Provisional_Population_Census__00.06.2019.pdf \n",
"\n",
" geometry area \n",
"0 MULTIPOLYGON (((440280.561 1383585.908, 440090... 5295.150767 \n",
"1 MULTIPOLYGON (((481223.477 1313362.233, 481407... 3253.310484 \n",
"2 MULTIPOLYGON (((491536.140 1297379.094, 491748... 684.344760 \n",
"3 MULTIPOLYGON (((536011.301 1311635.984, 536169... 4761.436372 \n",
"4 MULTIPOLYGON (((587996.231 1282290.102, 588224... 2868.244685 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Re-read the data\n",
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"# Create a list for storing result\n",
"result = []\n",
"\n",
"# Iterate over each row of our data\n",
"for index, row in data.iterrows():\n",
" \n",
" # Set condition of density between 20 and 100\n",
" if 20 < row['pop_km2'] < 100:\n",
" \n",
" # Get the row info where the population density meets the condition and save it\n",
" result.append(row)\n",
"\n",
"print(type(result))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Our result is saved as a list. Because we cannot plot a `list` of geometry, it is necessary to convert it to a `Geopandas` GeoDataFrame."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"# Create GeoDataFrame from the list-typed result\n",
"province_20_100 = gpd.GeoDataFrame(result, crs = 'EPSG:32648') # or quicker way: crs = data.crs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So now, we can plot our result because it has been converted from a list to a geodataframe. Let's see how it looks:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Result plotting\n",
"province_20_100.plot(column='pop_km2', legend=True, cmap='viridis');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Congratulation! Now we have analyzed the shapefile data for first time in Python and plot the result perfectly. Isn't it interesting ?? \n",
"\n",
"Anyway, it's not yet enough. Let's learn how to export our result as a shapefile."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1.c. Exporting Shapefile and GeoJSON"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this section, we will learn how to write and export our result from Python."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's first export the result we analyzed above to a shapefile and a GeoJSON file. When exporting, make sure it's a geopandas dataframe with a correct projection. Because we have defined projection already, so we only just export it using `.to_file()`"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'EPSG:32648'"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Confirm the crs of result that we want to export\n",
"province_20_100.crs"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"# Drop column in khmer langugage to avoid error due to unicode\n",
"province_20_100 = province_20_100.drop(['province_k'], axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"# Export result as a shapefile\n",
"outfp = 'result/province_20_100.shp'\n",
"province_20_100.to_file(outfp, driver='Shapefile') # sometimes, you don't need to write driver='Shapefile'."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"# Export result as a GeoJSON\n",
"outfp = 'result/province_20_100.json'\n",
"province_20_100.to_file(outfp, driver='GeoJSON')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"➡ We finally exported our result into shapefile and geojson file. So what's the difference? How about checking the font within column 'province_k' and also the number of files created in result folder?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2. Map Projection"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Map projection** is a concept of tranforming points from three-dimensional Earth's surface (3D) into plane surface (2D). Whereas, a **coordinate reference system (CRS)** defines how the two-dimensional map relates to real places on the earth, and it is a very important information for analyzing a geodataframe in Python. Deciding the type of map projection and which CRS to use depends on the regional extent of the area you want to work in and on the analysis you want to do.\n",
"\n",
"When working on real data, sometimes you might have problem with CRS difference (i.e. one might have coordinates in meter, while the other in decimal degrees). In this case, CRS can be reprojected easily in Python to make all coordinates compatible. After all layers have the same CRS, you will be able to analyze the spatial relationship between layers correctly, for example, when making a clip, union, interection, difference, or other type of analysis.\n",
"\n",
"\n",
"You can find a lot of information and lists of available coordinate reference systems from:\n",
"\n",
"* [www.arcgis.com](https://www.arcgis.com/apps/MapJournal/index.html?appid=31484c80dba54a058369dfb8e9ced549)\n",
"* www.spatialreference.org\n",
"* www.proj4.org\n",
"* www.mapref.org"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In analysis in Python or GIS applications, geospatial data (i.e. vector or raster files) should always contain information about coordinate reference system. As for shapefile, this information can be found in `.prj` -file, whereas other type of data such as GeoJSON or Raster files, the projection information is already stored in its metadata (of course if the files is properly projected). \n",
"\n",
"When using Geopandas to read the data into `GeoDataFrame`, the information about projection is stored in `.crs` attribute of the GeoDataFrame. \n",
"\n",
"- Now, let's work on projection of provincial census data and start by checking the `.crs`:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# Import necessary modules\n",
"import geopandas as gpd\n",
"\n",
"# Set filepath\n",
"fp = \"data/provisional_census2019/provisional_census2019.shp\"\n",
"\n",
"# Read file using gpd.read_file()\n",
"data = gpd.read_file(fp)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Check coordinate reference system (CRS)**"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'init': 'epsg:32648'}"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Check the coordinate reference system\n",
"data.crs"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(data.crs)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is how data's crs is stored in GeoDataFrames with the class type `pyproj` which is a cartographic projections and coordinate transformations library. As you can see, the crs code is `EPSG:32648` which belongs to the WGS 84 /UTM zone 48N coordinate system (i.e. coordinates are in metre both East and North). The EPSG stands for (*European Petroleum Survey Group*) and tells us the code about the coordinate system of dataset."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Re-project coordinate reference system**"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"20 POLYGON ((569781.983 1358558.625, 570417.373 1...\n",
"21 POLYGON ((644221.694 1481668.343, 644419.819 1...\n",
"22 POLYGON ((663909.945 1476792.235, 664134.383 1...\n",
"23 POLYGON ((773959.354 1625122.155, 774046.041 1...\n",
"24 POLYGON ((666331.270 1613878.300, 666441.020 1...\n",
"Name: geometry, dtype: geometry"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['geometry'].tail()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\a9418\\AppData\\Roaming\\Python\\Python37\\site-packages\\pyproj\\crs\\crs.py:68: FutureWarning: '+init=:' syntax is deprecated. ':' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6\n",
" return _prepare_from_string(\" \".join(pjargs))\n"
]
},
{
"data": {
"text/plain": [
"20 POLYGON ((105.64171 12.28868, 105.64754 12.285...\n",
"21 POLYGON ((106.33200 13.39918, 106.33383 13.399...\n",
"22 POLYGON ((106.51352 13.35408, 106.51559 13.353...\n",
"23 POLYGON ((107.54387 14.68585, 107.54467 14.685...\n",
"24 POLYGON ((106.54411 14.59302, 106.54513 14.591...\n",
"Name: geometry, dtype: geometry"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Let's make a copy of our data\n",
"orig_crs = data.copy().drop(['province_k'], axis=1)\n",
"\n",
"# Re-project from EPSG:32648 to EPSG:4326 \n",
"new_crs = orig_crs.to_crs(epsg=4326)\n",
"\n",
"# Check the new projection\n",
"new_crs['geometry'].tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So now we have finally changed the projection of our data from [epsg:32648](https://www.spatialreference.org/ref/epsg/32648/) which covers the area in N hemisphere - 102°E to 108°E - to [epsg:4326](https://www.spatialreference.org/ref/epsg/4326/) which covers the whole world."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Check the difference of projection in plot**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's finding out what happened when we changed the projection from one to another by plotting our data with original crs and new crs."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"# Import necessary module\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Make subplots that are next to each other\n",
"fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 5))\n",
"\n",
"# Plot the data in WGS84-Cambodia projection\n",
"orig_crs.plot(ax=ax1, facecolor='green', edgecolor=\"black\");\n",
"\n",
"# Add title\n",
"ax1.set_title(\"WGS 84 / UTM zone 48N - Cambodia\");\n",
"\n",
"# Plot the one with WGS84-World projection\n",
"new_crs.plot(ax=ax2, facecolor='#6495ED', edgecolor=\"black\");\n",
"\n",
"# Add title\n",
"ax2.set_title(\"WGS 84 - World\");\n",
"\n",
"# Remove empty white space around the plot\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, we can see that our new map's latitude and longitude have changed from meter to decimal degree. \n",
"\n",
"Let's save the data in new projection as a GeoJSON file:"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"# Define output path\n",
"outfp = 'result/cambodia_census_epsg4326.json'\n",
"\n",
"# Save file\n",
"new_crs.to_file(outfp, driver='GeoJSON')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Practice"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's learn how to calculate the distance from the centre of one province to another province. \n",
"\n",
"In this pratical exercise, we will use `cambodia_census_epsg4326.json` -file which we have just saved as our input data. The purpose is to calculate Euclidean distance from the centroid or center point of Phnom Penh to that of all provinces, Cambodia. After that, we find what provinces are near and far from Phnom Penh city.\n",
"\n",
"**Hint**: \n",
"- `.centroid` for calculating the centroid of a polygon\n",
"- `.distance()` for calculating the distance from one point to another\n",
"\n",
"Back to shapely documentation for details about how to use these fuciton: [Shapely](https://shapely.readthedocs.io/en/stable/manual.html)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"# Import necessary module\n",
"import geopandas as gpd\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
ogc_fid
\n",
"
pro_code
\n",
"
provinces
\n",
"
households
\n",
"
males
\n",
"
females
\n",
"
total
\n",
"
house_size
\n",
"
area_km2
\n",
"
pop_km2
\n",
"
reference
\n",
"
geometry
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
4
\n",
"
Kampong Chhnang
\n",
"
122925.0
\n",
"
251895.0
\n",
"
274037.0
\n",
"
525932.0
\n",
"
4.3
\n",
"
5521
\n",
"
95
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((104.45035 12.51519, 104.44859 ...
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
8
\n",
"
Kandal
\n",
"
273111.0
\n",
"
580129.0
\n",
"
615418.0
\n",
"
1195547.0
\n",
"
4.4
\n",
"
3179
\n",
"
376
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
POLYGON ((104.82759 11.88065, 104.82928 11.878...
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
12
\n",
"
Phnom Penh
\n",
"
399203.0
\n",
"
1039192.0
\n",
"
1090179.0
\n",
"
2129371.0
\n",
"
5.3
\n",
"
679
\n",
"
3136
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
POLYGON ((104.92232 11.73615, 104.92428 11.736...
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ogc_fid pro_code provinces households males females \\\n",
"0 1 4 Kampong Chhnang 122925.0 251895.0 274037.0 \n",
"1 2 8 Kandal 273111.0 580129.0 615418.0 \n",
"2 3 12 Phnom Penh 399203.0 1039192.0 1090179.0 \n",
"\n",
" total house_size area_km2 pop_km2 \\\n",
"0 525932.0 4.3 5521 95 \n",
"1 1195547.0 4.4 3179 376 \n",
"2 2129371.0 5.3 679 3136 \n",
"\n",
" reference \\\n",
"0 Provisional_Population_Census__00.06.2019.pdf \n",
"1 Provisional_Population_Census__00.06.2019.pdf \n",
"2 Provisional_Population_Census__00.06.2019.pdf \n",
"\n",
" geometry \n",
"0 MULTIPOLYGON (((104.45035 12.51519, 104.44859 ... \n",
"1 POLYGON ((104.82759 11.88065, 104.82928 11.878... \n",
"2 POLYGON ((104.92232 11.73615, 104.92428 11.736... "
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# import our input data from result folder\n",
"fp = 'result/cambodia_census_epsg4326.json'\n",
"df = gpd.read_file(fp) \n",
"\n",
"df.head(3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we take a look at the latitude and longtitude of our coordinate, they are still in decimal degree which is not appropriate format for calculating distance in meter. Therefore, it's better to convert this crs to another type of crs with latitude and longitude in meter. Do you remember what crs should be used for this data?\n",
"\n",
"Now, let's work on re-projecting our data:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'init': 'epsg:4326'}"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# check the coordinates of our data\n",
"df.crs"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\a9418\\AppData\\Roaming\\Python\\Python37\\site-packages\\pyproj\\crs\\crs.py:68: FutureWarning: '+init=:' syntax is deprecated. ':' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6\n",
" return _prepare_from_string(\" \".join(pjargs))\n"
]
},
{
"data": {
"text/plain": [
"{'init': 'epsg:32648', 'no_defs': True}"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# change the coordinates to Cambodia coordinate system\n",
"df_new_crs = df.to_crs(epsg=32648)\n",
"\n",
"# check new coordinate system\n",
"df_new_crs.crs"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Make subplots that are next to each other\n",
"fig, ax = plt.subplots(figsize=(12, 8))\n",
"\n",
"# Plot the geometry and the centroid\n",
"df_new_crs['geometry'].plot(ax=ax, facecolor = 'grey', edgecolor=\"black\")\n",
"\n",
"# Add label name of each polygon\n",
"for i in range(len(df_new_crs)):\n",
" ax.text(df_new_crs[\"centroid\"][i].x,\n",
" df_new_crs[\"centroid\"][i].y+9000,\n",
" df_new_crs[\"provinces\"][i],\n",
" horizontalalignment='center',\n",
" color='yellow',\n",
" fontsize=7)\n",
"plt.show();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, our goal is to calculate the Euclidean distance from the center of Phnom Penh to all provinces. To do that, we need to firstly create a centroid of Phnom Penh and then calculate the distance from that centroid to another centroid of polygon representing the boundary of a province. Importantly, we need to make a loop for calculating one by one polygon and store result of each calculation in an list. \n",
"\n",
"Let's get started:"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"# Extracting centroid of Phnom Penh\n",
"pp_centroid = df_new_crs.loc[df_new_crs['provinces'] == 'Phnom Penh']\n",
"\n",
"# Remove the row of Phnom Penh from dataframe because we don't want to calculate its own distance (of course it's 0.0.)\n",
"df_new_crs.drop(df_new_crs.index[df_new_crs['provinces'] == 'Phnom Penh'], inplace = True)\n",
"df_new_crs = df_new_crs.reset_index() # reset index of data frame"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Create a loop calculation**"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"# Create a list for stroing result\n",
"distance = []\n",
"\n",
"# Create a loop to calculate each row of dataframe\n",
"for i in range(len(df_new_crs)):\n",
" \n",
" # calculate distance from phnom penh to another province\n",
" distance_from_pp = pp_centroid['centroid'].values[0].distance(df_new_crs['centroid'][i])\n",
" \n",
" # convert distance from meter to kilometer\n",
" distance_in_km = distance_from_pp/1000\n",
" \n",
" # store each result in the list\n",
" distance.append(distance_in_km)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
index
\n",
"
ogc_fid
\n",
"
pro_code
\n",
"
provinces
\n",
"
households
\n",
"
males
\n",
"
females
\n",
"
total
\n",
"
house_size
\n",
"
area_km2
\n",
"
pop_km2
\n",
"
reference
\n",
"
geometry
\n",
"
centroid
\n",
"
distance
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
1
\n",
"
4
\n",
"
Kampong Chhnang
\n",
"
122925.0
\n",
"
251895.0
\n",
"
274037.0
\n",
"
525932.0
\n",
"
4.3
\n",
"
5521
\n",
"
95
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
MULTIPOLYGON (((440280.561 1383585.909, 440090...
\n",
"
POINT (452120.014 1344277.437)
\n",
"
73.917175
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
2
\n",
"
8
\n",
"
Kandal
\n",
"
273111.0
\n",
"
580129.0
\n",
"
615418.0
\n",
"
1195547.0
\n",
"
4.4
\n",
"
3179
\n",
"
376
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
POLYGON ((481223.477 1313362.233, 481407.227 1...
\n",
"
POINT (501957.039 1262761.786)
\n",
"
22.729735
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
4
\n",
"
14
\n",
"
Prey Veng
\n",
"
227008.0
\n",
"
501346.0
\n",
"
556082.0
\n",
"
1057428.0
\n",
"
4.7
\n",
"
4883
\n",
"
217
\n",
"
Provisional_Population_Census__00.06.2019.pdf
\n",
"
POLYGON ((536011.301 1311635.984, 536169.301 1...
\n",
"
POINT (546308.957 1259850.296)
\n",
"
63.718544
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" index ogc_fid pro_code provinces households males females \\\n",
"0 0 1 4 Kampong Chhnang 122925.0 251895.0 274037.0 \n",
"1 1 2 8 Kandal 273111.0 580129.0 615418.0 \n",
"2 3 4 14 Prey Veng 227008.0 501346.0 556082.0 \n",
"\n",
" total house_size area_km2 pop_km2 \\\n",
"0 525932.0 4.3 5521 95 \n",
"1 1195547.0 4.4 3179 376 \n",
"2 1057428.0 4.7 4883 217 \n",
"\n",
" reference \\\n",
"0 Provisional_Population_Census__00.06.2019.pdf \n",
"1 Provisional_Population_Census__00.06.2019.pdf \n",
"2 Provisional_Population_Census__00.06.2019.pdf \n",
"\n",
" geometry \\\n",
"0 MULTIPOLYGON (((440280.561 1383585.909, 440090... \n",
"1 POLYGON ((481223.477 1313362.233, 481407.227 1... \n",
"2 POLYGON ((536011.301 1311635.984, 536169.301 1... \n",
"\n",
" centroid distance \n",
"0 POINT (452120.014 1344277.437) 73.917175 \n",
"1 POINT (501957.039 1262761.786) 22.729735 \n",
"2 POINT (546308.957 1259850.296) 63.718544 "
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Let's create a column and store the distance result\n",
"df_new_crs['distance'] = distance\n",
"\n",
"# Let's check our result\n",
"df_new_crs.head(3)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"22.729735303077444 km\n",
"345.3761963080783 km\n"
]
}
],
"source": [
"# minimum distance\n",
"min_distance = df_new_crs['distance'].min()\n",
"# maximum distance\n",
"max_distance = df_new_crs['distance'].max()\n",
"\n",
"print(min_distance, 'km')\n",
"print(max_distance, 'km')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Nearest and furthest provinces from Phnom Penh**"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"# get the name of province of max and min distance\n",
"min_province = df_new_crs['provinces'].loc[df_new_crs['distance'].idxmin()]\n",
"max_province = df_new_crs['provinces'].loc[df_new_crs['distance'].idxmax()]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"*Note: check how to use [.idxmin()](https://www.kite.com/python/answers/how-to-find-the-max-value-of-a-pandas-dataframe-column-in-python) or [idxmax()](https://www.kite.com/python/answers/how-to-find-the-max-value-of-a-pandas-dataframe-column-in-python)* "
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The nearest province to Phnom Penh is Kandal Province with distance of 22.730 km.\n",
"The furthest province to Phnom Penh is Ratanak Kiri Province with distance of 345.376 km.\n"
]
}
],
"source": [
"print('The nearest province to Phnom Penh is', min_province, 'Province with distance of {dist:.3f} km.'.format(dist=min_distance)) \n",
"print('The furthest province to Phnom Penh is', max_province, 'Province with distance of {dist:.3f} km.'.format(dist=max_distance))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Others"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Reading KML files**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The way to read KML files is quite similar to how we read a Shapefile with GeoPandas. The only difference is that we have to enable the KML-driver as it's not enabled by default. KML file formats can be read by using the Python library `Geopandas` and `Fiona`. First method can done with this method: [Read a KML File into a GeoPandas DataFrame](https://docs.astraea.earth/hc/en-us/articles/360043923831-Read-a-KML-File-into-a-GeoPandas-DataFrame)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'AeronavFAA': 'r',\n",
" 'ARCGEN': 'r',\n",
" 'BNA': 'raw',\n",
" 'DXF': 'raw',\n",
" 'CSV': 'raw',\n",
" 'OpenFileGDB': 'r',\n",
" 'ESRI Shapefile': 'raw',\n",
" 'GeoJSON': 'rw',\n",
" 'GPKG': 'rw',\n",
" 'GML': 'raw',\n",
" 'GPX': 'raw',\n",
" 'GPSTrackMaker': 'raw',\n",
" 'Idrisi': 'r',\n",
" 'MapInfo File': 'raw',\n",
" 'DGN': 'raw',\n",
" 'PCIDSK': 'r',\n",
" 'S57': 'r',\n",
" 'SEGY': 'r',\n",
" 'SUA': 'r'}"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import geopandas as gpd\n",
"gpd.io.file.fiona.drvsupport.supported_drivers"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Enable the KML-driver by passing the fiona's supported driver of KML"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"gpd.io.file.fiona.drvsupport.supported_drivers['KML'] = 'rw'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, we have enabled the KML-driver, so let's read the kml file:"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Description
\n",
"
geometry
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
\n",
"
\n",
"
MULTIPOLYGON (((104.45035 12.51519, 104.44859 ...
\n",
"
\n",
"
\n",
"
1
\n",
"
\n",
"
\n",
"
MULTIPOLYGON (((104.82759 11.88065, 104.82928 ...
\n",
"
\n",
"
\n",
"
2
\n",
"
\n",
"
\n",
"
MULTIPOLYGON (((104.92232 11.73615, 104.92428 ...
\n",
"
\n",
"
\n",
"
3
\n",
"
\n",
"
\n",
"
MULTIPOLYGON (((105.33064 11.86490, 105.33209 ...
\n",
"
\n",
"
\n",
"
4
\n",
"
\n",
"
\n",
"
MULTIPOLYGON (((105.80715 11.59858, 105.80925 ...
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Description geometry\n",
"0 MULTIPOLYGON (((104.45035 12.51519, 104.44859 ...\n",
"1 MULTIPOLYGON (((104.82759 11.88065, 104.82928 ...\n",
"2 MULTIPOLYGON (((104.92232 11.73615, 104.92428 ...\n",
"3 MULTIPOLYGON (((105.33064 11.86490, 105.33209 ...\n",
"4 MULTIPOLYGON (((105.80715 11.59858, 105.80925 ..."
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_kml = gpd.read_file('data/provisional_census2019/provisional_census2019.kml', driver='KML')\n",
"data_kml.head()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"geopandas.geodataframe.GeoDataFrame"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(data_kml)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"data_kml.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From the geodataframe that we read from kml-file, we can see clearly that there are only 3 columns (i.e. Name, Description, and geometry) while other columns are missing. This is the disadvantage of reading KML-file in Python because KML-files mostly contain unsupported data structures, nested folder, etc., hence, I do not recommend to read data from KML. It's better to manually convert the KML file to other formart such as Shapefile or GeoJSON file using GIS application. So when we read shapefile or geojson, it will return a correct GeoDataFrame."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
}
],
"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.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}