{"id":20289,"date":"2020-02-09T20:57:21","date_gmt":"2020-02-10T02:57:21","guid":{"rendered":"https:\/\/gisgeography.com\/?p=20289"},"modified":"2024-07-11T17:23:29","modified_gmt":"2024-07-11T22:23:29","slug":"python-libraries-gis-mapping","status":"publish","type":"post","link":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/","title":{"rendered":"15 Python Libraries for GIS and Mapping"},"content":{"rendered":"<style>.kb-image20289_80f7fc-db .kb-image-has-overlay:after{opacity:0.3;}.kb-image20289_80f7fc-db img.kb-img, .kb-image20289_80f7fc-db .kb-img img{border-top:1px solid #999999;border-right:1px solid #999999;border-bottom:1px solid #999999;border-left:1px solid #999999;}@media all and (max-width: 1024px){.kb-image20289_80f7fc-db img.kb-img, .kb-image20289_80f7fc-db .kb-img img{border-top:1px solid #999999;border-right:1px solid #999999;border-bottom:1px solid #999999;border-left:1px solid #999999;}}@media all and (max-width: 767px){.kb-image20289_80f7fc-db img.kb-img, .kb-image20289_80f7fc-db .kb-img img{border-top:1px solid #999999;border-right:1px solid #999999;border-bottom:1px solid #999999;border-left:1px solid #999999;}}<\/style>\n<figure class=\"wp-block-kadence-image kb-image20289_80f7fc-db\"><img loading=\"lazy\" decoding=\"async\" width=\"1265\" height=\"681\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-1265x681.png\" alt=\"GIS Python Libraries\" class=\"kb-img wp-image-20294\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-1265x681.png 1265w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-300x162.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-678x365.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-768x414.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-50x27.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-200x108.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-425x229.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-550x296.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-115x62.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-850x458.png 850w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png 1500w\" sizes=\"auto, (max-width: 1265px) 100vw, 1265px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Python Libraries for GIS and Mapping<\/h2>\n\n\n\n<p>Python libraries are the ultimate extension in GIS because they allow you to boost its core functionality.<\/p>\n\n\n\n<p>By using Python libraries, you can break out of the mold that is GIS and dive into some serious data science.<\/p>\n\n\n\n<p>There are <a href=\"https:\/\/docs.python.org\/3\/library\/\">200+ standard libraries in Python<\/a>. But there are thousands of third-party libraries too. So, it&#8217;s endless how far you can take it.<\/p>\n\n\n\n<p>Today, it&#8217;s all about Python libraries in GIS. Specifically, what are the most popular Python packages that GIS professionals use today? Let&#8217;s get started.<\/p>\n\n\n\n<p><strong>READ MORE:<\/strong> <a href=\"https:\/\/gisgeography.com\/gis-programming-tutorials\/\">GIS Programming Tutorials: Learn How to Code<\/a><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">First, why even use Python libraries for GIS?<\/h2>\n\n\n\n<p>Have you ever noticed how GIS is missing that one capability you need it to do? Because no <a href=\"https:\/\/gisgeography.com\/best-gis-software\/\">GIS software<\/a> can do it all, Python libraries can add that extra functionality you need.<\/p>\n\n\n\n<p>Put simply, a Python library is code someone else has written to make life easier for the rest of us. Developers have written open libraries for <a href=\"https:\/\/gisgeography.com\/deep-machine-learning-ml-artificial-intelligence-ai-gis\/\">machine learning<\/a>, reporting, graphing, and almost everything in Python.<\/p>\n\n\n\n<p>If you want this extra functionality, you can leverage those libraries by importing them into your Python script. From here, you can call functions that aren&#8217;t natively part of your core GIS software.<\/p>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_ab3846-20{margin-top:25px;margin-bottom:25px;}.kb-row-layout-id20289_ab3846-20 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_ab3846-20 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_ab3846-20 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-sm, 1rem);padding-top:5px;padding-right:30px;padding-bottom:5px;padding-left:30px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_ab3846-20{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}.kb-row-layout-id20289_ab3846-20 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_ab3846-20 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 1024px){.kb-row-layout-id20289_ab3846-20{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}}@media all and (max-width: 767px){.kb-row-layout-id20289_ab3846-20 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_ab3846-20{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_ab3846-20 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_d296c8-5a > .kt-inside-inner-col,.kadence-column20289_d296c8-5a > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_d296c8-5a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_d296c8-5a > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_d296c8-5a > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_d296c8-5a > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_d296c8-5a{position:relative;}@media all and (max-width: 1024px){.kadence-column20289_d296c8-5a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_d296c8-5a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_d296c8-5a inner-column-1\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f, .wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f[data-kb-block=\"kb-adv-heading20289_71c600-3f\"]{padding-top:10px;padding-bottom:15px;font-size:20px;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f[data-kb-block=\"kb-adv-heading20289_71c600-3f\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading20289_71c600-3f[data-kb-block=\"kb-adv-heading20289_71c600-3f\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<div class=\"kt-adv-heading20289_71c600-3f wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading20289_71c600-3f\"><strong>Get to know Python programming:<\/strong><\/div>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_0e6523-ae{margin-top:0px;margin-bottom:0px;}.kb-row-layout-id20289_0e6523-ae > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_0e6523-ae > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_0e6523-ae > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-sm, 1rem);padding-top:0px;padding-bottom:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_0e6523-ae > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_0e6523-ae > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id20289_0e6523-ae > .kt-row-column-wrap{padding-bottom:5px;grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_0e6523-ae alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_b7377f-74 > .kt-inside-inner-col{padding-top:0px;padding-bottom:0px;}.kadence-column20289_b7377f-74 > .kt-inside-inner-col,.kadence-column20289_b7377f-74 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_b7377f-74 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_b7377f-74 > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_b7377f-74 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_b7377f-74 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_b7377f-74{position:relative;}.kadence-column20289_b7377f-74, .kt-inside-inner-col > .kadence-column20289_b7377f-74:not(.specificity){margin-top:0px;margin-bottom:0px;}@media all and (max-width: 1024px){.kadence-column20289_b7377f-74 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_b7377f-74 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_b7377f-74 inner-column-1\"><div class=\"kt-inside-inner-col\"><style>.kt-post-loop20289_7567a7-df .kadence-post-image{padding-top:0px;padding-right:15px;padding-bottom:10px;padding-left:0px;}.kt-post-loop20289_7567a7-df .kt-feat-image-align-left{grid-template-columns:30% auto;}.kt-post-loop20289_7567a7-df .kt-post-grid-wrap{gap:5px 25px;}.kt-post-loop20289_7567a7-df .kt-blocks-post-grid-item{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;overflow:hidden;}.kt-post-loop20289_7567a7-df .kt-blocks-post-grid-item header{padding-top:0px;padding-right:0px;padding-bottom:10px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;}.kt-post-loop20289_7567a7-df .kt-blocks-post-grid-item .kt-blocks-above-categories{font-size:13px;line-height:20px;text-transform:uppercase;}.kt-post-loop20289_7567a7-df .kt-blocks-post-grid-item .entry-title{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:18px;line-height:20px;}.kt-post-loop20289_7567a7-df .entry-content{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;line-height:24px;}.kt-post-loop20289_7567a7-df .kt-blocks-post-footer{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:12px;line-height:20px;text-transform:uppercase;}.kt-post-loop20289_7567a7-df .entry-content:after{height:0px;}.kt-post-loop20289_7567a7-df .kb-filter-item{border-top-width:0px;border-right-width:0px;border-bottom-width:2px;border-left-width:0px;padding-top:5px;padding-right:8px;padding-bottom:5px;padding-left:8px;margin-top:0px;margin-right:10px;margin-bottom:0px;margin-left:0px;}<\/style><div class=\"wp-block-kadence-postgrid kt-blocks-post-loop-block alignnone kt-post-loop20289_7567a7-df kt-post-grid-layout-grid \"><div class=\"kt-post-grid-layout-grid-wrap kt-post-grid-wrap\" data-columns-xxl=\"2\" data-columns-xl=\"2\" data-columns-md=\"2\" data-columns-sm=\"2\" data-columns-xs=\"1\" data-columns-ss=\"1\"data-item-selector=\".kt-post-masonry-item\" aria-label=\"Post Carousel\"><article class=\"kt-blocks-post-grid-item post-9694 post type-post status-publish format-standard has-post-thumbnail hentry category-gis-career tag-gis-education tag-partners\"><div class=\"kt-blocks-post-grid-item-inner-wrap kt-feat-image-align-left kt-feat-image-mobile-align-side\"><div class=\"kadence-post-image\"><div class=\"kadence-post-image-intrisic kt-image-ratio-nocrop\" style=\"padding-bottom:53.5%;\"><div class=\"kadence-post-image-inner-intrisic\"><a aria-hidden=\"true\" tabindex=\"-1\" role=\"presentation\" href=\"https:\/\/gisgeography.com\/gis-programming-tutorials\/\" aria-label=\"GIS Programming Tutorials: Learn How to Code\" class=\"kadence-post-image-inner-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"107\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-200x107.png\" class=\"attachment-Small Size size-Small Size wp-post-image\" alt=\"GIS Programming in Python\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-200x107.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-300x160.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-678x362.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-768x410.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-50x27.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-425x227.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-550x294.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-115x61.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-850x454.png 850w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python-290x155.png 290w, https:\/\/gisgeography.com\/wp-content\/uploads\/2016\/03\/gis-programming-in-python.png 925w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/div><\/div><\/div><div class=\"kt-blocks-post-grid-item-inner\"><header><h6 class=\"entry-title\"><a href=\"https:\/\/gisgeography.com\/gis-programming-tutorials\/\">GIS Programming Tutorials: Learn How to Code<\/a><\/h6><div class=\"kt-blocks-post-top-meta\"><\/div><\/header><div class=\"entry-content\"><\/div><footer class=\"kt-blocks-post-footer\"><div class=\"kt-blocks-post-footer-left\"><\/div><div class=\"kt-blocks-post-footer-right\"><\/div><\/footer><\/div><\/div><\/article><article class=\"kt-blocks-post-grid-item post-71176 post type-post status-publish format-standard has-post-thumbnail hentry category-gis-analysis tag-data-science\"><div class=\"kt-blocks-post-grid-item-inner-wrap kt-feat-image-align-left kt-feat-image-mobile-align-side\"><div class=\"kadence-post-image\"><div class=\"kadence-post-image-intrisic kt-image-ratio-nocrop\" style=\"padding-bottom:50.5%;\"><div class=\"kadence-post-image-inner-intrisic\"><a aria-hidden=\"true\" tabindex=\"-1\" role=\"presentation\" href=\"https:\/\/gisgeography.com\/data-engineering-gis\/\" aria-label=\"GIS Data Engineering: Begin Your ETL Journey\" class=\"kadence-post-image-inner-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"101\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-200x101.png\" class=\"attachment-Small Size size-Small Size wp-post-image\" alt=\"Data Engineering in GIS Feature\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-200x101.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-300x151.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-678x341.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-768x387.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-425x214.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-550x277.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-115x58.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-1265x637.png 1265w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature-360x181.png 360w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/05\/Data-Engineering-GIS-Feature.png 1361w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/div><\/div><\/div><div class=\"kt-blocks-post-grid-item-inner\"><header><h6 class=\"entry-title\"><a href=\"https:\/\/gisgeography.com\/data-engineering-gis\/\">GIS Data Engineering: Begin Your ETL Journey<\/a><\/h6><div class=\"kt-blocks-post-top-meta\"><\/div><\/header><div class=\"entry-content\"><\/div><footer class=\"kt-blocks-post-footer\"><div class=\"kt-blocks-post-footer-left\"><\/div><div class=\"kt-blocks-post-footer-right\"><\/div><\/footer><\/div><\/div><\/article><\/div><\/div><!-- .wp-block-kadence-postgrid --><\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Python Libraries for GIS<\/h2>\n\n\n\n<p>If you\u2019re going to build an all-star team for GIS Python libraries, this would be it. They all help you go beyond the typical managing, analyzing, and visualizing of spatial data. That is the true definition of a <a href=\"https:\/\/gisgeography.com\/what-gis-geographic-information-systems\/\">Geographic Information System<\/a>.<\/p>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_4a3584-b2{margin-top:var(--global-kb-spacing-xxs, 0.5rem);margin-bottom:var(--global-kb-spacing-sm, 1.5rem);}.kb-row-layout-id20289_4a3584-b2 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_4a3584-b2 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_4a3584-b2 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:25px;padding-right:25px;padding-bottom:25px;padding-left:25px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_4a3584-b2{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}.kb-row-layout-id20289_4a3584-b2 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_4a3584-b2 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 1024px){.kb-row-layout-id20289_4a3584-b2{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}}@media all and (max-width: 767px){.kb-row-layout-id20289_4a3584-b2 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_4a3584-b2{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_4a3584-b2 alignnone has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_3b564f-10 > .kt-inside-inner-col,.kadence-column20289_3b564f-10 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_3b564f-10 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_3b564f-10 > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_3b564f-10 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_3b564f-10 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_3b564f-10{position:relative;}@media all and (max-width: 1024px){.kadence-column20289_3b564f-10 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_3b564f-10 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_3b564f-10 inner-column-1\"><div class=\"kt-inside-inner-col\">\n<p><strong>PRO TIP:<\/strong> Use <a href=\"https:\/\/www.w3schools.com\/python\/python_pip.asp\" target=\"_blank\" rel=\"noopener noreferrer\">pip<\/a> to install and manage your packages in Python<\/p>\n<\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">1. Arcpy<\/h3>\n\n\n\n<p>If you use Esri ArcGIS, then you&#8217;re probably familiar with the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/arcpy\/get-started\/what-is-arcpy-.htm\" target=\"_blank\" rel=\"noopener noreferrer\">ArcPy library<\/a>. ArcPy is meant for geoprocessing operations. But it&#8217;s not only for spatial analysis, it&#8217;s also for data conversion, management, and map production with Esri ArcGIS.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">2. Geopandas<\/h3>\n\n\n\n<p>Geopandas is like pandas meet GIS. But instead of straightforward tabular analysis, the <a href=\"http:\/\/geopandas.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Geopandas library<\/a> adds a geographic component. For overlay operations, Geopandas uses Fiona and Shapely, which are Python libraries of their own.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">3. GDAL\/OGR<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/gdal.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">GDAL\/OGR library<\/a> is used for translating between GIS formats and extensions. QGIS, ArcGIS, ERDAS, ENVI, GRASS GIS and almost all GIS software use it for translation in some way. At this time, GDAL\/OGR supports 97 vector and 162 raster drivers.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"425\" height=\"258\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-425x258.png\" alt=\"GIS Formats Conversions\" class=\"wp-image-20301\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-425x258.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-300x182.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-50x30.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-200x122.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-550x334.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions-115x70.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Formats-Conversions.png 668w\" sizes=\"auto, (max-width: 425px) 100vw, 425px\" \/><\/figure>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">4. RSGISLib<\/h3>\n\n\n\n<p>The <a href=\"http:\/\/rsgislib.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">RSGISLib library<\/a> is a set of remote sensing tools for raster processing and analysis. To name a few, it classifies, filters, and performs statistics on imagery. My personal favorite is the module for object-based segmentation and classification (GEOBIA).<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">5. PyProj<\/h3>\n\n\n\n<p>The main purpose of the <a href=\"https:\/\/pypi.org\/project\/pyproj\/\" target=\"_blank\" rel=\"noopener noreferrer\">PyProj library<\/a> is how it works with spatial referencing systems. It can project and transform coordinates with a range of geographic reference systems. PyProj can also perform geodetic calculations and distances for any given datum.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">Python Libraries for Data Science<\/h2>\n\n\n\n<p>Data science extracts insights from data. It takes data and tries to make sense of it, such as by plotting it graphically or using machine learning. This list of Python libraries can do exactly this for you.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">6. NumPy<\/h3>\n\n\n\n<p>Numerical Python (<a href=\"https:\/\/numpy.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">NumPy library<\/a>) takes your attribute table and puts it in a structured array. Once it&#8217;s in a structured array, it&#8217;s much faster for any scientific computing. One of the best things about it is how you can work with other Python libraries like SciPy for heavy statistical operations.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">7. Matplotlib<\/h3>\n\n\n\n<p>When you&#8217;re working with thousands of data points, sometimes the best thing to do is plot it all out. Enter Matplotlib. Statisticians use the <a href=\"https:\/\/matplotlib.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Matplotlib library<\/a> for visual display. Matplotlib does it all. It plots graphs, charts, and maps. Even with big data, it&#8217;s decent at crunching numbers.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"290\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-550x290.png\" alt=\"matplotlib\" class=\"wp-image-20308\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-550x290.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-300x158.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-678x357.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-50x26.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-200x105.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-425x224.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-135x70.png 135w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib-115x61.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/12\/matplotlib.png 723w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">8. Pandas<\/h3>\n\n\n\n<p>The <a href=\"https:\/\/pandas.pydata.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pandas library<\/a> is immensely popular for data wrangling. It&#8217;s not only for statisticians. But it&#8217;s incredibly useful in GIS too. Computational performance is key for pandas. The success of Pandas lies in its data frame. Data frames are optimized to work with big data. They&#8217;re optimized to such a point that it&#8217;s something that Microsoft Excel wouldn&#8217;t even be able to handle.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">9. Re (regular expressions)<\/h3>\n\n\n\n<p><a href=\"https:\/\/docs.python.org\/3\/library\/re.html\" target=\"_blank\" rel=\"noopener noreferrer\">Regular expressions (Re)<\/a> are the ultimate filtering tool. When there&#8217;s a specific string you want to hunt down in a table, this is your go-to library. But you can take it a bit further like detecting, extracting, and replacing with pattern matching.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">10. ipyleaflet<\/h3>\n\n\n\n<p>If you want to create interactive maps, <a href=\"https:\/\/github.com\/jupyter-widgets\/ipyleaflet\" target=\"_blank\" rel=\"noopener\">ipyleaflet<\/a> is a fusion of Jupyter notebook and Leaflet. You can control an assortment of customizations like loading basemaps, geojson, and widgets. It also gives a wide range of <a href=\"https:\/\/gisgeography.com\/map-types\/\">map types<\/a> to pick from including choropleth, velocity data, and side-by-side views.<\/p>\n\n\n<style>.kb-image20289_db6d61-9b .kb-image-has-overlay:after{opacity:0.3;}.kb-image20289_db6d61-9b img.kb-img, .kb-image20289_db6d61-9b .kb-img img{border-top:1px solid #d8d7d7;border-right:1px solid #d8d7d7;border-bottom:1px solid #d8d7d7;border-left:1px solid #d8d7d7;}@media all and (max-width: 1024px){.kb-image20289_db6d61-9b img.kb-img, .kb-image20289_db6d61-9b .kb-img img{border-top:1px solid #d8d7d7;border-right:1px solid #d8d7d7;border-bottom:1px solid #d8d7d7;border-left:1px solid #d8d7d7;}}@media all and (max-width: 767px){.kb-image20289_db6d61-9b img.kb-img, .kb-image20289_db6d61-9b .kb-img img{border-top:1px solid #d8d7d7;border-right:1px solid #d8d7d7;border-bottom:1px solid #d8d7d7;border-left:1px solid #d8d7d7;}}<\/style>\n<div class=\"wp-block-kadence-image kb-image20289_db6d61-9b\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"332\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-550x332.png\" alt=\"ipyleaflet\" class=\"kb-img wp-image-48984\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-550x332.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-300x181.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-678x409.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-768x463.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-50x30.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-200x121.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-425x256.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-115x69.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet-360x217.png 360w, https:\/\/gisgeography.com\/wp-content\/uploads\/2020\/02\/ipyleaflet.png 1255w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">11. ReportLab<\/h3>\n\n\n\n<p>ReportLab is one of the most satisfying libraries on this list. I say this because GIS often lacks sufficient reporting capabilities. Especially, if you want to create a report template, this is a fabulous option. I don&#8217;t know why the <a href=\"https:\/\/www.reportlab.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">ReportLab library<\/a> falls a bit off the radar because it shouldn&#8217;t.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">12. Folium<\/h3>\n\n\n\n<p>Just like ipyleaflet, <a href=\"https:\/\/python-visualization.github.io\/folium\/quickstart.html\" target=\"_blank\" rel=\"noopener noreferrer\">Folium<\/a> allows you to leverage Leaflet to build interactive web maps. It gives you the power to manipulate your data in Python, then you can visualize it with the leading open-source JavaScript library.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">13. Geemap<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/giswqs\/geemap\" target=\"_blank\" rel=\"noopener noreferrer\">Geemap<\/a> is intended more for science and data analysis using <a href=\"https:\/\/earthengine.google.com\/\" target=\"_blank\" rel=\"noopener\">Google Earth Engine (GEE)<\/a>. Although anyone can use this Python library, scientists and researchers specifically use it to explore the multi-petabyte catalog of satellite imagery in GEE for their specific <a href=\"https:\/\/gisgeography.com\/remote-sensing-applications\/\" target=\"_blank\" rel=\"noopener\">applications and uses with remote sensing data<\/a>.<\/p>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_82f6c2-b6{margin-top:25px;margin-bottom:25px;}.kb-row-layout-id20289_82f6c2-b6 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_82f6c2-b6 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_82f6c2-b6 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-sm, 1rem);padding-top:5px;padding-right:30px;padding-bottom:5px;padding-left:30px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_82f6c2-b6{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}.kb-row-layout-id20289_82f6c2-b6 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_82f6c2-b6 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 1024px){.kb-row-layout-id20289_82f6c2-b6{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}}@media all and (max-width: 767px){.kb-row-layout-id20289_82f6c2-b6 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_82f6c2-b6{border-top:1px solid #dedede;border-right:1px solid #dedede;border-bottom:1px solid #dedede;border-left:1px solid #dedede;}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_82f6c2-b6 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col,.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_4aacd3-a8{position:relative;}@media all and (max-width: 1024px){.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_4aacd3-a8 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_4aacd3-a8 inner-column-1\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22, .wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22[data-kb-block=\"kb-adv-heading20289_a93e4d-22\"]{padding-top:10px;padding-bottom:15px;font-size:20px;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22[data-kb-block=\"kb-adv-heading20289_a93e4d-22\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading20289_a93e4d-22[data-kb-block=\"kb-adv-heading20289_a93e4d-22\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<div class=\"kt-adv-heading20289_a93e4d-22 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading20289_a93e4d-22\"><strong>Build your GIS programming toolkit:<\/strong><\/div>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_7b7079-2c{margin-top:0px;margin-bottom:0px;}.kb-row-layout-id20289_7b7079-2c > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_7b7079-2c > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_7b7079-2c > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-sm, 1rem);padding-top:0px;padding-bottom:0px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_7b7079-2c > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_7b7079-2c > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id20289_7b7079-2c > .kt-row-column-wrap{padding-bottom:5px;grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_7b7079-2c alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_48f032-56 > .kt-inside-inner-col{padding-top:0px;padding-bottom:0px;}.kadence-column20289_48f032-56 > .kt-inside-inner-col,.kadence-column20289_48f032-56 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_48f032-56 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_48f032-56 > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_48f032-56 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_48f032-56 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_48f032-56{position:relative;}.kadence-column20289_48f032-56, .kt-inside-inner-col > .kadence-column20289_48f032-56:not(.specificity){margin-top:0px;margin-bottom:0px;}@media all and (max-width: 1024px){.kadence-column20289_48f032-56 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_48f032-56 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_48f032-56 inner-column-1\"><div class=\"kt-inside-inner-col\"><style>.kt-post-loop20289_ce2d1e-8e .kadence-post-image{padding-top:0px;padding-right:15px;padding-bottom:10px;padding-left:0px;}.kt-post-loop20289_ce2d1e-8e .kt-feat-image-align-left{grid-template-columns:30% auto;}.kt-post-loop20289_ce2d1e-8e .kt-post-grid-wrap{gap:5px 25px;}.kt-post-loop20289_ce2d1e-8e .kt-blocks-post-grid-item{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;overflow:hidden;}.kt-post-loop20289_ce2d1e-8e .kt-blocks-post-grid-item header{padding-top:0px;padding-right:0px;padding-bottom:10px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;}.kt-post-loop20289_ce2d1e-8e .kt-blocks-post-grid-item .kt-blocks-above-categories{font-size:13px;line-height:20px;text-transform:uppercase;}.kt-post-loop20289_ce2d1e-8e .kt-blocks-post-grid-item .entry-title{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:18px;line-height:20px;}.kt-post-loop20289_ce2d1e-8e .entry-content{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:14px;line-height:24px;}.kt-post-loop20289_ce2d1e-8e .kt-blocks-post-footer{border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font-size:12px;line-height:20px;text-transform:uppercase;}.kt-post-loop20289_ce2d1e-8e .entry-content:after{height:0px;}.kt-post-loop20289_ce2d1e-8e .kb-filter-item{border-top-width:0px;border-right-width:0px;border-bottom-width:2px;border-left-width:0px;padding-top:5px;padding-right:8px;padding-bottom:5px;padding-left:8px;margin-top:0px;margin-right:10px;margin-bottom:0px;margin-left:0px;}<\/style><div class=\"wp-block-kadence-postgrid kt-blocks-post-loop-block alignnone kt-post-loop20289_ce2d1e-8e kt-post-grid-layout-grid \"><div class=\"kt-post-grid-layout-grid-wrap kt-post-grid-wrap\" data-columns-xxl=\"2\" data-columns-xl=\"2\" data-columns-md=\"2\" data-columns-sm=\"2\" data-columns-xs=\"1\" data-columns-ss=\"1\"data-item-selector=\".kt-post-masonry-item\" aria-label=\"Post Carousel\"><article class=\"kt-blocks-post-grid-item post-68780 post type-post status-publish format-standard has-post-thumbnail hentry category-software tag-arcgis-online\"><div class=\"kt-blocks-post-grid-item-inner-wrap kt-feat-image-align-left kt-feat-image-mobile-align-side\"><div class=\"kadence-post-image\"><div class=\"kadence-post-image-intrisic kt-image-ratio-nocrop\" style=\"padding-bottom:46.5%;\"><div class=\"kadence-post-image-inner-intrisic\"><a aria-hidden=\"true\" tabindex=\"-1\" role=\"presentation\" href=\"https:\/\/gisgeography.com\/arcgis-api-for-python\/\" aria-label=\"ArcGIS API for Python\" class=\"kadence-post-image-inner-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"93\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-200x93.png\" class=\"attachment-Small Size size-Small Size wp-post-image\" alt=\"ArcGIS API for Python\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-200x93.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-300x140.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-678x316.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-768x358.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-50x23.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-425x198.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-550x257.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-115x54.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python-360x168.png 360w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/04\/ArcGIS-API-for-Python.png 1200w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/div><\/div><\/div><div class=\"kt-blocks-post-grid-item-inner\"><header><h6 class=\"entry-title\"><a href=\"https:\/\/gisgeography.com\/arcgis-api-for-python\/\">ArcGIS API for Python<\/a><\/h6><div class=\"kt-blocks-post-top-meta\"><\/div><\/header><div class=\"entry-content\"><\/div><footer class=\"kt-blocks-post-footer\"><div class=\"kt-blocks-post-footer-left\"><\/div><div class=\"kt-blocks-post-footer-right\"><\/div><\/footer><\/div><\/div><\/article><article class=\"kt-blocks-post-grid-item post-66361 post type-post status-publish format-standard has-post-thumbnail hentry category-gis-analysis tag-qgis-tutorials\"><div class=\"kt-blocks-post-grid-item-inner-wrap kt-feat-image-align-left kt-feat-image-mobile-align-side\"><div class=\"kadence-post-image\"><div class=\"kadence-post-image-intrisic kt-image-ratio-nocrop\" style=\"padding-bottom:56.5%;\"><div class=\"kadence-post-image-inner-intrisic\"><a aria-hidden=\"true\" tabindex=\"-1\" role=\"presentation\" href=\"https:\/\/gisgeography.com\/pyqgis\/\" aria-label=\"PyQGIS: How To Build a Python Script in QGIS\" class=\"kadence-post-image-inner-wrap\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"113\" src=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-200x113.png\" class=\"attachment-Small Size size-Small Size wp-post-image\" alt=\"PyQGIS\" srcset=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-200x113.png 200w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-300x170.png 300w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-678x384.png 678w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-768x435.png 768w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-50x28.png 50w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-580x326.png 580w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-174x98.png 174w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-425x241.png 425w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-550x312.png 550w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-115x65.png 115w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-1265x717.png 1265w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS-360x204.png 360w, https:\/\/gisgeography.com\/wp-content\/uploads\/2022\/02\/PyQGIS.png 1500w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/a><\/div><\/div><\/div><div class=\"kt-blocks-post-grid-item-inner\"><header><h6 class=\"entry-title\"><a href=\"https:\/\/gisgeography.com\/pyqgis\/\">PyQGIS: How To Build a Python Script in QGIS<\/a><\/h6><div class=\"kt-blocks-post-top-meta\"><\/div><\/header><div class=\"entry-content\"><\/div><footer class=\"kt-blocks-post-footer\"><div class=\"kt-blocks-post-footer-left\"><\/div><div class=\"kt-blocks-post-footer-right\"><\/div><\/footer><\/div><\/div><\/article><\/div><\/div><!-- .wp-block-kadence-postgrid --><\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">14. LiDAR<\/h3>\n\n\n\n<p>Simply named the <a href=\"https:\/\/github.com\/giswqs\/lidar\" target=\"_blank\" rel=\"noopener noreferrer\">LiDAR Python Package<\/a>, the purpose is to process and visualize <a href=\"https:\/\/gisgeography.com\/top-6-free-lidar-data-sources\/\" target=\"_blank\" rel=\"noopener\">Light Detection and Ranging (LiDAR) data<\/a>. For example, it includes tools to smooth, filter, and extract topological properties from <a href=\"https:\/\/gisgeography.com\/dem-dsm-dtm-differences\/\" target=\"_blank\" rel=\"noopener\">digital elevation models (DEMs)<\/a> data. Although I don&#8217;t see integration with raw LAS files, it serves its purpose for terrain and hydrological analysis.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">15. Scikit<\/h3>\n\n\n\n<p>Lately, machine learning has been all the buzz. And with good reason. Scikit is a Python library that enables machine learning. It&#8217;s built into NumPy, SciPy, and Matplotlib. So, if you want to do any data mining, classification or ML prediction, the <a href=\"https:\/\/scikit-learn.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Scikit library<\/a> is a decent choice.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group\" style=\"padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"wp-block-heading\">The Python Libraries All-Star Team<\/h2>\n\n\n\n<p>These are the Python libraries we thought were stand-outs for GIS and data science.<\/p>\n\n\n\n<p>Now, it&#8217;s time to turn it on to you.<\/p>\n\n\n\n<p>If you could build an all-star team of Python libraries, who would you put on your team?<\/p>\n\n\n\n<p>Please let us know with a comment below.<\/p>\n\n\n<style>.kb-row-layout-wrap.wp-block-kadence-rowlayout.kb-row-layout-id20289_6ffddf-9d{margin-top:var(--global-kb-spacing-xxs, 0.5rem);margin-bottom:var(--global-kb-spacing-sm, 1.5rem);}.kb-row-layout-id20289_6ffddf-9d > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id20289_6ffddf-9d > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id20289_6ffddf-9d > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:25px;padding-right:25px;padding-bottom:25px;padding-left:25px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_6ffddf-9d{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}.kb-row-layout-id20289_6ffddf-9d > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id20289_6ffddf-9d > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 1024px){.kb-row-layout-id20289_6ffddf-9d{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}}@media all and (max-width: 767px){.kb-row-layout-id20289_6ffddf-9d > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id20289_6ffddf-9d{border-top:1px solid rgba(113,128,150,0.2);border-right:1px solid rgba(113,128,150,0.2);border-bottom:1px solid rgba(113,128,150,0.2);border-left:1px solid rgba(113,128,150,0.2);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id20289_6ffddf-9d alignnone has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column20289_7a51fa-89 > .kt-inside-inner-col,.kadence-column20289_7a51fa-89 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column20289_7a51fa-89 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column20289_7a51fa-89 > .kt-inside-inner-col{flex-direction:column;}.kadence-column20289_7a51fa-89 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column20289_7a51fa-89 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column20289_7a51fa-89{position:relative;}@media all and (max-width: 1024px){.kadence-column20289_7a51fa-89 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column20289_7a51fa-89 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column20289_7a51fa-89 inner-column-1\"><div class=\"kt-inside-inner-col\">\n<p><strong>PRO TIP:<\/strong> If you need a quick and dirty list of functions for Python libraries, check out <a href=\"https:\/\/www.datacamp.com\/cheat-sheet\" target=\"_blank\" rel=\"noreferrer noopener\">DataCamp&#8217;s Cheat Sheets<\/a>.<\/p>\n<\/div><\/div>\n\n<\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality.  Here are the best Python libraries in GIS\/mapping.<\/p>\n","protected":false},"author":2,"featured_media":20294,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"default","_kad_post_title":"default","_kad_post_layout":"default","_kad_post_sidebar_id":"","_kad_post_content_style":"default","_kad_post_vertical_padding":"default","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[90],"tags":[523,503],"class_list":["post-20289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis-analysis","tag-data-science","tag-partners"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>15 Python Libraries for GIS and Mapping - GIS Geography<\/title>\n<meta name=\"description\" content=\"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\/mapping.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"15 Python Libraries for GIS and Mapping - GIS Geography\" \/>\n<meta property=\"og:description\" content=\"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\/mapping.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/\" \/>\n<meta property=\"og:site_name\" content=\"GIS Geography\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/gisgeography\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/gisgeography\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-10T02:57:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-11T22:23:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"808\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"GISGeography\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/GisGeography\" \/>\n<meta name=\"twitter:site\" content=\"@GisGeography\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"GISGeography\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/\"},\"author\":{\"name\":\"GISGeography\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#\\\/schema\\\/person\\\/9e7385da3acea92bc45d45be5dfe191e\"},\"headline\":\"15 Python Libraries for GIS and Mapping\",\"datePublished\":\"2020-02-10T02:57:21+00:00\",\"dateModified\":\"2024-07-11T22:23:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/\"},\"wordCount\":1096,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/GIS-Python-Libraries-Featured.png\",\"keywords\":[\"Data Science\",\"Partners\"],\"articleSection\":[\"GIS Analysis\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/\",\"url\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/\",\"name\":\"15 Python Libraries for GIS and Mapping - GIS Geography\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/GIS-Python-Libraries-Featured.png\",\"datePublished\":\"2020-02-10T02:57:21+00:00\",\"dateModified\":\"2024-07-11T22:23:29+00:00\",\"description\":\"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\\\/mapping.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/GIS-Python-Libraries-Featured.png\",\"contentUrl\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/GIS-Python-Libraries-Featured.png\",\"width\":1500,\"height\":808,\"caption\":\"GIS Python Libraries\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/python-libraries-gis-mapping\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gisgeography.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GIS Analysis\",\"item\":\"https:\\\/\\\/gisgeography.com\\\/category\\\/gis-analysis\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"15 Python Libraries for GIS and Mapping\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#website\",\"url\":\"https:\\\/\\\/gisgeography.com\\\/\",\"name\":\"GIS Geography\",\"description\":\"Geographic Information Systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gisgeography.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#organization\",\"name\":\"GIS Geography\",\"url\":\"https:\\\/\\\/gisgeography.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/cropped-GIS-Geography-Logo0.png\",\"contentUrl\":\"https:\\\/\\\/gisgeography.com\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/cropped-GIS-Geography-Logo0.png\",\"width\":500,\"height\":100,\"caption\":\"GIS Geography\"},\"image\":{\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/gisgeography\",\"https:\\\/\\\/x.com\\\/GisGeography\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gisgeography.com\\\/#\\\/schema\\\/person\\\/9e7385da3acea92bc45d45be5dfe191e\",\"name\":\"GISGeography\",\"description\":\"We help you learn Geographic Information Systems and remote sensing\",\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/gisgeography\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/GisGeography\"],\"url\":\"https:\\\/\\\/gisgeography.com\\\/author\\\/gisgeo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"15 Python Libraries for GIS and Mapping - GIS Geography","description":"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\/mapping.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/","og_locale":"en_US","og_type":"article","og_title":"15 Python Libraries for GIS and Mapping - GIS Geography","og_description":"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\/mapping.","og_url":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/","og_site_name":"GIS Geography","article_publisher":"https:\/\/www.facebook.com\/gisgeography","article_author":"https:\/\/www.facebook.com\/gisgeography","article_published_time":"2020-02-10T02:57:21+00:00","article_modified_time":"2024-07-11T22:23:29+00:00","og_image":[{"width":1500,"height":808,"url":"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png","type":"image\/png"}],"author":"GISGeography","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/GisGeography","twitter_site":"@GisGeography","twitter_misc":{"Written by":"GISGeography","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#article","isPartOf":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/"},"author":{"name":"GISGeography","@id":"https:\/\/gisgeography.com\/#\/schema\/person\/9e7385da3acea92bc45d45be5dfe191e"},"headline":"15 Python Libraries for GIS and Mapping","datePublished":"2020-02-10T02:57:21+00:00","dateModified":"2024-07-11T22:23:29+00:00","mainEntityOfPage":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/"},"wordCount":1096,"commentCount":7,"publisher":{"@id":"https:\/\/gisgeography.com\/#organization"},"image":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#primaryimage"},"thumbnailUrl":"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png","keywords":["Data Science","Partners"],"articleSection":["GIS Analysis"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/","url":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/","name":"15 Python Libraries for GIS and Mapping - GIS Geography","isPartOf":{"@id":"https:\/\/gisgeography.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#primaryimage"},"image":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#primaryimage"},"thumbnailUrl":"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png","datePublished":"2020-02-10T02:57:21+00:00","dateModified":"2024-07-11T22:23:29+00:00","description":"Python libraries are the ultimate extension in GIS because it allows you to boost its core functionality. Here are the best Python libraries in GIS\/mapping.","breadcrumb":{"@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gisgeography.com\/python-libraries-gis-mapping\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#primaryimage","url":"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png","contentUrl":"https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured.png","width":1500,"height":808,"caption":"GIS Python Libraries"},{"@type":"BreadcrumbList","@id":"https:\/\/gisgeography.com\/python-libraries-gis-mapping\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gisgeography.com\/"},{"@type":"ListItem","position":2,"name":"GIS Analysis","item":"https:\/\/gisgeography.com\/category\/gis-analysis\/"},{"@type":"ListItem","position":3,"name":"15 Python Libraries for GIS and Mapping"}]},{"@type":"WebSite","@id":"https:\/\/gisgeography.com\/#website","url":"https:\/\/gisgeography.com\/","name":"GIS Geography","description":"Geographic Information Systems","publisher":{"@id":"https:\/\/gisgeography.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gisgeography.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gisgeography.com\/#organization","name":"GIS Geography","url":"https:\/\/gisgeography.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gisgeography.com\/#\/schema\/logo\/image\/","url":"https:\/\/gisgeography.com\/wp-content\/uploads\/2015\/11\/cropped-GIS-Geography-Logo0.png","contentUrl":"https:\/\/gisgeography.com\/wp-content\/uploads\/2015\/11\/cropped-GIS-Geography-Logo0.png","width":500,"height":100,"caption":"GIS Geography"},"image":{"@id":"https:\/\/gisgeography.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/gisgeography","https:\/\/x.com\/GisGeography"]},{"@type":"Person","@id":"https:\/\/gisgeography.com\/#\/schema\/person\/9e7385da3acea92bc45d45be5dfe191e","name":"GISGeography","description":"We help you learn Geographic Information Systems and remote sensing","sameAs":["https:\/\/www.facebook.com\/gisgeography","https:\/\/x.com\/https:\/\/twitter.com\/GisGeography"],"url":"https:\/\/gisgeography.com\/author\/gisgeo\/"}]}},"taxonomy_info":{"category":[{"value":90,"label":"GIS Analysis"}],"post_tag":[{"value":523,"label":"Data Science"},{"value":503,"label":"Partners"}]},"featured_image_src_large":["https:\/\/gisgeography.com\/wp-content\/uploads\/2019\/11\/GIS-Python-Libraries-Featured-678x365.png",678,365,true],"author_info":{"display_name":"GISGeography","author_link":"https:\/\/gisgeography.com\/author\/gisgeo\/"},"comment_info":7718,"category_info":[{"term_id":90,"name":"GIS Analysis","slug":"gis-analysis","term_group":0,"term_taxonomy_id":91,"taxonomy":"category","description":"","parent":0,"count":124,"filter":"raw","cat_ID":90,"category_count":124,"category_description":"","cat_name":"GIS Analysis","category_nicename":"gis-analysis","category_parent":0}],"tag_info":[{"term_id":523,"name":"Data Science","slug":"data-science","term_group":0,"term_taxonomy_id":525,"taxonomy":"post_tag","description":"","parent":0,"count":13,"filter":"raw"},{"term_id":503,"name":"Partners","slug":"partners","term_group":0,"term_taxonomy_id":505,"taxonomy":"post_tag","description":"","parent":0,"count":13,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/posts\/20289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/comments?post=20289"}],"version-history":[{"count":46,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/posts\/20289\/revisions"}],"predecessor-version":[{"id":95324,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/posts\/20289\/revisions\/95324"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/media\/20294"}],"wp:attachment":[{"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/media?parent=20289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/categories?post=20289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gisgeography.com\/wp-json\/wp\/v2\/tags?post=20289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}