Geometry Updater Kullanımı

Coğrafi veriler ile çalışırken karşılaşılan en temel ihtiyaçlardan birisi de var olan verilerin güncellenme işlemidir. Vektörel veriler de güncelleme işlemini gerek geometri gerekse de öznitelik olarak ikiye ayırabiliriz. Pek çok masaüstü CBS yazılımında öznitelikler temel araçlarla kolayca güncellenebilirken geometri güncelleme özelliği desteklenmemekte ya da ben farketmedim.

Günlük işlerimde masaüstü CBS işlemleri için genellikle QGIS ‘i tercih etmekteyim (Kısmende MapInfo ‘yu kullanıyorum). Geçtiğimiz günlerde elimizdeki bazı konumsal verilen özniteliklerine dokunmadan sadece geometrilerinin güncellenmesi gerekiyordu. Ve yukarıda bahsettiğim gibi QGIS’in böyle bir aracı yoktu. Bu işlemi gerçekleştirmek için QGIS’te bir eklenti daha yazmaya karar verdim. İşte Geometry Updater eklentisi bu şekilde ortaya çıkmış oldu.

NASIL ÇALIŞIR

Bu eklenti bir katmandaki coğrafi nesnelerin geometrisini diğer bir katmandaki coğrafi nesnelerin geometrisinden güncellemektedir. Bu işlemi yaparken de her iki katmanda bulunan ortak bir sütunu (Key Field) kulanılır. Bu sütundaki değerler benzersiz (UNIQUE) olmak zorundadır. Yukarıdaki ekran görüntüsünde BINA adlı katman, YENI BINA adlı katmandan FID sütunu kullanılarak eşlenmiş ve geometrileri güncellenmiştir.

Güncelleme işlemini sadece eşlenen nesnelerde yapılmaktadır. Örnekte hedef (target) katmanda 87 nesnenin, kaynak (source) katmanında ise 46 nesnenin olduğu görülmektedir. Dolayısıyla bu işlemde en fazla 46 nesnenin geometrisi güncellenecektir. Tabiki bu nesnelerin hepsinin eşlenmesi halinde. Geometry güncelleme işlemi tamamlandıktan sonra işlem sonucunu gösteren bir pencere çıkacaktır. Aşağıda bu örnekteki işlem sonucu gösterilmiştir.

ÖNEMLİ NOTLAR

  1. Format sınırlaması yoktur. QGIS in destekleği tüm formatlar (SHP, TAB vs.) ve veritabanları (Oracle, Postgres, SQLite vs.) ile uyumludur.
  2. Hedef (target) katman ile kaynak (source) katman aynı geometri tipinde olmalıdır.
  3. Hedef (target) katman düzenlenlebilir olmalıdır.
  4. Ortak sütun (Key Field) benzersiz değerlere sahip olmalıdır. Eğer tekrar eden kayıtlar varsa muhtemelen hatalı sonuçlar ortaya çıkar.

Leave a comment