Перейти к основному содержимому
megapromoting
Давайте обсудим

Экспертиза · Геопространственные данные

Слои наблюдения Земли над территорией, каждый с источником, временем чтения и пределом, записанными рядом с ним.

Мы строим операционную карту территории из публичных источников наблюдения Земли — Copernicus, OpenStreetMap, орбитальные каталоги, государственное ортофото — и связываем с каждым слоем происхождение, момент последнего успешного чтения и то, что именно он не может показать. Измерения публикуются вместе с методом, который их произвёл.

Уже построеноTrei implementări proprii, care se pot deschide azi din exterior. FlowMind rulează pe un VM propriu și are 109 rute API, dintre care nouă vorbesc direct cu Copernicus Data Space Ecosystem (`src/app/api/copernicus/`, verificat prin numărare pe disc). Relieva răspunde 200 și cere imaginea Sentinel live la fiecare încărcare a paginii (680.122 de octeți, verificat cu curl pe 06.09.2026). Orbital Nexus e public pe `https://www.megapromoting.com/satelit/` și propagă local un catalog de aproximativ 11.900 de obiecte. Rezerva care trebuie spusă din prima propoziție: nu deținem niciun satelit și niciun senzor. Copernicus este un program public al Uniunii Europene, iar catalogul orbital vine de la CelesTrak, care redistribuie date întreținute de US Space Force. Ce am construit noi este stratul de deasupra.

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

Нужно сказать ясно, потому что это легко понять неправильно и потому что это утверждение, которое некоторые делают без права: **Copernicus не наш.** Это программа наблюдения Земли Европейского союза со своими спутниками, сенсорами и архивом. Мы аутентифицируемся в Copernicus Data Space Ecosystem с собственными учетными данными типа `client_credentials` и запрашиваем обработанные продукты через API. Разрешение, частота повторного просмотра, облачность и радиометрическое качество — это свойства миссии, а не наши. То же самое для орбитального каталога: он поступает от CelesTrak, с показанной атрибуцией, потому что этого требует их политика. Что мы храним у себя — аутентификацию, правильный запрос, расчет, отрисовку, хранителя происхождения и интерпретацию.

Правило содержания везде одно и то же: цифра публикуется вместе с методом, который ее произвел. Уклон улицы значит одно, если он был рассчитан ядром Horn 3×3 на растре 25 м, и другое, если он был считан из двух точек на расстоянии 30 м. Высота здания значит одно, если она заявлена в OpenStreetMap, и другое, если она оценена по числу этажей. Смешение двух категорий под одним цветом — самый частый способ выдать карту, которая хорошо выглядит и лжет.

Когда источник не отвечает, слой помечается OFFLINE, с причиной, и не заполняется правдоподобным значением. В FlowMind у правила есть автоматический хранитель, `noFakeLive`, который отказывается помечать слой как LIVE без доказательства успешного чтения. Пустой пиксель значит «мы здесь не наблюдали», а не «здесь ничего нет».

Что входит

Работа, по составляющим

Вопрос выбирает сенсор, а не наоборот

Первый этап не технический. «Где деградирует растительность», «где может проехать колесное транспортное средство», «где изменилась поверхность между двумя датами» и «что происходит ночью или под облаками» требуют разных инструментов. Оптический мультиспектральный метод с разрешением 10 м для растительности и воды, C-диапазон радара для условий, когда оптика не видит, тепловая полоса порядка километров для контраста поверхности, модель рельефа для уклона. Неправильно выбранный датчик дает результат, который кажется правильным, но таковым не является.

Мы запрашиваем обработанный продукт, по нужной вам области и временному окну

Мы не скачиваем целые сцены, чтобы потом резать их локально. Запрос к Copernicus содержит географическую область, временной интервал и скрипт оценки, который точно говорит, какая полоса входит и что выходит как пиксель. В FlowMind запросы Sentinel-2 идут по коллекции `sentinel-2-l2a` на endpoint `https://sh.dataspace.copernicus.eu/api/v1/process`; Sentinel-1 — по `sentinel-1-grd`, Sentinel-5P — по `sentinel-5p-l2`. NDVI рассчитывается из B08 и B04, NDWI — из B03 и B08; в evalscript, у источника, а не из уже сжатого изображения.

Мы публикуем цифру вместе с методом, прикрепленным к ней

Каждый блок результата несет отметку происхождения. В Relieva их три: измерено, из источников и предложено. Под картой уклонов буквально написано «COP-DEM GLO-30 · UTM 35N 25 m · Horn 3×3», а под сценой рельефа — вертикальное преувеличение ×3,5, именно потому что преувеличенный рельеф красив и обманчив. Покупатель, который хочет проверить цифру, должен суметь восстановить путь до нее.

Маска облаков, а не удаление облаков

Запросы Sentinel-2 сразу отбрасывают сцены с облачностью более 40% (`MAX_CLOUD_COVERAGE = 40`). В evalscript пиксели, которые полоса классификации сцены SCL помечает как облако, тень облака, cirrus или снег — классы 3, 8, 9, 10 и 11 — возвращаются полностью прозрачными. Удобная альтернатива, заполнение дыры более старой сценой, дает непрерывное изображение, которое смешивает два момента. Мы предпочитаем дыру, потому что ее можно правильно прочитать.

Радар, когда оптика не может

Sentinel-1 C-SAR проходит сквозь облака и работает ночью, с разрешением 10 м, с повторным посещением порядка 6–12 дней. В наших продуктах используется отношение между поляризациями VV и VH как screening по одной сцене: оно показывает различия поверхности и влажности. Это не интерферометрия. Миллиметровые смещения грунта требуют восходящих/нисходящих пар, орбитальных файлов, модели рельефа и этапа разворачивания фазы — отдельной работы, помеченной как таковая в нашем каталоге продуктов, а не чего-то, что мы выдаем по запросу tile.

Поверхностная модель — не модель местности: ловушка, которая не выдает никакой ошибки

Copernicus DEM GLO-30 — это цифровая модель поверхности: в плотном квартале она возвращает высоту крыши, а не проезжей части. Ничто не сигнализирует о проблеме; ошибочными оказываются только цифры. Поэтому геометрия, которая должна стоять на земле, размещается на отфильтрованной поверхности, а уклон измеряется на длинной базе — ниже примерно 60 м между точками измеряется шум растра, а не рельеф. Дополнительное правило не менее важно: если опубликованные статистики были рассчитаны по сырой модели, они остаются по сырой модели, и страница говорит об этом. Смешение двух баз в одном наборе цифр делает их несогласованными.

Городская геометрия из OpenStreetMap, с отдельно сохраненным происхождением высот

Контуры зданий и уличная сеть берутся из OpenStreetMap, с отмеченной датой снимка. В 3D-сцене центра Кишинева из 9.506 контуров только у 1.128 указана высота в OSM; остальные 8.378 оценены как число этажей, умноженное на 3,2 м. Эти две категории окрашены в сцене по-разному. Каждое здание стоит на отметке земли под ним, а не на плоской плите — поэтому блоки поднимаются к парку собора, а не выглядят выровненными.

Орбитальные позиции, рассчитанные локально, с видимой свежестью данных

Точки на глобусе — это не позиции, передаваемые спутниками. Это рассчитанные позиции: мы берем орбитальные элементы, действительные на момент в прошлом, и распространяем их с помощью модели SGP4 до текущего времени. Ошибка растет с каждым днем, прошедшим с последнего обновления, и приложение показывает ее в километрах для выбранного объекта. В FlowMind возраст элементов явно помечается fresh / stale / expired. Расчет работает в отдельном потоке, чтобы интерфейс не зависал.

Картографический фон без платных ключей

3D-сцена драпирует государственное ортофото с `geodata.gov.md` (WMS, Агентство земельных отношений и кадастра) поверх модели рельефа из общедоступных тайлов на AWS Open Data, отрендеренной с MapLibre GL. Без API-ключей и без затрат за отображение. Фон — визуальная ориентация; продукты Copernicus остаются отдельными слоями, каждый со своим спутником, датчиком, разрешением и ограничениями.

Как это выглядит

Путь, шаг за шагом.

01

Мы очерчиваем территорию и формулируем вопрос, на который должна ответить карта

Географическая область, короткий список операционных вопросов и, для каждого, вердикт о том, существует ли публичный источник, который может ответить. Мы поставляем инвентарь источников с их разрешением, частотой и ограничением каждого — включая строки, где написано «публичного источника для этого не существует». Эти строки — самая полезная часть инвентаря.

02

Мы связываем источники и ставим стража перед первым красивым слоем

Аутентификация, серверные маршруты, кэш и — обязательно в этом порядке — правило, запрещающее помечать слой как LIVE без доказательства успешного чтения. Страж пишется до слоёв, потому что потом его никто уже не добавляет. Мы поставляем рабочие маршруты и отчёт о состоянии источников, который можно запрашивать.

03

Мы измеряем один раз, полностью, с методом, указанным рядом с результатом

Репроекция, расчёт, пороги, выбранные по явным критериям — не эстетическим. На карте уклона Кишинёва пороги составляют 8,33%, то есть доступный пандус 1:12, и 12%, выше которого тротуарные роботы, рассчитанные на 10–15%, уже не поднимаются. Мы поставляем цифры, скрипты, которые заново генерируют их из источника, и страницу, которая отмечает каждый блок как измеренный, из источников или предложенный.

04

Мы передаём с ограничениями на виду, а не в подвале

Что карта не может показать, через какой интервал устаревает каждый слой, что происходит, если публичный источник меняет условия или исчезает, и что потребовалось бы для перехода от скрининга к точному измерению. Мы поставляем процедуру обновления и список внешних зависимостей с точкой их разрыва.

STRAT PE HARTĂAcelași teritoriu, citit pe straturi separate.
Straturile peste același teritoriu, unul peste altul: modelul de teren la bază, geometria stradală și amprentele de clădiri deasupra, imaginea optică și radarul ca straturi separate — fiecare cu eticheta lui de rezoluție, cadență și moment al ultimei citiri reușite.

Данные

К чему прикасаемся, где оно лежит и сколько остаётся

Вопросы, которые задаёт всякий, у кого есть ответственный за защиту данных, — заданы здесь раньше, чем их задаст он.

Какие данные затрагивает работа
Обычно данные о территории, а не о людях: мультиспектральная отражательная способность, радиолокационная обратная рассеянность, отметки рельефа, уличная геометрия, отпечатки зданий, орбитальные элементы. Все они поступают из публичных архивов — Copernicus Data Space Ecosystem, OpenStreetMap, AWS Open Data, CelesTrak, государственного портала геоданных.
Где хранятся креденшалы и почему они не попадают в браузер
Доступ к Copernicus осуществляется с идентификатором и секретом клиента через поток OAuth2 `client_credentials` на `identity.dataspace.copernicus.eu`. Запрос токена уходит только с сервера, с тайм-аутом 10 секунд и с обновлением токена за 60 секунд до реального истечения срока. Браузер никогда не видит секрет; он запрашивает наш маршрут, а маршрут запрашивает Copernicus. Если креденшалы не настроены, маршрут возвращает 503, а остальная часть страницы работает.
Что хранится у нас
Плитки изображений хранятся в кэше процесса, с заголовками, которые сообщают, какой продукт и какое разрешение были возвращены. Большие каталоги загружаются после того, как карта уже на экране, и сохраняются локально со сроком: карточка орбитального каталога, почти 7 МБ, хранится в локальной памяти браузера сутки. Производные измерения — уклон, изолинии, высотный профиль — заново генерируются из источника скриптами, а не редактируются вручную.
Указание источника не является опциональным
Публичные источники идут с условиями. Политика CelesTrak требует указания источника и запрещает массовое перераспространение каталога; поэтому панель источников в интерфейсе — это требование, а не украшение. У Copernicus и OpenStreetMap есть свои условия использования и указания источника. В поставке проверка этих условий проводится в начале, а не при запуске.
Когда всё же появляются персональные данные
Это происходит только для одного типа слоя: публичных видеопотоков и изображений, снятых с улицы. Там работа уже не только геопространственная — при получении включаются размывание лиц и номерных знаков, сохранение только производной геометрии и оценка воздействия до первой камеры. Спутниковое изображение с разрешением 10 м этой проблемы не имеет: один пиксель покрывает десять метров земли.

Случай

Плоский бульвар, который измерили с уклоном 13,5%

Ситуация

В собственной работе по измерению рельефа муниципия Кишинёв уклон улиц был рассчитан напрямую по публичной цифровой модели с разрешением 30 м, путём взятия последовательных точек с уличной геометрии. Результат выглядел убедительно и был готов к публикации.

Что мы построили

При проверке один из центральных бульваров — по сути ровный для любого, кто по нему идёт, — показывал уклон 13,5%. Причина была тихой: публичная модель — это модель поверхности, значит, в плотном квартале она возвращает отметку крыши. Две точки на расстоянии 30 м, одна попавшая на карниз, дают разницу отметок, которой нет на проезжей части. Тот же дефект проявлялся и в другом месте: соседние здания оказывались на разной «земле» примерно на 20 м, а дороги показывали медианно 13 м ниже зданий и исчезали между блоками в трёхмерной сцене, потому что дороги следуют долинам, а здания стоят на плато.

Что получилось

Геометрию перенесли на приблизительную поверхность рельефа, полученную фильтрацией окном, более широким, чем квартал, и уклон с тех пор измеряется по длинной базе, а не между последовательными точками, которые могут находиться в нескольких метрах друг от друга — ниже разрешения растра. Уже опубликованные статистики остались, как заявлено, на сырой модели, и страница это поясняет, потому что перенос части цифр на другую базу сделал бы их между собой несогласованными.

Чего этот случай не говорит

Ничто не выдало ошибки. Интерфейс программирования ответил 200, файлы читались, карта рисовалась. Это тот шаблон, который нас больше всего интересует в геопространственных данных: источник работает, а результат тонко неверен. Единственная защита, которая работает, — проверка известного значения: бульвара, о котором вы знаете, что он ровный.

Вопросы

О чём нас спрашивают перед тем, как позвонить

У вас есть собственные спутники?

Нет, ни одного, и датчиков тоже нет. Copernicus — это программа наблюдения Земли Европейского союза — спутники, датчики и архив принадлежат ей. Орбитальный каталог поступает от CelesTrak, который перераспределяет данные, поддерживаемые US Space Force. Мы авторизуемся собственными учётными данными, запрашиваем обработанные продукты через API и строим то, что идёт дальше: расчёт, карту, хранитель происхождения, интерпретацию. Если кто-то говорит вам, что у него есть собственные спутники в Молдове, попросите номер NORAD.

Как часто обновляется изображение?

Это зависит от миссии и облаков, а не от нас. Оптическое мультиспектральное 10 м: порядка 2–5 дней, когда есть сцена без облаков. Радарное 10 м: примерно 6–12 дней, но работает ночью и через облака. Тепловая полоса порядка километра и атмосферные продукты: ежедневно или многодневно. В ноябре с закрытым небом в течение недели оптическому слою просто нечего показывать — и тогда он это пишет, а не подставляет более старое изображение.

Что на практике означает разрешение 10 м?

Один пиксель покрывает десять метров на местности. Видны квартал, сельскохозяйственный участок, отвал, стройплощадка, изменение поверхности. Не видны автомобиль, человек или номерной знак — и поэтому спутниковое изображение этой категории не поднимает вопрос персональных данных. Для атмосферных продуктов пиксель имеет порядок километров: читается тенденция по городу, а не по улице.

Вы можете дать мне точную высоту моих зданий?

Не из этих источников. Публичная модель с разрешением 30 м — это модель поверхности: она возвращает отметку верхней точки того, что там находится, включая крыши и кроны деревьев, — и она слишком грубая для отдельного здания. Что мы можем: сказать, на какой отметке рельефа стоит каждый контур, и там, где OpenStreetMap указывает высоту, использовать заявленное значение, отдельно помеченное как оценка. Для точных высот нужен другой сбор данных: LiDAR или фотограмметрия с дрона. Это полевые работы, а не работа из архива.

Можете ли вы обнаруживать оползни?

Мы можем построить слой приоритизации, но не вердикт. Экран риска сочетает уклон из модели рельефа, потерю когерентности радара, изменение поверхности в оптике и накопление осадков — и выдаёт список зон для проверки. Подтверждение реального смещения требует интерферометрии: пар восходящих и нисходящих сцен, файлов орбиты, развёртки фазы. Это отдельная работа. В наших продуктах различие явно написано рядом со слоем, чтобы никто не читал приоритизацию как детекцию.

Почему на карте появляются пустоты?

Потому что там не было ничего пригодного для наблюдения — обычно облако, тень от облака, cirrus или снег, отфильтрованные из полосы классификации сцены. Пустота — это информация, а не дефект. Альтернатива, заполнение из другой даты, даёт непрерывное изображение, которое смешивает два момента и которое нельзя использовать для сравнения. Та же логика применяется к упавшим источникам: слой пишет OFFLINE и причину.

Положение спутника на карте — это реальное положение, в реальном времени?

Это расчётное положение, а не переданное. Оно начинается с орбитальных элементов, опубликованных в прошлый момент времени, и распространяется до текущего с помощью стандартной модели. Ошибка растёт с возрастом элементов, и мы показываем её в километрах для выбранного объекта и отмечаем возраст данных. Объект с элементами возрастом в несколько дней может находиться на десятки километров от того места, где его показывает точка, — поэтому это пишут, а не скрывают.

Что происходит, если публичный источник меняется или исчезает?

Это реальный риск такого типа работы, и он решается в договоре, а не при инциденте. Публичные источники меняют форматы, квоты использования и условия. Поэтому мы передаём список внешних зависимостей с точкой их разрыва, держим слой доступа изолированным в одном месте кода и помечаем упавший источник в интерфейсе вместо того, чтобы оставлять карту выглядящей рабочей. Платформа, которая скрывает мёртвый источник, опаснее, чем та, которая останавливается видимо.

Данные остаются у вас или у клиента?

Производные результаты — карты, цифры, вычисленные слои — принадлежат клиенту и передаются вместе со скриптами, которые заново генерируют их из источника. Исходные данные остаются там, где они находятся, в публичных архивах, под их лицензиями и условиями атрибуции; мы не распространяем их массово, потому что некоторые лицензии прямо это запрещают. Учётные данные для доступа к Copernicus могут быть у клиента, на его аккаунте, если он хочет полной независимости от нас.

На чём основаны утверждения выше (21 источников)
  1. https://www.megapromoting.com/satelit/ răspunde 200https://www.megapromoting.com/satelit/ · 2026-09-06
  2. https://relieva.vercel.app răspunde 200 și servește 680.122 de octețihttps://relieva.vercel.app · 2026-09-06

19 из них — код и файлы из наших репозиториев. Мы не публикуем их название и строку: вместе, на одной странице, они слишком точно описали бы, как устроены системы, которые принадлежат не только нам. Мы разбираем их вместе с тобой, в репозитории, по запросу — проверка остаётся возможной, просто она проходит в разговоре.

Что вы хотели бы наладить?

Расскажите о своём процессе. Вместе определим, что стоит построить, что можно подключить и как проверим результат.

Давайте обсудим