По своему дизайну вы можете иметь несколько файлов KML в одном файле KMZ. Таким образом, вы можете объединить много файлов KML в один файл KMZ, который загружается, отправляется по электронной почте или доступен в автономном режиме.
Google Планета Земля может масштабироваться до большого количества объектов (50 000 или более) в одном файле KMZ, если функции разделены на несколько файлов KML и KML определен так, что все подчиненные Файлы KML не отображаются сразу. KML предоставляет механизмы для управления отображением объектов или вложенных KML-файлов с использованием фильтрации по времени, региону или высоте.
Большие KML-файлы можно масштабировать, используя любой из следующих методов:
- NetworkLinks
- Регионы
- Стиль папки радио или явная видимость = 0
NetworkLinks
Вы можете иметь любой уровень NetworkLinks из корневого KML-файла от простого (один KML-файл с сетевыми ссылками на все другие KML-файлы в KMZ) до глубокого (каждый KML-файл с NetworkLink на другие KML-файлы, каждый со своим собственный NetworkLink). Зависит от того, как вам нужно структурировать ваш KML и насколько велики данные.
Ключ заключается в том, что Google Планета Земля выбирает первый KML в качестве корневого файла KML, поэтому вы должны убедиться, что первый файл (обычно с именем doc.kml) является корневым файлом KML, который загружает другие файлы KML по сетевым ссылкам. Общая структура состоит в том, чтобы включать дополнительные файлы KML в подпапку «kml», чтобы отличать ее от корневого файла KML.
Вот пример KMZ с 4 записями файла: корневой файл KML (doc.kml), который содержит NetworkLink для " kml / sub1.kml " и другой для " kml / sub2.kml".", который в свою очередь имеет NetworkLink для" sub3.kml"также в подпапке" kml ".
== test.kmz ==
+doc.kml
NetworkLink > kml/sub1.kml
NetworkLink > kml/sub2.kml
+kml/sub1.kml
+kml/sub2.kml
NetworkLink > sub3.kml
+kml/sub3.kml
Вот структура такого doc.kml файла:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<NetworkLink>
<name>NetworkLinked sub-item</name>
<Link>
<href> kml/sub1.kml </href>
</Link>
</NetworkLink>
<NetworkLink>
<name>NetworkLinked sub-item</name>
<Link>
<href> kml/sub2.kml </href>
</Link>
</NetworkLink>
...
</Document>
</kml>
Рекомендуется, чтобы в родительский KML-файл было добавлено более одного NetworkLink с основанными на времени функциями, а затем добавьте элемент <TimeSpan>
, включая полный диапазон времени для этого набора функций, в противном случае Google Планета Земля будет автоматически загрузить весь файл при запуске.
<NetworkLink>
<TimeSpan>
<begin>2007-01-14T01:00:00Z</begin>
<end>2007-01-14T02:00:00Z</end>
</TimeSpan>
<Link>
<href>...</href>
</Link>
</NetworkLink>
Регионы
A Регион
влияет на видимость геометрии метки или изображения наложения. Регионы в сочетании с NetworkLinks обеспечивают доступ к огромным объемам данных в файлах KML. Регион может дополнительно иметь минимальную и максимальную высоту для фильтрации на уровне высоты.
Более подробно, вот учебник по регионам в KML
https://developers.google.com/kml/documentation/regions
Радио Папки
Вы можете дополнительно ограничить то, что отображается в данный момент, используя радиопапки .
Вот пример радиопапки, позволяющей пользователю выбирать только одну из ссылок NetworkLink одновременно.
Это используется, когда контент является взаимоисключающим, и в любой момент времени должен появляться только один набор функций.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="rf">
<ListStyle>
<listItemType>radioFolder</listItemType>
</ListStyle>
</Style>
<Folder>
<name>One at a time example</name>
<open>1</open>
<description>Link 1 visible by default</description>
<styleUrl>#rf</styleUrl>
<NetworkLink>
<name>NetworkLinked sub-item-1</name>
<Link>
<href> kml/sub1.kml </href>
</Link>
</NetworkLink>
<NetworkLink>
<name>NetworkLinked sub-item-2</name>
<visibility>0</visibility>
<Link>
<href> kml/sub2.kml </href>
</Link>
</NetworkLink>
</Folder>
</Document>
</kml>