Comment créer une forme de polygone dans un fichier KML qui est positionné dans l'air?

StackOverflow https://stackoverflow.com/questions/2199991

  •  25-09-2019
  •  | 
  •  

Question

Je dois être en mesure de placer un objet polygone avec une hauteur donnée dans un fichier KML qui sera situé au-dessus du sol. Je cherche à afficher les informations de l'espace aérien dans un KML et chaque espace aérien a basse altitude et à haute valeur d'altitude.

La chose la plus proche que j'ai pu faire jusqu'à présent est de créer deux polygones avec des altitudes différentes pour montrer l'espace aérien, mais je n'ai pas moyen de connecter les polygones pour montrer la zone centrale.

Merci pour votre aide

Était-ce utile?

La solution

Votre avez deux options, vous pouvez créer un modèle de Collada de l'espace aérien, ou une série d'objets de polygone définissant chaque face,

polygones verticly orientés peuvent être définis, être prendre note de la direction de votre (à droite ou à gauche) car cela affectera le style, l'affichage d'un polygone à partir du bas, il est légèrement plus foncée

pour une forme simple rectancular vous aurez besoin de 6 visages

le kml suivant est une version modifiée de l'exemple pentagone avec l'une des faces verticle remplis, les autres 4 faces verticle doivent être complètes, mais vous aurez l'idée.

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

Autres conseils

On dirait que vous créez 2 polygones 2D plutôt qu'un 3d? Vous pouvez créer un polygone régulier 3D:

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

Ensuite, vérifiez le tag AltitudeMode dans KML à "flotter" au-dessus de la surface:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top