Team: Alberto Debiasi , Stefano Piffer, Daniele...
Transcript of Team: Alberto Debiasi , Stefano Piffer, Daniele...
Team: Alberto Debiasi , Stefano Piffer, Daniele Magliocchetti and Raffaele De
Amicis
WorldWind Challenge
Nowadays is extremely important to monitor and analyze the urban environment and in particular the urban viability.
In recent years, microscopic traffic simulations have become an increasingly active field of research in transport engineering.
However, often these tools lack in usability and visualization makes it difficult to extract useful information.
Simplifying the interface and improving the usability of these tools can reduce the learning curve substantially.
The added value of our work is the capability to simplify the complex interactions related to traffic analysis, using visualization tools which are able to translate into drawing action the complex input of the traffic simulation.
Develop an interactive system
For the analysis of urban scenario
The test study is the city of Trento
The setup phase is made through drawing actions
The results are generated through graphical components
The generated model is based on the following assumption:
• We suppose that vehicles that start in the same geographical area share the same destinations
Each vehicle is managed as an individual entity by the system.
Each vehicle chooses the route accordingly to the length and the level of congestion of each road.
The user can redirect groups of vehicles located from the same macro area to one or more macro areas.
Visual Analytics tool
Visualization layer
Simulation layer
Jgraph library
WorldWind SDK
Local Data layer
Remote Data layer
WFS request Example of wfs url ...
3D model of the buildings
model of the roads
Road network Cadastral Information
WorldWind Server
DSM & DTM
Vehicle Manager
Render Module
Emitter Manager Parking Area Manager
Not only used as virtual globe
Not only used as visual tool for geographical data
But extended as interactive system performing analysis of urban traffic
http://worldwind.arc.nasa.gov/java/
JGraph is a graph drawing open source software component written in Java.
It contains different algorithms for the shortest path problem.
It is used for the routing of the generated vehicles.
http://www.jgraph.com/
• The digital surface model (DSM) is used to visualize the map of the city.
• It’s a feature already implemented in worldwind.
http://localhost:8080/wms? service=WMS &request=GetMap&version=1.3.0 &crs=CRS:84 &layers=layername &width=512&height=512 &format=image/jpeg &bbox=162.0,-18.0,180.0,0.0&
Example Request Example Response
• The Road Network is loaded in KML format.
• It’s exported from http://www.openstreetmap.org/
<Placemark> <name>Via Vittorio Veneto</name> <Style><LineStyle><color>ff0000ff</color></LineStyle> <PolyStyle><fill>0</fill></PolyStyle></Style> <ExtendedData><SchemaData schemaUrl="#Roads_Geo_WGS84"> <SimpleData name="Name">Via Vittorio Veneto</SimpleData> <SimpleData name="GM_LAYER">highway - residential</SimpleData> <SimpleData name="GM_TYPE">Residential Road</SimpleData> <SimpleData name="id">37133037</SimpleData> <SimpleData name="highway">residential</SimpleData> <SimpleData name="oneway">yes</SimpleData> </SchemaData></ExtendedData> <LineString> <coordinates> 11.125013399999998,46.058851999999987 11.124864099999998,46.05905139999999 4</coordinates> </LineString> </Placemark>
Example KML Example Result in WorldWind
• 3d Model of the buildings in .shp format
• Model of the roads in .shp format
Example Result in WorldWind
• The cadastral information is exposed as WFS • It contains information about the estimated number of persons for each building • Provided by Protezione Civile • We use this information to estimate the number of vehicles for each building
<?xml version="1.0" encoding="UTF-8"?> <wfs:FeatureCollection > <gml:featureMember> <cite:Home_emitter fid="Home_emitter.1741"> <cite:the_geom> <gml:Point srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"> <gml:coordinates>11.12988077,46.06052735</gml:coordinates> </gml:Point> </cite:the_geom> <cite:GINO_ID>52057</cite:GINO_ID> <cite:TIPO>Civile</cite:TIPO> <cite:POPRES>221.0</cite:POPRES> <cite:MAX_AREA>250.486199982</cite:MAX_AREA> <cite:SUM_AREA>4548.05984997</cite:SUM_AREA> <cite:AREAP>0.0550753965966</cite:AREAP> <cite:POP_P2>12.17</cite:POP_P2> <cite:POP_P>12</cite:POP_P> <cite:NEAR_X>11.1298807704</cite:NEAR_X> <cite:NEAR_Y>46.0605273517</cite:NEAR_Y> </cite:Home_emitter> </gml:featureMember> </wfs:FeatureCollection>
http://serviceUrl/geoserver/wfs?request=GetFeature
<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"> <wfs:Query typeName="cite:Home_emitter"> <ogc:Filter> <Intersects> <PropertyName>the_geom</PropertyName> <gml:Polygon> <gml:outerBoundaryIs><gml:LinearRing><gml:coordinates> 11.1295,46.061 11.13,46.061 11.13,46.0605 11.1295,46.0605 11.1295,46.061 </gml:coordinates></gml:LinearRing></gml:outerBoundaryIs> </gml:Polygon> </Intersects> </ogc:Filter> </wfs:Query> </wfs:GetFeature>
Example Request Example Response
Drawing actions for the creation of geographical features
Panel of graphical layers
Panel of operations
The departure area is where the vehicles are generated
The departure area is colored white
The departure area contains the Emitters:
•One for each building
•Generates vehicles accordingly with the estimated number of people living in the associated building
The destination area is where the vehicles will arrive
The destination area contains the Parking lots:
• Randomly generated inside the area
• Fixed capacity of vehicles
• Remove vehicles from the system
The dangerous area is where vehicles cannot transit
It can be generated by the user or imported as KML file
• For example can be an output of a system for modeling gas dispersion
Matlab tool
KML
Vehicle is reaching the destination area
Vehicle is searching for an empty parking lot
speed:=Random(minSpeed, maxSpeed)
if (currNextCarDistance < MAX_CAR_DISTANCE &NCarsInFront > N_CARS_TO_SURPASS){ speed:=nextCarSpeed }else{ speed:=regularSpeed }
weight = road.getLength()+ CAR_PENALTY * road.getNumCars()
When a car is generated the speed is a random value:
The speed changes accordingly with the other cars in the same road: If the car is near another vehicle and the number of cars in front of it is more than 3 then the speed is decreased.
The routing path is based on the Dijkstra algorithm: The weight depends on the length of the road and on the number of vehicles
The routing path is updated every N_STEPS in order to improve the performance.
The color of the vehicle defines its target destination.
for (Emitter emitter : emitters) {
if(emitter.isActive()){
long newTime = System.currentTimeMillis();
long timeRange = newTime - lastTime;
if(NumTotalCars()<NUM_MAX_CARS){
if((indexGeneratedCars>BLOCK_SIZE_GENERATED_CARS)&&(timeRange < CAR_FREQUENCY)){
wait=true;
indexGeneratedCars=0;
}
if(!wait){
Car car = emitter.emitCar();
lastTime=0;
indexGeneratedCars++;
}
}
else if (timeDelta > CAR_FREQUENCY){
wait=false;
}
}}}
The number and the frequency of generated vehicles affect on the performance of the system.
In order to reduce this issue:
• Only a specific number of vehicles can be managed by the system.
• Only a specific number of vehicles can be generated in a range of time.
• example: at most 25 cars can be generated every 3 seconds
No congested
road
High congested
road
Each road has an extruded line
The color represents the level of congestion of the road
The elevation represents the number of vehicles are passed on the road over the entire simulation
Full Parking
Lot
Empty Parking
Lot
The color represents the availability of the parking area.
• Add traffic lights
• Real parking area Improve the
simulation model
• Show summary information for each area
• N° available parking lots
• avg speed of vehicles
Improve the visual analysis
https://interactivesystem.collaborate.org/dashboard