Construirea de linii de contur pe harta lumii cu ajutorul hărții de bază piton - echipa site-ul oficial easycoding

După cum știți, Python - una dintre cele mai populare și puternice limbaje de programare cu funcționalitate aproape nelimitată. În acest ghid, ne uităm la modul în care să-l folosească pentru a construi un contur pe harta lumii pe date de punct.

În timpul lucrărilor mi-a luat o soluție simplă și scalabilă pentru construirea de hărți meteopoley pe punctul de date (date de stații meteorologice). Există program de OpenGrADS care vă permite să lucrați cu mai multe formate de date, dar decizia de a afișa datele stației nu părea prea elegant. Am ales pitonul din cauza ușurința de utilizare și o bibliotecă puternic, cu Harta de baza metodele necesare de afișare a datelor.

Ca rezultat, programul meu a fost scris pentru a rezolva problema dată în mod corect și fără consumatoare de timp.

Noțiuni de bază

Pentru a lucra are nevoie de pachete NumPy instalate. scipy. matplotlib si harta de baza. Pentru a instala prima serie de trei este suficient pentru a intra în terminal:

Pachetul poate fi descărcat hartă de bază de pe pagina oficială de pe SourceForge. următorul set de comenzi necesare pentru a efectua în mod consecvent pentru instalarea acestui pachet:

Aici / usr / local / Geos - directorul în care doriți să efectuați date geofizice.

Dacă în timpul instalării nu există erori, puteți testa funcționalitatea bibliotecii, care rulează script-ul de test din dosarul exemple:

Dacă totul funcționează corect pe ecran, ar trebui să vedeți următoarea imagine:

Construirea de linii de contur pe harta lumii cu ajutorul hărții de bază piton - echipa site-ul oficial easycoding

contururi de construcții

Se poate observa că, în suprafață imaginea de mai sus construită înălțimea harta Pământului, care este un geopotențial contur, dar în acest exemplu, un set de latitudini și longitudini - matrice dimensionale, iar datele matrice - dimensionale și mi-sarcina a fost de a construi o hartă a datelor la punctele (de la o matrice unidimensională).

Deci, să spunem că avem un fișier cu datele din următorul format:

Dezasambla citirea datelor și a motorului de procesare, nu plec de acest lucru ca un exercițiu pentru cititor. Cu excepția a spune că se poate face, de exemplu, folosind numpy.genfromtxt.

Atunci când datele sunt citite, este timpul pentru a începe de prelucrare. Ideea metodei constă în faptul că vom crea mai întâi o grilă regulat, pe care este suprapus valorile originale, și apoi le interpola în fiecare nod a crea o stivă.

Aici numcols, numrows - este numărul de puncte de grila în latitudine și longitudine. Cu cât rezoluția, cu atât mai mare acuratețea datelor afișate, dar mai mică viteza programului.

În cazul în care datele au fost citite cu succes, și stocate în tablouri lati, Lons și date, este posibil să se creeze o grilă bidimensională auxiliar de valori pentru care vor fi impuse sursă de date, iar valorile la fiecare nod va fi rezultatul interpolării.

Ca parametru metodă pentru a specifica valoarea cea mai apropiată, liniară sau cubică. care corespunde cel mai apropiat vecin interpolare, liniar sau cubică. Comparați rezultatul metodelor poate fi aici.

Tot ceea ce rămâne - este de a trece matrice derivate metoda Basemap.contourf. specificând latlon = Adevărat pavilion. nu a recalcula coordonatele de latitudine și longitudine de pixeli afișate.

Ca urmare, ar trebui să obțineți ceva de genul imaginea de mai jos:

Construirea de linii de contur pe harta lumii cu ajutorul hărții de bază piton - echipa site-ul oficial easycoding

concluzie

În timpul acestui ghid a fost dezasamblat simplu mod de conturare pe punctul de date și arată rezultatul final. Funcția a fost creată, care ia două argumente pe de intrare: prima este o matrice cu formatul de date

în al doilea rând - valoarea maximă care urmează să fie afișată, toate valorile de mai sus vor fi tăiate la această valoare. Fișier cu funcția și un exemplu de apelul este disponibil pe pagina de proiect pe GitHub.