Utiliser le type de données array [] dans QGIS à partir de PostgreSQL

9

Je suis juste un débutant en SIG, donc je serai heureux de voir un commentaire ici.

J'ai des tables dans PostgreSQL que j'ai connectées à QGIS. Il y a des colonnes dans les tableaux avec le type de données array[]. Mais il n'est pas facile pour les utilisateurs d'insérer des données dans une colonne en utilisant une vue telle que {a, d, c}. Existe-t-il un moyen simple de modifier les données?

J'ai juste une idée de mettre des données dans QGIS comme 'a, b, c' et de faire un triggersur INSERT / UPDATE BEFORE qui mettra les données dans la Postgrestable dans le bon look. Mais cela ne semble pas non plus la meilleure façon.

Casandra
la source

Réponses:

1

La seule façon dont je suis au courant est une sorte de «kludge à l'utilisation».

Par exemple, j'ai des données qui incluent un tableau de numéros de propriété (nom d'attribut propnum_array, dtype varchar[]) et je veux parfois identifier les données où le tableau est vide.

Tester pour propnum_array = {}ou propnum_array is nullou propnum[0]=''(ou toute autre variation sur ce type de thème) fait gag QGIS, cependant je peux faire regexp_match( propnum_array,'\\d')ou propnum_array ilike '{""}'ou propnum_array = '{""}'et partitionner les données en des choses qui ne sont pas vides propnum_arrayet des choses qui ne l'ont pas.

Cela signifie que si les tableaux ont une structure (par exemple, des valeurs spécifiques à des éléments spécifiques dans le tableau), vous pouvez les rechercher: si vous voulez toutes les valeurs où le deuxième élément d'un tableau à 3 éléments est «Y», alors vous voudrez quelque chose comme regexp_match( propnum_array,'[,]*\'Y\'\[,]*')(à peu près sûr que vous devez échapper les virgules et les guillemets simples internes à la chaîne de correspondance, mais c'est un cas d'utilisation pour quelqu'un d'autre à s'inquiéter).

Le fait que cela propnum_array ilike '{""}'fonctionne semble indiquer que QGIS traite les tableaux comme s'ils étaient du texte. Alternativement, il pourrait les convertir en texte à la volée, si nécessaire - mais cela n'aurait aucun sens pour les types de tableau à ne pas documenter (AFAIK). Je n'ai pas pu trouver de documents sur la gestion des baies, et il y a des questions sur la liste de diffusion osgeo-qgis en janvier 2015.

Je suppose que le principal indice est qu'il n'y a pas de fonctions de tableau dans l'éditeur d'expressions, bien que je comprenne que le plug-in `` Data Driven Input Mask '' gère le tableau depuis v1.0.0 (février 2015).

GT.
la source