Flexipy
Індустрії · Послуги · Продукти

Проєкти · глобальний постачальник геоданих

Демографія для будь-якого контуру, який користувач може намалювати

01 Проєкт

Проблема

Демографічні дані існували як національні таблиці та растрові файли. Щоб відповісти «скільки людей живе всередині цього контуру», потрібен був GIS-спеціаліст, настільна програма й ручний експорт — тож питання, яке клієнт ставив за десять секунд, потребувало днів і не могло продаватися як продукт.

Підхід

Сервіс на PostGIS за версіонованим REST API. Користувач малює межу або вивантажує shapefile, частини об’єднуються в один підсумковий полігон, і по ньому рахуються показники — загальна кількість, щільність, темп приросту, розмір домогосподарства та вікові групи від 0–4 і вище — і повертаються через API або експортуються в KML. Робота йде в Celery-завданнях із власними записами статусу, тож клієнт опитує, а не тримає з’єднання.

02 Інженерія

Що було технічно складним

Контур, який малює людина, — це не той контур, який любить база даних. Shapefile приходять із 3D-координатами, які треба сплощити, перш ніж PostGIS їх прийме, у тій проєкції, яку обрало джерело, і з частинами, які накладаються. Кожна межа нормалізується й об’єднується до будь-яких обчислень, а кожен перерахунок піднімає лічильник ревізії інкрементом на рівні бази — бо ту саму цільову групу можуть редагувати двоє, поки завдання для попередньої версії ще виконується.

Одне рішення, і чому

Сервіс відмовляє запит, площа якого перевищує налаштовану межу, і каже про це окремим статусом, а не падає. Необмежений полігон над глобальним набором даних не повільний — він фактично нескінченний, а завдання, яке ніколи не завершиться, виглядає так само, як те, що ще працює. Назвати відмову означало перетворити зависання на відповідь, з якою клієнт може щось зробити.

Інші проєкти

start-project.sh

$ розкажіть, що ви будуєте і де застрягли

Забронювати 30-хв дзвінок

Відповідаємо протягом одного робочого дня.

Поговоримо про ваш проєкт

Виберіть час або напишіть — відповідаємо протягом одного робочого дня.

Станіслав Рибонька · Засновник і провідний інженер

Вибрати час →
або напишіть нам