Pull to refresh

Comments 13

Так тут не миллион зданий, а агрегированная информация о миллионе зданий.

С бека на фронт уходят прям реально сотни тысяч и миллионы объектов. Сейчас ограничение около 3 миллионов. Фронт способен отрисовать и такое, например, в визуализации точками или гридами / гексами малого размера, просто это будет уже не так шустро.

Вот так выглядит 20-метровые ячейки:

Так разница между нарисовать полноценный дом или точку вместо 5 домов — огромная.

Пример выше - это не "точка а вместо 5 домов". Это "столбик" в месте расположения каждого дома. Т.е. каждый дом - ячейка грида. Вот детальный зум, чтоб было понятно:



Ну а если хочется прям сами дома, то специально для вас есть вот такой пример. Тут прям контуры зданий, цветовое кодирование соответствует кол-ву организаций в здании.

Вот, и если бы на последней картинке было миллион домов, я был бы удовлетворён, и никаких претензий к заголовку у меня не было.

А, дак у вас претензии к заголовку:) Ну обмана по прежнему никакого нет, способ представления данных может быть разным. Ну и если всё таки хочется увидеть миллион на одной картиночке (ну вы понимаете, что это будет соответствующий зум и симплификация данных), то вот вам ещё одна картиночка, но вряд ли она вам понравится. Это 1180 тыс зданий Москвы и МО.


И можно приблизиться к любому зданию, или всё же симплификация была на уровне входящих данных и зданий там нет?

В Москве - примерно 115 тыс зданий. Данные подгружаются для региона\сегмента, 200 тыс точек за 3 секунды - это в некоторых кейсах полностью закрашивает здания Москвы.

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

По заголовку как раз сразу вспомнил про Deck.gl от Uber'а. Но у них есть свой еще есть инструмент для работы с данными Kepler.gl

Да, крутая штука, вдохновлялись как раз глядя на неё:)

А в итоге данные с сервера на клиент передаются в формате JSON и проходят JSON.parse()? Или с бэка на фронт тоже бинарные данные, как в последних разделах статьи?
Смотрели в сторону других форматов передачи данных от серверка к клиенту?
Возможно, это могло бы ещё сократить время обработки фронта

В данный момент с бекенда уходит json, просто для большого объёма данных (когда в результате больше 10 000 объектов) он готовится в фоне, и на клиент фактически отдаётся файл. Упаковка его в бинарный формат - вариант на будущее. И вы правы, это точно сократит время на фронте.

Sign up to leave a comment.