Генерация непрерывной интерполированной поверхности из точечных данных с помощью Mapbox GL JS - PullRequest
0 голосов
/ 26 марта 2020

Я относительно новичок в Mapbox и его библиотеке GL JS, но до сих пор был впечатлен его возможностями.

В настоящее время я работаю с набором данных приблизительно из 100 000 точек и пытаюсь изобрести способ быстрого создания / визуализации непрерывной интерполированной поверхности в выпуклой оболочке набора данных, который у меня есть (по сути, пытаюсь создать что-то, что так же быстро / быстро реагирует, как функция тепловой карты, но ищет интерполяцию из значений данных точки, а не из пространственной плотности).

Документация для функциональности тепловой карты обсуждает этот точный сценарий:

Среди карт, которые вы найдете в Интернете, есть две общие категории тепловых карт: те, которые побуждают пользователя исследовать данные с плотными точками, и те, которые интерполируют дискретные значения по непрерывной поверхности, создавая плавный градиент между этими точками . Последний встречается реже и чаще всего используется в научных публикациях c или когда явление распределено по области предсказуемым образом. Например, в вашем городе может быть только несколько метеостанций, но ваше любимое приложение погоды отображает плавный градиент температур по всей территории вашего города. Для вашей местной службы погоды разумно предположить, что, если две соседние станции сообщают о разных температурах, температура между ними будет постепенно переходить от одной к следующей.

Но затем переходит к объясните, что это не так часто, и нет документации / примера для этого типа приложения.

На этом этапе я попытался преобразовать точки в полигоны вороной клетки и цветовое кодирование по значению данных (подход ближайшего соседа к визуализации), но рендер, кажется, борется со 100 000 точек при более низких уровнях масштабирования (от 0 до 8). Кто-нибудь знает, возможно ли создать быстродействующую поверхностную интерполяцию из значений точек? Любые примеры будут фантастичны c.

1 Ответ

0 голосов
/ 09 апреля 2020

Библиотека Mapbox Delaunator - это очень быстрая JavaScript библиотека для триангуляции Делоне по 2D точкам. d3-delaunay и d3-geo-voronoi основаны на этой библиотеке. Вы можете использовать эти библиотеки, а затем отображать результаты на карте с помощью пользовательского стиля слоя .

...