Épület szintvonalak a világtérképen a python alaptérkép - hivatalos honlapja easycoding csapat

Mint tudja, Python - az egyik legnépszerűbb és leghatékonyabb programozási nyelv szinte korlátlan lehetőségeket. Ebben a HOGYAN, nézzük meg, hogyan kell használni, hogy építsenek egy kontúr a világtérképet pontadatokkal.

A munka során elvitt egy egyszerű és skálázható megoldás az épület térképek meteopoley ponthoz adatok (meteorológiai állomások). Ott OpenGrADS program, amely lehetővé teszi a munkát több adatformátum, de a döntés megjeleníteni az állomás adatokat nem tűnt túl elegáns. Azért választottam a python, mert a könnyű használat és nagy alaptérkép könyvtár a szükséges módszerek és adatok megjelenítésére.

Ennek eredményeként, a programot írtunk, hogy megoldja az adott probléma helyesen és időigényes.

Az első lépések

A munka szükséges numpy telepített csomagokat. scipy. matplotlib és alaptérkép. Telepíteni az első három sorozatban elég belépni a terminál:

Alaptérkép csomag letölthető a hivatalos oldalra a SourceForge. A következő sor parancs végrehajtásához szükséges következetesen a csomag telepítése:

Itt a / usr / local / geos - a könyvtár, amelyben a végrehajtani kívánt geofizikai adatokat.

Ha a telepítés során nem hiba, meg lehet próbálni a funkcionalitást a könyvtár, a teszt lefuttatása script a példákat mappát:

Ha minden rendben van a képernyőn, akkor a következő képet látja:

Épület szintvonalak a világtérképen a python alaptérkép - hivatalos honlapja easycoding csapat

Az épület kontúrok

Meg kell azonban jegyezni, hogy a fenti képre beépített magasság térkép Föld felszínét, ami egy kontúr geopotential, de ebben a példában egy sor földrajzi szélesség és hosszúság - dimenziós tömb, és a tömb adatok - dimenziós és én feladata az volt, hogy építsenek egy térképet az adatokat (tól egy egydimenziós tömb).

Tehát, mondjuk van egy fájl az adatokat a következő formátumban:

Szétszerelni az adatok olvasását és feldolgozó motor, nem hagylak, hogy ez egy gyakorlat az olvasó számára. Kivéve azt, hogy meg lehet csinálni, például a numpy.genfromtxt.

Amikor adat olvasható, itt az ideje, hogy elkezd feldolgozás. Az ötlet a módszer abban a tényben rejlik, hogy először hozzon létre egy szabályos rács, amelyen egymásra az eredeti értékeket, majd interpoláljanak őket minden csomópont halom létrehozásához.

Itt numcols, numrows - a szám a rácspontok a szélességi és hosszúsági. Minél nagyobb a felbontás, annál nagyobb a pontossága a megjelenített adatokat, de az alsó fordulatszám a program.

Ha az adatok sikeresen olvasni, és tárolni tömbök lat lons és az adatok, akkor létre lehet hozni egy kisegítő kétdimenziós rácsot értékek, melyek forrás adatok kerülnek bevezetésre, és az értékeket minden egyes csomópontnál lesz az eredménye az interpoláció.

Mint módszer paraméter értékének meghatározását a legközelebbi, lineáris vagy köbös. amely megfelel a legközelebbi szomszéd interpoláció, lineáris vagy köbös. Hasonlítsa össze az eredményt a módszer lehet itt.

Minden, ami marad -, hogy adja át a tömbök származó módszer Basemap.contourf. meghatározva latlon = True zászló. hogy nem tervezi újra a szélességi és hosszúsági koordinátáit mutatja pixel.

Ennek eredményeként, akkor kap valamit, mint az alábbi kép:

Épület szintvonalak a világtérképen a python alaptérkép - hivatalos honlapja easycoding csapat

következtetés

Ebben a HOGYAN azt szétszerelt egyszerű módja kontúrozás a pont adatait, és megmutatja a végeredményt. funkciót hoztak létre, amely két paramétert bemeneti: az első egy tömböt az adatformátum

második - a legnagyobb érték jelenik meg, az összes érték felett lesz vágva ezt az értéket. Fájl a funkciója és egy példa a hívás elérhető a projekt oldalára GitHub.