DB Yöneticisi'nde tabloyu düzenledikten sonra katmanın öznitelik tablosunu nasıl yenileyebilirim?


14

DB Yöneticisi'nde tabloyu düzenledikten sonra (ör. Sütun ekleyin) bir katmanın öznitelik tablosunu yenilemenin bir yolu var mı?


changeDataSource eklentisi en hızlı yoldur ve .csv dosyalarıyla çok iyi çalışır
scataldi

Yanıtlar:


13

Kısa ve güzel:

  1. ChangeDataSource eklentisini yükleyin .
  2. Katmanlar Panelinde katmana sağ tıklayın ve öğesini seçin Change vector datasource.
  3. Görüntülenen iletişim kutusunda OK, ayarları değiştirmeden düğmesine basın .

Temel olarak, vektör veri kaynağını zaten olduğu gibi "değiştirirsiniz", ancak bu QGIS'i katman tanımını yeniden yüklemeye zorlar.

Linux Mint 17.2'de QGIS 2.14'te test edilmiştir.


Çalışması için aynı veri kaynağını yeniden seçmem gerekiyordu.
sladstaetter

4

Bir PostGIS veritabanı ile çalıştığınızı varsayarsak, http://www.postgresql.org/docs/current/static/sql-analyze.htmlANALYSE fonksiyonunu kullanarak ilgilenilen tablonun istatistiklerini güncelleyebilirsiniz.

Sizin durumunuzda, ekli görüntüde işaretlenen düğmeye basarak ANALYSEve pencerede ifadeyi yürüterek deyimi DB yöneticisi içinde yürütebilirsiniz . Sorgu olacaktır ANALYSE yourschema.yourtable. Analyze komutu tablonuzu güncellemelidir, böylece bilgilere tekrar eriştiğinizde yaptığınız değişiklikleri yansıtmalıdır. DB yöneticisi penceresi


1
Bu özellik tablosunu yenilemez (katmana sağ tıklayın -> Özellik Tablosunu Aç).
Ay Denizi

2

Sütunlarda bir değişiklik yapıldıktan sonra QGIS'deki tabloyu yenilemek istiyorsanız iyi anlıyor musunuz?

Bildiğim kadarıyla, sadece projeyi kapatıp açın ya da tabloyu yeniden eklemek bunu sağlayacaktır. Veritabanına varsayılan stili kaydettiğiniz sürece en hızlı yol olabilir.

Alan Hesaplayıcı ile bir sütun eklendiğinde değişiklikler anında görülebilir ancak DB yöneticisi alan türünü tanımlamak için daha fazla kontrol sunar, bu yüzden bunun neden bir çözüm olmadığını anlıyorum.


Özellik tablosunu yenilemek için herhangi bir Python komutu var mı? Ayrıca 'Özellik Sayısını Göster'in DB Yöneticisi'nde yapılan değişiklikleri (özellikleri ekleme / silme özellikleri) yok saydığını fark ettim.
Ay Denizi

3
layer.dataProvider().forceReload()hile yapmalı
Matthias Kuhn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.