GIS-LAB

Географические информационные системы и дистанционное зондирование

Импорт данных дистанционного зондирования в Google Earth на примере ASTER (Terralook)

Еще одна утилита, позволяющая удобно загружать данные ASTER (Terralook) и другие растровые данные в Google Earth

Обсудить в форуме Комментариев — 1

Система Google Earth дает возможность пользователю загружать дополнительные космические снимки для сравнения их с архивными данными (базовое покрытие Google Earth) и отмечать на снимках объекты или измененные территории.

Проиллюстрируем операцию загрузки растрового изображения в Google Earth на примере сцены ASTER из коллекции Terralook. Необходимо отметить, что данный подход можно использовать для загрузки практически любых растровых материалов. Для визуализации снимка в Google Earth для него необходимо создать файл *.kml с указанием имени растрового файла и координатами углов. Пример файла *.kml для визуализации снимка ASTER в Google Earth:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<GroundOverlay>
<name>20070716_075356</name>
<Icon>
<href>images/AST_L1B_00310142005075842_20071023213053_12088.jpg</href>
</Icon>
<LatLonBox>
<north>47.056636</north>
<south>46.356526</south>
<east>47.798156</east>
<west>46.664583</west>
</LatLonBox>
</GroundOverlay>
</kml>

Координаты углов Вы можете найти в файле *.txt в папке images. Имя у снимка и соотвествующего текстового файла одинаковые. Вам необходимо использовать набор координат Full Image. Координаты приведены в формате Y X.

Пакетное создание файлов kml

Для создания файлов *.kml для набора снимков ASTER можно использовать прилагаемый скрипт на языке PERL (generate_kml.pl). Для создания файлов достаточно скопировать скрипт в папку распакованной коллекции и запустить. О создании и запуске скриптов perl можно прочитать в специальной статье. При формировании имени выходного файла скрипт использует дату и время исходного снимка. Имя выходного файла будет иметь формат: ГГГГММЧЧ_ЧЧММСС.

#!/usr/local/bin/perl
@dir=readpipe("dir images\\*.jpg /O:N /B");
$files=@dir;
for($inc=0;$inc<$files;++$inc)
{
$line = @dir[$inc];
chomp($line);
($name,$ext)=split('\.',$line);
if ($ext eq "jpg")
{
$line =~ s/.jpg//;
(@temp)=split('\_',$line);
$year=substr @temp[2],7,4;
$date=substr @temp[2],3,4;
$time=substr @temp[2],11,6;
$newname=$year.$date."\_".$time;
open (TEXT, "images\\$line.txt");
@text=<TEXT>;
$linet=@text[5];
chomp($linet);
(@linet)=split('\ ',$linet);
$north=@linet[3];
$west=@linet[4];
$east=@linet[8];
$linet=@text[6];
chomp($linet);
(@linet)=split('\ ',$linet);
$south=@linet[3];
close (TEXT);
open (OUT, ">$newname.kml");
print OUT"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<kml xmlns=\"http://earth.google.com/kml/2.1\">
<GroundOverlay>
<name>$newname</name>
<Icon>
<href>images/$line.jpg</href>
</Icon>
<LatLonBox>
<north>$north</north>
<south>$south</south>
<east>$east</east>
<west>$west</west>
</LatLonBox>
</GroundOverlay>
</kml>\n";
close (OUT);
}
}

Обсудить в форуме Комментариев — 1

Последнее обновление: September 09 2021

Дата создания: 06.11.2007
Автор(ы): Пётр Потапов