Обновляемая база данных дистанционного мониторинга возгораний

Материал из GIS-Lab
Версия от 10:30, 10 мая 2014; Максим Дубинин (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/mod14sync.html


Разработка сервиса выполнена компанией NextGIS.

Создано в Nextgis.png Веб ГИС для вашей организации по доступной цене

Источники данных

Источником данных тепловых аномалий MOD14 и MYD14 является FTP-сервер USGS.

Каталог с данными MOD14 (Terra): MODIS_Dailies_C/MOLT/MOD14.005, каталог с данными MYD14 (Aqua): MODIS_Dailies_C/MOLA/MYD14.005.

В источнике данных могут "пропадать" данные за целые дни. Вопросы по поводу отсутствующих данных можно отправлять по адресу lpdaac@usgs.gov.

Получение данных

Объединенные по годам данные (2000-2011) и обновляемые данные за 2012 год в форматах ESRI Shape, PostGIS, CSV доступны с описанием на специальной странице.

Периодичность синхронизации

Процесс синхронизации запускается в автоматическом режиме каждые 15 минут. По окончанию синхронизации в конфигурационный файл записывается имя последнего синхронизированного каталога. При следующей синхронизации это имя считывается, конвертируется в дату (имя каталога имеет вид YYYY.MM.DD), от полученного результата отнимается величина обратного просмотра (в днях), после чего выполняется непосредственно процесс синхронизации каталогов, попавших в рассчитанный диапазон. Используемая величина обратного просмотра составляет 2 дня.

Результаты синхронизации

В результате синхронизации скачиваются все файлы метаданных *.xml и осуществляется их анализ. Анализ проводится по нижеприведённой схеме. Внутри каждого *.xml-файла присутствует секция подобного содержания:

<SpatialDomainContainer>
    <HorizontalSpatialDomainContainer>
        <GPolygon>
            <Boundary>
                <Point>
                    <PointLongitude>139.098279575898</PointLongitude>
                    <PointLatitude>53.1580049026083</PointLatitude>
                </Point>
                <Point>
                    <PointLongitude>172.226522450819</PointLongitude>
                    <PointLatitude>48.3897465645636</PointLatitude>
                </Point>
                <Point>
                    <PointLongitude>162.996636607195</PointLongitude>
                    <PointLatitude>31.455147456383</PointLatitude>
                </Point>
                <Point>
                    <PointLongitude>137.797825499087</PointLongitude>
                    <PointLatitude>34.8734794203352</PointLatitude>
                </Point>
            </Boundary>
        </GPolygon>
    </HorizontalSpatialDomainContainer>
</SpatialDomainContainer>

описывающая ограничивающий прямоугольник представленных в HDF-файле данных. Если этот прямоугольник пересекает ограничивающий прямоугольник территории РФ (Xмин,Yмин 20,40.6667 : Xмакс,Yмакс 180,84.6667), то происходит скачивание соответствующего HDF-файла. Архив НDF-файлов доступен по адресу. Все данные сгруппированы по модели спутника и по дате. Данные со спутников TERRA и AQUA доступны с самого первого дня приёма - 2000.02.24 (TERRA) и 2002.07.04 (AQUA).

Использование полученных данных в ГИС

Так как большинство ГИС не поддерживают формат HDF напрямую, то для удобства использования данные о тепловых аномалиях, попадающих на территорию РФ, извлекаются из HDF-файлов и заносятся в пространственную базу данных PostGIS. Извлечение происходит следующим образом - информация о всех очагах, присутствующих в HDF-файле передаётся в базу, в которой в свою очередь осуществляется фильтрация на предмет принадлежности очага ограничивающему прямоугольнику территории РФ:

ALTER TABLE spots ADD CONSTRAINT wkb_geonetry_bbox CHECK (wkb_geometry && ST_SetSRID(ST_MakeBox2D(ST_Point(20,40.6667), ST_Point(180,84.6667)),4326));

Параметры доступа к базе данных:

  • cервер: gis-lab.info
  • логин: guest
  • пароль: guest
  • имя базы: mod14
  • имя таблицы: spots

Каждому пикселу тепловой аномалии в БД соответствеут одна запись. На настоящий момент (2012.08.05) количество записей - 4545555. Очевидно, что работать с таким количеством записей напрямую в ГИС не представляется возможным, поэтому рекомендуется вначале подготовить выборку адекватного размера, сконвертировать её в необходимый формат и уже работать непосредственно с ней. Для выполнения этой задачи можно выбрать любой инструмент, в частности утилиту ogr2ogr.

Пример выгрузки данных из базы за период с 1 августа:

ogr2ogr -sql "select * from spots where date >= '2012-08-01'" ./mod14_2012.shp PG:"host=gis-lab.info user=guest dbname=mod14 password=guest"

или

Пример выгрузки данных из базы данных со всех сенсоров за 2010 год:

ogr2ogr -sql "select * from spots where year = '2010'" ./fire14-2010.shp PG:"host=gis-lab.info user=guest dbname=mod14 password=guest"

Пример запроса к базе по участку с известными координатами:

ogr2ogr result.shp PG:"host=gis-lab.info user=guest password=guest dbname=mod14" -sql "SELECT * FROM spots WHERE wkb_geometry && ST_GeomFromText('POLYGON((73 41, 73 42, 74 42, 74 41, 73 41))')"


Также существуют shape-файлы, разбитые по годам в рамках каждого из спутников, архив за текущий год обновляется 1 раз в час. Данные доступны по адресу.

Дополнительно

Исходный код скрипта по синхронизации доступен здесь.

Nextgis.png Создание открытого ПО ГИС и реализация проектов