algorithms for gis - bowdoin collegeltoma/teaching/cs350/fall14/lectures/gis_vis.pdf · visibility...

27
Algorithms for GIS: Computing visibility on terrains

Upload: others

Post on 11-Jun-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Algorithms for GIS:!!

Computing visibility on terrains

Page 2: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Visibility on terrains

• Are two points (on a terrain) visible to each other? • What can one see from a given point (on a terrain)? • How much does the visible area increase if we stand on a 10ft ladder? • What is the point with largest visibility? • What is the point with lowest visibility? • How to place an ugly pipe in a scenic area? • How to place a scenic highway? • What is the cumulative visible area from these set of cell towers? • Find a set of tower locations to cover the terrain • …

Page 3: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Visibility on terrains

Problem: • Terrain T + viewpoint v • Compute the viewshed of v: the set of points in T visible from v

Sierra Nevada, 30m resolution

Page 4: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Visibility on terrains

Input: terrain model (DEM = digital elevation model) • grid • TIN (triangulation) !

Output: viewshed model • grid elevation model ==> grid viewshed • TIN elevation model ==> TIN viewshed

Page 5: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Visibility on grid terrains

Sierra Nevada, 30m resolution

Page 6: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Visibility

(u,v) visible iff segment uv does not intersect T

uv is called line-of-sight (LOS)

Page 7: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 8: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 9: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 10: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

v

v

p

p

p'

p'

ay1

y2

y3

y1 = d1 tan ay2 = d2 tan a

d1d2 d3

Page 11: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Viewshed on grids

• The straightforward O( n sqrt n) algorithm • uses linear interpolation • “exact” as much as data allows

!• Better?

!• Van Kreveld, using different model

• nearest neighbor interpolation • O (n lg n)

Grid of n points: sqrt n x sqrt n

Page 12: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Grids with linear interpolation

Page 13: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Grids with nearest neighbor interpolation

Page 14: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 15: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 16: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 17: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

vertical slope(p,a) = (h_p - h_a) / d(a,p)

a

p

Page 18: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 19: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can
Page 20: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

new

old

common

Page 21: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

a1 a2

Page 22: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

future

dead

alive

Page 23: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Van Kreveld’s radial sweep algorithm

Page 24: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Van Kreveld’s radial sweep algorithm

Page 25: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Van Kreveld’s radial sweep algorithm

Page 26: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can

Van Kreveld’s radial sweep algorithm

Page 27: Algorithms for GIS - Bowdoin Collegeltoma/teaching/cs350/fall14/Lectures/gis_vis.pdf · Visibility on terrains • Are two points (on a terrain) visible to each other? • What can