Nedavno smo sarađivali sa još nekoliko EPA (agencija za zaštitu životne sredine) širom sveta. Među svim zahtjevima koje smo imali, to je zapravo pružanje usluge web karte kako bi sama EPA mogla uključiti podatke o kvaliteti zraka u stvarnom vremenu na kartu sa svoje web stranice.
Jedna od očiglednih prednosti korištenja takve web-usluge za karte od nas je da imamo koristi od prekograničnih podataka koje kuriramo, tj. informacije o kvaliteti zraka u cijelom svijetu se pružaju bez granica zemlje.
Druga prednost je ne samo što je ovo besplatna usluga, već je i potpuno kompatibilna sa standardnim tehnologijama mapa iz google, bing ili letaka, što omogućava brzu i jednostavnu integraciju sa bilo kojom postojećom web lokacijom.
--
Krajnja tačka usluge mape pločica
Server mapa pločica je dostupan sa URL adrese `https://tiles.aqicn.org/tiles/{aqi}/{z}/{x}/{y}.png`, gdje aqi
označava tip markera na biti ucrtan, što može biti:
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).
Ispod je primjer za 6 pojedinačnih zagađivača za Južnu Kinu.
Uslovi korištenja web-servisa
Web usluga mapa je besplatna, pod uvjetom razumnih ograničenja korištenja i prihvatljive politike korištenja. Pločice se trenutno osvježavaju svakih 15 minuta (i do 1 sat u slučaju velikog prometa).
Imajte na umu da je kapacitet našeg servera ograničen, tako da zadržavamo pravo da pauziramo uslugu u bilo koje vrijeme, na primjer radi održavanja performansi servera. Ako vam je potrebna stabilnija integracija, kontaktirajte nas kako bismo pronašli odgovarajuće rješenje, kao što je postavljanje namjenskog servera.
Na kraju, također morate navesti svoj vlastiti ID tokena kao dodatni argument krajnjoj tački usluge pločica, kao što je `token=_TOKEN_ID_` u sljedećem URL-u: `https://tiles.aqicn.org/tiles/{aqi}/{z }/{x}/{y}.png? token=_TOKEN_ID_ `.
Možete zatražiti svoj vlastiti ID tokena sa ove stranice . Vi samo trebate navesti važeću e-poštu i možete dobiti vlastiti token u roku od jedne minute.
Ograničenja korištenja web-servisa
Kada koristite uslugu, ne zaboravite navesti atribuciju projekta Svjetskog indeksa kvalitete zraka kao i EPA koja pruža podatke (ako koristite uslugu karte za prikaz podataka sa određene lokacije ili izvora). Kompletnu listu svih EPA možete dobiti na ovom linku .
Zapravo, nemojte se ponašati kao Svjetski institut za resurse (WRI): oni su ukidali cijeli naš feed podataka i ponovo objavljivali podatke na vlastitoj web stranici projekta bez davanja ikakvog atribucije za naš rad... To nije sasvim u redu kada znate da se finansiraju do 80 miliona USD svake godine. Ne verujete nam? Provjerite ovaj snimak .
Buduća proširenja
Već radimo na proširenju ove web-usluge kako bismo pružili više konfiguracija. Na primjer:
- Za podršku za više standarda osim US EPA, kao što su `eucaqi- xxx ` za Evropski zajednički indeks kvalitete zraka , `innaqi- xxx ` za indijski nacionalni indeks kvalitete zraka , `raw- xxx ` za nekonvertirane neobrađene podatke, itd.
- Više indikatora kao što je
wind
(i za trenutnu brzinu vjetra i smjer vjetra), kao i prognozirani indeksventilation
[1] koji može biti izuzetno koristan za prognozu. - Podrška za
kriging
geo-statističku procjenu površine - tj. interpolacije poput toplotne karte (slika desno) koja može biti korisna za mrežu praćenja niže gustine. - Podrška za prosječenje podataka
24 hours
i8 hours
. Naša mapa je trenutno bazirana na prosjeku od 1 sata, ali duži period prosječenja je koristan za epidemiološke studije. - Podrška za
GeoJSON
renderovanje pločica, omogućavajući prilagođavanje markera i skale boja, kao i bolju integraciju sa alatima kao što je tuftjs.org .
Imajte na umu da da bismo podržali više AQI standarda i konfiguracija pločica, moramo povećati kapacitet našeg servera (i procesorsku snagu i pohranu), za što će nam biti potrebno sponzorstvo. Ako radite za neku od velikih kompanija u oblaku, ili na primjer Google ili Microsoft i čitate ovu poruku, zašto onda ne razmislite o tome da svoju kompaniju učinite ekološki prihvatljivom ( borba protiv zagađenja zraka promicanjem svijesti građana ), i sponzorirate dio potrebnog servera dodatni kapacitet? To ne bi pomoglo samo nama, već bi pomoglo i cijeloj zajednici istraživača, naučnika, statističara i epidemiologa koji rade na podacima i nauci o okolišu.
--
Primjer koda: Integracija s Leafletom
Leaflet je izuzetno kul i lagana JavaScript biblioteka otvorenog koda za interaktivne karte prilagođene mobilnim uređajima, koju je kreirao Vladimir Agafonkin iz MapBoxa.
<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>
Primjer koda: Integracija s Googleom
Google mape su prilično zgodne i besplatne do 25.000 API poziva dnevno. Imajte na umu da su google mape dostupne u Kini, ali API skriptu za mape treba učitati sa google.cn (`http://maps.google.cn/maps/api/js`) umjesto uobičajenih https://maps .googleapis.com/maps/api/js url.
<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>
Primer koda: Integracija sa Microsoft Bing mapama
Bing mape su zapravo prilično cool, a također koriste ovdje osnovnu mapu za neke zemlje. Još uvijek postoji dosta web stranica baziranih na Microsoft mapama (a posebno u domeni kvaliteta zraka i vremena).
<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>