[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>&#xa;</xsl:text>
       <!--
       <xsl:text> </xsl:text>
       <xsl:value-of select="@id"/>
       <xsl:text>&#xa;</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