Недавно смо сарађивали са још неколико ЕПА (агенција за заштиту животне средине) широм света. Међу свим захтевима које смо имали, то је заправо пружање услуге веб мапа како би сама ЕПА могла да укључи податке о квалитету ваздуха у реалном времену на мапу са своје веб странице.
Једна од очигледних предности коришћења такве веб услуге за мапе од нас је да имамо користи од прекограничних података које чувамо, тј. информације о квалитету ваздуха у целом свету се пружају без граница земље.
Друга предност није само то што је ово бесплатна услуга, већ је и потпуно компатибилна са стандардним технологијама мапа са гоогле, бинг или летака, што омогућава брзу и лаку интеграцију са било којом постојећом веб локацијом.
--
Крајња тачка услуге мапе плочица
Сервер мапа плочица је доступан са УРЛ адресе `хттпс://тилес.акицн.орг/тилес/{аки}/{з}/{x}/{и}.пнг`, где aqi
означава тип маркера на бити нацртани, што може бити:
usepa-aqi
: Plots markers based on the composite AQI calculated with the US EPA standard.usepa-pm25
: PM2.5 based AQI - if a station does not have PM2.5 reading, then it is not plotted.usepa-10
: Same as above, but for PM10.usepa-o3
: Same as above, but for Ozone (based on the 1 hour breakpoints).usepa-no2
: Same as above, but for Nitrogen Dioxide.usepa-so2
: Same as above, but for Sulfur Dioxide.usepa-co
: Same as above, but for Carbon Monoxide.asean-pm10
: Asean PM10 raw PM10 concentration (explanations).
Испод је пример за 6 појединачних загађивача за Јужну Кину.
Услови коришћења Веб-сервиса
Веб услуга мапа је бесплатна, под условом разумних ограничења коришћења и прихватљиве политике коришћења. Плочице се тренутно освежавају сваких 15 минута (и до 1 сат у случају великог саобраћаја).
Имајте на уму да је капацитет нашег сервера ограничен, тако да задржавамо право да паузирамо услугу у било ком тренутку, на пример ради одржавања перформанси сервера. Ако вам је потребна стабилнија интеграција, контактирајте нас да пронађемо одговарајуће решење, као што је подешавање наменског сервера.
На крају, такође морате да наведете сопствени ИД токена као додатни аргумент крајњој тачки услуге плочица, као што је `токен=_ТОКЕН_ИД_` у следећем УРЛ-у: `хттпс://тилес.акицн.орг/тилес/{аки}/{з }/{x}/{и}.пнг? токен=_ТОКЕН_ИД_ `.
Можете затражити свој ИД токена са ове странице . Само треба да наведете важећу е-пошту и можете да добијете сопствени токен за минут.
Ограничења коришћења веб-сервиса
Када користите услугу, не заборавите да наведете атрибуцију пројекта Светског индекса квалитета ваздуха, као и ЕПА која пружа податке (ако користите услугу мапе за приказ података са одређене локације или извора). Комплетну листу свих ЕПА можете добити са ове везе .
У ствари, немојте се понашати као Светски институт за ресурсе (ВРИ): они су укидали читав наш фид података и поново објављивали податке на сопственој веб страници пројекта без давања икаквог атрибуције за наш рад... То није сасвим у реду када знате да се финансирају до 80 милиона УСД сваке године. Не верујете нам? Проверите овај снимак .
Будућа проширења
Већ радимо на проширењу ове веб услуге како бисмо обезбедили више конфигурација. На пример:
- Да подржи више стандарда осим УС ЕПА, као што су `еуцаки- ккк` за Европски заједнички индекс квалитета ваздуха , `иннаки- ккк` за индијски национални индекс квалитета ваздуха , `рав- ккк` за неконвертоване необрађене податке, итд.
- Више индикатора као што су
wind
(и за тренутну брзину и смер ветра), као и прогнозирани индексventilation
[1] који може бити изузетно користан за прогнозу. - Подршка за
kriging
гео-статистичку процену површине – тј. интерполације попут топлотне карте (слика десно) која може бити корисна за мрежу за праћење ниже густине. - Подршка за просечење података
24 hours
и8 hours
. Наша мапа је тренутно заснована на просеку од 1 сата, али дужи период усредњавања је користан за епидемиолошке студије. - Подршка за рендеровање плочица засновано на
GeoJSON
, омогућавајући прилагођавање маркера и скале боја, као и бољу интеграцију са алатима као што је туфтјс.орг .
Имајте на уму да да бисмо подржали више АКИ стандарда и конфигурација плочица, морамо да повећамо капацитет нашег сервера (и процесорску снагу и меморијски простор), за шта ће нам бити потребно спонзорство. Ако радите за неку од великих компанија у облаку, или на пример Гоогле или Мицрософт и читате ову поруку, зашто онда не размислите о томе да своју компанију учините еколошки прихватљивом ( борба против загађења ваздуха промовисањем свести грађана ) и спонзорисање дела потребног сервера додатни капацитет? То не би само помогло нама, већ би помогло и целој заједници истраживача, научника, статистичара и епидемиолога који раде са подацима и наукама о животној средини.
--
Пример кода: Интеграција са летаком
Леафлет је изузетно кул и лагана ЈаваСцрипт библиотека отвореног кода за интерактивне мапе прилагођене мобилним уређајима, коју је креирао Владимир Агафонкин из МапБок-а.
<div id='map' style='height:380px;' />
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js"></script>
<script>
var OSM_URL = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
var OSM_ATTRIB = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors';
var osmLayer = L.tileLayer(OSM_URL, { attribution: OSM_ATTRIB });
var WAQI_URL = "https://tiles.waqi.info/tiles/usepa-aqi/{z}/{x}/{y}.png?token=_TOKEN_ID_";
var WAQI_ATTR = 'Air Quality Tiles © <a href="http://waqi.info">waqi.info</a>';
var waqiLayer = L.tileLayer(WAQI_URL, { attribution: WAQI_ATTR });
var map = L.map('map').setView([51.505, -0.09], 11);
map.addLayer(osmLayer).addLayer(waqiLayer);
</script>
Пример кода: Интеграција са Гоогле-ом
Гоогле мапе су прилично згодне и бесплатне до 25.000 АПИ позива дневно. Имајте на уму да су гоогле мапе доступне у Кини, али АПИ скрипта за мапе треба да се учита са гоогле.цн (`хттп://мапс.гоогле.цн/мапс/апи/јс`) уместо са уобичајених хттпс://мапс .гооглеапис.цом/мапс/апи/јс урл.
<div id='map' style='height:380px;' />
<script src="https://maps.googleapis.com/maps/api/js"></script>
<script>
var map = new google.maps.Map(document.getElementById('map'), {
center: new google.maps.LatLng(51.505, -0.09),
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 11
});
var t = new Date().getTime();
var waqiMapOverlay = new google.maps.ImageMapType({
getTileUrl: function (coord, zoom) {
return 'https://tiles.aqicn.org/tiles/usepa-aqi/' + zoom + "/" + coord.x + "/" + coord.y + ".png?token=_TOKEN_ID_";
},
name: "Air Quality",
});
map.overlayMapTypes.insertAt(0, waqiMapOverlay);
</script>
Пример кода: Интеграција са Мицрософт Бинг мапама
Бинг мапе су заправо прилично кул, а такође користе овде основну мапу за неке земље. Још увек постоји доста веб сајтова заснованих на Мицрософт мапама (а посебно у домену квалитета ваздуха и времена).
<div id='map' style='height:380px;' style='position:relative;'/>
<script type='text/javascript' src='https://www.bing.com/api/maps/mapcontrol?callback=initBingMap' async defer></script>
<script>
function initBingMap() {
var map = new Microsoft.Maps.Map(document.getElementById('map'), {
center: new Microsoft.Maps.Location(51.505, -0.09),
zoom: 11,
});
var options = {
uriConstructor: "https://tiles.aqicn.org/tiles/usepa-aqi//{zoom}/{x}/{y}.png?token=_TOKEN_ID_",
minZoom: 1,
maxZoom: 15
};
var waqiTileSource = new Microsoft.Maps.TileSource(options);
var waqiTilelayer = new Microsoft.Maps.TileLayer({ mercator: waqiTileSource });
map.layers.insert(waqiTilelayer);
}
</script>