Скрипт повинен готувати растрові та векторні тайли для Mapbox (тинти глибин, шейдинг, ізобати, підписи глибин), виправляючи недоліки старого bash-пайплайну.
У мене є вихідні дані (GEBCO глибини та полігони води). Раніше було реалізовано пайплайн на bash + GDAL + py, але він має проблеми:
вода відображається одним кольором замість поділу по діапазонах глибин (потрібно зробити градацію: мілководдя - синій, глибина - білий);
ізобати занадто щільні, перевантажені та «ламані» (потрібно плавні лінії та інтервал ізобат по глибинах, як на морських картах);
берегова лінія виходить піксельною та розмита (потрібно зробити її чіткою з використанням векторних полігонів води).
Потрібно переписати пайплайн з урахуванням цих покращень:
Кліп та обробка вихідного GEBCO (переведення глибин у позитивні).
Згладжування глибин (Gaussian blur).
Генерація bathy tints (колірні діапазони з альфа-каналом).
Генерація hillshade (з прозорістю, для накладання).
Побудова ізобат з різними інтервалами (0.5 м, 1 м, 5 м, 10 м, 25 м залежно від діапазону глибин), їх згладжування та спрощення.
Підписи глибин (soundings) із фільтрацією шуму.
Експортувати результати у форматі MBTiles (растрові та векторні шари), щоб використовувати в Mapbox-карті.
На виході хочу отримати скрипт, який можна запустити однією командою і отримати готові тайли для тестового регіону. Надалі проект масштабуватиметься (Адріатика та інші регіони), тому код має бути читаним та розширюваним.