KML выдает проблему с высотой линейного кольца, когда он не выдавлен - PullRequest
1 голос
/ 12 марта 2012

Я пытаюсь иметь 2 набора линейных колец на Google Earth.

Тот, который у меня есть, находится на земле и ровно, у него просто цвет, местоположение. выдавливание = 0 и высота = 0 относительно земли.

Тот, который я хочу иметь высоту выдавливания на поверхность. Это подмножество других линейных колец с такими же точками расположения. выдавливание = 1 высота> 0 относительно земли

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

Есть идеи для меня, попробуйте ?, Большое спасибо,

1 Ответ

1 голос
/ 15 октября 2012

Если вы используете LinearRing в качестве внешней границы полигона, вам нужно указать altitudeMode в элементе Polygon.Если вы задаете геометрию LinearRing напрямую, вы должны добавить altitudeMode к элементу LinearRing.

Вот пример KML с двумя местами LinearRing: одно выдавлено с высотой относительно земли идругая плоская поверхность прикреплена к земле:

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
        <name>ring test</name>
        <open>1</open>
        <Placemark>
            <name>extruded</name>
            <LinearRing>
                <extrude>1</extrude>
                <altitudeMode>relativeToGround</altitudeMode>
                <coordinates>
              -122.43193945401,37.801983684521,10
              -122.431564131101,37.8020327731402,10
              -122.431499536494,37.801715236748,10
              -122.43187136387,37.8016634915437,10
              -122.43193945401,37.801983684521,10
            </coordinates>
            </LinearRing>
        </Placemark>
        <Placemark>
            <name>ground</name>
            <LinearRing>
               <altitudeMode>clampToGround</altitudeMode>
                <coordinates>
                -122.4318558244244,37.801933902335
                -122.4315693369527,37.80197196367308
                -122.4315227485117,37.80176063190402
                -122.4318191012996,37.80172146704169
                -122.4318558244244,37.801933902335
            </coordinates>
            </LinearRing>
        </Placemark>
    </Document>
</kml>

Если форма покрывает большую площадь, вы можете установить tessellate = 1 на наземной линейной линии, чтобы она соответствовала кривизнеземля.

...