« zpět na výpis měsíce |

[Talk-cz] Vracim se ke skriptu pro prevod na zjednoduseny XML z XMLOverpass-turbo

Vlákno 5.11. - 11.11.2023, počet zpráv: 8


5.11.2023 09:39:40 (#1)
gravatar

Miloš Šmíd

<smid.milos at gmail.com>
80
Dobrý den, bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker (pro nevidomé). Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? Kam ho umístit nebo jak k němu skript navést, aby ho načetl? Pro přiblížení - návod, který jsem zde získal: Pokud jste dostali data ve formátu XML, budete je muset transformovat na vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet Language Transformations). Zde je jednoduchý XSLT skript, který by mohl provést transformaci: ```xml <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="/osm"> <Route> <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> <Point> <Title><xsl:value-of select="@name"/></Title> <Lat><xsl:value-of select="@lat"/></Lat> <Lng><xsl:value-of select="@lon"/></Lng> <Description>stanice</Description> </Point> </xsl:for-each> </Route> </xsl:template> </xsl:stylesheet> ``` Po Entru tedy spuštění skriptu to napíše: -bash: xml: command not found -bash: command substitution: line 2: syntax error near unexpected token `newline' -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' -bash: $'~\E[200~': command not found Můžete tento skript použít s jakýmkoli nástrojem, který podporuje XSLT, například s `xsltproc` v příkazovém řádku. Ještě se potýkám také s tím, že vyexportovaný např. kml z overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně traffic_signals:direction - jde o křižovatku, semafor a signál určující směr - možná to platí pro nějakou situaci v zahraničí, ale u nás jsou přece světelné semafory do obou směrů? Děkuji za pomoc. Miloš ------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/e25778db/attachment.htm>

5.11.2023 12:51:59 (#2)
gravatar

Jozef Matejička

<matejickaj at gmail.com>
50
To je semafor pro auta, nebo? Dne ne 5. 11. 2023 9:43 uživatel Miloš Šmíd <smid.milos na gmail.com> napsal: zobrazit citaci
> Dobrý den, > bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z > overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker > (pro nevidomé). > Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje > spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do > skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? > Kam ho umístit nebo jak k němu skript navést, aby ho načetl? > Pro přiblížení - návod, který jsem zde získal: > Pokud jste dostali data ve formátu XML, budete je muset transformovat na > vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. > Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet > Language Transformations). > > Zde je jednoduchý XSLT skript, který by mohl provést transformaci: > ```xml > <xsl:stylesheet version="1.0" xmlns:xsl=" > http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> > > <xsl:template match="/osm"> > <Route> > <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> > <Point> > <Title><xsl:value-of select="@name"/></Title> > <Lat><xsl:value-of select="@lat"/></Lat> > <Lng><xsl:value-of select="@lon"/></Lng> > <Description>stanice</Description> > </Point> > </xsl:for-each> > </Route> > </xsl:template> > > </xsl:stylesheet> > ``` > Po Entru tedy spuštění skriptu to napíše: > -bash: xml: command not found > -bash: command substitution: line 2: syntax error near unexpected token > `newline' > -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' > -bash: $'~\E[200~': command not found > > Můžete tento skript použít s jakýmkoli nástrojem, který podporuje XSLT, > například s `xsltproc` v příkazovém řádku. > > Ještě se potýkám také s tím, že vyexportovaný např. kml z > overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš > nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně > traffic_signals:direction > - jde o křižovatku, semafor a signál určující směr - možná to platí pro > nějakou situaci v zahraničí, > ale u nás jsou přece světelné semafory do obou směrů? > Děkuji za pomoc. Miloš > > > > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/caa8e821/attachment-0001.htm>

5.11.2023 03:05:53 (#3)
gravatar

Miloš Šmíd

<smid.milos at gmail.com>
80
Mým cílem jsou přechody pro chodce, ale může to být světelný směr pro auta, ale ani tak tomu moc nerozumím. Dne ne 5. 11. 2023 12:56 uživatel Jozef Matejička <matejickaj na gmail.com> napsal: zobrazit citaci
> To je semafor pro auta, nebo? > > Dne ne 5. 11. 2023 9:43 uživatel Miloš Šmíd <smid.milos na gmail.com> napsal: > >> Dobrý den, >> bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z >> overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker >> (pro nevidomé). >> Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje >> spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do >> skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? >> Kam ho umístit nebo jak k němu skript navést, aby ho načetl? >> Pro přiblížení - návod, který jsem zde získal: >> Pokud jste dostali data ve formátu XML, budete je muset transformovat na >> vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. >> Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet >> Language Transformations). >> >> Zde je jednoduchý XSLT skript, který by mohl provést transformaci: >> ```xml >> <xsl:stylesheet version="1.0" xmlns:xsl=" >> http://www.w3.org/1999/XSL/Transform"> >> <xsl:output method="xml" version="1.0" encoding="UTF-8" >> indent="yes"/> >> >> <xsl:template match="/osm"> >> <Route> >> <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> >> <Point> >> <Title><xsl:value-of select="@name"/></Title> >> <Lat><xsl:value-of select="@lat"/></Lat> >> <Lng><xsl:value-of select="@lon"/></Lng> >> <Description>stanice</Description> >> </Point> >> </xsl:for-each> >> </Route> >> </xsl:template> >> >> </xsl:stylesheet> >> ``` >> Po Entru tedy spuštění skriptu to napíše: >> -bash: xml: command not found >> -bash: command substitution: line 2: syntax error near unexpected token >> `newline' >> -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" >> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' >> -bash: $'~\E[200~': command not found >> >> Můžete tento skript použít s jakýmkoli nástrojem, který podporuje >> XSLT, například s `xsltproc` v příkazovém řádku. >> >> Ještě se potýkám také s tím, že vyexportovaný např. kml z >> overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš >> nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně >> traffic_signals:direction >> - jde o křižovatku, semafor a signál určující směr - možná to platí pro >> nějakou situaci v zahraničí, >> ale u nás jsou přece světelné semafory do obou směrů? >> Děkuji za pomoc. Miloš >> >> >> >> _______________________________________________ >> talk-cz mailing list >> talk-cz na openstreetmap.org >> https://lists.openstreetmap.org/listinfo/talk-cz >> https://openstreetmap.cz/talkcz >> > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/5736df41/attachment.htm>

5.11.2023 05:12:56 (#4)
gravatar

Jozef Matejička

<matejickaj at gmail.com>
50
Pošlete, prosím, místo, kde ten semafor je? Dne ne 5. 11. 2023 15:09 uživatel Miloš Šmíd <smid.milos na gmail.com> napsal: zobrazit citaci
> Mým cílem jsou přechody pro chodce, ale může to být světelný směr pro > auta, ale ani tak tomu moc nerozumím. > > Dne ne 5. 11. 2023 12:56 uživatel Jozef Matejička <matejickaj na gmail.com> > napsal: > >> To je semafor pro auta, nebo? >> >> Dne ne 5. 11. 2023 9:43 uživatel Miloš Šmíd <smid.milos na gmail.com> >> napsal: >> >>> Dobrý den, >>> bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z >>> overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker >>> (pro nevidomé). >>> Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje >>> spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do >>> skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? >>> Kam ho umístit nebo jak k němu skript navést, aby ho načetl? >>> Pro přiblížení - návod, který jsem zde získal: >>> Pokud jste dostali data ve formátu XML, budete je muset transformovat na >>> vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. >>> Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet >>> Language Transformations). >>> >>> Zde je jednoduchý XSLT skript, který by mohl provést transformaci: >>> ```xml >>> <xsl:stylesheet version="1.0" xmlns:xsl=" >>> http://www.w3.org/1999/XSL/Transform"> >>> <xsl:output method="xml" version="1.0" encoding="UTF-8" >>> indent="yes"/> >>> >>> <xsl:template match="/osm"> >>> <Route> >>> <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> >>> <Point> >>> <Title><xsl:value-of select="@name"/></Title> >>> <Lat><xsl:value-of select="@lat"/></Lat> >>> <Lng><xsl:value-of select="@lon"/></Lng> >>> <Description>stanice</Description> >>> </Point> >>> </xsl:for-each> >>> </Route> >>> </xsl:template> >>> >>> </xsl:stylesheet> >>> ``` >>> Po Entru tedy spuštění skriptu to napíše: >>> -bash: xml: command not found >>> -bash: command substitution: line 2: syntax error near unexpected token >>> `newline' >>> -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" >>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' >>> -bash: $'~\E[200~': command not found >>> >>> Můžete tento skript použít s jakýmkoli nástrojem, který podporuje >>> XSLT, například s `xsltproc` v příkazovém řádku. >>> >>> Ještě se potýkám také s tím, že vyexportovaný např. kml z >>> overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš >>> nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně >>> traffic_signals:direction >>> - jde o křižovatku, semafor a signál určující směr - možná to platí pro >>> nějakou situaci v zahraničí, >>> ale u nás jsou přece světelné semafory do obou směrů? >>> Děkuji za pomoc. Miloš >>> >>> >>> >>> _______________________________________________ >>> talk-cz mailing list >>> talk-cz na openstreetmap.org >>> https://lists.openstreetmap.org/listinfo/talk-cz >>> https://openstreetmap.cz/talkcz >>> >> _______________________________________________ >> talk-cz mailing list >> talk-cz na openstreetmap.org >> https://lists.openstreetmap.org/listinfo/talk-cz >> https://openstreetmap.cz/talkcz >> > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/fcf61a06/attachment-0001.htm>

5.11.2023 07:08:35 (#5)
gravatar

Miloš Šmíd

<smid.milos at gmail.com>
80
Dobrý večer, ono to je asi pro ČR spíš teoretický dotaz na tag, protože jsem zřejmě žádný nenašel viz níže vesportované gpx. Ale třeba jen nevím, co se tam má vypisovat. Směr - pokud by to bylo pro auta, tak si dovedu představit třeba semafor se signalizací zelené šipky do odbočky? Děkuji. Miloš <?xml version="1.0" encoding="UTF-8"?> <gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="overpass-turbo"><metadata><desc>Filtered OSM data converted to GPX by overpass turbo</desc><copyright author="The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."/><time>2023-11-05T18:03:15Z</time></metadata></gpx> ne 5. 11. 2023 v 17:15 odesílatel Jozef Matejička <matejickaj na gmail.com> napsal: zobrazit citaci
> Pošlete, prosím, místo, kde ten semafor je? > > Dne ne 5. 11. 2023 15:09 uživatel Miloš Šmíd <smid.milos na gmail.com> > napsal: > >> Mým cílem jsou přechody pro chodce, ale může to být světelný směr pro >> auta, ale ani tak tomu moc nerozumím. >> >> Dne ne 5. 11. 2023 12:56 uživatel Jozef Matejička <matejickaj na gmail.com> >> napsal: >> >>> To je semafor pro auta, nebo? >>> >>> Dne ne 5. 11. 2023 9:43 uživatel Miloš Šmíd <smid.milos na gmail.com> >>> napsal: >>> >>>> Dobrý den, >>>> bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z >>>> overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot >>>> Walker (pro nevidomé). >>>> Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje >>>> spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do >>>> skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? >>>> Kam ho umístit nebo jak k němu skript navést, aby ho načetl? >>>> Pro přiblížení - návod, který jsem zde získal: >>>> Pokud jste dostali data ve formátu XML, budete je muset transformovat >>>> na vámi požadovaný formát. K tomu můžete použít různé nástroje nebo >>>> skripty. Jeden z jednoduchých způsobů je použití XSLT (Extensible >>>> Stylesheet Language Transformations). >>>> >>>> Zde je jednoduchý XSLT skript, který by mohl provést transformaci: >>>> ```xml >>>> <xsl:stylesheet version="1.0" xmlns:xsl=" >>>> http://www.w3.org/1999/XSL/Transform"> >>>> <xsl:output method="xml" version="1.0" encoding="UTF-8" >>>> indent="yes"/> >>>> >>>> <xsl:template match="/osm"> >>>> <Route> >>>> <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> >>>> <Point> >>>> <Title><xsl:value-of select="@name"/></Title> >>>> <Lat><xsl:value-of select="@lat"/></Lat> >>>> <Lng><xsl:value-of select="@lon"/></Lng> >>>> <Description>stanice</Description> >>>> </Point> >>>> </xsl:for-each> >>>> </Route> >>>> </xsl:template> >>>> >>>> </xsl:stylesheet> >>>> ``` >>>> Po Entru tedy spuštění skriptu to napíše: >>>> -bash: xml: command not found >>>> -bash: command substitution: line 2: syntax error near unexpected token >>>> `newline' >>>> -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" >>>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' >>>> -bash: $'~\E[200~': command not found >>>> >>>> Můžete tento skript použít s jakýmkoli nástrojem, který podporuje >>>> XSLT, například s `xsltproc` v příkazovém řádku. >>>> >>>> Ještě se potýkám také s tím, že vyexportovaný např. kml z >>>> overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš >>>> nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně >>>> traffic_signals:direction >>>> - jde o křižovatku, semafor a signál určující směr - možná to platí pro >>>> nějakou situaci v zahraničí, >>>> ale u nás jsou přece světelné semafory do obou směrů? >>>> Děkuji za pomoc. Miloš >>>> >>>> >>>> >>>> _______________________________________________ >>>> talk-cz mailing list >>>> talk-cz na openstreetmap.org >>>> https://lists.openstreetmap.org/listinfo/talk-cz >>>> https://openstreetmap.cz/talkcz >>>> >>> _______________________________________________ >>> talk-cz mailing list >>> talk-cz na openstreetmap.org >>> https://lists.openstreetmap.org/listinfo/talk-cz >>> https://openstreetmap.cz/talkcz >>> >> _______________________________________________ >> talk-cz mailing list >> talk-cz na openstreetmap.org >> https://lists.openstreetmap.org/listinfo/talk-cz >> https://openstreetmap.cz/talkcz >> > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/e7bf56af/attachment.htm>

5.11.2023 07:41:56 (#6)
gravatar

Martin Ždila

<martin.zdila at freemap.sk>
187
Bash nepozná xslt skript, ale len bash skript. Na prácu s xstl a xml používam príkaz xmlstarlet, ale isto poslúži aj xsltproc. On Sun, Nov 5, 2023 at 9:43?AM Miloš Šmíd <smid.milos na gmail.com> wrote: zobrazit citaci
> Dobrý den, > bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z > overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker > (pro nevidomé). > Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje > spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do > skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? > Kam ho umístit nebo jak k němu skript navést, aby ho načetl? > Pro přiblížení - návod, který jsem zde získal: > Pokud jste dostali data ve formátu XML, budete je muset transformovat na > vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. > Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet > Language Transformations). > > Zde je jednoduchý XSLT skript, který by mohl provést transformaci: > ```xml > <xsl:stylesheet version="1.0" xmlns:xsl=" > http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> > > <xsl:template match="/osm"> > <Route> > <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> > <Point> > <Title><xsl:value-of select="@name"/></Title> > <Lat><xsl:value-of select="@lat"/></Lat> > <Lng><xsl:value-of select="@lon"/></Lng> > <Description>stanice</Description> > </Point> > </xsl:for-each> > </Route> > </xsl:template> > > </xsl:stylesheet> > ``` > Po Entru tedy spuštění skriptu to napíše: > -bash: xml: command not found > -bash: command substitution: line 2: syntax error near unexpected token > `newline' > -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' > -bash: $'~\E[200~': command not found > > Můžete tento skript použít s jakýmkoli nástrojem, který podporuje XSLT, > například s `xsltproc` v příkazovém řádku. > > Ještě se potýkám také s tím, že vyexportovaný např. kml z > overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš > nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně > traffic_signals:direction > - jde o křižovatku, semafor a signál určující směr - možná to platí pro > nějakou situaci v zahraničí, > ale u nás jsou přece světelné semafory do obou směrů? > Děkuji za pomoc. Miloš > > > > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
-- Ing. Martin Ždila <http://www.openstreetmap.org/user/*Martin*> OZ Freemap Slovakia tel:+421-908-363-848 mailto:martin.zdila na freemap.sk http://www.freemap.sk/ ------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231105/9407f7c0/attachment-0001.htm>

6.11.2023 07:36:16 (#7)
gravatar

Miloš Šmíd

<smid.milos at gmail.com>
80
Dobrý den, Martine a ostatní, xsltproc jsem dal do dll cygwinu (je to správně?) - četl jsem, že jde o knihovnu, ale kamarád mi řekl, že je to samostatný program. Mohl bys mi napsat syntax, jak tedy spustit xsltproc údajně s parametrem, odkud má vzít ten xml, který chci překonvertovat a vlastně ani nevím, který xml je pro tu konverzi nejlepší. Zjistil jsem, že pracovní složka c:\cygvin64\Home\Miloš. Se skripty nemám prakticky žádné zkušenosti, vím, že parametr se v DOSu psqal -parametr. Pochopil jsem, že struktur xml je fakt hodně - možná to z některého jde a z některého ne, netuším ... V nápovědě k Overpass-turbo není export do xml vůbec popsaný ... Ještě jednou zopakuji, že já bych potřeboval dostat tuto strukturu. <?xml version='1.0' encoding='UTF-8' standalone='yes' ?><Route> <Point><Title>Kyvadlo</Title><Lat>50.0801293</Lat><Lng>14.4250944</Lng><Description>restaurace</Description></Point> <Point><Title>zastávka tramvaje: Hellichova</Title><Lat>50.0856726</Lat><Lng>14.4042252</Lng><Description></Description></Point> ... Existuje i způsob, že ta navigace si sejme z OSM nějakou oblast a ručně se dají tyto body upravovat, ale ten prográmek, který mám je občas nestabilní a vykazuje při editaci chyby - na tom či jiném řádku. Díky. Miloš ne 5. 11. 2023 v 19:44 odesílatel Martin Ždila <martin.zdila na freemap.sk> napsal: zobrazit citaci
> Bash nepozná xslt skript, ale len bash skript. Na prácu s xstl a xml > používam príkaz xmlstarlet, ale isto poslúži aj xsltproc. > > On Sun, Nov 5, 2023 at 9:43?AM Miloš Šmíd <smid.milos na gmail.com> wrote: > >> Dobrý den, >> bojuji se skriptem, který by mě měl na radu našeho kolegy převést xml z >> overpass-turbo.eu do zjednodušeného formátu xml pro aplikaci Dot Walker >> (pro nevidomé). >> Nemám Linux a tak jsem se rozhodl stáhnout si CygWin, který umožňuje >> spouštět linuxové skripty, doplnil ho knihovnou pro xlstproc, ale jak do >> skriptu mám přidat informaci, z kterého xml souboru má provést konverzi? >> Kam ho umístit nebo jak k němu skript navést, aby ho načetl? >> Pro přiblížení - návod, který jsem zde získal: >> Pokud jste dostali data ve formátu XML, budete je muset transformovat na >> vámi požadovaný formát. K tomu můžete použít různé nástroje nebo skripty. >> Jeden z jednoduchých způsobů je použití XSLT (Extensible Stylesheet >> Language Transformations). >> >> Zde je jednoduchý XSLT skript, který by mohl provést transformaci: >> ```xml >> <xsl:stylesheet version="1.0" xmlns:xsl=" >> http://www.w3.org/1999/XSL/Transform"> >> <xsl:output method="xml" version="1.0" encoding="UTF-8" >> indent="yes"/> >> >> <xsl:template match="/osm"> >> <Route> >> <xsl:for-each select="node[@k='highway' and @v='bus_stop']"> >> <Point> >> <Title><xsl:value-of select="@name"/></Title> >> <Lat><xsl:value-of select="@lat"/></Lat> >> <Lng><xsl:value-of select="@lon"/></Lng> >> <Description>stanice</Description> >> </Point> >> </xsl:for-each> >> </Route> >> </xsl:template> >> >> </xsl:stylesheet> >> ``` >> Po Entru tedy spuštění skriptu to napíše: >> -bash: xml: command not found >> -bash: command substitution: line 2: syntax error near unexpected token >> `newline' >> -bash: command substitution: line 2: ` <xsl:stylesheet version="1.0" >> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' >> -bash: $'~\E[200~': command not found >> >> Můžete tento skript použít s jakýmkoli nástrojem, který podporuje >> XSLT, například s `xsltproc` v příkazovém řádku. >> >> Ještě se potýkám také s tím, že vyexportovaný např. kml z >> overpass-turbo.eu má v sobě celou tabulku tagů - některým ani příliš >> nerozumím, i když jsem se díval na Wikipedii co znamenají - konkrétně >> traffic_signals:direction >> - jde o křižovatku, semafor a signál určující směr - možná to platí pro >> nějakou situaci v zahraničí, >> ale u nás jsou přece světelné semafory do obou směrů? >> Děkuji za pomoc. Miloš >> >> >> >> _______________________________________________ >> talk-cz mailing list >> talk-cz na openstreetmap.org >> https://lists.openstreetmap.org/listinfo/talk-cz >> https://openstreetmap.cz/talkcz >> > > > -- > Ing. Martin Ždila <http://www.openstreetmap.org/user/*Martin*> > OZ Freemap Slovakia > tel:+421-908-363-848 > mailto:martin.zdila na freemap.sk > http://www.freemap.sk/ > _______________________________________________ > talk-cz mailing list > talk-cz na openstreetmap.org > https://lists.openstreetmap.org/listinfo/talk-cz > https://openstreetmap.cz/talkcz >
------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231106/2d980f75/attachment-0001.htm>

11.11.2023 10:54:52 (#8)
gravatar

petr.kadlec na gmail.com

<petr.kadlec at gmail.com>
252 1065
Ahoj, On Mon, Nov 6, 2023 at 7:39?AM Miloš Šmíd <smid.milos na gmail.com> wrote: zobrazit citaci
> Dobrý den, Martine a ostatní, > xsltproc jsem dal do dll cygwinu (je to správně?) - četl jsem, že jde o > knihovnu, ale kamarád mi řekl, že je to samostatný program. > Mohl bys mi napsat syntax, jak tedy spustit xsltproc údajně s parametrem, > odkud má vzít ten xml, který chci překonvertovat a vlastně ani nevím, který > xml je pro tu konverzi nejlepší. > Zjistil jsem, že pracovní složka c:\cygvin64\Home\Miloš. >
Cygwin je dneska na Windows spíš okrajový způsob spouštění skriptů, Microsoftem podporované je spíše WSL. Do Cygwinu se pak nové balíčky instalují jeho instalačním nástrojem (nějaký ten setup.exe); tam je potřeba najít balíček obsahující ten xsltproc, zaškrtnout a nechat nainstalovat; pak by v Cygwin bashi měl začít fungovat příkaz xsltproc. Ale použití XSLT pro transformaci XML nutně není potřeba dělat pod Linuxem (ať už ve formě Cygwinu, nebo WSL), existují programy zkompilované přímo pro Windows. Takže možností je určitě víc. Každopádně bych asi doporučil vzít nějaký návod (anebo se tedy zeptat toho ChatGPT :-) ) a jet podle něj. Zcela namátkou Googlem nalezený http://www.sagehill.net/docbookxsl/InstallingAProcessor.html vypadá docela rozumně (viz kapitoly Installing xsltproc on Windows a Using xsltproc). -- Petr Kadlec / Mormegil ------------- další část --------------- HTML příloha byla odstraněna... URL: <http://lists.openstreetmap.org/pipermail/talk-cz/attachments/20231111/5756159f/attachment.htm>

« zpět na výpis měsíce