CBS işlevlerini doğrudan Python’da Geopandas – Dijital Coğrafya ile çalıştırın

Jupyter not defterinde geopandas

Geopandoyüklendikten sonra, Python dizüstü bilgisayarlarınızda bir avuç CBS fonksiyonu ile sizi destekler ve çalışmanızı jeo -uzamsal verilerle kullanır. Ama dürüst olmak gerekirse: Bu bir bildirime değmez. Ancak CBS fonksiyonlarının diğer pandalar işlevleri ile birleşimi, bu modülü senaryolarda jeo -uzamsal çalışma için yeni İsviçre ordu bıçağı haline getiriyor.

Bu makalede size kurulumu göstereceğim, temel işlevleri sunacağım ve size bir not defteri sağlayacağım (Jakob tarafından yazılmış) güzel bir “bilme” için en temel operasyonlarla.

Geopandas - Kurulum

Geopandas modülünü Python ortamınıza farklı şekillerde ekleyebilirsiniz. Bu makale için PIP yolunu kullanıyorum. Anaconda kurulumunu tercih ederseniz, bu bağlantıyı takip edebilir veya hatta kaynaktan yüklemeye çalışabilirsiniz. Birçok yol bulacaksınız Geopando web sayfası.

Bir Mac üzerinde çalışırken, önce Geos'u kullanarak yükledim demlemek ve kullanılmış pip Pandalar için geopandas uzantısını kurmak ve bağımlılıkları karşılamak. Takip etmek için Jupyter not defterine de ihtiyacınız varsa, PIP aracılığıyla da yükleyin:

brew install geos
brew install spatialindex
pip install jupyterlab
pip install geopandas
pip install rtree
pip install matplotlib

Şimdi Shell'den yeni bir Jupyter not defterini ateşleyin:

jupyter notebook

Geopandas ile ilk adımlar

Yeni bir not defteri oluşturduktan sonra, modülü pandalarla birlikte ekleriz:

import pandas as pd
import geopandas as gp

Şimdi, tüm Geopandas işlevleri not defterinizde kullanılabilir ve bazılarını ile deneyeceğiz Naturalearthdata.com'dan Country-Dataset ve dünyanın tüm ofis konumları Osmdata.xyz (Büyük sahne Dr. Softener!). Komut çok kolay:

# basic usage: gp.read_file(PATH_TO_YOUR_SHAPE_FILE(s))
countries = gp.read_file("ne_10m_admin_0_countries.shp") #as I've donwloaded it to the place where I started my notebook. 
offices = gp.read_file("office_EPSG4326.gpkg")

Öznitelik Tablosu ile Çalışma

Değişkenler tanımlandıktan ve dosyalar okunduktan sonra, bu “jeodataFrame” nin kafa işlevi, dizüstü bilgisayarınızı tüm öznitelik tablosunu yazdırmaya kıyasla oldukça düzenli tutan büyük bir veri kümesinin ilk girişlerini gösterecektir:

Bir öznitelik tablosunun başı

Kafa işlevi varsayılan olarak 5 satır döndürür, ancak sadece satır sayısını ekleyerek sayısını da değiştirebilirsiniz:

offices.head(2)

Şimdi her iki veri setine de katılacağız.

Geopandalarda Verilere Katılmak

Her iki değişken de uzamsal bir bilgi paylaşıyor ve Ülke veri kümesiyle birlikte Ofis Özelliği Setine katılmak için mekansal birleştirmeyi (SJOIN) kullanıyoruz:

import rtree
officeCountries = gp.sjoin(offices, countries)

Ama haritaları sevdiğimiz için basit bir haritalar yaratalım:

import matplotlib
officeCountries.plot(markersize=0.05, figsize=(20,10))
OSM'den türetilen dünya ofisleri.
officeCountries.plot(markersize=0.1, figsize=(20,20)) #italy only
Alt küme olarak İtalyan ofisleri

Sonucu depolamak

Şimdi ülke attributlarını ofis attributlarıyla birleştirdiğimiz için yeni bir veri kümesi oluşturduk. Öyleyse bilgileri yeni bir dosyada saklayalım:

officeCountries.to_file(driver = 'GeoJSON', filename= "italianOffices.geojson")

QGIS'te güzel görünmüyor mu?

İtalya'daki ofis konumları

Bana göre geopandas, kıkogah stiline değil, verilere konsantre olmak istiyorsam kullanışlı geliyor. Bu nedenle, bazı verileri kazımanız, mekansal bilgilerle zenginleştirmeniz veya sadece QGIS veya ESRI gibi tam bir çözüm açmadan iyi bir eski şekil dosyasının öznitelik tablosunu okumak istiyorsanız, geopandas kullanışlıdır. Özellikle bazı otomatik iş akışları için bu büyük bir uzatma!

Geopandas ile ilk adımlarınızın tadını çıkarın!

Benzer Videolar