KML с сетевыми ссылками и тысячами полигонов

У меня есть 8000 полигонов, которые мне нужно показать на картах Google (определенные почтовые индексы США - не все). У меня есть «корневой» файл KML, содержащий 10 сетевых ссылок, которые делят эти почтовые индексы по регионам. В этих региональных сетевых ссылках у меня больше сетевых ссылок, которые делят их по штатам, в среднем около 300 полигонов на файл. Ниже приведен пример моих файлов KML (например, укороченный):

Корень.kml:

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>regions</name>
    <NetworkLink>
      <Link>
        <href>https://url/region0.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <NetworkLink>
      <Link>
        <href>https://url/region1.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <!-- additional Network Link regions -->
  </Document>
</kml>

регион0.кмл:

?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>region0</name>
    <NetworkLink>
      <Region>
        <LatLonAltBox>
          <north>36.244860000000003</north>
          <south>31.542739999999998</south>
          <east>-109.49429000000001</east>
          <west>-114.66689</west>
        </LatLonAltBox>
        <Lod>
          <minLodPixels>128</minLodPixels>
          <maxLodPixels>1024</maxLodPixels>
          <minFadeExtent>128</minFadeExtent>
          <maxFadeExtent>512</maxFadeExtent>
        </Lod>
      </Region>
      <Link>
        <href>https://url/US-AZ.kml</href>
        <viewRefreshMode>onRegion</viewRefreshMode>
      </Link>
    </NetworkLink>
    <!-- additional State KMLs for this region -->
  </Document>
</kml>

США-AZ.kml:

<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Document>
    <name>US-AZ</name>
    <Region>
      <LatLonAltBox>
        <north>36.244860000000003</north>
        <south>31.542739999999998</south>
        <east>-109.49429000000001</east>
        <west>-114.66689</west>
      </LatLonAltBox>
      <Lod>
        <minLodPixels>128</minLodPixels>
        <maxLodPixels>1024</maxLodPixels>
        <minFadeExtent>128</minFadeExtent>
        <maxFadeExtent>512</maxFadeExtent>
      </Lod>
    </Region>
    <Placemark>
      <name>85208</name>
      <Polygon>
        <outerBoundaryIs>
          <LinearRing>
            <coordinates>-111.68398999999999,33.393230000000003
-111.58019,33.393160000000002
-111.58078999999999,33.404260000000001
-111.58089,33.404260000000001
-111.58078999999999,33.407719999999998
-111.59789000000001,33.407760000000003
-111.59799,33.411209999999997
-111.58909,33.411250000000003
-111.58929000000001,33.414940000000001
...
            </coordinates>
          </LinearRing>
        </outerBoundaryIs>
      </Polygon>
    </Placemark>
    <!-- additional Placemarks -->
  </Document>
</kml>

Кажется, что это нормально работает для первого региона и первого штата в этом регионе (этот пример — US-AZ Arizona), но игнорирует все остальные регионы и штаты. Таким образом, рендерится около 1000 полигонов, но ни один из остальных 8000 полигонов не визуализируется.

При загрузке KML в Google Планета Земля каждый файл состояния KML работает нормально по отдельности.

Я следовал примерам Google Keyhole для NetworkLink и регионов, но, похоже, не имеет значения, что я делаю, чтобы отображались любые другие регионы и сетевые ссылки.

Любые идеи или лучший способ показать 8000 полигонов с помощью карт Google, которые мне могут не хватать (и отображение на карте не занимает много времени)?


person Sean    schedule 11.09.2019    source источник
comment
KmlLayer имеет ограничения/ограничения. Если вам нужно показать все эти данные одновременно, вам, вероятно, потребуется создать собственный тайловый сервер.   -  person geocodezip    schedule 12.09.2019
comment
Все требования соблюдены, кроме 10 сетевых каналов. Это 10 сетевых ссылок на файл kml или 10 через все связанные файлы kml? Если ограничение касается всего документа как «Документа», то у меня есть только от 200 до 800 полигонов/объектов на файл kml (на самом нижнем уровне).   -  person Sean    schedule 12.09.2019
comment
Возможно, это последнее ограничение: количество слоев KML.   -  person geocodezip    schedule 12.09.2019
comment
Карты Google будут следовать максимум 10 сетевым ссылкам, независимо от того, находятся ли они все в файле верхнего уровня или каскадно в подфайлах.   -  person Christiaan Adams    schedule 13.09.2019


Ответы (1)


Спасибо @Christiann Adams и @geocodezip за то, что помогли мне разобраться.

Для всех, у кого есть эта проблема, у вас может быть только 10 сетевых ссылок ВСЕГО через все файлы (как упоминалось в комментариях выше).

Как я справился с этим, у меня было несколько слоев KML с не более чем 10 сетевыми ссылками на файл. Кажется, это работает для меня.

Надеюсь, это поможет кому-то еще.

person Sean    schedule 16.09.2019