[Devel] kapcsolt táblák
Bán Miklós
banm at vocs.unideb.hu
Wed Apr 25 02:07:08 CEST 2018
Szia Gábor,
a botkerti odús projektben így néznek ki a lekérdezések két táblához
(a 3.nak nincs térképi megjelenítése):
Odúk (főtábla, van geometriája):
--------------------------------
SELECT n.obm_geometry,n.obm_id,-2 AS date_part,nestbox_type
%selected%
FROM %F%public_nestbox_data n%F%
%J%LEFT JOIN public_nestbox_data_observations o ON
o.nestbox_id=n.obm_id%J%
%taxon_join%
%morefilter%
WHERE %envelope% %qstr%
Megfigyelések (nincs geometriája):
----------------------------------
SELECT o.obm_id,n.obm_geometry,nestbox_type,
COALESCE(extract(days FROM (CURRENT_DATE-datum)::interval),'-1') as
date_part
%selected%
FROM %F%public_nestbox_data_observations o%F%
%J%LEFT JOIN public_nestbox_data n ON (nestbox_id=n.obm_id) %J%
%taxon_join%
%morefilter%
WHERE %envelope% %qstr%
ORDER BY datum ASC
Látszik, hogy mindkettő kapcsolt lekérdezés.
A megfigyelések tábla tartalmaz érdekesebb oszlopokat, amiket a térképi
megjelenítéshez használ: Az adatok időpontja alapján színezi a
pöttyöket (~ friss, pár napos, régebbi)
A mapserver réteg definícióban egy rétegben kezelem a két táblát
(lehetne külön is).
Az odú táblában is legyártom a date_part oszlopot, hogy legyen
értéke a mapserver osztályok miatt, viszont az odú táblában is szereplő
nestbox_type ezzel a -2-es értékkel más színezéseket eredményez: Az
odúk típusai alapján lesz egy színezés.
A fő táblában azért van a JOIN, hogy minden odú lekérdezéssel azonnal
némi megfigyelési adathoz is hozzájussunk. Ezt az "additional_columns"
modul teszi lehetővé, amivel az adott lekérdezéshez felveszünk extra
oszlopokat (azaz ebből látszik ,hogy a JOIN-olt tábla oszlopai
automatikusan nem kerülnek vele a lekérdezésbe)
Az "additional_columns" paraméterezése:
o.species
o.datum
o.comment
A SQL QUERY stringben látszik, hogy o az alias neve a kapcsolt
observation táblának.
Ez a három oszlop (species, datum, comment) megadása azt eredményezi,
hogy minden lekérdezett odúhoz ezek az oszlopok lekérdeződnek a JOIN
alapján az observation táblából. Ez az adat lapon szürke háttérrel
jelzetten és sosem szerkeszthető módon jelenik meg. A kis eredmény
táblázatban megtöbbszörözi az egyes odú sorokat. Eredmény id
listázásban nem okoz változst, de a listából kibontott részleteknél
ugyanúgy szürke háttérel a főtábla oszlopk alatt n-szer ismétlődve ott
vannak a megfigyelési adatok.
Alább a mapserver class beállítások:
CLASS
NAME 'observations-new'
EXPRESSION ([date_part]<2 and [date_part]>=0 and [selected]
= 0) STYLE
SYMBOL "circle"
SIZE 10.0
OUTLINECOLOR 10 10 10
#green
COLOR 59 245 46
END
END
CLASS
NAME 'observations-recens'
EXPRESSION ([date_part]<6 and [date_part]>=2 and [selected]
= 0) STYLE
SYMBOL "circle"
SIZE 10.0
# türkiz
COLOR 23 235 255
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'observations-old'
EXPRESSION ([date_part]>=6 and [selected] = 0)
STYLE
SYMBOL "circle"
SIZE 10.0
# orange
COLOR 255 142 1
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'observations-never'
EXPRESSION ([date_part]=-1 and [selected] = 0)
STYLE
SYMBOL "circle"
SIZE 10.0
# red
COLOR 255 1 42
OUTLINECOLOR 246 46 53
OUTLINEWIDTH 1
END
END
CLASS
NAME 'nestbox-A'
EXPRESSION ([date_part]=-2 and "[nestbox_type]"="A" and
[selected] = 0) STYLE
SYMBOL "square"
SIZE 11.0
# halvány lila
COLOR 228 130 202
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'nestbox-B'
EXPRESSION ([date_part]=-2 and "[nestbox_type]"="B" and
[selected] = 0) STYLE
SYMBOL "square"
SIZE 12.0
# acélkék
COLOR 69 125 185
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'nestbox-C'
EXPRESSION ([date_part]=-2 and "[nestbox_type]"="C" and
[selected] = 0) STYLE
SYMBOL "square"
SIZE 12.0
# sárga
COLOR 255 250 161
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'nestbox-D'
EXPRESSION ([date_part]=-2 and "[nestbox_type]"="D" and
[selected] = 0) STYLE
SYMBOL "square"
SIZE 15.0
# lila
COLOR 163 98 53
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'nestbox'
EXPRESSION ([date_part]=-2 and NOT "[nestbox_type]" IN
"A,B,C,D" and [selected] = 0) STYLE
SYMBOL "square"
SIZE 12.0
# sötétkék
COLOR 50 65 227
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 1
END
END
CLASS
NAME 'selected_points'
EXPRESSION ([date_part]=-2 and [selected] = 1) # selected /
highlighted STYLE
SYMBOL "square"
SIZE 14.0
COLOR 250 210 0
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 2
END
END
CLASS
NAME 'selected_points'
EXPRESSION ([date_part]!=-2 and [selected] = 1) #
selected / highlighted STYLE
SYMBOL "circle"
SIZE 14.0
COLOR 250 210 0
OUTLINECOLOR 30 30 30
OUTLINEWIDTH 2
END
END
END #wms data point layer
üdv, Miki
--
Miklós Bán, PhD
MTA-DE "Lendület" Behavioural Ecology Research Group
Department of Evolutionary Zoology, University of Debrecen
H-4010 Debrecen, Egyetem tér 1.
Phone: +36 52 512-900 ext. 62357
http://zoology.unideb.hu/@Miklos_Ban
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the Devel
mailing list