pyspatialite Kurulum (Windows)

Geçtiğimiz günlerde açık veri formatı olan Spatialite hakkında bir yazı yayınlamıştım. Temel özellikleri ve kullanımına değindim. Bu yazıda ise Spatialite veritabanı Python arayüzü olan pyspatialite paketinin Windows ortamında kurulumu anlatacağım. Bu paket ile Spatialite ‘a ait fonksiyonlara Python ile erişebilirsiniz. Genel olarak baktığımızda sqlite tabanlı olmasından dolayı Python Sqlite3 paketi ile aynı şekilde kullanılıyor.

Python paketlerinin kurulumunu genellikle pip, easy_install veya hazır kurulum programları ile kolayca gerçekleştirebilirsiniz. Bazı paketlerin kurulumu esnasında derleme işlemleri gerekebilir. Bu da bazen oldukça sıkıcı bir hal alabiliyor. pyspatialite paketi için de bu geçerlidir. Uzun uğraşlardan sonra kurulum işlemini başardım. Bu yazıda da sizlere pyspatialite paketinin derlemeye gerek kalmadan kolay bir şekilde kurulumunu anlatacağım.

Gerekenler

OSGeo4W : Açık kaynak kodlu OSGeo yazılımların kurulumunu sağlayan paket yükleyici (sayfa).

Kurulum

OSGeo4 yazılımını açarak karşınıza gelen pencereden Advanced Install seçeneğini işaretleyip sonraki adıma geçiyoruz.

Burada Download Without Installing seçeneğini aktifleştirip devam edin.

Son olarak dosyaların ineceği konumu belirleyin. Ardından gelecek iki adımda ‘Next-Next’ diyerek indirme ekranına geçin.

Burada 5 farklı kategori altında CBS yazılımları ve çeşitli kütüphaneler listelenmiş halde kullanıcılara sunulmaktadır. Bize gerekli olanlar ise:

  • pyspatialite 2.3.1-3 (kuracağımız Python paketi)
  • spatialite 3.0.1-2 (zorunlu)
  • sqlite3 3.7.14-1 (zorunlu)
  • iconv 1.9.1-1 (zorunlu)
  • geos 3.4.2-1 (zorunlu)
  • proj 4.8.0-0 (zorunlu)
  • freexl 1.0.0 (bazı fonksiyonlar için gerekli)
  • libxml 2.9.1 (bazı fonksiyonlar için gerekli)
  • msvcrt 1.0.1-10 (bazı fonksiyonlar için gerekli)

Yukarıda verilen kütüphaneler hakkında detaylı bilgiye ve kaynak kodlara netten araştırarak kolayca ulaşabilirsiniz. İndirmemiz gereken kütüphaneleri OSGeo4W arama kısmından aratıp indirin. Burada dikkat etmemiz çok önemli bir nokta var. pyspatialite paketinin şuan için 3.0.1 versiyonu bulunmakta fakat henüz ALPHA durumunda olduğundan dolayı kararlı olan 2.3.1 versiyonunu kuracağız. Bu nedenle arama kısmında karşımıza çıkan sonuçların versiyon numarası üzerine tıklayarak önceki versiyonları seçeceğiz. Aynı şeyi Spatialite kütüphanesi için de yaparak belirtilen kütüphaneyi indirin.

Dosyalar indikten sonra ilk olarak Python paket dosyalarının bulunduğu pyspatialite-2.3.1-3.tar.bz2 arşivini açın. İçerideki klasörlerin en sonuna gelerek pyspatialite klasörü arşivden çıkartın.  Bu bizim ana klasörümüz olacak.

İndirdiğimiz diğer arşiv  dosyalarını (tar.bz2)  açarak bin klasörleri içinde bulunan tüm DLL dosyaları arşiv dışına çıkartın. Olması gereken DLL dosyaları aşağıda verilmiştir:

  • freexl.dll
  • geos_c.dll
  • iconv.dll
  • libxml2.dll
  • msvcp60.dll
  • msvcp70.dll
  • msvcp71.dll
  • msvcr71.dll
  • msvcrt.dll
  • proj.dll
  • spatialite.dll
  • sqlite3.dll

DLL dosyalarını da önceden çıkardığımız pyspatialite klasörü içine kopyalayın. Ardından bu klasörü  de Pyton/klasör/yolu/Lib/site-packages/ klasörü içerisini kopyalayarak işlemleri tamamlayın.

Kurulumu kontrol etmek amacıyla Python IDLE ‘yi açın ve şu satırı girin:

from pyspatialite import dbapi2 as db

Tüm işlemleri eksiksiz olarak yapmanız durumunda herhangi bir hata mesajı almanız gerekiyor.  Böylece manuel olarak Python paketini kurmuş olduk. Örnek kodları incelemek için şu sayfayı ziyaret edebilirsiniz. Yalnız örnek olarak verilen Python kodunda 28-29. satırlarda hatalar mevcut. Düzeltilmiş hali aşağıda verilmiştir.

sql = "SELECT AddGeometryColumn('test_pt', "
sql += "'geom', 4326, 'POINT', 'XY')"

 

Yayınlamış olduğum yazıları kaynak belirtmek kaydıyla paylaşabilirsiniz.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s