PostgreSQL'den QGIS'de dizi [] veri türünü kullanın


9

Ben sadece CBS'de yeni başlayan biriyim, bu yüzden burada herhangi bir yorum görmekten memnuniyet duyarım.

QGIS bağlı olduğu PostgreSQL tabloları var. Veri türüne sahip tablolarda sütunlar vardır array[]. Ancak kullanıcıların {a, d, c} gibi bir görünümü kullanarak sütuna veri eklemesi kolay değildir. Verileri düzenlemenin kolay bir yolu var mı?

Sadece 'a, b, c' gibi QGIS triggerveri koymak ve veri Postgresbakmak doğru tabloya yerleştirmeden ÖNCE INSERT / UPDATE yapmak bir fikrim var . Ama aynı zamanda en iyi yol da değil.

Yanıtlar:


1

Farkında olduğum tek yol bir tür 'kullanım başına çamur'.

Örneğin bir dizi özellik numarası (öznitelik adı propnum_array, dtype varchar[]) içeren veri var ve bazen dizinin boş olduğu herhangi bir veri tanımlamak istiyorum.

İçin test propnum_array = {}veya propnum_array is nullveya propnum[0]=''bununla Yapabileceğim (veya tema bu tür herhangi bir diğer varyasyonları) QGIS gag yapar regexp_match( propnum_array,'\\d')veya propnum_array ilike '{""}'veya propnum_array = '{""}'ve bölme boş olmayan şeylere bakalım veri propnum_arraydeğil sahiptir ve malzeme.

Bunun anlamı, dizilerin yapısı varsa (örneğin, dizideki belirli öğelerde belirli değerler), bunları tarayabilirsiniz: 3 öğeli bir dizideki ikinci öğenin 'Y' olduğu tüm değerleri istiyorsanız, gibi bir şey isteyeceksiniz regexp_match( propnum_array,'[,]*\'Y\'\[,]*')(virgül ve tek tırnaklardan eşleme dizesinden kaçmanız gerektiğinden emin olabilirsiniz, ancak başka birinin endişe etmesi için bir kullanım örneği).

Gerçek şu ki propnum_array ilike '{""}'işler, onlar metin sanki o QGIS davranır diziler işaret gibi görünüyor. Alternatif olarak, gerektiğinde bunları anında metne dökebilir - ancak dizi türlerinin belgelenmemesi mantıklı olmaz (AFAIK). Dizi işlemeyle ilgili herhangi bir doküman bulamadım ve osgeo-qgis posta listesinde Ocak 2015'e kadar soru var.

Her ne kadar 'Data Driven Input Mask' eklentisinin v1.0.0'dan (Şubat 2015) beri dizi işleme sahip olduğunu anlasam da , büyük ipucu ifadeler düzenleyicide dizi işlevi bulunmamasıdır .

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.