Не удается отобразить трек в Google Планета Земля, но отлично работает в Картах Google - почему? - PullRequest
1 голос
/ 07 января 2011

Re,

У меня странная проблема ... один трек отказывается показывать в Google Earth.Он отображает расстояние, высоту, все, но нет видимых линий трека.Импорт в Google Maps работает нормально.

По сути, у меня есть файл с более чем 350k точками.При сборке я разделил дорожки по датам и сейчас пытаюсь объединить их (вручную, отредактировав файл KML).Похоже, что когда я пытаюсь объединить метки с тысячами координат, они перестают отображаться в Google Earth;как будто существует ограничение на количество координат, которое может содержать метка.

Вот файл: http://www.upl.co/upload/s4Co0Gc2Q

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

У меня есть LineString с примерно 96000 координат, и я вижу тот же эффект, что я могу загрузить KML в google-earth, и вижу все правильно, за исключением LineString (строки не отображаются), как если бы я превысилопределенный предел.Координаты не имеют высоты.Я попробовал с тесселяцией и без нее и alitudeMode зажимToGround.

Решение для меня было разделить LineString с помощью MultiGeometry, достаточно было разделить его пополам (каждая LineString теперь имеет менее 64000k координат).

1 голос
/ 25 февраля 2011

Вам необходимо использовать элемент <tessellate> в строке.Это указывает, следует ли разрешить LineString следовать рельефу.Чтобы включить тесселяцию, режим высоты должен быть ClampToGround или ClampToSeaFloor.Очень большие LineStrings должны включать тесселяцию, чтобы они следовали кривизне Земли (в противном случае они могут уйти в подполье и быть скрытыми).

Другой вариант - использовать элемент <gx:altitudeOffset>.Это расширение KML в пространстве имен расширения Google, которое изменяет способ отображения значений высоты.Это смещение позволяет перемещать всю LineString вверх или вниз как единое целое без изменения всех отдельных значений координат, которые составляют LineString.(Хотя LineString отображается с использованием значения смещения высоты, исходные значения высоты сохраняются в файле KML.) Единицы измерения в метрах.

Примерно так должно работать.

<LineString id="ID">
  <extrude>1</extrude>                      
  <tessellate>1</tessellate>                
  <altitudeMode>clampToGround</altitudeMode>
  <coordinates><!-- lon,lat[,alt] --></coordinates>            
</LineString>
...