Hi,

I want to create an fog of war. I use a start-polygon and in this should be the area screened transparent where the user has build some buildings.

Here is the SQL-script that works if the user has a building of every building-type but if he only has an "haupthaus" no geom will be created???!!!

But at the beginning the user only has the building: haupthaus-->and for this starting situation a fog of war has to be created.

UPDATE fog_of_war2
SET the_geom = (SELECT ST_BuildArea(
           St_Collect(grenze_by.the_geom,
ST_Union( ST_Union( ST_Union(ST_Union(ST_Expand(holzfaeller.the_geom, 2000)),ST_Union(ST_Expand(steinbruch.the_geom,2000))), ST_Union(ST_Union(ST_Expand(erzmine.the_geom, 2000)),ST_Union(ST_Expand(kaserne.the_geom,2000)))), ST_Union( ST_Union(ST_Union(ST_Expand(wohnhaus.the_geom, 2000)),ST_Union(ST_Expand(saegewerk.the_geom,2000))), ST_Union(ST_Union(ST_Expand(strassen.the_geom, 1000)),ST_Union(ST_Expand(haupthaus.the_geom,6000)))))))
       FROM     public.grenze_by grenze_by,
           public.holzfaeller2 holzfaeller,
           public.steinbruch2 steinbruch,
           public.erzmine2 erzmine,
           public.kaserne2 kaserne,
           public.wohnhaus2 wohnhaus,
           public.saegewerk2 saegewerk,
           public.strassen2 strassen,
           public.haupthaus2 haupthaus
       GROUP BY grenze_by.the_geom);

I know that the functions are very convoluted, but for me there is no other way to union/collect the different areas of the buildings.

Please give me some tips how I can solve the problem.

--daniel
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to