[OSM-Devserver] Hilfe bei DB-Abfrage // Nachtrag
Tobias Wendorff
tobias.wendorff at uni-dortmund.de
Fr Jun 18 22:13:13 CEST 2010
Alexander Matheisen schrieb:
> SELECT ST_AsText(ST_Transform(st_centroid(way), 4326)), osm_id FROM
> planet_polygon WHERE (tags ? 'website') AND way && ST_IsValid(way) &&
> ST_Transform(...;
Ja, aber dadurch wird's noch mal langsamer.
Hast Du mal nachgedacht, die Mercator-Berechnung im PHP-Script
oder direkt beim Client im Javascript zu machen? Ich glaube,
das Durchlaufen von proj ist etwas langsamer.
Das sind jetzt aber alles nur kleine Optimierungsideen...
>> GEOS stürzt gerne mal ab und reißt die ganze PSQL mit in den
>> Abgrund. Plötzlich hängt sie dann im Maintenance und alles ist
>> noch langsamer... Denk auch dran, dass ST_Centroid nicht unbedingt
>> da liegt, wo Du es hinhaben willst.
>
> Also besser ST_PointOnSurface nehmen, weil die Punkte dann nicht außerhalb der Fläche liegen?
Das kommt auf Deinen Geschmack und das Verlangen der User an ;-)
>> Zum PHP-Code:
>> Da die Abfragen übrigens immer gleich sind, könnte man das Script
>> noch deutlich vereinfachen und z.B. sprintf() nutzen. Wird dann
>> jedenfalls übersichtlicher und die Wiederholungen fliegen raus.
>
> Das werde ich dann noch machen, erstmal soll es fehlerfrei funktionieren
> und möglichst schnelle DB-Queries machen.
Mach' in jedem Fall Debugging rein. Ein eigenes Logfile oder so.