GPS adatok alapján település neve kerüljön egy mezőbe
Üdv!
A GPS adatokat ki tudom szedni egy képből, de milyen módon lehet megoldani, hogy a szélességi és hosszúsági értékek alapján megállapítsa a rendszer, hogy melyik településen van az adott pont, és ezt a településnevet betegye egy mezőbe.
Ha egy Google térképen megjelenítünk egy pontot, akkor nyilván tudja a Google, hogy az melyik településhez tartozik.
Gondolkodtam, hogyan csinálják ezt: vagy az adott település minden GPS koordinátáját felveszik egy adatbázisba és megfeleltetik az adott településsel, majd így tovább minden településnél, de ez nagyon nagy adatbázist igényelne, mert ha perc, sőt másodperc pontosságú a GPS adat, akkor abból nagyon sok van.
Lehet, hogy csak a település határvonalának a GPS értékeit teszik egy adatbázisba és képtérkép szerű megoldással, illetve valamilyen differenciálszámítással, határérték számítással állapítják meg. Nem tudom.
De hozzá tudok-e ezekhez jutni, azaz, hogy a képből kinyert térkép pont megjelenítése mellett - ami már működik - az adott település nevét is ki tudjam nyerni, és azt betenni egy mezőbe.
Ad-e erre lehetőséget a Google és fizetős-e, mint térkép API szolgáltatása?
■ A GPS adatokat ki tudom szedni egy képből, de milyen módon lehet megoldani, hogy a szélességi és hosszúsági értékek alapján megállapítsa a rendszer, hogy melyik településen van az adott pont, és ezt a településnevet betegye egy mezőbe.
Ha egy Google térképen megjelenítünk egy pontot, akkor nyilván tudja a Google, hogy az melyik településhez tartozik.
Gondolkodtam, hogyan csinálják ezt: vagy az adott település minden GPS koordinátáját felveszik egy adatbázisba és megfeleltetik az adott településsel, majd így tovább minden településnél, de ez nagyon nagy adatbázist igényelne, mert ha perc, sőt másodperc pontosságú a GPS adat, akkor abból nagyon sok van.
Lehet, hogy csak a település határvonalának a GPS értékeit teszik egy adatbázisba és képtérkép szerű megoldással, illetve valamilyen differenciálszámítással, határérték számítással állapítják meg. Nem tudom.
De hozzá tudok-e ezekhez jutni, azaz, hogy a képből kinyert térkép pont megjelenítése mellett - ami már működik - az adott település nevét is ki tudjam nyerni, és azt betenni egy mezőbe.
Ad-e erre lehetőséget a Google és fizetős-e, mint térkép API szolgáltatása?
Persze, van ilyen a google
Itt van ingyenes API, ami ránézésre utcanévre lebontva is működik: link. Ha csak a város kell, akkor ezt kell használni: link
Sajáttal szerintem csak annyit tudsz elérni, hogy a legközelebbi településhez írja a címet, településenként meg csak egy koordinátát tárolsz. Esetleg még annyit hozzá tudsz tenni, hogy beraksz egy 5km-es határt, hogyha azon belül nincs település, akkor a pusztában van a koordináta. Megcsinálhatod magadnak is, itt vannak város adatbázisok: link
Ha csak magyarról van szó, akkor esetleg a földhivatalnál érdemes körülnézni, hátha találsz valami szolgáltatást, ami többet tud: link
Igazából eléggé változékony, hogy mikor működik, költözik, válik fizetőssé vagy korlátozottá egy szolgáltatás. Itt érdemes nézelődni: link, ha esetleg megszűnne, amit használsz. Én úgy vagyok vele, hogy jobb legalább 2-3 ilyen API-ra megírni a kódot, aztán ha az egyik éppen nem megy, akkor még mindig van tartalék, és nem áll le a szolgáltatásod miatta.
Kösz, megnézem ezeket! A
A földhivatal oldalát már néztem korábban, de úgy emlékszem nem működött.
Kódot írni még nem tudok, Drupal modulokkal csináltam eddig, amit írtam, ezt is azzal kéne összehoznom valahogy.
Mit értesz az alatt, hogy
Milyen sajáttal?
EXIF data
Csak mert simán lehet másképp egy JPG, PNG vagy akár TIFF képben, sőt, lehet eltérés a képet létrehozó eszközök (szoftverek) között is.
Inf3rno saját (kód) alatt szerintem a pl geonames-ről származó adatból adatbázisépítést és ebben keresést értette, viszont ha még nem írtál semmilyen saját "programot", akkor lehet, hogy ez túl nagy falat elsőre.
Elsőre én is leginkább valamelyik Google API-t javasolnám, többnyire mindegyiknek szokott lenni ingyenes elérése, de ezek elég alacsony kérésszámra vannak korlátozva - hogy ki tudd próbálni, de ha élesben is használni akarod, akkor fizess érte.. Mindenesetre szerintem ezt a legkönnyebb elsőre lefejleszteni.
A Magyar Postának is van hasonló adatbázisa, ez mondjuk inkább irányítószám- és cím validálásra jó.
Van még egy érdekesség a magyar helységnevekkel és közigazgatással: én korábban már futottam olyanba, hogy egy megyehatárhoz közeli települést különböző megyéhez tartozónak "mondott" a GeoNames, a Google és a Posta... :)
Igen, van ilyen Drupal modul,
Az API kulcs díjával sincs bajom, ha nem az lenne, hogy regisztrációnál akkor is meg kell adni bankkártya adatokat, ha biztos nem lépem túl az ingyenességet, és ha megadtam, automatikusan leemelheti a számlámról. Nem is értem, ez hogy lehetséges, így tulajdonképpen olyan, mintha hozzáférne a bankszámlámhoz.
Úgy lenne elfogadható, ha mint minden normális esetben, leszámlázná havonta amit költöttem és átutalnám. Én, amikor egyetértettem a számla összegével, ha nem, akkor jelzem nekik, hogy túlszámláztak.
Tudom, számos ilyen van manapság, zeneszolgáltatások, stb., ahol leemelnek.
Nem értem, hogy merik emberek megadni az engedélyt ahhoz, hogy bármekkora összeget leemelhessenek a számlájukról.
Sőt, eleve a banki részét sem értem, ha egy rokonom ki akar venni egy bankfiókban pénzt, felhatalmazás nélkül nem teheti meg, a felhatalmazást pedig csak a bankban kaphatja meg ellenőrzés révén. A cégek meg sima internetes bemondásra bármit???
Akkor valószínűleg
https://www.google.hu/maps/##kukac##47.5093101,19.0126573,15z?hl=hu
Ennek a válasza viszont egy komplett térkép, Te pedig a legközelebbi helységnevet szeretnéd.
Végülis számodra mindegy, hogy az adott Drupal modul hogy csinálja, ha adja azt az adatot, amit szeretnél, akkor jó. :)
Azt azért érdemes figyelembe venni, hogy az ilyen térképmegjelenítés is limitálva van, és bármikor változhat a limit.
Igen, van némi kockázata, de azért ne keverjük össze a kártyához való hozzáférést a bankszámla-hozzáféréssel.
A kártyádat könnyedén tudod külön limitálni, letiltani, stb.
Ugyanakkor a gugli esetében biztos, hogy nem sok esélyed van számlát reklamálni - nem is hinném, hogy valaha is túlszámláznának -, viszont komoly esélye van, hogy sokan lennének, akik "csak úgy" nem fizetnének, ha megtehetnék... Így érthető, hogy nem hagynak erre lehetőséget.
Namost ha egy kicsit belegondolunk a gugli (szolgáltató) szemszögéből, akkor ez a saját bevételének a tökön lövése...
Pl napi 1000 request az ingyenes, neked heti 6000 elég, de hullámzó a napi igényed.
Minden kérést először lementesz adatbázisba, és csak mondjuk éjszaka, egy cron jobbal "hívogatod" a szolgáltatást, egyesével.
Ha nem kapsz több választ, aznapra befejezed.
Lehet, hogy így 1-2 napot csúszik az infó, de megkaptad ingyen... A guglinak meg nem csak számolnia kell a kéréseket, hanem azt is folyamatosan figyelni, hogy adhat-e még rá választ.
Sokkal egyszerűbb "neki" mindig válaszolni és számolni - és így nem veszi el magától a picike bevételeket sem.
Egyébként szerintem egyáltalán nem drága az 5 USD / 1000 request, én valószínűleg csinálnék hozzá egy limitált kártyát és hajrá.
Arról nem beszélve, hogy egy valamennyire fizetős szolgáltatást azért jobban számon lehet kérni, ha nem vagy rosszul műxik.
SZERK.: És továbbra is egyetértek Inf3rno-val abban, hogy ha fontos ez a feature, akkor több különböző lehetőséged is legyen a megoldásra, ne egyetlen külső szolgáltatótól függjön.
Végülis számodra mindegy,
De nekem (a térkép megjelenítése mellett, ami már működik) az is kell, hogy egy mezőbe bekerüljön az adott település neve.
Ez is korlátos? Úgy érted figyeli a Google, hogy egy honlapba beágyazott térkép az eredmény és egyszer csak nem fogja megjeleníteni, amiről persze nem is fogok tudni, hanem a honlap felhasználói fogják tapasztalni?
Ami a bankkártyát illeti: ha már le kell tiltanom, akkor már levettek róla összeget. Másrészt a tiltás és új kártya sok pénz.
Írtam is a banknak, mert arra gondoltam, hogy a virtuális kártyámat adom amin 1 Ft van és csak akkor több, ha alkalmilag növelem. De ettől még előfordulhat, hogy valami mást akarok venni, teszek a kártyára pénzt és pont akkor levonja a Google, vagy más ilyen cég. De a bank nem ad több ilyen kártyát és azt se engedi, hogy adott cégeknél beállítsak keretet, ők is a kártya tiltást mondták. Hát persze, nekik az is bevétel.
Nem értek egyet, attól még, hogy valakik nem fizetnek, nem lehet mindenkitől szabadon pénzt lenyúlni. A Google-re is csak egy cég, nem egy hivatal. Amúgy meg, egyszerű, volt régen olyan lehetőség a Google-nél, hogy előre fel lehetett tölteni egy keretet és ha elfogy, jelez a rendszer, hogy töltsem fel.
5 dollár, azaz kb 1500 Ft 1000 lekérés, azaz 1,5 Ft 1 lekérés, ha havonta 10 ezer ember lekérdez GPS alapján térképet, akkor 15000 ezer forint, miközben az oldal ingyenes, pl. vannak olyan oldalak, hogy futók megosztják egymással hol, mennyit futottak, az sok tízezer ember is lehet, de csak közösségépítés miatt van az oldal, nem pénzért, akkor az a havi több tízezer forint sok.
Akkor nincs meg még minden
A virtuális kártya is egy jó ötlet szerintem. Te döntésed, hogy mennyire bízol meg egy vagy több szolgáltatóban.
Nyilván azt Neked (és/vagy az üzemeltetőnek) kell eldöntened, hogy mi éri meg és mennyiért. Lehet, hogy jobb letölteni pl a geonames adatokat, megírni rá a saját feldolgozót, plusz az automatikus frissítést. Ez lényegesen magasabb kezdeti fejlesztői költséggel jár, de utána ingyenes egészen addig, amíg ingyenesen letölthetőek az adatok...
Mivel egyfajta közösségi oldal, én valószínűleg megrendelőként azt választanám, hogy indulásból a limitált guglis megoldás legyen, aztán ha elérjük azt a havi lekérésmennyiséget, ami már kényelmetlen ("beindult" az oldal), akkor majd megvizsgáljuk, hogy megéri-e a nagyobb fejlesztést hosszabb távon.
Persze a teljesen nonprofit oldal esetén párezer Ft is túl sok működési költség, szóval értem a problémád, de szerintem nem arrafelé lesz a megoldás, hogy mi megmondjuk a guglinak, hogy mit milyen feltételekkel nyújtson. :) (Sajnos nem, pedig nekem is lenne jópár ötletem :-D)
Szerintem figyelmesen olvasd el a guglis limiteket-feltételeket, és ha bele tudsz férni "szemre" az ingyenesbe, akkor próbáld ki. Amíg csak fejlesztői vagy teszt környezetben kipróbálod, addig biztosan nem futsz bele "lenyúlásba". (Egyébként nem vagyok oda a cégért, mégis kissé sértőnek érzem ezt a kifejezést használni rájuk.)
Ha meg lesz, hogy melyik irányba szeretnél elindulni, akkor szólj és szerintem segítünk benne.
Akkor félreértettelek, nincs
Ezt hogy érted? a szélességi és hosszúsági adat nem reprezentál egy adott települést? Amikor a telefonunk kiírja, hogy melyik településen vagyunk, mert be van kapcsolva a GPS, akkor is csak ez a két adat áll rendelkezésére, nem?
Ezt értettem félre
A "közeli település" meghatározásához pedig nem feltétlen kell terület, elegendő településenként egy középpont, a kapott koordinátát ezekkel vetjük össze, hogy melyik helységponthoz van a legközelebb.
Ezt / ezeket végzik el az Inf3rno által linkelt API-k.
Amit a téma kezdetkor írtam,
Nem is mondtam, hogy kör :)
Ha mértanilag szeretnéd, akkor addig kell egyszerűsíteni a "körvanalát" sokszöggé, míg ki nem tudod matekolni. Ez nagyon nagy erőforrást igényelne, szerintem egy hobby-projektbe nem érdemes annyit ölni, de te tudod.
Az biztos, hogy ha a "valódi központját" vagy ha úgy tetszik "súlypontját" keresed egy kis falunak, akkor a legegszerűbb megoldás a legpontosabb is: a templom és a kocsma között félúton. :-D
Ha a templom = null, akkor a kocsma. ;)