Это вторая часть серии примеров, показывающих, как работать с визуализацией больших наборов данных GeoJSON на интерактивной веб-карте (+100 МБ).

Часть №1 представила набор инструментов из vis.gl (https://vis.gl/frameworks), а именно DeckGL. Недостатком этого подхода является то, что он полагается на MapBox GL для части интерактивной карты, которая начиная с v2 больше не является открытым исходным кодом. Если для вашего проекта важны OSS, MapBoxGL может быть не лучшим вариантом.

К счастью, earcut, библиотека под капотом, которая выполняет триангуляцию полигональной геометрии для WebGL, по-прежнему является OpenSource (еще раз спасибо MapBox 🙏).

Я часто использую LeafletJS в своих проектах, поэтому первое, что я сделал, это написал демонстрацию, сочетающую триангуляцию слухового прохода с листовкой с использованием наложения холста. После некоторого успеха в рендеринге полигонов на основе других примеров — я провел последний поиск существующего плагина для листовок, прежде чем изобретать велосипед… и нашел Leaflet.glify (GL-ify)!

Leaflet.glify — очень мощный плагин, но у него есть некоторые минусы.
Чтобы решить эти проблемы, я устанавливаю одноранговый плагин для листовок под названием Leaflet.glify.layer, который можно использовать как есть, а также он может служить в качестве примера того, как основной плагин Leaflet.glify может быть улучшен в будущем.

Цель состоит в том, чтобы объединить высокопроизводительный рендеринг с удобствами, предоставляемыми собственным слоем L.geoJSON Leaflets.

TLDR; проверить: https://github.com/onaci/Leaflet.glify.layer

Обновлять:

Я также настроил пример того, как это сделать на Python (по аналогии с PyDeck) через плагин для библиотеки Folium, см.:

Вот как на данный момент выглядит версия JavaScript (также: демо):

Есть лучший способ? Дай мне знать!