[Talk-cz] Jak porovnavat OSM XML (zeleznicni stanice a zast)
Petr Dlouhý
petr.dlouhy na email.cz
Úterý Leden 4 10:47:32 UTC 2011
On Tue, 04 Jan 2011 11:29:54 +0100, hanoj <ehanoj na gmail.com> wrote:
>> kdybych to chtěl udělat rychle a jednoduše tak bych z Wikipedie udělal
>> čistý
>> seznam (číslo, jméno na každém řádku) zastávek, a to samé se pokusil
>> vygenerovat z OSM XML (pomocí XSLT, nebo SEDu, případně by to možná šlo
>> v
>> textovém editoru jen pomocí funkcí nahrazování).
> *** to bych si dokazal predstavit, mas na neco takoveho mustr?
Jo, něco mám. Posílám XSLT, které používám ke kontrole duplicit mezi
cyklotrasami - vygeneruje seznam "ref" cyklistických tras. Neměl by to být
problém upravit:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no"/>
<xsl:template match="/osm">
<xsl:apply-templates select="relation">
<xsl:sort select="@id" data-type="number"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="relation[tag/@v = 'bicycle']">
<xsl:value-of select="tag[@k = 'ref']/@v"/>
<xsl:text>
</xsl:text>
<!--
<xsl:text> </xsl:text>
<xsl:value-of select="@id"/>
<xsl:text>
</xsl:text>
-->
</xsl:template>
<xsl:template match="*">
</xsl:template>
</xsl:stylesheet>
>
>
>> Potom už stačí použít sort
>> (nebo seřazení v tabulkovém procesoru) a diff (vimdiff).
> *** ale jak efektivne tento vysledek tj. diff nebo upravenou tabulku
> vratit do vychoziho zdroje? Do wiki je to snadne, ale do OSM XML?
>
Asi by neměl být problém vygenerovat seznam zastávek, které mají stejné
číslo, ale jmenují se jinak (nebo naopak stejná jména a jiná čísla).
Případně zastávek, které v jednom ze seznamů chybí. Nebo také seznam
zastávek u kterých v OSM chybí číslo, ale dají se najít ve Wiki podle
jména.
Neznám lepší způsob, než potom z daného seznamu vygenerovat OSM XML s
danými změnami, nejlépe asi pomocí XSLT.
>
>
> diky
> hanoj
>
> _______________________________________________
> Talk-cz mailing list
> Talk-cz na openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-cz
--
Petr Dlouhý
Další informace o konferenci talk-cz