Get a sneak peek at whats next for Permanent Hazards on our April 7th Office Hours!

Post Reply

Skript WME Road Selector

Post by
Marně jsem hledal nějaký skript, který by uměl vybrat segmenty podle zadaných podmínek, tak jsem si ho zkusil napsat.

Co skript umí?
V podstatě nic moc :-). Naklikáte podmínku, stisknete tlačítko Select roads a skript vám je vybere.
Jakou úpravu na nich pak uděláte a zda změnu uložíte, je na vás. Skript žádnou nebezpečnou akci nedělá ;) .
Oblast, ve které to vybírá, je o malinko větší než zobrazená část mapy. To je mimo můj vliv, prostě co mi WME nabídne, z toho vybírám, což má i další důsledek, na nižších zoomech (3 a méně), to nevybere vše, co by mohlo (jen silnice vyšších tříd) nebo nevybere nic, protože WME to na těchto zoomech nedovolí ani ručně. Vzhledem k tomu, že není k dispozici žádný popis API, tak většinu věcí jsem zjišťoval testováním a reverse engineeringem a nevím, zda se s tím dá něco dělat.

Pokud myslíte, že se skript k něčemu hodí, tak testujte, kritizujte a navrhujte vylepšení, buď sem nebo do PM.
K instalaci je tady: https://greasyfork.org/scripts/3462-wme-road-selector

Aktuální verze: 1.48

Popis podmínek:
  • Country - jméno země
    State - jméno státu (pouze NA region) (lze i na podřetězec)
    City - jméno obce (lze i na podřetězec)
    Street - jméno ulice (lze i na podřetězec)
    Unmamed segment - segment nemá nastavené jméno
    Alternate name (City or Street) - pokud je zaškrtnuto, předchozí 3 podmínky se týkají alternativních názvů (pokud má segment více alternativních názvů, podmínka je splněna pokud ji splní alespoň jeden z nich)
    Road type - typ cesty
    Roundabout - segment je kruhový objezd
    Toll Road - segment je zpoplatněný
    Direction - směr jízdy
    Elevation - výška
    Manual Lock - editorem nastavený zámek, pokud je nastavený automatický zámek, je jakékoli podmínka na toto vždy nesplněna
    Trafic Lock - Automatický zámek, pokud je nastavený některá z hodnot manuálního zámku, je jakékoli podmínka na toto vždy nesplněna
    Speed limit - segment má nastavenou maximální rychlost (alespoň v jednom směru)
    New - segment je nový (ať již nově nakreslený nebo vzniklý rozdělením)
    Changed - segment by změněn a dosud neuložen
    On Screen - segment je vidět na obrazovce (celý nebo částečně)
    Has restriction - segment má nastavené nějaké omezení
    Has closure - segment má nastavenou nějakou uzavírku (Pozor: takový segmnt není editovatelný, takže je třeba odškrtnout Editable only
    Updated by - kdo segment naposledy upravoval
    Created by - kdo segment vytvořil (prázdné jméno znamená dosud neuložený segment)
    Last update - před kolika dny byl segment naposledy upravován
Známé nedostatky:
  • nelze přidávat k již vybraným segmentům – částečně proto, že po vybrání jakéhokoli segmentu zmizí karty jednotlivých doplňků, takže jsem se tím zatím nezabýval, ale řešitelné by to asi bylo, aby člověk mohl posunout stránku a se stejnou podmínkou vybírat dál.
  • je jen v angličtině - udělat ho lokalizovatelný je podle mě spousta zbytečné práce. Názvy hodnot asi WME někde lokalizované má, takže by se daly možná načítat, ale zatím jsem nezjistil jak

POSTER_ID:16938676

1

Send a message
Last edited by pvo11 on Mon Dec 16, 2019 9:54 am, edited 60 times in total.


Post by bebebrumik
Pěkná práce :-) Ještě napiš jaký je rozdíl oproti Toolboxu...
bebebrumik
Area Manager
Area Manager
Posts: 1014
Has thanked: 140 times
Been thanked: 192 times
Send a message
Editor L5

Post by bures
pvo11 wrote:jen ve viditelném směru (doplněk hidden podmínky)
Co to znamená?
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by bures
MajkiiTelini wrote:Mám to v Chromu ještě trochu rozsypané...
To je ale screenshot jiného skriptu, ne?

Nebo se ti po aktualizaci WME RS rozsypalo něco jiného?
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by bures
pvo11 wrote:Kontaktovat ji můžu, ale jestli to něco urychlí nevím.
Možná by se na to mohl kouknout bures a poslat jí úpravy skriptu.
Upravím WME RS a pokud sem přihodíte odkazy na skripty, které "nechodí", tak to na všech odladím. Kapku ho zesložitím tak, aby se změny nedotkly navazujících.
d2-mac wrote:ale přestaly kvůli němu chodit dva užitečné skripty.
Co myslíš tím, že přestaly chodit?
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by bures
MajkiiTelini wrote:Mám to v Chromu ještě trochu rozsypané...
První záplata ve WME Route Selector (ř. 2410):

Code: Select all

	css += "#RSselection>button { margin: 10px 2px 0; padding: 0 15px; }";
	// css += "#RSselection button { padding: 0 15px; }";
Opraví vzhled Highlighteru.
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by bures
d2-mac wrote:Dále zřejmě přestal chodit WME Road Selector Expression Editor. Opravdu by s tím nešlo něco udělat na straně RS?
Druhá záplata ve ME Road Selector Expression Editor:

Nahradit ř. 1022 a 1026 (místo původního "font" je "h3"):

Code: Select all

$('#RSselection>h3').append('<a id="cmBtnEdit" class="fa fa-edit" style="float:right; text-decoration: none; padding-left: 5px; color: #003366; background: transparent; padding: 0px 8px; font-size: 18px; margin: -5px 0px; font-weight: 400;" href="javascript:void(0)"></a>');
Doplní ikonu pro editor. Je vidět, že oprava bude pro TheLastTaterTot snadná.

Do WME Route Selector by místo toho šel dát dočasný hack (nahradit ř. 2614):

Code: Select all

section.innerHTML  = '<font style="float:right;"></font><h3>Selection</h3>'
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by bures
Nevím jestli mi v nejnovějším Chrome WME RSel nekoliduje s jiným skriptem (např. zatím neopraveným ToolBoxem), ale pro jistotu popíšu chybné chování, které jsem zaregistroval:

* Nastavím pravidlo (např. Road Type = "Minor Highway" AND Trafic Locks < 2).
* Zmáčknu tlačítko "Select roads".
* Vybrané segmenty upravím (např. změním hodnotu zámku).
* Zruším výběr segmentů.
* Tlačítko "Select roads" zůstane "vyšedlé".

Obcházím to tak, že mám pravidlo uložené a po každém vyšednutí tlačítka nahraji pravidlo znovu.

Doplnění: Je možné, že "chyba" souvisí s pomalým načítáním WME obecně. I když sedím na rychlé síti, tak se po posunu mapy informace pomalu načítají. Např. nejde ručně vybrat segmenty, i když jsou zobrazené.
bures
Waze Global Champs
Waze Global Champs
Posts: 993
Has thanked: 288 times
Been thanked: 345 times
Send a message

Post by d2-mac
Fakt nekecá! Jak se Ti to povedlo? ;)
d2-mac
Area Manager
Area Manager
Posts: 882
Has thanked: 651 times
Been thanked: 245 times
Send a message

Post by d2-mac
Road Selector nyní intenzivně používám a dělá přesně to co potřebuji, díky! :) Občas se ale stane, že nechce označovat. Pomůže v editoru / vrstvy zvolit překreslení silnic (ikona se zatočenou šipkou) a zase šlape jako hodinky. ;) Důvod tohoto chování může být ve WME, FF nebo něčem jiném - nevím. Můžeš prosím přidat do Road Selectoru zatržítko (umístění např. vedle Editable only) které když bude zatržené, tak se po stisku tlačítka Select Roads provede nejprve překreslení silnic a až potom jejich označení?
d2-mac
Area Manager
Area Manager
Posts: 882
Has thanked: 651 times
Been thanked: 245 times
Send a message