Generic Skyscrapers

  • Is there a way to have cultivation make generic skyscrapers for big cities? It would be a big improvement in built up urban areas over the four story buildings my cultivation efforts result in. Is there a scenProc script floating around that does this?


    Thanks,


    Bill

  • Make sure the area has "levels" in the "way" element in the OSM. If it uses like "builing:levels" do a search and replace to "levels" then run the script. Burke Lakefront in Cleveland is a good example. Downtown Cleveland uses the "levels" tag.


    # AeroFly FS 2 scenProc script

    # with function to filter out objects on airport

    # Author of scenProc Arno Gerretsen

    # Script amended, modified and enhanced by Rodeo and then

    # enhanced more by pkaser

    # --------------------------------------------------------

    #

    # Load OpenStreetMap data of the area to work on

    # Load highway, landuse and building to save memory

    #ImportOGR|d:\construction\KBKL\OSM\map.osm|*|highway;landuse;building|NOREPROJ

    ImportOGR|d:\construction\ktdz\OSM\map.osm|*|*|NOREPROJ


    #

    #

    # Create AF2 buildings for polygons that are almost rectanguar

    # Make longer buildings industrial with a flat roof

    #CreateAF2Building|building="commercial"|levels|flat|industrial

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH < 14 And levels="*" |2|flat|residential|0

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH >= 14 And FLENGTH < 28 And levels="*" |2|gable|residential|0


    CreateAF2Building|building="commercial" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels|flat|commercial|0

    CreateAF2Building|building="apartments" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels|flat|commercial|0

    CreateAF2Building|building="yes" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels|flat|commercial|0

    CreateAF2Building|building="retail" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels|flat|commercial|0


    CreateAF2Building|building="industrial" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels|flat|industrial|0




    #

    # Load Shapefile that will be excluded from processing

    #ImportOGR|d:\construction\KPCW\OSM\exclude.kml|*|*|NOREPROJ

    #

    # Split the features into a grid of 0.25 x 0.25 degrees

    # Do not split buildings, but filter them into the right grid cells

    # SplitGrid|0.25|*|building="*"

    #

    # Lights

    # Place point features for the lights along roads

    PlacePointsAlongLine|highway="motorway"|SINGLE|45;55|6;6|25|String;point|plight|hdg

    PlacePointsAlongLine|highway="primary"|SINGLE|45;55|6;6|25|String;point|plight|hdg

    PlacePointsAlongLine|highway="secondary"|SINGLE|40;40|4;4|20|String;point|slight|hdg

    PlacePointsAlongLine|highway="tertiary"|SINGLE|30;35|4;4|10|String;point|tlight|hdg

    PlacePointsAlongLine|highway="residential"|SINGLE|30;30|4;4|10|String;point|rlight|hdg

    PlacePointsAlongLine|highway="living_street"|SINGLE|30;30|4;4|10|String;point|rlight|hdg

    #

    # Plants

    # Place point features for the plants in forest polygons

    # using spacing of 0.00025 degrees and full randomness

    PlacePointsInPolygon|landuse="forest"|0.00025;0.00025|1.0;1.0

    PlacePointsInPolygon|natural="wood"|0.00025;0.00025|1.0;1.0

    PlacePointsInPolygon|natural="tree"|0.00025;0.00025|1.0;1.0

    PlacePointsInPolygon|natural="tree_row"|0.0000005;0.00025|1.0;1.0

    PlacePointsInPolygon|leisure="park"|0.00025;0.00025|1.0;1.0

    PlacePointsInPolygon|leisure="nature_reserve"|0.00025;0.00025|1.0;1.0



    #

    # Filter out the buldings, lights and plants

    # that are within the exclude polygons

    #AddAttributeIfInside|building="*"|FROMFILE="exclude.kml"|String;skip|yes

    #AddAttributeIfInside|point="light"|FROMFILE="exclude.kml"|String;skip|yes

    #AddAttributeIfInside|FTYPE="POINT" And landuse="forest"|FROMFILE="exclude.kml"|String;skip|yes

    #UnloadFeatures|skip="yes"

    #

    #

    # Create AF2 plants

    # CreateAF2Plant|landuse="forest"|10;20|broadleaf

    CreateAF2Plant|landuse="forest" And FRAND >= 0.1|8;40|0|broadleaf

    CreateAF2Plant|landuse="forest" And FRAND < 0.1|10;40|0|conifer

    CreateAF2Plant|natural="wood" And FRAND >= 0.1|8;40|0|broadleaf

    CreateAF2Plant|natural="tree_row" And FRAND >= 0.1|8;40|0|broadleaf

    CreateAF2Plant|leisure="park" And FRAND >= 0.1|8;40|0|broadleaf

    CreateAF2Plant|leisure="nature_reserve" And FRAND >= 0.1|8;40|0|conifer

    CreateAF2Plant|natural="tree"|8;25|0|broadleaf

    CreateAF2Plant|landuse="meadow" And FRAND >= 0.4|5;12|0|shrub|plant_type_shrub_T00

    CreateAF2Plant|landuse="meadow" And FRAND >= 0.4|3;8|0|shrub|plant_type_shrub_T01


    # Create AF2 lights

    CreateAF2Light|point="plight"|0.9;0.8;0.7|5|0;0;1|10

    CreateAF2Light|point="slight"|0.9;0.7;0.5|3|0;0;1|8

    CreateAF2Light|point="tlight"|0.6;0.6;0.7|3|0;0;1|6

    CreateAF2Light|point="rlight"|0.9;0.6;0.3|3|0;0;1|6


    #

    # Export the AF2 TOC file

    ExportTOC|d:\construction\ktdz\OSM|map

  • #CreateAF2Building|building="commercial"|levels|flat|industrial

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH < 14 And levels="*" |2|flat|residential|0

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH >= 14 And FLENGTH < 28 And levels="*" |2|gable|residential|0

    I tried your file but scenproc throws an error (actually a hand full of them) "CreateAF2building requires 6 arguments". Any idea what to do?


    Thanks and kind regards, Michael

  • hover over the error lines and it will tell you the requirements. This file was from a few weeks ago. He added, since then, the ability to set a floot/height min and max if it doesnt find the floors element in the OSM file.


    Here is my latest one:


    # AeroFly FS 2 scenProc script

    # with function to filter out objects on airport

    # Author of scenProc Arno Gerretsen

    # Script amended, modified and enhanced by Rodeo

    # --------------------------------------------------------

    #

    # Load OpenStreetMap data of the area to work on

    # Load highway, landuse and building to save memory

    #ImportOGR|d:\construction\KBKL\OSM\map.osm|*|highway;landuse;building|NOREPROJ

    ImportOGR|d:\construction\kbkl\OSM\map.osm|*|*|NOREPROJ

    #

    # Filter out the buldings, lights and plants

    # that are within the exclude polygons

    #AddAttributeIfInside|building="*"|FROMFILE="exclude.kml"|String;skip|yes

    #AddAttributeIfInside|point="light"|FROMFILE="exclude.kml"|String;skip|yes

    #AddAttributeIfInside|FTYPE="POINT" And landuse="forest"|FROMFILE="exclude.kml"|String;skip|yes

    #UnloadFeatures|skip="yes"


    #

    # Plants

    # Place point features for the plants in forest polygons

    # using spacing of 0.00025 degrees and full randomness

    PlacePointsInPolygon|landuse="forest"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR

    PlacePointsInPolygon|natural="wood"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR

    PlacePointsInPolygon|natural="tree"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR

    PlacePointsInPolygon|natural="tree_row"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR

    PlacePointsInPolygon|leisure="park"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR

    PlacePointsInPolygon|leisure="nature_reserve"|0.00025;0.00025|1.0;1.0|INHERITPARENTATTR


    #

    #

    # Create AF2 plants

    # CreateAF2Plant|landuse="forest"|10;20|broadleaf

    # Create AF2 plants

    # CreateAF2Plant|landuse="forest"|10;20|broadleaf

    CreateAF2Plant|landuse="forest" And FRAND < 0.5|8;40|0|broadleaf

    CreateAF2Plant|landuse="forest" And FRAND > 0.5|10;40|0|conifer

    CreateAF2Plant|natural="wood" And FRAND < 0.5|8;40|0|broadleaf

    CreateAF2Plant|natural="tree_row" And FRAND < 0.5|8;40|0|broadleaf

    CreateAF2Plant|leisure="park" And FRAND < 0.5|8;40|0|broadleaf

    CreateAF2Plant|leisure="nature_reserve" And FRAND < 0.5|8;40|0|conifer

    CreateAF2Plant|natural="tree" And FRAND < 0.5|8;25|0|broadleaf

    CreateAF2Plant|landuse="meadow" And FRAND < 0.5|5;12|0|shrub|plant_type_shrub_T00

    CreateAF2Plant|landuse="meadow" And FRAND < 0.5|3;8|0|shrub|plant_type_shrub_T01

    #

    #

    # Create AF2 buildings for polygons that are almost rectanguar

    # Make longer buildings industrial with a flat roof

    #CreateAF2Building|building="commercial"|levels|flat|industrial

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH < 14|2|1|flat|residential|0

    CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH >= 14 And FLENGTH < 28|2|1|gable|residential|0


    CreateAF2Building|building="commercial" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels;2;6|1|flat|commercial|0

    CreateAF2Building|building="apartments" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels;2;6|1|flat|commercial|0

    CreateAF2Building|building="yes" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels;2;6|1|flat|commercial|0

    CreateAF2Building|building="retail" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels;2;6|1|flat|commercial|0

    CreateAF2Building|building="industrial" And FAREARAT>0.7 And FLENGTH >= 28 And levels="*"|levels;2;6|1|flat|industrial|0


    CreateAF2Building|building="commercial" And FAREARAT>0.7 And FLENGTH >= 28|2;4|1|flat|commercial|0

    CreateAF2Building|building="apartments" And FAREARAT>0.7 And FLENGTH >= 28|2;12|1|flat|commercial|0

    CreateAF2Building|building="yes" And FAREARAT>0.7 And FLENGTH >= 28|1;4|1|flat|commercial|0

    CreateAF2Building|building="retail" And FAREARAT>0.7 And FLENGTH >= 28|1;1|1|flat|commercial|0

    CreateAF2Building|building="industrial" And FAREARAT>0.7 And FLENGTH >= 28|2;4|1|flat|industrial|0


    #CreateAF2Building|building="*" And FAREARAT>0.7 And FLENGTH >= 28 and levels= "*"|3:7|1|flat|commercial|0

    #

    # Load Shapefile that will be excluded from processing

    #ImportOGR|d:\construction\KPCW\OSM\exclude.kml|*|*|NOREPROJ

    #

    # Split the features into a grid of 0.25 x 0.25 degrees

    # Do not split buildings, but filter them into the right grid cells

    # SplitGrid|0.25|*|building="*"

    #

    # Lights

    # Place point features for the lights along roads

    PlacePointsAlongLine|highway="motorway"|SINGLE|45;55|6;6|25|String;point|plight|hdg

    PlacePointsAlongLine|highway="primary"|SINGLE|45;55|6;6|25|String;point|plight|hdg

    PlacePointsAlongLine|highway="secondary"|SINGLE|40;40|4;4|20|String;point|slight|hdg

    PlacePointsAlongLine|highway="tertiary"|SINGLE|30;35|4;4|10|String;point|tlight|hdg

    PlacePointsAlongLine|highway="residential"|SINGLE|30;30|4;4|10|String;point|rlight|hdg

    PlacePointsAlongLine|highway="living_street"|SINGLE|30;30|4;4|10|String;point|rlight|hdg



    # Create AF2 lights

    CreateAF2Light|point="plight"|0.9;0.8;0.7|5|0;0;1|10

    CreateAF2Light|point="slight"|0.9;0.7;0.5|3|0;0;1|8

    CreateAF2Light|point="tlight"|0.6;0.6;0.7|3|0;0;1|6

    CreateAF2Light|point="rlight"|0.9;0.6;0.3|3|0;0;1|6



    #

    # Export the AF2 TOC file

    ExportTOC|d:\construction\kbkl\OSM|map

  • Nice - thanks!


    PK, are you able to edit the OSM file to increase the height of each building?

    Yeah, you can specify. add the tag:


    <tag k="levels" v="12"/> to any building, and obviously change the 12 to however many number of floors you want.

    I cant ScenProc to make a tree or tree_line for the life of me. Anyone else get it?

  • I cant ScenProc to make a tree or tree_line for the life of me. Anyone else get it?

    Have a read here: Trees

    Nice - thanks!


    PK, are you able to edit the OSM file to increase the height of each building?

    Ken, you can also add height using this method: high Rise

    Windows 10 64bit | iCore7-7770K| ASUS STRIX Z270E |KHX2400C15D4 - 32GB | Gigabyte Ge-Force GTX 1080Ti| SSD Intel 520 Series | 40" Philips BDM4065UC/75 4K - Oculus Rift

  • If you rename building:levels to levels you must modify the /gdal-data/osmconf.ini and add "levels" to the end of the line that has "building:levels"