Отображение векторов с началом и направлением в Google Earth - PullRequest
0 голосов
/ 09 ноября 2019

Хотелось бы отображать векторы направления в определенных местах в Google Earth. В трехмерном инструменте векторы направления отличаются от вектора положения (т.е. 2 географических точки, соединенных линией) тем, что отображаемый размер не зависит от уровня масштабирования, а зависит только от угла аспекта (проекции).

Любое решениесуществующий? Или какая-нибудь идея обходного пути для этого?

Я знаком с KML и уже достиг своей первой цели - отобразить наземный маршрут и выделить области интересов с помощью полигонов. Однако я не нашел решения по моему запросу.

1 Ответ

0 голосов
/ 14 ноября 2019

Вы можете создавать точки с изображениями значков, которые выглядят как стрелки, и вращать их с соответствующими тегами, как в KML ниже. Попробуйте скопировать / вставить это в Earth Pro.

Обратите внимание, что в этом примере я использовал легко доступный значок, где стрелка указывает вниз, но вы можете использовать свой собственный, где стрелка указывает вверх, чтобы заголовок значка соответствовал углу компаса. Кроме того, вы можете поиграть с тегом горячей точки значка, чтобы определить, какая часть изображения значка привязана к точке широты / долготы вашей точки. В этом случае я использовал центр изображения, но вы можете использовать источник или кончик стрелки, если хотите.

<?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>arrow icons with headings</name>

    <Placemark>
        <name>heading: 0</name>
        <Style>
            <IconStyle>
                <scale>3</scale>
                <heading>0</heading>
                <Icon>
                    <href>http://maps.google.com/mapfiles/kml/shapes/arrow.png</href>
                </Icon>
                <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
            </IconStyle>
        </Style>        
        <Point>
            <coordinates>-90,38</coordinates>
        </Point>
    </Placemark>

    <Placemark>
        <name>heading: 75</name>
        <Style>
            <IconStyle>
                <scale>3</scale>
                <heading>75</heading>
                <Icon>
                    <href>http://maps.google.com/mapfiles/kml/shapes/arrow.png</href>
                </Icon>
                <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
            </IconStyle>
        </Style>
        <Point>
            <coordinates>-85,38</coordinates>
        </Point>
    </Placemark>

    <Placemark>
        <name>heading: 150</name>
        <Style>
            <IconStyle>
                <scale>3</scale>
                <heading>150</heading>
                <Icon>
                    <href>http://maps.google.com/mapfiles/kml/shapes/arrow.png</href>
                </Icon>
                <hotSpot x="0.5" y="0.5" xunits="fraction" yunits="fraction"/>
            </IconStyle>
        </Style>
        <Point>
            <coordinates>-80,38</coordinates>
        </Point>
    </Placemark>    

</Document>
</kml>
...