<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)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><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-MailFormatvorlage21
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@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 link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>Hallo Peter,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>wie geschildert, ich befürchte die Geschwindigkeitsprobleme sind bei der Anzahl von Elementen normal. Lasse mich aber gerne eines Besseren belehren.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Mit dem räumlichen Index mache ich es mir einfach. Den lasse ich gleich beim Import der Daten in QGIS erstellen:<o:p></o:p></p><p class=MsoNormal><span style='mso-ligatures:none'><img width=374 height=465 style='width:3.8916in;height:4.8416in' id="_x0000_i1026" src="cid:image002.jpg@01DB302E.AA5E7EB0"></span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Du kannst ihn aber wohl auch später in QGIS über die Verarbeitungswerkzeuge erstellen. Einfach unten links in QGIS Index eingeben:<o:p></o:p></p><p class=MsoNormal><span style='mso-ligatures:none'><img width=333 height=319 style='width:3.4666in;height:3.325in' id="Grafik_x0020_1" src="cid:image006.jpg@01DB302E.AA5E7EB0"></span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Viele Grüße<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Günter<o:p></o:p></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 style='mso-ligatures:none;mso-fareast-language:DE'>Von:</span></b><span style='mso-ligatures:none;mso-fareast-language:DE'> peter.berger@bluewin.ch <peter.berger@bluewin.ch> <br><b>Gesendet:</b> Mittwoch, 6. November 2024 07:51<br><b>An:</b> guenter@lizmap.de; 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-CH>Hallo Günter<o:p></o:p></span></p><p class=MsoNormal><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal><i>Wo liegen Deine Daten? In eine PG-DB? Mit räumlichen Index?<o:p></o:p></i></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Nun als PG-DB. Mit dem räumlichen Index tue ich mich noch schwer.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Die Tabelle sieht so aus:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></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>(<o:p></o:p></p><p class=MsoNormal> id integer NOT NULL DEFAULT nextval('mtb_scale_id_seq'::regclass),<o:p></o:p></p><p class=MsoNormal> <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>OWNER to postgres;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Habe versucht den Index so herzustellen:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='background:yellow;mso-highlight:yellow'>CREATE INDEX idx_mtb_scale_geom ON mtb_scale USING gist (geom);</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Danach habe ich:<o:p></o:p></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>(<o:p></o:p></p><p class=MsoNormal> id integer NOT NULL DEFAULT nextval('mtb_scale_id_seq'::regclass),<o:p></o:p></p><p class=MsoNormal> <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>(geom)<o:p></o:p></p><p class=MsoNormal> TABLESPACE pg_default;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='background:yellow;mso-highlight:yellow'>Geht aber nicht viel schneller. Habe ich das mit dem Indexing richtig gemacht?</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gruss, Peter<o:p></o:p></p><p class=MsoNormal><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE-CH><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 style='mso-ligatures:none;mso-fareast-language:DE-CH'>Von:</span></b><span style='mso-ligatures:none;mso-fareast-language:DE-CH'> <a href="mailto:guenter@lizmap.de">guenter@lizmap.de</a> <<a href="mailto:guenter@lizmap.de">guenter@lizmap.de</a>> <br><b>Gesendet:</b> Dienstag, 5. November 2024 18:24<br><b>An:</b> <a href="mailto:peter.berger@bluewin.ch">peter.berger@bluewin.ch</a>; <a href="mailto:lizmap-de@lists.osgeo.org">lizmap-de@lists.osgeo.org</a><br><b>Betreff:</b> AW: Lizmap Tooltip Performance<o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal>Hallo Peter,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Wo liegen Deine Daten? In eine PG-DB? Mit räumlichen Index?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Zum Fehler mit dem Tooltip in der V8:<o:p></o:p></p><p class=MsoNormal>Es gibt einen Workaround: Wenn bei der Tooltip-Definition eine HTML-Vorlage genutzt wird funktioniert es einwandfrei.<o:p></o:p></p><p class=MsoNormal>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Viele Grüße<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Günter<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></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 style='mso-ligatures:none;mso-fareast-language:DE'>Von:</span></b><span 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><o:p> </o:p></p><div id=DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2><p class=MsoNormal style='text-align:justify'><span lang=DE-CH>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></span></p><p class=MsoNormal style='text-align:justify'><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal style='text-align:justify'><span lang=DE-CH><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></span></p><p class=MsoNormal style='text-align:justify'><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal style='text-align:justify'><span lang=DE-CH>Gruss, Peter<o:p></o:p></span></p><p class=MsoNormal><span lang=DE-CH><o:p> </o:p></span></p><p class=MsoNormal><span lang=DE-CH><o:p> </o:p></span></p></div></div></body></html>