├── Geopandas Basics.ipynb ├── ListToPolygonToShapefile.ipynb ├── Projection.ipynb ├── README.md ├── Shapely.ipynb ├── Shapely_LineStrings.ipynb └── projeciton_funciton.py /Geopandas Basics.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "\n", 8 | "\n", 9 | "## Natural Earth data (World Countries)" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 16, 15 | "metadata": { 16 | "collapsed": true 17 | }, 18 | "outputs": [], 19 | "source": [ 20 | "import matplotlib.pyplot as plt\n", 21 | "import geopandas as gpd\n", 22 | "import os" 23 | ] 24 | }, 25 | { 26 | "cell_type": "markdown", 27 | "metadata": {}, 28 | "source": [ 29 | "### Importing data" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 17, 35 | "metadata": { 36 | "collapsed": true 37 | }, 38 | "outputs": [], 39 | "source": [ 40 | "file = 'C:/Users/Shakur/Documents/scripts/Projects_DEC17/DATA/ne_10m_admin_0_countries.shp'\n", 41 | "df_shp = gpd.read_file(file)\n" 42 | ] 43 | }, 44 | { 45 | "cell_type": "markdown", 46 | "metadata": {}, 47 | "source": [ 48 | "### Explore the data" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 18, 54 | "metadata": {}, 55 | "outputs": [ 56 | { 57 | "data": { 58 | "text/plain": [ 59 | "{'init': 'epsg:4326'}" 60 | ] 61 | }, 62 | "execution_count": 18, 63 | "metadata": {}, 64 | "output_type": "execute_result" 65 | } 66 | ], 67 | "source": [ 68 | "df_shp.crs" 69 | ] 70 | }, 71 | { 72 | "cell_type": "code", 73 | "execution_count": 4, 74 | "metadata": {}, 75 | "outputs": [ 76 | { 77 | "data": { 78 | "text/html": [ 79 | "
\n", 80 | "\n", 93 | "\n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | "
scalerankfeatureclaLABELRANKSOVEREIGNTSOV_A3ADM0_DIFLEVELTYPEADMINADM0_A3...REGION_WBNAME_LENLONG_LENABBREV_LENTINYHOMEPARTMIN_ZOOMMIN_LABELMAX_LABELgeometry
03Admin-0 country5.0NetherlandsNL11.02.0CountryArubaABW...Latin America & Caribbean5.05.05.04.0-99.00.05.010.0POLYGON ((-69.99693762899992 12.57758209800004...
10Admin-0 country3.0AfghanistanAFG0.02.0Sovereign countryAfghanistanAFG...South Asia11.011.04.0-99.01.00.03.07.0POLYGON ((71.04980228700009 38.40866445000009,...
20Admin-0 country3.0AngolaAGO0.02.0Sovereign countryAngolaAGO...Sub-Saharan Africa6.06.04.0-99.01.00.03.07.0(POLYGON ((11.73751945100014 -16.6925779829998...
33Admin-0 country6.0United KingdomGB11.02.0DependencyAnguillaAIA...Latin America & Caribbean8.08.04.0-99.0-99.00.05.010.0(POLYGON ((-63.03766842399995 18.2129580750000...
40Admin-0 country6.0AlbaniaALB0.02.0Sovereign countryAlbaniaALB...Europe & Central Asia7.07.04.0-99.01.00.05.010.0POLYGON ((19.74776574700007 42.57890085900007,...
\n", 243 | "

5 rows × 72 columns

\n", 244 | "
" 245 | ], 246 | "text/plain": [ 247 | " scalerank featurecla LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF \\\n", 248 | "0 3 Admin-0 country 5.0 Netherlands NL1 1.0 \n", 249 | "1 0 Admin-0 country 3.0 Afghanistan AFG 0.0 \n", 250 | "2 0 Admin-0 country 3.0 Angola AGO 0.0 \n", 251 | "3 3 Admin-0 country 6.0 United Kingdom GB1 1.0 \n", 252 | "4 0 Admin-0 country 6.0 Albania ALB 0.0 \n", 253 | "\n", 254 | " LEVEL TYPE ADMIN ADM0_A3 \\\n", 255 | "0 2.0 Country Aruba ABW \n", 256 | "1 2.0 Sovereign country Afghanistan AFG \n", 257 | "2 2.0 Sovereign country Angola AGO \n", 258 | "3 2.0 Dependency Anguilla AIA \n", 259 | "4 2.0 Sovereign country Albania ALB \n", 260 | "\n", 261 | " ... \\\n", 262 | "0 ... \n", 263 | "1 ... \n", 264 | "2 ... \n", 265 | "3 ... \n", 266 | "4 ... \n", 267 | "\n", 268 | " REGION_WB NAME_LEN LONG_LEN ABBREV_LEN TINY HOMEPART \\\n", 269 | "0 Latin America & Caribbean 5.0 5.0 5.0 4.0 -99.0 \n", 270 | "1 South Asia 11.0 11.0 4.0 -99.0 1.0 \n", 271 | "2 Sub-Saharan Africa 6.0 6.0 4.0 -99.0 1.0 \n", 272 | "3 Latin America & Caribbean 8.0 8.0 4.0 -99.0 -99.0 \n", 273 | "4 Europe & Central Asia 7.0 7.0 4.0 -99.0 1.0 \n", 274 | "\n", 275 | " MIN_ZOOM MIN_LABEL MAX_LABEL \\\n", 276 | "0 0.0 5.0 10.0 \n", 277 | "1 0.0 3.0 7.0 \n", 278 | "2 0.0 3.0 7.0 \n", 279 | "3 0.0 5.0 10.0 \n", 280 | "4 0.0 5.0 10.0 \n", 281 | "\n", 282 | " geometry \n", 283 | "0 POLYGON ((-69.99693762899992 12.57758209800004... \n", 284 | "1 POLYGON ((71.04980228700009 38.40866445000009,... \n", 285 | "2 (POLYGON ((11.73751945100014 -16.6925779829998... \n", 286 | "3 (POLYGON ((-63.03766842399995 18.2129580750000... \n", 287 | "4 POLYGON ((19.74776574700007 42.57890085900007,... \n", 288 | "\n", 289 | "[5 rows x 72 columns]" 290 | ] 291 | }, 292 | "execution_count": 4, 293 | "metadata": {}, 294 | "output_type": "execute_result" 295 | } 296 | ], 297 | "source": [ 298 | "df_shp.head()" 299 | ] 300 | }, 301 | { 302 | "cell_type": "code", 303 | "execution_count": 19, 304 | "metadata": {}, 305 | "outputs": [ 306 | { 307 | "data": { 308 | "text/plain": [ 309 | "Index(['scalerank', 'featurecla', 'LABELRANK', 'SOVEREIGNT', 'SOV_A3',\n", 310 | " 'ADM0_DIF', 'LEVEL', 'TYPE', 'ADMIN', 'ADM0_A3', 'GEOU_DIF', 'GEOUNIT',\n", 311 | " 'GU_A3', 'SU_DIF', 'SUBUNIT', 'SU_A3', 'BRK_DIFF', 'NAME', 'NAME_LONG',\n", 312 | " 'BRK_A3', 'BRK_NAME', 'BRK_GROUP', 'ABBREV', 'POSTAL', 'FORMAL_EN',\n", 313 | " 'FORMAL_FR', 'NAME_CIAWF', 'NOTE_ADM0', 'NOTE_BRK', 'NAME_SORT',\n", 314 | " 'NAME_ALT', 'MAPCOLOR7', 'MAPCOLOR8', 'MAPCOLOR9', 'MAPCOLOR13',\n", 315 | " 'POP_EST', 'POP_RANK', 'GDP_MD_EST', 'POP_YEAR', 'LASTCENSUS',\n", 316 | " 'GDP_YEAR', 'ECONOMY', 'INCOME_GRP', 'WIKIPEDIA', 'FIPS_10_', 'ISO_A2',\n", 317 | " 'ISO_A3', 'ISO_A3_EH', 'ISO_N3', 'UN_A3', 'WB_A2', 'WB_A3', 'WOE_ID',\n", 318 | " 'WOE_ID_EH', 'WOE_NOTE', 'ADM0_A3_IS', 'ADM0_A3_US', 'ADM0_A3_UN',\n", 319 | " 'ADM0_A3_WB', 'CONTINENT', 'REGION_UN', 'SUBREGION', 'REGION_WB',\n", 320 | " 'NAME_LEN', 'LONG_LEN', 'ABBREV_LEN', 'TINY', 'HOMEPART', 'MIN_ZOOM',\n", 321 | " 'MIN_LABEL', 'MAX_LABEL', 'geometry'],\n", 322 | " dtype='object')" 323 | ] 324 | }, 325 | "execution_count": 19, 326 | "metadata": {}, 327 | "output_type": "execute_result" 328 | } 329 | ], 330 | "source": [ 331 | "df_shp.columns" 332 | ] 333 | }, 334 | { 335 | "cell_type": "code", 336 | "execution_count": 20, 337 | "metadata": {}, 338 | "outputs": [ 339 | { 340 | "data": { 341 | "image/png": "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\niqLkiP8H8dk65gGE0hUAAAAASUVORK5CYII=\n", 342 | "text/plain": [ 343 | "" 344 | ] 345 | }, 346 | "metadata": {}, 347 | "output_type": "display_data" 348 | } 349 | ], 350 | "source": [ 351 | "# Geopandas also provides coordinate based indexing with cx\n", 352 | "# Find a way to see the northern part of the world. didnot suceed first time\n", 353 | "\n", 354 | "southern_world = df_shp.cx[:, :0]\n", 355 | "southern_world.plot()\n", 356 | "plt.show()" 357 | ] 358 | }, 359 | { 360 | "cell_type": "markdown", 361 | "metadata": {}, 362 | "source": [ 363 | "### Choose columns" 364 | ] 365 | }, 366 | { 367 | "cell_type": "code", 368 | "execution_count": 21, 369 | "metadata": {}, 370 | "outputs": [], 371 | "source": [ 372 | "# You can either create a new data frame with selected colums or\n", 373 | "# drop columns from the dataframe\n", 374 | "\n", 375 | "# Let us try drop\n", 376 | "\n", 377 | "df_shp.drop(['scalerank', 'featurecla', 'LABELRANK', 'SOVEREIGNT', 'SOV_A3',\n", 378 | " 'ADM0_DIF', 'LEVEL', 'TYPE', 'ADMIN', 'ADM0_A3', 'GEOU_DIF', 'GEOUNIT',\n", 379 | " 'GU_A3', 'SU_DIF', 'SUBUNIT', 'SU_A3', 'BRK_DIFF','BRK_A3', 'BRK_NAME', 'BRK_GROUP', 'ABBREV', 'POSTAL', 'FORMAL_EN',\n", 380 | " 'FORMAL_FR', 'NAME_CIAWF', 'NOTE_ADM0', 'NOTE_BRK', 'NAME_SORT',\n", 381 | " 'NAME_ALT', 'MAPCOLOR7', 'MAPCOLOR8', 'MAPCOLOR9', 'MAPCOLOR13',\n", 382 | " 'ISO_A3', 'ISO_A3_EH', 'ISO_N3', 'UN_A3', 'WB_A2', 'WB_A3', 'WOE_ID',\n", 383 | " 'WOE_ID_EH', 'WOE_NOTE', 'ADM0_A3_IS', 'ADM0_A3_US', 'ADM0_A3_UN',\n", 384 | " 'ADM0_A3_WB', 'REGION_UN', 'REGION_WB',\n", 385 | " 'NAME_LEN', 'LONG_LEN', 'ABBREV_LEN', 'TINY', 'HOMEPART', 'MIN_ZOOM',\n", 386 | " 'MIN_LABEL', 'MAX_LABEL'], axis=1, inplace=True)" 387 | ] 388 | }, 389 | { 390 | "cell_type": "code", 391 | "execution_count": 22, 392 | "metadata": {}, 393 | "outputs": [ 394 | { 395 | "data": { 396 | "text/html": [ 397 | "
\n", 398 | "\n", 411 | "\n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | "
NAMENAME_LONGPOP_ESTPOP_RANKGDP_MD_ESTPOP_YEARLASTCENSUSGDP_YEARECONOMYINCOME_GRPWIKIPEDIAFIPS_10_ISO_A2CONTINENTSUBREGIONgeometry
0ArubaAruba115120.09.02516.02017.02010.02009.06. Developing region2. High income: nonOECD-99.0AAAWNorth AmericaCaribbeanPOLYGON ((-69.99693762899992 12.57758209800004...
1AfghanistanAfghanistan34124811.015.064080.02017.01979.02016.07. Least developed region5. Low income-99.0AFAFAsiaSouthern AsiaPOLYGON ((71.04980228700009 38.40866445000009,...
2AngolaAngola29310273.015.0189000.02017.01970.02016.07. Least developed region3. Upper middle income-99.0AOAOAfricaMiddle Africa(POLYGON ((11.73751945100014 -16.6925779829998...
3AnguillaAnguilla17087.06.0175.42017.0-99.02009.06. Developing region3. Upper middle income-99.0AVAINorth AmericaCaribbean(POLYGON ((-63.03766842399995 18.2129580750000...
4AlbaniaAlbania3047987.012.033900.02017.02001.02016.06. Developing region4. Lower middle income-99.0ALALEuropeSouthern EuropePOLYGON ((19.74776574700007 42.57890085900007,...
\n", 531 | "
" 532 | ], 533 | "text/plain": [ 534 | " NAME NAME_LONG POP_EST POP_RANK GDP_MD_EST POP_YEAR \\\n", 535 | "0 Aruba Aruba 115120.0 9.0 2516.0 2017.0 \n", 536 | "1 Afghanistan Afghanistan 34124811.0 15.0 64080.0 2017.0 \n", 537 | "2 Angola Angola 29310273.0 15.0 189000.0 2017.0 \n", 538 | "3 Anguilla Anguilla 17087.0 6.0 175.4 2017.0 \n", 539 | "4 Albania Albania 3047987.0 12.0 33900.0 2017.0 \n", 540 | "\n", 541 | " LASTCENSUS GDP_YEAR ECONOMY INCOME_GRP \\\n", 542 | "0 2010.0 2009.0 6. Developing region 2. High income: nonOECD \n", 543 | "1 1979.0 2016.0 7. Least developed region 5. Low income \n", 544 | "2 1970.0 2016.0 7. Least developed region 3. Upper middle income \n", 545 | "3 -99.0 2009.0 6. Developing region 3. Upper middle income \n", 546 | "4 2001.0 2016.0 6. Developing region 4. Lower middle income \n", 547 | "\n", 548 | " WIKIPEDIA FIPS_10_ ISO_A2 CONTINENT SUBREGION \\\n", 549 | "0 -99.0 AA AW North America Caribbean \n", 550 | "1 -99.0 AF AF Asia Southern Asia \n", 551 | "2 -99.0 AO AO Africa Middle Africa \n", 552 | "3 -99.0 AV AI North America Caribbean \n", 553 | "4 -99.0 AL AL Europe Southern Europe \n", 554 | "\n", 555 | " geometry \n", 556 | "0 POLYGON ((-69.99693762899992 12.57758209800004... \n", 557 | "1 POLYGON ((71.04980228700009 38.40866445000009,... \n", 558 | "2 (POLYGON ((11.73751945100014 -16.6925779829998... \n", 559 | "3 (POLYGON ((-63.03766842399995 18.2129580750000... \n", 560 | "4 POLYGON ((19.74776574700007 42.57890085900007,... " 561 | ] 562 | }, 563 | "execution_count": 22, 564 | "metadata": {}, 565 | "output_type": "execute_result" 566 | } 567 | ], 568 | "source": [ 569 | "df_shp.head()" 570 | ] 571 | }, 572 | { 573 | "cell_type": "markdown", 574 | "metadata": {}, 575 | "source": [ 576 | "### Add Area column and calculate the area of each country" 577 | ] 578 | }, 579 | { 580 | "cell_type": "code", 581 | "execution_count": 23, 582 | "metadata": { 583 | "collapsed": true 584 | }, 585 | "outputs": [], 586 | "source": [ 587 | "df_shp['Area'] = None" 588 | ] 589 | }, 590 | { 591 | "cell_type": "code", 592 | "execution_count": 24, 593 | "metadata": { 594 | "collapsed": true 595 | }, 596 | "outputs": [], 597 | "source": [ 598 | "for index, row in df_shp.iterrows():\n", 599 | " df_shp.loc[index, 'Area'] = row['geometry'].area" 600 | ] 601 | }, 602 | { 603 | "cell_type": "code", 604 | "execution_count": 25, 605 | "metadata": {}, 606 | "outputs": [ 607 | { 608 | "data": { 609 | "text/html": [ 610 | "
\n", 611 | "\n", 624 | "\n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | " \n", 672 | " \n", 673 | " \n", 674 | " \n", 675 | " \n", 676 | " \n", 677 | " \n", 678 | " \n", 679 | " \n", 680 | " \n", 681 | " \n", 682 | " \n", 683 | " \n", 684 | " \n", 685 | " \n", 686 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | "
NAMENAME_LONGPOP_ESTPOP_RANKGDP_MD_ESTPOP_YEARLASTCENSUSGDP_YEARECONOMYINCOME_GRPWIKIPEDIAFIPS_10_ISO_A2CONTINENTSUBREGIONgeometryArea
0ArubaAruba115120.09.02516.02017.02010.02009.06. Developing region2. High income: nonOECD-99.0AAAWNorth AmericaCaribbeanPOLYGON ((-69.99693762899992 12.57758209800004...0.0141189
1AfghanistanAfghanistan34124811.015.064080.02017.01979.02016.07. Least developed region5. Low income-99.0AFAFAsiaSouthern AsiaPOLYGON ((71.04980228700009 38.40866445000009,...62.5917
2AngolaAngola29310273.015.0189000.02017.01970.02016.07. Least developed region3. Upper middle income-99.0AOAOAfricaMiddle Africa(POLYGON ((11.73751945100014 -16.6925779829998...103.585
3AnguillaAnguilla17087.06.0175.42017.0-99.02009.06. Developing region3. Upper middle income-99.0AVAINorth AmericaCaribbean(POLYGON ((-63.03766842399995 18.2129580750000...0.00689131
4AlbaniaAlbania3047987.012.033900.02017.02001.02016.06. Developing region4. Lower middle income-99.0ALALEuropeSouthern EuropePOLYGON ((19.74776574700007 42.57890085900007,...3.0394
\n", 750 | "
" 751 | ], 752 | "text/plain": [ 753 | " NAME NAME_LONG POP_EST POP_RANK GDP_MD_EST POP_YEAR \\\n", 754 | "0 Aruba Aruba 115120.0 9.0 2516.0 2017.0 \n", 755 | "1 Afghanistan Afghanistan 34124811.0 15.0 64080.0 2017.0 \n", 756 | "2 Angola Angola 29310273.0 15.0 189000.0 2017.0 \n", 757 | "3 Anguilla Anguilla 17087.0 6.0 175.4 2017.0 \n", 758 | "4 Albania Albania 3047987.0 12.0 33900.0 2017.0 \n", 759 | "\n", 760 | " LASTCENSUS GDP_YEAR ECONOMY INCOME_GRP \\\n", 761 | "0 2010.0 2009.0 6. Developing region 2. High income: nonOECD \n", 762 | "1 1979.0 2016.0 7. Least developed region 5. Low income \n", 763 | "2 1970.0 2016.0 7. Least developed region 3. Upper middle income \n", 764 | "3 -99.0 2009.0 6. Developing region 3. Upper middle income \n", 765 | "4 2001.0 2016.0 6. Developing region 4. Lower middle income \n", 766 | "\n", 767 | " WIKIPEDIA FIPS_10_ ISO_A2 CONTINENT SUBREGION \\\n", 768 | "0 -99.0 AA AW North America Caribbean \n", 769 | "1 -99.0 AF AF Asia Southern Asia \n", 770 | "2 -99.0 AO AO Africa Middle Africa \n", 771 | "3 -99.0 AV AI North America Caribbean \n", 772 | "4 -99.0 AL AL Europe Southern Europe \n", 773 | "\n", 774 | " geometry Area \n", 775 | "0 POLYGON ((-69.99693762899992 12.57758209800004... 0.0141189 \n", 776 | "1 POLYGON ((71.04980228700009 38.40866445000009,... 62.5917 \n", 777 | "2 (POLYGON ((11.73751945100014 -16.6925779829998... 103.585 \n", 778 | "3 (POLYGON ((-63.03766842399995 18.2129580750000... 0.00689131 \n", 779 | "4 POLYGON ((19.74776574700007 42.57890085900007,... 3.0394 " 780 | ] 781 | }, 782 | "execution_count": 25, 783 | "metadata": {}, 784 | "output_type": "execute_result" 785 | } 786 | ], 787 | "source": [ 788 | "df_shp.head()" 789 | ] 790 | }, 791 | { 792 | "cell_type": "code", 793 | "execution_count": 26, 794 | "metadata": {}, 795 | "outputs": [ 796 | { 797 | "data": { 798 | "text/plain": [ 799 | "'Antarctica'" 800 | ] 801 | }, 802 | "execution_count": 26, 803 | "metadata": {}, 804 | "output_type": "execute_result" 805 | } 806 | ], 807 | "source": [ 808 | "# Which country has the largest area\n", 809 | "df_shp.loc[df_shp['Area'].idxmax()]['NAME']" 810 | ] 811 | }, 812 | { 813 | "cell_type": "code", 814 | "execution_count": 27, 815 | "metadata": {}, 816 | "outputs": [ 817 | { 818 | "data": { 819 | "text/plain": [ 820 | "'Vatican'" 821 | ] 822 | }, 823 | "execution_count": 27, 824 | "metadata": {}, 825 | "output_type": "execute_result" 826 | } 827 | ], 828 | "source": [ 829 | "# Which country has the least area\n", 830 | "df_shp.loc[df_shp['Area'].idxmin()]['NAME']\n" 831 | ] 832 | }, 833 | { 834 | "cell_type": "markdown", 835 | "metadata": {}, 836 | "source": [ 837 | "### Group by Continent" 838 | ] 839 | }, 840 | { 841 | "cell_type": "code", 842 | "execution_count": 28, 843 | "metadata": { 844 | "collapsed": true 845 | }, 846 | "outputs": [], 847 | "source": [ 848 | "# Autocompleting taking too long\n", 849 | "%config Completer.use_jedi = False" 850 | ] 851 | }, 852 | { 853 | "cell_type": "code", 854 | "execution_count": 29, 855 | "metadata": { 856 | "collapsed": true 857 | }, 858 | "outputs": [], 859 | "source": [ 860 | "grouped = df_shp.groupby('CONTINENT')\n" 861 | ] 862 | }, 863 | { 864 | "cell_type": "code", 865 | "execution_count": 48, 866 | "metadata": {}, 867 | "outputs": [], 868 | "source": [ 869 | "for key, values in grouped:\n", 870 | " continent = values\n" 871 | ] 872 | }, 873 | { 874 | "cell_type": "markdown", 875 | "metadata": {}, 876 | "source": [ 877 | "### Exporting every continent as shapefile" 878 | ] 879 | }, 880 | { 881 | "cell_type": "code", 882 | "execution_count": 38, 883 | "metadata": { 884 | "collapsed": true 885 | }, 886 | "outputs": [], 887 | "source": [ 888 | "outFolder = r\"C:/Users/Shakur/Documents/scripts/Projects_DEC17\"\n", 889 | "\n", 890 | "resultFolder = os.path.join(outFolder, 'Continents')\n", 891 | "\n", 892 | "if not os.path.exists(resultFolder):\n", 893 | " os.makedirs(resultFolder)" 894 | ] 895 | }, 896 | { 897 | "cell_type": "code", 898 | "execution_count": 41, 899 | "metadata": {}, 900 | "outputs": [ 901 | { 902 | "name": "stdout", 903 | "output_type": "stream", 904 | "text": [ 905 | "Processing: Africa\n", 906 | "Processing: Antarctica\n", 907 | "Processing: Asia\n", 908 | "Processing: Europe\n", 909 | "Processing: North America\n", 910 | "Processing: Oceania\n", 911 | "Processing: Seven seas (open ocean)\n", 912 | "Processing: South America\n" 913 | ] 914 | } 915 | ], 916 | "source": [ 917 | "for key, values in grouped:\n", 918 | " outName = '%s.shp' % key\n", 919 | " print(\"Processing: %s\" %key)\n", 920 | " outPath = os.path.join(resultFolder, outName)\n", 921 | " values.to_file(outPath)" 922 | ] 923 | }, 924 | { 925 | "cell_type": "markdown", 926 | "metadata": {}, 927 | "source": [ 928 | "### Grouping by Subregion" 929 | ] 930 | }, 931 | { 932 | "cell_type": "code", 933 | "execution_count": 52, 934 | "metadata": {}, 935 | "outputs": [ 936 | { 937 | "data": { 938 | "text/plain": [ 939 | "array(['Caribbean', 'Southern Asia', 'Middle Africa', 'Southern Europe',\n", 940 | " 'Northern Europe', 'Western Asia', 'South America', 'Polynesia',\n", 941 | " 'Antarctica', 'Australia and New Zealand',\n", 942 | " 'Seven seas (open ocean)', 'Western Europe', 'Eastern Africa',\n", 943 | " 'Western Africa', 'Eastern Europe', 'Central America',\n", 944 | " 'Northern America', 'South-Eastern Asia', 'Southern Africa',\n", 945 | " 'Eastern Asia', 'Northern Africa', 'Melanesia', 'Micronesia',\n", 946 | " 'Central Asia'], dtype=object)" 947 | ] 948 | }, 949 | "execution_count": 52, 950 | "metadata": {}, 951 | "output_type": "execute_result" 952 | } 953 | ], 954 | "source": [ 955 | "df_shp['SUBREGION'].unique()" 956 | ] 957 | }, 958 | { 959 | "cell_type": "code", 960 | "execution_count": 49, 961 | "metadata": { 962 | "collapsed": true 963 | }, 964 | "outputs": [], 965 | "source": [ 966 | "subregions = df_shp.groupby('SUBREGION')" 967 | ] 968 | }, 969 | { 970 | "cell_type": "markdown", 971 | "metadata": {}, 972 | "source": [ 973 | "### Exporting every subregion as shapefile" 974 | ] 975 | }, 976 | { 977 | "cell_type": "code", 978 | "execution_count": 59, 979 | "metadata": {}, 980 | "outputs": [], 981 | "source": [ 982 | "outFolder = r\"C:/Users/Shakur/Documents/scripts/Projects_DEC17\"\n", 983 | "\n", 984 | "resultFolder = os.path.join(outFolder, 'Subregions')\n", 985 | "\n", 986 | "if not os.path.exists(resultFolder):\n", 987 | " os.makedirs(resultFolder)" 988 | ] 989 | }, 990 | { 991 | "cell_type": "code", 992 | "execution_count": 60, 993 | "metadata": {}, 994 | "outputs": [ 995 | { 996 | "name": "stdout", 997 | "output_type": "stream", 998 | "text": [ 999 | "Processing: Antarctica\n", 1000 | "Processing: Australia and New Zealand\n", 1001 | "Processing: Caribbean\n", 1002 | "Processing: Central America\n", 1003 | "Processing: Central Asia\n", 1004 | "Processing: Eastern Africa\n", 1005 | "Processing: Eastern Asia\n", 1006 | "Processing: Eastern Europe\n", 1007 | "Processing: Melanesia\n", 1008 | "Processing: Micronesia\n", 1009 | "Processing: Middle Africa\n", 1010 | "Processing: Northern Africa\n", 1011 | "Processing: Northern America\n", 1012 | "Processing: Northern Europe\n", 1013 | "Processing: Polynesia\n", 1014 | "Processing: Seven seas (open ocean)\n", 1015 | "Processing: South America\n", 1016 | "Processing: South-Eastern Asia\n", 1017 | "Processing: Southern Africa\n", 1018 | "Processing: Southern Asia\n", 1019 | "Processing: Southern Europe\n", 1020 | "Processing: Western Africa\n", 1021 | "Processing: Western Asia\n", 1022 | "Processing: Western Europe\n" 1023 | ] 1024 | } 1025 | ], 1026 | "source": [ 1027 | "for key, values in subregions:\n", 1028 | " outName = '%s.shp' % key\n", 1029 | " print(\"Processing: %s\" %key)\n", 1030 | " outPath = os.path.join(resultFolder, outName)\n", 1031 | " values.to_file(outPath)" 1032 | ] 1033 | }, 1034 | { 1035 | "cell_type": "code", 1036 | "execution_count": null, 1037 | "metadata": { 1038 | "collapsed": true 1039 | }, 1040 | "outputs": [], 1041 | "source": [] 1042 | } 1043 | ], 1044 | "metadata": { 1045 | "kernelspec": { 1046 | "display_name": "Python 3", 1047 | "language": "python", 1048 | "name": "python3" 1049 | }, 1050 | "language_info": { 1051 | "codemirror_mode": { 1052 | "name": "ipython", 1053 | "version": 3 1054 | }, 1055 | "file_extension": ".py", 1056 | "mimetype": "text/x-python", 1057 | "name": "python", 1058 | "nbconvert_exporter": "python", 1059 | "pygments_lexer": "ipython3", 1060 | "version": "3.6.3" 1061 | } 1062 | }, 1063 | "nbformat": 4, 1064 | "nbformat_minor": 2 1065 | } 1066 | -------------------------------------------------------------------------------- /ListToPolygonToShapefile.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "import geopandas as gpd\n", 12 | "from shapely.geometry import Point" 13 | ] 14 | }, 15 | { 16 | "cell_type": "code", 17 | "execution_count": 2, 18 | "metadata": { 19 | "collapsed": true 20 | }, 21 | "outputs": [], 22 | "source": [ 23 | "import geopandas as gpd\n", 24 | "from shapely.geometry import Polygon\n", 25 | "\n", 26 | "# X -coordinates \n", 27 | "xcoords = [29.99671173095703, 31.58196258544922, 27.738052368164062, 26.50013542175293, 26.652359008789062, 25.921663284301758, 22.90027618408203, 23.257217407226562,\n", 28 | " 23.335693359375, 22.87444305419922, 23.08465003967285, 22.565473556518555, 21.452774047851562, 21.66388702392578, 21.065969467163086, 21.67659568786621,\n", 29 | " 21.496871948242188, 22.339998245239258, 22.288192749023438, 24.539581298828125, 25.444232940673828, 25.303749084472656, 24.669166564941406, 24.689163208007812,\n", 30 | " 24.174999237060547, 23.68471908569336, 24.000761032104492, 23.57332992553711, 23.76513671875, 23.430830001831055, 23.6597900390625, 20.580928802490234, 21.320831298828125,\n", 31 | " 22.398330688476562, 23.97638702392578, 24.934917449951172, 25.7611083984375, 25.95930290222168, 26.476804733276367, 27.91069221496582, 29.1027774810791, 29.29846954345703,\n", 32 | " 28.4355525970459, 28.817358016967773, 28.459857940673828, 30.028610229492188, 29.075136184692383, 30.13492774963379, 29.818885803222656, 29.640830993652344, 30.57735824584961,\n", 33 | " 29.99671173095703]\n", 34 | "\n", 35 | "# Y -coordinates\n", 36 | "ycoords = [63.748023986816406, 62.90789794921875, 60.511383056640625, 60.44499588012695, 60.646385192871094, 60.243743896484375, 59.806800842285156, 59.91944122314453,\n", 37 | " 60.02395248413086, 60.14555358886719, 60.3452033996582, 60.211936950683594, 60.56249237060547, 61.54027557373047, 62.59798049926758, 63.02013397216797,\n", 38 | " 63.20353698730469, 63.27652359008789, 63.525691986083984, 64.79915618896484, 64.9533920288086, 65.51513671875, 65.65470886230469, 65.89610290527344, 65.79151916503906,\n", 39 | " 66.26332092285156, 66.80228424072266, 67.1570053100586, 67.4168701171875, 67.47978210449219, 67.94589233398438, 69.060302734375, 69.32611083984375, 68.71110534667969,\n", 40 | " 68.83248901367188, 68.580810546875, 68.98916625976562, 69.68568420410156, 69.9363784790039, 70.08860778808594, 69.70597076416016, 69.48533630371094, 68.90263366699219,\n", 41 | " 68.84700012207031, 68.53485107421875, 67.69471740722656, 66.90360260009766, 65.70887756347656, 65.6533203125, 64.92096710205078, 64.22373962402344, 63.748023986816406]\n", 42 | "\n" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 9, 48 | "metadata": {}, 49 | "outputs": [ 50 | { 51 | "name": "stdout", 52 | "output_type": "stream", 53 | "text": [ 54 | "[(29.99671173095703, 63.748023986816406), (31.58196258544922, 62.90789794921875), (27.738052368164062, 60.511383056640625), (26.50013542175293, 60.44499588012695), (26.652359008789062, 60.646385192871094)]\n" 55 | ] 56 | } 57 | ], 58 | "source": [ 59 | "coordpairs = []\n", 60 | "\n", 61 | "for x, y in zip(xcoords, ycoords):\n", 62 | " myLines = x, y\n", 63 | " coordpairs.append(myLines)\n", 64 | "type(coordpairs)\n", 65 | "print(coordpairs[:5])" 66 | ] 67 | }, 68 | { 69 | "cell_type": "code", 70 | "execution_count": 34, 71 | "metadata": {}, 72 | "outputs": [ 73 | { 74 | "data": { 75 | "image/svg+xml": [ 76 | "" 77 | ], 78 | "text/plain": [ 79 | "" 80 | ] 81 | }, 82 | "execution_count": 34, 83 | "metadata": {}, 84 | "output_type": "execute_result" 85 | } 86 | ], 87 | "source": [ 88 | "poly = Polygon(coordpairs)\n", 89 | "poly" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": 35, 95 | "metadata": {}, 96 | "outputs": [ 97 | { 98 | "data": { 99 | "image/svg+xml": [ 100 | "" 101 | ], 102 | "text/plain": [ 103 | "" 104 | ] 105 | }, 106 | "execution_count": 35, 107 | "metadata": {}, 108 | "output_type": "execute_result" 109 | } 110 | ], 111 | "source": [ 112 | "poly = Polygon(coordpairs)\n", 113 | "poly" 114 | ] 115 | }, 116 | { 117 | "cell_type": "code", 118 | "execution_count": 38, 119 | "metadata": {}, 120 | "outputs": [ 121 | { 122 | "data": { 123 | "text/html": [ 124 | "
\n", 125 | "\n", 138 | "\n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | "
geometry
\n", 148 | "
" 149 | ], 150 | "text/plain": [ 151 | "Empty GeoDataFrame\n", 152 | "Columns: [geometry]\n", 153 | "Index: []" 154 | ] 155 | }, 156 | "execution_count": 38, 157 | "metadata": {}, 158 | "output_type": "execute_result" 159 | } 160 | ], 161 | "source": [ 162 | "geo = gpd.GeoDataFrame()\n", 163 | "geo['geometry'] = None\n", 164 | "geo" 165 | ] 166 | }, 167 | { 168 | "cell_type": "code", 169 | "execution_count": 40, 170 | "metadata": {}, 171 | "outputs": [ 172 | { 173 | "data": { 174 | "text/html": [ 175 | "
\n", 176 | "\n", 189 | "\n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | "
geometry
0POLYGON ((29.99671173095703 63.74802398681641,...
\n", 203 | "
" 204 | ], 205 | "text/plain": [ 206 | " geometry\n", 207 | "0 POLYGON ((29.99671173095703 63.74802398681641,..." 208 | ] 209 | }, 210 | "execution_count": 40, 211 | "metadata": {}, 212 | "output_type": "execute_result" 213 | } 214 | ], 215 | "source": [ 216 | "geo.loc[0, 'geometry'] = poly\n", 217 | "geo" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 41, 223 | "metadata": { 224 | "collapsed": true 225 | }, 226 | "outputs": [], 227 | "source": [ 228 | "out = r'C:\\Users\\Shakur\\Documents\\scripts\\Projects_DEC17\\DATA\\geo_polygon.shp'\n", 229 | "\n", 230 | "geo.to_file(out)" 231 | ] 232 | }, 233 | { 234 | "cell_type": "code", 235 | "execution_count": 45, 236 | "metadata": {}, 237 | "outputs": [ 238 | { 239 | "data": { 240 | "text/plain": [ 241 | "" 242 | ] 243 | }, 244 | "execution_count": 45, 245 | "metadata": {}, 246 | "output_type": "execute_result" 247 | }, 248 | { 249 | "data": { 250 | "image/png": "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\n", 251 | "text/plain": [ 252 | "" 253 | ] 254 | }, 255 | "metadata": {}, 256 | "output_type": "display_data" 257 | } 258 | ], 259 | "source": [ 260 | "import matplotlib.pyplot as plt\n", 261 | "%matplotlib inline\n", 262 | "geo.plot()\n" 263 | ] 264 | }, 265 | { 266 | "cell_type": "code", 267 | "execution_count": null, 268 | "metadata": { 269 | "collapsed": true 270 | }, 271 | "outputs": [], 272 | "source": [] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "execution_count": null, 277 | "metadata": { 278 | "collapsed": true 279 | }, 280 | "outputs": [], 281 | "source": [ 282 | "# P1. Create a list of x and y coordinate pairs out of xcoords and ycoords\n", 283 | "# ------------------------------------------------------------------------\n", 284 | "# Coordinate pair can be either a tuple or a list.\n", 285 | "# The first coordinate pair in the 'coordpairs' -list should look like: (29.99671173095703, 63.748023986816406)\n", 286 | "# Hint: you might want to iterate over items in the lists using a for-loop\n", 287 | "\n", 288 | "coordpairs = \n", 289 | "\n", 290 | "# P2. Create a shapely Polygon using the 'coordpairs' -list\n", 291 | "# ------------------------------------------------------------------------\n", 292 | "poly =\n", 293 | "\n", 294 | "# P3. Create an empty GeoDataFrame\n", 295 | "# ---------------------------------\n", 296 | "geo =\n", 297 | "\n", 298 | "# P4. Insert our 'poly' -polygon into the 'geo' GeoDataFrame using a column name 'geometry' \n", 299 | "# ------------------------------------------------------------------------------------------\n", 300 | "# Hint: Take advantage of .loc -funtion\n", 301 | "geo.loc\n", 302 | "\n", 303 | "# P5. Save the GeoDataFrame into a new Shapefile called 'polygon.shp'\n", 304 | "# --------------------------------------------------------------------\n", 305 | "# Note: you do not need to define the coordinate reference system at this time\n", 306 | "\n", 307 | "\n", 308 | "# P6. Plot the polygon using taking advantage of the .plot() -function in GeoDataFrame. Save a PNG figure out of your plot and upload it to your GitHub repository.\n", 309 | "# -----------------------------------------------------------------------------------------------------------------------------------------------------------------\n" 310 | ] 311 | } 312 | ], 313 | "metadata": { 314 | "kernelspec": { 315 | "display_name": "Python 3", 316 | "language": "python", 317 | "name": "python3" 318 | }, 319 | "language_info": { 320 | "codemirror_mode": { 321 | "name": "ipython", 322 | "version": 3 323 | }, 324 | "file_extension": ".py", 325 | "mimetype": "text/x-python", 326 | "name": "python", 327 | "nbconvert_exporter": "python", 328 | "pygments_lexer": "ipython3", 329 | "version": "3.6.3" 330 | } 331 | }, 332 | "nbformat": 4, 333 | "nbformat_minor": 2 334 | } 335 | -------------------------------------------------------------------------------- /Projection.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 13, 6 | "metadata": { 7 | "collapsed": true 8 | }, 9 | "outputs": [], 10 | "source": [ 11 | "import geopandas as gpd\n", 12 | "%matplotlib inline\n", 13 | "%config Completer.use_jedi = False\n", 14 | "\n" 15 | ] 16 | }, 17 | { 18 | "cell_type": "code", 19 | "execution_count": 14, 20 | "metadata": {}, 21 | "outputs": [ 22 | { 23 | "data": { 24 | "text/plain": [ 25 | "'C:\\\\Users\\\\Shakur\\\\Documents\\\\scripts\\\\Projects_DEC17'" 26 | ] 27 | }, 28 | "execution_count": 14, 29 | "metadata": {}, 30 | "output_type": "execute_result" 31 | } 32 | ], 33 | "source": [ 34 | "import os\n", 35 | "os.getcwd()" 36 | ] 37 | }, 38 | { 39 | "cell_type": "code", 40 | "execution_count": 15, 41 | "metadata": {}, 42 | "outputs": [], 43 | "source": [ 44 | "fp = 'C:\\\\Users\\\\Shakur\\\\Documents\\\\scripts\\\\Projects_DEC17\\\\DATA\\\\Europe_borders.shp'" 45 | ] 46 | }, 47 | { 48 | "cell_type": "code", 49 | "execution_count": 16, 50 | "metadata": {}, 51 | "outputs": [], 52 | "source": [ 53 | "data = gpd.read_file(fp)" 54 | ] 55 | }, 56 | { 57 | "cell_type": "code", 58 | "execution_count": 17, 59 | "metadata": {}, 60 | "outputs": [ 61 | { 62 | "data": { 63 | "text/html": [ 64 | "
\n", 65 | "\n", 78 | "\n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | "
TZIDgeometry
0Europe/BerlinPOLYGON ((8.457777976989746 54.56236267089844,...
1Europe/BerlinPOLYGON ((8.71992015838623 47.69664382934571, ...
2Europe/BerlinPOLYGON ((6.733166694641113 53.5740852355957, ...
3Europe/BerlinPOLYGON ((6.858222007751465 53.59411239624024,...
4Europe/BerlinPOLYGON ((6.89894437789917 53.6256103515625, 6...
\n", 114 | "
" 115 | ], 116 | "text/plain": [ 117 | " TZID geometry\n", 118 | "0 Europe/Berlin POLYGON ((8.457777976989746 54.56236267089844,...\n", 119 | "1 Europe/Berlin POLYGON ((8.71992015838623 47.69664382934571, ...\n", 120 | "2 Europe/Berlin POLYGON ((6.733166694641113 53.5740852355957, ...\n", 121 | "3 Europe/Berlin POLYGON ((6.858222007751465 53.59411239624024,...\n", 122 | "4 Europe/Berlin POLYGON ((6.89894437789917 53.6256103515625, 6..." 123 | ] 124 | }, 125 | "execution_count": 17, 126 | "metadata": {}, 127 | "output_type": "execute_result" 128 | } 129 | ], 130 | "source": [ 131 | "data.head()" 132 | ] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "execution_count": 18, 137 | "metadata": {}, 138 | "outputs": [ 139 | { 140 | "data": { 141 | "text/plain": [ 142 | "" 143 | ] 144 | }, 145 | "execution_count": 18, 146 | "metadata": {}, 147 | "output_type": "execute_result" 148 | }, 149 | { 150 | "data": { 151 | "image/png": "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\n", 152 | "text/plain": [ 153 | "" 154 | ] 155 | }, 156 | "metadata": {}, 157 | "output_type": "display_data" 158 | } 159 | ], 160 | "source": [ 161 | "data.plot()" 162 | ] 163 | }, 164 | { 165 | "cell_type": "code", 166 | "execution_count": 19, 167 | "metadata": {}, 168 | "outputs": [ 169 | { 170 | "data": { 171 | "text/plain": [ 172 | "{'init': 'epsg:4326'}" 173 | ] 174 | }, 175 | "execution_count": 19, 176 | "metadata": {}, 177 | "output_type": "execute_result" 178 | } 179 | ], 180 | "source": [ 181 | "data.crs" 182 | ] 183 | }, 184 | { 185 | "cell_type": "code", 186 | "execution_count": 8, 187 | "metadata": {}, 188 | "outputs": [ 189 | { 190 | "data": { 191 | "text/plain": [ 192 | "0 POLYGON ((8.457777976989746 54.56236267089844,...\n", 193 | "1 POLYGON ((8.71992015838623 47.69664382934571, ...\n", 194 | "2 POLYGON ((6.733166694641113 53.5740852355957, ...\n", 195 | "3 POLYGON ((6.858222007751465 53.59411239624024,...\n", 196 | "4 POLYGON ((6.89894437789917 53.6256103515625, 6...\n", 197 | "Name: geometry, dtype: object" 198 | ] 199 | }, 200 | "execution_count": 8, 201 | "metadata": {}, 202 | "output_type": "execute_result" 203 | } 204 | ], 205 | "source": [ 206 | "data['geometry'].head()" 207 | ] 208 | }, 209 | { 210 | "cell_type": "code", 211 | "execution_count": 21, 212 | "metadata": { 213 | "collapsed": true 214 | }, 215 | "outputs": [], 216 | "source": [ 217 | "data_proj = data.copy()" 218 | ] 219 | }, 220 | { 221 | "cell_type": "code", 222 | "execution_count": 23, 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [ 226 | "data_proj = data_proj.to_crs(epsg=3035)" 227 | ] 228 | }, 229 | { 230 | "cell_type": "code", 231 | "execution_count": 24, 232 | "metadata": {}, 233 | "outputs": [ 234 | { 235 | "data": { 236 | "text/plain": [ 237 | "0 POLYGON ((4221214.558083206 3496203.404098808,...\n", 238 | "1 POLYGON ((4224860.478301956 2732279.319200804,...\n", 239 | "2 POLYGON ((4104652.175534055 3390034.952743419,...\n", 240 | "3 POLYGON ((4113025.664273634 3391895.755246869,...\n", 241 | "4 POLYGON ((4115871.227616003 3395282.099030705,...\n", 242 | "Name: geometry, dtype: object" 243 | ] 244 | }, 245 | "execution_count": 24, 246 | "metadata": {}, 247 | "output_type": "execute_result" 248 | } 249 | ], 250 | "source": [ 251 | "data_proj['geometry'].head()" 252 | ] 253 | }, 254 | { 255 | "cell_type": "code", 256 | "execution_count": 25, 257 | "metadata": {}, 258 | "outputs": [ 259 | { 260 | "data": { 261 | "image/png": "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\n", 262 | "text/plain": [ 263 | "" 264 | ] 265 | }, 266 | "metadata": {}, 267 | "output_type": "display_data" 268 | }, 269 | { 270 | "data": { 271 | "image/png": "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\nSUVORK5CYII=\n", 272 | "text/plain": [ 273 | "" 274 | ] 275 | }, 276 | "metadata": {}, 277 | "output_type": "display_data" 278 | } 279 | ], 280 | "source": [ 281 | "import matplotlib.pyplot as plt\n", 282 | "\n", 283 | "data.plot(facecolor='gray')\n", 284 | "plt.title(\"WGS84 Projection\")\n", 285 | "plt.tight_layout()\n", 286 | "\n", 287 | "data_proj.plot(facecolor='blue')\n", 288 | "plt.title('ETRS Lamber Azimuthal Equal Area Project')\n", 289 | "\n", 290 | "plt.tight_layout()" 291 | ] 292 | }, 293 | { 294 | "cell_type": "markdown", 295 | "metadata": {}, 296 | "source": [ 297 | "### Saving CRS\n", 298 | "\n", 299 | "Next, we still need to change the crs of our GeoDataFrame into EPSG 3035 as \n", 300 | "now we only modified the values of the geometry column. \n", 301 | "We can take use of fiona’s from_epsg -function." 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 28, 307 | "metadata": { 308 | "collapsed": true 309 | }, 310 | "outputs": [], 311 | "source": [ 312 | "from fiona.crs import from_epsg" 313 | ] 314 | }, 315 | { 316 | "cell_type": "code", 317 | "execution_count": 29, 318 | "metadata": { 319 | "collapsed": true 320 | }, 321 | "outputs": [], 322 | "source": [ 323 | "data_proj.crs = from_epsg(3035)" 324 | ] 325 | }, 326 | { 327 | "cell_type": "code", 328 | "execution_count": 30, 329 | "metadata": {}, 330 | "outputs": [ 331 | { 332 | "data": { 333 | "text/plain": [ 334 | "{'init': 'epsg:3035', 'no_defs': True}" 335 | ] 336 | }, 337 | "execution_count": 30, 338 | "metadata": {}, 339 | "output_type": "execute_result" 340 | } 341 | ], 342 | "source": [ 343 | "data_proj.crs" 344 | ] 345 | }, 346 | { 347 | "cell_type": "code", 348 | "execution_count": 32, 349 | "metadata": { 350 | "collapsed": true 351 | }, 352 | "outputs": [], 353 | "source": [ 354 | "outfp = 'C:\\\\Users\\\\Shakur\\\\Documents\\\\scripts\\\\Projects_DEC17\\\\DATA\\\\Europe_borders_epsg3035.shp'" 355 | ] 356 | }, 357 | { 358 | "cell_type": "code", 359 | "execution_count": 33, 360 | "metadata": { 361 | "collapsed": true 362 | }, 363 | "outputs": [], 364 | "source": [ 365 | "data_proj.to_file(outfp)" 366 | ] 367 | }, 368 | { 369 | "cell_type": "code", 370 | "execution_count": null, 371 | "metadata": { 372 | "collapsed": true 373 | }, 374 | "outputs": [], 375 | "source": [] 376 | } 377 | ], 378 | "metadata": { 379 | "kernelspec": { 380 | "display_name": "Python 3", 381 | "language": "python", 382 | "name": "python3" 383 | }, 384 | "language_info": { 385 | "codemirror_mode": { 386 | "name": "ipython", 387 | "version": 3 388 | }, 389 | "file_extension": ".py", 390 | "mimetype": "text/x-python", 391 | "name": "python", 392 | "nbconvert_exporter": "python", 393 | "pygments_lexer": "ipython3", 394 | "version": "3.6.3" 395 | } 396 | }, 397 | "nbformat": 4, 398 | "nbformat_minor": 2 399 | } 400 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GeoPython 2 | Basic Geopandas and Shapely Ipython Notebooks 3 | 4 | 1. Geopandas Basics [Basic Exploration](https://github.com/shakasom/GeoPython/blob/master/Geopandas%20Basics.ipynb) 5 | 2. Shapely Geometry Exploration [Create Shapely Lines](https://github.com/shakasom/GeoPython/blob/master/Shapely_LineStrings.ipynb) 6 | 3. Creating Geometry from Lat/Lon [Create Shapely Points](https://github.com/shakasom/GeoPython/blob/master/Shapely.ipynb) 7 | 3. Projection function [Geopandas projection](https://github.com/shakasom/GeoPython/blob/master/projeciton_funciton.py) 8 | 9 | 10 | -------------------------------------------------------------------------------- /Shapely.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 10, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "import pandas as pd\n", 10 | "import geopandas as gpd\n", 11 | "from shapely.geometry import Point, Polygon, LineString\n", 12 | "from fiona.crs import from_epsg\n", 13 | "import matplotlib.pyplot as plt\n", 14 | "import folium\n", 15 | "import mplleaflet" 16 | ] 17 | }, 18 | { 19 | "cell_type": "code", 20 | "execution_count": 2, 21 | "metadata": {}, 22 | "outputs": [], 23 | "source": [ 24 | "file = 'C:/Data/coordinates.txt'" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 3, 30 | "metadata": {}, 31 | "outputs": [], 32 | "source": [ 33 | "df = pd.read_csv(file, sep=';', encoding='iso-8859-1')" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 4, 39 | "metadata": {}, 40 | "outputs": [ 41 | { 42 | "data": { 43 | "text/html": [ 44 | "
\n", 45 | "\n", 58 | "\n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | "
idnamelatlong
0101Västerås59.61136616.545025
1102Umeå63.82584820.263035
2103Norrköping58.58845516.188313
3104Stockholm59.33459118.063240
4105Uddevalla58.35130711.885834
5106Västervik57.75144216.628838
6107Gothenburg57.70887011.974560
7108Visby57.63480018.294840
\n", 127 | "
" 128 | ], 129 | "text/plain": [ 130 | " id name lat long\n", 131 | "0 101 Västerås 59.611366 16.545025\n", 132 | "1 102 Umeå 63.825848 20.263035\n", 133 | "2 103 Norrköping 58.588455 16.188313\n", 134 | "3 104 Stockholm 59.334591 18.063240\n", 135 | "4 105 Uddevalla 58.351307 11.885834\n", 136 | "5 106 Västervik 57.751442 16.628838\n", 137 | "6 107 Gothenburg 57.708870 11.974560\n", 138 | "7 108 Visby 57.634800 18.294840" 139 | ] 140 | }, 141 | "execution_count": 4, 142 | "metadata": {}, 143 | "output_type": "execute_result" 144 | } 145 | ], 146 | "source": [ 147 | "df #simple dataframe consisting lat, long and couple of other columns" 148 | ] 149 | }, 150 | { 151 | "cell_type": "code", 152 | "execution_count": 5, 153 | "metadata": {}, 154 | "outputs": [], 155 | "source": [ 156 | "# Create geometry from latitude and longitude.\n", 157 | "geometry = [Point(xy) for xy in zip(df['lat'], df['long'])]" 158 | ] 159 | }, 160 | { 161 | "cell_type": "code", 162 | "execution_count": 6, 163 | "metadata": {}, 164 | "outputs": [ 165 | { 166 | "data": { 167 | "text/html": [ 168 | "
\n", 169 | "\n", 182 | "\n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | "
idnamelatlonggeometry
0101Västerås59.61136616.545025POINT (59.611366 16.545025)
1102Umeå63.82584820.263035POINT (63.825848 20.263035)
2103Norrköping58.58845516.188313POINT (58.588455 16.188313)
3104Stockholm59.33459118.063240POINT (59.334591 18.06324)
4105Uddevalla58.35130711.885834POINT (58.35130699999999 11.885834)
5106Västervik57.75144216.628838POINT (57.751442 16.628838)
6107Gothenburg57.70887011.974560POINT (57.70887 11.97456)
7108Visby57.63480018.294840POINT (57.6348 18.29484)
\n", 260 | "
" 261 | ], 262 | "text/plain": [ 263 | " id name lat long geometry\n", 264 | "0 101 Västerås 59.611366 16.545025 POINT (59.611366 16.545025)\n", 265 | "1 102 Umeå 63.825848 20.263035 POINT (63.825848 20.263035)\n", 266 | "2 103 Norrköping 58.588455 16.188313 POINT (58.588455 16.188313)\n", 267 | "3 104 Stockholm 59.334591 18.063240 POINT (59.334591 18.06324)\n", 268 | "4 105 Uddevalla 58.351307 11.885834 POINT (58.35130699999999 11.885834)\n", 269 | "5 106 Västervik 57.751442 16.628838 POINT (57.751442 16.628838)\n", 270 | "6 107 Gothenburg 57.708870 11.974560 POINT (57.70887 11.97456)\n", 271 | "7 108 Visby 57.634800 18.294840 POINT (57.6348 18.29484)" 272 | ] 273 | }, 274 | "execution_count": 6, 275 | "metadata": {}, 276 | "output_type": "execute_result" 277 | } 278 | ], 279 | "source": [ 280 | "# Create Geodataframe out of the geometry and the df\n", 281 | "gdf = gpd.GeoDataFrame(df, crs=from_epsg(4326), geometry=geometry)\n", 282 | "gdf # we have a geometry now that can be analysed, forexampel - distance between points, buffer the points etc.." 283 | ] 284 | }, 285 | { 286 | "cell_type": "code", 287 | "execution_count": 7, 288 | "metadata": {}, 289 | "outputs": [ 290 | { 291 | "data": { 292 | "image/png": "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\n", 293 | "text/plain": [ 294 | "" 295 | ] 296 | }, 297 | "metadata": {}, 298 | "output_type": "display_data" 299 | } 300 | ], 301 | "source": [ 302 | "gdf.plot(); plt.show()" 303 | ] 304 | } 305 | ], 306 | "metadata": { 307 | "kernelspec": { 308 | "display_name": "Python 3", 309 | "language": "python", 310 | "name": "python3" 311 | }, 312 | "language_info": { 313 | "codemirror_mode": { 314 | "name": "ipython", 315 | "version": 3 316 | }, 317 | "file_extension": ".py", 318 | "mimetype": "text/x-python", 319 | "name": "python", 320 | "nbconvert_exporter": "python", 321 | "pygments_lexer": "ipython3", 322 | "version": "3.6.3" 323 | } 324 | }, 325 | "nbformat": 4, 326 | "nbformat_minor": 2 327 | } 328 | -------------------------------------------------------------------------------- /projeciton_funciton.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Thu Dec 14 20:49:26 2017 4 | 5 | @author: Shakur 6 | """ 7 | import geopandas as gpd 8 | fp = "path/to/shapefile" 9 | out = "path/to/shapefile" 10 | def project(fp): 11 | gdf = gpd.read_file(fp) 12 | #gdf_crs = gdf.crs() 13 | if 'geometry' in gdf.columns: 14 | gdf_proj = gdf.copy() 15 | gdf_proj = gdf_proj.to_crs(epsg=????) # Provide the epsg number of your projection 16 | 17 | gdf_proj.to_file(out) 18 | project(fp) --------------------------------------------------------------------------------