A hely meghatározása GPS nélkül: hogyan működik a Yandex.Locator. Miért GPS nélkül és hogyan másként

Manapság egyre több mobilalkalmazás válik földrajzi függővé. Vannak, akiknek egyszerűen nincs értelme a felhasználó tartózkodási helyének ismerete nélkül, mások kényelmesebbé válnak vele. Ezek az úgynevezett Location Based Services (LBS): navigátorok, forsquare-ok, geocímkézett fotókkal ellátott Instagram, sőt emlékeztető alkalmazások is, amelyek egy adott hely közelében, például iroda vagy üzlet közelében indulnak el.

A Yandex szolgáltatásokhoz és alkalmazásokhoz létrehoztuk a GPS nélküli helymeghatározási módszer saját megvalósítását - Yandex.Locator. Időt takarít meg a felhasználónak, és egy kicsit intelligensebbé teszi alkalmazásainkat. A Navigátorban és a Térképekben szükségtelenné teszi az útvonal kezdőpontjának megadását, még akkor sem, ha fedett parkolóban tartózkodik. Ha pedig kiválaszt egy filmet a Filmplakátban vagy egy terméket a mobilpiacon, akkor azonnal megmutatja, hol találja meg őket a város területén. És természetesen, ha kávézókat és ATM-eket keres - lehetővé teszi, hogy megmutassa a legközelebbieket, még akkor is, ha metrón van.

A technológiát régen ingyenes API-ként nyitottuk meg. Ma szeretnénk elmondani, hogyan működik.

Miért GPS nélkül és hogyan másként

A műholdas navigációs rendszerek (GNSS), esetünkben a GPS és a GLONASS ma a legpontosabb földrajzi meghatározási módszer. A megfelelő modulok szinte minden modern okostelefonban megtalálhatók. De nem mindig és nem mindenhol tudja megoldani az LBS problémáit.

Először is, a műholdak keresése néha több percig is eltart, és vannak helyzetek, amikor a meghatározás sebessége még a pontosság elvesztése esetén is fontos. Például, amikor egy előzetes útvonalat kell megépítenie a navigátorban vagy bejelentkeznie. Másodszor, a műholdak általában nem „láthatók” sem beltérben, sem a föld alatt. Harmadszor, a GPS-modulok nem minden mobiltelefonban vagy táblagépben találhatók, a laptopokban pedig szinte hiányoznak. Tehát az LBS-nek alternatívákra van szüksége.

És természetesen vannak alternatívák - meghatározhatja a helyet a legközelebbi GSM-tornyok, Wi-Fi hálózatok és még az IP-cím alapján is. Mindegyik módszer pontossága sokkal rosszabb, mint a GPSé. De ha kombinálja őket, akkor együtt elfogadható minőséget adnak. Ugyanakkor az egyik hátrányát a másik képességei semlegesítik. A GSM-tornyok szinte mindenhol megtalálhatók, de a Wi-Fi hálózatok nem. Ugyanakkor az észlelési pontosság jobb, mint a Wi-Fi. Ezért a kombinált módszer teljesség és pontosság szempontjából jobb, mint mindegyik külön-külön. Kevésbé ismert az a tény, hogy a város különböző részein lévő két routernek ugyanaz a MAC-címe lehet. A GSM és a Wi-Fi kombinálása megoldja az ilyen ütközéseket. Ezeknek az útválasztóknak nagy valószínűséggel különböző azonosítójú tornyok lesznek a közelben – elvégre sokkal kisebb a valószínűsége annak, hogy egy háztömbön belül találkoznak, mint városi szinten.

Egy ilyen kombinált geo-meghatározási módszernek számos megvalósítása létezik a világon. És úgy tűnik, hogy az első kérdés, amellyel minden fejlesztő szembesült, az volt: hol lehet információt szerezni a Wi-Fi hálózatok és a cellatornyok elhelyezkedéséről?

A hálózati helyek alapja

A vásárlás vagy építkezés dilemmában végül az utóbbi mellett döntöttünk. Ennek fő oka, hogy saját adataival és algoritmusaival sokkal könnyebben ellenőrizhető az eredmény minősége. A mobil Yandex.Maps felhasználói segítettek nekünk az információgyűjtésben.

Amikor elkezdtük fejleszteni a Locatort, már több százezer ember volt a városok utcáin, akiknek telefonjában a Yandex.Maps be volt kapcsolva. A felhasználó beleegyezésével az alkalmazás folyamatosan továbbítja a GPS-koordinátáit - a Yandex.Traffic ezen információk alapján épül fel. Arra gondoltunk, hogy ezzel együtt az alkalmazás ezeken a koordinátákon meg tudja jelölni, hogy melyik bázisállomáson van kiszolgálva a telefon, mely Wi-Fi hálózatok láthatók (persze anélkül, hogy magukhoz a hálózatokhoz kapcsolódnánk – nehogy adatvédelmi kockázatok keletkezzenek) .

Egy személynek semmit sem kell tennie ahhoz, hogy részt vegyen egy ilyen crowdsourcingban – csak használja az alkalmazást. A koordinátákhoz hasonlóan a környező Wi-Fi hálózatok és a GSM-állomások adatai személytelenül vannak. Gyakorlatilag nem "súlyoznak" semmit, és ennek megfelelően a sebességváltójuk akkumulátora nem merül le gyorsabban.

Így a felhasználók elkezdtek segíteni egymásnak:


Vannak, akik GPS-vevővel a telefonjukban megtudják a hálózatok pontos helyét, és továbbítják az információkat a Yandexnek. Mások, akik nem rendelkeznek GPS-modullal, elküldik az éppen látott hálózatok listáját, és válaszul megkapják hozzávetőleges helyüket a térképen.

Az adatbázist összegyűjtöttük és rendszeresen frissítjük. És itt állunk szemben a következő problémával.

„Mozgó” hálózatok

A tapasztalatok azt mutatják, hogy a cellatornyok azonosítói folyamatosan változnak – a tegnapi belvárosban lévő szám holnap már a külterületen is lehet. A Wi-Fi routerek is mozoghatnak – tulajdonosaikkal együtt. És kiderül, hogy minden lépésnél érvényteleníteni kell az adatok egy észrevehető részét.

Így sikerült megoldani a problémákat a tornyok és a routerek egyidejű mozgatásával. A felhasználó kérést kap a hely meghatározására, valamint arra vonatkozó adatokkal, hogy mely hálózatokat látja. Ha a hálózatok listája olyan hálózatot tartalmaz, amelyet a város különböző pontjain láttak, akkor az algoritmus figyelembe veszi, hogy az egyes kerületekben hány jel halmozódik fel azokból, és ez utóbbiak korát. A Wi-Fi hálózatból vagy a mobiltornyokból érkező jelek minden sűrű felhalmozódását „felhőnek” nevezzük. Minél több jel van a felhőben, és minél frissebbek, annál megbízhatóbb. A válasz a legnagyobb és legfrissebb lesz. És az a felhő, amelyben több mint egy hónapig nincs jel, elavultnak minősül - még akkor is, ha egy másik területen nem jelent meg újabb felhő ehhez a hálózathoz.

Felhő sugara

Mivel a pozíciót hozzávetőlegesen határozzák meg, nem mutathat pontot - kört kell rajzolnia (végül is a rádiójel minden irányban egyenletesen oszlik el, interferencia hiányában). Bár, ha megnézzük a jelek tényleges képét, akkor ez leggyakrabban ellipszis. Hiszen az autósok leginkább mobilkártyát használnak. GPS-nyomaik az utakon maradnak, udvarokról, sőt épületekről gyakorlatilag nem érkezik jel.

Ahhoz, hogy a válasz a lehető legpontosabb legyen, a kör sugarának a lehető legkisebbnek kell lennie. Ha csak egy kört rajzol egy adott hálózat összes jelpontja köré, a sugár túl nagy lesz. Mate segített csökkenteni. statisztika. A jelsűrűség normális eloszlásnak van kitéve, vagyis a három szigma szabály érvényes. A pontok 99,7%-a ennek a sugárnak a közelébe esik.

Úgy döntöttünk, hogy tovább megyünk, és kísérletileg kiválasztottunk egy szigma-tényezőt, amely a lehető legkisebbre csökkentette a sugarat, de megtartotta az elfogadható pontosságot. Ez sikeres volt, mert a legtöbb esetben a felhasználó több hálózatot lát. Vagyis az együttható csökkentésével „megnyíló” területeket nagy valószínűséggel más felhők fedik át.

Nem felhőjelek

Sajnos nem minden, a felhasználóktól érkező GPS-jelet lehet könnyen a felhőkbe fordítani. Kiderült, hogy ha egyetlen hálózat összes jelét felhelyezi a térképre, az "ellipsziseken" kívül pontokat és vonalakat fog tartalmazni. Ennek megfelelően ezek olyan egyedi jelek, amelyek nagyon távol állnak ugyanazon hálózat jeleinek halmozódásától, és nagyon hosszú GPS-nyomok (azaz GPS-jelek láncai).

A "magányosok" például akkor jelennek meg, amikor valaki a metrón mozog. A telefon elveszti a kapcsolatot az egyik állomáson lévő cellával, és amikor kilép egy másikra, továbbra is azt hiszi, hogy az a cella szolgálja ki. A lokátor kiszűri az ilyen jeleket. Ezenkívül minimális küszöbértéket állítottunk be a felhők számára, hogy ne hagyatkozzunk túl kevés jelfürtre.

A hosszú GPS-nyomok például akkor jelennek meg, amikor egy személy autóval áthalad a városon. A telefon az útvonal elejétől „vonszolja” a toronyazonosítót, és közli, hogy állítólag végig látja. Ismeretes, hogy a bázisállomások hatótávolsága korlátozott, így a Locator az ilyen GPS-nyomokat is kiszűri. Maradnak azok a vágányok, amelyek hossza belefér a torony hatótávolságába. Általában olyan területeken láthatók, ahol kevés az adat. Ott kis felhők láncává válnak.

A magányos jeleket, a kis felhőket és a hosszú vágányokat „zajnak” tekintjük. Amikor a felhasználó egyetlen olyan hálózatot lát, amelyről csak ilyen jeleket ismerünk, azt a választ kapja, hogy a hely nem határozható meg. Ezt helyesebbnek tartjuk, mint egy tudatosan helytelen, becsléseink szerint hibás eredményt adni.

Amikor kevés volt az adat, további nehézséget jelentett az összes jel egyetlen felhőbe való egyesítése. Előfordult, hogy a torony jelzései egyik városból egy másik városból is érkeztek. A GSM hálózatok azonosítóiban a helykörzetszám - LAC (Location Area Code) jelenléte segített nekünk. Mivel a szabvány szerint az azonos kódú tornyoknak a közelben kell lenniük, a lokátor alulbecsült súlyt kezdett adni azoknak a felhőknek, amelyek „rossz városban” voltak (azaz a különböző LAC-jú felhők között).

A definíció pontosságának javítása...

... GSM hálózaton keresztül
Réges-régen az alkalmazások csak egy bázisállomás információihoz fértek hozzá, pedig a telefon legtöbbször többet lát. Az Android platform megjelenése után az alkalmazások megtanulhatták mindegyiket látni (kivéve a 3G szabvány szerinti kapcsolatot, amely csak egy cellatorony felismerését teszi lehetővé). A helyet kezdték pontosabban meghatározni - már nem egy felhő, hanem több felhő összesítése alapján. Kiderült, hogy sok felhő esetében ugyanazt a megközelítést használhatja, mint egy esetében. A sugarat a felhőhalmazban szereplő jelek négyzetes eltéréséből, a középpontot pedig koordinátáik átlagából számítjuk.
... Wi-Fi hálózaton keresztül
Ha egy okostelefon több Wi-Fi hálózat hatótávolságán belül van, nemcsak a listájukat, hanem az egyes hálózatok jelerősségét is jelenteni tudja. Ennek az erőnek a tudását felhasználtuk annak a körnek a középpontjának finomításához, amelyben a felhasználó található. Képzeletbeli rugókat kezdtünk felfüggeszteni a megfigyelt felhők középpontjába – minél erősebb a jel, annál erősebb. És a szabad végeik összekapcsolódnak. A pont, ahol ezek a rugók kiegyensúlyozottak, a kifinomult középpont.

Az így kapott minőség

Először néhány szót arról, hogyan értékeljük megoldásunk minőségét. Amint már említettük, azoktól a felhasználóktól, akiknek készülékükben GPS-modul van, a Latitude megkapja a koordinátákat és az eszközök által látott hálózatok listáját. A minőség értékeléséhez először meghatározza a hozzávetőleges helyet, csak ezekre a hálózatokra összpontosítva. Ezután ellenőrzi, hogy a felhasználó valódi koordinátái a lokátor által javasolt körbe esnek-e.

Ezzel a technikával a következő számokat kaptuk:

  • a napi kérések 83%-ánál helyesen lett meghatározva a hely - a készülék GPS koordinátái a Kereső által megnevezett területre estek
  • A jelek 14%-a – hibával:
    • 7% - hiba kevesebb, mint 100 méter
    • 5,6% - 100 méterről több kilométerre
    • 1,4% - A helymeghatározó város szerint rossz
  • a kérések fennmaradó 3%-a „A hely nem található” választ kap.


Lehet kapni jobb minőséget? Igen. A módszer előnye, hogy az algoritmusok bizonyos érettsége mellett elegendő több adatot gyűjteni a hely pontosabb meghatározásához. És ez elég egyszerű, mert a Wi-Fi hálózatok száma növekszik, és az alkalmazásaink felhasználóinak száma növekszik.

De vannak technológiai korlátok:

  • ha a telefon csak egy GSM-toronyról jelez - a minimális sugár több száz méter a városban, és több kilométer a városon kívül
  • ha a telefon több tornyot lát, akkor a középpont pontosabban meghatározható, de a sugár alig csökkenthető
  • ha Wi-Fi hálózat látható - a minimális sugár 10 méter

A számítás mennyisége

Ahhoz, hogy gyorsan válaszolhasson a felhasználónak, előre el kell készítenie a teljes választ, vagy legalább annak jelentős részét. A YAMR elosztott számítási rendszerünkön alapuló fürt minden este összesíti a tegnapig fogadott jeleket, és válaszra kész "felhőket" fogad. A kérés pillanatában a lokátornak csak helyesen kell kombinálnia őket. Így terabájtnyi "nyers jelet" tömörítettek 1,5-2 GB kész válaszokká, ami könnyen elfér a memóriában. A válasz előkészítése pedig szinte mindig belefér 1 ms-ba, és a fürt minden szervere 10 ezer RPS-t képes kibírni.

És hogy a napi számítás időtartama ne nőjön lineárisan a GPS-jelek történetének növekedésével, elértük a felhők "additivitását". Most elég csak néhány mutatót tárolni minden felhőhöz, és nem kell minden nap újra feldolgozni a teljes régi történetet.

Kiderül, hogy nem hatékony a teljesebb válasz elkészítése. Ha a hálózatok minden kombinációját külön felhőbe csoportosítja, kombinatorikus robbanást kap. A kész válaszok mennyisége több nagyságrenddel növekszik, és ha a hálózatok átfedik egymást, akkor még több számításra van szükség a válasz elkészítéséhez.

Analógok

A GPS nélküli helymeghatározási szolgáltatások, mint már említettük, nem csak a Yandextől érhetők el. A fejlesztők kapcsolatba léphetnek egy kereskedelmi szolgáltatóval (például az Altergeóval Oroszországban és a Skyhook Wireless-sel a világon), vagy használhatják egy mobil platform vagy böngésző API-ját.

Általában egy ilyen adatbázist háromféleképpen lehet összeállítani:

  • járja be autóval az érdeklődésre számot tartó városokat, vizsgálja meg a hálózatokat, majd rendszeresen járja körbe az adatbázist frissíteni
  • tömeges mobilalkalmazás létrehozása (például Yandex.Maps)
  • mobilplatform létrehozása (például iOS vagy Android)
De a különböző megoldások közül csak a földrajzi függő alkalmazás fejlesztőjének kell választania, a felhasználó pedig „él” ezzel a választással. Egységes összehasonlítási módszer hiányában figyelni kell a meghatározási pontosságra (a "tűrés" sugara és a hibaszázalék) az érdeklődési körökben. Címkék hozzáadása

A földrajzi koordináták a legértékesebb információ, amelyet egy webfejlesztő a webhely látogatóitól kaphat. Ha gyors esze van, és ismer néhány trükköt, sok mindent megtudhat az emberről a tartózkodási helye alapján: a cím, a közelben található létesítmények, a környéken készült fényképek, a szomszédok panaszai és a legközelebbi folyó mélysége.

FIGYELEM

Minden információ csak tájékoztató jellegű. Sem a szerkesztőbizottság, sem a szerző nem vállal felelősséget a cikk anyagai által okozott esetleges károkért.

INTRO

Ha még mindig nem gyűjt helyadatokat a felhasználóktól, akkor egyszerűen még nem olvasta el ezt a cikket, és nem tudja, hogyan használhatja fel az információkat a maga javára. Nézzünk meg néhány használati esetet, hogy bemutassuk, hogyan jöhetnek jól a geoadatok, majd térjünk át a gyakorlatra.

1. használati eset. "Az IP alapján kitalálom"

Tegyük fel, hogy van egy troll a blogodon, aki rendszeresen hagy durva megjegyzéseket. Ha információkat gyűjt a Yandex.Locator látogatóiról, akkor könnyen megtudhatja, hogy ez a valaki a Lenin utca keleti végén van, amelyben egy kellemetlen srác lakik az egyeteméről. És ha szerencséd van, ha kérsz a Vkontakte API-hoz, megtalálod az utolsó fényképét.

2. felhasználási eset. Geomarketing

A Yandex.Direct már régóta alkalmaz célzott földrajzi célzást hirdetéseihez. A tudat figyelmen kívül hagyja a „Pizzériák hálózata Moszkvában” bejelentést. És szinte lehetetlen elhaladni a "Pizza Rochdelskaya utca, 14-es ház" link mellett (az utca túloldalán).
A geoadatokat termékek és szolgáltatások népszerűsítésére használhatja. Ha egy személy jelenleg az alacsony légköri nyomás hatását érzi, akkor fennáll annak a lehetősége, hogy pirulákat szeretne vásárolni a vitalitás növelésére.

3. használati eset. Szórakoztató funkciók

A kreativitásnak hatalmas tere van. Feltesszük az oldalra a naplemente utáni tervezés "éjszakai" témáját a felhasználó számára. Megmutatjuk neki a 10 km-re készült lányok legújabb szelfijét. A víztestek klímája és mélysége alapján határozzuk meg, hogy milyen halak találhatók a területen. Rengeteg lehetőség van.

4. felhasználási eset. „Tudományos” közönségkutatás

Az anonim online felmérés eredményei lényegesen hasznosabbak lehetnek, ha a válaszok mellett a válaszadók földrajzi elhelyezkedését is feljegyezzük.

Érdekes? Akkor hajrá.

Koordináták lekérése

A GPS-adatok a JavaScript és a HTML5 Geolocation API használatával szerezhetők be. De ne feledje: csak az ő beleegyezésével tudhatja meg a felhasználó pontos tartózkodási helyét. A felugró ablakban igennel kell kifejeznie, hogy engedélyezi-e az aktuális webhelynek, hogy megtudja a helyét.

Mintakód natív JS-ben:

// Tedd a címet a változóba

szöveg megjelenítéséhez var posText = document.getElementById ("positionText"); függvény getLocation () (if (navigator.geolocation) (// Ha a felhasználó engedélyezte, határozza meg a helyét, és dolgozza fel a kapott értéket a ShowPosition függvény segítségével navigator.geolocation.getCurrentPosition (showPosition);) else (// Ha nem, akkor jelenítse meg an error message posText.innerHTML = "Ez a böngésző nem tudja meghatározni a helyet";)) function showPosition (pozíció) (// Szélesség és hosszúság megjelenítése az oldalon posText.innerHTML = "Szélesség:" + position.coords.latitude + "
Hosszúság: "+ pozíció.koordinák.hosszúság;)

Yandex.Locator

Ha a felhasználó nem akarja önként megosztani a GPS-információkat, akkor nincs veszve minden. Van egy jó eszköz a Yandex.Locator. Az átlagos meghatározási pontosság 300 m. A következő információk alapján kiszámítja, hogy a személy hol van:

  • mobilhálózati jelek;
  • Wi-Fi hozzáférési hálózati jelek;
  • A mobileszköz IP-címe.

Sokkal nehezebb beépíteni a projektbe, mint a HTML5 Geolocation API-t. Mielőtt kérést küldene a Yandex.Locator API-nak, a webhelynek vagy mobilalkalmazásnak hozzáférési kulcsot kell kapnia, és sok részletet meg kell tudnia a felhasználóról. Ha a látogató mobilkapcsolaton keresztül internetezik, akkor ismernie kell a cellaazonosítót és a jelerősséget, ha Wi-Fi-n keresztül - a hozzáférési pont jelerősségét és MAC-címét.

A pontos utasításokat a fejlesztői útmutatóban találja.

Exif fotó adatok

A digitális fényképezőgéppel készített képek metaadatai között GPS-koordinátákat is találhatunk. A fotókkal kapcsolatos információk a felhasználó beleegyezése nélkül is olvashatók. Csak rá kell vennie, hogy letöltse őket. Ezután az exif-js könyvtár vagy az exif-adatok olvasására szolgáló szerveroldali eszközök jönnek a megmentésre:

  • A PHP beépített read_exif_data ();
  • van exifr könyvtár Ruby számára;
  • A Python ExifRead 2.0 csomaggal rendelkezik;
  • C ++ esetén - easyexif.

GeoIP alap

Megpróbálhatja megtalálni a felhasználó IP-címét a GeoIP adatbázisban, de ez tiszta tenyérjóslás. Drága és elavult. Tapasztalataim szerint ez az adatbázis tele van pontatlansággal, és nem lehet megbízni benne. A VPN-t használók aránya pedig meglehetősen jelentős.

Összeállítunk egy dossziét

Miután megkaptuk a földrajzi koordinátákat, kezdjük el az információgyűjtést. Minden egyes elemhez kérést küldünk a paraméterekkel az egyik API-hoz, és elemezzük a visszaküldött XML/JSON választ.

Először utcai pontossággal megtudjuk a felhasználó címét.

Keresse meg a felhasználó címét

Ezt megteheti a Yandex.Geocoder (előzetes OAuth engedély nélkül dolgozhat vele).

Lekérdezés szintaxisa:

Http://geocode-maps.yandex.ru/1.x/?geocode=36.3630,56.0000

Ez egyszerű. Két paraméter kerül átadásra a kérésnek: szélesség (56.0000) és hosszúság (36.3630).

A szerver XML formátumban küld választ (lásd a képernyőképet). Az alábbi területekre vagyunk kíváncsiak:

  • AdressDetails-> Country-> AdressLine - egy szövegsor a felhasználó teljes címével;
  • AddressDetails-> Country-> СCountryName - ország;
  • CímRészletek-> Adminisztratív Terület-> Adminisztratív Területnév - régió;
  • AddressDetails-> SubAdministrativeArea-> SubAdministrativeAreaName - terület;
  • AddressDetails-> Locality-> LocalityName - helység;
  • AddressDetails-> ThoroughFare-> ThoroughFareName - utca.

A Yandex.Geocoder nem hozza nyilvánosságra a címet a házszámmal. De ha egy kicsit megfeszíti az agyát, és emlékszik az iskolai tananyagra, akkor ki tudja számolni. Egy szélességi fokon 111 km 111 m. A hosszúságnál minden kicsit bonyolultabb. Végül is a Föld átmérője a szélesség függvényében változik. Ezért a hosszúságot a következő képlettel kell kiszámítani (6371 a Föld sugara):

6371 * (Matek :: PI / 180) * cos (szélesség * Matek :: PI / 180)

Hogyan segít ez a tudás a felhasználó pontos címének kiszámításában? így:

  1. Az utca megkeresése a Yandex.Geocoder segítségével.
  2. Kérést küldünk, hogy megkapjuk egy ház pontos földrajzi koordinátáit ebben az utcában:
    http://geocode-maps.yandex.ru/1.x/?geocode=perm, Yablochkova utca 2.
  3. Az értéket a szerver válaszából olvassuk ki.
  4. A szélességi és hosszúsági fok hosszának ismeretében kiszámítjuk a távolságot a kívánt ponttól ehhez a házhoz.
  5. Megnyitjuk a Yandex.Maps alkalmazást, és egy vonalzó segítségével kitaláljuk, melyik ház rendelkezik a felhasználó földrajzi koordinátáival.

Ilyen módon nem lehet minden felhasználót észlelni, de néhány felhasználó különösen szükséges. A lényeg az, hogy ne tévedjünk a számításokban.

Google utca nézet

A koordináták megtalálhatók a Google Maps-en, és be lehet kapcsolni az utcaképet. Vicces nézni egy olyan ember házát vagy irodáját, aki kirívóan kritizálja egy frissen felújított nyaralóról készült fotókat a blogodon.

Fényképek a környéken

Most nézzük meg az X hely közelében készült fotókat. Hogy ez hogyan történik, elemezzük a VKontakte API példáján:

Https://api.vk.com/method/photos.search.xml?lat=38.600000&long=35&count=100&radius=500

  • lat - szélesség;
  • hosszúság - hosszúság;
  • count - a kéréssel visszaküldött fényképek száma;
  • sugár - az adott pont körüli kör sugara, ahol a fényképeket kell készíteni.

Íme a minket érdeklő válaszmezők:

  • src, src_big - linkek a fényképekhez;
  • létrehozva - a fénykép létrehozásának dátuma unixtimestampben;
  • tulajdonos_azonosítója – a fénykép tulajdonosának azonosítója.

A tulajdonos azonosítójának ismeretében felkeresheti az oldalát, vagy információkat gyűjthet ugyanazzal a VK API-val:

Https://api.vk.com/method/getProfiles.xml?uids=111111&fields=last_name,first_name,sex,age

  • uids - tulajdonosi azonosítók vesszővel elválasztva;
  • mezők - azok a mezők, amelyeket a válaszban szeretnénk megkapni.

A mezők teljes listája

A Yandex bejelentette a Yandex.Locator földrajzi helymeghatározó szolgáltatásának programinterfészének (API) elindítását. Az API 2011. február 25-én vált elérhetővé a külső fejlesztők számára tesztelési módban. A projekt „néhány hónapon belül” kiléphet a tesztfázisból.

A Yandex szerint az API lehetővé teszi a saját GPS-vevővel nem rendelkező mobiltelefonok vagy laptopok helyének meghatározását, ami lehetőséget nyit a fejlesztők számára a földrajzi helymeghatározás gondolatán alapuló szolgáltatások és alkalmazások létrehozására. Az ilyen programok példájaként a Yandex a földrajzi címke hozzáadását említi a közösségi hálózatokon vagy a Twitteren közzétett fényképekhez vagy üzenetekhez.

A Yandex földrajzi API-jának munkája a hasonló megoldásokhoz hasonlóan a közeli mobilbázisállomások és Wi-Fi hozzáférési pontok helyére vonatkozó adatok felhasználásán alapul.

Az eszközt Oleg Gerasimov, a Yandex mobilszolgáltatások fejlesztési részlegének vezetője szerint ma már több saját keresőmotor-termékében is használják (a mobil Yandex.Maps, mobil Yandex és Yandex.Bar for Firefox és Internet Explorer esetében). A Yandex földrajzi API-ján alapuló harmadik féltől származó projektek még nem léteznek, azonban megjelenésükkor a Yandex képes lesz a Yandex.Maps-felhasználók tartózkodási helyével kapcsolatos ismereteihez a harmadik féltől származó alkalmazások felhasználóinak közönségét bővíteni.

A felhasználói szerződésben a Yandex figyelmezteti az API-felhasználókat - az alkalmazásfejlesztőket, hogy „a szolgáltatás mobilalkalmazásokban történő használatának feltétele a GPS-nyomok (a felhasználó mozgására vonatkozó adatok) továbbítása” a Yandex felé. Ha egy alkalmazás naponta 1000-nél több kérést ad, akkor ez a feltétel a fejlesztő felelőssége lesz.

A fejlesztői útmutatóban a Yandex a Wi-Fi hotspot jeleken alapuló helymeghatározást nevezi a legpontosabb módszernek. Ebben az esetben a mobileszköz helyzete 150 méteres pontossággal meghatározható.

Ugyanez a dokumentum megjegyzi, hogy a mobilkommunikációs bázisállomások használatával történő helymeghatározás azok sűrűségétől függ: a városok központjában, ahol a legnagyobb sűrűségűek, 200-500 méter, a külterületeken pedig 1,5-2 ezer méter lehet.

Érdekes módon 2010-ben a Yandex versenytársa, a Google túlzottan lazának látszott mások Wi-Fi hálózataiban, amikor a Google Street View autóit észlelték, hogy Ázsia, Amerika és Európa számos országában gyűjtik a nyílt vezeték nélküli hálózatokról érkező forgalmat.

Oleg Gerasimov a CNewsnak kifejtette, hogy a Yandexszel ellentétben, amely csak a hozzáférési pont azonosítóját használja a földrajzi eszközeiben, a Google minden nyílt hálózaton továbbított információt átvizsgált, amit a Yandex nem fog megtenni. Bár a legtöbb magánhálózat titkosítási protokollt használ, azonosítójaik nyílt módban kerülnek továbbításra, ami elég a helymeghatározáshoz, mondja a Yandex.

A Yandexhez hasonló pozicionáló eszközök közvetlen versenytársai a Google és a Mail.ru. A Google Latitude szolgáltatás (Oroszországban "Google Locator" néven található) nyílt API-val rendelkezik, és széles körben használják különféle webszolgáltatásokban és alkalmazásokban.

Hasonló publikációk