[OSM-Devserver] Eigene DB-Modifikationen
Jochen Topf
jochen at remote.org
Fr Mär 26 17:31:00 CET 2010
On Fri, Mar 26, 2010 at 04:27:59PM +0100, Kay Drangmeister wrote:
> [python:]
> for lane in ['inline','orthogonal','diagonal','no_parking','no_stopping','fire_lane']:
> curs.execute("UPDATE planet_osm_line
> SET \"parking:lane:left\"=%s,
> \"parking:lane:right\"=%s,
> \"parking:lane:both\"=NULL
> WHERE \"parking:lane:both\"=%s",
> (lane,lane,lane))
Das müßte auch mit einem Query gehen :-)
UPDATE planet_osm_line
SET "parking:lane:left"="parking:lane:both",
"parking:lane:right"="parking:lane:both",
"parking:lane:both"=NULL
WHERE "parking:lane:both" IN ('inline','orthogonal','diagonal','no_parking','no_stopping','fire_lane');
> Wahrscheinlich kriegt man das halbwegs performant auch mit views hin.
SELECT COALESCE("parking:lane:left", "parking:lane:both")
gibt Dir den Wert von left zurück oder wenn der NULL ist, den von both. Damit sollte
sich ein View einfach basteln lassen.
> Frage 2: Ist ein View hier sinnvoller oder ein regelmäßiger DB-Update?
Wenn das alles ist, dann wird der View hier besser sein, bzw. eigentlich brauchste
keinen View, es reicht den Query im Mapnik zu machen.
Jochen
--
Jochen Topf jochen at remote.org http://www.remote.org/jochen/ +49-721-388298