Drawing a circle between two altitudes

612 views
Skip to first unread message

WillOutlaw

unread,
Apr 20, 2006, 7:35:02 PM4/20/06
to KML Discussions
I'm trying to draw a shape that starts at a particular altitude and ends at another altitude.

I can get the shape to work out just fine if I run it from groundlevel to a maximum altitude using extrude, but I can't figure out how to constrain a shape between two altitudes.

For giggles I wanted to try to create a .kml file that depicted the Minneapolis Class Bravo airspace, which looks basically like an upside down wedding cake with rings at 6, 8, 12 and 20 miles, each one starting at a higher altitude and continuing up to 10,000 feet.

I can draw the rings just fine and place their bases at the desired altitudes, I just can't "Fill" upward to their 10,000 foot top.

Hopefully this descriptions makes at least a bit of sense.

Basically, I've got....

<Placemark>
<name>circle</name>
<visibility>1</visibility>
<Style>
<geomColor>ff0000ff</geomColor>
<geomScale>1</geomScale></Style>
<LineString>
<altitudeMode>absolute</altitudeMode>
<coordinates>
-93.2365333,45.096138788743,914.4 -93.2365333,45.096138788743,914.4 etc... </coordinates>
</LineString>
</Placemark>

... and would like do give both a minimun and maximum elevation.

Any help would be most appreciated.

Thanks!

Will

tekgergedan

unread,
Apr 21, 2006, 8:51:40 AM4/21/06
to KML Discussions
Hi
Never tried and dont know whether to fit your need. See this: http://bbs.keyhole.com/ubb/showthreaded.php/Cat/0/Number/23634/page/

There are other "circle" discussions. Make some "Search" for the Support Forums.

I hope, helpful...

Hanglider

unread,
Apr 21, 2006, 9:16:58 AM4/21/06
to KML Discussions
I've been trying to work this out too, and have finally found a solution.

Using this drawing tool GE-Path http://paginas.terra.com.br/informatica/sgrillo/googleearth/index.htm

And created 4 circles two set at one size and the other two 0.1 smaller.

Then I set the heights for each.
Two of the Circles are set as an InnerCircle and OuterCircle

<Polygon>
<altitudeMode>absolute</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
144.541891904055,-37.4369317092636,10000 etc
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
144.543372175666,-37.4381145015506,2500 etc
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>

Ive only made one so far but will continue till I get a close presentation of the Victorian Airspace.

Download the Placemark above for the example.
393907-MelbourneInt.kmz

tekgergedan

unread,
Apr 21, 2006, 9:24:57 AM4/21/06
to KML Discussions
It is 0deg relative to the horizon. How will you give it an angle?

Hanglider

unread,
Apr 21, 2006, 11:56:20 AM4/21/06
to KML Discussions
Here is the on going project, I've created Multiple circles and stacked them up at the correct altitudes. Check this Placemark for the steps of Class C Airspace from the Surface up to 18000'
394081-MelbourneInt.kmz

tekgergedan

unread,
Apr 21, 2006, 12:18:21 PM4/21/06
to KML Discussions
When turning around it, I see some darker areas on its side. Is it intentionally done?

Hanglider

unread,
Apr 21, 2006, 12:27:46 PM4/21/06
to KML Discussions
No, this seems to be a shading thing. When you set the transperancy to full it shows as a solid colour, but when set to say 50% as you look through it, it seems to show some areas darker!

WillOutlaw

unread,
Apr 24, 2006, 10:29:02 AM4/24/06
to KML Discussions
Ok, I see what you're getting at. Thanks for the tip!

(Now I also want to go fly in Australia, it looks lovely! :-) )

I'm still having one issue: I can get the top and bottom circles (inner and outer) to draw just fine but I'm not getting the whole thing to fill in.

Instead, I've got just the rings, no fill, regardless of the 'transparency' setting.

I've tried a bunch of different approaches to my polygon without much luck.

I know you put a bunch of work into it, but could you ship a raw KML file so I can take a look and compare it to mine?

I've done the following:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">


<name>MSP Class B 20 NM Ring</name>
<Placemark><visibility>1</visibility>

<name>circle</name>

<Style>
<LineStyle>
<color>ff00ffff</color>
</LineStyle>
<PolyStyle>
<color>7f00ff00</color>
</PolyStyle>
</Style>

<Polygon>
<extrude>0</extrude>


<altitudeMode>absolute</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>

-93.2365333,45.185636862521,1219.2 etc... ( lots of coordinates for the outer ring, lower boundary)

-93.2365333,45.185636862521,3048 ( lots of coordinates for the outer ring, upper boundary)


</coordinates>
</LinearRing>
</outerBoundaryIs>


<innerBoundaryIs>
<LinearRing>
<coordinates>
-93.2365333,44.896498098315,1219.2 etc... ( lots of coordinates for the inner ring, lower boundary)

-93.2365333,44.896498098315,3048 etc... ( lots of coordinates for the inner ring, upper boundary)
</coordinates>
</LinearRing>
</innerBoundaryIs>


</Polygon>
</Placemark>
</kml>
397748-20nm_testc.kml

WillOutlaw

unread,
Apr 24, 2006, 10:58:59 AM4/24/06
to KML Discussions
Whoops, not enough coffee this morning.

I think I've got it figured out.

WillOutlaw

unread,
Apr 24, 2006, 1:31:27 PM4/24/06
to KML Discussions
Well, here's the Minneapolis Class Bravo airspace, along with some fixes that are used to define the GPS-14L approach into the Crystal Airport.

I haven't added the odd-shaped cutouts that extend beyond the 20NM ring, but major thanks to Hanglider for showing me the way!

Cheers!
397959-MSP_Class_Bravo_Airspace_In_Progress.kml

mcshea98

unread,
Apr 25, 2006, 12:29:34 AM4/25/06
to KML Discussions
WillOutlaw and Hanglider,

This is an excellent workaround. It is relatively simple and does not require a 3D modeling engine.

This is how I understand it (let me know if I mess anything up):

If you want to draw a slice of circular airspace, you need to create several polygons. One for the bottom of the "pie", one for the sides and one for the top.

The top and bottom are relatively easy, all you have to do is create a filled circle using a kml circle generator. Example Here
The sides are the hard part.

1. Create a circle with the correct radius at your max altitude. Radius 10000m, alt 3000m
2. Create a circle with the radius minus one meter at your minimum altitude. Radius 9999m, alt 1000m
3. Edit both circles in a text editor.
3.5 Reverse the order of the grids on the smaller circle (This itself is a large task if you are trying to do it by hand)
4. Copy the <outerBoundaryIs>..........</outerBoundaryIs> part from the smaller circle and paste it in the larger circle file immediatley after :
Code:
    <outerBoundaryIs>
<LinearRing>
<coordinates>
-122.084073,37.5118315284,3000
...
-122.084073,37.5118315284,3000
</coordinates>
</LinearRing>
</outerBoundaryIs>



5. Change the second <outerBoundaryIs> to <innerBoundaryIs> and </innerBoundaryIs>. The result should be this:
Larger Radius Data
Smaller Radius Data

Code:
<Placemark>
<name>Airspace</name>
<Style>
<LineStyle>
<color>7fff0055</color>
</LineStyle>
<PolyStyle>
<color>4cff5555</color>
</PolyStyle>
</Style>
<Polygon>
<altitudeMode>absolute</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.084073,37.5118315284,3000
...
-122.084073,37.5118315284,3000
</coordinates>
</LinearRing>
</outerBoundaryIs>

<innerBoundaryIs>
<LinearRing>
<coordinates>
-122.084073,37.5118225453,1000
....
-122.084073,37.5118225453,1000
</coordinates>
</LinearRing>
</innerBoundaryIs>

</Polygon>
</Placemark>


6. Save the new placemark.

If you wanted to clean up the way the placemark appears in my placemark, you could merge the Top, Bottom and Sides into one <MultiGeometry>.

Note: I have not determined the minimum change in the radius of the circle. Nor have I determined the minimum number of points required. It seems to be dependent on the the actual radius and the change in altitude. I have been able to do this with a very large square (over 30 nm); however, I have been unsuccessful in smaller areas.

Attached is a really messy example.
398528-3DAirspace.kml

baignoire

unread,
Apr 25, 2006, 2:59:26 AM4/25/06
to KML Discussions
hi you all

don't know if this will bring anything new to the thread but i remembered having already seen some floating cylinder for airspace, find an example in the attached placemark

i didnt really read your discussion so i m not sure this will be new or helpfull to you
398574-floatingCylinder.kml

tekgergedan

unread,
Apr 25, 2006, 9:15:29 AM4/25/06
to KML Discussions
Hi,
Your folder is rather a polygonic shape and includes many placemarks. What is tried here is a real circle that can be managed in a simple way (easy/true way = easy management).

Valery35

unread,
Apr 25, 2006, 12:59:07 PM4/25/06
to KML Discussions


http://bbs.keyhole.com/ubb/showflat.php?...&PHPSESSID=
I make it as test for DAFIF data (3D BNDRY and SUAS)

Hanglider

unread,
May 2, 2006, 10:19:28 AM5/2/06
to KML Discussions
Hi Guys

I've almost completed the Airspace model for Victoria Australia.

Will give the MuliGeometry ago as it will keep things nice and simple to view.
406620-VicControledAirspace.kmz

Hanglider

unread,
Jun 24, 2006, 5:19:43 AM6/24/06
to KML Discussions
This is the Airspace model competed and incorparated into a file showing the Hang Gliding and Paragliding sites in Victoria Australia.

Also added is the Restricted areas, and the class C steps as single layers so they can be flown under or above down to the Primary Airports.

Fly safe.
474607-HGandPGsitesinVictoria.kmz

reinier11

unread,
Jun 26, 2006, 6:39:49 AM6/26/06
to KML Discussions
Hi Hanglider,

That is very interesting. I'm working on a similar project, and I have a little problem. Maybe you can help me.

I have made a slice of airspace between two altitudes, and the lower surface is very dark. I noticed that you did not add a top surface to some of the volumes. Is that the only way to create a brightly colored lower surface or did you do that for another reason?

By the way, do you realize that the horizontal surfaces do not follow the curvature of the earth? In large surfaces, this causes a significant error. For example, at the centre of the R358EC restricted area the boundary is around 3800 ft instead of 6000 ft. You can correct this by creating some lines in the surface. Like a mesh or a number of concentric circles.
Reply all
Reply to author
Forward
0 new messages