georeference.org
Subscribe to this thread
Home - General / All posts - Where's the skyline?
Mike Pelletier

621 post(s)
#20-Nov-08 14:36

Here's a visual analysis question that I haven't seen on the forum. Would it be possible to map land that skylines as viewed from points along a road. By skyline, I mean land along a ridge that has blue sky behind it rather than more land as viewed from a point.

My thought was to use the visible area tool to map all the land visible from points along a road. Then select surface pixels in the visible area that have the greatest height along radiating lines from the point.

This is easy for a particular point along a road and a particular direction, but would it be possible to automate this somehow for all directions from a viewing location?

The purpose would be to show where buildings might protrude above the skyline if they were built.

Any ideas on this one?

KlausDE


3,275 post(s)
#20-Nov-08 14:56

it's likely you need to encounter the curvature of earth for this purpose as surprisingly near objects drop below the tangential view, i.e. the horizon at an area flat like the sea:

height - distance

1,96 m - 5 km
7,85 m - 10 km
196 m - 50 km
785 m - 100 km
1.766 m - 150 km
3.138 m - 200 km

Mike Pelletier

621 post(s)
#21-Nov-08 08:22

That's true, but if the solution included the Visible Area tool then it should be automatically taken into consideration.

My google search on the topic didn't find much so I'm not sure if this a function that other softwares might have. It might make a cool additional tool to the Visible Area tool as I described below to Nick.

Nick Verge


1,737 post(s)
#21-Nov-08 06:34

"Would it be possible to map land that skylines as viewed from points along a road. By skyline, I mean land along a ridge that has blue sky behind it rather than more land as viewed from a point."

I cannot comprehend from your description what you would like to be able to do. Please explain and clarify, preferably with diagrams. I especially, dont understand what you mean by skyline.

Thanks

Mike Pelletier

621 post(s)
#21-Nov-08 08:17

Nick, here's a graphic that hopefully better explains what I mean.

I think what would be great is if there was another checkbox in the Visible Area dialogue that allowed showing only the visible area from the target sites that skyline (ie, have sky as a backdrop rather than earth).

To make it more user-friendly, it should also allow the user to enter a value for how much land vertically below the skyline to include in the returned area. This would allow showing areas where if someone built a building, say 30 ft high, it would protrude into the skyline. Make sense?

Attachments:
skyline.pdf

KlausDE


3,275 post(s)
#22-Nov-08 00:15

This is an interesting problem that I think you couldn't solve without a loop over all pixel. To reduce this loop you can group pixels in a series of rectangle boundaries. Don't use circle buffers or a line X (I) = 0 ... max width. You might loose or "shade" pixel.

Add building hight to only the selected rectangle and clip the surface behind the rectangle to speed up the loop.

I use the fakt, that you can be seen from a location you can see. I solve this in opposite direction - from possible locations for a building to the complete surface. Usually you have only a limited set of possible locations for a building and you can simply add and manipulate its heigth.

KlausDE


3,275 post(s)
#22-Nov-08 02:33

If you don't follow my simplification what I lined out is an essential part but not sufficient. For each pixel in the resulting surface there must be a test if the angle in vertical plane and view direction is larger for the Building than the for the background horizontal line. The later is the angle on vertical plane to the farest point on the boundary of the ordinary visible area from the street (in your example)

Now you only have to code it The angle is calculated by alpha = arctan(height/distance in xy-plane).

Mike Pelletier

621 post(s)
#23-Nov-08 10:18

Hi Klaus,

Thanks for thoughts but Im not following exactly what your thinking. Maybe the attached map could help.

The process I followed was to pick a point along a road then run the Visible Area tool. Then select some building sites. Then draw some sight lines to see what area was visible with more distant pixels on the sight line showing the skyline area without a building involved.

Next copy the surface and select the pixel (30 meter DEM) under each building and then ran a query to add 10 meters to the copied surface. Then run the Visible Area tool again with the new surface. The map shows what was hidden by the additional height.

What do you think of this approach?

This is a rather inexact method due to the coarse DEM but I suppose it gives a general idea and indicate where site visits are warranted. My ultimate goal is to map areas in advance of building proposals from many sites along a road where skylining might occur. This would allow decision-makers to flag areas needing more site specific review.

Attachments:
skyline.map

Nick Verge


1,737 post(s)
#23-Nov-08 11:08

Mike,

If you only need to determine whether or not a building will be on the skyline or not, as seen from a particular location, determine the answer using the profile tool, by creaing a profile from observation point through the location of the building and beyond.

Mike Pelletier

621 post(s)
#23-Nov-08 11:53

Never have used that before so thanks for pointing in out Nick. Actually I was just trying create a method that could hopefully provide some ideas, in addition to Klaus's, on how one could mao the skyline areas from all along a road in a somewhat automatic way. Or at least this discussion could lead to a good suggestion to sales.

KlausDE


3,275 post(s)
#23-Nov-08 16:35

Actually I hadn't finished thinking.

Where is the skyline? Create the boundary of the visible area and delete all but the farest segments all around 360 deg of the view port. This is where the horizon touches the surface. Draw your line of sight to the building and expand it to this farest boundary of the visible area. Create a point in the surface cell just behind this place. Transfer Height from the surface to this point, the view port and to your building and calculate the vertical angle with the height difference and the horizontal distance with this parameters.

This is not taking into account the possibility of a high building scratching the skyline from behind the horizon.

Currently I 'm stuck and can't show an example because I unwarily tried another simple appraoch that would really show what's happening:

  • I opend World Pane and activated Track Position for the Map.
  • I than opened the Terrain window and activated overlay of the lines of sight and labels
  • I set 'stick to surface' and with the help of the mark in the map placed the view port of the terrain on the street.
  • I turned around and couldn't see the mountain behind line 2 until I added more tiles in display options. I uncausiously choose 32
  • I created an area on top of the point marking the building, added a column height and filled in 30.
  • I then tried to activate the overlay of the building with the area extruded (use height column) - and that's where I'm now because I forgot this is not my 6GB machine on XP64 .

Too late for today. To be continued tomorrow.

KlausDE


3,275 post(s)
#23-Nov-08 16:58

Ha, here we are again. No more memory to display the sight lines but you can see the green visible area, the red skyline and the point at the end sight line 1, the mark for the view port of the terrain window in the map and the absolutly convincing height of that 30 feet (?) building.

Attachments:
Image.jpg

KlausDE


3,275 post(s)
#23-Nov-08 21:47

A little correction. The method comparing the vertical angle of skyline and top of the builing is working for builings behind the skyline as well.

KlausDE


3,275 post(s)
#23-Nov-08 22:45

BTW Visual Area analysation does NOT automatically take curvature of the earth into considertion. We'r in 2.5D and Height is not dealed with as a third parameter of geometric coordinates. But to create a surface of curvatur from a set of circles with the height given above and the center at the view port and subtracting it from the real surface is easy enough to do. As near surface structures have a higher potential to shade distant objects it might be better to include a set of inner circles of earth curvature. It might look meticulous to start with submilimeters but a sand grain of 0.8 mm in 100 m distance shades a manifold in a few kilometers. The reference is not the size of hilles but the size of the building.

0.8 mm - 100 m
20 mm - 500 m
79 mm - 1.000 m
1.96 m - 5.000 m

source: http://de.wikipedia.org/wiki/Erdkr%C3%BCmmung

Mike Pelletier

621 post(s)
#24-Nov-08 15:21

Thanks for brainstorming ideas Klaus. I think the use of terrain tools has some merit but the limitations are the rendering speed and the ability to pick out small nuiances in the terrain view. For example, a building way off in the distance in relation to the skyline. Despite this it might be the best current option.

One could provide a series of images with the possible building locations (parcels) draped onto the image as viewed from points along the road as in your jpg file above. Alternatively one could provide a single image with the visible area and parcel lines draped over the surface and the user could estimate potential skyline areas from that using

I don't see much hope for coming up with a a relatively easy way to map the skyline area (where buildings might encroach into the skyline) as viewed from points along a road. Since what we have so far is a fair amount of work to get the skyline from one point along one sight line. Its way beyond my coding skills.

Seems like maybe the easiest route for one view point along one sight line is using the Profile tool and then make corrections for curvature of the earth if need be.

At this point, I'm thinking my hopes lie in a suggestion to sales. Do others feel this would be valuable in their work or have a twist on its application?

Mike Pelletier

621 post(s)
#24-Nov-08 20:20

I'm having a hard time giving up on this. Klaus - how did you create the line along the furthest visible area from the view point for all 360 degrees?

Do you think this would be worth pursuing? How about the user creates a view point, runs the Visible Area tool, then creates a series of lines from the view point past the area of concern (building sites) then ending at the furthest point of the visible area. Next run a query that selects pixels on the surface following each line that have a height equal to (or below by a user defined amount) the slope as defined by the view point height and the height where each line touches the furthest extent of the visible area. Not so simple to say much less code but I'll try it tommorrow :-)

KlausDE


3,275 post(s)
#25-Nov-08 01:50

For the image I manually splitted the boundary of the visible area and deleted all but the most distant branches only as a prove of concept - and it fits well with the Terrain view. This is to sharpen a feature request. I'm not there jet. As it's now it must be UI-scripted because there is no Visible_Area(surface,geom) in the object model or in raster SQL.

KlausDE


3,275 post(s)
#23-Nov-08 23:08

Your method of comparing the visible area for surfaces with gradually added height will not work because there is no automatic way to distiguish the effect of a building from the effect of a near hill rising above skyline. You better compare with a surface that has only the buildings heiht added at the position of the building.

0 msec Copyright (C) 2007-2008 Manifold.net. All rights reserved.