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.

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).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.