Nové vektorové mapy pro Locus – názory

Started by voldapet, December 08, 2012, 16:50:34

0 Members and 3 Guests are viewing this topic.

voldapet

Texty
mozna uz to tu bylo zminene. Texty jsou problematickou soucasti Mapsforge knihovny - v podstate nelze pevne nastavit kdy a kde bude text vytisten. Pro Locus se nam podarilo knihovnu upravit na co nejlepsi uroven.  Velmi podstatne jsme upravili interni logika, ktera rozhoduje zda text umistit, jestli se text vejde apod. Presto muze obcas zlobit a z toho duvodu nektere texty nejsou rendrovany ac by mely byt.

Vojensky ujezd
Musim podekovat za upozorneni i v internich stylech nam toto vykreslovani vojen. oblasti zlobilo. Pripravil jsem novou verzi i s novym vzorem pro vojenske oblasti. Styl pro inspiraci v priloze
  •  

rolfovo

Moc děkuju za info!
Hlavně s tou první částí jsem strávil spousty času a teď alespn vím, že nejsem zas takový hňup jak už jsem si myslel :-)))
  •  

starous

Zdravím,
vektorové mapy používám prakticky hned od začátku, co s nimi Locus přišel, podpora těchto map byla pro mne dokonce jedno z důležitých kritérií pro výběr GPS aplikace.
Mapy si čas od času vyrábím z OSM sám (ono to na začátku víceméně ani jinak nešlo) a v poslední době jsem si trochu přiohnul renderovací schéma osmarender_terrain2, které mi zatím nejvíc vyhovovalo. Ale narazil jsem na řádově dvě věci, se kterými si zatím nevím rady a nemůžu nic kloudného vygooglit:

1.
Když mám např. klíč barrier a chci zajistit, aby se nějaký konkrétní obecný symbol zobrazil i v případě, že klíč má nějakou jinou hodnotu, než zná renderovací schéma - lze to nějak jednoduše zajistit?
Napadl mne zatím jediný způsob, který je ale poněkud krkolomný a dost dobře není použitelný v případě, kdy je známých hodnot tagu hodně:
<rule e="node" k="barrier" v="*">
   <rule e="node" k="barrier" v="bollard" zoom-min="17">
      <circle r="1.5" fill="#707070" />
   </rule>
   <rule e="node" k="barrier" v="gate" zoom-min="17">
      <symbol src="file:/symbols/vehicle/gate.png"/>
   </rule>
   <rule e="node" k="barrier" v="~bollard" zoom-min="17">
      <rule e="node" k="barrier" v="~gate">
         <symbol src="file:/symbols/vehicle-restriction/barrier.png"/>
      </rule>
   </rule>
</rule>

Pokud vím, tak to určitě nejde takto:

<rule e="node" k="barrier" v="*">
   <rule e="node" k="barrier" v="bollard" zoom-min="17">
      <circle r="1.5" fill="#707070" />
   </rule>
   <rule e="node" k="barrier" v="gate" zoom-min="17">
      <symbol src="file:/symbols/vehicle/gate.png"/>
   </rule>
   <rule e="node" k="barrier" v="*" zoom-min="17">
      <symbol src="file:/symbols/vehicle-restriction/barrier.png"/>
   </rule>
</rule>
protože v takovém případě by se symbol barrier.png zobrazil vždycky.

A nejde to dost jistě ani takto:
<rule e="node" k="barrier" v="*">
   <rule e="node" k="barrier" v="bollard" zoom-min="17">
      <circle r="1.5" fill="#707070" />
   </rule>
   <rule e="node" k="barrier" v="gate" zoom-min="17">
      <symbol src="file:/symbols/vehicle/gate.png"/>
   </rule>
   <rule e="node" k="barrier" v="~" zoom-min="17">
      <symbol src="file:/symbols/vehicle-restriction/barrier.png"/>
   </rule>
</rule>
protože to by se symbol barrier.png zobrazil pouze v případě, když by klíč barrier byl prázdný nebo neexistoval, což vzheldem k úvodní podmínce nikdy nenastane...

Nelze to udělat nějak lépe a radostněji? Když bych to podle toho prvního vzoru udělal pro všechny existující typy bariér, vycházelo by pro zobrazení toho posledního obecného symbolu dost šílené zanoření, nemluvě třeba o tom, jak by to vycházelo pro počty hodnot klíčů shop, sport apod.

2.
Ještě horší je problém se symboly a texty. Např. když chci pro různé typy obchodů zobrazit různé symboly a zároveň ještě někde kolem symbolu vypsat jeho "name", tak to funguje nějak hodně divně - většinou se zobrazí jenom symbol. V případě, když použiji posun pomocí "dy" (např. dy="10"), tak se text někdy zobrazí, ale obvykle v nějakém jiném zoomu, než chci. Když nepoužiju "dy", tak se to většinou nezobrazí vůbec v žádném zoomu.
Paradoxně pak má lepší vypovídací hodnotu mapa s renderovacím tématem, ve kterém se symboly obchodů vůbec nezkoumají a nezobrazují, a jsou zobrazeny jenom jejich názvy...
Máte s tím někdo nějaké zkušenosti? Je to projev oné chyby vykreslování textů, o které se zmiňují poslední komentáře, nebo mi něco uniká?
  •  

voldapet

Ahoj,

1. Jedine co me ted napada je, vyjmenovat vsechny "nezname" tagy
<rule e="node" k="barrier" v="*">
   <rule e="node" k="barrier" v="bollard" zoom-min="17">
      <circle r="1.5" fill="#707070" />
   </rule>
   <rule e="node" k="barrier" v="gate" zoom-min="17">
      <symbol src="file:/symbols/vehicle/gate.png"/>
   </rule>
   <rule e="node" k="barrier" v="vsechny|dalsi|atributy|ktere|mohou|byt|v|mape|pro|barrier" zoom-min="17">
      <symbol src="file:/symbols/vehicle-restriction/barrier.png"/>
   </rule>
</rule>

Jeste je potreba zminit dalsi a vlastne dulezitejsi vec. Aby tema funguvalo musi byt vsechny "nezname" tagy vygenerovany v samotne mape. Vektorova mapa obsahuje jen atributy, ktere se definuji pri generovani. Viz - http://code.google.com/p/mapsforge/wiki/GettingStartedMapWriter#Defining_a_Custom_Tag_Mapping_via_XML
Seznam atributu pro Locus vektorove mapy: http://docs.locusmap.eu/doku.php/manual:vector_maps_content

Tedy s Locus vektorovou mapou muzes definovat pouze bodove prvky pro: bollard, cycle_barrier, gate, lift_gate




  •  

starous

#79
Moc díky za rychlou odpověď, i když mne zrovna moc nepotěšila...  :)
Co se dá dělat.
O tom XML souboru pro řízení exportu z OSM do Mapsforge map vím, ten mám taky patřičně upraven.
Je fakt, že když si v tom XML souboru pro generování mapy Mapsforge pluginem pohlídám, jaké tam jsou povolené klíče a jejich hodnoty, tak se to snad nějak udělat dá, ale bude to pak hrozná pakárna při každém rozšiřování...
Bylo by fajn, kdyby renderovací soubor uměl aspoň něco takového jako třeba
<rule e="node" k="barrier" v="~(bollard|gate)">
nebo se dala udělat nějaká konstrukce ve stylu "if...then...else...".
Ale nic takového zdá se zatím Mapsforge neumí.

A k tomu bodu 2. - ty texty společně se symbolem?
Je to opravdu nějaká vada Mapsforge renderovacího algoritmu nebo mi něco uniká?

A vlastně ještě jeden dotaz, vlastně dva:

3.
Dá se renderovací schéma nějak inteligentně ladit? Když v něm udělám chybu, tak Locus pouze v mapě zobrazí "Neznámý problém", ale nikde jsem nenašel nějaký log, kde bych se dozvěděl, co se mu ve stylu nelíbí.
Nic zajímavého není ani ve složce logs, a to ani když je nastaveno record_debug_logs=1.
Bez nějaké upřesňující chybové hlášky se chyba děsně blbě hledá, zejména pokud těch změn bylo víc najednou a na různých místech...
Zkoušel jsem na to vygooglit nějaký "validátor", ale nic jsem nenašel.

4.
Poměrně pracně jsem zjistil, že v caption nelze použít klíč "operator" (<caption k="operator"...), což by se hodilo např pro bankomaty, benzínky aj. Bez vážných následků (nefunkční mapy) lze použít pouze "name" a "ele".
Proč to?
Je to jenom tím, že tento klíč v aktuální mapě (zatím) nemám, nebo to je nějaké omezení mapsforge/Locusu?
  •  

voldapet

Ahoj,

v podstatě naprostá většina dotazů souvisí s Mapsforge a ne s Locusm. Pokusím se odpovědět, ale doporučuji navštívit,  https://groups.google.com/forum/#!forum/mapsforge-dev

1. Opravdu neumí a ani neplánujeme úpravu
2. Při rendrování se testují hranice jednotlivých elementů text vs ikona. Pokud by mělo dojít k překryvu (např text bude v jiném zoom větší), tak se text pravděpodobně nevykreslí. Píšu pravděpodobně, protože detekce kolizí je Mapsforge poněkud komplikovaná.
3. doporučuji použít DDMS http://developer.android.com/tools/debugging/ddms.html V případě problémů Locus vypisuje chybové logy a lze tak problém v tématu dohledat.
4. Jak jsem uvedl minule...mapsforge vygeneruje do mapy pouze ty elementy, které mají nastaven "klíč - hodnota" v tag-mapping.xml
Pouze klíče "ref", "name" a "housenumber"  se do mapy přidají automaticky a jejich hodnoty nemusí být definovány v tag-mapping.xml. Toto je vlastnost map-writer pluginu a nejsem si jist jestli je možné ji nějak rozšířit. To je spíš dotaz na Mapsforge komunitu.


  •  

starous

Ahoj,
moc díky, hlavně za ten odkaz na DDMS/Eclipse, to co nejdříve vyzkouším.
  •  

Katzi

Kdy budete generovat nove vektorove mapy?
V aplikaci mi to pise ze posledni verze je nekdy z rijna ... to uz je docela dlouha doba...

Diky.
  •  

voldapet

Nové mapy už se cca 14 dní generují a ještě dalších 14 dní se nejspíš budou generovat. Takže v druhé půli února by měly být k dispozici.
  •  

ro.he

Zdravím, tak koukám, že jsou nové mapy (Asamm SW) ke stažení. Ze dne 5. 9. 2014, verze2014.09. Je možné někdě zjistit jaké jsou změny oproti předchozí mapě? A proč když kouknu pak na podrobnosti mapy, tak nesedí datum a verze? Díky
  •  

voldapet

Bohužel obecný seznam definovat nelze. Respektive takový seznam by asi bylo možné vytvořit, ale byl by v podstatě nepoužitelný. Jednalo by se o seznam všech elementů, čar, které se jakkoli změnily od posledního vydání, což bude tisíce změn. Obecně lze  říci, že nové mapy neobsahují nic zásadního - jen jsou vytvořeny z novějších dat.

Datum 5.9.2014 udává datumnahrání map do Locus Store
Datum v podrovnostech u mapy samotné definuje stáří dat - tedy z jak starých dat byly mapy vytvořeny
  •  

renegades777

Je pěkné že se vydávají, ale bohužel musím napsat, že jsem poslední dobou zklamán a to tím, že je někdo pěkně ořezává a šidí. Již jsem zpozoroval, že na mnoha místech je to ,,pěkně,, ořezana. Stačí se podívat třeba na přehradu Orlík a tam je vše krásně vidět, jak je to ořezané. Břehy pomaly nikde, jen je to na mnoha místech zarovnané čáry, turistické značky jsou ve vodě atd. Musím napst, že je to poslední dobou ........
  •  

simonik

Ahoj. Ty vektorové mapy z LocusStore zmizely? Nikde je nevidím.
  •  

voldapet

Quote from: renegades777 on September 27, 2014, 08:46:57
Již jsem zpozoroval, že na mnoha místech je to ,,pěkně,, ořezana. Stačí se podívat třeba na přehradu Orlík a tam je vše krásně vidět, jak je to ořezané.
Ahoj problém s Orlíkem je v podstatě od začátku vektorových map - data ani mapy nijak neořezáváme :-). Problém je v knihovně/technologie, kterou používáme pro generování map. Orlík je velká plocha tvořena ze dvou hlavních polygonů. Maspforge (knihovna, kterou používáme) bohužel nesprávně interpretuje celkovou plochu a určitých místech polygon seřízne. Pomalu pracujeme na nových vektorových mapách, které přinesou řadu vylepšení, ale nejsem si jistý, jestli se nám zrovna toto podaří vyřešit.
  •  

voldapet

Quote from: simonik on October 02, 2014, 14:08:14
Ahoj. Ty vektorové mapy z LocusStore zmizely? Nikde je nevidím.
Ahoj, vektorové mapy by určitě pořád měly být v Locus Store. Můžu požádat např o screenshot, kde mapy "chybí" ?
  •