Werken met Views

Om via Direct Connect views te kunnen publiceren is het benodigd een metadata-tabel te configureren in het public schema van de betreffende database. Views hebben volgens de specificatie geen primary key, wat er toe leidt dat GeoApps niet kan herkennen welke records uniek zijn, en welke dubbel zijn. Dit kan er toe leiden dat bij het gebruik van WFS kaartlagen objecten dubbel worden getoond, of dat de performance lager ligt indien gebruik gemaakt wordt van WMS.

Aanmaken van de tabel

De metadata-tabel dient aangemaakt te worden in elke database die gekoppeld wordt met GeoApps van waaruit je views wilt publiceren. De tabel kan aangemaakt worden in PostgreSQL met behulp van de volgende SQL:

CREATE TABLE public.gt_pk_metadata (
  table_schema VARCHAR(32) NOT NULL,
  table_name VARCHAR(64) NOT NULL,
  pk_column VARCHAR(32) NOT NULL,
  pk_column_idx INTEGER,
  pk_policy VARCHAR(32),
  pk_sequence VARCHAR(64),
  unique (table_schema, table_name, pk_column),
  check (pk_policy in ('sequence', 'assigned', 'autogenerated'))
)

Mochten de veldlengtes zoals gespecificeerd te klein zijn kunnen deze naar eigen wens vergroot worden.

Publiceren van een View

Zodra besloten wordt een view te publiceren door GeoApps dient er eerst een record aangemaakt te worden in de bovengenoemde metadata tabel. Met behulp van het volgende SQL-statement kan het juiste record aangemaakt worden:

INSERT INTO public.gt_pk_metadata (table_schema, table_name, pk_column, pk_policy, pk_sequence)
VALUES ('<schema>', '<view_name>', '<pk_column>', 'assigned', '');

Let op dat je in het bovenstaande statement , <view_name> en <pk_column> vervangt voor de correcte waardes.

Na het toevoegen van bovenstaand record kan een view zoals een reguliere tabel in GeoApps gepubliceerd worden.

🚧

Op dit moment verifieert GeoApps nog niet of bovenstaande configuratie correct is ingevoerd. Mocht je de situatie krijgen dat in de viewer dubbele objecten getoond worden, dan is bovenstaande niet correct ingesteld. In een volgende update zal validatie in GeoApps toegevoegd worden om dit proces te vereenvoudigen.


Did this page help you?