2017-11-29 5 views
0

Ich versuche ein gefülltes Polygon auf den Boden zu legen, indem ich der Oberfläche folge, aber bisher war keiner meiner Versuche erfolgreich. Ich bekomme immer entweder ein gefülltes Polygon, das auf einer bestimmten Höhe schwebt (manchmal durchschneidet es die Geländeoberfläche, abhängig von dieser Höhe) oder eine bloße Kontur des Polygons ohne Füllung. Ich versuchteGefülltes Polygon mit clampToGround in KML Google Earth

  • die Höheninformationen auf 0 (in Koordinaten und mit dem Tag altitude) Einstellung,
  • die altitudeMode zu clampToGround (und clampToSeaFloor) Einstellung,
  • die Namensraum-Erweiterung unter Verwendung von gx, aber alle ohne Erfolg .
  • -Tag tessellate (0 und 1),
  • -Tag extrude (0 und 1 und sogar höhere Werte),
  • die Reihenfolge der Polygonpunkte Umdrehen (Umschaltung vom Uhrzeigersinn zum Gegenuhrzeigersinn),

aber nichts hat funktioniert. Hier

ist ein Beispiel, das ich glaube, richtig ist aber nicht funktioniert (dies keine Füllung für das Polygon zeigt, nur der Umriss):

<?xml version="1.0" encoding="UTF-8"?> 
<kml> 
    <Placemark> 
    <name>Filled Polygon Example</name> 
    <visibility>1</visibility> 
    <Style> 
     <LineStyle> 
     <color>FF00FFFF</color> 
     <width>1</width> 
     </LineStyle> 
     <PolyStyle> 
     <fill>1</fill> 
     <outline>1</outline> 
     <color>FF0000FF</color> 
     </PolyStyle> 
    </Style> 
    <Polygon> 
     <extrude>1</extrude> 
     <altitudeMode>clampToGround</altitudeMode> 
     <tessellate>1</tessellate> 
     <outerBoundaryIs> 
     <LinearRing> 
      <coordinates> 
      13.213,52.793,0 
      13.202,52.803,0 
      13.218,52.829,0 
      13.226,52.807,0 
      13.213,52.793,0 
      </coordinates> 
     </LinearRing> 
     </outerBoundaryIs> 
    </Polygon> 
    </Placemark> 
</kml> 

Wenn Sie clampToGround per E ersetzen. G. relativeToGround, erhalten Sie die Füllung des Polygons, aber es folgt nicht der Oberfläche, sondern schneidet es flach durch.

Ich benutze Google Earth Version 7.1.8 auf Ubuntu 16.04.

Interessant ist, dass ich einige (ziemlich alte) Forenbeiträge gefunden habe, die besagten, dass dies einmal (um 2006) funktioniert hat, leider ohne ein vollständiges Beispiel. Ist das eine verlorene Funktion?

Ich würde mich freuen, wenn jemand ein Beispiel KML, die ein gefülltes Polygon auf der Oberfläche der Erde in Google Earth zeigt bereitstellen könnte.

+0

GE Pro 7.1.8 unter Windows zeigt dies mit clampToGround als ein rot gefülltes Polygon. Könnte ein Linux-Rendering-Problem sein. Haben Sie eine der Renderoptionen Tools/Optionen/3D-Ansicht ausprobiert? z.B. Schalten Sie die anisotrope Filterung usw. aus. – JasonM1

+0

Vielen Dank für die Information, dass dies ein Linux-Problem zu sein scheint! Ich habe verschiedene Möglichkeiten nicht ausprobiert, aber jetzt habe ich es getan, aber nichts hat sich geändert. Dann habe ich es mit einer Windows-Version (in Wine, einem Emulator) ausprobiert. Interessanterweise funktionierte es dort! :-) Also ich gebe zu, dass dies eine fehlende Funktion in der Linux-Implementierung von Google Earth ist und keinen Programmieraspekt hat, den ich falsch mache: - / – Alfe

Antwort

0

Wie @ jasonm1 in einem Kommentar darauf hingewiesen, das Problem existiert nicht in der Windows-Version. Ich habe versucht, Grafikoptionen zu wechseln, aber nichts half. Dann habe ich die Windows-Version in einem Emulator (Wine) ausprobiert. Dort funktionierte der obige Code und mein richtiger Code ohne Probleme. Das Überfüllen gefüllter Polygone mit clampToGround funktionierte ebenfalls wie erwartet. Google Earth scheint im Allgemeinen sehr gut von Wine unterstützt zu werden, also behebt dies mein Problem.

Wäre schöner, eine anständige native Google Earth unter Linux zu haben.

Verwandte Themen