{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Generate GeoJSON from Natural Earth Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Install Dependencies" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```\n", "pip install geopandas shapely\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Download Data\n", "\n", "Download the [Admin 1 – States, Provinces\n", "](https://www.naturalearthdata.com/downloads/10m-cultural-vectors/10m-admin-1-states-provinces/) dataset from Natural Earch Data and provide the path to the downloaded file below." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt\n", "import shapely\n", "\n", "df_admin0_10m = gpd.read_file(os.path.expanduser(\"ne_10m_admin_0_countries.zip\"))\n", "df_10m = gpd.read_file(os.path.expanduser(\"ne_10m_admin_1_states_provinces.zip\"))\n", "df_50m = gpd.read_file(os.path.expanduser(\"ne_50m_admin_1_states_provinces.zip\"))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['featurecla', 'scalerank', 'adm1_code', 'diss_me', 'iso_3166_2',\n", " 'wikipedia', 'iso_a2', 'adm0_sr', 'name', 'name_alt', 'name_local',\n", " 'type', 'type_en', 'code_local', 'code_hasc', 'note', 'hasc_maybe',\n", " 'region', 'region_cod', 'provnum_ne', 'gadm_level', 'check_me',\n", " 'datarank', 'abbrev', 'postal', 'area_sqkm', 'sameascity', 'labelrank',\n", " 'name_len', 'mapcolor9', 'mapcolor13', 'fips', 'fips_alt', 'woe_id',\n", " 'woe_label', 'woe_name', 'latitude', 'longitude', 'sov_a3', 'adm0_a3',\n", " 'adm0_label', 'admin', 'geonunit', 'gu_a3', 'gn_id', 'gn_name',\n", " 'gns_id', 'gns_name', 'gn_level', 'gn_region', 'gn_a1_code',\n", " 'region_sub', 'sub_code', 'gns_level', 'gns_lang', 'gns_adm1',\n", " 'gns_region', 'min_label', 'max_label', 'min_zoom', 'wikidataid',\n", " 'name_ar', 'name_bn', 'name_de', 'name_en', 'name_es', 'name_fr',\n", " 'name_el', 'name_hi', 'name_hu', 'name_id', 'name_it', 'name_ja',\n", " 'name_ko', 'name_nl', 'name_pl', 'name_pt', 'name_ru', 'name_sv',\n", " 'name_tr', 'name_vi', 'name_zh', 'ne_id', 'geometry'],\n", " dtype='object')" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_50m.columns" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['featurecla', 'scalerank', 'labelrank', 'sovereignt', 'sov_a3',\n", " 'adm0_dif', 'level', 'type', 'admin', 'adm0_a3', 'geou_dif', 'geounit',\n", " 'gu_a3', 'su_dif', 'subunit', 'su_a3', 'brk_diff', 'name', 'name_long',\n", " 'brk_a3', 'brk_name', 'brk_group', 'abbrev', 'postal', 'formal_en',\n", " 'formal_fr', 'name_ciawf', 'note_adm0', 'note_brk', 'name_sort',\n", " 'name_alt', 'mapcolor7', 'mapcolor8', 'mapcolor9', 'mapcolor13',\n", " 'pop_est', 'pop_rank', 'gdp_md_est', 'pop_year', 'lastcensus',\n", " 'gdp_year', 'economy', 'income_grp', 'wikipedia', 'fips_10_', 'iso_a2',\n", " 'iso_a3', 'iso_a3_eh', 'iso_n3', 'un_a3', 'wb_a2', 'wb_a3', 'woe_id',\n", " 'woe_id_eh', 'woe_note', 'adm0_a3_is', 'adm0_a3_us', 'adm0_a3_un',\n", " 'adm0_a3_wb', 'continent', 'region_un', 'subregion', 'region_wb',\n", " 'name_len', 'long_len', 'abbrev_len', 'tiny', 'homepart', 'min_zoom',\n", " 'min_label', 'max_label', 'ne_id', 'wikidataid', 'name_ar', 'name_bn',\n", " 'name_de', 'name_en', 'name_es', 'name_fr', 'name_el', 'name_hi',\n", " 'name_hu', 'name_id', 'name_it', 'name_ja', 'name_ko', 'name_nl',\n", " 'name_pl', 'name_pt', 'name_ru', 'name_sv', 'name_tr', 'name_vi',\n", " 'name_zh', 'geometry'],\n", " dtype='object')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_admin0_10m.columns = df_admin0_10m.columns.str.lower()\n", "df_admin0_10m.columns" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | featurecla | \n", "scalerank | \n", "adm1_code | \n", "diss_me | \n", "iso_3166_2 | \n", "wikipedia | \n", "iso_a2 | \n", "adm0_sr | \n", "name | \n", "name_alt | \n", "... | \n", "name_nl | \n", "name_pl | \n", "name_pt | \n", "name_ru | \n", "name_sv | \n", "name_tr | \n", "name_vi | \n", "name_zh | \n", "ne_id | \n", "geometry | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
admin | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
Australia | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "0 | \n", "9 | \n", "9 | \n", "9 | \n", "0 | \n", "... | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "9 | \n", "
Brazil | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "0 | \n", "27 | \n", "27 | \n", "27 | \n", "13 | \n", "... | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "27 | \n", "
Canada | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "9 | \n", "... | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "13 | \n", "
United States of America | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "... | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "51 | \n", "
4 rows × 83 columns
\n", "\n", " | featurecla | \n", "scalerank | \n", "labelrank | \n", "sov_a3 | \n", "type | \n", "admin | \n", "adm0_a3 | \n", "gu_a3 | \n", "name | \n", "abbrev | \n", "... | \n", "name_pl | \n", "name_pt | \n", "name_ru | \n", "name_sv | \n", "name_tr | \n", "name_vi | \n", "name_zh_x | \n", "geometry | \n", "name_zh_y | \n", "iso_3166_2 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "Admin-0 country | \n", "0 | \n", "4 | \n", "CH1 | \n", "Country | \n", "Hong Kong S.A.R. | \n", "HKG | \n", "HKG | \n", "Hong Kong | \n", "H.K. | \n", "... | \n", "Hongkong | \n", "Hong Kong | \n", "Гонконг | \n", "Hongkong | \n", "Hong Kong | \n", "Hồng Kông | \n", "香港 | \n", "MULTIPOLYGON (((114.22983 22.55581, 114.23471 ... | \n", "香港特别行政区 | \n", "CN-91 | \n", "
1 | \n", "Admin-0 country | \n", "0 | \n", "3 | \n", "TWN | \n", "Sovereign country | \n", "Taiwan | \n", "TWN | \n", "TWN | \n", "Taiwan | \n", "Taiwan | \n", "... | \n", "Republika Chińska | \n", "Taiwan | \n", "Китайская Республика | \n", "Taiwan | \n", "Çin Cumhuriyeti | \n", "Đài Loan | \n", "中華民國 | \n", "MULTIPOLYGON (((121.90577 24.95010, 121.83473 ... | \n", "中国台湾 | \n", "CN-71 | \n", "
2 | \n", "Admin-0 country | \n", "0 | \n", "4 | \n", "CH1 | \n", "Country | \n", "Macao S.A.R | \n", "MAC | \n", "MAC | \n", "Macao | \n", "Mac. | \n", "... | \n", "Makau | \n", "Macau | \n", "Макао | \n", "Macao | \n", "Makao | \n", "Ma Cao | \n", "澳門 | \n", "MULTIPOLYGON (((113.55860 22.16303, 113.56943 ... | \n", "澳门特别行政区 | \n", "CN-92 | \n", "
3 rows × 47 columns
\n", "