Offline Rendern mit Mapnik und spatialite

Weiß jemand ob das wirklich was bringt ? eine Line mit 0 Breite ?

@wambacher ich sehe schon wir denken gleich deshalb habe ich auch gerade mich getraut den sqlite treiber zu ändern sieh da wieder 1 sekunde raus geholt

SELECT layer_roads_high.rowid, way, type, stylegroup from layer_roads_high,idx_layer_roads_high_way where osm_id = pkid AND XMAX>=? AND XMIN<=? AND YMAX>=? AND YMIN<=? order by z_order)
so sehen jetzt die selects aus.
idx_layer_roads_high_way das ist der SpitalIndex ist halt im Sqllite ein bissle anders so werden nur die geholt die auch gerade sichtbar sind.
Zwar kann das mapnik “standard” auch aber der benutzt eine subselect und das oben bringt noch mal ein paar processer zyclen kann oversize sein aber ich lasse es jetzt mal drin

Gibt es sowas wie einen EXPLAIN? Der einem “sagt”, was SL wirklich macht?

Naja, ich erwarte von einem Spatialen Index nicht Mikrosekunden sondern wesentlich mehr. Ein sequentieller Search in 151 Mio Polygonen (Full Planet) und ein Index Search für alle geschlossenen Polygone in Castrop-Rauxel sollte sich schon unterschiedlich verhalten (10 Minuten / 10 Sekunden, das wäre eine Hausnummer).

Aber eventuell reden wir nur aneinander vorbei. Dazu kenn ich fast nix von SL.

Zum Linesymbolizer: Ich könnte mir vorstellen, dass er zwar die Linie nicht zeichnet aber an den Linienenden einen Punkt macht. Setzt doch mal die Farbe auf Rot, dann sollten die zu finden sein.

Gruss
walter

ok das mit dem Line sehe ich mir noch mal genauer an.

ja einen Plan tool haben alle sql DB’ die ich bis jetzt in der hand hatte so auch SL. Der Spital index bringt schon eine Menge aber meine Änderung nur das letzte bisschen.
ich muss das mal irgend hier deutlicher rein stellen mal sehen wie ich das mache.

http://mine-robo.homepage.t-online.de/images/film2.webm

So könnte das was werden jetzt fällt das rendern schon fast nicht mehr auf.

Heute morgen bin ich nur wieder am zweifeln ob ich wirklich bei GTK+ als gui bleiben soll das alles sehr C und windows kann man eher vergessen. Mal sehen ob ich nicht doch was anderes nehme aber QT ist mir viel zu riesig. Werde mir in den nächsten tagen wohl mal wxWidgets an sehen.

Ich muss mich mal fest legen sonst komme ich nie vom Fleck…

SELECT way,rowid,[type] FROM (select way, rowid, type from layer_landuse_gen1 ORDER BY area DESC) as data WHERE rowid IN (SELECT pkid FROM idx_layer_landuse_gen1_way WHERE xmax>=7.736848831176758 AND xmin<=10.24685287475586 AND ymax>=49.38521957397461 AND ymin<=51.65032577514648)
Run Time: real 10.982 user 0.499203 sys 0.951606

So macht das Mapnik im Orginal also immer wieder über den Spital Index rennen bzw den als Temp Table raus ziehen und dann damit über layer_landuse_gen1 rennen und zu schluss noch mal sotieren.

SELECT way,rowid,[type] FROM (select way,type from layer_landuse_gen1,idx_layer_landuse_gen1_way where layer_landuse_gen1.rowid = idx_layer_landuse_gen1_way.rowid and xmax >=7.736848831176758 AND xmin<=10.24685287475586 AND ymax>=49.38521957397461 AND ymin<=51.65032577514648 ORDER BY area DESC)
Run Time: real 7.039 user 0.514803 sys 0.592804

Nach meine Umbau sieht es dann so aus den zweiten select konnte ich ihm noch nicht abgewöhnen ich muss ja auch passen nichts kaput zu machen bzw. will ja nicht nur “den Treiber” optimieren.
Da mein Englisch sowie mein C++ nicht reicht werden die Änderungen wohl in meinem Respostory bleiben. ein Stück weit merkt man halt das andere Datenbanken im Vordergrund stehen wenn man sich zum Beispiel Progress Treiber ansieht. Aber klar Progress ist eine Datenbank SL ist der DB-Server Quasi in der der Software und dann kann von Aussen weg bis gar nichts steuern. Noch dazu wird einiges bei Kompilieren fest gelegt. Auch macht der Treiber zu viel für meine Geschmack von alleine aber das wahrscheinlich das wo für er gemacht ist das jemand mal eben eine Karte zusammen bauen kann. Das geht dann nicht mehr wenn ein bisschen SQL verstehen muss um Layer zu bauen.

Ich will hier keinem Auf die Füsse tretten oder so OSM ist halt extrem viel schichtige weil alleine die Daten nutzen auch keinem was man muss sie Analysieren und verarbeiten und jede Aufgabe ist anders. Was man auch immer wieder an den Fragen zu Fahrrad routing oder Motoradrouting sieht. Aber irgend wie ist genau das doch das was es so Spannen macht.

Danke an alle da draussen die die Daten erschaffen habe damit ich mir beim Rendern was aus denken muss damit es schnell geht es macht Spass und das meine ganz ehrlich.

Bringt nicht viel - weil ich kein SL kann. Und der Rest der Kollegen wohl auch nicht.

Ich finde, du bewertest den Spatialen Index zu gering. Bei PostgreSQL liegen Welten zwischen einer spatialen Suche, die den Index verwendet und dem sog. Sequential Search, der schon mal 10-100x langsamer sein kann

Ich mach alles mit Java. OpenSDK unter Linux und/oder Java unter Windows - was halt für Josm installiert wurde. Eine Gui haben die natürlich auch. Und das Zeug läuft sogar auf dem Mac.

Dass ich NICHT von JavaScript oder gar Applets rede, sollte wohl klar sein.

Gruss
walter

Ich will hier keine Programmiersprache Diskussion aus lösen die gibt es wie Sand am Meer im ganzen Internet. Und wirklich lösen tut sie keine weil es einfach keine Lösung gibt. Java ist nicht so mein Ding würde aber bestimmte Probleme lösen das gebe ich zu. Aber bei der GUI bist du dann auch schnell bei gewissen Betriebssystem Abhängigkeiten wenn du Libarys verwendest.

Auch will ich ja nicht nur Karten sonder auch noch andere Dinge wie MP3 Player, OBD, Plugins es gibt also noch viel zu Tun. Ich weiß geht sicher alles auch mit Java notfalls mit JNI.
Die ersten Sachen die ich bis jetzt mit wxWidgets gemacht habe sehen ganz gut auch Ok ohne if defs kommt auch hier nicht aus aber einen Tod muss man Sterben. Laut Internet läuft das auch auf dem MAC.

Da ich beruflich ab jetzt mehr oder weniger nur noch mit C# arbeiten darf ist für mich C++ einfacher parallel zu Programmieren und leider komme ich so schon gar nicht von der Windowswelt weg.

@wambacher hast du schon mal per Java auf die Seriale Schnittstelle zu gegriffen ? GPS Mous / TMC

ich glaube, dass http://www.bt747.org/de das macht. Die Sources sind frei.

Gruss
walter

kurz zur Gui unter Java: Die Library sollte doch ebenfalls OS-Neutral sein. Das ist ja gerade das Konzept von Java. Hab aber selber nie was mit der Gui gemacht.

http://www.mine-robo.homepage.t-online.de/images/film1.webm

Habe mal den Film erneuert jetzt bin ich fast zufrieden mit der Performens. wo bei in der Karte ein paar Details noch fehlen. aber ein paar Einbahnstraßen Pfeile gibt es schon und die Straßennamen.

Hat jemand durch Zufall eine Idee wie man die ganze Karte drehen könnte also das nicht mehr Norden oben ist ? (Mapnik)

Da ich meine Problem nicht in den Griff bekomme mit Mapnik. Läst sich nur schwer bauen. Langsam. Ein Style der mit der Letzen Version noch was angezeigt hat ist jetzt fast leer.

http://wiki.openstreetmap.org/wiki/Libosmscout werde ich es damit mal versuchen. Auch wenn ich schon die Ersten Rückschläge hin nehmen musste. Na ja und so Konfigurierbar ist sie leider auch nicht.