3D Urban Visibility Analysis with Vector GIS Data

advertisement

A New Algorithm for 3D Isovist

SULEIMAN Wassim 1 ,

JOLIVEAU Thierry 1 ,

FAVIER Eric 2

1 ISTHME-ISIG CNRS/UMR EVS, Université Jean Monnet - Saint-Etienne.

2 DIPI EA 3719 École Nationale d'Ingénieurs de Saint-Etienne wassim.suleiman@univ-st-etienne.fr

thierry.joliveau@univ-st-etienne.fr

eric.favier@enise.fr

SAGEO 2012 – 7 November 2012 in Liege, Belgium

1

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

Number of rays ?

Resolution ?

Brossard & Wieber

3

2.5 and 3D Isovist solutions

2,5 Raster mode

(Public Eye)

Limitations ?

Voxel mode

(Pyysalo et al. 2009), (Morello & Ratti 2009)

• 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 𝑆𝑒𝑔𝑚𝑒𝑛𝑡

𝐼

[𝜃1 𝜃2

𝐼

𝐼

| .

, 𝜃2

𝐼 is the angular interval , 𝐴𝑉𝑆

𝐼

] . The module of the angle of vision is: |𝐴𝑉𝑆

𝐼

| = |𝜃1

𝐼

=

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:

= {[θ1c, θ2c] ∩ FVF}

(Seg c

) blocks the visibility in the angles 𝐴 𝑐

BVF = BVF ∪ 𝐴 𝑐

S = S – Seg c

, F=FSeg 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 ( Polygon i

) 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

Observer

Projection

Polygon

16

A new algorithm for computing 3D

Isovist

Definitions

■ 𝑆𝐴𝑉𝑃

𝐼

(the solid angle of vision for its projection over the unit sphere.

𝑃𝑜𝑙𝑦𝑔𝑜𝑛

𝐼

) is the surface of

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 |SAVP

I

[Polygon c

, Polygon v

, Polygon t

, … … ] .

|, F =

While (F ≠ ∅ ) do:

= 𝑆𝐴𝑉𝑃 𝑐

∩ FS.

(Polygon c

) blocks the visibility in the solid angles 𝑆𝐴 𝑐

BS = BS ∪ 𝑆𝐴 𝑐

P = P -

FS=FS -

ENDWHILE

Polygon

𝑆𝐴 𝑐

. c

, F = F Polygon c

.

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 wassim.suleiman@univ-st-etienne.fr

28

Download