Обновляемая база данных дистанционного мониторинга возгораний: различия между версиями
Нет описания правки |
Нет описания правки |
||
(не показано 18 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
{{Статья| | {{Статья|Опубликована|mod14sync}} | ||
== | Разработка сервиса выполнена компанией [http://nextgis.ru NextGIS]. | ||
{{NextGIS}} | |||
== Источники данных == | |||
Источником данных тепловых аномалий | Источником данных тепловых аномалий | ||
Строка 7: | Строка 11: | ||
[https://lpdaac.usgs.gov/products/modis_products_table/myd14 MYD14] | [https://lpdaac.usgs.gov/products/modis_products_table/myd14 MYD14] | ||
является FTP-сервер [ftp://e4ftl01.cr.usgs.gov USGS]. | является FTP-сервер [ftp://e4ftl01.cr.usgs.gov USGS]. | ||
Каталог MOD14: [ftp://e4ftl01.cr.usgs.gov/MODIS_Dailies_C/MOLT/MOD14.005 MODIS_Dailies_C/MOLT/MOD14.005], | |||
каталог MYD14: [ftp://e4ftl01.cr.usgs.gov/MODIS_Dailies_C/MOLA/MYD14.005 MODIS_Dailies_C/MOLA/MYD14.005]. | Каталог с данными MOD14 (Terra): [ftp://e4ftl01.cr.usgs.gov/MODIS_Dailies_C/MOLT/MOD14.005 MODIS_Dailies_C/MOLT/MOD14.005], | ||
каталог с данными MYD14 (Aqua): [ftp://e4ftl01.cr.usgs.gov/MODIS_Dailies_C/MOLA/MYD14.005 MODIS_Dailies_C/MOLA/MYD14.005]. | |||
В источнике данных могут "пропадать" данные за целые дни. Вопросы по поводу отсутствующих данных можно отправлять по адресу [http://mailto:lpdaac@usgs.gov lpdaac@usgs.gov]. | |||
== Получение данных == | |||
Объединенные по годам данные (2000-2011) и обновляемые данные за 2012 год в форматах ESRI Shape, PostGIS, CSV доступны с описанием на [http://gis-lab.info/qa/mod14-data.html специальной странице]. | |||
== Периодичность синхронизации == | == Периодичность синхронизации == | ||
Строка 23: | Строка 33: | ||
== Результаты синхронизации == | == Результаты синхронизации == | ||
В результате синхронизации скачиваются все файлы метаданных *.xml | В результате синхронизации скачиваются все файлы метаданных *.xml и | ||
осуществляется их анализ | осуществляется их анализ. Анализ проводится по нижеприведённой схеме. | ||
ограничивающий прямоугольник территории РФ, то происходит скачивание | Внутри каждого *.xml-файла присутствует секция подобного содержания: | ||
соответствующего HDF-файла | |||
<syntaxhighlight lang="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> | |||
</syntaxhighlight> | |||
описывающая ограничивающий прямоугольник представленных в HDF-файле | |||
данных. Если этот прямоугольник пересекает ограничивающий | |||
прямоугольник территории РФ (Xмин,Yмин 20,40.6667 : Xмакс,Yмакс 180,84.6667), | |||
то происходит скачивание соответствующего HDF-файла. Архив | |||
НDF-файлов доступен по [http://gis-lab.info/data/mod14sync/ адресу]. | НDF-файлов доступен по [http://gis-lab.info/data/mod14sync/ адресу]. | ||
Все данные сгруппированы по модели спутника и по дате. Данные со спутников | Все данные сгруппированы по модели спутника и по дате. Данные со спутников | ||
Строка 35: | Строка 75: | ||
Так как большинство ГИС не поддерживают формат HDF напрямую, то для удобства | Так как большинство ГИС не поддерживают формат HDF напрямую, то для удобства | ||
использования данные о тепловых аномалиях извлекаются из HDF-файлов и заносятся | использования данные о тепловых аномалиях, попадающих на территорию РФ, | ||
в пространственную базу данных PostGIS. Параметры доступа к базе данных: | извлекаются из HDF-файлов и заносятся в пространственную базу данных PostGIS. | ||
Извлечение происходит следующим образом - информация о всех очагах, присутствующих | |||
в HDF-файле передаётся в базу, в которой в свою очередь осуществляется фильтрация | |||
на предмет принадлежности очага ограничивающему прямоугольнику территории РФ: | |||
<syntaxhighlight lang="sql"> | |||
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)); | |||
</syntaxhighlight> | |||
Параметры доступа к базе данных: | |||
* '''cервер''': gis-lab.info | * '''cервер''': gis-lab.info | ||
Строка 45: | Строка 94: | ||
Каждому пикселу тепловой аномалии в БД соответствеут одна запись. На настоящий | Каждому пикселу тепловой аномалии в БД соответствеут одна запись. На настоящий | ||
момент (2012.08.05) количество записей - | момент (2012.08.05) количество записей - 4545555. Очевидно, что работать | ||
с таким количеством записей напрямую в ГИС не представляется возможным, | с таким количеством записей напрямую в ГИС не представляется возможным, | ||
поэтому рекомендуется вначале подготовить выборку адекватного размера, | поэтому рекомендуется вначале подготовить выборку адекватного размера, | ||
Строка 58: | Строка 107: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
или | |||
'''Пример выгрузки данных из базы данных со всех сенсоров за 2010 год''': | |||
== | <syntaxhighlight lang="bash"> | ||
ogr2ogr -sql "select * from spots where year = '2010'" ./fire14-2010.shp PG:"host=gis-lab.info user=guest dbname=mod14 password=guest" | |||
</syntaxhighlight> | |||
'''Пример запроса к базе по участку с известными координатами''': | |||
<syntaxhighlight lang="bash"> | |||
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))')" | |||
</syntaxhighlight> | |||
Также существуют shape-файлы, разбитые по годам в рамках каждого из спутников, | |||
архив за текущий год обновляется 1 раз в час. Данные доступны по [http://gis-lab.info/data/mod14sync/annual/ адресу]. | |||
== Дополнительно == | == Дополнительно == | ||
Исходный код скрипта по синхронизации доступен [http://pastie.org/private/clljz5pb3gzj38vfyl6rpa здесь]. | Исходный код скрипта по синхронизации доступен [http://pastie.org/private/clljz5pb3gzj38vfyl6rpa здесь]. | ||
{| | |||
|[[Файл:Nextgis.png|link=http://nextgis.ru]] | |||
|Создание открытого ПО ГИС и реализация проектов | |||
|} |
Текущая версия от 09:30, 10 мая 2014
по адресу http://gis-lab.info/qa/mod14sync.html
Разработка сервиса выполнена компанией NextGIS.
Создано в | Веб ГИС для вашей организации по доступной цене |
Источники данных
Источником данных тепловых аномалий 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 раз в час. Данные доступны по адресу.
Дополнительно
Исходный код скрипта по синхронизации доступен здесь.
Создание открытого ПО ГИС и реализация проектов |