3D Urban Visibility Analysis with Vector GIS Data

Download Report

Transcript 3D Urban Visibility Analysis with Vector GIS Data

A New Algorithm for 3D Isovist
SULEIMAN Wassim1,
JOLIVEAU Thierry1,
FAVIER Eric2
1ISTHME-ISIG
2DIPI
CNRS/UMR EVS, Université Jean Monnet - Saint-Etienne.
EA 3719 École Nationale d'Ingénieurs de Saint-Etienne
[email protected]
[email protected]
[email protected]
1
SAGEO 2012 – 7 November 2012 in Liege, Belgium
Isovist


Isovist : the visible space from a given point in
space.
Fields of use :
■
■
■
■
■
Urban and landscape planning
Navigation systems
Visual surveillance
Publicity placement
Wireless Network architecture
2
Main technique for computing Isovist :
ray tracing
2D Vector data
2.5D Raster data
Brossard & Wieber
Number of rays ?
Resolution ?
3
2.5 and 3D Isovist solutions
2,5 Raster mode
(Public Eye)
Voxel mode
(Pyysalo et al. 2009), (Morello & Ratti 2009)
Limitations ?
• The identity and the individuality of the special entities
(buildings for example) is lost
• The precision is related to the resolution
4
New algorithms for computing ISOVIST
in 2D and 3D

The principle is to analyze how the spatial entities
(buildings) block the line-of-sight.

The isovist will be considered as a group of vision angle
associated with spatial entities or free space (if there
is no building blocking the sight).
5
New algorithm for 2D ISOVIST

Assumption
■ 2D space is an aggregation of segments.
■ We will use the polar coordinates centered at the observer
point.
6
New algorithm for 2D ISOVIST

Definition
■ The angle of vision for 𝑆𝑒𝑔𝑚𝑒𝑛𝑡𝐼 is the angular interval, 𝐴𝑉𝑆𝐼 =
[𝜃1𝐼 , 𝜃2𝐼 ]. The module of the angle of vision is:|𝐴𝑉𝑆𝐼 | = |𝜃1𝐼 −
𝜃2𝐼 |.
7
New algorithm for 2D ISOVIST

Definition
■ The free segment is a segment whose the two ends are visible
by the observer.
8
New algorithm for 2D ISOVIST

Definition
■ The free vision field is an angle of vision where there is no
obstacle blocking the line of sight.
9
New algorithm for 2D ISOVIST
Algorithm






BEGIN
Initialize FVF = [0,2π] , BVF= ∅
While (S≠ ∅ ) do:
■ Search for the free segments in S, and then order them with the
increasing|𝐴𝑉𝑆𝐼 |. F = Seg c , Seg v , Seg t , … … .
■ While (F ≠ ∅ )do:
 (Seg c ) blocks the visibility in the angles 𝐴𝑐 ={[θ1c, θ2c] ∩FVF}
 BVF = BVF ∪ 𝐴𝑐
 S = S – Seg c , F=F-Seg c
 FVF = FVF - 𝐴𝑐 .
■ ENDWHILE
■ Eliminate all segments who have angle of vision out of the free vision field
from S. (i.e., the intersection between their angle of vision and the free vision
field is empty).
ENDWHILE
RETURN Results = FVF ∪ BVF.
END.
10
New algorithm for 2D ISOVIST

The complexity
For environnement with N 2D segments, the complexity is in order of
N*log(N)
Comparison with ray tracing, for R ray tracing, The complexity is in
order of (R+N)*log(R+N)
For precision of 10^-6 rad, we need R= 2*π*10^6 ≈ 6,283,000 !!!
11
New algorithm for 2D ISOVIST
Implementation : virtual environment on Matlab
12
New algorithm for 2D ISOVIST
Implementation : real GIS data on Matlab
13
New algorithm for 2D ISOVIST
Autonome application using VB.NET langage
Execution time less than 10 sec
14
A new algorithm for computing 3D
Isovist

Assumption
■
All surfaces in the 3D environment are an aggregation of
polygons.
■
Each polygon (Polygoni ) is presented by its projection on the
unit sphere centered at the observer point.
15
A new algorithm for computing 3D
Isovist
The projection on the unit sphere centered at the observer point.
1
Polygon
Observer
Projection
16
A new algorithm for computing 3D
Isovist

Definitions
■
𝑆𝐴𝑉𝑃𝐼 (the solid angle of vision for 𝑃𝑜𝑙𝑦𝑔𝑜𝑛𝐼 ) is the surface of
its projection over the unit sphere.
17
A new algorithm for computing 3D Isovist

Definitions
■
The free polygon is a polygon whose edges (or the enclosed
frontier segments) are visible from the observer.
18
A new algorithm for computing 3D Isovist

Definitions
■
The free vision field is a solid angle of vision where no obstacle
is blocking the line of sight.
19
A new algorithm for computing 3D Isovist
Algorithm






BEGIN
Initializing FS= {the entire unit sphere}, BS = ∅ .
While (P ≠ ∅) do :
■ Search for the free polygons. And order them with the increasing |SAVPI |, F =
[Polygonc , Polygonv , Polygont , … … ].
■ While (F ≠ ∅ ) do:
 (Polygonc ) blocks the visibility in the solid angles 𝑆𝐴𝑐 = 𝑆𝐴𝑉𝑃𝑐 ∩ FS.
 BS = BS ∪ 𝑆𝐴𝑐
 P = P - Polygonc , F = F - Polygonc .
 FS=FS - 𝑆𝐴𝑐 .
■ ENDWHILE
■ Eliminate all polygons how have angle of vision out of the free vision field (the
intersection between their solid angle of vision and the free vision field is
empty) from P.
ENDWHILE
RETURN Results = FS ∪ BS
END.
20
A new algorithm for computing 3D Isovist

The complexity
For environnement with P 3D polygons the complexity is in order of P
(3D segment – polygon intersection)
Comparison with ray tracing, for R ray tracing, The complexity is in
order of (R+P) (3D segment – polygon intersection)
For precision of 10^-3 rad, we need
R= (π*10^3)*(2*π*10^3) ≈ 19,739,000 !!!
21
A new algorithm for computing 3D Isovist
Implementation on Matlab
Execution time about 2 min
22
A new algorithm for computing 3D Isovist
Autonome application using C# langage
Execution time less than 30 sec
23
A new algorithm for computing 3D Isovist
Autonome application using C# langage
24
A new algorithm for computing 3D Isovist
Arcscene Addin to export the results in format Esri multipatch
25
Conclusion



We propose a new algorithm for computing Isovist in
2D and 3D environment with non-flat topographical
surface.
The new algorithm is faster than usual ray tracing
method.
We develop a stand alone program to calculate the
isovist in 2D and 3D with the possibility to export the
result as Esri shape file like (points-polygons-3D
multipatch).
26
Future work

Using parallel processing like using cuda over GPU.

Thinking about meaning and definition of 3D Visibility
indices (space syntax).
27
Thank you
for your attention !
Suleiman Wassim
[email protected]
28