<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.E-MailFormatvorlage20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE-CH link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Hallo Günter<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><i><span lang=DE>Wo liegen Deine Daten? In eine PG-DB? Mit räumlichen Index?<o:p></o:p></span></i></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Nun als PG-DB. Mit dem räumlichen Index tue ich mich noch schwer.<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Die Tabelle sieht so aus:<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- Table: public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- DROP TABLE IF EXISTS public.mtb_scale;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>CREATE TABLE IF NOT EXISTS public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=DE>(<o:p></o:p></span></p><p class=MsoNormal><span lang=DE> id integer NOT NULL DEFAULT nextval('mtb_scale_id_seq'::regclass),<o:p></o:p></span></p><p class=MsoNormal><span lang=DE> </span><span lang=FR-CH>geom geometry(MultiLineString,4326),<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> osm_id character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> name character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> highway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> waterway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> aerialway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> barrier character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> man_made character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> z_order bigint,<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> other_tags character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> mtb_scale character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> CONSTRAINT mtb_scale_pkey PRIMARY KEY (id)<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH>)<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>TABLESPACE pg_default;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>ALTER TABLE IF EXISTS public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> </span><span lang=DE>OWNER to postgres;<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Habe versucht den Index so herzustellen:<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE style='background:yellow;mso-highlight:yellow'>CREATE INDEX idx_mtb_scale_geom ON mtb_scale USING gist (geom);</span><span lang=DE><o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Danach habe ich:<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- Table: public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- DROP TABLE IF EXISTS public.mtb_scale;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>CREATE TABLE IF NOT EXISTS public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=DE>(<o:p></o:p></span></p><p class=MsoNormal><span lang=DE> id integer NOT NULL DEFAULT nextval('mtb_scale_id_seq'::regclass),<o:p></o:p></span></p><p class=MsoNormal><span lang=DE> </span><span lang=FR-CH>geom geometry(MultiLineString,4326),<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> osm_id character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> name character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> highway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> waterway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> aerialway character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> barrier character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> man_made character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> z_order bigint,<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> other_tags character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> mtb_scale character varying(254) COLLATE pg_catalog."default",<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> CONSTRAINT mtb_scale_pkey PRIMARY KEY (id)<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH>)<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>TABLESPACE pg_default;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>ALTER TABLE IF EXISTS public.mtb_scale<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> OWNER to postgres;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- Index: idx_mtb_scale_geom<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>-- DROP INDEX IF EXISTS public.idx_mtb_scale_geom;<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=FR-CH>CREATE INDEX IF NOT EXISTS idx_mtb_scale_geom<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> ON public.mtb_scale USING gist<o:p></o:p></span></p><p class=MsoNormal><span lang=FR-CH> </span><span lang=DE>(geom)<o:p></o:p></span></p><p class=MsoNormal><span lang=DE> TABLESPACE pg_default;<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE style='background:yellow;mso-highlight:yellow'>Geht aber nicht viel schneller. Habe ich das mit dem Indexing richtig gemacht?</span><span lang=DE><o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Gruss, Peter<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=DE style='mso-ligatures:none;mso-fareast-language:DE-CH'>Von:</span></b><span lang=DE style='mso-ligatures:none;mso-fareast-language:DE-CH'> guenter@lizmap.de <guenter@lizmap.de> <br><b>Gesendet:</b> Dienstag, 5. November 2024 18:24<br><b>An:</b> peter.berger@bluewin.ch; lizmap-de@lists.osgeo.org<br><b>Betreff:</b> AW: Lizmap Tooltip Performance<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=DE>Hallo Peter,<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>ich denke das verhält sich so wie mit der Suche (über Layer finden). Das funktioniert gut für ein paar hundert oder wenige tausend Elemente. Wenn die Datenmenge größer wird braucht es auch bei der Suche eine Weile, bis die ganzen Daten gelesen wurden. Hier ist dann als Alternative die SQL-Suche sehr performant.<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Wo liegen Deine Daten? In eine PG-DB? Mit räumlichen Index?<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Zum Fehler mit dem Tooltip in der V8:<o:p></o:p></span></p><p class=MsoNormal><span lang=DE>Es gibt einen Workaround: Wenn bei der Tooltip-Definition eine HTML-Vorlage genutzt wird funktioniert es einwandfrei.<o:p></o:p></span></p><p class=MsoNormal><span lang=DE>Siehe <a href="https://github.com/3liz/lizmap-web-client/issues/4926">https://github.com/3liz/lizmap-web-client/issues/4926</a><o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Viele Grüße<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE>Günter<o:p></o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=DE style='mso-ligatures:none;mso-fareast-language:DE'>Von:</span></b><span lang=DE style='mso-ligatures:none;mso-fareast-language:DE'> <a href="mailto:peter.berger@bluewin.ch">peter.berger@bluewin.ch</a> <<a href="mailto:peter.berger@bluewin.ch">peter.berger@bluewin.ch</a>> <br><b>Gesendet:</b> Dienstag, 5. November 2024 09:43<br><b>An:</b> <a href="mailto:guenter@lizmap.de">guenter@lizmap.de</a>; <a href="mailto:lizmap-de@lists.osgeo.org">lizmap-de@lists.osgeo.org</a><br><b>Betreff:</b> Lizmap Tooltip Performance<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=DE><o:p> </o:p></span></p><div id=DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2><p class=MsoNormal style='text-align:justify'>Im Zusammenhang mit Tooltip habe ich dieses auch etwas ausprobiert und die Feststellung gemacht, dass wenn immer ich dies anwende es mehrere Sekunden dauert, bis man die Funktion verwenden kann. So bei nur 435 Polygone bei «mtb_relation» fast 20 Sekunden bei 25000 Polygone bei «mtb_scale» noch länger. Ist dies bei Euch auch so? Es scheint, dass du zuerst etwas berechnet werden muss.<o:p></o:p></p><p class=MsoNormal style='text-align:justify'><o:p> </o:p></p><p class=MsoNormal style='text-align:justify'><a href="https://www.wandelderzeit.ch/lizmap-web-client-3.7.9/lizmap/www/index.php/view/map?repository=development&project=Mountainbike">Mountainbike - Development - Lizmap</a><o:p></o:p></p><p class=MsoNormal style='text-align:justify'><o:p> </o:p></p><p class=MsoNormal style='text-align:justify'>Gruss, Peter<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>