Ticket #367 (new)

Opened 4 years ago

Last modified 2 days ago

Uporabiti OpenStreetMap zemljevide

Reported by: stefanb Owned by: kostko
Priority: major Milestone: 3.0b
Component: nodewatcher/core Version:
Keywords: Cc:
Related nodes: Security sensitive: no
Blocking: Blocked by:
Effort: normal

Description

V duhu odprtega projekta bi tudi zemljevid točk uporabljati odprte tehnologije in vire podatkov. Spodobna alternativa Google-ovim zemljevidom je http://openstreetmap.org v kombinaciji z http://openlayers.org javascript knjižnico.

Pri tem bi se v izogib ogromnim prenosom splačalo uporabiti http://geojson.org za prenos podatkov o točkah v brskalnik in posodobitve stanj brez reloada celotne strani (nekoč bomo prerasli http://awmn.net).

Dodaten sloj lahko prikazuje tudi ortofoto posnetke iz google maps strežnika (v tem primeru bodo vidna SSL opozorila, zato to ne bi smel biti privzet pogled)

Ideja je že stara, nikoli ni prišla na vrsto, a je spet postala aktualna ob zadevi #217, kjer je zemljevide potrebno servirati preko https protokola, kar Google ponuja le proti plačilu.

Za rešitev #217 bi bilo potrebno na wlan-lj strežniku cachirati zemljevide (OSM licenca to seveda dopušča).

Attachments

nodewatcher-openstreetmap.diff (1.2 KB) - added by stefanb 3 years ago.
patch za uporabo OpenStreetMap zemplevidov

Change History

comment:1 Changed 4 years ago by mitar

  • Milestone set to 3.0b

Mogoče bi lahko poskusili dobiti ortofoto podatke. Mogoče bi se lahko povezali z Ljubljanskim geodetskim društvom.

Potem obstaja tudi Geopedia. Ima tudi ortofoto karte in nekako mi izgleda, da poskuša združiti čimveč podatkov. Mogoče bi se lahko z njimi povezali?

comment:2 Changed 4 years ago by stefanb

Če bi Geopedia vključila wlan-lj podatke in jih prikazala na sloju "Brezplačen WLAN dostop" bi to znala biti zanimiva promocija. Dvomim pa, da lahko ponudijo kaj več (niso lastniki podatkov).

comment:3 follow-up: ↓ 4 Changed 4 years ago by stefanb

Aja, pa še disclaimer, da sem povezan z OSM, da ne bo naknadno kake zamere in/ali presenečenj. :)
Z vključitvijo OSM zemljevidov lahko kaj pomagam, vsak pretiran trud okoli zaprtih (pa čeprav so zastonj) podatkov pa se mi zdi odveč (no, razen njihovega osvobajanja).

comment:4 in reply to: ↑ 3 Changed 4 years ago by mitar

Replying to stefanb:

Aja, pa še disclaimer, da sem povezan z OSM, da ne bo naknadno kake zamere in/ali presenečenj. :)

Mislim, da si to že povedal. Ni problema, oziroma še toliko bolje. Je vedno boljše imeti izkušene ljudi.

Koliko pa vas je v Ljubljani?

comment:5 Changed 4 years ago by stefanb

Zemljevid znotraj obvoznice je delo cca 60 urednikov. Cca 10 nas je prispevalo znaten delež tega (v zgodnjih fazah je bilo dokaj enostavno veliko narisati), ostali pa so prispevali kakšne podrobnosti (svoje soseske, popravki napak, dopolnitve...).

comment:6 Changed 4 years ago by mitar

Zanimivo. Ali se je razmišljalo, da bi se preletelo Ljubljano počez in naredilo še zračne posnetke? Z modernim digitalnim fotoaparatom, ki bi ga usmeril navpično navzdol, in dobrim stitching programom bi se lahko naredilo kar nekaj. In se potem umerilo glede na elemente na karti.

comment:7 Changed 4 years ago by stefanb

misliš kot npr http://openaerialmap.org ?
Nekaj sem se igral s tem, a letenje ni ravno najbolj dostopna metoda:
http://labs.metacarta.com/rectifier/map/1343

comment:8 Changed 4 years ago by mitar

Saj zato pa bi recimo zbrali donacije, najeli letalo za panoramski prelet in bi preleteli Ljubljano ter fotografirali ves čas navpično navzdol. Izgleda, da je cena ene ure leta 280 EUR. Verjetno bi se lahko kaj dogovorili. Mogoče se za te stvari lahko najde tudi kakšen razpis. Torej letimo, skozi okno navpično dol obesimo fotoaparat visoke ločljivosti, ki slika ves čas. In to je to. S pilotom pa se dogovorimo, da vozi približno tako, kot da bi sejal ali oral njivo. In potem stitching to zlepi pravilno skupaj (tudi male rotacije in to se verjetno da popraviti). Imamo tudi strokovnjake iz računalniškega zaznavanja med nami, tako da se bi verjetno po potrebi lahko razvilo kaj, kar bi fotografije med seboj porotiralo pravilno in jih zlepilo. Potem pa bi to umerjali.

Torej zanimalo bi me, če bi se dalo komu ukvarjati s tem. Meni se zdi izvedljivo. Najtežji del bo verjetno potem to obdelati.

comment:9 Changed 4 years ago by stefanb

Jp, omenjajo tudi precej nižje cene če letimo sami :)

Če koga zanima lepljenje in kalibracija slik preden to naredimo zares pa lahko prispevam slike in GPS sled iz balonskega preleta :)

comment:10 Changed 4 years ago by lukacu

Mitar je omenjal mene kot t.i. "strokovnjaka" iz racunalniskega vida (ne vem zakaj je govoril o mnozini ... mogoce je se kdo drug) ... samo mene prav nic ne zanima ta stitch-ing ker imam ze dosti drugega za delat. Mogoce kdaj drugic.

comment:11 Changed 4 years ago by mitar

He he, Luka, pa to bi bil super projekt. :-)

Stefanb, kaj te slike so navpično dol narejene? Ker če ne, bo težko.

Sicer pa sem ugotovil, da AutoPano uporablja SIFT ravno tako, kot bi se jaz tega lotil, ko sem sedaj razmišljal, kako bi se. :-)

Sicer pa so tudi navodila za Hugin. Torej jaz bi kar brez GPS sledi vrgel vse slike noter in pogledal, kaj naredi.

comment:12 follow-up: ↓ 13 Changed 4 years ago by stefanb

slike niso bile posnete navpično navzdol, pa tudi če bi hoteli to narediti je definicija navpičnosti iz aviona med letom precej relativna (pač na oko, ker imajo drugi g senzorji preveč motenj). Iz balona je to lažje, ampak z njim ne moreš sistematično prečesati mesta.

Sumim, da nimam dovolj prekrivanj med slikami, da bi Hugin/SIFT znal kaj pametnega narediti. :(

comment:13 in reply to: ↑ 12 Changed 4 years ago by mitar

Replying to stefanb:

slike niso bile posnete navpično navzdol, pa tudi če bi hoteli to narediti je definicija navpičnosti iz aviona med letom precej relativna

Zato sem jaz predlagal, da kamero preprosto obesiš na vrv in skozi okno dol. In bo težnost poskrbela za svoje.

comment:14 Changed 4 years ago by stefanb

Isti pospeški ki begajo tvoje senzorje za ravnotežje bi vplivali tudi na kamero. Pa še veter bi prispeval k temu, da bi se fotoaparat vlekel za letalom na skoraj vodoravni vrvi. :)

comment:15 Changed 4 years ago by mitar

Dobri pomisleki. Ampak saj lahko naredimo fotoaparat aerodinamičen (že to bi bilo dobro zato, da bi bil vedno obrnjen v smeri vožnje), potem pa znotraj aerodinamičnega ohišja, ki bi se vleklo verjetno malo postrani, imaš zaradi svoje lastne teže obrenjen fotoaparat navzdol.

Glede tresljajev in pospeškov pa ... vedno lahko uporabimo jadralno letalo. :-)

Kakorkoli, bomo o tem razmišljali poleti. Samo mene res zanima, da bi kaj takšnega naredili.

comment:16 Changed 4 years ago by stefanb

Zanimivo zna biti še kako bi se izvesek obnašal med vzletom in pristankom (oz. kako ga namestiti in pospraviti med letom) in koliko posluha bi pilot imel za to.

comment:18 Changed 3 years ago by mitar

Verjetno v konfliktu s #689.

comment:19 Changed 3 years ago by stefanb

S samimi zemljevidi ni nujno konflikta, ker je OSM lahko tudi samo kot dodaten (recimo privzet) layer za Googlove skripte. Bi pa v tem primeru vseeno imeli https warninge ("This page contains insecure items"), ker bi skripta prišla po navadnem http protokolu. V primeru OpenLayers skript to ni problem, ker bi jo lahko servirali lokalno, sličice zemljevida pa bi tudi morali servirati z wlan-lj https strežnika (npr caching proxy, da imamo zagotovljene tudi posodobitve)

comment:20 Changed 3 years ago by mitar

Da. Torej dodati layer se mi zdi čisto OK, ker je dejstvo (se motim?), da ima Google super API in da ni primerljive odprte alternative. Torej edina stvar, ki me moti, je ta HTTPS. In ali je to res zadosten razlog, da gremo na OSM? OK, podpirajo odprtosti, to je tudi zelo zelo zelo pomemben razlog meni, ampak na za ceno uporabnosti. Še posebej sedaj, ko bomo podpirali celo Slovenijo?. Kako je OSM drugje po Sloveniji?

comment:21 Changed 3 years ago by mitar

Mogoče lahko zaprosimo njih.

comment:22 Changed 3 years ago by mitar

  • Milestone changed from 3.0b to Next milestone

Changed 3 years ago by stefanb

patch za uporabo OpenStreetMap zemplevidov

comment:23 Changed 3 years ago by mitar

  • Milestone changed from Next milestone to 3.0b

A to je tako enostavno?

Če prav razumem, sedaj pobiramo slike iz njihovega strežnika. Koliko je sploh velikost vseh teh tileov? In predvsem: ali imajo tudi HTTPS strežnik?

Čeprav to že vedno ne reši problema, da se Googlov JavaScript nalaga preko HTTP.

Premikam nazaj v 3.0b, pa bom takrat pogledal ta patch malo bolj podrobno.

comment:24 Changed 3 years ago by stefanb

jp, tako enostavno.

Če se ne omejimo na neko geografsko področje in na neko največjo povečavo je velikost tile-ov precejšnja, njihovo vsakično slepo (dummy) kopiranje na svoj strežnik pa nesmiselno in v nasprotju z dovoljenjem.
To dovoljenje pa vseeno dovoli precej več kot dovoljenja drugih ponudnikov, zato bi nodewatcher lahko bil tudi caching proxy (bodisi na nivoju Apacheja ali Django aplikacije)

Dokler uporabljamo google javascript API (prenešene po navadnem http protokolu) je tovrstni caching proxy smiselen z vidika fair rabe OSM strežnika, ni pa tega nujno potrebno početi.

Če gremo na openlayers.org API, ki bi ga lahko servirali tudi z lokalnega strežnika prek https protokola, bi pa serviranje z lastnega https strežnika odpravilo https opozorila.

Možne so še tehnike pospeševanja nalaganja sličic prek različnih hostname-ov,
a to zahteva wildcard certifikat za *.wlan-lj.net (ali ustrezno več certifikatov).

comment:25 Changed 3 years ago by mitar

In koliko je torej vseh teh? Ker mogoče jih ne bi motilo, da bi imeli še en mirror? Tore ne dovoljujejo le zaradi obremenitve strežnika. Po mojem se itak generirajo na podlagi programa in podatkov, tako da če se dobijo podatki program in se naredi, da se ob vsakem prvem zahtevku stvari zgenerirajo ... Bi to bilo za nas najboljše, ne?

comment:26 Changed 3 years ago by stefanb

Izris lastnih sličic je seveda možno, a po mojem nepotrebna komplikacija (izris, osveževanje podatkov...) in izven obsega tega projekta ... razen če bi potrebovali kakšen projektu specifičen slog izrisa seveda.

Caching proxy bi bil že precejšenj korak (zlasti če bi hoteli vse postreči prek SSL), a to tudi ni nujno.

comment:27 Changed 3 years ago by mitar

Nisi razumel. Ne gre za to, da bi mi potrebovali lasten izris, ampak da bi lahko ponujali slovenski mirror za OpenStreetMap. Recimo da tudi o tem razmišljam. Če praviš, da to ni potrebno, super.

comment:28 Changed 3 years ago by stefanb

Aaa, to je pa druga zgodba (oz. projekt :).

Mirror bi seveda bil dobrodošel, a v tej fazi to ni kritična komponenta nobenega od teh projektov.

  • Za wlan-lj bi bilo dobro, ker ta vir omogoča večjo prilagodljivost, vključno s ponujanjem ploščic prek SSL, a to se da doseči tudi s caching proxy-jem.
  • Za OpenStreetMap pa, ker bi se morda še kdo odločil za njegovo uporabo in bi s tem dobil še kakšnega urednika, ki bi vrisal svojo ulico. A slednje se (zaenkrat) da doseči tudi s strežnikom v tujini.

Dokler nimamo bolj tehtnega razloga za komplikacije bi se držal načela KISS in izkoristil simbiozo, ki jo projekta lahko živita.

comment:29 Changed 3 years ago by mitar

Glej, mene zanimajo facti. Koliko to zaseda, koliko CPUja kuri, kako težko je to vzpostaviti.

Razumel sem tvoje stališče, strinjam se z argumenti, ki jih navajaš, le manjkajo mi še nekateri argumenti, ki bi jih prosil, če jih lahko pripraviš. Potem lahko komaj potegnemo sklep. Ker mogoče so zahteve preprosto takšne, da tega ne moremo izpeljati, tudi če bi si želeli. Ali pa so tako smešno majhne (namestiti Debian paket), da je to res enostavno izpeljati.

Zato jaz ne bi rad vlekel prehitrih zaključkov, če se nismo zbrali vseh podatkov. Se pa torej seveda strinjam: ni kritično, gre doseči drugače, v Sloveniji verjetno ni toliko povpraševanja za tem (ampak saj naš mirror bi lahko uporabljali tudi iz tujine), KISS je pomemben. Ampak ključnih podatkov, takšnih numeričnih, ki jih je zelo enostavno potem ovrednotiti, pa še nisi podal. In jaz sem te vprašal le za to, mogoče celo malo iz radovednosti, da malo več izvem o sistemu, da si lažje predstavljam o kakšni pošasti sploh govorimo.

comment:30 Changed 3 years ago by stefanb

Splošen postopek je opisan na
http://wiki.openstreetmap.org/wiki/Creating_your_own_tiles

Performančno najbolj ugoden je Mapnik, ki uspe izrisovati ploščice po potrebi.
http://wiki.openstreetmap.org/wiki/Mapnik
Tu so naštete tudi nekatere strojne zahteve.
Za občutek kakšen strežnik ima samo za ta namen osm.org: http://wiki.openstreetmap.org/wiki/Servers/yevaud :)

Za konkretno ilustracijo prostorske zahteva za samo zoom 18 (na katerem je že vidno na kateri fasadi zgradbe je antena), kjer je svet razrezan na mrežo 218 * 218 ploščic povprečno velikih 200 bajtov:

((218)2) * 200 bytes = 12.5 terabytes

  • -mnogo ploščic se podvaja (70% je morja): *.3
  • +vsi zoom-i od 1-17 vzamejo še enkrat toliko prostora: * 2

(((2^18)^2) * 200 bytes) * 0,3 * 2 = 7,5 terabytes (ob optimalni velikosti clustra)

comment:31 Changed 3 years ago by mitar

Super. No, potem je stvar itak jasna. Trenutno to sploh ni izvedljivo, tudi če bi si želeli.

comment:32 Changed 3 years ago by mitar

  • Effort set to normal

To je zanimiva rešitev: Mapstraction.

comment:33 follow-up: ↓ 34 Changed 3 years ago by mitar

Dajte vsi starajte ta issue.

comment:34 in reply to: ↑ 33 Changed 2 years ago by stefanb

Replying to mitar:

Dajte vsi starajte ta issue.

It helped, their issue is closed as of today.

Google now allows access to maps API (and tiles) over SSL to anyone:
http://googlegeodevelopers.blogspot.com/2011/03/maps-apis-over-ssl-now-available-to-all.html

comment:35 Changed 20 months ago by stefanb

FYI: Google is charging for excessive maps API usage:
http://code.google.com/intl/uk-UK/apis/maps/faq.html#tos_pricing

Up to 25,000 map loads per day is still free though:
http://code.google.com/intl/uk-UK/apis/maps/faq.html#usagelimits

Do we have any info where are we at with the number of loads currently?
(my guess: < 1000 / day)

comment:36 Changed 20 months ago by mitar

Non-profits and applications deemed in the public interest (as determined by Google at its discretion) are not subject to these usage limits.

In addition we recommend that eligible Non-profits apply for a Maps API Premier license through the Google Earth Outreach program. This provides a number of benefits, including the right to opt-out of advertising, higher quotas for Maps API web services, and technical support.

But probably this is only for USA non-profits.

And I would just wait until they contact us: ... a warning may be shown on your map and a Maps API Premier sales manager may contact you to discuss your licensing options.

By quick check we had around 500 loads yesterday.

Thanks for pointing this out.

comment:37 Changed 9 months ago by mitar

Last edited 9 months ago by mitar (previous) (diff)

comment:38 Changed 6 weeks ago by valentt

I'm talking with guys from OpenStreetMap-hr to reboot this idea and get Google map replaced with OpenStreetMap if possible...

comment:39 Changed 6 weeks ago by mitar

What do you mean? It is easy to integrate OpenStreetMap into Google API as a layer. Just we haven't yet done it.

comment:40 Changed 5 weeks ago by valentt

OK, I read this ticket but misunderstood it as stuck because it passed over three years and nothing happened so I though it was not easy thing to do and that you need help.

If it is easy how come after three years it is still not implemented?

comment:41 Changed 5 weeks ago by mitar

Because there are other more important things. Map works and we are concentrating more on things which do not even work. We will get back to things which work when we finish 3.0.

PiplMesh has already an implementation with OpenStreetMap.

comment:42 Changed 3 days ago by stefanb

Can we be sure that referenced Google's javascript and images aren't and won't be setting any cookies?

comment:43 Changed 2 days ago by mitar

We probably cannot. And we cannot even for Disqus. Or YouTube embed (for this one there is a special domain which you can use so that cookies are not set).

Note: See TracTickets for help on using tickets.