ugrás a tartalomhoz

GPS adatok alapján település neve kerüljön egy mezőbe

Atomi · 2020. Feb. 16. (V), 22.35
Ü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?
 
1

Persze, van ilyen a google

inf · 2020. Feb. 17. (H), 07.52
Persze, van ilyen a google maps API-n. Reverse geocoding néven fut. Nekem úgy tűnik fizetős. link

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.
2

Kösz, megnézem ezeket! A

Atomi · 2020. Feb. 17. (H), 13.41
Kösz, megnézem ezeket!

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

Sajáttal szerintem csak annyit tudsz elérni,


Milyen sajáttal?
3

EXIF data

Pepita · 2020. Feb. 17. (H), 16.54
A GPS adatokat ki tudom szedni egy képből
Ez érdekelne, hogy mivel és hogyan, valamilyen csomagot használsz erre? Esetleg van erre Drupal modul?
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... :)
4

Igen, van ilyen Drupal modul,

Atomi · 2020. Feb. 17. (H), 22.07
Igen, van ilyen Drupal modul, számos. Én egy olyan párost választottam, aminél annak ellenére, hogy Google térkép az eredmény, nem kell hozzá API kulcs. Nem teljesen világos, hogy ez hogy lehetséges, de lehet, hogy valami olyan, mintha helyettünk tenné meg azt, amit mi is ingyenesen tudunk, tehát, hogy egy adott koordinátát a Google térkép megmutat, ingyen, a böngészőben.

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???
5

Akkor valószínűleg

Pepita · 2020. Feb. 18. (K), 10.25
simán URL-ben küldi el a koordinátákat, pl így:
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.

regisztrációnál akkor is meg kell adni bankkártya adatokat
Márpedig ez a fajta kártyás fizetés bevett szokás nem csak a guglinál, de pl a "remek" MÁV alkalmazásban is simple pay - jel fizethetsz, ami szintén meg tudja jegyezni a kártyaadataidat.
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.

ha biztos nem lépem túl az ingyenességet
Régebben ha jól emlékszem, volt erre lehetőség, amikor "elfogyott" az ingyenes keret, akkor nem érted el többé a szolgáltatást.
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.
6

Végülis számodra mindegy,

Atomi · 2020. Feb. 18. (K), 14.57
Végülis számodra mindegy, hogy az adott Drupal modul hogy csinálja, ha adja azt az adatot, amit szeretnél, akkor jó.


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.
7

Akkor nincs meg még minden

Pepita · 2020. Feb. 18. (K), 17.10
az is kell, hogy egy mezőbe bekerüljön az adott település neve
Akkor félreértettelek, nincs még meg minden szükséges adat.
Ez is korlátos? Úgy érted figyeli a Google, hogy egy honlapba beágyazott térkép az eredmény
Nem tudom, nem néztem utána, de gondolom, hogy limitált ez is. Az iframe is lekövethető, és nem feltétlenül érdeke a guglinak, hogy korlátlanul "díszítse" a weboldaladat, függetlenül attól, hogy Te kiket szolgálsz ki és mi célból.

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.
De a bank nem ad több ilyen kártyát és azt se engedi, hogy adott cégeknél beállítsak keretet
Szerintem kérdezz meg több bankot is, hátha van olyan, amelyik ebben többet nyújt. Ha van, akkor arra is számítani lehet, hogy költségesebb a számlavezetés / kártyahasználat. Valamit valamiért... Összességében én is kétféle cégtől sajnálom legjobban a pénzt: a bankoktól és a biztosítóktól. Mindkettő csak szükséges rossz az életünkben. :)

A Google-re is csak egy cég, nem egy hivatal.
Pontosan. Rendes szerződést kell "aláírnod" (elfogadnod elektronikusan) ahhoz, hogy használhasd a szolgáltatást. Ez tartalmazza a fizetési feltételeket is. Így van, nem hatóság, a Te szabad döntésed, hogy megkötöd-e ezt a szerződést, vagy nem. Ha viszont megkötöd, akkor tartanod kell hozzá magad.

5 dollár, azaz kb 1500 Ft 1000 lekérés, azaz 1,5 Ft 1 lekérés...
Ezt most nem igazán értem, korábban azt írtad, biztosan beleférsz az ingyenes keretbe... Én nem olvastam végig a szolgáltatási feltételeket, főleg hogy több feature is jó lehet neked, de szerintem itt valami nem stimmel.
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.
8

Akkor félreértettelek, nincs

Atomi · 2020. Feb. 19. (Sze), 00.16
Akkor félreértettelek, nincs még meg minden szükséges adat.


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?
9

Ezt értettem félre

Pepita · 2020. Feb. 19. (Sze), 09.47
Igen, van ilyen Drupal modul, számos. Én egy olyan párost választottam, aminél annak ellenére, hogy Google térkép az eredmény, nem kell hozzá API kulcs.
Ebből gondoltam, hogy időközben megtaláltad ami neked kell, de úgy tűnik, ez csak térképet rajzol, települést "nem mond" hozzá.

a szélességi és hosszúsági adat nem reprezentál egy adott települést?
Nem. Ez csak egy koordináta, önmagában csak egy pont a Földön. Ahhoz, hogy megállapítsuk, hogy egy településen belül van-e, ismernünk kell a helység területét, ennek ismeretében tudjuk meghatározni, hogy az adott pont ezen belül van-e vagy sem.
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.
10

Amit a téma kezdetkor írtam,

Atomi · 2020. Feb. 19. (Sze), 12.21
Amit a téma kezdetkor írtam, hogy határérték, differenciál, képtérkép, nem úgy határozzák meg, ha pontosan kell meghatározni? Mivel ugye egy település nem szabályos kör, tehát a középpontjának meghatározása nem lehetséges, maximum a súlypontját lehet belőni.
11

Nem is mondtam, hogy kör :)

Pepita · 2020. Feb. 24. (H), 17.43
De attól még meg lehet határozni - valamennyire - a középpontját.
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. ;)