Browsed by
Month: February 2014

Does the CityEngine webscene viewer work on a Nexus 7 (2012)?

Does the CityEngine webscene viewer work on a Nexus 7 (2012)?

Yes – this is a screen capture of Google Chrome running a webscene on a Nexus 7 (2012 version), it’s not hacked or modded in anyway.   It stutters on anything more than small models.   You’d be better on the newer generation of tablets and mobile devices, dare I say it you would be better to use a Windows tablet?

ce_webscene_nexus7
It does work, just don’t expect it to work well.
3D Flood Mapping Landscapes with CityEngine

3D Flood Mapping Landscapes with CityEngine

Further to my London post I’ve also been experimenting with flood mapping in CityEngine and how best to display it in a webscene.

ce_terrain_flood_animated
The webscene is not animated you have to switch each on in turn…

I’ve been finding that small increments just don’t work very well (lots of z fighting).   On the plus side the new tree rendering in CityEngine 2013 webscenes is fantastic.

You can view the webscene below on my company’s ArcGIS Online site.

ce_flood_map_terrain_01
Biblical title for this webscene, maybe I should model the Ark too…
3D Flood Mapping of London using CityEngine

3D Flood Mapping of London using CityEngine

A topical visualisation today after I wondered whether I could do this whole flood map thing in 3D.   What I’d really like to do next is have the rule file change the building colour as the water level rises… It can be done just not very nicely.  It also demonstrates the real potential of CityEngine to become a responsive Geodesign tool.

London3DFloodCityEngine
This would obviously be a ridiculously large flood, it’s proof of concept really

Yes you can do this all in other packages but in CityEngine I can change the flood height variable and the model changes pretty much instantly (video to come).   I’ve obviously done some pre processing work in ArcGIS to allow for it to work in CityEngine.

cc3d_london_flood_ce_3

Data courtesy of CyberCity3D, who I am providing CityEngine consulting for.

cybercity_logo

 

3D London & Terrains

3D London & Terrains

I’ve been working on the latest CyberCity3D London coverage today, using the terrain map we have and experimenting with the terrain colours.   Sometimes a satellite imagery overlay on terrain in CityEngine just doesn’t seem to work…

Here are some screen shots from ArcGIS CityEngine and the Webscene viewer.

cc3d_london_terrain1
CityEngine
cc3d_london_terrain3
ArcGIS
cc3d_london_terrain2
Webscene
cc3d_london_terrain3_londonbridge
Webscene view of London Bridge –> Click on image to find out more about London Bridge!


Data courtesy of CyberCity3D, who I am providing CityEngine consulting for.

cybercity_logo

One of our Bridges is Missing! Mapping Discrepancies (update: no it isn’t)

One of our Bridges is Missing! Mapping Discrepancies (update: no it isn’t)

One_of_our_BRIDGES_is_missing_movie_poster
Yes, I did spend sometime in Photoshop doing that… quite proud of the bridge…

UPDATE 07/02/2014 :  Read the associated comment on this post from Phil at the Ordnance Survey, quite possibly the best response I’ve ever had on this blog, thank you.

UPDATE 07/02/2014 2: Old Maps at end of this post courtesy of ‘Phil Allen’ FSE Manager at the Ordnance Survey, thank you!

Working with real 3D models of London it sometimes makes sense to place this in context on a boundary map, but I’ve run into to something that’s given me pause for thought….

The City of London is an odd and special part of London I think you’ll agree, I’ve always known it’s administrative boundary as being a little odd (something about bridges…) sure enough on the City of London website there is the boundary showing clearing two bridges are covered in its area.

city_of_london_boundary

Now being a GIS sort of fellow I want to download this boundary set, so visiting the OS OpenData site, I see that something’s up whilst one bridge is clearly there on the left, London Bridge has been excluded (hence my clever title).   What does it all mean?   Well I think probably OS Opendata is generalised in some way and this bit got missed… but I don’t really know.   Downloading boundary data from the Greater London Authority data site doesn’t fix things either (it is just the data set the OS gives).

cc3d_london_terrain3_londonbridge
The 3D London Bridge is from Trimble Warehouse (click on image for more 3D London)

So what does this all mean?  Well it means that the OS may well be the ‘authoritative geographic data’ set for the UK, but it doesn’t mean everything you get from it is without ‘issues’.   Know your data, know its limitations, also did I mention OpenStreetMap seems to get it right?  Why am I relying on data from the OS again?

city_of_london_boundary_OSM
OpenStreetMap better than some give it credit for… (actually maybe not, see comments)

UPDATE 07/02/2014 1:  Read the associated comment on this post from Phil at the Ordnance Survey, quite possibly the best response I’ve ever had on this blog, thank you.

UPDATE 07/02/2014 2: Old Maps below courtesy of ‘Phil Allen’ FSE Manager at the Ordnance Survey, thank you!

image001
1875
image002
1916
image003
1953

 

The Occlusion Theory – Is one geometry touching another?

The Occlusion Theory – Is one geometry touching another?

It’s been a while but I’ve come back to CityEngine and have been experimenting with Occlusion queries, basically it tests to see whether a shape lies inside, overlaps or touches geometry of another shape.

I’m finding it a little tricky to get my head around, most things in CityEngine are assessed very quickly and dynamically, but not this occlusion thing.

Here’s a video which may explain it better, basically as one shape is moved the rule assesses when it is touching another shape, expect it doesn’t always work first time….

 

For those interested here is the CGA code (yes I have looked at this as a way of analysing shapes/buildings that are affected by flooding.  Somewhat topical in the UK this week I think:

 

attr flood_height = 10
attr building_height = 10

attr buildingColor = "#ffffff"
attr floodColor = "#0000ff"
attr waterOpacity = 0.5
Flood-->
	extrude(flood_height)
	comp(f){top :water}

Building-->
	extrude(flood_height)
	comp(f){side :wall}

water-->
	case touches(inter):	color(floodColor) x
	else : set(material.opacity, waterOpacity) color(floodColor) x		

wall-->
	case touches(inter):	color("#ff0000") x
	else : color(buildingColor) x

Suggestions and improvements would be welcome!