2010-02-04 9 views
10

Necesito poder colocar un objeto polígono con una altura determinada en un KML que se ubicará sobre el suelo. Estoy buscando mostrar la información del espacio aéreo en un KML y cada espacio aéreo tiene una baja altitud y un valor de gran altitud.¿Cómo se crea una forma de polígono en un KML que se coloca en el aire?

Lo más parecido que he podido hacer hasta ahora es crear dos polígonos con diferentes altitudes para mostrar el espacio aéreo, pero no tengo forma de conectar los polígonos para mostrar el área central.

Gracias por su ayuda

+0

¿Alguna vez ha encontrado una respuesta a esta pregunta? Estoy interesado en hacer algo similar y me gustaría "flotar" un polígono en el aire –

Respuesta

6

su tiene dos opciones, puede crear un modelo de collada del espacio aéreo, o una serie de objetos poligonales que definen cada cara,

se pueden definir polígonos orientados verticalmente, tenga en cuenta la dirección de su (hacia la derecha o hacia la izquierda) ya que esto afectará el estilo, la visualización de un polígono desde la parte inferior hace que sea un poco más oscuro

por una simple forma rectancular usted necesitará 6 caras

la siguiente kml es una versión modificada del ejemplo del pentágono con una de las caras del vértice completadas, las otras 4 caras del vértice deben estar completas, pero usted tendrá la idea.

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> 
<Document> 
    <name>pm1.kml</name> 
    <Style id="poly"> 
     <LineStyle> 
      <color>f0ffed42</color> 
     </LineStyle> 
     <PolyStyle> 
      <color>e8ff9257</color> 
     </PolyStyle> 
    </Style> 



<Placemark> 
    <styleUrl>#poly</styleUrl> 
     <Polygon> 
      <altitudeMode>relativeToGround</altitudeMode> 
      <outerBoundaryIs> 
       <LinearRing> 
        <coordinates> 
-77.05844056290393,38.86996206506943,500 -77.05552622493516,38.868757801256,500 
-77.05315536854791,38.87053267794386,500 -77.05465973756702,38.87291016281703,500 -77.05788457660967,38.87253259892824,500 -77.05844056290393,38.86996206506943,500 </coordinates> 
       </LinearRing> 
      </outerBoundaryIs> 
     </Polygon> 
</Placemark> 
<Placemark> 
    <styleUrl>#poly</styleUrl> 
     <Polygon> 
      <altitudeMode>relativeToGround</altitudeMode> 
      <outerBoundaryIs> 
       <LinearRing> 
        <coordinates> 
-77.05844056290393,38.86996206506943,400 -77.05552622493516,38.868757801256,400 
-77.05315536854791,38.87053267794386,400 -77.05465973756702,38.87291016281703,400 -77.05788457660967,38.87253259892824,400 -77.05844056290393,38.86996206506943,400 </coordinates> 
       </LinearRing> 
      </outerBoundaryIs> 
     </Polygon> 
</Placemark> 

<Placemark> 
    <styleUrl>#poly</styleUrl> 
     <Polygon> 
      <altitudeMode>relativeToGround</altitudeMode> 
      <outerBoundaryIs> 
       <LinearRing> 
        <coordinates> 
-77.05844056290393,38.86996206506943,500 -77.05844056290393,38.86996206506943,400 -77.05552622493516,38.868757801256,400 -77.05552622493516,38.868757801256,500 -77.05844056290393,38.86996206506943,500 
</coordinates> 
       </LinearRing> 
      </outerBoundaryIs> 
     </Polygon> 
</Placemark> 

</Document> 
</kml> 
+0

Gracias Berwyn, esto es lo que estaba buscando. –

1

Parece que usted está creando 2 polígonos 2D en lugar de un 3d? Se puede crear un polígono 3d normal:

http://code.google.com/apis/kml/documentation/kml_tut.html#polygons

A continuación, echa un vistazo a la etiqueta altitudeMode en KML a "flotar" por encima de la superficie:

http://code.google.com/apis/kml/documentation/altitudemode.html

+0

Gracias por la respuesta geographika. Tiene razón, los polígonos tienen un modo de altitud, pero todos se basan desde cero, excepto en absoluto, que solo hará flotar el polígono pero no le dará profundidad. –

+0

¿Utilizaste la etiqueta en tu polígono para "unir" el polígono desde su altitud al suelo? – geographika

+0

La etiqueta de extrusión es solo si desea extenderla para que no funcione para objetos en el aire. –

Cuestiones relacionadas