diff --git a/docs/source/user_guide/cuspatial_api_examples.ipynb b/docs/source/user_guide/cuspatial_api_examples.ipynb index f5b207541..073a2776e 100644 --- a/docs/source/user_guide/cuspatial_api_examples.ipynb +++ b/docs/source/user_guide/cuspatial_api_examples.ipynb @@ -52,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "7265f9d2-9203-4da2-bbb2-b35c7f933641", "metadata": {}, "outputs": [], @@ -162,40 +162,54 @@ "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/3038749724.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - " pop_est continent name iso_a3 gdp_md_est \\\n", - "0 889953.0 Oceania Fiji FJI 5496 \n", - "1 58005463.0 Africa Tanzania TZA 63177 \n", - "2 603253.0 Africa W. Sahara ESH 907 \n", - "3 37589262.0 North America Canada CAN 1736425 \n", - "4 328239523.0 North America United States of America USA 21433226 \n", + " featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 \\\n", + "0 Admin-0 country 1 6 Fiji FJI \n", + "1 Admin-0 country 1 3 United Republic of Tanzania TZA \n", + "2 Admin-0 country 1 7 Western Sahara SAH \n", + "3 Admin-0 country 1 2 Canada CAN \n", + "4 Admin-0 country 1 2 United States of America US1 \n", + "\n", + " ADM0_DIF LEVEL TYPE TLC ADMIN ... \\\n", + "0 0 2 Sovereign country 1 Fiji ... \n", + "1 0 2 Sovereign country 1 United Republic of Tanzania ... \n", + "2 0 2 Indeterminate 1 Western Sahara ... \n", + "3 0 2 Sovereign country 1 Canada ... \n", + "4 1 2 Country 1 United States of America ... \n", + "\n", + " FCLASS_TR FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT \\\n", + "0 None None None None None \n", + "1 None None None None None \n", + "2 Unrecognized Unrecognized Unrecognized None None \n", + "3 None None None None None \n", + "4 None None None None None \n", + "\n", + " FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA \\\n", + "0 None None None None \n", + "1 None None None None \n", + "2 Unrecognized None None None \n", + "3 None None None None \n", + "4 None None None None \n", "\n", " geometry \n", - "0 MULTIPOLYGON (((180.00000 -16.06713, 180.00000... \n", - "1 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982... \n", + "0 MULTIPOLYGON (((180 -16.06713, 180 -16.55522, ... \n", + "1 POLYGON ((33.90371 -0.95, 34.07262 -1.05982, 3... \n", "2 POLYGON ((-8.66559 27.65643, -8.66512 27.58948... \n", - "3 MULTIPOLYGON (((-122.84000 49.00000, -122.9742... \n", - "4 MULTIPOLYGON (((-122.84000 49.00000, -120.0000... \n", + "3 MULTIPOLYGON (((-122.84 49, -122.97421 49.0025... \n", + "4 MULTIPOLYGON (((-122.84 49, -120 49, -117.0312... \n", + "\n", + "[5 rows x 169 columns]\n", "(GPU)\n", "\n" ] } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\n", - " \"naturalearth_lowres\"\n", - "))\n", + "host_dataframe = geopandas.read_file('https://naturalearth.s3.amazonaws.com/110m_cultural/ne_110m_admin_0_countries.zip')\n", + "host_dataframe = host_dataframe.set_crs(4326)\n", "gpu_dataframe = cuspatial.from_geopandas(host_dataframe)\n", "print(gpu_dataframe.head())" ] @@ -235,51 +249,44 @@ "name": "stdout", "output_type": "stream", "text": [ - " pop_est continent name iso_a3 gdp_md_est \\\n", - "103 38041754.0 Asia Afghanistan AFG 19291 \n", - "125 2854191.0 Europe Albania ALB 15279 \n", - "82 43053054.0 Africa Algeria DZA 171091 \n", - "74 31825295.0 Africa Angola AGO 88815 \n", - "159 4490.0 Antarctica Antarctica ATA 898 \n", - ".. ... ... ... ... ... \n", - "2 603253.0 Africa W. Sahara ESH 907 \n", - "157 29161922.0 Asia Yemen YEM 22581 \n", - "70 17861030.0 Africa Zambia ZMB 23309 \n", - "48 14645468.0 Africa Zimbabwe ZWE 21440 \n", - "73 1148130.0 Africa eSwatini SWZ 4471 \n", + " featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF \\\n", + "103 Admin-0 country 1 3 Afghanistan AFG 0 \n", + "125 Admin-0 country 1 6 Albania ALB 0 \n", + "82 Admin-0 country 1 3 Algeria DZA 0 \n", + "74 Admin-0 country 1 3 Angola AGO 0 \n", + "159 Admin-0 country 1 4 Antarctica ATA 0 \n", + "\n", + " LEVEL TYPE TLC ADMIN ... FCLASS_TR FCLASS_ID \\\n", + "103 2 Sovereign country 1 Afghanistan ... None None \n", + "125 2 Sovereign country 1 Albania ... None None \n", + "82 2 Sovereign country 1 Algeria ... None None \n", + "74 2 Sovereign country 1 Angola ... None None \n", + "159 2 Indeterminate 1 Antarctica ... None None \n", + "\n", + " FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA \\\n", + "103 None None None None None None None \n", + "125 None None None None None None None \n", + "82 None None None None None None None \n", + "74 None None None None None None None \n", + "159 None None None None None None None \n", "\n", " geometry \n", "103 POLYGON ((66.51861 37.36278, 67.07578 37.35614... \n", - "125 POLYGON ((21.02004 40.84273, 20.99999 40.58000... \n", - "82 POLYGON ((-8.68440 27.39574, -8.66512 27.58948... \n", - "74 MULTIPOLYGON (((12.99552 -4.78110, 12.63161 -4... \n", - "159 MULTIPOLYGON (((-48.66062 -78.04702, -48.15140... \n", - ".. ... \n", - "2 POLYGON ((-8.66559 27.65643, -8.66512 27.58948... \n", - "157 POLYGON ((52.00001 19.00000, 52.78218 17.34974... \n", - "70 POLYGON ((30.74001 -8.34001, 31.15775 -8.59458... \n", - "48 POLYGON ((31.19141 -22.25151, 30.65987 -22.151... \n", - "73 POLYGON ((32.07167 -26.73382, 31.86806 -27.177... \n", + "125 POLYGON ((21.02004 40.84273, 20.99999 40.58, 2... \n", + "82 POLYGON ((-8.6844 27.39574, -8.66512 27.58948,... \n", + "74 MULTIPOLYGON (((12.99552 -4.7811, 12.63161 -4.... \n", + "159 MULTIPOLYGON (((-48.66062 -78.04702, -48.1514 ... \n", "\n", - "[177 rows x 6 columns]\n", + "[5 rows x 169 columns]\n", "(GPU)\n", "\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/567044009.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", "gpu_dataframe = cuspatial.from_geopandas(host_dataframe)\n", - "continents_dataframe = gpu_dataframe.sort_values(\"name\")\n", - "print(continents_dataframe)" + "continents_dataframe = gpu_dataframe.sort_values(\"NAME\")\n", + "print(continents_dataframe.head())" ] }, { @@ -304,14 +311,6 @@ "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/1940355512.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] - }, { "data": { "image/svg+xml": [ @@ -327,11 +326,10 @@ } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", "gpu_dataframe = cuspatial.from_geopandas(host_dataframe)\n", - "sorted_dataframe = gpu_dataframe.sort_values(\"name\")\n", - "host_dataframe = sorted_dataframe.to_geopandas()\n", - "host_dataframe['geometry'].iloc[0]" + "sorted_dataframe = gpu_dataframe.sort_values(\"NAME\")\n", + "sorted_dataframe = sorted_dataframe.to_geopandas()\n", + "sorted_dataframe['geometry'].iloc[0]" ] }, { @@ -542,18 +540,9 @@ "3 55.928917 37.144994 73.055417 45.586804\n", "4 12.182337 -13.257227 31.174149 5.256088\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/1016569337.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", "single_polygons = cuspatial.from_geopandas(\n", " host_dataframe['geometry'][host_dataframe['geometry'].type == \"Polygon\"]\n", ")\n", @@ -635,27 +624,18 @@ "name": "stdout", "output_type": "stream", "text": [ - "0 POINT (112.174 -281.590)\n", + "0 POINT (112.174 -281.59)\n", "1 POINT (62.152 -280.852)\n", "2 POINT (-5.573 -257.391)\n", "3 POINT (-33.071 -243.849)\n", - "4 POINT (-98.002 -279.540)\n", + "4 POINT (-98.002 -279.54)\n", "dtype: geometry\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/2658722012.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", "gpu_dataframe = cuspatial.from_geopandas(host_dataframe)\n", - "afghanistan = gpu_dataframe['geometry'][gpu_dataframe['name'] == 'Afghanistan']\n", + "afghanistan = gpu_dataframe['geometry'][gpu_dataframe['NAME'] == 'Afghanistan']\n", "points = cuspatial.GeoSeries.from_points_xy(afghanistan.polygons.xy)\n", "projected = cuspatial.sinusoidal_projection(\n", " afghanistan.polygons.x.mean(),\n", @@ -764,14 +744,6 @@ "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/491857862.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] - }, { "data": { "text/plain": [ @@ -789,10 +761,9 @@ } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", "gpu_dataframe = cuspatial.from_geopandas(host_dataframe)\n", "polygons_first = gpu_dataframe['geometry'][0:10]\n", - "polygons_second = gpu_dataframe['geometry'][10:20]\n", + "polygons_second = gpu_dataframe['geometry'][10:30]\n", "\n", "points_first = polygons_first.polygons.xy[0:1000]\n", "points_second = polygons_second.polygons.xy[0:1000]\n", @@ -826,27 +797,12 @@ "name": "stdout", "output_type": "stream", "text": [ - " latitude longitude atlanta_lat atlanta_lng atlanta_dist\n", - "0 17.1167 -61.7833 33.749 -84.388 11961.556540\n", - "1 17.1333 -61.7833 33.749 -84.388 11963.392729\n", - "2 25.3330 55.5170 33.749 -84.388 12243.126130\n", - "3 25.2550 55.3640 33.749 -84.388 12233.867463\n", - "4 24.4330 54.6510 33.749 -84.388 12139.822218\n", - "5 24.2620 55.6090 33.749 -84.388 12124.483127\n", - "6 35.3170 69.0170 33.749 -84.388 13418.538383\n", - "7 34.2100 62.2280 33.749 -84.388 13258.725239\n", - "8 34.5660 69.2120 33.749 -84.388 13336.375942\n", - "9 31.5000 65.8500 33.749 -84.388 12976.749248\n", - "10 36.7167 3.2500 33.749 -84.388 13547.245294\n", - "11 30.5667 2.8667 33.749 -84.388 12866.528267\n", - "12 28.0500 9.6331 33.749 -84.388 12554.544289\n", - "13 22.8000 5.4331 33.749 -84.388 11990.825098\n", - "14 35.7297 0.6500 33.749 -84.388 13451.775999\n", - "15 36.9700 7.7900 33.749 -84.388 13553.372737\n", - "16 36.7800 3.0700 33.749 -84.388 13555.211584\n", - "17 36.8000 3.0300 33.749 -84.388 13557.641136\n", - "18 36.8000 3.0400 33.749 -84.388 13557.588738\n", - "19 36.7200 4.0500 33.749 -84.388 13543.496327\n" + " latitude longitude atlanta_lat atlanta_lng atlanta_dist\n", + "0 17.1167 -61.7833 33.749 -84.388 11961.556540\n", + "1 17.1333 -61.7833 33.749 -84.388 11963.392729\n", + "2 25.3330 55.5170 33.749 -84.388 12243.126130\n", + "3 25.2550 55.3640 33.749 -84.388 12233.867463\n", + "4 24.4330 54.6510 33.749 -84.388 12139.822218\n" ] } ], @@ -900,14 +856,6 @@ "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/1097934054.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n" - ] - }, { "name": "stdout", "output_type": "stream", @@ -928,8 +876,6 @@ } ], "source": [ - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\"))\n", - "\n", "gpu_boundaries = cuspatial.from_geopandas(host_dataframe.geometry.boundary)\n", "zeros = cuspatial.pairwise_linestring_distance(\n", " gpu_boundaries[0:50],\n", @@ -967,31 +913,46 @@ "tags": [] }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/tmp/ipykernel_5364/2846028812.py:2: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\")).to_crs(3857)\n" - ] - }, { "name": "stdout", "output_type": "stream", "text": [ - " pop_est continent name iso_a3 gdp_md_est \\\n", - "1 58005463.0 Africa Tanzania TZA 63177 \n", - "2 603253.0 Africa W. Sahara ESH 907 \n", - "5 18513930.0 Asia Kazakhstan KAZ 181665 \n", - "6 33580650.0 Asia Uzbekistan UZB 57921 \n", - "11 86790567.0 Africa Dem. Rep. Congo COD 50400 \n", + " featurecla scalerank LABELRANK SOVEREIGNT \\\n", + "1 Admin-0 country 1 3 United Republic of Tanzania \n", + "2 Admin-0 country 1 7 Western Sahara \n", + "5 Admin-0 country 1 3 Kazakhstan \n", + "6 Admin-0 country 1 3 Uzbekistan \n", + "11 Admin-0 country 1 2 Democratic Republic of the Congo \n", + "\n", + " SOV_A3 ADM0_DIF LEVEL TYPE TLC \\\n", + "1 TZA 0 2 Sovereign country 1 \n", + "2 SAH 0 2 Indeterminate 1 \n", + "5 KA1 1 1 Sovereignty 1 \n", + "6 UZB 0 2 Sovereign country 1 \n", + "11 COD 0 2 Sovereign country 1 \n", + "\n", + " ADMIN ... FCLASS_ID FCLASS_PL \\\n", + "1 United Republic of Tanzania ... None None \n", + "2 Western Sahara ... Unrecognized Unrecognized \n", + "5 Kazakhstan ... None None \n", + "6 Uzbekistan ... None None \n", + "11 Democratic Republic of the Congo ... None None \n", "\n", - " geometry border_distance \n", - "1 POLYGON ((3774143.866 -105758.362, 3792946.708... 8047.288391 \n", - "2 POLYGON ((-964649.018 3205725.605, -964597.245... 593137.492497 \n", - "5 POLYGON ((9724867.413 6311418.173, 9640131.701... 37091.213890 \n", - "6 POLYGON ((6230350.563 5057973.384, 6225978.591... 278633.467299 \n", - "11 POLYGON ((3266113.592 -501451.658, 3286149.877... 35812.988244 \n", + " FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA \\\n", + "1 None None None None None None \n", + "2 None None Unrecognized None None None \n", + "5 None None None None None None \n", + "6 None None None None None None \n", + "11 None None None None None None \n", + "\n", + " geometry border_distance \n", + "1 POLYGON ((3774143.866 -105758.362, 3792946.708... 8047.288391 \n", + "2 POLYGON ((-964649.018 3205725.605, -964597.245... 593137.492497 \n", + "5 POLYGON ((9724867.413 6311418.173, 9640131.701... 37091.213890 \n", + "6 POLYGON ((6230350.563 5057973.384, 6225978.591... 278633.467299 \n", + "11 POLYGON ((3266113.592 -501451.658, 3286149.877... 35812.988244 \n", + "\n", + "[5 rows x 170 columns]\n", "(GPU)\n", "\n" ] @@ -999,8 +960,8 @@ ], "source": [ "# Convert input dataframe to Pseudo-Mercator projection.\n", - "host_dataframe = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\")).to_crs(3857)\n", - "polygons = host_dataframe[host_dataframe['geometry'].type == \"Polygon\"]\n", + "host_dataframe3857 = host_dataframe.to_crs(3857)\n", + "polygons = host_dataframe3857[host_dataframe3857['geometry'].type == \"Polygon\"]\n", "gpu_polygons = cuspatial.from_geopandas(polygons)\n", "# Extract mean_x and mean_y from each country\n", "mean_x = [gpu_polygons['geometry'].iloc[[ix]].polygons.x.mean() for ix in range(len(gpu_polygons))]\n", @@ -1037,142 +998,58 @@ }, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/tmp/ipykernel_5364/3261459244.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_cities' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " cities = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_cities\")).to_crs(3857)\n", - "/tmp/ipykernel_5364/3261459244.py:2: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.\n", - " countries = geopandas.read_file(geopandas.datasets.get_path(\"naturalearth_lowres\")).to_crs(3857)\n" + " featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 \\\n", + "0 Admin-0 country 1 6 Fiji FJI \n", + "1 Admin-0 country 1 3 United Republic of Tanzania TZA \n", + "2 Admin-0 country 1 7 Western Sahara SAH \n", + "3 Admin-0 country 1 2 Canada CAN \n", + "4 Admin-0 country 1 2 United States of America US1 \n", + "\n", + " ADM0_DIF LEVEL TYPE TLC ADMIN ... \\\n", + "0 0 2 Sovereign country 1 Fiji ... \n", + "1 0 2 Sovereign country 1 United Republic of Tanzania ... \n", + "2 0 2 Indeterminate 1 Western Sahara ... \n", + "3 0 2 Sovereign country 1 Canada ... \n", + "4 1 2 Country 1 United States of America ... \n", + "\n", + " FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD \\\n", + "0 None None None None None None \n", + "1 None None None None None None \n", + "2 Unrecognized None None Unrecognized None None \n", + "3 None None None None None None \n", + "4 None None None None None None \n", + "\n", + " FCLASS_UA geometry distance_from \\\n", + "0 None MULTIPOLYGON (((20037508.343 -1812498.413, 200... Vatican City \n", + "1 None POLYGON ((3774143.866 -105758.362, 3792946.708... San Marino \n", + "2 None POLYGON ((-964649.018 3205725.605, -964597.245... Vaduz \n", + "3 None MULTIPOLYGON (((-13674486.249 6274861.394, -13... Lobamba \n", + "4 None MULTIPOLYGON (((-13674486.249 6274861.394, -13... Luxembourg \n", + "\n", + " distance \n", + "0 1.969350e+07 \n", + "1 5.929777e+06 \n", + "2 3.421172e+06 \n", + "3 1.296059e+07 \n", + "4 8.174897e+06 \n", + "\n", + "[5 rows x 171 columns]\n", + "(GPU)\n", + "\n" ] - }, - { - "data": { - "text/html": [ - "
\n", - " | pop_est | \n", - "continent | \n", - "name | \n", - "iso_a3 | \n", - "gdp_md_est | \n", - "geometry | \n", - "distance_from | \n", - "distance | \n", - "
---|---|---|---|---|---|---|---|---|
0 | \n", - "889953.0 | \n", - "Oceania | \n", - "Fiji | \n", - "FJI | \n", - "5496 | \n", - "MULTIPOLYGON (((20037508.343 -1812498.413, 200... | \n", - "Vatican City | \n", - "1.969350e+07 | \n", - "
1 | \n", - "58005463.0 | \n", - "Africa | \n", - "Tanzania | \n", - "TZA | \n", - "63177 | \n", - "POLYGON ((3774143.866 -105758.362, 3792946.708... | \n", - "San Marino | \n", - "5.929777e+06 | \n", - "
2 | \n", - "603253.0 | \n", - "Africa | \n", - "W. Sahara | \n", - "ESH | \n", - "907 | \n", - "POLYGON ((-964649.018 3205725.605, -964597.245... | \n", - "Vaduz | \n", - "3.421172e+06 | \n", - "
3 | \n", - "37589262.0 | \n", - "North America | \n", - "Canada | \n", - "CAN | \n", - "1736425 | \n", - "MULTIPOLYGON (((-13674486.249 6274861.394, -13... | \n", - "Lobamba | \n", - "1.296059e+07 | \n", - "
4 | \n", - "328239523.0 | \n", - "North America | \n", - "United States of America | \n", - "USA | \n", - "21433226 | \n", - "MULTIPOLYGON (((-13674486.249 6274861.394, -13... | \n", - "Luxembourg | \n", - "8.174897e+06 | \n", - "