Как вы создаете форму многоугольника в KML, который расположен в воздухе?

Мне нужно уметь разместить объект многоугольника с заданной высотой в KML, который будет расположен над землей. Я ищу, чтобы отображать информацию о воздушном пространстве в KML, и каждое воздушное пространство имеет малую высоту и высоту.

Ближайшая вещь, которую я смог сделать до сих пор, состоит в том, чтобы создать два многоугольника с разными высотами, чтобы показать воздушное пространство, но у меня нет способа подключить многоугольники, чтобы показать среднюю область.

Спасибо за помощь

Ответ 1

У вас есть два варианта: вы можете создать модель пространства с колладой или множество объектов многоугольника, определяющих каждую грань,

можно определить вертикально ориентированные многоугольники, обратите внимание на направление вашего (по часовой стрелке или против часовой стрелки), так как это повлияет на стиль, просмотр многоугольника снизу сделает его немного темнее

для простой прямоугольной формы вам понадобятся 6 граней

следующий kml - это модифицированная версия примера пятиугольника с одной из вставленных граней вертикул, остальные 4 вертикальные грани должны быть завершены, но вы получите эту идею.

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