Lxf126 python

Tól Linuxformat.

Python származó adatokat használ a Flickr térképekkel geoadat

Python. Helyezzük a térképen

Python szakemberek számára

Nick Veitch zachertil újra, de ezúttal az ötlet jó: hogy megtalálják a fotogén helyek a területet a térképek geoadat ...

Hiszed vagy sem, de van egy barátnőm. Esküszöm. Ez egy valós személy. A neve Pam, és él Tampa, Florida. Tavaly ő volt megy a Barcelona, ​​és kérte, hogy le kell fényképezni. De ez attól függ, hogy az íz, nem igaz? Valaki meg akarja lőni a szokásos turisztikai helyszínek, mint mindenki más, és néha inkább, hogy vizsgálja meg kevésbé „elakadt” városrész. Akkor kutat az oldalak képekkel, de valójában szüksége van egy térkép.

Sok digitális fényképezőgépek és mobiltelefonok kamerákkal már végrehajtási saját image Geocímkék - jelezve, szélességi és hosszúsági - együtt hozzáadásával más EXIF-adatokat. Oldalak képekkel, mint a Flickr, jegyezze fel ezt az információt, és hozzáférhetővé teszi. Tehát lehetséges, hogy hozzon létre egy térképet a „hol a városi ember fotózni?”

WOE - I

API Flickr is más hasznos technika hosszú névvel places.getChildrenWithPhotosPublic (). Ez ad egy listát a strukturált adatok, ami a leszármazottai a terület, amit megadott. Abban az esetben, a város, a leszármazottai területek és / vagy bizonyos esetekben, irányítószámok a régióban. Mindegyik fel van szerelve a hosszúsági és szélességi a központ területén száma és a nyilvános fotókat benne.

Megszerzése után ezek az alkatrészek, akkor láthatjuk, hogy a kollektor WOEID-képek.

Felhívtuk getChildrenWithPublicPhotos módszer. amely visszatért eredmények. Amikor tesztelés az oldalon Flickr, láttuk, hogy visszaadja egy objektum, egy elem nevű helyen. listáját tartalmazó oldalakat, amelyek megfelelnek a lekérdezés. Ahhoz, hogy magát a listát, felfedi egy objektumot .getChildren eljárás és ellenőrizze az alábbi listából, ami azt jelenti, az adatok place_type szomszédságában, típusát 22. Ennek az az oka, hogy egyes területek átfedő objektumok - például egy terület irányítószám vagy területek és néhány kép is kell kétszer számolni, torzítva az eredményt.

.attrib () metódus visszaadja a megnevezett értékeket (a kulcs) a kiválasztott objektumok és elhelyezi a szöveges leírást, amely tárolja a .text tulajdon. Többek között értékek - PHOTO_COUNT és WOEID területen. Ha van értékeit ismert pontok, akkor jelenítse meg azokat a grafikonon, és azt mutatják, a legtöbbet fényképezett területen, nem? Most kell priiskat módja a vonzó grafikonok a rendelkezésre álló adatokból.

épület diagram

Lxf126 python
OpenStreetMap - a legjobb forrása a jogilag tiszta térkép információkat lehet megjeleníteni és közzétenni.

Ha szeretne építeni áramkörök, egy hisztogram vagy grafikon pontot, minden magára valamit is adó Pythonistas mindenekelőtt utal Mathplotlib modult. Mint az unokatestvére fejlesztésű Matlab. Mathplotlib - a könyvtár a funkciók konvertálni az adatokat valami kellemes a szemnek. Ismét, ez általában egy Python modul a forgalmazás. Azt is beállíthatja numpy modult. hozzáteszi Pythonban számos kényelmes szolgáltatásokat és funkciókat az adatok megjelenítés, beleértve a többdimenziós tömböket.

Matplotlib tartalmaz hasznos funkció az úgynevezett contourf. amely egyszerűen egy listát készít az x, y és z, és épít a színük zajkontúr pont körüli maximális értékkel - sőt, ez a hőmérséklet térképet. De mielőtt át az adatokat, akkor oldja meg a problémát: contourf funkció csak akkor működik, az adatokat formájában egységes rács, és a feltételek és értékek véletlenszerűen oszlanak. Megoldás -, hogy hozzon létre egy üres adatrács, majd helyezze értékeinket útján interpolációs módszert. Ezért numpy modul lesz annyira hasznos.

numpy.linspace () metódus visszaad egy listát tele egy sor számértékek vannak a megadott tartomány - és létre kell hoznunk egy rács x-y. Akkor használja ezt a funkciót griddata Matplotlib mi interpolációs pontokat a szokásos rács. Ezután a kód a következőképpen néz ki:

Itt már gondoskodott a másik két pont. Első maximális és minimális értékei x és y ad nekünk a téglalap alakú határvonalat. Mi adhat ezeket a pontokat (és nulla értékek) adataink, hogy az épített áramkörök eléri a szélét a térkép. Ezen túlmenően, fel tudjuk használni ezeket az adatokat kiszámításához lépéseként a rács. Nem minden a főtér, ezért változtatni a lépés nagysága összhangban által elfoglalt terület őket.

Továbbra is csak kihasználni contourf funkció építésére gradiens terület köré, és megjeleníti őket (és mentett egy fájl):

Először épített egy fekete kontúr ( „k”) az a vonal vastagsága 0,5, majd alkalmazott eljárás a színes kitöltési áramkörök. Paraméter CMAP - az egyik előre meghatározott szín Matplotlib kártyákat. így egy jó sor kékről sárga-piros.

Továbbra is fel egy képet a térképen. Elmehetünk a Google Maps, de a kártyák, természetesen, nem a tiéd, és a tulajdon, így a legjobb, hogy a térkép adatokat OpenStreetMap.

PNG egyszerű módszert kivonul egy adott helyen nincs jelen, de lehet letölteni manuálisan megy, az Export fület a főoldalon a kártya, és beírja a szélességi és hosszúsági a terület, akik szeretnék letölteni a térképet. Kiválasztás OSM képszerkesztést közelítik.

Picture Card és létrehozott hőmérsékleti térkép össze lehet GIMP, Scribus vagy Inkscape. Véleményem az Inkscape ez a legegyszerűbb módja, mert akkor töltse le a SVG-változat egy kontúr térképen állítsa az áttetszőséget 50% nyúlik át egy utcai térképet. A képarány nem ugyanaz, mint a mi kontúr térképet feltételezzük, hogy azt a lépést, X és Y jelentése ugyanaz, és a Föld egy gömb alakú felületet nem, de a kis területek minimális torzítás.

Ahhoz azonban, hogy az információ megfelel a valóságnak, szükséges, hogy nyúlik a vázlatot a térkép méretét.

Várj, ez nem minden

Lxf126 python
Az ábra szerint a egymásra pontosan látni, ahol az emberek képeket Bath - jó indikátora az érdeklődés.

Ez a megközelítés csak akkor működik, egy nagy terület, amely elegendő adat a szomszédok, ahhoz, hogy egy érdemi információkat. Ahhoz, hogy egy részletesebb képet vagy felhívni a területen kevés szomszédja vagy egyáltalán, más szóval azt kell cselekedni. Frontális módszer - információk letöltéséhez készített képeket a kívánt területet. Egy nagy város ez nagyon nehéz, de például a város Bat [üdülőhelyen, ahol a torony LXF] is elérhető közelségbe.

Flickr photos.search () metódus biztosítja az alapvető mechanizmus adatvisszaszerzés néhány WOEID csak. Ezután a képi információ kerül vissza oldalszámozott listát, és kérésre az adatokat közöl információt a földrajzi elhelyezkedés.

Ez a szkript fut keresztül az összes adat találati oldalon, és tárolja a szélességi és hosszúsági egyszerű CSV formátumban. Tudjuk használni ezt a fájlt hozzon létre egy pontos térképet. De ez még mindig előállításához szükséges rács adatok Esetünkben különbözik hiánya z-tengely. Csak egy pont, és az értékek bennük ugyanaz. Ezért használja ugyanazt a megközelítést, mint korábban, akkor kap egy lapos képet. Kvantitatív adatok kiértékelését kell csoportosítani.

Ezt úgy tehetjük meg azáltal, mint korábban, egy üres rács, majd át a nap-pont és melyik a „tér”, az új rács vonatkoznak. A növekedés az érték az egyes tömb z esetén egy pont tartozik a tér ad nekünk a teljességet mindegyikük, és meg lehet építeni egy táblázatot ennek alapján.

matplotlibplt.show () parancs megnyitja és leállítja a program futása, amíg a megjelenített kép - nevezzük végén az alkalmazás.

Kapcsolódó cikkek